详细设计文档(final)
1. 引言
1.1编写目的
本部分旨在阐明编写详细设计的目的,面向读者对象。
本文档主要描述各个模块的细节设计,明确软件的结构与实现过程,分析各个模块,描述模块的功能、性能和结构等方面包括模块接口、调用关系、处理过程和算法,以及各个模块的测试方案。本文档的主要读者为软件设计人员、模块开发人员、管理人员、测试人员。
1.2项目背景
我们通过调查问卷的方式,调查了华农部分学生,结果显示参加调查的50%以上的学生有查找空教室,蹭课,约自习需求。经过讨论权衡分析最终确定以该想法----华中农业大学空教室查询作为项目主题,并在此基础上进行功能拓展:经过约自习、蹭课,以微信小程序为应用平台,为华农全体学生提供便利的空教室查询途径。
1.2.1项目来源
该项目起初源自Triple兔小组一名成员的想法。
1.2.2项目实现
本项目由Triple兔小组成员共同实现。
1.3缩写定义
华农:华中农业大学。
Triple兔:华中农业大学信息学院triple兔软件工程小组。
1.4术语定义
无。
1.5参考资料
[1]窦万峰.软件工程与实践[M].北京:机械工业出版社,2017.
1.6版本信息
|
修改编号 |
修改日期 |
修改后版本 |
修改位置 |
修改内容概述 |
|
1 |
2019-5-17 |
1.0 |
全部 |
完成第一次编写 |
2.总体设计
本部分简要给出系统的需求和软件结构组成,以便追踪到需求与设计。
2.1需求概述
自习吧小程序的需求定义如下:
初始化设置:设置用户登录后的初始页面为查空教室页面。
用户发布邀约设置:在发出邀约之前,必须填写个人资料。
2.2软件结构
自习吧小程序流程图经过优化设计,得出模块层次结构适中的软件总流程图如下:

3.程序描述
本部分针对每一个模块进行详细设计。
3.1登录模块
3.1.1 模块说明如下:
小程序授权登录,获取用户个人信息,进入小程序
3.1.2算法
后端算法描述:

前端算法描述:



3.1.3程序逻辑

3.2 查询空教室模块
3.2.1 模块说明如下:
输入:教学楼信息(几栋教学楼,哪座,几层)
输出:当前楼层的教室信息
功能:查询指定教学楼楼层的教室信息(空闲或者有课)
性能:要求在0.5秒以内完成
3.2.2算法
查询空教室模块调用以下模块完成相应功能:
查询指定教学楼楼层的空闲教室
调整数据格式
后端算法描述:

前端算法描述:






3.2.3程序逻辑

3.3蹭课模块
3.3.1 模块说明如下:
输入:课程名,教师名,专业名(三选一)
输出:课程信息
功能:查询想要上的课程的具体信息
性能:要求在0.5秒以内完成
3.3.2 算法
蹭课模块调用以下模块完成相应功能:
(三选一)
根据课程名查询相应课程信息
后端算法描述: 前端算法描述:


根据教师名查询该教师教授的课程
后端算法描述: 前端算法描述:


根据专业名查询该专业本学期上的课
后端算法描述: 前端算法描述:


补充:其他算法:

3.3.3 程序逻辑

3.4约自习模块
3.4.1 模块说明如下:
输入:用户约自习请求信息
输出:在“广场”页面上对所有人显示该请求
功能:用户输入的约自习请求,在数据库中保存相应请求的信息,并在“广场”页面上对所有人可见,在“我的”页面可查看、删除或编辑用户个人发布的邀约。
性能:要求在0.5秒以内完成
3.4.2算法
蹭课模块模块调用以下模块完成相应功能:
接收用户输入的信息
数据库存储
数据库信息显示
主要功能描述:1.发布约自习 2.查看仔细邀约内容 3.检索自习邀约内容
后端算法描述:



前端算法描述:







3.4.3程序逻辑

3.5测试要点
主要测试输入输出接口是否正确,以及模块内部调用关系是否正确。
详细设计文档(final)的更多相关文章
- java 文档自动生成的神器 idoc
写文档 作为一名开发者,每个人都要写代码. 工作中,几乎每一位开发者都要写文档. 因为工作是人和人的协作,产品要写需求文档,开发要写详细设计文档,接口文档. 可是,作为一个懒人,平时最讨厌的一件事情就 ...
- 从零开始编写自己的C#框架(4)——文档编写说明
在写本系列的过程中,了解得越多越不知道从哪里做为切入点来写,几乎每个知识点展开来说都可以写成一本书.而自己在写作与文档编写方面来说,还是一个初鸟级别,所以只能从大方面说说,在本框架开发所需的范围内来讲 ...
- 【毕业设计】基于Android的家校互动平台开发(内含完整代码和所有文档)——爱吖校推(你关注的,我们才推)
☆ 写在前面 之前答应大家的毕业答辩之后把所有文档贡献出来,现在答辩已过,LZ信守承诺,把所有文档开源到了GitHub(这个地址包含所有的代码和文档以及PPT,外层为简单的代码).还望喜欢的朋友们,不 ...
- Atitit 项目文档规范化与必备文档与推荐文档列表
Atitit 项目文档规范化与必备文档与推荐文档列表 ===========比较重要的必备文档========== 项目组名单通讯录( 包括项目组,客户沟通人等 需求文档 原型ui文档 开发计划表 项 ...
- java基础课程笔记 static 主函数 静态工具类 classpath java文档注释 静态代码块 对象初始化过程 设计模式 继承 子父类中的函数 继承中的构造函数 对象转型 多态 封装 抽象类 final 接口 包 jar包
Static那些事儿 Static关键字 被static修饰的变量成为静态变量(类变量) 作用:是一个修饰符,用于修饰成员(成员变量,成员方法) 1.被static修饰后的成员变量只有一份 2.当成员 ...
- 测试文档(final)
1 引言 1.1编写目的 编写本测试计划的目的是: (1) 为整个测试阶段的管理工作和技术工作提供指南同时确定测试的内容和范围,为评价系统提供依据: (2) 此外还帮助安排测试活动,说 ...
- 概要设计文档(final)
1. 引言部分 引言部分主要说明编写目的.系统的范围和参考资料等. 1.1目的 该文档的目的是描述“自习吧”微信小程序的概要设计,主要内容包括系统功能简介.系统结构设计.模块设计和界面设计等. 本文档 ...
- Java多种方式动态生成doc文档
转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/5280272.html 本来是要在Android端生成doc的(这需求...),最后方法没有好的方法能够在An ...
- JSP实现word文档的上传,在线预览,下载
前两天帮同学实现在线预览word文档中的内容,而且需要提供可以下载的链接!在网上找了好久,都没有什么可行的方法,只得用最笨的方法来实现了.希望得到各位大神的指教.下面我就具体谈谈自己的实现过程,总结一 ...
随机推荐
- 对Android 8.0以上版本通知点击无效的一次分析
版权声明:本文为xing_star原创文章,转载请注明出处! 本文同步自http://javaexception.com/archives/178 对Android 8.0以上版本通知点击无效的一次分 ...
- mac环境下Python虚拟环境的安装和配置
虚拟环境(virtualenv) 安装:在终端输入 pip install virtualenv 如果没安装pip会出现 pip: command not found,此时需要进行 sudo easy ...
- elasticsearch安装与使用
一.windows10上安装elasticsearch Elasticsearch 需要 Java环境,在安装Elasticsearch之前先安装好JDK. 本文安装jdk1.8,es6.3.2为例. ...
- VirtualBox设置自动适应屏幕
设备 --> 安装增强功能 等待安装完成,就能自动适应屏幕大小了
- 04-Node.js学习笔记-相对路径VS绝对路径
4.1相对路径VS绝对路径 大多数情况下使用绝对路径,因为相对路径有时候相对的是命令行工具的当前工作目录 在读取文件或者设置文件路径时都会选择绝对路径 4.2使用__dirname 获取当前文件所在的 ...
- QT新建空白项目-添加QT设计师界面类时出现的各种库无法导入识别
按照教材上先新建一个空的项目--添加Qt设计师界面类时 出现各种 库无法识别 解决方法: 在 .pro文件中加入一行 QT += widgets 去构建中先执行 qmake 然后再构建一下 ok了 ...
- Codeforces Round #599 (Div. 1) A. Tile Painting 数论
C. Tile Painting Ujan has been lazy lately, but now has decided to bring his yard to good shape. Fir ...
- JWT的优点和实现Token认证的安全问题
JWT的优点和实现Token认证的安全问题 一.什么是JWT JWT——Json web token 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准,可实现无状态.分布式的Web应 ...
- php获取url中的参数
// 获取url参数值function is_set_param($param){ $current_url = $_SERVER["QUERY_STRING"]; $arr = ...
- Python模块import本质是什么?import是什么
写这篇文章主要是对Python的import模块或包的机制有了更深层级的一个理解,也在具体工作中得到了一点实践,这种思考是由上一篇文章<__main__内置模块预加载Shotgun接口的妙用 ...