火车售票系统研究与设计毕业论文.docx
- 文档编号:12734455
- 上传时间:2023-04-21
- 格式:DOCX
- 页数:35
- 大小:106.92KB
火车售票系统研究与设计毕业论文.docx
《火车售票系统研究与设计毕业论文.docx》由会员分享,可在线阅读,更多相关《火车售票系统研究与设计毕业论文.docx(35页珍藏版)》请在冰豆网上搜索。
火车售票系统研究与设计毕业论文
火车售票系统研究与设计毕业论文
引言1
1Delphi语言概述2
1.1Delphi简介2
1.2数据库系统简介2
1.3本应用软件的基本介绍3
2本应用程序的构成和开发步骤4
2.1可行性研究4
2.1.1经济可行性4
2.1.2时间可行性4
2.1.3技术可行性4
2.1.4社会可行性5
2.2数据库的建立和连接5
2.3系统的总体设计5
2.4系统的详细设计7
3本程序的技术实现及具体功能13
3.1车票信息查询的实现及功能13
3.2售票系统主界面的设计与实现14
结论21
致谢22
参考文献23
引言
随着Internet和Intranet技术的发展,人们对网络信息的需求越来越大,对网络数据库的交互和查询速度等性能的要求也越来越高。
未来火车站的发展趋势是完全自动化的售票信息查询,网络订票,智能化订票,而且随着计算机的普及,信息处理量的逐渐扩大,手工处理方式已经远远不能满足人们管理活动的需要,各种工作都逐渐由手工转为自动化,将使许多复杂、繁琐、且需要很多人力的工作变得简单。
火车站售票管理是本系统的根本任务,通过实现票务信息的计算机管理,以提高工作效率。
实现计算机管理的最佳技术就是数据库技术。
我们可以利用数据库将整个火车站的票务情况存入计算机,再配置上功能丰富的用户接口,以满足用户需求。
一个火车站售票信息管理系统应达到的目标是提供及时、广泛的信息服务,加快信息检索的效率,实况灵活的查询,减轻管理人员制作报表和统计分析的负担,且系统规模不太大但又要保证支持日常工作的要求,以便系统应易于扩充,方便日后统一联网与管理,提高管理水平。
根据以上的设计目标和要求,本设计用Delphi编程语言结合微软的Access数据库进行开发.
火车售票系统用计算机管理火车站票务信息的一种计算机应用技术的创新,在计算机还未普及之前售票业务都是由工作人员人工完成的,查询方式来操作的.现在一般的车站售票业务都采用计算机智能化管理,采用计算机作为工具的实用的计算机订单管理程序来帮助前台管理员进行更有效的车票业务查询,出售管理工作。
火车票出售管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。
对于前者要求建立起数据一致性和完整性强、数据安全性好的库。
而对于后者则要求应用程序功能完备,易使用等特点。
经过分析,我们使用Delphi编程语言开发工具,利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。
因为本人能力有限,加上时间紧迫,所以设计出来的本系统可能功能比较简单,另外本系统是单机版,不能实现网络互联操作,这些都有待于我在以后的工作学习中进一步改进。
1Delphi语言概述
1.1Delphi简介
Delphi是Inprise公司出品的一个优秀的可视化程序开发工具软件,它短小精悍,但功能却可以与庞大的visualc++媲美。
它易学易用,如同VB,因而被称为“第四代编程语言”。
从1995年推出Delphi1.0至今已经经历了7个版本,Delphi7.0运行在win9x或winme,win2000,winxp,windowsNT等操作系统下,是一个32位的应用程序开发工具。
这里把“VB”比作是傻瓜相机,Delphi是带有自动功能的专业相机。
前些年,软件界流行一句话叫“真正的程序员用VC,聪明的程序员用Delphi”。
也有的把Delphi称作VB杀手。
1.2数据库系统简介
数据库系统是一个实际可运行的存储、维护和应用系统提供数据的软件系统,是存储介质、处理对象和管理系统的集合体。
它通常由软件、数据库和数据管理员组成。
其软件主要包括操作系统、各种宿主语言,实用程序以及数据库管理系统。
数据库是依照某种数据模型组织起来并存放二级存储器中的数据集合。
这些数据为多个应用服务,独立于具体的应用程序。
数据库由数据库管理系统统一管理,数据的插入、修改和检索均要通过数据库管理系统进行。
数据库管理系统是一种系统软件,它的主要功能是维护数据库并有效地访问数据库中任意部分数据。
对数据库的维护包括保持数据的完整性、一致性和安全性。
数据管理员负责创建、监控和维护整个数据库,使数据能被任何有权使用的人有效使用。
数据库管理员一般是由业务水平较高、资历较深的人员担任。
数据库系统的个体含义是指一个具体的数据库管理系统软件和用它建立起来的数据库;它的学科含义是指研究、开发、建立、维护和应用数据库系统所涉及的理论、方法、技术所构成的学科。
在这一含义下,数据库系统是软件研究领域的一个重要分支,常称为数据库领域。
数据库研究跨越于计算机应用、系统软件和理论三个领域,其中应用促进新系统的研制开发,新系统带来新的理论研究,而理论研究又对前两个领域起着指导作用。
数据库系统的出现是计算机应用的一个里程碑,它使得计算机应用从以科学计算为主转向以数据处理为主,并从而使计算机得以在各行各业乃至家庭普遍使用。
在它之前的文件系统虽然也能处理持久数据,但是文件系统不提供对任意部分数据的快速访问,而这对数据量不断增大的应用来说是至关重要的。
为了实现对任意部分数据的快速访问,就要研究许多优化技术。
这些优化技术往往很复杂,是普通用户难以实现的,所以就由系统软件(数据库管理系统)来完成,而提供给用户的是简单易用的数据库语言。
由于对数据库的操作都由数据库管理系统完成,所以数据库就可以独立于具体的应用程序而存在,从而数据库又可以为多个用户所共享。
因此,数据的独立性和共享性是数据库系统的重要特征。
数据共享节省了大量人力物力,为数据库系统的广泛应用奠定了基础。
数据库系统的出现使得普通用户能够方便地将日常数据存入计算机并在需要的时候快速访问它们,从而使的计算机走出科研机构进入各行各业、进入家庭。
1.3本应用软件的基本介绍
本应用软件先是打开一个启动窗口,就可以进入应用程序的主窗口了。
主界面是一个图型界面窗口,整个平台显示采用图标方式,可以非常方便的进行车票查询,订票,退票,操作员管理以及车票管理.通过各种条件查询出车票销售的基本信息,以及打印出查询出的基本信息,总之一切车票出售,现存基本信息都会显示在系统平台上。
可方便选择,大大提高了管理人员的工作效率。
2本应用程序的构成和开发步骤
下面从软件工程的角度介绍本程序的基本开发步骤。
Delphi应用程序一般包含以下三个基本部分:
一,应用程序运行的接口:
负责系统整体环境的设置,运行状态的监视,应用程序的启动等。
二,应用程序的主体:
主要完成用户的业务逻辑功能,如通过输入车次或车站名同时配合日期座位类型查询剩余的车票数量。
定票:
在查询的基础上,定票(可预定3天的车票)车票整理一天过去后,可以删除今天的余票记录,并增加第四天的车票。
主演,导演信息的录入,用户管理,出借天数等信息.
三.应用程序的辅助部分:
协助程序主体完成的一些工作。
下面从软件工程的角度描述本程序的开发生命周期,开发过程和组织过程。
2.1可行性研究
任何一个系统或一项工程,在建立之前,必须首选进行可行性分析,可行性分析包括两层含义,一是可能性,二是必要性。
可能性指开发信息系统的条件是否具备,必要性是指客观上是否真正需要,通过可行性研究,可避免盲目投资,减少政治性要的损失。
下面从四方面来讨论:
2.1.1经济可行性
主要是只指算一个新的系统开发所需要的投资费用和运算费用,并与估计的新系统收益进行比较,看是否有利。
本系统所需的软硬件成本比较低,投资小,具有一定的通过性,因此,在经济上是可行的。
2.1.2时间可行性
主要包括系统在目前环境下能否正常运行,运行后所引起的各方面,以及这些变化对社会或人的因素所产生的影响。
本系统对人事的管理比较全面,可长期使用。
2.1.3技术可行性
利用现有的设备,软件及技术人员,新系统的目标能否达到,这也是可行性研究中需要考虑的一个问题。
关系型数据库的高速发展使管理信息系统具备了良好的开发环境。
本系统使用的Delphi普及性好,操作简单,用户可以很快掌握使用方法,因此,在技术上是完全可行的。
2.1.4社会可行性
人类社会文明的发展已进入信息化的高速发展时期,传统的手工方式支持下的管理模式,已经不能满足各方面的需要。
开发本系统的目标不仅是提高工作效率,减轻劳动强度,而且减少出错率,具有很好的社会意义。
2.2数据库的建立和连接
这个程序采用的数据库是MicrosoftAccess2000,Delphi作为数据库的前台开发工具,必须与后台数据库进行连接,这样才能控制和进行操作数据库,数据库的连接方式有两种,ODBC和ADO。
ODBC是数据库的通用接口,其缺点是效率低;专用接口调用直接速度快,但是通用性差,如果用ODBC连接数据库一般要两个步骤:
1.要创建数据源;2.创建描述文件。
数据库的建立则时在access2000中建立的,在这里你可以设置数据库的密码,对数据库进行保护。
在创建数据源时可以通过BDEadministrator进行创建,也可以通过系统控制面板中的ODBC数据源进行建立。
而描述文件则可以在Delphi的主程序中用DatabaseProfile中进行建立,之后进行数据库的连接。
接下来的工作是建表。
同样建表的过程也不是唯一的,但是最终实现的结果是唯一的。
你可以通过Access进行建表,也可以通过在DELPHI6.0主程序中建表,也可以通过powerdesigner进行可视化的建立,不过用这种方法,在导入的时候要把数据库要先断开,否则数据库的数据容易丢失。
建表的过程注意规范化命名规则,如表的字段名等等。
同时也要注意表的字段长度和可否为空。
因为以后要设计到主键,外键的问题。
如果字段名不同,同一字段长度不同则主键和外键将会连接不上。
可见建表时应做好全局的打算。
我在程序开发的初期,同样犯了这个错误,导致数据库出错,有时还要向表中新加入字段。
导致数据窗口不好用的连锁反映。
2.3系统的总体设计
这个管理系统从4月1日开始着手设计开发,经过一段时间的分析,并根据对当地火车站售票管理系统的具体要求及需要本软件实现的功能,将本软件分为5个大的模块,分别是:
第一部分:
查询(通过输入车次或车站名同时配合日期座位类型查);
第二部分:
定票:
在查询的基础上,定票(可预定3天的车票);
第三部分:
退票;
第四部分:
操作员管理;
第五部分:
车票整理(一天过去后,可以删除今天的余票记录,并增加第四天的车票)
程序流程图如下:
2.4系统的详细设计
进入Access后要做的第一件事就是建立一个数据库。
Access提供了6种用构造数据库系统的对象,根据本课题的需要,在这里选择一个空的数据库,命名建立了一个数据库名称为“bysj”,火车售票管理系统。
并在此数据库下创建了四个表,用于存放原始数据。
它只是存放数据,对其中数据的修改要通过对应的窗体来完成。
创建各表的具体结构如下:
1.车次信息表:
2.车票查询信息表:
3.退票信息表:
4.用户信息表:
3本程序的技术实现及具体功能
3.1车票信息查询的实现及功能
界面设计:
代码设计:
unitpiao_pas;
interface
uses
Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,
Dialogs,StdCtrls,DBCtrls;
type
TForm2=class(TForm)
Button1:
TButton;
Label1:
TLabel;
Label2:
TLabel;
Label3:
TLabel;
riqi:
TLabel;
Label4:
TLabel;
xiang:
TLabel;
hao:
TLabel;
Label5:
TLabel;
Label6:
TLabel;
Label7:
TLabel;
leixing:
TLabel;
Label8:
TLabel;
Label9:
TLabel;
zhanm:
TLabel;
no:
TLabel;
etime:
TLabel;
jiage:
TLabel;
procedureButton1Click(Sender:
TObject);
private
{Privatedeclarations}
public
{Publicdeclarations}
end;
var
Form2:
TForm2;
implementation
usestrain_main;
{$R*.dfm}
procedureTForm2.Button1Click(Sender:
TObject);
begin
form2.Close;
end;
end.
3.2售票系统主界面的设计与实现
界面设计:
代码设计:
unittrain_main;
interface
uses
Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,
Dialogs,Menus,ComCtrls,ToolWin,StdCtrls,Buttons,DB,ADODB,ExtCtrls,
Grids,DBGrids,DBCtrls,Mask,ActnList,DBActns;
type
Tmain=class(TForm)
MainMenu1:
TMainMenu;
N1:
TMenuItem;
N5:
TMenuItem;
N6:
TMenuItem;
N2:
TMenuItem;
N7:
TMenuItem;
N8:
TMenuItem;
N9:
TMenuItem;
N3:
TMenuItem;
N10:
TMenuItem;
N11:
TMenuItem;
N12:
TMenuItem;
N4:
TMenuItem;
ToolBar1:
TToolBar;
BitBtn1:
TBitBtn;
ToolButton1:
TToolButton;
BitBtn2:
TBitBtn;
BitBtn3:
TBitBtn;
BitBtn4:
TBitBtn;
ToolButton2:
TToolButton;
ToolButton3:
TToolButton;
ToolBar2:
TToolBar;
BitBtn5:
TBitBtn;
BitBtn6:
TBitBtn;
BitBtn7:
TBitBtn;
BitBtn8:
TBitBtn;
BitBtn9:
TBitBtn;
ToolButton4:
TToolButton;
ToolButton5:
TToolButton;
ToolButton6:
TToolButton;
ToolButton7:
TToolButton;
login:
TPanel;
DataSource1:
TDataSource;
ADOConnection1:
TADOConnection;
Label1:
TLabel;
Label2:
TLabel;
id:
TEdit;
pwd:
TEdit;
Button1:
TButton;
Button2:
TButton;
ADOQuery1:
TADOQuery;
select:
TPageControl;
TabSheet1:
TTabSheet;
TabSheet2:
TTabSheet;
Panel1:
TPanel;
Label3:
TLabel;
Label4:
TLabel;
Label5:
TLabel;
Label6:
TLabel;
Edit1:
TEdit;
Edit2:
TEdit;
ComboBox1:
TComboBox;
ComboBox2:
TComboBox;
Button3:
TButton;
DBGrid1:
TDBGrid;
GroupBox1:
TGroupBox;
Label7:
TLabel;
Label8:
TLabel;
Label9:
TLabel;
Label10:
TLabel;
Label11:
TLabel;
Label12:
TLabel;
Label13:
TLabel;
Label14:
TLabel;
train_no:
TComboBox;
zhanm:
TComboBox;
reach_time:
TDBEdit;
amount:
TDBEdit;
price:
TDBEdit;
emit_time:
TDBEdit;
r_leixing:
TComboBox;
r_riqi:
TComboBox;
buy:
TButton;
ToolBar3:
TToolBar;
GroupBox2:
TGroupBox;
tui:
TDBGrid;
DataSource2:
TDataSource;
ActionList1:
TActionList;
DataSetDelete1:
TDataSetDelete;
Button4:
TButton;
Button5:
TButton;
tuipiao:
TPanel;
Label15:
TLabel;
Label16:
TLabel;
Label18:
TLabel;
Label19:
TLabel;
Label20:
TLabel;
Label21:
TLabel;
Label17:
TLabel;
Label22:
TLabel;
Edit3:
TEdit;
Edit4:
TEdit;
ComboBox3:
TComboBox;
ComboBox4:
TComboBox;
Edit6:
TEdit;
Edit5:
TEdit;
Button6:
TButton;
Button7:
TButton;
Edit7:
TEdit;
ADOQuery2:
TADOQuery;
Action1:
TAction;
DataSetPrior1:
TDataSetPrior;
DataSetNext1:
TDataSetNext;
DataSetDelete2:
TDataSetDelete;
DataSetEdit1:
TDataSetEdit;
DataSetPost1:
TDataSetPost;
DataSetCancel1:
TDataSetCancel;
DataSetInsert1:
TDataSetInsert;
DataSource3:
TDataSource;
man:
TPanel;
Label23:
TLabel;
Panel3:
TPanel;
Label24:
TLabel;
Label25:
TLabel;
Label26:
TLabel;
Label27:
TLabel;
Label28:
TLabel;
Label29:
TLabel;
Label30:
TLabel;
DBEdit1:
TDBEdit;
DBEdit2:
TDBEdit;
DBEdit4:
TDBEdit;
DBMemo1:
TDBMemo;
Button8:
TButton;
Button9:
TButton;
Button10:
TButton;
Button11:
TButton;
Button12:
TButton;
Button13:
TButton;
Panel4:
TPanel;
DBGrid2:
TDBGrid;
sex:
TDBComboBox;
DBComboBox1:
TDBComboBox;
N13:
TMenuItem;
procedureButton2Click(Sender:
TObject);
procedureButton1Click(Sender:
TObject);
procedureFormCreate(Sender:
TObject);
procedureN5Click(Sender:
TObject);
procedureBitBtn2Click(Sender:
TObject);
procedureButton3Click(Sender:
TObject);
proceduretrain_noChange(Sender:
TObject);
procedurezhanmChange(Sender:
TObject);
procedurer_riqiChange(Sender:
TObject);
procedurer_leixingChange(Sender:
TObject);
procedurebuyClick(Sender:
TObject);
procedureN7Click(Sender:
TObject);
procedureN8Click(Sender:
TObject);
procedureButton5Click(Sender:
TObject);
procedureN6Click(Sender:
TObject);
procedureBitBtn4Click(Sender:
TObject);
procedureButton6Click(Sender:
TObject);
procedureButton7Click(Sender:
TObject);
procedureN9Click(Sender:
TObject);
procedureBitBtn9Click(Sender:
TObject);
procedureButton4Click(Sender:
TObject);
procedureBitBtn7Click(Sender:
TObject);
private
{Privatedeclarations}
public
{Publicdeclarations}
end;
var
main:
Tmain;
implementation
usespiao_pas;
varlog:
boolean=false;
leixing,riqi:
string;
Distance:
integer;
{$R*.dfm}
procedureTmain.Button2Click(Sender:
TObject);
begin
main.Close;
end;
procedureTmain.Button1Click(Sender:
TObject);
varuserid,userpwd:
string;
Adoquery2:
TADOQuery;
beg
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 火车 售票 系统 研究 设计 毕业论文