在写完第一遍文档,写第二遍文档的过程,发现了自己的很多不足,没有把握住主要的内容,将其呈现出来,于是在看完UML后,将其中的图的内容进行消化,运用,写完了文档中最重要的文档之一——概要文档
概要设计说明书
1引言
1.1编写目的
1、 系统分析员审查软件计划、软件需求分析提供的文档,提出候选的最佳推荐方案,用系统流程图,组成系统物理元素清单,成本效益分析,系统的进度计划,供专家审定,审定后进入设计。
2、 确定模块结构,划分功能模块,将软件功能需求分配给所划分的最小单元模块。确定模块间的联系,确定数据结构、文件结构、数据库模式,确定测试方法与策略。
1.2背景
机房收费系统是由廊坊师范学院委托我公司开发的大型管理系统,主要功能是实现机房的信息化管理,包括上机学生信息管理,管理者信息管理。项目周期一个月,项目背景规划如表1.1所示
表1.1 项目背景规划
项目名称 |
项目委托单位 |
任务提出者 |
项目承担单位 |
机房收费系统 |
廊坊师范学院 |
王总 |
策划部门 研发部门 测试部门 |
1.3定义
无
1.4参考资料
1、《信息技术提高班培养计划V5.1》
1. 测试分析报告
软件需求说明书
2. 《软件工程——实践与理论》/田淑梅等编著. 北京:清华大学出版社,2011.9
ISBN 978-7-302-25470-6
《软件工程视频》
《GB8567国标》
2总体设计
2.1需求规定
该系统可以实现不同用户具有不同的对数据库的访问权限,学生注册、充值、上机、下机、消费情况、退卡等,同时一般用户可以查看学生余额、上机记录、充值记录、修改密码;操作员具有一般用户的权限,并且还可以对学生进行注册、充值、退卡、收取退还金额查询、学生基本信息维护、查看操作员工作记录、查询学生上机统计信息;管理员具有操作员的权限,并且还可以结账、对用户进行增删改查、查看日结账和月结账单。
2.2运行环境
服务器:CPU:1G;内存:4G;硬盘:15G
支持软件:win7
数据库系统:Microsoft SQL Server2008
2.3基本设计概念和处理流程
1、登录功能
图1.1
首先,双击机房收费系统,弹出“系统登录”窗口,分别输入用户名和密码,在数据库中进行查询,如果用户名和密码出现错误,则弹出提示框,如图1.2所示,如果登录成功,则进入如图1.3,即主界面,在主界面输入卡号就可以上机,点击下机则下机。
图1.2
图1.3
3、 一般用户权限
3、1 学生查看余额
这块主要是对学生的余额进行查询,在请输入卡号处输入卡号,点击查询,在下面就会自动显示所有信息。
3、2学生上机记录查询
这块主要对学生的上机记录进行查看,在“请输入卡号”处输入卡号,点击查询,则会在下面的框内显示所需查询信息。
3、3学生充值记录查询
这块主要显示学生的充值情况,在“请输入卡号”处输入卡号,就会显示所需信息。
3、4 学生上机状态查询
这块主要对学生的上机状态进行查询,包括多条件查询,全部查询,强制下机等。这个窗体是以下几个窗体的父窗体
3、4、1上机状态查询
这块主要是通过人为限定条件,进行上机查询,点击查询按钮,显示所需显示的内容。
3、5 修改密码
这块通过输入旧口令和新口令,对正在登录的用户密码进行修改。
4、操作员权限
4、1学生注册
这块主要是进行卡号注册,还可以对已有学生进行查找,界面如下:
4、1、1学生查看余额
这块就是之前图3、1。
4、2充值
这块主要是给卡充值,在“卡号”处输入卡号、充值金额,弹出如上图信息。
4、3 退卡
这个界面主要是进行退卡,弹出退卡信息、
4、4 收取金额查询
在起始日期和终止日期处分别输入日期,点击查询就可以显示收取金额所需信息,也可以将此表以excel形式导出。
4、5 余额退还信息查询
在起始日期和终止日期处分别输入日期,点击查询就可以显示收取金额所需信息,也可以将此表以excel形式导出。
4、6 学生基本信息维护
这个界面主要是通过多条件查询,对所要维护的学生信息进行条件查询,然后进行修改,点击修改按钮,弹出如图所示界面:
4、6、1 修改学生信息
这块主要是将上图选中的信息进行修改。
4、7 学生上机统计信息
这个界面同样是通过多条件查询,对所要查看的学生上机信息进行查询。也可以到处excel表格。
4、8 操作员工作记录
这个界面主要是通过多条件查询对操作员工的信息进行查询,并可以退出该界面。
5、管理员权限
5、1 结账
这个界面主要是对每个操作员的工作情况进行汇总、结账,显示所查看的操作员的购卡、充值、退卡,情况。
5、2添加删除用户
这个界面可以查看不同权限用户的信息,同时可以对不同用户进行添加和删除,添加界面如下图:
5、2、1 添加用户
在这个界面中添加所要添加的用户信息,点击确定,进行保存。
5、3 基本数据设定
这个界面主要是对收费情况进行修改。
5、4正在值班教师
这个界面主要是显示已登录过的操作员和正在值班老师的情况,同时还可以点击退出该界面。
5、5 日结账单
这个界面主要显示当天的结账情况,一旦有更新就会在结账单中显示出来。同时还可以连接打印机进行打印,对所打印内容预览。
5、6 周结账单
这个界面主要是对所选定的一个时间段内的结账情况进行查询,可以进行账单刷新、打印以及预览。
6、帮助
6、1 使用说明
这个界面主要是提示用户如何使用该软件。
6、2 关于
这界面主要展示该软件的版权及作者信息。
2.4结构
2、4、1 总体架构图
1、 WEB层:即用户接口层,主要是接收用户的输入,并将处理后的结果显示给用户
2、 BLL层:业务逻辑层,主要是系统业务逻辑的处理,并将处理结果返回给WEB层。
3、 DAL层:数据库访问层,主要负责对数据的访问和操作数据库的操作结果返回给BLL层
4、 Entity层:实体层,内部的每一个实体类都对应数据库的一张表,主要是作为各层之间数据传递的参数出现
2、4、2 处理流程
1、登录流程图
2、一般用户权限
在登录系统时,如果用户权限为一般用户,则只能具有查询功能,和修改正在上机用户密码的功能。
“查看学生余额”界面需要输入要查看学生的卡号,首先要确定卡号不为空,其次是判断该卡是否任然使用,如果还在使用,则可以在student_info表中查到该学生的余额情况。
“学生查看上机记录”界面需要输入卡号,首先要确定卡号不为空,其次是判断该卡是否任然使用,如果还在使用,则可以line_info表中查到该学生的上机情况。
“学生充值记录”界面需要输入要查看学生的卡号,首先要确定卡号不为空,其次是判断该卡是否任然使用,如果还在使用,则可以在recharge_info表中查到该学生的充值情况。
“学生上机状态查询”界面有三个功能,查询,全部显示,上机管理。首先,查询功能中需要输入字段名、操作符、要查询的内容,如果需要多条件查询,还要输入组合条件。涉及到line_info表,还可以直接显示全部正在上机学生,单击要强制下机的学生可以强制下机。
3、操作员
操作员主要是对上机学生进行注册、充值以及退卡操作,还可以查看金额收取、退还情况,对学生的基本信息进行维护,查看操作员的工作情况等。
4、管理员
管理员主要是对收费标准进行制定、还有就是用户的增删、结账等进行查看。
2.5人工处理过程
在上下机的时候,需要用户刷卡。
3接口设计
3.1用户接口
无
3.2外部接口
ID卡阅读器
3.3内部接口
无
4运行设计
4.1运行模块组合
每个模块执行单一的功能,模块内部完成高内聚和与其他模块低耦合,使每个功能互不影响,都能独立进行操作。
4.2运行控制
本软件控制流程:主程序运行,等待用户的输入,根据用户的输入调用各子模块
4.3运行时间
各模块运行时间均应控制在1-2s内。(其中大部分为响应用户的动作)
5系统数据结构设计
5.1逻辑结构设计要点
1、 E-R图
2、定义表
基本数据设定表basicdata_info
固定用户每半小时费用 |
Rate |
数值型 |
临时用户每小时费用 |
Tmprate |
数值型 |
单位递增时间 |
Unittime |
整型 |
最少上机时间 |
leasttime |
整型 |
准备时间 |
preparetime |
整型 |
最少上机金额 |
limitcash |
数值型 |
执行者 |
head |
字符串 |
日期 |
Date |
字符串 |
时间 |
Time |
字符串 |
退卡表cancelcard_info
学号 |
studentno |
字符串 |
卡号 |
cardno |
字符串 |
退卡金额 |
cancelcash |
数值型 |
日期 |
Date |
字符串 |
时间 |
Time |
字符串 |
执行者 |
userid |
字符串 |
卡状态 |
Status |
字符串 |
日结表checkday_info
上期充值卡余额 |
Remiancash |
数值型 |
当日充值金额 |
Rechargecash |
数值型 |
当日消费金额 |
Consumecash |
数值型 |
当日退卡金额 |
Cancelcash |
数值型 |
本期充值卡金额 |
Allcash |
数值型 |
日期 |
Date |
字符型 |
周结账单checkweek_info
上期充值卡余额 |
Remiancash |
数值型 |
当日充值金额 |
Rechargecash |
数值型 |
当日消费金额 |
Consumecash |
数值型 |
当日退卡金额 |
Cancelcash |
数值型 |
本期充值卡金额 |
Allcash |
数值型 |
日期 |
Date |
字符型 |
上机记录表line_info’
序列号 |
Serial |
数值型 |
卡号 |
Cardno |
字符型 |
学号 |
Studentno |
字符型 |
姓名 |
Studentname |
字符型 |
系别 |
Department |
字符型 |
性别 |
Sex |
字符型 |
上机日期 |
Ondate |
字符型 |
上机时间 |
Ontime |
字符型 |
下机日期 |
Offdate |
字符型 |
下机时间 |
Offtime |
字符型 |
消费时间 |
Consumetime |
字符型 |
消费金额 |
Consume |
字符型 |
余额 |
Cash |
数值型 |
状态 |
Status |
字符型 |
机房号 |
Computer |
字符型 |
正在上机表online_info
卡号 |
Cardno |
字符型 |
卡型 |
Cardtype |
字符型 |
学号 |
Studentno |
字符型 |
姓名 |
Studentname |
字符型 |
系别 |
Department |
字符型 |
性别 |
Sex |
字符型 |
上机日期 |
Ondate |
字符型 |
上机时间 |
Ontime |
字符型 |
机房号 |
Computer |
字符型 |
管理人员工作表onwork_info
工作人员id |
Userid |
字符型 |
级别 |
Level |
字符型 |
登录日期 |
Ondate |
字符型 |
登录时间 |
Ontime |
字符型 |
机房号 |
Computer |
字符型 |
充值表recharge_info
序列号 |
Serial |
数值型 |
学号 |
Studentno |
字符型 |
卡号 |
Cardno |
字符型 |
充值金额 |
Addmoney |
字符型 |
日期 |
Date |
字符型 |
时间 |
Time |
字符型 |
工作人员id |
Userid |
字符型 |
状态 |
Status |
字符型 |
学生信息student_info
卡号 |
Cardno |
字符型 |
学号 |
Studentno |
字符型 |
姓名 |
Studentname |
字符型 |
性别 |
Sex |
字符型 |
系别 |
Department |
字符型 |
年级 |
Grade |
字符型 |
班级 |
Class |
字符型 |
余额 |
Cash |
数值型 |
备注 |
Explain |
字符型 |
工作人员id |
Userid |
字符型 |
状态 |
Status |
字符型 |
结账状态 |
Ischeck |
字符型 |
日期 |
Date |
字符型 |
时间 |
Time |
字符型 |
工作人员信息user_info
工作人员id |
Userid |
字符型 |
密码 |
Pwd |
字符型 |
级别 |
Level |
字符型 |
工作人员姓名 |
Username |
字符型 |
开户人 |
Head |
字符型 |
5.2物理结构设计要点
数据的物理结构用存储表、链表或索引表等描述
5.3数据结构与程序的关系
表名 |
英文名 |
说明 |
学生信息表 |
student |
学生的基本注册信息,用于注册、学生基本信息维护等功能块 |
基本数据表 |
Bisicdata |
机房收费标准,用于基本数据设定功能块的实现 |
充值表 |
recharge |
用于记录学生的充值情况 |
退卡表 |
Cancelcard |
用于记录学生的退卡情况 |
上机记录表 |
Line |
用于记录学生上机的情况,用于查看学生上机记录和学生上机状态查看的功能块实现 |
正在上机记录表 |
Online |
用于学生正在上机的记录,正在上机学生查看功能块的实现 |
操作员工作记录表 |
Worklog |
用于记录操作员的工作情况 |
正在值班教师记录表 |
Onwork |
用于记录正在上机的值班老师 |
用户信息表 |
User |
用于记录可以登录该系统的用户的信息 |
日结账表 |
Checkday |
用于日结账单 |
周结账单 |
Checkweek |
用于周结账单 |
6系统出错处理设计
6.1出错信息
序号 |
出错状况 |
解决方法 |
1 |
数据库备份容量过大,服务器运行缓慢 |
定期维护减少冗余 |
2 |
突然断电 |
使用后备电源 |
3 |
数据丢失 |
数据库镜像还原 |
6.2补救措施
a. 后备技术说明准备采用的后备技术,当原始系统数据万一丢失时启用的副本的建立和启动的技术,例如周期性地把磁盘信息记录到磁带上去就是对于磁盘媒体的一种后备技术;
b. 降效技术说明准备采用的后备技术,使用另一个效率稍低的系统或方法来求得所需结果的某些部分,例如一个自动系统的降效技术可以是手工操作和数据的人工记录;
c. 恢复及再启动技术说明将使用的恢复再启动技术,使软件从故障点恢复执行或使软件从头开始重新运行的方法。
d. 当出现大的程序问题启用备份程序;如果无法启用备份程序则只能关闭网站进行抢修
6.3系统维护设计
在系统设计时,没有专用的维护模块