详细设计文档(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文档中的内容,而且需要提供可以下载的链接!在网上找了好久,都没有什么可行的方法,只得用最笨的方法来实现了.希望得到各位大神的指教.下面我就具体谈谈自己的实现过程,总结一 ...
随机推荐
- ABAP 字符串换行符处理
今天发现BW系统从K3系统数据库抽取会计科目的描述时,转换出错. 从监控器上看是值2KO 845 412D#有问题,但不知道有什么问题,检查后感觉是符号#的问题. 在转换中添加代码,替换#,发现没有起 ...
- Win10家庭版激活方法
由于电脑换过主板,系统过了段时间显示未激活的状态,当时没注意随着主板口袋里的密匙,当作垃圾一起扔了,在网上试了几种方式,以下这个方法让我成功激活了系统 对开始菜单点击右键,选择Windows Powe ...
- linux系统修改用户密码报错
版权声明:本文为博主原创文章,支持原创,转载请附上原文出处链接和本声明. 本文地址:https://www.cnblogs.com/wannengachao/p/12069113.html 1.设置新 ...
- springboot入门以及配置文件
springboot入门以及配置文件 SpringBoot是什么? Spring Boot它本身并不提供Spring框架的核心特性以及扩展功能,只是用于快速.敏捷地开发新一代基于Spring框架的应用 ...
- BZOJ2591/LG3047 「USACO12FEB」Nearby Cows 换根树形DP
问题描述 BZOJ2591 LG3047 题解 换根树形DP. 设 \(opt[i][j]\) 代表 当 \(1\) 为根时,\(i\) 为根的子树中,到 \(i\) 的距离为 \(j\) 的权值和 ...
- 【洛谷5298】[PKUWC2018] Minimax(树形DP+线段树合并)
点此看题面 大致题意: 有一棵树,给出每个叶节点的点权(互不相同),非叶节点\(x\)至多有两个子节点,且其点权有\(p_x\)的概率是子节点点权较大值,有\(1-p_x\)的概率是子节点点权较小值. ...
- python有哪些优点跟缺点
显著的优点 1. 语言简洁优美,Java能实现的python都能实现(除安卓开发),python能实现的Java不一定能实现如(自动化运维,爬虫) 2. 跨平台,window, linux,mac通用 ...
- vue中\$refs、\$emit、$on的使用场景
1.$emit的使用场景 子组件调用父组件的方法并传递数据注意:子组件标签中的时间也不区分大小写要用“-”隔开 子组件: <template> <button @click=&quo ...
- CMake使用总结(一)
当我们在写CMakeLists.txt文件时,常常会搞不明白link_directories, LINK_LIBRARIES, target_link_libraries这3者的区别,下面就其详细介绍 ...
- 用OC基于链表实现链队列
一.简言 在前面已经用C++介绍过链队列的基本算法,可以去回顾一下https://www.cnblogs.com/XYQ-208910/p/11692065.html.少说多做,还是上手撸代码实践一下 ...