详细设计说明书
1引言
1.1编写目的
说明编写这份详细设计说明书的目的,指出预期的读者。
该文档是在概要设计的基础上,进一步的细化系统结构,展示了软件结构的图表,物理设计,数据结构设计,以及算法设计,详细的介绍了系统各个模块是如何实现的,包括涉及到的算法,逻辑流程等,为下一步系统的实现和测试做准备。
预期读者:编码人员,项目负责人
1.2背景
A.软件名称:机房收费系统
C.实现该软件的计算中心或计算机网络:学校机房,廊坊师范学院校园网
D.该软件系统同其他系统或其他机构的基本的相互来往关系:由廊坊师范学院信息技术提高班做技术上的支持。
1.3定义
列出本文件中用到专门术语的定义和外文首字母组词的原词组。
VB语言:Visual Basic 是一种由 Microsoft 公司开发的结构化的、模块化的、面向对象的、包含协助开发环境的事件驱动为机制的可视化程序设计语言。
SQL语言:结构化查询语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。结构化查询语言是高级的非过程化编程语言。
1.4参考资料
a. 可行性研究报告、项目开发计划、软件需求分析、概要设计说明书
b. 详细设计说明书(GB8567——88)
c. 软件工程视频讲解——张洪志(哈尔滨工业大学)
2程序系统的结构
用一系列图表列出本程序系统内的每个程序(包括每个模块和子程序)的名称、标识符和它们之间的层次结构关系。
1、整体结构图:
2、管理层次结构:
3一般用户设计说明
从本章开始,逐个地给出各个层次中的每个程序的设计考虑。以下给出的提纲是针对一般情况的。对于一个具体的模块,尤其是层次比较低的模块或子程序,其很多条目的内容往往与它所隶属的上一层模块的对应条目的内容相同,在这种情况下,只要简单地说明这一点即可。
3.1程序描述
该程序只对学生上下机进行操作和查询,实现学生刷卡上机自动计费,是非常驻内存的,是可重人的,而且此程序支持多人同时上机,所以该系统是并发处理的。
3.2功能
说明该程序应具有的功能,可采用IPO图(即输入一处理一输出图)的形式。
3.3性能
说明对该程序的全部性能要求,包括对精度、灵活性和时间特性的要求。
1、精度:
输入数据的精度:小数点后保留两位有效数字
输出数据的精度:小数点后保留两位有效数字
传输过程中的精度:小数点后保留两位有效数字
2、灵活性:
适用于现在各种操作系统
3、时间特性:
登录:1s以内
数据处理:0.5s以内
更新:0.5s以内
3.4输人项
给出对每一个输入项的特性,包括名称、标识、数据的类型和格式、数据值的有效范围、输入的方式。数量和频度、输入媒体、输入数据的来源和安全保密条件等等。
1、输入项:
名称 | 标识 | 数据类型 | 取值范围 | 输入方式 | 安全保密 |
卡号 | cardno | Char | 10 | 手动和刷卡 | 中 |
学号 | studentNo | Char | 11 | 手动 | 中 |
学生姓名 | studentName | Char | 10 | 手动 | 中 |
性别 | sex | Char | 6 | 手动 | 中 |
专业 | department | Char | 10 | 手动 | 中 |
年级 | grade | Char | 10 | 手动 | 中 |
班级 | class | Char | 10 | 手动 | 中 |
金额 | cash | Numeric | (10,3) | 手动 | 中 |
注释 | explain | Varchar | 50 | 手动 | 中 |
用户名 | UserID | Char | 10 | 自动 | 中 |
状态 | status | Char | 10 | 自动 | 中 |
是否结账 | Ischeck | Char | 10 | 自动 | 中 |
日期 | date | Date | 自动 | 中 | |
时间 | time | Time | 0 | 自动 | 中 |
用户类型 | type | char | 10 | 手动 | 中 |
3.5输出项
给出对每一个输出项的特性,包括名称、标识、数据的类型和格式,数据值的有效范围,输出的形式、数量和频度,输出媒体、对输出图形及符号的说明、安全保密条件等等。
名称 | 标识 | 数据类型 | 有效范围 | 安全保密 |
卡号 | CardNo | Char | 10 | 中 |
上机时间 | onTime | Datetime | 精确到秒 | 中 |
下机时间 | offTime | Datetime | 精确到秒 | 中 |
备注 | Remarks | Char | 10 | 中 |
消费金额 | consumeCash | Money | 精确到0.5元 | 中 |
剩余金额 | remainCash | Money | 精确到0.5元 | 中 |
姓名 | StuentName | Char | 10 | 中 |
用户ID | UserID | Char | 10 | 中 |
3.6算法
详细说明本程序所选用的算法,具体的计算公式和计算步骤。
消耗时间:上机时间减去下机时间
消费金额:(取整(上机时间-下机时间))*单位时间内固定费用
3.7流程逻辑
用图表(例如流程图、判定表等)辅以必要的说明来表示本程序的逻辑流程。
3.8接口
用图的形式说明本程序所隶属的上一层模块及隶属于本程序的下一层模块、子程序,说明参数赋值和调用方式,说明与本程序相直接关联的数据结构(数据库、数据文卷)。
3.9存储分配
根据需要,说明本程序的存储分配。
该系统使用的数据库SQL Sever,已经满足对数据的存储和读取功能了。
3.10注释设计
a.加在模块首部的注释:主要用于说明程序的编排时间和编写人员以及基本的功能
b.加在各分枝点处的注释:用于解释各个分支的功能
c.对各变量的功能、范围、缺省条件等所加的注释:具体说明变量的功能,取值范围等其他情况
3.11限制条件
说明本程序运行中所受到的限制条件。
系统:Windows xp以上系统
软件:装有VB6.0以及SQL Sever数据库
3.12测试计划
说明对本程序进行单体测试的计划,包括对测试的技术要求、输入数据、预期结果、进度安排、人员职责、设备条件驱动程序及桩模块等的规定。
1、测试方法:采用黑盒测试和白盒测试相结合的方法
2、测试用例:选择重要的功能模块进行测试
3、用一般用户反复登陆,多次点击测试,验证系统的牢固性。
3.13尚未解决的问题
说明在本程序的设计中尚未解决而设计者认为在软件完成之前应解决的问题。
暂无
4操作员设计说明
4.1程序描述
操作员具有比一般用户更高的权限,因此不仅具有一般用户的功能,还有具有对用户的注册,充值,收取金额查询,金额退还信息查询,学生基本信息维护,学生上机统计信息查询,操作员工作记录等。
4.2功能
说明该程序应具有的功能,可采用IPO图(即输入一处理一输出图)的形式。
4.3性能
说明对该程序的全部性能要求,包括对精度、灵活性和时间特性的要求。
1、精度:
输入数据的精度:小数点后保留两位有效数字
输出数据的精度:小数点后保留两位有效数字
传输过程中的精度:小数点后保留两位有效数字
2、灵活性:
适用于现在各种操作系统
3、时间特性:
登录:1s以内
数据处理:0.5s以内
更新:0.5s以内
4.4输入项
给出对每一个输入项的特性,包括名称、标识、数据的类型和格式、数据值的有效范围、输入的方式。数量和频度、输入媒体、输入数据的来源和安全保密条件等等。
1、输入项:
名称 | 标识 | 数据类型 | 取值范围 | 输入方式 | 安全保密 |
卡号 | cardno | Char | 10 | 手动和刷卡 | 中 |
学号 | studentNo | Char | 11 | 手动 | 中 |
学生姓名 | studentName | Char | 10 | 手动 | 中 |
性别 | sex | Char | 6 | 手动 | 中 |
专业 | department | Char | 10 | 手动 | 中 |
年级 | grade | Char | 10 | 手动 | 中 |
班级 | class | Char | 10 | 手动 | 中 |
金额 | cash | Numeric | (10,3) | 手动 | 中 |
注释 | explain | Varchar | 50 | 手动 | 中 |
用户名 | UserID | Char | 10 | 自动 | 中 |
状态 | status | Char | 10 | 自动 | 中 |
是否结账 | Ischeck | Char | 10 | 自动 | 中 |
日期 | date | Date | 自动 | 中 | |
时间 | time | Time | 0 | 自动 | 中 |
用户类型 | type | char | 10 | 手动 | 中 |
4.5输出项
给出对每一个输出项的特性,包括名称、标识、数据的类型和格式,数据值的有效范围,输出的形式、数量和频度,输出媒体、对输出图形及符号的说明、安全保密条件等等。
名称 | 标识 | 数据类型 | 长度 | 输出方式 | 安全保密 |
学号 | StudentNo | Char | 10 | 自动 | 中 |
卡号 | CardNo | Char | 10 | 自动 | 中 |
姓名 | StudentName | Char | 10 | 自动 | 中 |
系别 | Department | Char | 10 | 自动 | 中 |
性别 | Sex | Char | 10 | 自动 | 中 |
年级 | Grade | Char | 10 | 自动 | 中 |
班级 | Class | Char | 10 | 自动 | 中 |
金额 | Cash | Numeric | (14,3) | 自动 | 中 |
状态 | Ischeck | Char | 10 | 自动 | 中 |
用户类型 | Type | Char | 10 | 自动 | 中 |
备注 | Explain | Varchar | 50 | 自动 | 中 |
上机时间 | Ontime | Date | 12 | 自动 | 中 |
下机时间 | Offtime | Date | 12 | 自动 | 中 |
充值金额 | Charge | Numeric | (10,3) | 自动 | 中 |
消费金额 | Consume | Numeric | (10,3) | 自动 | 中 |
余额 | Cash | Numeric | (10,3) | 自动 | 中 |
4.6算法
详细说明本程序所选用的算法,具体的计算公式和计算步骤。
充值金额=注册时所交费用+充值后金额
退还金额=原剩余金额-消费金额
消耗时间:上机时间减去下机时间
固定用户消费金额:(取整(上机时间-下机时间))/60*2
临时用户消费金额:(取整(上机时间-下机时间))/60*3
4.7流程逻辑
用图表(例如流程图、判定表等)辅以必要的说明来表示本程序的逻辑流程。
4.8接口
用图的形式说明本程序所隶属的上一层模块及隶属于本程序的下一层模块、子程序,说明参数赋值和调用方式,说明与本程序相直接关联的数据结构(数据库、数据文卷)。
4.9存储分配
根据需要,说明本程序的存储分配。
该系统使用的数据库SQL Sever,已经满足对数据的存储和读取功能了。
4.10注释设计
a.加在模块首部的注释:主要用于说明程序的编排时间和编写人员以及基本的功能
b.加在各分枝点处的注释:用于解释各个分支的功能
c.对各变量的功能、范围、缺省条件等所加的注释:具体说明变量的功能,取值范围等其他情况
4.11限制条件
说明本程序运行中所受到的限制条件。
系统:Windows xp以上系统
软件:装有VB6.0以及SQL Sever数据库
4.12测试计划
说明对本程序进行单体测试的计划,包括对测试的技术要求、输入数据、预期结果、进度安排、人员职责、设备条件驱动程序及桩模块等的规定。
1、测试方法:采用黑盒测试和白盒测试相结合的方法
2、测试用例:选择重要的功能模块进行测试
3、用一般用户反复登陆,多次点击测试,验证系统的牢固性。
4.13尚未解决的问题
说明在本程序的设计中尚未解决而设计者认为在软件完成之前应解决的问题。
暂无
5管理员设计说明
从本章开始,逐个地给出各个层次中的每个程序的设计考虑。以下给出的提纲是针对一般情况的。对于一个具体的模块,尤其是层次比较低的模块或子程序,其很多条目的内容往往与它所隶属的上一层模块的对应条目的内容相同,在这种情况下,只要简单地说明这一点即可。
5.1程序描述
管理员具有比一般用户和操作员更高的权限,除了具有一般用户和操作员的功能外,还具有结账,添加和删除用户,查询正在值班的教师,查询日周结账单等功能。
5.2功能
说明该程序应具有的功能,可采用IPO图(即输入一处理一输出图)的形式。
5.3性能
说明对该程序的全部性能要求,包括对精度、灵活性和时间特性的要求。
1、精度:
输入数据的精度:小数点后保留两位有效数字
输出数据的精度:小数点后保留两位有效数字
传输过程中的精度:小数点后保留两位有效数字
2、灵活性:
适用于现在各种操作系统
3、时间特性:
登录:1s以内
数据处理:0.5s以内
更新:0.5s以内
5.4输人项
给出对每一个输入项的特性,包括名称、标识、数据的类型和格式、数据值的有效范围、输入的方式。数量和频度、输入媒体、输入数据的来源和安全保密条件等等。
1、输入项:
名称 | 标识 | 数据类型 | 取值范围 | 输入方式 | 安全保密 |
卡号 | cardno | Char | 10 | 手动和刷卡 | 中 |
学号 | studentNo | Char | 11 | 手动 | 中 |
学生姓名 | studentName | Char | 10 | 手动 | 中 |
性别 | sex | Char | 6 | 手动 | 中 |
专业 | department | Char | 10 | 手动 | 中 |
年级 | grade | Char | 10 | 手动 | 中 |
班级 | class | Char | 10 | 手动 | 中 |
金额 | cash | Numeric | (10,3) | 手动 | 中 |
注释 | explain | Varchar | 50 | 手动 | 中 |
用户名 | UserID | Char | 10 | 自动 | 中 |
状态 | status | Char | 10 | 自动 | 中 |
是否结账 | Ischeck | Char | 10 | 自动 | 中 |
日期 | date | Date | 自动 | 中 | |
时间 | time | Time | 0 | 自动 | 中 |
用户类型 | type | char | 10 | 手动 | 中 |
3.5输出项
给出对每一个输出项的特性,包括名称、标识、数据的类型和格式,数据值的有效范围,输出的形式、数量和频度,输出媒体、对输出图形及符号的说明、安全保密条件等等。
名称 | 标识 | 数据类型 | 长度 | 输出方式 | 安全保密 |
学号 | StudentNo | Numeric | (18,0) | 自动 | 中 |
卡号 | CardNo | Numeric | (18,0) | 自动 | 中 |
姓名 | StudentName | Char | 10 | 自动 | 中 |
系别 | Department | Char | 10 | 自动 | 中 |
性别 | Sex | Char | 10 | 自动 | 中 |
年级 | Grade | Char | 10 | 自动 | 中 |
班级 | Class | Char | 10 | 自动 | 中 |
金额 | Cash | Numeric | (14,3) | 自动 | 中 |
状态 | Ischeck | Char | 10 | 自动 | 中 |
用户类型 | Type | Char | 10 | 自动 | 中 |
备注 | Explain | Varchar | 50 | 自动 | 中 |
注册时间 | Logintime | Time | 20 | 自动 | 中 |
退卡时间 | Canceltime | Time | 20 | 自动 | 中 |
上机时间 | Ontime | Date | 12 | 自动 | 中 |
下机时间 | Offtime | Date | 12 | 自动 | 中 |
充值金额 | Charge | Numeric | (10,3) | 自动 | 中 |
消费金额 | Consume | Numeric | (10,3) | 自动 | 中 |
余额 | Cash | Numeric | (10,3) | 自动 | 中 |
5.6算法
详细说明本程序所选用的算法,具体的计算公式和计算步骤。
充值金额=注册时金额+充值金额
消耗时间:上机时间减去下机时间
固定用户消费金额:(取整(上机时间-下机时间))/60*2
临时用户消费金额=(取整(上机时间-下机时间))/60*3
应收金额=充值金额-退卡金额
5.7流程逻辑
用图表(例如流程图、判定表等)辅以必要的说明来表示本程序的逻辑流程。
5.8接口
用图的形式说明本程序所隶属的上一层模块及隶属于本程序的下一层模块、子程序,说明参数赋值和调用方式,说明与本程序相直接关联的数据结构(数据库、数据文卷)。
5.9存储分配
根据需要,说明本程序的存储分配。
该系统使用的数据库SQL Sever,已经满足对数据的存储和读取功能了。
5.10注释设计
a.加在模块首部的注释:主要用于说明程序的编排时间和编写人员以及基本的功能
b.加在各分枝点处的注释:用于解释各个分支的功能
c.对各变量的功能、范围、缺省条件等所加的注释:具体说明变量的功能,取值范围等其他情况
5.11限制条件
说明本程序运行中所受到的限制条件。
系统:Windows xp以上系统
软件:装有VB6.0以及SQL Sever数据库
5.12测试计划
说明对本程序进行单体测试的计划,包括对测试的技术要求、输入数据、预期结果、进度安排、人员职责、设备条件驱动程序及桩模块等的规定。
1、测试方法:采用黑盒测试和白盒测试相结合的方法
2、测试用例:选择重要的功能模块进行测试
3、用一般用户反复登陆,多次点击测试,验证系统的牢固性。
5.13尚未解决的问题
说明在本程序的设计中尚未解决而设计者认为在软件完成之前应解决的问题。
暂无