您的位置  > 互联网

专业学习资料-车站售票管理系统—详细设计说明书

通过描述生成的功能模块的过程,并开发出可以直接转换为编程语言的软件标识符,软件设计者可以很好地理解软件的功能,并对软件的各个模块有更深入的了解。 本手册在总体设计的基础上,对车站售票管理系统的各个模块、程序、子系统给出了实现级的需求和描述,为后续的实施和测试做好准备,测试系统的性能。 指标、缺陷及时发现并修复。 主要读者:程序员、项目负责人、测试人员 1.2 项目背景 调试单位:火车站 开发单位:内蒙古工业大学 软件工程系:内蒙古工业大学计算机系 开发人员:****1.3 时序图的定义:也称为序列图,或顺序图,是 UML 行为图的一种。 它通过描述对象之间发送的消息的时间顺序来显示多个对象之间的动态协作。 它可以表示用例的行为序列。 当执行用例行为时,序列图中的每条消息对应于导致状态机中的转换的类操作或触发事件:它包含与数据库(包括某些数据库)的专门操作相关的类。 运算所需的常用数据,如数据表、数据行等:多个类的集合 1.4 参考文献[1]-88. 软件设计文档国家标准-详细设计说明[2]张海帆. 《软件工程》导论(第五版)清华大学出版社 [3]吴健,郑超,王杰. 《UML基础知识及Rose建模案例》人民邮电出版社[4]徐光辉,金凤林等《软件工程方法与实践》机械工业出版社[5]车站售票管理系统-可行性研究报告[6]车站售票管理系统-项目开发计划 [7] 车站售票管理系统-需求规范 [8] 车站售票管理系统-概要设计规范 2. 总体设计 2.1 需求概述 火车站售票管理系统主要实现票务自动化,包括售票、订票等、退款、查询、统计。 为了保证系统的正常运行,需要专门的人员对系统进行维护和管理。

(1)登录:登录可分为系统管理员登录和售票员登录。 在登录模块的描述中,系统管理员和售票员均被视为本系统的用户。 他们可以根据自己的登录名和密码登录系统。 进行进一步的操作。 如果用户名和密码输入错误且不匹配,系统将提示输入错误。 如果用户名和密码错误,用户可以重新输入,但最多只能输入3次。 (2)查询:查询分为车次查询、站点查询、时刻表查询、票价查询和剩余车票查询。 车次查询提供所有车次浏览、车次查询、车站查询。 用户可以查询列车经过的车站以及发车时间等信息。 时刻表查询可以查询各站各列车的发车时间和到达时间。 票价查询允许用户根据自己的需要查询所有列车的票价; 剩余车票查询可以查询所有列车的剩余车票; (3)售票:根据旅客的需求,如出发日期、出发时间、车厢类型、车票类型(学生票、军票……)等,选择用户需要的列车,然后结算并打印车票给乘客。 (4)订票:由售票点授权或具有一定信誉的票务代理机构代旅客订票。 票务代理可以通过电话或亲自到售票点订票。 (5)退票:处理用户因某些情况需要退票的情况。 旅客必须在车站规定的时间内退票。 此外,车站售票处还会扣除一定的手续费。

(6)统计:可按日期、车次、客流方向等统计方式进行车票销售统计。 通过查看车票流向,可以了解大致的客流情况。 列车管理人员可以根据旅客流量随时调整列车运行。 列车数量可以实现列车的合理调度,使列车最大限度地投入使用,实现资源的合理利用。 (7)修改:包括车次修改、票价修改、车站修改。 列车时刻表修改包括增加列车时刻表、减少列车时刻表、临时列车时刻表以及因自然灾害而临时改变线路等。 票价调整是指在节假日、春运等特殊时期或某些特殊区域,票价适当增减。 具体数字由铁路管理部门确定。 站点修改意味着添加或删除某些列车的一些站点。 (8)系统管理和维护:管理员通过系统添加用户或删除用户、授予权限、维护数据库,保证系统的正确运行。 2.2 软件结构图 5.1 系统功能层次图 1、主要功能:完善火车票销售系统,方便铁路局的售票工作,提高铁路局的服务质量和服务效率。 2、绩效要求:火车站提供的信息必须及时反映在铁路局工作平台上。 票务系统订单必须无误地存储在火车站的主服务器上。 服务器上的数据必须及时、正确地刷新。 3、输入要求:数据完整、详细。 4、输出要求:简单、快速、实时。 5、安全保密要求:售票员有权管理和修改火车站车票信息数据库和列车信息数据库。

旅客仅有权对客票信息数据库进行部分修改(写入和读取)。 本系统仅供火车站内部使用,因此采用C/S架构开发。 同时,需要利用局域网技术实现客户端之间的互连,实现数据共享,还要求彼此之间的操作互不影响。 同一张火车票只能由一个客户端销售,这是使用线程同步实现的。 服务器数据库 数据库框图 5.2 系统结构图 3. 程序描述 通过需求分析和概要设计,可以画出火车站售票系统的类图。 系统主要包括四个基本类别:售票员、火车票、管理员、购票者。 购票者向售票员提出请求。 购票者具有请求购票、请求查询、请求订票、请求退票、请求改签等功能。 售票员与购票人沟通后了解购票人的请求信息,进入系统进行操作。 售票员和管理员都需要操作火车票。 同时,管理员需要录入员工信息并维护数据库。 图5.3 系统类图 通过对上述系统类图进一步抽象,可以得到系统的抽象类图,这样在讨论接口问题时,可以更加清晰明确。 系统主要抽象了3个类和1个接口,将3个类封装到Unit包中,将Com接口封装到Com包中。 Com接口是系统主要功能的集合。 Com可以使用包中的Unit和类。

Form包包含图形界面,通过Com包引用。 通过类实现查询功能,Sell类实现门票销售功能,包括销售全价票和半价票,以及退款功能,Alter实现修改功能,Count实现统计功能。 图5.4 Unit抽象类图 图5.5 Com接口抽象类图 图5.6 系统封装图 由于售票员是本系统的主要操作者,因此售票员的地位需要明确。 图5.7 售票员状态图 3.1 登录模块 3.1.1 功能框图 5.8 登录功能时序图 登录分为系统管理员登录和售票员登录。 在登录模块的描述中,系统管理员和售票员均被视为本系统的用户。 ,可以根据登录名和密码登录系统,然后进行后续操作。 如果用户名和密码输入错误且不匹配,系统将提示输入错误。 如果用户名和密码错误,用户可以重新输入,但最多只能输入3次。 3.1.2 性能 用户可以通过用户名和密码进入系统,保证系统的安全。 由于系统管理员和售票员的权限不同,可以保证系统的权限清晰。 3.1.3 通过下表的数据库封装输入项目用户的用户名和密码。 表5-1 导体表字段名称类型长度小数点允许为空主/外键工作号Char3 主名称。 1.4 根据数据库中已有的表信息查询输出项,判断用户名和密码是否正确。 如果正确,则登录成功。 信息,如果用户名和密码不匹配,会提示输入错误。

3.1.5 算法 该模块通过访问数据库查询用户登录信息,提取用户输入的用户名和密码,封装成语句,查询数据库相关信息,并将信息返回给用户界面。 如果用户输入错误,会弹出错误提示框。 3.1.6 程序逻辑图 5.9 登录功能流程图 3.1.7 接口 该模块通过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 车辆表字段名称类型长度 小数点允许为空 主/外键车次 Int4 主车号 车厢号 Int 座位数 表 5-3 时刻表字段名称 类型 长度 小数点 允许空主/外键车次 主始发站 主终点站 发车时间 8 到达时间 停车时间 通过车表信息和时刻表信息,系统可输出车次、站点、出发时间、到达时间,以及剩余门票等信息。 3.2.5 算法 该模块通过访问数据库查询车票信息,提取用户输入的车次或站名,封装成语句,查询数据库中的车票信息,并将信息返回给用户界面。 如果用户输入错误,会弹出错误提示框。 3.2.6 程序逻辑图 5.11 查询算法流程图 3.2.7 接口 该模块通过Com 接口中的方法访问数据库,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 车票表字段名称 类型 长度 小数点允许为空 主/外键车票号 Int4 主乘车日期 除始发站名以外的车次 目的地车站名称 价格 车票类型 Char2 座位号 车厢号 根据数据库中存储的车票表,显示车票信息、剩余车票张数等相关信息。

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 退票表字段名称 类型 长度 小数点 允许为空 主/外键票号 Int4 主退票时间 票价应退 根据数据库中存储的退票表信息、确认机票是否可以退款,如果可以,会显示退款金额等相关内容。 并执行数据修改操作。 3.4.5 算法 售票员扫描顾客要退票的车票条码,获取票号。 售票员点击退款按钮并将票号交给退款控制器。 退款控制器检查数据库以查看机票是否已售出。 如果匹配,请点击确认退款。 退款控制器自动修改数据库,售票员退回退款; 如果不匹配,则会提示售票员该票尚未售出。 3.4.6 程序逻辑图 5.15 退款算法流程图 3.4.7 接口 退款模块需要一个与数据库交互的接口,与数据库的连接是通过Com包中的方法实现的。 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 测试要点确认测试是检查所实施的系统软件是否满足需求说明书中确定的各项要求,系统软件配置是否完整、正确。 系统测试是将通过确认测试的软件作为整个计算机系统的一个要素,并将其与计算机硬件、外围设备、某些支持软件、数据和人员等其他系统要素相结合,对软件进行测试在实际运行环境中。 计算机系统经过一系列组装测试和验证测试。 改签模块测试要点如下: 改签完成后,数据库中的记录确认更改并提示改签时限准确 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封装的方式连接数据库,并使用SQL语句查询或修改数据库。 3.6.8 存储分配数据库采用日志记录技术和海量存储技术,并定期进行数据备份。 3.6.9 限制 由于统计过程需要对数据库进行操作,需要对数据库进行频繁的备份,因此用户需要熟悉SQL 2005 的操作,并能进行日常的数据库维护。

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限制由于统计过程需要数据库操作和频繁的数据库备份,因此用户需要熟悉SQL 2005的操作,并能够执行每日数据库维护。 3.7.10测试关键点确认测试是检查实现的系统软件是否满足需求规范中确定的各种要求,以及系统软件配置是否完整而正确。 系统测试是使用已通过确认测试作为整个基于计算机系统的元素的软件,并将其与其他系统元素(例如计算机硬件,外围设备,某些支持软件,数据和人员)结合使用来测试软件在实际操作环境中。 计算机系统经过一系列的组装测试和验证测试。在系统管理和维护模块中,需要测试的要点如下:添加和删除人员的信息无效,并且用户的授权控制是处理。