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