当前位置: 首页 > news >正文

概要设计文档(final)

1. 引言部分

引言部分主要说明编写目的、系统的范围和参考资料等。

1.1目的

该文档的目的是描述“自习吧”微信小程序的概要设计,主要内容包括系统功能简介、系统结构设计、模块设计和界面设计等。

    本文档的预期读者包括:Triple兔成员,软件工程老师,用户。

1.2 范围

1.2.1 系统目标

      开发一个满足华农学生查询可自习的空教室的微信小程序。方便同学们自习的同时,还可以让同学们约自习;同时,本小程序还提供蹭课查询功能,丰富大家的课余时间。

1.2.2 主要软件需求

该系统的主要功能包括:

l  查询空教室

l  蹭课查询

l  约自习

1.2.3 软件设计约束、限制

软件支持多客户端同时使用的分布式物理结构。

1.3缩写说明

无。

1.4术语定义

无。

1.5参考资料

[1]窦万峰.软件工程与实践[M].北京:机械工业出版社,2017.

1.6版本信息

 

   

修改编号

   

   

修改日期

   

   

修改后版本

   

   

修改位置

   

   

修改内容概述

   

   

 

   

   

 

   

   

 

   

   

 

   

   

 

   

 

 

2.数据设计

本部分主要描述软件所涉及的外部数据的结构描述。如果数据以数据库文件呈现,则描述表的名称和表字段结构;如果数据以外部文件形式呈现,则要描述文件的内部结构。

 

2.1数据对象和形成的数据结构

自习吧微信小程序所设计的主要数据结构如下:

 

课程表(schedule):

I.经过筛选后,系统用于生成找自习教室的主界面。

该数据结构包括课程id,星期几,上课节次,起始周,课程编号,课程名称,教师名,上课场所,上课时间详细,上课场所详细,课程性质,教学楼,专业组成。其数据结构是一个顺序结构。

 

课程(class)

I.经过用户自定义筛选后,系统从课程表中筛选符合条件课程,生成蹭课界面的课程列表。

该数据结构包括课程id,授课老师,组成班级,起始周,星期几,上课节次,上课场所。其数据结构是一个顺序结构。

 

简要组队邀请(invitation)

I.用于生成约自习界面的组队帖子

该数据结构包含invitation_id,昵称,性别,专业,组队性别,关键词,概括组队说明。其数据结构为一个顺序结构。

 

详细组队邀请(invitation)

I.用于用户个人编辑组队邀请内容

该数据结构包含invitation_id,昵称,性别,专业,组队性别,详细组队说明,关键词。其数据结构为一个顺序结构。

 

用户个人信息(User)

I.用于保存用户个人资料

该数据结构包含用户id,昵称,性别,学院,专业,座右铭,便签。其数据结构为一个顺序结构。

 

2.2文件和数据库结构

描述文件的的数据结构或者库表的结构

 

2.2.1外部文件结构

 

 

2.2.2全局数据

  该系统需要的全局变量有:

1.课程表Schedule

2.用户个人资料(包括用户id,昵称,性别,专业,座右铭,便签)

3 体系结构设计

这一部分主要描述软件的逻辑组成接口,即软件结构图的绘制。

3.1数据和控制流复审

对需求规格说明书中要实现的功能进行归纳分析,对涉及的数据和控制流进行汇总和归并,为概要设计做准备。

一般对数据流图的精化分析包括两个方面的内容,一是复审整个数据流图,查看有没有遗漏的地方,并补充和完善。二是分析每一个数据流图(活动图),去掉一些细节的内容。

3.2 得出的程序结构

根据复审的数据流图,逐步得出软件的逻辑结构组成。利用优化思想,对软件结构图进行优化设计,得出模块层次结构适中的软件结构图。如下所示:

 

4.界面设计

这一部分主要给出界面设计的总体要求和界面序列,以及界面设计规约。

4.1 人机界面规约

给出界面风格,约定和操作要求,设计出用户的所有界面。“自习吧”微信小程序的界面主要包括以下几种。

1.查询空教室界面(默认界面):该界面可根据用户输入的教学楼编号,教学楼座号,楼层号检索教室信息。

2.蹭课界面:该界面可根据用户的选择进行搜索,可以选择按课程名、专业名、教师名检索,搜索结果应包含课程名称,授课老师,上课时间,上课地点。

3.约自习界面:该界面用户可以发布自习邀约,查看别人发布的自习邀约,删除个人发布的自习邀约。发布自习邀约需要填写个人信息,如果用户一开始没有填写基本个人信息,则在每次发布动态时会提醒用户需填写自己的个人基本信息,否则,不予发布;当用户首次完整填写个人信息后,系统提示用户可以将其保存在个人信息页面,供将来直接调用。

4.2人机界面设计规约

给出界面序列关系,以及每个界面的操作规则和处理规则。“自习吧”微信小程序有以下几种界面序列。

登录首界面:

新用户的界面序列:授权小程序获取用户信息—进入默认界面(空教室查询界面)。

老用户的界面序列:登录—进入默认界面(空教室查询界面)。

默认界面与约自习界面序列:默认界面—约自习界面—选择发布或浏览—刷新

默认界面与蹭课界面序列:默认界面—蹭课界面—检索—得到结果

 

内部模块

●登录模块

●小程序初始化模块

●查教室模块

●查看自习邀约模块

●修改自习邀约模块

●删除自己的自习邀约模块

●发布自习邀约模块

●蹭课模块

5、模块过程设计

5.1处理说明

1.约自习登录模块

I.首次登录:绑定微信号,获取微信名

II.普通登录:验证身份。正确即登入,错误即拒绝接入,退出。

 

2.查教室模块

注:有课为灰色,自习为绿色

I.默认界面:上方选项卡默认为二教F1,界面显示为二教教室情况。

II.筛选后界面:上方选项卡为用户点击结果,界面显示相应教学楼教室情况

 

3.约自习模块:

   1)对自习邀约的管理,包括查看自习邀约,发布自习邀约,删除自己发布的自习邀约和修改自习邀约模块:

   2)查看所有人发布的自习邀约,当数据有更新时,界面自动刷新

删除自己的自习邀约模块

 3)发布自习邀约模块。用户填写邀约信息和个人信息后,点击发布,所有人都可在广场上看见该邀约

 

4.蹭课模块:

 1. 关键词搜索

 1.1 按专业名搜索

 1.2 按课程名搜索

 1.3 按老师名搜索

 2. 结果显示

6、需求交叉索引

描述需求与模块的关系、存在交叉的部分,相互联系又有相互独立的部分。

需求中小程序的启动需要登录模块小程序初始化模块,只有这两个模块正常运行,小程序才能正常启动

需求中小程序的默认模块为空教室查询模块

需求中三大模块分别为空教室查询模块约自习模块蹭课模块,相互之间独立。

需求中部分模块又有自己的子模块,约自习模块又分为查看自习邀约模块删除自己的自习邀约模块发布自习邀约模块,三者之间相互调用。

转载于:https://www.cnblogs.com/Triple2/p/11073736.html

相关文章:

  • 011
  • 标 题: 腾讯面试题目(PHP程序员)
  • log4j配置文件中的additivity属性
  • Domino JVM异常
  • AgileEAS.NET敏捷开发平台-升级版-(丑小鸭的蜕变)[已修复下载链接]
  • Failed to load property source from location 'classpath:/applica)
  • do{}while(0)
  • 操作系统复习
  • 精通Camel-2-Camel的生命周期
  • zabbix命令之:zabbix_sender命令
  • 一打开网页,任务栏就消失的问题
  • Oracle 10g11g安装卸载Oracle Label Security
  • 如何在CentOS 5.5上安装Kippo蜜罐(1)
  • MySQL入门:下载
  • Pycharm 快捷键
  • [Vue CLI 3] 配置解析之 css.extract
  • [分享]iOS开发 - 实现UITableView Plain SectionView和table不停留一起滑动
  • 2017前端实习生面试总结
  • android高仿小视频、应用锁、3种存储库、QQ小红点动画、仿支付宝图表等源码...
  • C++类中的特殊成员函数
  • css的样式优先级
  • es6要点
  • Git的一些常用操作
  • HTTP那些事
  • Intervention/image 图片处理扩展包的安装和使用
  • Linux快速配置 VIM 实现语法高亮 补全 缩进等功能
  • Redis 懒删除(lazy free)简史
  • webpack4 一点通
  • Xmanager 远程桌面 CentOS 7
  • 测试开发系类之接口自动化测试
  • 创建一个Struts2项目maven 方式
  • 记录:CentOS7.2配置LNMP环境记录
  • 解决iview多表头动态更改列元素发生的错误
  • 力扣(LeetCode)21
  • 实现简单的正则表达式引擎
  • 探索 JS 中的模块化
  • 想使用 MongoDB ,你应该了解这8个方面!
  • 再次简单明了总结flex布局,一看就懂...
  • ​ubuntu下安装kvm虚拟机
  • !!java web学习笔记(一到五)
  • # include “ “ 和 # include < >两者的区别
  • # 透过事物看本质的能力怎么培养?
  • # 再次尝试 连接失败_无线WiFi无法连接到网络怎么办【解决方法】
  • (C语言)输入一个序列,判断是否为奇偶交叉数
  • (vue)el-checkbox 实现展示区分 label 和 value(展示值与选中获取值需不同)
  • (超详细)语音信号处理之特征提取
  • (二)换源+apt-get基础配置+搜狗拼音
  • (附源码)ssm基于jsp的在线点餐系统 毕业设计 111016
  • (三)终结任务
  • 、写入Shellcode到注册表上线
  • .net core 6 集成和使用 mongodb
  • .NET 分布式技术比较
  • .net 开发怎么实现前后端分离_前后端分离:分离式开发和一体式发布
  • .NET/MSBuild 中的发布路径在哪里呢?如何在扩展编译的时候修改发布路径中的文件呢?
  • .NET开源项目介绍及资源推荐:数据持久层 (微软MVP写作)