详细设计说明书.docx
- 文档编号:24540678
- 上传时间:2023-05-28
- 格式:DOCX
- 页数:35
- 大小:725.55KB
详细设计说明书.docx
《详细设计说明书.docx》由会员分享,可在线阅读,更多相关《详细设计说明书.docx(35页珍藏版)》请在冰豆网上搜索。
详细设计说明书
学校代码:
10128
学号:
*******
课程设计说明书
题目:
车站售票管理系统
—详细设计说明书
学生姓名:
*****
学院:
信息工程学院
系别:
计算机系
专业:
软件工程
班级:
***
指导教师:
**
**
2011年7月20日
1.引言
1.1编写目的
编写详细设计说明书是软件开发过程必不可少的部分,其目的是为了使开发人员在完成概要设计说明书的基础上完成概要设计规定的各个功能块的具体实现的设计工作。
通过对所产生的功能模块进行过程描述,开发一个可以直接转化成程序语言的软件标识,这样可以使软件设计人员很好的了解软件的功能,并对软件的所有模块有一个更深的了解。
本说明书在概要设计的基础上,对车站售票管理系统的各模块,程序,子系统分别进行了实现层面上的要求和说明,为进行后面的实现和测试做准备,检验本系统的各项性能指标,及时发现纰漏及时修补。
主要读者:
程序员、项目总监、测试人员
1.2项目背景
委托单位:
火车站
开发单位:
内蒙古工业大学软件工程
主管部门:
内蒙古工业大学计算机系
开发人员:
****
1.3定义
时序图:
亦称为序列图或循序图,是一种UML行为图。
它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。
它可以表示用例的行为顺序,当执行一个用例行为时,时序图中的每条消息对应了一个类操作或状态机中引起转换的触发事件
SqlClien:
包含有关专门操作SqlServer数据库的类,包含的是一些数据库操作所需要用到的普通数据,如数据表,数据行等
包:
多个类的集合
1.4参考资料
[1]GB8567-88.软件设计文档国家标准——详细设计说明书
[2]张海藩.《软件工程导论》(第五版)清华大学出版社
[3]吴建、郑潮、汪杰.《UML基础与Rose建模案例》人民邮电出版社
[4]胥光辉,金凤林等.《软件工程方法与实践》机械工业出版社
[5]车站售票管理系统—可行性研究报告
[6]车站售票管理系统—项目开发计划
[7]车站售票管理系统—需求规格说明书
[8]车站售票管理系统—概要设计说明书
2.总体设计
2.1需求概述
火车站售票管理系统主要实现售票自动化,包括售票,订票、退票,查询,统计,为了保证系统正常运行,另外需要专门人员对系统的维护管理。
(1)登录:
登录可分为系统管理员登录和售票员登录,在登录模块的描述中,将系统管理员和售票员都看作这个系统的用户,他们根据自己的登录名和密码登录系统,才可进行以后的操作。
若用户名和密码输入错误,不匹配,系统将会提示输入错误。
若用户名和密码不正确,用户可已重新输入,但只允许输入三次。
(2)查询:
查询分为车次查询、站点查询、时刻表查询、票价查询、余票查询。
车次查询提供了所有车次浏览、按车次查询、和站站查询,用户可以通过查询来了解列车所经车站以及发车时间等信息。
时刻表查询可以查询每一车次在每一站的发车时间和到站时间。
票价查询可以让用户按自己的需求来查询所有车次的车票价格;余票查询可以查询到所有车次的剩余车票的情况;
(3)售票:
根据旅客的需求如发车日期、发车时间、车厢类型、车票类型(学生票、军人票…)等选择用户所需要的车次,然后结算并打印车票给旅客。
(4)订票:
由售票点授权或是有一定信誉的售票代理商替代旅客进行预订车票,售票代理商通过电话或是亲自到售票点预订的方式进行预订车票。
(5)退票:
处理用户由于某种情况需要退回车票的情况,旅客要在车站指定的时间内进行退票,此外车站售票点还要扣除一定的手续费。
(6)统计:
售票统计分别可以按日期统计、按车次统计、按客流方向统计等统计方式,通过察看车票的流向可以得知旅客的大致流向,列车管理人员可以根据客流的流向随时调整列车运行车次,达到列车的合理调度,使列车最大限度的投入使用中,实现资源的合理利用。
(7)修改:
包括车次修改、票价修改、站点修改。
车次修改包括增加车次,减少车次,车次的临时调度和由于自然灾害造成的临时路线更改。
票价修改为节假日、春运等特殊时段或某些特殊地域需要适量增加或减少票价,具体数字有铁路管理定。
站点修改可是某些车次增加或减少一些站点。
(8)系统管理维护:
管理员通过系统添加用户或者删除用户,并且授予权限,同时维护数据库,保证系统正确运行。
2.2软件结构
图5.1系统功能层次图
1.主要功能:
完善火车票售票系统,方便铁路局的售票工作,提高铁路局的服务质量和服务效率。
2.性能要求:
火车站提供的信息必须及时的反映在铁路局的工作平台上。
售票系统的定单必须无差错的存储在火车站的主服务器上。
对服务器上的数据必须进行及时正确的刷新。
3.输入要求:
数据完整,详实。
4.输出要求:
简捷,快速,实时。
5.安全与保密要求:
售票员享有对火车站票务信息数据库、列车信息数据库的管理与修改。
旅客只享有对票务信息数据库的部分修改(写入与读出)。
该系统仅限火车站内部使用,因此使用C/S架构开发。
同时,要实现客户端之间使用局域网技术互联,实现数据的共享,另外要求相互之间的操作互不影响。
同一张火车票只能由一个客户端卖出,使用线程的同步来实现。
图5.2系统结构图
3.程序描述
通过需求分析和概要设计,可以得出火车站售票系统的的类图,该系统中主要包括四个基本类:
售票员,火车票,管理员,购票者。
购票者向售票员提出请求,购票者有请求购票,请求查询,请求订票,请求退票和请求改签这几个功能。
售票员通过与购票者交流后了解购票者的请求信息,进入系统进行操作。
售票员和管理员均需要对火车票进行操作,同时,管理员需录入员工信息,维护数据库。
图5.3系统类图
将如上系统类图进行进一步的抽象,可以得出系统的抽象类图,从而在讨论接口问题时,可以更加的清楚,明确。
系统主要抽象出三个类、一个接口,将三个类封装到Unit包中,将Com接口封装在Com包中。
其中Com接口是该系统主要功能的集合,Com可使用Unit,SQLclient包中的类。
Form包包括图形化界面,通过Com包引用。
通过Search类来实现查询功能,Sell类实现售票功能,包括售全价票与半价票,Refund实现退票功能,Alter实现修改功能,Count实现统计功能。
图5.4Unit抽象类图
图5.5Com接口抽象类图
图5.6系统包图
由于本系统中售票员是主要的操作者,因此需要明确售票员的状态。
图5.7售票员状态图
3.1登录模块
3.1.1功能
图5.8登录功能时序图
登录可分为系统管理员登录和售票员登录,在登录模块的描述中,将系统管理员和售票员都看作这个系统的用户,他们根据自己的登录名和密码登录系统,才可进行以后的操作。
若用户名和密码输入错误,不匹配,系统将会提示输入错误。
若用户名和密码不正确,用户可已重新输入,但只允许输入三次。
3.1.2性能
用户通过用户名和密码进入系统,可以确保系统的安全,由于系统管理员和售票员具有不同的权限,因此可以确保系统的权限分明。
3.1.3输入项目
用户输入用户名、密码,通过数据库的封装以下表格中。
表5—1售票员表
字段名
类型
长度
小数点
允许空
主/外键
工号
Char
3
主
姓名
Char
8
3.1.4输出项目
根据数据库中存在的表中信息来查询,判断用户名、密码是否正确,正确则显示登录成功信息,若用户名和密码不匹配则提示输入错误。
3.1.5算法
该模块通过访问数据库查询用户登录信息,提取用户输入的用户名和密码,封装成SELECT语句,到数据库中查询相关信息,将信息返回到用户界面。
若用户输入错误,弹出错误提示框。
3.1.6程序逻辑
图5.9登录功能流程图
3.1.7接口
该模块通过Com接口中的Search方法访问数据库,Com接口提供连接数据库的功能。
在售票模块中会调用此模块。
3.1.8存储分配
对数据库采取日志记录技术和海量转储技术,并定期进行数据库备份。
3.1.9限制条件
由于登录系统是需要用户名和密码,因此需要用户正确输入用户名和密码,并且是已经注册过的用户。
3.1.10测试要点
确认测试则是要检查已实现的系统软件是否满足了需求规格说明中确定了的各种需求,以及系统软件配置是否完全、正确。
系统测试,是将通过确认测试的软件,作为整个基于计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其他系统元素结合在一起,在实际运行环境下,对计算机系统进行一系列的组装测试和确认测试。
在登录模块中重点需要测试如下:
(1)输入数据有效性判定;
(2)有效数据输出测试,无效数据输出测试。
(3)系统安全性和反应速度进行测试,系统的稳定性要求
3.2查询模块
3.2.1功能
图5.10查询功能时序图
查询可分为按车次查询与站点查询,用户通过输入待查询车次或者站点查询车票的相关信息,包括票价,时刻,剩余票数等信息。
若用户输入的车次或者站点错误,系统会提示输入错误。
3.2.2性能
能够对乘客要求的大部分查询类型都能够查询,每个查询功能键都一目了然,能快速精确的显示要查询的信息。
要求单次的查询系统的处理时间在2秒以内。
3.2.3输入项目
车次号、站名
3.2.4输出项目
表5—2车辆表
字段名
类型
长度
小数点
允许空
主/外键
车次
Int
4
主
车型
Varchar
8
车厢数
Int
座位数
smallInt
2
表5—3时刻表
字段名
类型
长度
小数点
允许空
主/外键
车次
Varchar
5
主
始发站
Varchar
10
主
终点站
Varchar
10
发车时间
Datetime
8
到站时间
Datetime
8
停车时间
Datetime
8
通过车辆表信息和时刻表信息,系统可以输出车次号、站点、发车时间、到站时间、剩余票数等信息。
3.2.5算法
该模块通过访问数据库查询车票信息,提取用户输入的车次或者站名,封装成SELECT语句,到数据库中查询车票信息,将信息返回到用户界面。
若用户输入错误,弹出错误提示框。
3.2.6程序逻辑
图5.11查询算法流程图
3.2.7接口
该模块通过Com接口中的Search方法访问数据库,Com接口提供连接数据库的功能。
在售票模块中会调用此模块。
3.2.8存储分配
对数据库采取日志记录技术和海量转储技术,并定期进行数据库备份。
3.2.9限制条件
由于从查询到查看查询内容全部靠电脑完成,所以需要用户熟悉电脑的基本操作。
同时,系统中必须存在的人工处理过程,例如一些信息需要人工输入电脑。
3.2.10测试要点
确认测试则是要检查已实现的系统软件是否满足了需求规格说明中确定了的各种需求,以及系统软件配置是否完全、正确。
系统测试,是将通过确认测试的软件,作为整个基于计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其他系统元素结合在一起,在实际运行环境下,对计算机系统进行一系列的组装测试和确认测试。
在查询模块中重点需要测试如下:
(1)输入数据有效性判定;
(2)有效数据输出测试,无效数据输出测试。
3.3售票模块
3.3.1功能
图5.12售票功能时序图
根据旅客的需求如发车日期、发车时间、车票类型(学生票、军人票…)等,售票员查询相关的车票信息,选择用户所需要的车次,然后结算并打印车票给旅客。
3.3.2性能
查询车票精确,单次售票任务需要在25秒之内完成,系统的反应时间要求在3秒之内;保证36台机器同时运行该系统不会有过高延时。
3.3.3输入项目
车次、站点、日期
3.3.4输出项目
表5—4车票表
字段名
类型
长度
小数点
允许空
主/外键
票号
Int
4
主
乘车日期
Datetime
8
车次
Varchar
5
外
始发站名
Varchar
10
外
终点站名
Varchar
10
票价
Float
8
票类型
Char
2
座位号
smallInt
2
车厢号
smallInt
2
根据数据库中存放的车票表,显示车票信息、剩余票数等相关信息。
3.3.5算法
售票员输入顾客预购车票的相关信息,到数据库中查询是否有票,若有则打印火车票给顾客,数据库中改车次车票自动减去卖出的票数;若无则提示售票员车票已售完。
3.3.6程序逻辑
图5.13售票算法流程图
3.3.7接口
售票模块提供一个调用查询模块的接口,在Com包中定义。
3.3.8存储分配
对数据库采取日志记录技术和海量转存技术,并定期进行数据库备份
3.3.9限制条件
由于售票过程存在人工处理过程,需要售票员进行人工输入,因此对售票员有一定的专业要求,需要熟悉电脑的基本操作。
3.3.10测试要点
确认测试则是要检查已实现的系统软件是否满足了需求规格说明中确定了的各种需求,以及系统软件配置是否完全、正确。
系统测试,是将通过确认测试的软件,作为整个基于计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其他系统元素结合在一起,在实际运行环境下,对计算机系统进行一系列的组装测试和确认测试。
在售票模块中重点需要测试如下:
(1)查询数据的有效性
(2)正确打印出车票,票数正确
3.4退票模块
3.4.1功能
图5.14退票功能时序图
处理用户由于某种情况需要退回车票的情况,旅客要在车站指定的时间内进行退票,按照票款的80%退款。
超过指定时间,只能改签,不能退票。
3.4.2性能
及时的记录下所退回的车票,并快速精确的显示应交付给顾客的余额。
3.4.3输入项目
车票编号
3.4.4输出项目
表5—5退票表
字段名
类型
长度
小数点
允许空
主/外键
票号
Int
4
主
退票时间
Datetime
8
票价
Float
8
应退款
Float
8
根据数据库中存放的退票表信息,确认是否可以退票,如果可以退票则显示退票款,及其他相关内容。
并进行数据修改的操作。
3.4.5算法
售票员扫描顾客欲退车票的条形码,获得车票编号,售票员点击退票按钮,将车票编号交给退票控制器。
退票控制器到数据库中查询此票是否已售出,若匹配则点击确认退票,退票控制器会自动修改数据库,售票员返还退票款;若不匹配则会提示售票员此票未售出。
3.4.6程序逻辑
图5.15退票算法流程图
3.4.7接口
退票模块需要有与数据库交互的接口,通过Com包中的Connect方法来实现与数据库的连接。
3.4.8存储分配
对数据库采取日志记录技术和海量转储技术,并定期进行数据库备份
3.4.9限制条件
由于系统中必须存在人工处理过程,一些信息要人工输入电脑,例如条形码的扫描,因此需要用户熟悉电脑的基本操作,并且需要有扫描仪。
3.4.10测试要点
在退票完成之后,数据确认测试则是要检查已实现的系统软件是否满足了需求规格说明中确定了的各种需求,以及系统软件配置是否完全、正确。
系统测试,是将通过确认测试的软件,作为整个基于计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其他系统元素结合在一起,在实际运行环境下,对计算机系统进行一系列的组装测试和确认测试。
在退票模块中重点需要测试如下:
(1)库中的记录确定更改
(2)提示车票退票时限准确
3.5改签模块
3.5.1功能
图5.16改签功能时序图
乘客计划临时变更需要更改出发日期,或者退票不成功,可以选择改签服务。
售票员收回乘客车票,返还票款,收取手续费。
若乘客需要日期的票有剩余,则重新卖给乘客一张票;若票已售完,则退出。
3.5.2性能
保证数据库的一致,具有一定的及时更新能力。
3.5.3输入项目
车次、日期
3.5.4输出项目
警告提示、新车票
3.5.5算法
售票员扫描车票条形码,输入到改签界面,控制器进入数据库中确认该车票确实售出。
若确实售出,则返还退票款,并根据乘客需求另售一张指定日期车票;若没有售出,警告提示售票员。
3.5.6程序逻辑
图5.17改签算法流程图
3.5.7接口
改签模块需要调用售票模块的功能,由于两个功能均在一个Com包中,模块之间可以实现互相通信。
3.5.8存储分配
对数据库采取日志记录技术和海量转储技术,并定期进行数据库备份。
3.5.9限制条件
由于系统中必须存在人工处理过程,一些信息要人工输入电脑,例如条形码的扫描,因此需要用户熟悉电脑的基本操作,并且需要有扫描仪。
3.5.10测试要点
确认测试则是要检查已实现的系统软件是否满足了需求规格说明中确定了的各种需求,以及系统软件配置是否完全、正确。
系统测试,是将通过确认测试的软件,作为整个基于计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其他系统元素结合在一起,在实际运行环境下,对计算机系统进行一系列的组装测试和确认测试。
在改签模块中重点需要测试如下:
(1)在改签完成之后,数据库中的记录确定更改
(2)提示车票改签时限准确
3.6修改统计模块
3.6.1功能
图5.18修改功能时序图
系统管理员通过该模块修改需要变更的车次信息,包括车次修改、票价修改、站点修改。
车次修改包括增加车次,减少车次,车次的临时调度和由于自然灾害造成的临时路线更改。
票价修改为节假日、春运等特殊时段或某些特殊地域需要适量增加或减少票价,具体数字有铁路管理定。
站点修改可是某些车次增加或减少一些站点。
图5.19统计功能时序图
车票统计主要是统计车票的销售情况以及销售额等。
同时通过车票统计还可得知不同日期车流量的情况,列车管理人员可以根据客流的流向随时调整列车运行车次,达到列车的合理调度,使列车最大限度的投入使用中,实现资源的合理利用。
3.6.2性能:
修改模块需要最高的权限,非最高权限人不可修改数据库数据;统计需要较高的可靠性,保证数据的完整性,数据需要定时备份。
3.6.3输入项目
站点、时刻、车次、日期
3.6.4输出项目
报表、修改统计成功提示
3.6.5算法
管理员输入欲修改的车次,提交给控制器,控制器根据管理员输入的信息进入数据库修改相关表数据,修改成功返回给管理员成功修改提示。
售票员将要统计的车次号输进到统计界面,控制器提取数据,进入数据库查询统计表,返回给售票员,售票员根据车次的售票情况作出销售额、客流情况统计表。
3.6.6程序逻辑
图5.20统计算法流程图
3.6.7接口
两个方法均封装在Com包中,可以通过Com包的Connect方法连接数据库,并使用SQL语句进行查询或者修改数据库的操作。
3.6.8存储分配
对数据库采取日志记录技术和海量存储技术,并定期进行数据备份
3.6.9限制条件
由于统计过程需要对数据库进行操作,并且需要经常备份数据库,因此需要用户熟悉SQLserver2005的操作,并能进行日常的数据库维护。
3.6.10测试要点
确认测试则是要检查已实现的系统软件是否满足了需求规格说明中确定了的各种需求,以及系统软件配置是否完全、正确。
系统测试,是将通过确认测试的软件,作为整个基于计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其他系统元素结合在一起,在实际运行环境下,对计算机系统进行一系列的组装测试和确认测试。
在修改统计模块中重点需要测试:
修改过程中输入数据要正确有效。
3.7系统管理维护模块
3.7.1功能
图5.21添加用户功能时序图
图5.22删除用户功能时序图
查票销售管理系统涉及数据库以及局域网,数据庞大,对数据要求高。
因此需要专门的人员进行维护与管理。
该模块实现管理员对系统数据库的维护,以及对数据库的定期备份,同时通过此模块添加或删除用户,并授予相应权限。
3.7.2性能
要求较高安全性与可靠性
3.7.3输入项目
用户编号、姓名、授予权限、备份时间
3.7.4输出项目
日志文件、备份文件、添加成功提示、删除成功提示
3.7.5算法
管理员输入欲添加的用户的编号与姓名等,控制器提取数据,并将其添加到数据库中的员工表中,并返回添加成功界面。
管理员输入欲删除的用户信息,控制器提取数据,进入数据库删除该用户所有信息,返回删除成功界面。
3.7.6程序逻辑
图5.23添加用户算法流程图
图5.24删除用户算法流程图
3.7.8存储分配
对数据库采取日志记录技术和海量转储技术,并定期进行数据库备份。
3.7.9限制条件
由于统计过程需要对数据库进行操作,并且需要经常备份数据库,因此需要用户熟悉SQLserver2005的操作,并能进行日常的数据库维护。
3.7.10测试要点
确认测试则是要检查已实现的系统软件是否满足了需求规格说明中确定了的各种需求,以及系统软件配置是否完全、正确。
系统测试,是将通过确认测试的软件,作为整个基于计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其他系统元素结合在一起,在实际运行环境下,对计算机系统进行一系列的组装测试和确认测试。
在系统管理维护模块中重点需要测试如下:
(1)添加人员与删除人员的信息无效的处理
(2)用户的授权控制
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 详细 设计 说明书