概要设计文档(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、需求交叉索引
描述需求与模块的关系、存在交叉的部分,相互联系又有相互独立的部分。
需求中小程序的启动需要登录模块和小程序初始化模块,只有这两个模块正常运行,小程序才能正常启动
需求中小程序的默认模块为空教室查询模块
需求中三大模块分别为空教室查询模块、约自习模块、蹭课模块,相互之间独立。
需求中部分模块又有自己的子模块,约自习模块又分为查看自习邀约模块、删除自己的自习邀约模块、发布自习邀约模块,三者之间相互调用。
概要设计文档(final)的更多相关文章
- 朱晔的互联网架构实践心得S1E9:架构评审一百问和设计文档五要素
朱晔的互联网架构实践心得S1E9:架构评审一百问和设计文档五要素 [下载文本PDF进行阅读] 本文我会来说说我认为架构评审中应该看的一些点,以及我写设计文档的一些心得.助你在架构评审中过五关斩六将,助 ...
- Atitit.论垃圾文件的识别与清理 文档类型垃圾文件 与api概要设计pa6.doc
Atitit.论垃圾文件的识别与清理 文档类型垃圾文件 与api概要设计pa6.doc 1. 俩个问题::识别垃圾文件与清理策略1 1.1. 文件类型:pic,doc,v,m cc,isho pose ...
- java基础课程笔记 static 主函数 静态工具类 classpath java文档注释 静态代码块 对象初始化过程 设计模式 继承 子父类中的函数 继承中的构造函数 对象转型 多态 封装 抽象类 final 接口 包 jar包
Static那些事儿 Static关键字 被static修饰的变量成为静态变量(类变量) 作用:是一个修饰符,用于修饰成员(成员变量,成员方法) 1.被static修饰后的成员变量只有一份 2.当成员 ...
- 测试文档(final)
1 引言 1.1编写目的 编写本测试计划的目的是: (1) 为整个测试阶段的管理工作和技术工作提供指南同时确定测试的内容和范围,为评价系统提供依据: (2) 此外还帮助安排测试活动,说 ...
- Java多种方式动态生成doc文档
转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/5280272.html 本来是要在Android端生成doc的(这需求...),最后方法没有好的方法能够在An ...
- JSP实现word文档的上传,在线预览,下载
前两天帮同学实现在线预览word文档中的内容,而且需要提供可以下载的链接!在网上找了好久,都没有什么可行的方法,只得用最笨的方法来实现了.希望得到各位大神的指教.下面我就具体谈谈自己的实现过程,总结一 ...
- SpingMVC 核心技术帮助文档
声明:本篇文档主要是用于参考帮助文档,没有实例,但几乎包含了SpringMVC 4.2版本的所有核心技术,当前最新版本是4.3,4.2的版本已经经是很新的了,所以非常值得大家一读,对于读完这篇文档感觉 ...
- 使用swagger作为restful api的doc文档生成
初衷 记得以前写接口,写完后会整理一份API接口文档,而文档的格式如果没有具体要求的话,最终展示的文档则完全决定于开发者的心情.也许多点,也许少点.甚至,接口总是需要适应新需求的,修改了,增加了,这份 ...
- Java实现office文档与pdf文档的在线预览功能
最近项目有个需求要java实现office文档与pdf文档的在线预览功能,刚刚接到的时候就觉得有点难,以自己的水平难以在三四天做完.压力略大.后面查找百度资料.以及在同事与网友的帮助下,四天多把它做完 ...
随机推荐
- MAC本地生成SSH KEY的方法
由于时间原因,直接转载,后期有空再来好好整理一下,大家先凑合着用哈: 参考链接:https://blog.csdn.net/wangjunling888/article/details/5111565 ...
- react-native自定义Modal模态框|仿ios、微信弹窗RN版
前序 纵观每个优质项目,无论web端还是native原生应用开发,弹窗都是不可忽视的一环,能很大程度上直接决定用户体验.如:微信.支付宝.ios都有很成熟的一套弹窗UI展示场景. 最近一直沉迷在rea ...
- Linux系统学习 七、网络基础—常用网络命令
1.ifconfig #查看网络(设置IP临时生效) 2.hostname [主机名] #查看或设置主机名 默认的是localhost ...
- 如何在文本编辑器中实现搜索功能? 字符串比较算法 BF算法 RK算法
1.暴力比较 BF算法 2.比较字串hash值 RK算法 //字符串匹配 public class StringCmp { //约定:A主串长 n ,B模式串 长m.要求:在A串中找到B串匹配的下标 ...
- AtCoder Regular Contest 100
传送门 C - Linear Approximation 题意: 求 \[ \sum_{i=1}^nabs(A_i-(b+i)) \] \(A_i,b\)给出. 思路: 将括号拆开,变为\(A_i-i ...
- 提取Office图标的方法
需求 几年前,好声音以独特节目形式吸引了很多选手和观众的 观注,旨在"只寻找优质声音": 可声音各有特色时,还得看颜值,当然这也无可厚非.虽然扯得有点远,我想表达的是软件开发的稳定 ...
- 开放平台API接口安全策略汇总
在设计开放平台接口过程中,往往会涉及接口传输安全性相关的问题,本文对接口加密及签名的相关知识做了一个总结,在方便自己查阅的同时也分享给大家做一些参考. 接口安全性问题思考 接口安全性问题主要来源于几方 ...
- 将scrapy爬取数据通过django入到SQLite数据库
1. 在django项目根目录位置创建scrapy项目,django_12是django项目,ABCkg是scrapy爬虫项目,app1是django的子应用 2.在Scrapy的settings.p ...
- swoole进程间如何通信
Swoole进程间通信的方式 管道pipe 管道用于进程之间的数据交互,Linux系统本身提供了pipe函数用于创建一个半双工通信管道.半双工的通信方式中数据只能单向流动(一端只读一端只写),只能在具 ...
- dell服务器已有阵列新增的磁盘无法识别显示外来
问题描述: 今天遇到个插入新硬盘显示外来盘,然后不可用,然后电话问了一下戴尔的工程师 说需要清除一下原来磁盘的阵列信息之类的,才能识别到,这里就做一个笔记记录一下,顺便分享给有需要的朋友! 解决方法: ...