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)的更多相关文章

  1. java 文档自动生成的神器 idoc

    写文档 作为一名开发者,每个人都要写代码. 工作中,几乎每一位开发者都要写文档. 因为工作是人和人的协作,产品要写需求文档,开发要写详细设计文档,接口文档. 可是,作为一个懒人,平时最讨厌的一件事情就 ...

  2. 从零开始编写自己的C#框架(4)——文档编写说明

    在写本系列的过程中,了解得越多越不知道从哪里做为切入点来写,几乎每个知识点展开来说都可以写成一本书.而自己在写作与文档编写方面来说,还是一个初鸟级别,所以只能从大方面说说,在本框架开发所需的范围内来讲 ...

  3. 【毕业设计】基于Android的家校互动平台开发(内含完整代码和所有文档)——爱吖校推(你关注的,我们才推)

    ☆ 写在前面 之前答应大家的毕业答辩之后把所有文档贡献出来,现在答辩已过,LZ信守承诺,把所有文档开源到了GitHub(这个地址包含所有的代码和文档以及PPT,外层为简单的代码).还望喜欢的朋友们,不 ...

  4. Atitit 项目文档规范化与必备文档与推荐文档列表

    Atitit 项目文档规范化与必备文档与推荐文档列表 ===========比较重要的必备文档========== 项目组名单通讯录( 包括项目组,客户沟通人等 需求文档 原型ui文档 开发计划表 项 ...

  5. java基础课程笔记 static 主函数 静态工具类 classpath java文档注释 静态代码块 对象初始化过程 设计模式 继承 子父类中的函数 继承中的构造函数 对象转型 多态 封装 抽象类 final 接口 包 jar包

    Static那些事儿 Static关键字 被static修饰的变量成为静态变量(类变量) 作用:是一个修饰符,用于修饰成员(成员变量,成员方法) 1.被static修饰后的成员变量只有一份 2.当成员 ...

  6. 测试文档(final)

    1 引言 1.1编写目的 编写本测试计划的目的是: (1)     为整个测试阶段的管理工作和技术工作提供指南同时确定测试的内容和范围,为评价系统提供依据: (2)     此外还帮助安排测试活动,说 ...

  7. 概要设计文档(final)

    1. 引言部分 引言部分主要说明编写目的.系统的范围和参考资料等. 1.1目的 该文档的目的是描述“自习吧”微信小程序的概要设计,主要内容包括系统功能简介.系统结构设计.模块设计和界面设计等. 本文档 ...

  8. Java多种方式动态生成doc文档

    转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/5280272.html 本来是要在Android端生成doc的(这需求...),最后方法没有好的方法能够在An ...

  9. JSP实现word文档的上传,在线预览,下载

    前两天帮同学实现在线预览word文档中的内容,而且需要提供可以下载的链接!在网上找了好久,都没有什么可行的方法,只得用最笨的方法来实现了.希望得到各位大神的指教.下面我就具体谈谈自己的实现过程,总结一 ...

随机推荐

  1. SSM框架之Spring(3)IOC及依赖注入(基于注解的实现)

    Spring(3)IOC及依赖注入(基于注解的实现) 学习基于注解的 IoC 配置,大家脑海里首先得有一个认知,即注解配置和 xml 配置要实现的功能都是一样 的,都是要降低程序间的耦合.只是配置的形 ...

  2. Python3爬取豆瓣网电影信息

      # -*- coding:utf-8 -*- """ 一个简单的Python爬虫, 用于抓取豆瓣电影Top前250的电影的名称 Language: Python3.6 ...

  3. Linux下使用 github+hexo 搭建个人博客07-next主题接入搜索和站点管理

    这是搭建个人博客系统系列文章的最后一篇,如果你是从第一篇一路跟下来的,那么恭喜你,即将完成整个博客网站的搭建.OK,话不多说,开始我们的收官之战. 不知你想过没有,如果我们的文章少,一眼看完整个目录, ...

  4. Java中如何判断一个字符是否是字母或数字

    使用Java中Character类的静态方法: Character.isDigit(char c) //判断字符c是否是数字字符,如‘1’,‘2’,是则返回true,否则返回false   Chara ...

  5. c# 获取sqlserver 运行脚本的print消息的方法分享

    转自:http://www.maomao365.com/?p=6923  摘要: 在sql脚本的编写中,我们经常使用sql脚本print消息,作为输出测试, 通过获取print消息,我们可以快速获取程 ...

  6. [PHP] cli环境下php设置进程名字

    if (function_exists('cli_set_process_title')) { cli_set_process_title("superman php master proc ...

  7. Fiddler 过滤掉无用域名

    - 在 Fiters 一栏勾选Show only Internet Hosts 及Show only the following Hosts- 然后在下面输入需要保留的域名

  8. leetcode回溯算法--基础难度

    都是直接dfs,算是巩固一下 电话号码的字母组合 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合. 给出数字到字母的映射如下(与电话按键相同).注意 1 不对应任何字母. 思路 一直 ...

  9. 机器学习--PCA算法代码实现(基于Sklearn的PCA代码实现)

    一.基于Sklearn的PCA代码实现 import numpy as np import matplotlib.pyplot as plt from sklearn import datasets ...

  10. pytorch 建立模型的几种方法

    利用pytorch来构建网络模型,常用的有如下三种方式 前向传播网络具有如下结构: 卷积层-->Relu层-->池化层-->全连接层-->Relu层 对各Conv2d和Line ...