火车票网上订票系统系统毕业论文.docx
《火车票网上订票系统系统毕业论文.docx》由会员分享,可在线阅读,更多相关《火车票网上订票系统系统毕业论文.docx(25页珍藏版)》请在冰豆网上搜索。
火车票网上订票系统系统毕业论文
火车票网上订票系统系统
摘要
本文针对火车站的订票实际情况,按照软件工程的结构化设计思想,经过项目的可行性研究和需求分析、总体设计、详细设计,以及编码实现和调试等步骤设计开发了火车站网上订票系统。
并运用数据流图和数据字典、E-R图和数据库逻辑结构、层次图、系统流程图、以及程序流程图,对该系统的数据需求、数据库、系统软件结构、系统流程、以及处理过程等进行了分析和设计。
工具软件利用JAVA开发工具和SQLServer2000数据库来开发这个火车站网上订票系统。
该系统要解决的是火车站网上订票工作所要解决的问题,可以满足火车站网上订票的基本要求,包括查询、订票、退票等三个方面的功能。
该系统能运用到火车站订票的工作中,根据用户的需求,设置其权限,并快捷方便的为用户提供服务。
关键词:
信息管理,火车售票,JAVA,SQLServer2000
第1章引言
信息化的时代,我们除了在跟上时代的节拍外,更多的时候是一种理念的提升与升华。
存在既有存在的道理,就像为什么之前我们有了电视,但是现在还需要有电脑一样。
现在绝大多数公司都会借助电脑去工作,为什么,因为借助它让我们提高我们的办事效率,让我们的管理模式变得更简易更方便。
CRM的产生也是同样的道理,我们在自己打好客户关系外,总是需要借助一个工具来帮我们管理的,如果是找人管理的话,那么多的数据不见得都能够记下来,而且也存在一些矛盾让你后期不便于管理,但是借助软件工具我们就可以省事省时省力了。
随着信息技术的飞速发展和客户驱动市场的形成,制造业面临的竞争越来越激烈,许多企业通过ERP、SCM等管理信息化系统强化了财务、生产、物流、产品管理后,发现自己的营销与服务能力的不足,特别是那些快速发展的企业,在全国各地建立了营销与服务网络,人员越来越庞大,营销费用增长迅速,但业绩提升缓慢,而且客户的满意度下降,竞争对手比自己跑得越来越快,各层次沟通不畅信息衰减严重。
打造一个富有战斗力的营销服务体系,成本突破管理与发展瓶颈的明智选择,CRM强调建立以客户为中心的现代企业,以客户价值来判定市场需求,对于正在转变战略从“产品中心”向“客户中心”过渡的企业无疑是一拍即合,正是基于此,各大公司才决定制作CRM系统。
第2章需求分析
我们一般设计系统都要完成以下的几个要求,以便于用户进行操作。
这样才能使系统易学易用。
1)合理的设计数据库
尽量合理地减少数据库数据的冗余,使重复的数据保持在最小限度,这样将不必要的多占用存储空间,减少产生混乱影响的危险,还能提高计算机的运行速度。
2)设计出友好的界面
界面的友好与否是用户评价一个软件优劣的重要方面,使用户有一个良好的心情。
另外窗口界面要多用按钮和快捷键,少用菜单,窗口和控件布局要合理,美观。
要充分的利用VisualBasic提供的强大的功能,多用窗口和控件,充分体现窗口的多元化格局。
3)实现基本功能和一些特殊功能的操作
该系统要求除了能实现信息的录入,删除,插入,更新,打印等基本功能之外,还要求能够根据用户的需要进行操作。
图3-1火车站售票管理业务流程图
图3-1火车站售票管理业务流程图是用户提出的基本需求,根据此流程图,我分析了该系统应该具备的各种功能。
当用户在使用了该软件时可以实现售票、查询、管理、基本信息表的查看、统计等基本功能。
此外,还要实现基本的添加、删除、修改等功能。
最终该系统的目的是要满足当火车站售票管理系统在实施后,应能够达到以下基本的目标:
(1)能准确地了解售票情况,提供多种查询和统计功能。
如:
车次的查询。
(2)具有方便、快速的售票功能,包括车票的预订和退票功能,能够支持团体的预订票和退票。
(3)能按情况所需实现对车次的更改、票价的变动及调度功能。
(4)灵活准确的收费,提高财务工作效率。
(5)全面统计、分析及时提供依据。
车站领导可随时查阅到车站最新信息的详细情况。
(6)系统内部控制严密,数据存储安全可靠。
(7)系统界面友好美观,操作简单易行。
(8)从用户需求、售后服务形成了一套严密、科学、完善的管理体系。
(9)具备一定的维护功能。
第3章总体设计
模块总体设计
面对信息时代的挑战,济南火车站为了满足社会的发展的需求和当今快速发展的火车站售票信息的需求,想利用VisualBasic为开发工具开发出高科技的计算机管理系统来提高火车站售票管理水平,完成对火车站全方位的管理,该系统在实施后,能够满足对售票、查询、维护、信息了解、统计等功能。
为了达到济南火车站的需求,由图3-1火车站售票管理业务流程图,我对该系统进行了具体分析,总结出火车站售票管理系统的功能模块如图4-1所示。
图4-1火车站售票管理系统的功能模块
由图4-1火车站售票管理系统的功能模块图可见,该管理系统的主要功能模块包括五大功能模块:
(1)售票功能模块。
(2)查询功能模块。
(3)管理功能模块。
(4)基本信息表功能模块。
(5)统计功能模块。
数据库总体设计
数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率以及实现的效果产生影响。
合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致。
在数据库系统中,应用程序、数据库管理系统、操作系统、硬件等几个方面必须协同工作。
其中数据库管理系统起着关键的中介作用。
当应用程序从数据库中读取一个数据时,它向数据库管理系统发出读取数据记录的命令。
数据库管理系统对该命令进行语法、语义检查,并调用应用程序对应的子模式,检查应用程序的存取权限,决定是否执行该命令。
如果拒绝执行,则向用户返回错误信息。
在决定执行该命令后,数据库管理系统调用模式,依据子模式/模式映像的定义,确定应读入模式中的那些记录。
数据库管理系统再调用物理模式,依据模式/物理模式映像的定义,决定应从哪个文件、用什么存取方式、读入哪个或哪些物理记录。
然后,数据库管理系统向操作系统发出执行读取所需物理记录的命令。
操作系统执行后,将数据送至系统缓冲区。
数据库管理系统再依据子模式/模式映像的定义导出应用程序所要读取的记录格式,将数据从系统缓冲区传送到应用程序的用户工作区,并返回命令执行情况的状态信息。
根据数据库管理系统所具有的功能,可将它分为四个组成部分。
数据定义语言及其翻译处理程序:
首先用数据定义语言定义数据库的模式、存储模式、外模式、各级模式间的映射、有关的约束条件等。
然后,翻译处理程序将它们翻译成相应的内部表示,即对数据库框架的描述。
这些描述存放在数据字典(系统目录)中,作为数据库管理系统存取和管理数据的依据。
数据操纵语言及其翻译处理程序:
提供了岁数据库的检索、插入、修改、删除等基本操作。
数据库运行控制程序:
负责数据库运行过程中的控制和管理。
实用程序:
完成数据库的建立与维护,以及数据格式的转换与通信等功能。
设计数据库系统时应该首先充分了解用户各个方面的需求,包括现有的以及将来可能增加的需求。
数据库设计一般包括如下几个步骤:
1)数据库需要分析。
2)数据库概念结构设计。
3)数据库逻辑结构设计。
用户的需求具体体现在各种信息的提供、保存、更新和查询,这就要求数据库结构能充分满足各种信息的输出和输入。
收集基本数据、数据结构以及数据处理的流程,组成一份详尽的数据字典,为后面的具体设计打下基础。
仔细分析调查有关济南火车站的管理信息需求的基础上,结合图4-1火车站售票管理系统的功能模块图,本系统采用了VB软件自带的Access数据库建立了相关的数据库表。
火车站售票管理系统的ER图如图4-2所示。
图4-2火车站售票管理系统的ER图
由该火车站管理系统的ER图可见,车票基本信息表具有终点站、线路、车型等基本的属性;车辆基本信息表具有线路、座号、状态、始发时间等基本的属性;售票基本信息表具有车次、日期、线路、车型、始发时间等基本的属性;退票基本信息表具有车次、日期、线路、始发时间、车型、座号、票价等基本的属性。
车票基本信息表包含售票基本信息表,车票基本信息表和车辆基本信息表是所属关系,售票基本信息表和退票基本信息表是互斥的关系。
根据它们之间的关系可以大体设计出火车站管理系统的模块功能。
第4章详细设计与实现
由火车站管理系统的总体设计,再加上自己在管理系统知识方面的不断学习,我把总体设计进行了详细化处理,这个过程中有好多功能的添加,控件的添加,还有好技巧性知识的学习。
此管理系统的详细设计过程是我仔细推敲的结果,具体详细设计过程如所讲述。
模块详细设计
由用户的需求分析,我对本管理系统做了具体的分析和设计,本管理系统共分五大完整的功能模块,各个模块分别设置了相应的子功能,具体管理系统结构图如图5-1所示。
由图5-1火车站售票管理系统结构图可以看出,本管理系统的具体实现功能为:
(1)售票功能模块:
主要完成销售车票、预订车票、退票等功能。
销售车票子系统主要功能是实现火车站的车票的销售,操作员选择当前的机器票号后,就可以进行车票的查询和销售。
预订车票子系统主要功能是实现火车站的车票的事先预定,票数可以自选。
退票子系统的主要功能是实现车票的消退,通过输入要退票的基本信息,可以实现当前车票的退票功能。
(2)查询功能模块:
主要完成车票查询、车辆查询、售票情况查询功能。
车票查询子系统主要实现车票的车型查询、终点站查询、线路查询、票价查询,通过输入相应的信息就可以得到要查询的信息。
车辆查询子系统主要实现车辆的车次查询、线路查询、终点站查询、状态和座号查询等功能。
售票查询主要实现对已经出售的车票的基本信息的查询。
(3)管理功能模块:
主要完成车票管理、车辆管理、售票管理。
车票管理主要实现车票基本信息的添加、删除、修改、退出功能。
车辆管理主要实现车辆基本信息的添加、删除、修改、退出功能。
售票管理主要实现销售车票的基本信息的添加、删除、修改、退出功能。
(4)基本信息表功能模块:
车票基本信息表、车辆基本信息表、 售票基本信息表。
车票基本信息表主要实现向用户显示车票的基本信息表,用户通过移动记录指针可以查看数据库中所有的车票基本信息。
车辆基本信息表主要实现向用户显示车辆的基本信息,用户通过移动记录指针可以查看数据库中所有的车辆基本信息。
售票基本信息表主要实现向用户显示已经销售过的车票的基本信息。
(5)统计功能模块:
主要完成售票统计、退票统计、金额统计功能。
售票统计主要是实现当前所选日期已经销售的车票的张数。
退票统计主要是实现当前所选日期消退的车票的张数。
金额统计主要是实现当前所选日期已售票的金额。
数据库详细设计
分析调查济南火车站的管理信息需求的基础上,结合图5-1火车站售票管理系统结构图,本管理系统采用了VB软件自带的Access数据库建立了相关的数据库表。
数据库名为car-Table。
数据库car-Table包含4个表(车票基本信息表c-Table、车辆基本信息表z-Table、售票基本信息表L-Table、退票基本信息表t-Table),各个表的功能如下所示:
车票基本信息表c-Table:
用于存放车票的基本信息,这些数据基本不变,在查询或显示时自动调用,这些信息可以由管理员自动添加、删除、修改。
车辆基本信息表z-Table:
用于存放车辆的基本信息,这些信息可以有管理员或操作员自动添加、删除、修改。
售票基本信息表L-Table:
用于存放已售票的基本信息,这些信息可以有管理员自动进行添加、删除、修改。
退票基本信息表t-Table:
用于存放退票的基本信息,这个表在初建时是一个空的数据表,表中的内容是由操作员在退票的时候进行手动输入而添加的。
由于车票基本信息表c-Table涉及到的字段只有始发站、终点站、线路、车型、票价,所以我在设计这个数据库表的时候把它们的字段类型都设置为[文本类型]数据,把它们的大小都设置为50。
车票基本信息表c-Table的结构如表5.2.1所示。
表5.2.1车票基本信息表的结构
字段名称
始发站
终点站
线路
车型
票价
字段类型
文本
文本
文本
文本
文本
大小
50
50
50
50
50
车辆基本信息表z-Table涉及到的字段有车次、始发时间、线路、座号、状态,所以我在设计这个数据库表的时候把它们的字段类型都设置为[文本类型]数据,把它们的大小都设置为50。
线路的格式为:
始发站-终点站。
车辆基本信息表z-Table的结构如表5.2.2所示。
表5.2.2车辆基本信息表的结
字段名称
车次
始发时间
线路
座号
状态
字段类型
文本
文本
文本
文本
文本
大小
50
50
50
50
50
售票基本信息表L-Table涉及到的字段有票号、车次、日期、始发时间、线路、车型、座号、票价,所以我在设计这个数据库表的时候把日期的字段类型设置为[Data\Time],座号和票价的字段类型设置为[Integer],大小设置为2,其它的字段类型都设置为[文本类型],把它们的大小都设置为50。
售票基本信息表L-Table的结构如表5.2.3所示。
表5.2.3售票基本信息表L-Table的结构
字段名称
字段类型
大小
票号
文本
50
车次
文本
50
日期
Data\Time
8
始发时间
文本
50
线路
文本
50
车型
文本
50
座号
Integer
2
票价
Integer
2
退票基本信息表t-Table涉及到的字段有状态、票号、车次、日期、始发时间、线路、车型、座号、票价、手续费,所以我在设计这个数据库表的时候把日期的字段类型设置为[Data\Time],票价的字段类型设置为[Integer],大小设置为2,其它的字段类型都设置为[文本类型],把它们的大小都设置为50。
退票基本信息表t-Table的结构如表5.2.4所示。
表5.2.4退票基本信息表t-Table
字段名称
字段类型
大小
状态
文本
50
票号
文本
50
车次
文本
50
日期
Data\Time
50
始发时间
文本
50
线路
文本
50
车型
文本
50
座号
文本
50
票价
Integer
2
手续费
文本
50
具体实现过程
登陆界面编码设计
具体设计过程如下:
在主窗体中添加一个标签控件,该标签控件用于显示该系统的名称[火车站售票管理系统],用于向用户展示该管理系统的名称,让用户见名知意。
设置五个主菜单:
售票系统、查询系统、基本信息表、管理系统、统计系统。
售票系统具有售票的功能,主要完成车票的销售。
售票系统的子菜单:
售票、代售票、退票;售票主要完成售票功能,代售票主要完成提前预定车票的功能,退票主要用于完成车票的消退功能。
查询系统主要完成车票的查询功能。
查询系统的子菜单:
车票查询、车辆查询、已售票查询,这三个子系统都是对车票信息、车辆信息、已售票信息的查询。
基本信息表主要完成对当前全部信息的浏览功能。
基本信息表的子菜单:
车票基本信息表、车辆基本信息表、已售票基本信息表。
这三个基本信息表向用户显示了信息表中的所有信息,还可以浏览到当前记录的每个具体信息。
管理系统主要完成对车票、车辆、售票等信息的管理。
管理系统的子菜单:
车票管理、车辆管理、已售票管理,这三个管理子系统都有添加、删除、修改等功能。
统计系统主要完成销售车票的统计,剩余车票的统计,金额的统计等功能。
窗体的背景加了一幅含有火车的图片,目的在于吸引用户的注意,提高用户的好奇心。
用户进入系统,必须经过系统验证,方可进入主程序。
系统登录界面主要实现以下功能:
(1)确认用户的身份及使用权限。
(2)支持键盘、鼠标操作。
具体设计过程如下:
在主窗体中添加两个标签控件,一个用于提示用户姓名,一个用于提示用户的密码。
一个文本框控件用于用户输入相应的密码。
一个下拉列表控件,是在窗体的动态运行中添加的文本内容,方便用户选择自己的姓名,而不用在每次进入系统都要手动的输入文字,大大方便了用户的使用。
一个命令按钮用于进入具体的系统的界面,如果用户的姓名和密码都是正确的,则该用户会顺利进入此系统,否则,提醒用户的密码不正确,即通过用户名和密码判断,并给出该用户的权限。
售票界面编码设计
1.销售车票
用户单击菜单栏上的[销售系统]或单击按钮[销售系统],在弹出的窗体中选择[销售车票]选项,进入销售车票界面。
销售车票主要完成车票的销售工作。
销售车票的窗体运行结果如图5-3所示。
图5-3销售车票窗体运行结果
在用户选定票号、终点站、日期后,可以选择[查询]按钮进行查询,查询结果在上表中显示。
在下表中选择所要售的车票,单击[售票]就可以完成售票工作。
具体设计过程如下:
在当前窗体中添加一个Frame控件,该控件就像是一个容器,可以存放好多控件,这样做主要是为了美化界面,给用户一个好的印象。
两个网格控件,一个用于显示车票的基本信息表,一个用于显示车辆的基本信息表,让用户及时的观察到最新的信息动态。
两个ADOData控件,主要是用于与所建立的数据库进行绑定连接,建立相应的数据源,以便为网格控件服务。
[查询]按钮用于信息的查询,通过单击该按钮用户可以实现对以上要查询的信息的查询,同时在左边的两个网格控件中将要显示用户所要查询的信息。
[售票]按钮用于当操作员选定了满足条件的车票后,就可以单击售票按钮,进而实现车票的销售。
同时在此时售票信息表的内容要动态添加,还要修改车辆信息表中刚刚销售的车票的状态设置为[已售]状态。
[退出]按钮用于当前窗体的退出。
两个下拉列表控件,一个是票号的选择,一个是终点站的选择,这两个下拉列表中的内容都是在窗体的运行中动态添加的。
一个日期控件用于显示日期的选择,用户通过下拉列表,可以对日期进行选择。
标签控件分别用于显示票号、始发站、终点站、日期、车次、车型、票价、线路、时间、座号等信息。
文本框分别用于显示相对应的内容。
此界面用到了DataGrid控件,它是一种类似于电子数据表的绑定控件,可以通过显示一系列行和列来表示对象的记录和字段,也可以使用它来创建一个允许最终用户阅读和写入到绝大多数数据库的应用程序。
它可以在设计的时候快速进行配置,只需少量代码或无需代码。
当在设计时设置了它的DataSource属性后,就会用数据源的记录集来自动填充该控件,以及自动设置该控件的列标头。
然后用户就可以编辑该网格的列;删除、重新安装、添加列标头或者调整任意一列的宽度。
2.预定车票
用户单击菜单栏上的[销售系统]或单击按钮[销售系统],在弹出的窗体中选择[预定车票]选项,进入预定车票界面。
预定车票主要完成车票的预定工作。
在用户选定票号、终点站、日期后,可以选择[查询]按钮进行查询,查询结果在上表中显示。
在下表中选择所要预定的车票,单击[订票]就可以完成订票工作。
具体设计过程如下:
此窗体的设计和销售车票窗体的设计相似,在当前窗体中添加一个Frame控件,该控件就像是一个容器,可以存放好多控件,这样做主要是为了美化界面,给用户一个好的印象。
两个网格控件,一个用于显示车票的基本信息表,一个用于显示车辆的基本信息表,让用户及时的观察到最新的信息动态。
两个ADOData控件,主要是用于与所建立的数据库进行绑定连接,建立相应的数据源,以便为网格控件服务。
[查询]按钮用于信息的查询,通过单击该按钮用户可以实现对以上要查询的信息的查询,同时在左边的两个网格控件中将要显示用户所要查询的信息。
[售票]按钮用于当操作员选定了满足条件的车票后,就可以单击售票按钮,进而实现车票的销售。
同时在此时售票信息表的内容要动态添加,还要修改车辆信息表中刚刚销售的车票的状态设置为[已售]状态。
[退出]按钮用于当前窗体的退出。
两个下拉列表控件,一个是票号的选择,一个是终点站的选择,这两个下拉列表中的内容都是在窗体的运行中动态添加的。
一个日期控件用于显示日期的选择,可以提供格式化的日期字段,用户进行日期选择很容易。
另外,还可以用于日期的计算和天数的计算。
用户通过下拉列表,可以对日期进行选择。
标签控件分别用于显示票号、始发站、终点站、日期、车次、车型、票价、线路、时间、座号等信息。
文本框分别用于显示相对应的内容。
3.退票
用户单击菜单栏上的[销售系统]或单击按钮[销售系统],在弹出的窗体中选择[退票]选项,进入退票界面。
退票主要完成车票的消退工作。
退票的窗体运行结果如图5-4所示。
图5-4退票窗体运行结果
通过输入车票的一些基本信息,然后单击[确定]按钮,即可完成退票的功能。
具体设计过程如下:
在当前窗体中添加一个Frame控件,该控件就像是一个容器,可以存放好多控件,这样做主要是为了美化界面,给用户一个好的印象。
两个下拉列表控件,一个是票号的选择,一个是状态的选择,这两个下拉列表中的内容都是在窗体的运行中动态添加的。
一个日期控件用于显示日期的选择,可以提供格式化的日期字段,用户进行日期选择很容易。
另外,还可以用于日期的计算和天数的计算。
用户通过下拉列表,可以对日期进行选择。
标签控件分别用于显示票号、状态、开车日期、车次、车型、票价、线路、座号、手续费等信息。
文本框分别用于显示相对应的内容。
一个命令按钮用于确定退票,点击后,当前输入信息的车票将被退回,车辆基本信息表中该车票的状态设置为[未售]状态。
查询界面编码设计
1.车票信息查询
用户单击菜单栏上的[查询系统]或单击按钮[查询系统],在弹出的窗体中选择[车票基本信息查询]选项,进入车票基本信息查询界面。
车票基本信息查询主要完成车票的查询工作。
用户可选择单选按钮[终点站]、[线路]、[车型],在右边的文本框中输入要查询的关键字,结果便显示在上表中。
具体设计过程如下:
在当前窗体中添加两个Frame控件,该控件就像是一个容器,可以存放好多控件,这样做主要是为了美化界面,一个放了三个单选按钮,一个放了一文本框,用于输入相应的信息。
一个网格控件,用于显示车票的基本信息表,让用户及时的观察到最新的信息动态。
一个ADOData控件,主要是用于与所建立的数据库进行绑定连接,建立相应的数据源,以便为网格控件服务。
如果用户选择了[终点站],则在右边的文本框中输入相应的终点站,在上边的网格中将要显示所要查询的结果。
如果用户选择了[线路],则在右边的文本框中输入相应的线路,在上边的网格中将要显示所要查询的结果。
如果用户选择了[车型],则在右边的文本框中输入相应的车票类型,在上边的网格中将要显示所要查询的结果。
2.车辆信息查询
用户单击菜单栏上的[查询系统]或单击按钮[查询系统],在弹出的窗体中选择[车辆基本信息查询]选项,进入车辆基本信息查询界面。
车辆基本信息查询主要完成车辆信息的查询工作。
车辆信息查询的窗体运行结果如图5-5所示。
用户可选择单选按钮[车次]、[始发时间]、[线路],在右边的文本框中输入要查询的关键字,结果便显示在上表中。
图5-5车辆信息查询运行结果
具体设计过程如下:
在当前窗体中添加两个Frame控件,该控件就像是一个容器,可以存放好多控件,这样做主要是为了美化界面,一个放了三个单选按钮,一个放了一文本框,用于输入相应的信息。
一个网格控件,用于显示车辆的基本信息表,让用户及时的观察到最新的信息动态。
一个ADOData控件,主要是用于与所建立的数据库进行绑定连接,建立相应的数据源,以便为网格控件服务。
如果用户选择了[车次],则在右边的文本框中输入相应的车次,在上边的网格中将要显示所要查询的结果。
如果用户选择了[始发时间],则在右边的文本框中输入相应的