基于NET技术的铁路客票发售和预订系统的设计与实现.docx
- 文档编号:4759334
- 上传时间:2022-12-08
- 格式:DOCX
- 页数:29
- 大小:431.89KB
基于NET技术的铁路客票发售和预订系统的设计与实现.docx
《基于NET技术的铁路客票发售和预订系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于NET技术的铁路客票发售和预订系统的设计与实现.docx(29页珍藏版)》请在冰豆网上搜索。
基于NET技术的铁路客票发售和预订系统的设计与实现
学校编码:
15014分类号密级
学号:
08011270211UDC
本科毕业论文(设计)
基于.NET技术的铁路客票发售和预定系统
的设计与实现
学生姓名:
王海龙
所属院部:
计算机与信息工程学院
专业:
计算机科学与技术
指导教师:
张亚鹏
2013年5月24日
赤峰学院本科毕业论文(设计)原创性声明
兹呈交的毕业论文(设计),是本人在导师指导下独立完成的研究成果。
本人在论文(设计)写作中参考的其他个人或集体的研究成果,均在文中以明确方式标明。
本人依法享有和承担由此论文(设计)而产生的权利和责任。
声明人(签名):
指导教师(签名):
年月日
基于.NET技术的铁路客票发售和预订系统的设计与实现
王海龙
赤峰学院计算机与信息工程学院,赤峰024000
摘要:
基于.NET技术的铁路客票发售和预订系统是以客票数据处理和运行计划为中心的应用系统。
通过该系统的开发与使用可以大幅度提高铁路客运票务处理的效率,为旅客提供了较高质量的服务。
本文首先进行了系统的需求分析,以实际铁路客运模式为依据,根据用户体验调查、相关参考文献以及自己的研究,再进行详细的分析汇总得出需求。
根据以上需求及软件工程设计要求对铁路客票发售和预订系统进行了分析和设计,该系统采用C/S与B/S并行结构并基于同一数据库,运用面向对象思想设计,确定了该系统的总体功能,包括客票系统维护功能、车站售票取票功能以及网上订票功能。
关键词:
客票发售和预订;C/S;B/S;.NET
1引言
随着时代的进步,铁路事业的不断完善,铁路客运在交通运输中占有的比重越来越大,铁路客票的发售工作成为铁路客运的首要任务。
进入二十一世纪以来,计算机技术飞速发展,各行各业都在应用计算机进行工作管理,正是如此,以前繁重的人工客票管理模式再也不能胜任了,取而代之的是由计算机技术和数据库技术融合而成的计算机系统,再加上美国微软公司(Microsoft)推出了Microsoft.NET平台,那么基于.NET技术的铁路客票发售和预订系统就应运而生了。
1.1选题背景
计算技术和数据库技术应用在铁路客票中已经有很多年了。
从1997年铁道部采用软纸式的火车票开始,就使用计算机进行制票,这时的车票的订购也仅仅局限于同一个铁路局内,不能进行联网售票,购票的途径仅仅局限在火车站的售票窗口,如今这种模式无法满足巨大的客运量的需求;后来售票系统再次升级,实行了铁路联网售票,也就是说你可以在任何一个售票窗口购买可以联网销售的火车票,这极大的解决了无法购买异地车票的问题;到了2011年底,购票更加便捷,电话订票、互联网售票都是比较好的方式。
下面认识一下.NET平台。
.NET是MicrosoftXMLWebservices平台,XMLWebservices允许应用程序通过Internet进行通讯和共享数据,而不管所采用的是哪种操作系统、设备或编程语言,Microsoft.NET平台提供创建XMLWebservices并将这些服务集成在一起之所需,对个人用户的好处是无缝的、吸引人的体验[1]。
那么运用.NET技术是否也可以开发一个全新的售票系统呢?
答案是肯定。
1.2选题意义
在信息化技术已经普及的今天,计算机技术和数据库技术在铁路客票行业的应用可以极大地提高铁路客运业务的效率,减轻了传统客票处理方式所带来的繁重的人工工作量,而且这些新技术的应用还给旅客带来极大的便利,为推动社会的发展做了极大的贡献。
基于.NET技术的铁路客票发售和预订系统就是本着这一宗旨而开发的。
基于.NET技术的铁路客票发售和预订系统是以火车票发售和互联网售票为主的综合性系统,该系统是将火车票信息以及基础信息存储在数据库中,数据库数据与服务器端的业务逻辑系统的合作处理对外提供客票服务业务,由于数据的存储和业务的处理均由计算机系统和数据库系统控制,所以系统运行效率高,数据处理准确,为铁路的客运业务的运行提供了巨大的帮助。
通过该项目的开发与使用,可以提高铁路客运效率,为推动铁路运输行业乃至整个运输行业的发展做出巨大而卓越的贡献。
2基于.NET技术的铁路客票发售和预订系统的概述
基于.NET技术的铁路客票发售和预订系统主要用在铁路客运行业,中心功能是客票信息生成和售票,该系统主要包括以下几个子系统:
客票系统维护端、车站客票客户端、客票预定网站、综合服务器端等这几部分。
其中客票系统维护端的功能是对整个系统的基础信息的管理和运行参数的配置,车站客票客户端是在车站售票窗口为旅客提供购票、取票、改签、退票等服务,客票预定网站主要为旅客提供在线的客运信息查询、购票、改签、退票和用于购票的用户基础信息管理等功能,最后,综合服务器端负责为该系统的C/S客户端部分提供数据处理部分支持以及整个系统的数据库支持等,它是铁路客票发售和预订系统的核心部分。
该系统应该满足以下几个目标:
(1)无论旅客在车站窗口还是客票预订网站都可以获得购票、改签、退票等功能,而且在车站窗口应获得取票、现金退票功能,在客票预定网站应实现网银退票功能。
(2)客票系统维护端应实现该系统所有基础信息维护功能、各种业务计划维护以及客票预订网站管理等功能。
服务器端应为各系统提供数据信息的支持服务,以及数据库的管理功能。
(3)系统应稳定运行,对特殊数据应进行安全管理。
总体安全应为最高级别。
3基于.NET技术的铁路客票发售和预订系统的分析
3.1系统分析
3.1.1系统可行性分析
通过对二道湾火车站和广大旅客的调查得到,人们对软件的要求不仅仅是实现功能就可以,还希望有很好的用户体验效果。
传统的铁路客票系统,不能直观可见整体业务操作流程,不能为用户提供人性化的操作感受。
并且随着信息技术的发展,铁路部门希望能使用到信息技术带来的高效、方便的客票系统,更是为了旅客可能有一个很好出行体验,这就需要铁路客票发售和预订系统的运营与支持,不仅要对客票业务有一个高效快捷的处理,还要有一定计划执行与数据安全保障的能力。
本系统对前期收集的客户需求和技术资料进行了详细分析和总结做出符合铁路行业业务要求的软件需求分析,确定设计目标是操作快捷、简单易学,用户只需具备简单的计算机操作水平,经过2~3小时的对系统的熟悉和1~2天的日常业务操作就可达到熟练的操作的水平,本系统有很强的查询功能,给旅客提供很好的客运查询服务。
本系统是按照铁路客运部门的客运流程和实际旅客的需要而完成该系统。
3.1.2业务流程分析
业务流程分析是对业务功能的进一步细化,细化的结果就是业务流程图。
业务流程图反映了实际业务执行的状态。
它不仅是系统开发者进行更为深入系统分析的依据,也是开发者、维护者、用户行沟通的工具。
应在业务流程图上绘出能够由计算机具体实现的部分,明确系统之间的关系,使计算机处理部分与人工业务处理部分的分工明确,分析业务流程是否达到需求,删除重复的、不合理的部分,呈现出一个清晰的业务流程,为以后的系统分析与软件设计打下良好的基础。
[2]
图1订票网站业务流程图
图2客票系统维护端业务流程图
图3车站售票客户端业务流程图
为了直观的反映系统的运行流程,以及哪些角色的用户可以执行的功能,图1、图2和图3是整个系统的用户包括旅客、售票员和管理员的业务流程图。
3.2软件需求分析
3.2.1功能需求
(1)系统维护功能
●客运段信息维护,包括对客运段的名称和隶属铁路局的增删改查。
●车站信息维护,包括对车站的名称和隶属客运段的增删改查。
●线路信息维护,包括对线路的名称以及线路各车站里程、顺序编号的维护。
●车底信息维护,包括列车车底的分层标志、座席类型、定员数量和空调有否标志的维护和车底的增删改查。
●车次信息维护,包括采用该车次的的计划执行、计划结束日期、不同车次但同一趟列车标志、隶属客运段和采用列车编组编号的维护和车次的增删改查。
●运行计划维护,包括车次运行途径车站、发站时间、到站时间、到站序号、运行里程、计划开始日期、计划结束时间等。
●列车编组的维护,包括编组编号、车厢号、空调标志、车厢定员数量、座席类型、分层标志、座席类型等。
●票额分配计划维护,包括计划执行的时间范围、沿途各车站票额分配情况,坐席分批范围。
●管理员信息维护,对管理员信息及权限维护。
●财务清算,各种财务统计。
●无效信息处理,过期车票的处理维护。
●密码维护,密码修改。
(2)售票员售票功能
●售票员登录系统,售票员需要输入账户名及口令,经系统身份验证通过后进入系统主界面。
●售票员售票,可以依据发车日期、车次、发站、到站等信息查询是否有车票,若有余票,可以出售成人、学生票、儿童票、残疾人票和联程票,并打票。
●取票,售票员可以根据旅客提供的订单号及有效证件取票。
●改签,售票员可以根据旅客要求更换乘车日期和车次。
●密码修改,售票必须提供原密码、新密码才可以修改登录密码。
(3)旅客在售票网站的功能
●注册系统,没有帐号的旅客可以填写真实信息注册系统。
●登录系统,旅客凭帐号密码可以登录系统,若忘记密码可以用提示问题。
●旅客可在网站购买成人、学生票、儿童票、残疾人票。
●乘车人信息维护。
●余票查询
●发到站查询
●票价查询
3.2.2运行需求
(1)系统界面:
各客户端以及网站的界面要简洁容易操作,售票员、管理员、旅客要易学习和操作。
(2)运行环境:
InternetInformationServices(IIS)7.0、.NETFramework4.0,SQLServer2008。
3.2.3非功能需求
(1)系统各个功能响应请求时间在10秒以内。
(2)系统必须在7:
00——23:
00间稳定运行,每天可有8小时维护时间(不包括突发情况),并且对信息安全存储,以防恶意攻击。
(3)对于从未使用该系统的用户,售票员经过2小时的培训时间就可以使用全部功能,管理员经过2天的培训时间就可以使用全部功能,对于网站部分,旅客应在20分钟的自学时间就可以操作全部功能。
3.3用例模型
3.3.1用例图
本系统的用例图如下:
图4售票员用例图
图5旅客用例图
图6系统管理员用例图
3.3.2详细用例描述
由于本系统的用例很多,不能一一列举,所以只列举比较关键且在系统中地位重要的用例做详细解释。
表1旅客车票预定用例描述
用例名称
车票查询
参与者
旅客
用例描述
属于旅客的操作,可以依据发到站、时间、车次等信息查到合适的车次
前置条件
旅客通过身份验证,登录系统
后置条件
无
基本操作流程
1.打开系统,进入登录页面
2.输入旅客验证信息,通过验证
3.选择车票查询界面,进入查询页面
4.根据需要的查询条件进行操作,系统将返回符合条件的车次信息。
可选操作流程
无
表2旅客信息管理用例描述
用例名称
提交订单
参与者
旅客
用例描述
属于旅客的操作,当选择的车次有余票时,可以跳转到订单提交页面,旅客将选择相应的席位和乘车人并提交订单,同时在服务器端生成订单,返回订单号码。
前置条件
旅客通过身份验证,登录系统,存在可购票车次。
后置条件
在服务器端数据库车票表做出相应的标志锁定该席位并与乘客信息关联,并使总的票额减一,同时向用户提示支付信息。
基本操作流程
1.打开系统,进入登录页面
2.输入旅客验证信息,通过验证
3.选择车票查询界面选择相应的车次进入订单提交页面
4.在订单提交页面选择乘车人及席位,然后提交订单
可选操作流程
若旅客点击取消按钮或当订单提交时客票售完了,订单均提交不成功,订单提交45分钟后未支付则订单取消。
表3旅客订单支付用例描述
用例名称
订单支付
参与者
旅客
用例描述
属于旅客的操作,当旅客提交订单成功后,可以点击订单支付按钮或在订单查询页面选择未支付的订单,系统将跳转到第三方支付网站,旅客可以根据实际情况选择支付方式。
前置条件
旅客通过身份验证,登录系统,并存在未支付的订单。
后置条件
支付成功后,在数据可中将记录该席位已支付。
基本操作流程
1.打开系统,进入登录页面
2.输入旅客验证信息,通过验证
3.选择未支付的订单,并进行支付操作。
可选操作流程
若旅客在第三方支付网站未支付成功,则订单支付失败。
表4旅客订单改签用例描述
用例名称
订单改签
参与者
旅客
用例描述
属于旅客的操作,当旅客订单支付成功后,可以在订单查询页面选择要改签的订单,系统将跳转到车票查询页面,旅客只能更改日期或车次,若改的车次有余票则旅客可以改签。
前置条件
旅客通过身份验证,登录系统,并存在未支付的订单。
后置条件
支付成功后,在数据可中将记录该席位已支付。
基本操作流程
1.打开系统,进入登录页面
2.输入旅客验证信息,通过验证
3.选择未支付的订单,并进行支付操作。
可选操作流程
若旅客在第三方支付网站未支付成功,则订单支付失败。
3.4分析对象模型
3.4.1分析类图
(1)实体类(由于本系统实体类较多,仅列出具有代表性的实体类)
表5实体类表
类名
说明
RailWayStation
车站信息
RouteInformation
线路库信息
RailWayParter
客运段信息
TrainBody
车底信息
TrainSetInformation
列车编组信息
TrainIDSetInformation
车次编组信息
CustomerInformation
旅客信息
UserRegister
注册账户信息
TicketSum
票额信息
RailWayStation:
车站信息
类的属性:
车站编号、隶属客运段编号、车站名称、车站等级
类的操作:
车站信息增加、删除、修改,车站信息的查看
RouteInformation:
线路库信息
类的属性:
线路编号、车站编号、到站序号、距离
类的操作:
线路所经过的车站信息的增加、删除、修改与整条线路信息的查看
RailWayParter:
客运段信息
类的属性:
客运段编号、隶属铁路局编号、客运段名称
类的操作:
客运段信息的增加、删除、修改与查看
TrainBody:
车底信息
类的属性:
车底编号、坐席类别、空调标志、定员数量、客车分层标志
类的操作:
车底信息的增加、删除、修改与查看
TrainSetInformation:
列车编组信息
类的属性:
列车编组编号、空调标志、定员数量、适合车速
类的操作:
列车编组的增加、删除、修改与查看
TrainIDSetInformation:
车次编组信息
类的属性:
车次、隶属客运段编号、计划开始时间、计划结束时间、车种
类的操作:
车次及它使用列车编组计划的维护,包括计划的增加、删除、修改以及查看
CustomerInformation:
旅客信息
类的属性:
隶属的注册用户名、旅客姓名、证件类别码、旅客类别码、证件号码、是否为注册用户的信息
类的操作:
注册用户的旅客信息的维护,包括旅客的增加、删除、修改以及查看
UserRegister:
注册账户
类的属性:
用户名、密码、邮箱、密码提示问题、密码提示问题答案
类的操作:
用户信息的增加与修改
TicketSum:
票额信息
类的属性:
发车日期、车次、坐席种类、分配票额开始车厢号、分配票额开始席位号、分配票额结束车厢号、分配票额结束席位号、分配票额车站ID、分配票额数量
类的操作:
票额分配计划的增加、删除、修改
(2)控制类(由于本系统控制类较多,仅列出具有代表性的控制类)
表6控制类表
控制类
说明
RailWayParterManager
负责客运段信息维护
RailWayStationManager
负责车站信息维护
RouteManager
负责线路信息维护
ConsumerInformationManager
负责旅客信息管理
OrderManager
负责订单操作
TrainInformationQuery
负责车次信息查询
(3)边界类(由于本系统边界类较多,仅列出具有代表性的边界类)
表7边界类表
边界类
说明
LoginForm
旅客购票网站登录页面
TicketQueryForm
购票查询页面
OrderSubmitForm
购票信息提交页面
OrderPayForm
订单支付页面
OrderSuccessForm
订单支付成功页面
ConsumerManagerForm
旅客信息管理页面
TicketSumProjectManager
票额分配计划维护页面
TrainIDManager
车次信息维护操作页面
3.4.2类图
由于本系统类较多,类图仅列出具有代表性的类之间的关系。
以订单提交过程为例。
图7类图
3.5动态模型
由于本系统顺序图较多,仅列出具有代表性的顺序图。
(1)旅客订票顺序图
图8旅客订票顺序图
4基于.NET技术的铁路客票发售和预订系统的设计
4.1系统结构设计
基于.NET技术的铁路客票发售和预订系统采用Browser/Server与Client/Server并行的结构,共享同一个数据库,此数据库为MicrosoftSQLServer2008数据库实例;网站部分采用ASP.NET4.0技术运用MVC模式;应用客户端部分用MicrosoftVisualC#2010开发的winform桌面应用程序,与服务器端通信是采用的.NETRemoting技术。
在服务器端有Windows服务执行本系统计划任务以及为客户端登录提供网络访问服务。
图9系统结构图
图10系统功能图
4.2系统功能设计
如图10所示,系统功能主要分三个部分:
客票预订网站、车站售票客户端和客票系统维护端这三个部分组成。
客票预订网站主要为旅客提供订票以及列车信息查询服务,旅客在任可一台联网的计算机上都可以访问订票网站,使用网银进行票款支付,只要在开车前在任何一个售票窗口取票就可以了,为旅客提供方便的客运服务。
车站售票客户端是售票员使用的,主要为旅客提供在售票窗口售票、取票、改签、退票等业务,由于采用C/S结构,运行时性能优异。
网站与售票窗口的相互补充可谓旅客的出行提供良好的方便快捷的出行体验。
客票系统维护端主要供铁路部门对售票系统进行管理维护等任务。
使系统高效、稳定、实时的运行。
4.3数据库设计
4.3.1
数据库概念设计
图11数据库全局实体关系图
经过对系统业务流程的整体分析,对于系统的数据需求已经很清晰,依据此数据,结合全局实体关系(E-R)图11进行客票系统数据库的概念结构设计,并建立起系统数据库的概念模型。
4.3.2数据库逻辑设计
根据以上的实体关系E-R图,设计出的表结构如下:
表8RailWayParter客运段
列名
属性
说明
其他
RailWayParterID
Char(3)如:
P01
客运段ID
主键、非空
RailWayDepartmentID
Varchar(12)如:
D01
隶属铁路局
非空
RailWayParterName
Varchar(20)齐齐哈尔
客运段名称
非空
表9RailWayStation车站
列名
属性
说明
其他
RailWayStationID
Char(4)如:
0001
车站ID
主键、非空
RailWayParterID
Char(3)如:
P01
隶属客运段ID
外键(表RailWayParter
)、非空
RailWayStationName
Varchar(20)齐齐哈尔
车站名称
非空
RailWayStationLevel
Char
(1)如:
0,1
车站等级
非空
表10TrainBody车底
列名
属性
说明
其他
TrainBodyID
Char(6)如:
YZ0001
车底编码
主键、非空
SeatType
Varchar(8)如:
硬座
坐席类别
非空
AirConditioner
char
(2)有
空调标志
非空
SeatSum
Tinyint112
定员数量
非空
Floors
Tinyint1
客车分层
非空
表11TrainSetInformation列车编组信息
列名
属性
说明
其他
TrainSetID
char(5)如:
S0001
列车编组编号
主键、非空
AirConditioner
char
(2)有
空调标志
非空
AdaptorSpeed
Varchar(10)特快
适合车速
非空
表12TrainSet列车编组
列名
属性
说明
其他
TrainSetID
char(5)如:
S0001
列车编组编号
外键(TrainSetInformation)、非空
TrainBodyID
char(6)如:
YZ0001
车底编码
外键(TrainBody
)、非空
TrainBodyNumber
tinyint2
车厢号
非空
表13TrainIDSetInformation车次编组信息
列名
属性
说明
其他
TrainNumberKey
Varchar(30)如:
K275/K277
车次
主键、非空
RailWayParterID
char(3)
隶属客运段编号
外键(RailWayParter
)、非空
TrainSetID
char(5)如:
S0001
列车编组编号
外键(TrainSetInformation)、非空
ProjectBeginDate
Datetime2013.01.22
计划开始时间
非空
ProjectEndDate
Datetime2013.01.23
计划结束时间
非空
TainNumberType
Varchar(16)新空调特快
车种
非空
表14Route线路
列名
属性
说明
其他
RouteID
char(5)如:
R0001
线路编号
主键、非空
RouteName
Varchar(20)如:
齐嫩线
线路名称
非空
表15RouteInformation线路库
列名
属性
说明
其他
RouteID
char(5)如:
R001
线路编号
外键(Route
)、非空
RailWayStationID
char(4)如:
0001
车站编号
外键(RailWayStation
)、非空
SortID
Tinyint如:
1
站序编号
非空
Distance
Smallint如425千米
距离
非空
表16TrainNumberInformation车次信息
列名
属性
说明
其他
TrainNumber
varchar(5)如:
K275
车次
主键、非空
TrainNumberKey
Varc
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 NET 技术 铁路 客票 发售 预订 系统 设计 实现