火车票售票管理系统毕业设计Word格式文档下载.docx
《火车票售票管理系统毕业设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《火车票售票管理系统毕业设计Word格式文档下载.docx(30页珍藏版)》请在冰豆网上搜索。
5.1.3车次信息查询........................................18
5.1.4售票......................................................19
5.15退票......................................................20
总结与展望.................................................21
参考文献...............................................22
附录代码.....................................................23
第一章概述
1.1概述
目前火车站售票的状况是仅靠手工操作,以现有的工作人员很难应付车票订购高峰时刻的大量数据处理问题。
同时还会出现由此带来的大量记录存放和管理所带来的问题。
本次设计拟开发一个火车站网上订票系统,可以降低工作人员的工作量,提高工作人员的工作效率,同时方便顾客订票。
1.2意义
火车站市场的管理和规范问题,是困扰我们多年的一个老问题,也是政府管理中的一个难点,订票是客运业务中的一个最基本的业务,表面上看,它只是火车站业务的一个简单的部分,但是它涉及到管理与客户服务等多方面,因此,过去传统的售票方式已经不能满足现代客运业务流量剧增的客观要求,这就要求一种全新的订票方式——网上订票,来缓解订票高峰时期的客运压力,并为用户提供方便快捷的订票服务。
本次设计便是利用开发工具vs005和SQLServer2008数据库共同开发的一个火车站网上订票系统,它能方便快捷地运用在火车站订票业务的营运之中。
1
第二章系统的可行性研究和需求分析
2.1可行性研究
该阶段通过对系统目标的初步调研和分析,提出可行性方案并进行论证。
我们在这里主要从技术可行性、经济可行性和操作可行性三方面进行分析。
2.1.1经济可行性
本系统其他应用软件、硬件系统也易于获得.因此,开发成本较低。
而引进使用本系统后,与传统方式相比,具有高效率、低成本、高质量的特点,可以节省不少人力、物力及财力。
所以,从经济的角度来看,该系统可行。
2.1.2技术可行性
开发工具:
VS2005
数据库环境:
SQLServer2005
系统环境:
MicrosoftWindows2000或以上版本。
系统实现依靠相对熟悉的c语言和SQLServer2008数据库系统,其基本操作实质还是对数据库进行添加、删除、查找等操作。
2.1.3操作可行性
系统采用菜单式,实现用户与数据库的交互,界面简洁友好,操作方便。
2
2.2需求分析
需求分析是软件设计的一个重要的环节。
本阶段对订票系统的应用情况作全面调查,以确定系统目标,并对系统所需要的基础数据以及数据处理要求进行分析,从而确定用户的需求。
用户对系统的需求我们从以下几方面进行分析。
2.2.1功能需求
本网上售票系统应该具备如下功能:
1.查询
分为对车次信息的查询和客户对已订车票信息的查询。
要求:
1)对车次的查询,可以按照发车车次进行查询;
2)车次信息包括:
车号、出发地、目的地、发车日期、开出时刻、票价。
3)座位类型设定。
4)车次信息只允许用户查询,不能修改。
2.添加车票
通过查询系统,客户根据自己的需求找到满意的车次,再输入个人信息后直接通过网上售票确定已预订选中的车票。
售票记录应包括:
会员名、车号、发车日期、订购票数、总价。
3.退票
可退票,通过查询系统,客户可以根据自己的名字找到自己的订票信息,通过退票模块退去已购车票。
3
2.2.2数据需求
信息需求,即在系统中需要处理哪些数据。
根据对火车站网上订票系统的分析,本系统的信息需求如表2-1所示。
表2-1信息输入输出
信息输入
信息处理
信息输出
用户输入所需车次
检索系统数据库
符合用户需求的车次及相关信息
用户输入个人信息及所需购的车票信息
更新系统中的订票信息,将新信息输入系统数据库
操作反馈(如找零)
2.2.3性能需求
为了保证系统能够长期、安全、稳定、可靠、高效的运行,本系统应该满足以下的性能需求。
1.准确性和及时性
系统处理的准确性和及时性是系统的必要性能。
系统应能及时而且准确的根据用户权限及所输入的信息做出响应。
由于本系统的查询功能对于整个系统的功能和性能完成举足轻重。
作为系统的很多数据来源,而车票的数量和时间又影响用户的决策活动,其准确性和及时性很大程度上决定了系统的成败。
在系统开发过程中,必须采用一定的方法保证系统的准确性和及时性。
4
2.易用性
本系统是直接面对用户的,而用户往往对计算机并不是非常熟悉。
这就要求系统能够提供良好的用户接口,易用的人机交互界面。
要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面,从而保证系统的易用性。
2.2.4数据库逻辑结构
火车站网上售票系统数据库中各个表格的设计结果如表2-5——表2-7所示。
每个表格表示在数据库中的一个表。
表2-5车次信息表BusInfo
字段名
数据类型
是否可空
说明
BusID
char(10)
NOTNULL
车号(主键)
BusFrom
varchar(50)
出发地
BusTo
目的地
Price
money
票价
5
表2-6订单表OrderInfo
OrderID
Char(10)
订单号(主键)
车号(外键)
BusDate
datetime
发车日期(外键)
Total
Money
总价
表2-7用户表User
UserID
char(18)
生日(主键)
User
用户名
6
第三章系统的总体设计
3.1系统软件结构设计
3.1.1软件结构
本火车站网上订票系统可划分为信息查询、网上订票、取消订票三个部分。
其中信息查询又可分为车次查询和订单查询两个部分。
其层次图如图3.1所示。
图3.1火车站网上订票系统的层次图
3.2系统流程图
系统顶层流程图如下图3.5所示。
图3.6——图3.9为各模块详细系统流程图。
7
图3.5顶层系统流程
图3.6车次信息查询系统流程图
图3.7订单信息查询系统流程图
图3.8订票系统流程图
8
第四章详细设计
4.1过程设计
4.1.1程序流程图
本系统主界面为用户设计了三个功能操作以供选择:
查询,订票,退票。
另外,为方便用户,还将“退出系统”也单另列了出来,用户可以根据需要触发不同事件。
其处理流程如图4.1所示。
1.系统用户权限的系统主处理流程
9
10
图4.1系统用户权限的系统主程序流程图
2.售票员权限的系统主处理流程
图4.2售票员权限的系统主程序流程图
11
3.车次信息查询处理流程
12
图4.3车次信息查询程序流程图
13
4.车票处理流程
图4.4售票程序流程图
5.车票信息查询处理流程
14
图4.5订票信息查询模块程序流程图
6.退票模块处理流程
15
图4.6退票模块程序流程图
16
第五章.系统的实现与调试
5.1应用系统的开发及测试
5.1.1系统首页
图5.1系统首页
5.1.2用户登录及访问权限
本系统设计要求用户通过登录框选择访问权限,登录系统。
其中,用户须输入用户名和密码,以进入系统。
系统用户权限登录访问时,车次信息查询、订票信息查询、订票、退票等功能均可用。
系统用户输入正确的用户名和密码,访问系统,得到其相应的权限。
17
图5.2登录框
系统用户输入错误的用户名或身份证号,系统拒绝其访问。
图5.3出错提示
5.1.3车次信息查询
对车次信息的查询,系统提供了车次信息,进行精确的查询,系统经过检索,返回符合用户要求的车次,再由用户自行选择满意的车次。
18
图5.4车次查询条件框
5.1.4售票
系统通过售票员输入的车次、始末站等信息进行售票。
19
图5.5售票信息界面
5.1.5退票
系统进入点击退票按钮进行退票,系统返回退票信息。
图5.6系统自动返回退票后的信息
20
总结与展望
在未来相当长的时间内,火车将成为21世纪最为可靠,快速,便捷的出行方式,同时,随着我国经济快速发展,和经济增长方式逐渐向发展内需方向转变,为中国铁路的发展带来了全新的机遇。
对火车票预定与管理系统,我认为将会出现以下几种发展趋势:
1:
纸质车票将会被电子车票代替:
电子车票的出现将乘客的唯一标识例如指纹或RFID技术作为购票和乘车凭证,因为免去了纸质车票的传递过程,将更大程度的方便乘客选择火车出行,真正的可以做到足不出户就能完成车票的订购。
目前上海已经进入了磁卡火车票,这已经是在原有纸质车票基础上的一个巨大的变化。
2:
火车票预定与管理系统功能将更加多元化,系统将更加集中,电子车票的出现将使火车票信息系统的架构发生巨大变化,原来分散的,独立的基于客户机/服务器的结构将转换为浏览器/服务器结构,并且一个主机系统可以服务全国的乘客订票需求。
同时因为上百万的用户的在线使用,对火车票预定与管理系统的功能提出一个新的挑战。
对系统的可靠性,可用性,性能要求发生质的变化。
21
参考文献
《现代软件工程》
《数据库系统概论》
《SQLserver2000数据库管理与开发》
《SQLServer2000基础与提高》
22
附录A
登陆窗
#regionWindows窗体设计器生成的代码
privatevoidInitializeComponent()
{
this.lblID=newSystem.Windows.Forms.Label();
this.lblPassWord=newSystem.Windows.Forms.Label();
this.cbSelect=newSystem.Windows.Forms.ComboBox();
this.lblSelect=newSystem.Windows.Forms.Label();
this.txtID=newSystem.Windows.Forms.TextBox();
this.txtPassWord=newSystem.Windows.Forms.TextBox();
this.btnCancel=newSystem.Windows.Forms.Button();
this.label1=newSystem.Windows.Forms.Label();
this.skinEngine1=newSunisoft.IrisSkin.SkinEngine(((System.ComponentModel.Component)(this)));
this.btnEnter=newSystem.Windows.Forms.Button();
this.SuspendLayout();
//LoginForm
//this.AutoScaleDimensions=newSystem.Drawing.SizeF(6F,12F);
this.AutoScaleMode=System.Windows.Forms.AutoScaleMode.Font;
this.AutoValidate=System.Windows.Forms.AutoValidate.EnablePreventFocusChange;
this.BackgroundImageLayout=System.Windows.Forms.ImageLayout.Stretch;
this.ClientSize=newSystem.Drawing.Size(322,312);
this.Controls.Add(this.label1);
this.Controls.Add(this.btnCancel);
this.Controls.Add(this.btnEnter);
this.Controls.Add(this.txtPassWord);
this.Controls.Add(this.txtID);
this.Controls.Add(this.lblSelect);
this.Controls.Add(this.cbSelect);
this.Controls.Add(this.lblPassWord);
this.Controls.Add(this.lblID);
this.FormBorderStyle=System.Windows.Forms.FormBorderStyle.Fixed3D;
this.MaximumSize=newSystem.Drawing.Size(332,348);
this.MinimumSize=newSystem.Drawing.Size(332,348);
this.Name="
LoginForm"
;
this.StartPosition=System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text="
登录界面"
this.Load+=newSystem.EventHandler(this.Login_Load);
this.ResumeLayout(false);
this.PerformLayout();
}
}
附录B
主界面
namespaceTicketMana
{
partialclassSellerForm
///<
summary>
///必需的设计器变量。
/summary>
privateSystem.ComponentModel.IContainercomponents=null;
partialclassSellTicketForm
///清理所有正在使用的资源。
paramname="
disposing"
>
如果应释放托管资源,为true;
否则为false。
<
/param>
protectedoverridevoidDispose(booldisposing)
if(disposing&
&
(components!
=null))
components.Dispose();
base.Dispose(disposing);
//
//skinEngine1
//
this.skinEngine1.SerialNumber="
"
this.skinEngine1.SkinFile=null;
//lblLeaveCity
this.lblLeaveCity.AutoSize=true;
this.lblLeaveCity.Font=newSystem.Drawing.Font("
楷体"
11.25F,System.Drawing.FontStyle.Bold,System.Drawing.GraphicsUnit.Point,((byte)(134)));
this.lblLeaveCity.Location=newSystem.Drawing.Point(4,17);
this.lblLeaveCity.Name="
lblLeaveCity"
this.lblLeaveCity.Size=newSystem.Drawing.Size(75,15);
this.lblLeaveCity.TabIndex=0;
this.lblLeaveCity.Text="
始发站:
//timer1
this.timer1.Tick+=newSystem.EventHandler(this.timer1_Tick);
//txtActuallyPaid
this.txtActuallyPaid.Location=newSystem.Drawing.Point(496,49);
this.txtActuallyPaid.Name="
txtActuallyPaid"
this.txtActuallyPaid.Size=newSystem.Drawing.Size(179,21);
this.txtActuallyPaid.TabIndex=15;
this.txtActuallyPaid.TextChanged+=newSystem.EventHandler(this.txtActuallyPaid_TextChanged);
this.txtActuallyPaid.Leave+=newSystem.EventHandler(this.txtActuallyPaid_Leave);
//lblChangeMoney
((System.ComponentModel.ISupportInitialize)(this.dgvTicketSellInfo)).EndInit();
附录C
车次查询namespaceTicketMana
partialclassTicketInfoForm
protectedoverridevoidDispos