详细设计说明书是在概要设计的基础上进一步说明系统结构,表示出软件结构的图表,完成算法设计、数据结构设计、物理设计等,详细地描述逐个模块,包括算法和逻辑流程,为下一步系统的实现和测试做准备。
预期的读者是程序开发人员和程序测试人员。
a. 待开发的软件系统的名称:机房收费系统
b. 本项目的任务提出者:米新江教授
开发者:申明霜
用户:廊坊师范学院全体教职工和学生
实现该软件的计算中心或计算机网络:图书馆电子阅览室 机房 廊坊师范学院局域网
c. 该软件系统同其他系统或其他机构的基本的相互来往关系:VB开发,SQLSever2008数据库存储 由廊坊师范学院信息技术提高班做技术支持。
SQL sever:系统服务器所使用的数据库关系系统(DBMS);
SQL:一种用于访问查询数据库的语言,结构化查询语言。
VB(Visual Basic):是一种由 Microsoft 公司开发的结构化的、模块化的、面向对象的、包含协助开发环境的事件驱动为机制的可视化程序设计语言。
a. 概要设计说明书(GB856T——88)
b. 《软件工程》 张海藩 人民邮电出版社
c. 《软件工程知识体系指南》(2004版)蒋遂平翻译
d. 《SQL入门经典》 敖富江译
e. 《Visual Basic6.0数据库开发经典实例精解》 夏邦贵 刘凡馨等编著
f. 《数据库视频》(耿建玲)
g. 《软件工程视频》 张洪志 (哈尔滨工业大学)
用一系列图表列出本程序系统内的每个程序(包括每个模块和子程序)的名称、标识符和它们之间的层次结构关系。
层次结构关系图:
A. 一般用户模块:主要负责查询相关学生信息以及上下机情况
B. 操作员模块:负责学生注册、修改、充值、退卡等操作管理工作;
C. 管理员模块:负责整个系统基本数据的设定、对操作员和一般用户的管理以及账目管理工作。
改程序只对学生的上下机情况及学生信息进行查看,没有涉及管理功能,只是将学生的信息输入数据库,经过系统数据后得到的数据信息。
说明该程序应具有的功能,可采用IPO图(即输入一处理一输出图)的形式:
3.31精度
软件的输入精度:小数点后保留两位有效数字
输出数据的精度:小数点后保留两位有效数字
传输过程中的精度:小数点后保留两位有效数字
3.32时间特性要求
响应时间:0.5S内
更新处理时间:0.5S内
数据的更换和传送时间:1S内
3.33灵活性
a.运行环境的变化:该软件使用于现在流行的操作系统
b.精度和有效时限的变化:因不同情况而定
c.计划的变化和改进:根据用户的需求随时对软件做必要的升级和更新
名称 |
标识 |
数据类型 |
输入方式 |
安全保密 |
学号 |
StudentNo |
int |
自动 |
中 |
卡号 |
CardNo |
int |
刷卡 |
中 |
姓名 |
StudentName |
char(10) |
自动 |
中 |
系别 |
Department |
char(10) |
自动 |
中 |
性别 |
Sex |
char(6) |
自动 |
中 |
年纪 |
Grade |
char(10) |
自动 |
中 |
班级 |
Class |
char(10) |
自动 |
中 |
余额 |
Cash |
numeric(10, 3) |
自动 |
中 |
备注 |
Explain |
numeric(10, 3) |
自动 |
中 |
类型 |
type |
char(10) |
自动 |
中 |
上机日期 |
Ondate |
date |
自动 |
中 |
上机时间 |
ontime |
time(0) |
自动 |
中 |
名称 |
标识 |
数据类型 |
输入方式 |
安全保密 |
学号 |
StudentNo |
int |
自动 |
中 |
卡号 |
CardNo |
int |
刷卡 |
中 |
姓名 |
StudentName |
char(10) |
自动 |
中 |
系别 |
Department |
char(10) |
自动 |
中 |
性别 |
Sex |
char(6) |
自动 |
中 |
年纪 |
Grade |
char(10) |
自动 |
中 |
班级 |
Class |
char(10) |
自动 |
中 |
余额 |
Cash |
numeric(10, 3) |
自动 |
中 |
备注 |
Explain |
numeric(10, 3) |
自动 |
中 |
类型 |
type |
char(10) |
自动 |
中 |
下机日期 |
offdate |
date |
自动 |
中 |
下机时间 |
offtime |
time(0) |
自动 |
中 |
时间差=(下机日期-上机日期)+(下机时间-上机时间)
金额计算:当大于准备时间后不足1小时按1小时计费,大于1小时按四舍五入计算消费金额。
用图表(例如流程图、判定表等)辅以必要的说明来表示本程序的逻辑流程。
名称 |
标识 |
数据类型 |
学号 |
StudentNo |
int |
卡号 |
CardNo |
int |
姓名 |
StudentName |
char(10) |
系别 |
Department |
char(10) |
性别 |
Sex |
char(6) |
年纪 |
Grade |
char(10) |
班级 |
Class |
char(10) |
余额 |
Cash |
numeric(10, 3) |
备注 |
Explain |
numeric(10, 3) |
类型 |
type |
char(10) |
上/下机日期 |
Ondate/offdate |
date |
上/下机时间 |
Ontime/offtime |
time(0) |
a. 在模块首部注释说明模块开始编写的时间、编写人员及其基本功能
b. 在变量声明阶段,大概说明变量的类型和用途
c. 在个别判断、循环或者顺序枝分点上注释说明程序代码的功能。
必须保证程序正常的连接到服务器
测试用例:选取有代表性的数据,避免使用穷举法
测试方法:使用百合测试法,语句覆盖、判定覆盖、条件覆盖等操作。
暂无
该模块主要负责学生上下机的管理工作,包括注册、充值、修改信息、退卡,以及对操作员工作记录的查询工作,一般用户没有此权限
4.31精度
软件的输入精度:小数点后保留两位有效数字
输出数据的精度:小数点后保留两位有效数字
传输过程中的精度:小数点后保留两位有效数字
4.32时间特性要求
响应时间:0.5S内
更新处理时间:0.5S内
数据的更换和传送时间:1S内
4.33灵活性
a.运行环境的变化:该软件使用于现在流行的操作系统
b.精度和有效时限的变化:因不同情况而定
c.计划的变化和改进:根据用户的需求随时对软件做必要的升级和更新
名称 |
标识 |
数据类型 |
输入方式 |
安全保密 |
学号 |
StudentNo |
int |
手动 |
中 |
卡号 |
CardNo |
int |
手动 |
中 |
姓名 |
StudentName |
char(10) |
手动 |
中 |
系别 |
Department |
char(10) |
手动 |
中 |
性别 |
Sex |
char(6) |
自动 |
中 |
年纪 |
Grade |
char(10) |
手动 |
中 |
班级 |
Class |
char(10) |
手动 |
中 |
余额 |
Cash |
numeric(10, 3) |
手动 |
中 |
备注 |
Explain |
numeric(10, 3) |
手动 |
中 |
类型 |
type |
char(10) |
手动 |
中 |
日期 |
date |
date |
自动 |
中 |
时间 |
time |
time(0) |
自动 |
中 |
名称 |
标识 |
数据类型 |
输出媒介 |
安全保密 |
学号 |
StudentNo |
int |
无 |
中 |
卡号 |
CardNo |
int |
无 |
中 |
姓名 |
StudentName |
char(10) |
无 |
中 |
系别 |
Department |
char(10) |
无 |
中 |
性别 |
Sex |
char(6) |
无 |
中 |
年纪 |
Grade |
char(10) |
无 |
中 |
班级 |
Class |
char(10) |
无 |
中 |
余额 |
Cash |
numeric(10, 3) |
无 |
中 |
备注 |
Explain |
numeric(10, 3) |
无 |
中 |
类型 |
type |
char(10) |
无 |
中 |
日期 |
date |
date |
无 |
中 |
时间 |
time |
time(0) |
无 |
中 |
A总金额=剩余金额+充值金额
B.剩余金额=总金额-消费金额
C退还金额=剩余金额-消费金额
名称 |
标识 |
数据类型 |
学号 |
StudentNo |
int |
卡号 |
CardNo |
int |
姓名 |
StudentName |
char(10) |
系别 |
Department |
char(10) |
性别 |
Sex |
char(6) |
年纪 |
Grade |
char(10) |
班级 |
Class |
char(10) |
余额 |
Cash |
numeric(10, 3) |
备注 |
Explain |
numeric(10, 3) |
类型 |
type |
char(10) |
日期 |
date |
date |
时间 |
time |
time(0) |
a. 在模块首部注释说明模块开始编写的时间、编写人员及其基本功能
b. 在变量声明阶段,大概说明变量的类型和用途
c. 在个别判断、循环或者顺序枝分点上注释说明程序代码的功能。
必须保证程序正常的连接到服务器
主要在注册模块,注意选取不同的数据,确保输入数据合适,对于充值、退卡以及信息维护模块,举例测试并观察测试结果是否符合逻辑规律。
暂无
管理员模块主要是对整个系统的管理,包括对操作员的查看和管理,添加删除用户,系统基本数据的设定以及结账工作。
5.31精度
软件的输入精度:小数点后保留两位有效数字
输出数据的精度:小数点后保留两位有效数字
传输过程中的精度:小数点后保留两位有效数字
5.32时间特性要求
响应时间:0.5S内
更新处理时间:0.5S内
数据的更换和传送时间:1S内
5.33灵活性
a.运行环境的变化:该软件使用于现在流行的操作系统
b.精度和有效时限的变化:因不同情况而定
c.计划的变化和改进:根据用户的需求随时对软件做必要的升级和更新
名称 |
标识 |
数据类型 |
输入方式 |
安全性 |
用户名 |
UserID |
Int |
手动 |
高 |
日期 |
Date |
date |
选择输入 |
中 |
固定每小时消费 |
Rate |
numeric(19, 4) |
手动 |
高 |
临时每小时费用 |
tmpRate |
numeric(19, 4) |
手动 |
高 |
递增单位时间 |
unitTime |
int |
手动 |
高 |
至少上机时间 |
leastTime |
int |
手动 |
高 |
准备时间 |
PrepareTime |
int |
手动 |
高 |
余额 |
limitCash |
numeric(19, 4) |
手动 |
高 |
用户名 |
head |
Char(10) |
手动 |
高 |
时间 |
time |
time(0) |
手动 |
高 |
名称 |
标识 |
数据类型 |
输出媒介 |
安全保密 |
学号 |
StudentNo |
int |
无 |
中 |
卡号 |
CardNo |
int |
无 |
中 |
姓名 |
StudentName |
char(10) |
无 |
中 |
系别 |
Department |
char(10) |
无 |
中 |
性别 |
Sex |
char(6) |
无 |
中 |
年纪 |
Grade |
char(10) |
无 |
中 |
班级 |
Class |
char(10) |
无 |
中 |
余额 |
Cash |
numeric(10, 3) |
无 |
中 |
备注 |
Explain |
numeric(10, 3) |
无 |
中 |
类型 |
type |
char(10) |
无 |
中 |
日期 |
date |
date |
无 |
中 |
时间 |
time |
time(0) |
无 |
中 |
A.总金额=剩余金额+充值金额
B.剩余金额=总金额-消费金额
C.退还金额=剩余金额-消费金额
名称 |
标识 |
数据类型 |
学号 |
StudentNo |
int |
卡号 |
CardNo |
int |
姓名 |
StudentName |
char(10) |
系别 |
Department |
char(10) |
性别 |
Sex |
char(6) |
年纪 |
Grade |
char(10) |
班级 |
Class |
char(10) |
余额 |
Cash |
numeric(10, 3) |
备注 |
Explain |
numeric(10, 3) |
类型 |
type |
char(10) |
日期 |
date |
date |
时间 |
time |
time(0) |
固定每小时消费 |
Rate |
numeric(19, 4) |
临时每小时费用 |
tmpRate |
numeric(19, 4) |
递增单位时间 |
unitTime |
int |
至少上机时间 |
leastTime |
int |
准备时间 |
PrepareTime |
int |
a. 在模块首部注释说明模块开始编写的时间、编写人员及其基本功能
b. 在变量声明阶段,大概说明变量的类型和用途
c. 在个别判断、循环或者顺序枝分点上注释说明程序代码的功能。
必须保证程序正常的连接到服务器
系统投入到运行中,学生上下机正常
A.主要在结账模块,注意选取不同的时间段,观察结账是否符合系统逻辑运算法则;
B.对于添加和删除用户模块,举例测试并观察测试结果是否符合逻辑规律
C.最后是日结和周结账单,检验报表是否正确,能否正确预览和打印