火车预订与管理系统论文.docx
《火车预订与管理系统论文.docx》由会员分享,可在线阅读,更多相关《火车预订与管理系统论文.docx(45页珍藏版)》请在冰豆网上搜索。
火车预订与管理系统论文
北京理工大学继续教育学院
毕业设计题目:
火车票预定与管理系统
指导教师姓名:
姜增如
负责人签字:
年月日
内容和要求:
根据火车票购买和会员使用用例,首先进行系统调研和分析,在满足火车票信息管理的基础上,建立火车票信息数据库,采用JAVA作为开发工具,利用其提供的SQLSERVER数据建模工具(功能模块或控件)对数据库进行完成数据逻辑和物理模型设计。
最后实现完整的用户操作界面。
使火车票预定与管理系统系统达到有效实用、操作方便,能满足实际需求的水平。
该软件功能包括:
1车次信息浏览与查询,基于角色的用户管理,车次信息维护包括添加,修改和增加车次,订票和退票,订票查询,会员管理
2系统总体设计,界面设计,菜单设计,详细功能设计。
3查询者及其权限信息的修改、添加、查询、删除等操作。
4后台信息的管理与修改
要求:
1设计的指导思想是系统具有完备的功能,结合火车票预定与管理管理的实际需要,编制操作简便,使用方便的功能界面。
2该软件应具有一定的可维护性和扩展性。
3具有一定失败恢复功能,能够从备份档选择所需的数据更新自身数据库。
摘要
本文针对火车站的订票实际情况,按照软件工程的结构化设计思想,经过项目的可行性研究和需求分析、总体设计、详细设计,以及编码实现和调试等步骤设计开发了火车站网上订票系统。
并运用数据流图和数据字典、E-R图和数据库逻辑结构、层次图、系统流程图、以及程序流程图,对该系统的数据需求、数据库、系统软件结构、系统流程、以及处理过程等进行了分析和设计。
工具软件利用JAVA开发工具和SQLServer2000数据库来开发这个火车站网上订票系统。
该系统要解决的是火车站网上订票工作所要解决的问题,可以满足火车站网上订票的基本要求,包括查询、订票、退票等三个方面的功能。
该系统能运用到火车站订票的工作中,根据用户的需求,设置其权限,并快捷方便的为用户提供服务。
关键词:
信息管理,火车售票,JAVA,SQLServer2000
致谢.....................................................................24
附录A...............................................................................26附录B...............................................................................30
附录C.............................................................................32
附录D.............................................................................33
附录E.............................................................................34
附录F.............................................................................37
附录G.............................................................................40
附录H.............................................................................45
第一章.概述
1.1概述
目前火车站售票的状况是仅靠手工操作,以现有的工作人员很难应付车票订购高峰时刻的大量数据处理问题。
同时还会出现由此带来的大量记录存放和管理所带来的问题。
本次设计拟开发一个火车站网上订票系统,可以降低工作人员的工作量,提高工作人员的工作效率,同时方便顾客订票。
1.2意义
火车站市场的管理和规范问题,是困扰我们多年的一个老问题,也是政府管理中的一个难点,订票是客运业务中的一个最基本的业务,表面上看,它只是火车站业务的一个简单的部分,但是它涉及到管理与客户服务等多方面,因此,过去传统的售票方式已经不能满足现代客运业务流量剧增的客观要求,这就要求一种全新的订票方式——网上订票,来缓解订票高峰时期的客运压力,并为用户提供方便快捷的订票服务。
本次设计便是利用开发工具JAVA和SQLServer2000数据库共同开发的一个火车站网上订票系统,它能方便快捷地运用在火车站订票业务的营运之中。
1.3任务
第二章.系统的可行性研究与需求分析
2.1可行性研究
该阶段通过对系统目标的初步调研和分析,提出可行性方案并进行论证。
我们在这里主要从技术可行性、经济可行性和操作可行性三方面进行分析。
2.1.1经济可行性
开发该系统所需的相关资料可以通过已存在的网上订票系统进行调查采集,所需的其他应用软件、硬件系统也易于获得.因此,开发成本较低。
而引进使用本系统后,与传统方式相比,具有高效率、低成本、高质量的特点,可以节省不少人力、物力及财力。
所以,从经济的角度来看,该系统可行。
2.1.2技术可行性
开发工具:
Java
数据库环境:
SQLServer2000
系统环境:
MicrosoftWindows2000或以上版本。
系统实现依靠相对熟悉的Java语言和SQLServer2000数据库系统,其基本操作实质还是对数据库进行添加、删除、查找等操作,暂不存在技术问题。
2.1.3操作可行性
系统采用菜单式,实现用户与数据库的交互,界面简洁友好,操作方便。
用户只需对订票流程和业务调查了解即可,不需掌握数据库等相关知识。
2.2需求分析
需求分析是软件设计的一个重要的环节。
本阶段对订票系统的应用情况作全面调查,以确定系统目标,并对系统所需要的基础数据以及数据处理要求进行分析,从而确定用户的需求。
用户对系统的需求我们从以下几方面进行分析。
2.2.1功能需求
本网上订票系统应该具备如下功能:
1.查询
分为对车次信息的查询和客户对已订车票信息的查询。
要求:
1)对车次的查询,可以按照发车车次进行查询;2)车次信息包括:
车号、出发地、目的地、发车日期、开出时刻、票价。
3)座位类型设定。
4)车次信息只允许用户查询,不能修改。
2.订票
通过查询系统,客户根据自己的需求找到满意的车次,再输入个人信息后直接通过网上订票确定已预订选中的车票。
要求:
订票记录应包括:
会员名、车号、发车日期、订购日期、订购票数、总价。
3.退票
可退票,通过查询系统,客户可以根据自己的名字找到自己的订票信息,通过退票模块退去已购车票。
2.2.2数据需求
信息需求,即在系统中需要处理哪些数据。
根据对火车站网上订票系统的分析,本系统的信息需求如表2-1所示。
表2-1信息输入输出
信息输入
信息处理
信息输出
用户输入所需车次
检索系统数据库
符合用户需求的车次及相关
信息
用户输入个人信息及所需订
购的车票信息
更新系统中的订票信息,
将新信息存入系统数据库
操作反馈(如订票成功)
用户输入自己的名字、身份
证号;或交易的订单号
检索系统数据库
符合用户需求的订票信息
用户输入自己的名字
检索系统数据库以得到订票
记录,删除用户请求的订票
记录,更新系统数据库
操作反馈(如退票成功等)
2.2.3性能需求
为了保证系统能够长期、安全、稳定、可靠、高效的运行,本系统应该满足以下的性能需求。
1.准确性和及时性
系统处理的准确性和及时性是系统的必要性能。
系统应能及时而且准确的根据用户权限及所输入的信息做出响应。
由于本系统的查询功能对于整个系统的功能和性能完成举足轻重。
作为系统的很多数据来源,而车票的数量和时间又影响用户的决策活动,其准确性和及时性很大程度上决定了系统的成败。
在系统开发过程中,必须采用一定的方法保证系统的准确性和及时性。
2.易用性
本系统是直接面对用户的,而用户往往对计算机并不是非常熟悉。
这就要求系统能够提供良好的用户接口,易用的人机交互界面。
要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面,从而保证系统的易用性。
3.安全性
网上订票系统中涉及到的数据是客运公司相当重要的信息,系统要保证用户的权限,对于车次等信息用户只享有查询服务,不得更改;系统还要提供方便的手段供系统维护人员进行数据备份、日常安全管理、以及系统意外崩溃时数据的恢复等工作。
同时系统还要保证对数据库进行及时更新,保证数据一致性。
2.2.4数据流图
图2.1数据流图
2.2.5数据字典
表2-2车次信息数据字典
表2-3订票信息数据字典
表2-4用户信息数据字典
2.2.6实体-联系图
用户的需求具体体现在各种信息的提供、保存、更新和查询,这就要求数据库结构能充分满足各种信息的输出和输入。
针对火车站网上订票系统,通过对网上订票工作的过程、内容以及数据流程分析,设计如下所示的数据项和数据结构:
1.车次信息包括:
车号、出发地、目的地、发车日期、开出时刻、剩余座位数、票价。
2.订票记录包括:
订单号、身份证号、车号、订购日期、订购票数、总价。
3.用户信息包括:
用户名、身份证号、性别、电话。
E-R图如图2.2所示。
图2.2实体-联系图(E-R图)
2.2.7数据库逻辑结构
火车站网上订票系统数据库中各个表格的设计结果如表2-5——表2-7所示。
每个表格表示在数据库中的一个表。
表2-5车次信息表BusInfo
字段名
数据类型
是否可空
说明
BusID
char(10)
NOTNULL
车号(主键)
BusFrom
varchar(50)
NOTNULL
出发地
BusTo
varchar(50)
NOTNULL
目的地
BusDate
Datetime
NOTNULL
发车日期(主键)
BusBegin
Datetime
NOTNULL
开出时刻
BusEnd
Datetime
NOTNULL
到达时刻
TicketNum
int
NOTNULL
剩余票数
Price
Money
NOTNULL
票价
表2-6订单表OrderInfo
字段名
数据类型
是否可空
说明
OrderID
Char(10)
NOTNULL
订单号(主键)
UserID
Char(18)
NOTNULL
身份证号(外键)
BusID
char(10)
NOTNULL
车号(外键)
BusDate
datetime
NOTNULL
发车日期(外键)
OrderDate
datetime
NOTNULL
订购日期
OrderNum
Int
NOTNULL
订购票数
Total
Money
NOTNULL
总价
表2-7用户表User
字段名
数据类型
是否可空
说明
UserID
char(18)
NOTNULL
身份证号(主键)
User
varchar(50)
NOTNULL
用户名
Sex
Char
(2)
性别
Phone
varchar(12)
电话
第三章.系统的总体设计
3.1系统软件结构设计
3.1.1软件结构
本火车站网上订票系统可划分为信息查询、网上订票、取消订票三个部分。
其中信息查询又可分为车次查询和订单查询两个部分。
其层次图如图3.1所示。
图3.1火车站网上订票系统的层次图
3.1.2模块算法
1.各级别算法
1)界面级算法
处理输入信息,产生相应任务。
图3.2界面级算法示意图
2)数据库级算法
执行相应数据库操作,并直接返回信息反馈。
图3.3数据库级算法示意图
3)任务级算法
执行所需功能,满足用户需求。
图3.4任务级算法示意图
2.调用关系
1)界面模块调用任务模块
2)任务模块调用数据模块
3)数据模块调用界面模块显示
3.2系统流程图
系统顶层流程图如下图3.5所示。
图3.6——图3.9为各模块详细系统流程图。
图3.5顶层系统流程
图3.6车次信息查询系统流程图
图3.7订单信息查询系统流程图
图3.8订票系统流程图
图3.9退票系统流程图
第四章.系统的详细设计
4.1接口设计
4.1.1用户接口
用户通过界面接口实现参数的输入,进入相应的界面后输入提示的信息即可产生相应的任务。
4.1.2外部接口
接口通过一个数据转换器,将网络二进制数据流转换为一个合适的数据结构单位并添加到缓冲区中。
4.1.3内部接口
表4-1内部接口说明表
顶层模块
二级模块
接口
数据模块
底层数据操作模块
取出记录集,执行SQL语句
用户操作模块
对应数据库相关表操作
界面模块
界面模块
生成任务
缓冲区模块
生成批处理
4.1.4软件接口
本系统程序所使用的数据库来源于主机数据库,所以系统数据与主机数据库数据向一致。
4.1.5模块内部
模块以接受参数方式独立登陆主机数据库并且独立运行,返回数据包显示在界面上。
4.2过程设计
4.2.1程序流程图
本系统主界面为用户设计了三个功能操作以供选择:
查询,订票,退票。
另外,为方便用户,还将“退出系统”也单另列了出来,用户可以根据需要触发不同事件。
其处理流程如图4.1所示。
图4.2——图4.6反映了不同触发事件具体的处理流程。
1.系统用户权限的系统主处理流程
图4.1系统用户权限的系统主程序流程图
2.新用户权限的系统主处理流程
图4.2新用户权限的系统主程序流程图
3.车次信息查询处理流程
图4.3车次信息查询程序流程图
4.订票处理流程
图4.4订票程序流程图
5.订票信息查询处理流程
图4.5订票信息查询模块程序流程图
6.退票模块处理流程
图4.6退票模块程序流程图
第五章.系统的实现与调试
5.1应用系统的开发及测试
5.1.1系统首页
图5.1系统首页
5.1.2产品说明
图5.2产品说明
5.1.3用户登录及访问权限
本系统设计要求用户通过登录框选择访问权限,登录系统。
其中,用户须输入用户名和密码,以进入系统。
未使用过本系统的用户选择注册会员,系统自动跳转至主界面。
系统用户权限登录访问时,车次信息查询、订票信息查询、订票、退票等功能均可用。
系统用户输入正确的用户名和密码,访问系统,得到其相应的权限。
如图5.3-5.4。
图5.3登录框
系统用户输入错误的用户名或身份证号,系统拒绝其访问。
如图5.5。
图5.5出错提示
新用户在登录窗口选择“注册”单选钮,系统自动跳转到注册页面,并控制其访问权限,如图5.6所示。
图5.6新用户权限登录主窗体
5.1.4车次信息查询
对车次信息的查询,系统提供了车次信息,进行精确的查询,系统经过检索,返回符合用户要求的车次,再由用户自行选择满意的车次。
图5.7选择查询条件。
图5.7车次查询条件框
5.1.5订票信息查询
对于订票信息的查询,本系统只提供一种查询方式。
由于用户在登录时已选择了访问权限,且输入了身份证号等确认具体身份的重要信息。
故用户可以通过菜单选项直接查询自己的订票信息。
该信息由系统自动返回,简便、快捷。
图5.16订票
5.1.6订票
系统用户可以通过两种方式进入到订票环节。
一是在主界面的菜单选项中,直接选择“订票”服务,二是用户可以由车次查询界面,点击“订票”命令,直接跳转订票界面。
新用户在填写订票信息之前,必须填写用户信息,以保证下次访问系统时的系统权限不受限制。
订票信息中的订单号由系统提供。
如果用户是从车次查询界面跳转至订票界面的,在填写订票信息时,车次的相关信息由系统自动提供。
用户只需输入订票数,点击“下一步”完成订票交易。
交易成功后,系统会弹出提示框,示意用户订票操作已成功。
新用户通过菜单,直接进入订票程序,如图5.18所示。
首先点击新增,激活操作,填写用户信息。
如图5.19所示。
图5.18订票信息界面
5.1.7退票
系统进入退票管理也是通过两个方法来实现,用户可以直接进入退票环节,也可以从订单查询环节进入。
订票相关信息由系统自动提供。
图5.32系统自动返回退票后的信息
结束语
二十一世纪是一个高速、快捷的年代。
在这个高速发展的年代里,速度成了我们追求的目标;二是提高工作效率;三是降低成本。
因此,办公自动化的高速度、高效率、高便捷、低成本便成了我们的目的,为此开发了这个火车站网上订票系统。
本系统可以大大简化退票、订票、查询等十分繁琐的工作,简化办公环节,提高工作效率,而且易学、易用,满足客户需求。
这次系统的设计从最开始的可行性研究,需求分析,到系统的总体设计,详细设计,再到编码、测试等的一个整体过程,使我真正明白了要做一个软件的难度,特别是要做一个真正可用的软件,就更难了。
在老师和同学的帮助下,我把以往所学的软件工程、数据库知识结合起来,利用JAVA开发工具,加上SQLServer数据库系统,完成了本次课程设计,尽量使它能满足各个方面的要求。
当然,我的个人能力有限,还有很多不足的地方,敬请谅解。
在这次课程设计过程中我遇到了不少的难题,比如数据库操作问题,界面设计问题,函数使用与实现问题,消息处理问题等等。
其中,最关键的是在最初对系统的需求分析做的不透彻,导致后续设计工作乃至编码时的修改工作量变大。
以至于为了能按时完成设计任务,我一连度过了几个通宵。
尤其,越接近结束,就越是时常出现问题。
所以,通过这次课程设计我深刻体会到软件工程还是必须学精通点、学透彻点。
通过这次课程设计,我学会了如何对所学课程综合运用,巩固了软件工程的一般规范,对数据库的使用也有了更进一步了解。
总体来说,课程设计让我学了不少知识。
我认为课程设计是我们学习生涯中相当重要的一课,除了验证学生的学习成果外,也是训练一个人独立思考及解决问题的能力.在这里,我要感谢指导老师和同学在这次课程设计中对我的帮助。
致谢
在论文完成之际,我要特别感谢我的指导老师姜增茹老师的热情关怀和悉心指导。
在我撰写论文的过程中,姜老师倾注了大量的心血和汗水,无论是在论文的选题、构思和资料的收集方面,还是在论文的研究方法以及成文定稿方面,我都得到了姜老师悉心细致的教诲和无私的帮助,特别是他广博的学识、深厚的学术素养、严谨的治学精神和一丝不苟的工作作风使我终生受益,在此表示真诚地感谢和深深的谢意。
在论文的写作过程中,也得到了许多同学的宝贵建议,同时还得到许多在工作过程中许多同事的支持和帮助,在此一并致以诚挚的谢意。
感谢所有关心、支持、帮助过我的良师益友。
最后,向在百忙中抽出时间对本文进行评审并提出宝贵意见的各位老师表示衷心地感谢!
发展与展望
在未来相当长的时间内,火车将成为21世纪最为可靠,快速,便捷的出行方式,同时,随着我国经济快速发展,和经济增长方式逐渐向发展内需方向转变,为中国铁路的发展带来了全新的机遇。
对火车票预定与管理系统,我认为将会出现以下几种发展趋势:
1:
纸质车票将会被电子车票代替:
电子车票的出现将乘客的唯一标识例如指纹或RFID技术作为购票和乘车凭证,因为免去了纸质车票的传递过程,将更大程度的方便乘客选择火车出行,真正的可以做到足不出户就能完成车票的订购。
目前上海已经进入了磁卡火车票,这已经是在原有纸质车票基础上的一个巨大的变化。
2:
火车票预定与管理系统功能将更加多元化,系统将更加集中,电子车票的出现将使火车票信息系统的架构发生巨大变化,原来分散的,独立的基于客户机/服务器的结构将转换为浏览器/服务器结构,并且一个主机系统可以服务全国的乘客订票需求。
同时因为上百万的用户的在线使用,对火车票预定与管理系统的功能提出一个新的挑战。
对系统的可靠性,可用性,性能要求发生质的变化。
参考文献
[1]孙卫琴,李洪成.《Tomcat与JavaWeb开发技术详解》.电子工业出版社,2003年6月:
1-205
[2]BruceEckel.《Java编程思想》.机械工业出版社,2003年10月:
1-378
[3]FLANAGAN.《Java技术手册》.中国电力出版社,2002年6月:
1-465
[4]孙一林,彭波.《Java数据库编程实例》.清华大学出版社,2002年8月:
30-210
[5]LeeAnnePhillips.《巧学活用HTML4》.电子工业出版社,2004年8月:
1-319
[6]飞思科技产品研发中心.《JSP应用开发详解》.电子工业出版社,2003年9月:
32-300
[7]耿祥义,张跃平.《JSP实用教程》.清华大学出版社,2003年5月1日:
1-354
[8]孙涌.《现代软件工程》.北京希望电子出版社,2003年8月:
1-246
[9]萨师煊,王珊.《数据库系统概论》.高等教育出版社,2002年2月:
3-460
[10]Brown等.《JSP编程指南(第二版)》.电子工业出版社,2003年3月:
1-268
[11]清宏计算机工作室.《JSP编程技巧》.机械工业出版社,2004年5月:
1-410
[12]朱红,司光亚.《JSPWeb编程指南》.电子工业出版社,2001年9月:
34-307
[13]赛奎春.《JSP工程应用与项目实践》.机械工业出版社,2002年8月:
23-294
[14]于松涛.精通SQLserver2000数据库管理与开发[M].北京:
人民邮电出版社,2003.10
[15]飞思科技产品开发中心.SQLServer2000基础与提高[M].北京:
电子工业出版社,2001.7
[16]汤庸.软件工程方法与管理[M].北京:
冶金工业出版社,2002.10
[17]张虹.软件工程与软件开发工具[M].北京:
清华大学出版社,2004.09
附录A
登陆窗
<%@pagelanguage="java"import="java.util.*"contentType="text/html;charset=gb2312"%>
<%@includefile="../../iframe/head.jsp"%>
useBeanid="code"scope="page"class="com.util.CheckCode"/>
//检验表单的合法性
functionchecklogin(){
if(document.form1.username.value.replace(/\s+$|^\s+/g,"").length<=0){
alert("\请输入您的用户名!
");
document.form1.username.focus();