1、 票务信息管理系统 软件设计说明书 目录 1. 介绍 1 1.1 目的 1 1.2 范围 1 1.3 定义、缩写词 1 1.4 内容概览 1 2. 系统要达到的目标和限制 2 3. 用例视图 2 3.1 系统用例图 3 3.2 时间日期查询 3 3.3 车次日期查询 4 3.4 订票 5 3.5 提出改签申请 6 3.6 进入改签系统 7 3.7 输入退票票务类型 8 3.8 输入退票票务信息 9 3.9 办理退订 10 3.10 管理员登录系统 11 3.11 管理业务数据 12 3.12 管理员余票信息处理 13 3.13 铁路调度更新 1
2、4 4. 逻辑视图 16 4.1 总览 16 4.2 主要Package的介绍 16 5. 部署视图 18 6. 数据视图 19 7. 规模和性能 19 8. 质量 20 软件设计说明书 1. 介绍 1.1 目的 本说明书在概要设计的基础上,对票务信息管理系统的各模块、程序、子程序分别进行了实现层面上的要求和说明。 软件开发的产品实现成员应该阅读和参考本说明进行代码的编写、测试。 本详细设计说明书的预期读者为在以后对本系统进行扩展及维护的人员和对本系统感兴趣的其他人员。 1.2 范围 包括对车票的订购、退订和改签,对顾客信息的记录等 。 1.3 定
3、义、缩写词 MySQL:一个小型关系型数据库管理系统。 Java:由Sun Microsystems公司于1995年推出的Java程序设计语言和Java平台的总称。 JSP:JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。 Struts:一种开源软件。 MVC:三个单词的缩写,分别为:模型(Model),视图(View)和控制Controller)。 1.4 内容概览 ² 登录系统 订票员和管理员输入编号和密码登录本系统,通过验证后进入系统进行操作。 ² 查询模块 ①车次号/日期查询:系统
4、根据订票员输入的顾客给出的具体的车次号和出发日期查询车票。 ②出发/到达地查询:系统根据订票员输入的顾客给出的出发地、到达地、出发时间和日期查询符合条件的所有车票。 ² 订购模块 ①订票:系统查询到顾客需要的机票并且顾客决定订票后,订票员给系统发送一个订票的指令,系统处理订票信息的模块。 ②退票:系统接收到订票员发送的退票指令和所退票的基本信息后,根据车票日期是否过期来决定是否受理退票。若车票过期,系统不予处理并反馈一个“票已过期”的信息;若车票没过期,则系统执行退票指令。 ③改签:系统收到改签指令后首先进入“退票模块”判断是否满足退票条件,若不满足退票条件,系统不予处理并反馈一个“
5、票已过期”的信息;若满足退票条件,则执行完退票指令后自动跳转到“查询模块”重新办理订票。 ² 管理模块 本系统的管理员通过输入管理员编号和密码登陆数据库,经过系统验证后进入数据库,之后根据国家公布的最新的铁路客运表对本系统数据库中储存的车次信息进行增加、修改和删除等操作。 ①增加:管理员根据国家公布的最新的铁路客运表,将新增的车次添加到本系统的数据库中。 ②修改:管理员根据国家公布的最新的铁路客运表,将有变动的车次进行修改。 这篇文档使用一系列视图反映系统架构的某个方面; 用例视图:概括了架构上最为重要的用例和它们的非功能性需求; 逻辑视图:展示了描述系统关键方面的重要用例实现场
6、景(使用交互图); 部署视图:展示构建在处理节点上的物理部署以及节点之间的网络配置(使用部署图); 数据视图:描述了数据流、持久性数据模式、对象与持久性数据之间的模式映射、对象到数据库、存储过程以及触发器的映射机制(使用类图描述数据模型,活动图表示数据流)。 2. 系统要达到的目标和限制 Ø 目标 订票员可以登录票务系统,进行票务的预定,改签,退票等手续,具有一级权限,但不能对票务数据库进行修改管理员正确登录后可以修改数据库余票信息,调度车辆等等+ Ø 限制 订票员和管理员的界面分开,订票员不能修改逻辑上不能修改的信息; 管理员不能修改用户密码,还有同级别的管理员的信息。 3
7、 用例视图 票务管理系统描述的主要用例有:时间日期查询,车次日期查询,订票,提出改签申请,进入改签系统,办理退订,输入票务类型,输入车次信息,办理退订,管理员登录系统,管理业务数据,管理员余票信息处理,铁路调度更新 3.1 系统用例图 系统用例图见图4.1: 图4.1 系统用例图 3.2 时间日期查询 3.2.1 用例简述 订票员在选择日期时,可以判定是否在预售期内 3.2.2 基本事件流 1 顾客:输入日期 2 系统:检索判定日期是否在预售期内; 3 系统:显示日期在页面上 4 顾客:选择此日期 5 系统:确定日期; 6 用例结束 3.2.3
8、 活动图 时间日期查询的活动图见图4.2 图4.2 商时间日期查询的活动图 3.3 车次日期查询 3.3.1 用例简述 在订票员输入顾客需要的车次时,系统判定是否该日期内有售。 3.3.2 基本事件流 1 顾客:在车次输入界面输入所需车次; 2 系统:在系统中检索此日期的车次,判定是否在所需日期内 3 系统:把检索条件相符的车次数据显示在页面上; 4 顾客:选择此车次 5 系统:确定车次 6 用例结束 3.3.3 活动图 车次日期查询的活动图见图4.3 图4.3 车次日期查询的活动图 3.4 订票 3.4.1 用例简述 票务数据库检索所剩
9、票务并显示订票信息。 3.4.2 基本事件流 1 顾客:选择座位 2 系统:检索数据库是否有座位 3 系统:判定数据库是否有座位 4 系统:随机分配座位 5 顾客:选择是否需要座位 6 系统:预留座位并从数据库移除此座位 7 用例结束 3.4.3 活动图 座位查询的活动图见图4.4 图4.4 座位查询的活动图 3.5 提出改签申请 3.5.1 用例简述 对于提出改签申请的用户进行改签登记申请 3.5.2 基本事件流 1 系统:进入改签界面 2 顾客:输入改签车票基本信息; 3 系统:检索该车票是否可以改签; 4 系统:判定可以
10、改签,进入改签界面; 5 用例结束。 3.5.3 活动图 提出改签申请的活动图见图4.5 图4.5 提出改签申请的活动图 3.6 进入改签系统 3.6.1 用例简述 进入改签系统对车票进行改签 3.6.2 基本事件流 1 顾客:提交改签车票类型,座位号; 2 系统:检索车票数据库,是否有余票 3 系统:判定有余票后进入车票选择界面 4 顾客:选择车票座位 5 系统:预留座位号; 6 系统:反馈票务信息数据库并修改票务信息 7 用例结束。 3.6.3 活动图 进入改签系统的活动图见图4.6 图4.6 进入改签系统的活动图 3.7 输
11、入退票票务类型 3.7.1 用例简述 订票员退票,退票信息的录入 3.7.2 基本事件流 1 系统:进入退票界面 2 顾客:输入退票车票基本信息; 3 系统:检索该车票是否可以退票; 4 系统:判定可以退票,进入退票界面; 5 用例结束。 3.7.3 活动图 输入退票票务类型的活动图见图4.7 图4.7 输入退票票务类型的活动图 3.8 输入退票票务信息 3.8.1 用例简述 在申请退票成功后,输入退票票务信息等,办理退票手续录入。 3.8.2 基本事件流 1 系统:进入系统退票信息输入界面 2 顾客:提交退票车票的类型,座位号,车站等信息
12、 3 系统:将信息进行统计,上传至余票数据库 4 结束用例。 3.8.3 活动图 输入退票票务信息的活动图见图4.8 图4.8 输入退票票务信息的活动图 3.9 办理退订 3.9.1 用例简述 顾客退出系统。 3.9.2 基本事件流 1 系统:进入退票界面; 2 系统:询问是否退票; 3 顾客:确定退票 4 系统:将退票信息上传至票务数据库 5 系统:显示退票成功界面 3.9.3 活动图 退票办理的活动图见图4.9 图4.9 退票办理的活动图 3.10 管理员登录系统 3.10.1 用例简述 管理员登陆系统 3.1
13、0.2 基本事件流 1 系统:进入管理员登陆界面 2 系统:显示输入密码框; 3 顾客;输入密码 4 系统:判定密码是否正确; 5 系统:密码正确,进入管理员页面; 6 用例结束。 3.10.3 活动图 管理员登录系统的活动图见图4.10 图4.10管理员登录系统的活动图 3.11 管理业务数据 3.11.1 用例简述 顾客查看购物车中的商品。 3.11.2 基本事件流 1 系统:管理员验证正确 2 管理员:修改票务信息,票务改签等; 3 系统:修改完成后推出登陆界面 3.11.3 活动图 管理业务数据的活动图见图4.11 图4.11管
14、理业务数据的活动图 3.12 管理员余票信息处理 3.12.1 用例简述 顾客准备将购物车中的商品进行结账。 3.12.2 基本事件流 1 系统:显示管理员登陆界面 2 管理员:对系统票务进行调度输入; 3 系统:退票系统统计管理 4 系统:上传修改后数据至数据库; 5 用例结束。 3.12.3 活动图 管理员余票信息处理的活动图见图4.12 图4.12管理员余票信息处理的活动图 3.13 铁路调度更新 3.13.1 用例简述 管理员在输入剩余票数和需求票数后,系统自动判定是否需要增加车辆,有管理员决定后反馈数据库 3.13.2 基本事件流 1
15、 系统:登陆界面并提示输入密码 2 管理员:输入密码 3 系统:判定密码正确; 4 系统:进入调度界面。 5 管理员:输入改签,退票及火车票销售情况,提交系统 6 系统:计算并协调调度 7 系统:将计算结果反馈到管理员界面 8 管理员:确认信息并判断是否增加车辆 9 系统:反馈至数据库 10 用例结束 3.13.3 活动图 铁路调度更新的活动图见图4.13 图4.13 铁路调度更新的活动图 4. 逻辑视图 逻辑视图部分主要叙述了设计阶段的工作。 4.1 总览 图5.1的领域模型是票务管理系统系统的设计实体及其之间的关系; 图5.
16、1 领域模型 4.2 主要Package的介绍 票务管理系统系统Package图见图5.2 图5.2 票务管理系统Package图 Ø Webapp Webapp包包含了action、form包,它们属于显示层的代码,主要使用struts框架。 Ø Service Service包包含了业务实现的主要接口,每个接口有一个对应的serviceImpl的实现,serviceImpl类放在serviceImpl包中,其中serviceImpl的实现是通过调用dao接口来实现的,它们属于业务层的代码,主要使用spring框架。 Ø Dao Dao包包含了业务实现的主要接口,每个接
17、口都有一个对应的Hibernate版本的daoHibernate的实现,daoHibernate类放在daoHibernate包中,通过daoHibernate对数据库进行访问,它们属于持久层的代码,主要使用Hibernate框架。 Ø Model Model包包含了POLO类和Hibernate映射文件。 Ø Search Serach包包含了对页面进行处理的一些比较复杂的显示操作。 Ø util util包包含了一些常用的操作,如时间转换、字符串转换等。 Ø admin admin包包含了属于管理员操作的webapp、service、serviceImpl、dao、daoH
18、ibernate、model等包,这些包的关系同上。 Ø user user包包含了属于管理员操作的webapp、service、serviceImpl、dao、daoHibernate、model等包,这些包的关系同上。 5. 部署视图 部署视图描述了如何将具体软件制品分配到计算节点 (具有处理服务的某种事物) 上,表示了软件元素在物理架构上的部署,以及物理元素之间的通信。 票务管理系统的部署视图见图7.1 图7.1 票务管理系统的部署视图 Ø Generic PC 普通的个人计算机。 Ø Web Browser 通用个人计算机上的网页浏览器,如:IE6.0,Fire
19、fox等。 Ø Apache Web服务器,可以运行在所有广泛使用的计算机平台上。 Ø Struts 一个为开发基于模型-视图-控制器模式的应用架构的开源框架,是利用Java Servlet和JSP构建Web应用的一项非常有用的技术。事件从客户端(浏览器)由用户操作出发的事件,Struts使用Action来接受浏览器表单提交的事件。 Ø Tomcat 6.0 Tomcat 6.0提供Servlet容器。 Ø Hibernate Hibernate提供对象关系映射框架,对JDBC进行了非常轻量级的对象封装,使得可以使用对象编程思维来操纵数据库,完成数据持久化。 Ø MySQL MySQL是小型关系型数据库管理系统,其体积小、速度快、总体拥有成本低,开放源码数据库。 6. 数据视图 票务管理系统数据在关系数据库中的组织。票务管理系统的数据视图见图8.1 图8.1 票务管理系统的数据视图 7. 规模和性能 Ø 满足的规模 能够满足10w人同时运行程序,20人同时进行有关数据库的操作。 Ø 满足的性能 能够满足让顾客可以认同的相应时间。 8. 质量 系统正式使用时,登录、注册、订票、退票、改签、生产订单的流程正常。






