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. MySQl看这一篇就够了

    MySQL分享 一.数据库结构 语句 DDL(Data Definition Languages):数据定义语句,常用的语句关键字主要包括 create.drop.alter等操作表结构 DML(Da ...

  2. javascript 模块化开发(一)

    什么是模块化 将一组模块(及其依赖项)以正确的顺序拼接到一个文件(或一组文件)中的过程. 传统的模块化做法. 模块是实现特定功能的一组属性和方法的封装. 将模块写成一个对象,所有的模块成员都放到这个对 ...

  3. SAP 客户信贷重建一则

    前段时间接到业务的一个需求,需要将标准和定制业务的信贷分开.原来目前公司是将标准和定制的客户信贷金额整在一起,共用一个信贷范围.而定制业务特殊性决定了公司要收到客户全款才会接单生产并发货,而客户打预收 ...

  4. 网络管理和nmcli命令的使用——网络接口配置-bonding实验步骤

    (实验)网络接口配置-bonding  Bonding 将多块网卡绑定同一IP地址对外提供服务,可以实现高可用或者负载均衡.直接给两块网卡设置同\一IP地址是不可以的.通过bonding,虚拟一块网 ...

  5. Ubuntu18.04初始化

    Ubuntu18.04初始化 更新源: sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak sudo gedit /etc/apt/sour ...

  6. linux驱动——cmdline原理及利用【转】

    转自:https://blog.csdn.net/qingzhuyuxian/article/details/82895416 最近安卓项目中想要获取内核cmdline特定的启动参数,因为我们在他的U ...

  7. 对java的几点个人浅浅的认知

    特点   简单地说,Java 具有如下特点:简单的.面向对象.平台无关.多线程.分布式.安全. 高性能.可靠的.解释型.自动垃圾回收等特点. 主要面向internet的语言 Java比其他任何一门语言 ...

  8. elementui入门以及nodeJS环境搭建

    1. ElementUI简介 我们学习VUE,知道它的核心思想式组件和数据驱动,但是每一个组件都需要自己编写模板,样式,添加事件,数据等是非常麻烦的, 所以饿了吗推出了基于VUE2.0的组件库,它的名 ...

  9. C# 常用排序算法

    文章引用地址:https://www.cnblogs.com/fengyeqingxiang/archive/2019/06/14/11021852.html C#所有经典排序算法汇总   1 2 3 ...

  10. acwing 2 零一背包问题

    地址 https://www.acwing.com/problem/content/description/2/ 题目描述有 N 件物品和一个容量是 V 的背包.每件物品只能使用一次. 第 i 件物品 ...