计算机科学与技术毕业论文.docx
《计算机科学与技术毕业论文.docx》由会员分享,可在线阅读,更多相关《计算机科学与技术毕业论文.docx(24页珍藏版)》请在冰豆网上搜索。
计算机科学与技术毕业论文
晋中学院
本科毕业论文(设计)
题目火车售票系统的设计与实现
院系计算机科学与技术
专业计算机科学与技术
姓名魏治华
学号**********
学习年限2007年9月至2011年6月
指导教师李俊丽职称讲师
申请学位理学士学位
2011年5月7日
火车售票系统的设计与实现
学生姓名:
魏治华指导老师:
李俊丽
摘要:
本文针对火车站的实际售票情况,按照软件工程的结构化设计思想,经过项目的可行性研究和需求分析、总体设计、详细设计,以及编码实现和调试等步骤设计开发了火车售票系统。
系统利用VS2005开发工具和SQLServer2000数据库来开发。
可以满足火车站售票的基本要求,解决了火车站售票工作所遇到的问题。
同时为用户提供快捷方便的服务,可以灵活运用到火车站售票工作当中。
关键词:
火车售票;VS2005;SQL2000
TrainTicketingSystemDesignandImplementation
Author’sName:
WeiZhihuaTutor:
LiJunli
ABSTRACT:
Aimattheactualsituationonthetrainticketingandaccordingtothestructuraldesignthoughtofsoftwareengineering,Ihavebuiltaticketbookingsystemthroughthefeasibilitystudy,requirementanalysis,architectureanddetaildesign,andcodingandtesting.
ThisproductisdevelopedinVS2005,andtheDBMSofSQLserver2000.Thissystemcanmeetthedemandaboutthetrainticket,includingtoinquiringaticketinformation,bookingaticketandrefundingaticketandsolvetheproblemwhichthesupervisorcomeupagainstintheworkofticketing.Itprovidesadditionalright(protectedbyadminpriviledge)accordingtodemandofcustomer,servicesincustomerconvenientlyandefficientlyandflexiblyapplytotheworkofticketing.
KEYWORDS:
Ticketsellingsystem;VS2005;SQLServer2000
引言
现今的社会发展迅速,火车成为了人们在交通方面不可缺少的交通工具,乘坐火车出行的人越来越多,所以铁路的客运量也在迅速的增长着。
为了给人们带来方便快捷的交通环境,铁路系统采取提高列车的速度,增加客运列车等措施来满足大量的旅客的乘车需求。
但是,现在人多车多的情况下,如果再像从前一样,在一个单一的地点售票,必然满足不了现在的形势。
所以就需要售票能够在不同的地点进行。
如此的情况之下,售票系统自然是相当必要的。
售票系统的出现能够在很大的程度上解决单一地点售票所带来的种种不便,并且能够使想要出行的旅客方便的买到自己需要的车票。
对于售票处的地点也从原来的单一地点(车站)变成了多个地点,可以在市内的多个地点(宾馆、酒店、娱乐场所等等)。
这样给将要出行的旅客带来了更进一步的方便。
使旅客无论是在金钱还是在时间方面都能够得到充分的节省。
为了方便旅客,售票系统不仅仅只能售票,也就是说系统的用户应该不只是售票员,还应该有管理员。
管理员能够通过售票系统及时的更新乘车信息。
这样才能够使乘客避免不必要的麻烦,真正的解决以前老式售票的种种不便,才能够真正的成为现在网络社会的真正适应者。
1系统概述
1.1背景
随着我国经济的高速发展,我国的交通运输能力不断提高,越来越多的国民开始走出家门来到异地进行商务或者旅游等活动。
在这一条件下,客流量不断增大。
火车售票的管理对于交通运输的正常运行起着至关重要的作用,而随着信息量的逐步增加,繁杂的数据处理费时费力,单纯以人力进行的火车售票已经不适合现状了。
现在的时代是一个信息产业的时代,国家把信息产业作为了增长国民经济重要的一环。
在这样的环境下,以先进的信息技术进行火车售票的管理成为了时代发展的必然。
综上所述,开发这样一个火车联网售票系统是相当有必要的。
1.2可行性分析
火车联网售票系统以计算机为操作工具,把售票的工作人员从繁杂的数据管理以及处理中解放出来,从而增加工作效率,火车联网售票系统把车票的各种信息保存于数据库中,通过计算机可以很方便地对所需要数据进行查询等各种操作,而且这些操作全部由系统内部的代码完成,用户只需要通过该系统友好的界面,输入一些简单的数据便可操作,使用者可以很轻易地学会使用。
2需求分析
2.1系统需求
2.1.1硬件配置
CPU:
Pentium1.8GHz以上。
内存:
256MB。
2.1.2运行平台
操作系统:
MicrosoftWindowsXP。
开发工具:
VisualStudio2005中文版
后台数据系统:
MicrosoftSQLserver2000。
2.2功能需求
火车售票系统由一个登录系统组成,但它分两部分登录,一个是管理员登录,一个是售票员登录,两部分登录后共享一个界面,但却可以实现不同的功能。
火车售票系统的登录数据流程图如图2-1所示。
管理员信息表售票员信息表
验证验证
是否是否
正确正确
输入输入
数据数据
反馈反馈
结果结果
图2-1系统登录界面
火车售票系统分为售票员系统和管理员系统两个系统。
2.2.1管理员系统
该系统又包括以下三个子系统:
1删除车次系统
2修改车次系统
3增加车次系统
输入数据输入数据
输出数据
输出数据
车次信息数据库
输入数据
输出数据
图2-2管理员功能
2.2.2售票员系统
该系统又包括以下四个子系统
1购票系统
2订票系统
3退票系统
4订票结款系统
输入数据输入数据
输出输出
数据数据
订票信息表
输入数据输出数据
输出数据输出数据
图2-3售票员功能
2.3性能需求
为了保证系统能够长期、安全、稳定、可靠、高效的运行,本系统应该满足以下的性能需求。
2.3.1准确性和及时性
系统处理的准确性和及时性是系统的必要性能。
系统应能及时而且准确的根据用户权限及所输入的信息做出响应。
由于本系统的查询功能对于整个系统的功能和性能完成举足轻重,而车票的数量和时间又影响用户的决策活动,因此其准确性和及时性很大程度上决定了系统的成败。
在系统开发过程中,必须保证系统的准确性和及时性。
2.3.2易用性
本系统更多面对宾馆、酒店、娱乐场等场所的非专业用户,而用户往往对计算机并不是非常熟悉。
这就要求系统能够提供良好的用户接口,易用的人机交互界面。
要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面,从而保证系统的易用性。
3开发工具介绍
3.1VS2005
VS2005是VisualStudio2005的缩写。
VisualStudio是微软公司推出的开发环境。
是目前最流行的Windows平台应用程序开发环境。
MicrosoftVisualStudio2005TeamSystem提供支持整个软件开发团队的工具:
·架构师:
VisualStudio2005TeamArchitectEdition包括集成、高效的工具,用于直观地构建面向服务的解决方案,这些解决方案从部署环境的初始状态开始设计。
·开发人员:
VisualStudio2005TeamDeveloperEdition为开发人员提供高级的静态分析、代码剖析、代码涵盖以及单元测试工具,使团队能够在整个生命周期中尽早、频繁地规划质量。
·测试人员:
VisualStudio2005TeamTestEdition构建于开发人员版本之上,更好地为测试人员提供了用于管理和运行各种测试(包括单元测试、手工测试和Web测试)的工具,以及使团队能够在应用程序部署之前检验其性能的高级负载测试工具。
·项目管理人员:
VisualStudio2005TeamFoundation提供一套基于软件项目管理人员已知内容的项目管理工具:
MicrosoftExcel、MicrosoftProject和WindowsSharePointServices。
与MicrosoftOffice集成,项目管理人员不再需要手工将数据从这些应用程序映射到供工程团队使用的数据。
项目站点提供仪表盘式的项目状态视图,以及向下追溯风险承担者的功能。
丰富的报告提供了从整个常规的团队工作流中收集的规则。
自定义项目过程基于业界公认的实践来驱动生命周期。
·团队开发:
VisualStudio2005TeamFoundation还提供团队协作工具,使组织能够不费吹灰之力即可管理并跟踪过程和软件项目的运行状况。
PortfolioExplorer将可从项目站点获得的这些相同的项目工作产品集成到VisualStudioIDE,从而让团队能够进行有效的访问。
VisualStudio2005TeamFoundation还提供一个可扩展的工作项跟踪系统和企业级别的源代码管理。
3.2SQLServer2000
SQLServer2000是Microsoft公司推出的SQLServer数据库管理系统的一个版本。
该版本继承了SQLServer7.0版本的优点同时又比它增加了许多更先进的功能,具有使用方便,可伸缩性好与相关软件集成程度高等优点,可跨越从运行MicrosoftWindows98的膝上型电脑到运行MicrosoftWindows2000的大型多处理器的服务器等多种平台使用。
SQLServer2000的特性包括:
1.Internet集成。
SQLServer2000数据库引擎提供完整的XML支持。
它还具有构成最大的Web站点的数据存储组件所需的可伸缩性、可用性和安全功能。
SQLServer2000程序设计模型与WindowsDNA构架集成,用以开发Web应用程序,并且SQLServer2000支持EnglishQuery和Microsoft搜索服务等功能,在Web应用程序中包含了用户友好的查询和强大的搜索功能。
2.可伸缩性和可用性。
同一个数据库引擎可以在不同的平台上使用,从运行MicrosoftWindows98的便携式电脑,到运行MicrosoftWindows2000数据中心版的大型多处理器服务器。
SQLServer2000企业版支持联合服务器、索引视图和大型内存支持等功能,使其得以升级到最大Web站点所需的性能级别。
3.企业级数据库功能。
SQLServer2000关系数据库引擎支持当今苛刻的数据处理环境所需的功能。
数据库引擎充分保护数据完整性,同时将管理上千个并发修改数据库的用户的开销减到最小。
SQLServer2000分布式查询使您得已引用来自不同数据源的数据,就好像这些数据是SQLServer2000数据库的一部分,同时分布式事务支持充分保护任何分布式数据更新的完整性。
复制同样使您得以维护多个数据复本,同时确保单独的数据复本保持同步。
可将一组数据复制到多个移动的脱节用户,使这些用户自主地工作,然后将他们所做的修改合并回发给服务器。
4.易于安装、部署和使用。
SQLServer2000中包括一系列管理和开发工具,这些工具可改进在多个站点上安装、部署、管理和使用SQLServer的过程。
SQLServer2000还支持基于标准的、与WindowsDNA集成的程序设计模型,使SQLServer数据库和数据仓库的使用成为生成强大的可伸缩系统的无缝部分。
这些功能使您得以快速交付SQLServer应用程序,使客户只需最少的安装和管理开销即可实现这些应用程序。
5.数据仓库。
SQLServer2000中包括析取和分析汇总数据以进行联机分析处理(OLAP)的工具。
SQLServer中还包括一些工具,可用来直观地设计数据库并通过EnglishQuery来分析数据。
4系统设计与实现
4.1登录角色选择界面
登录角色选择界面的设置,是为了区分不同的使用者,使用该系统完成不同的功能。
该系统分两种角色登录,分别是售票员登录和管理员登录。
下面就是此火车售票系统的登录框的示意图(图4-1)
图4-1登录角色选择界面
主要代码如下:
PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click
'打开form3,隐藏form2
Dimf3AsNewForm3
f3.Show()
Me.Hide()
EndSub
PrivateSubButton2_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton2.Click
'打开form4,隐藏form2
Dimf4AsNewForm4
f4.Show()
Me.Hide()
EndSub
PrivateSubButton3_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton3.Click
'关闭
Me.Close()
EndSub
4.2售票员登录窗口
登录框的设计主要是不让非法用户进入系统,以免系统中的数据遭到破坏,但是这必须有严密的程序代码作为后盾,才能达到安全的作用。
如果非法用户进入,难免使某些数据被更改,造成不必要的损失。
下面是此火车售票系统的售票员登录窗口的示意图(图4-2)
图4-2售票员登录窗口
主要代码如下:
IfNot(mreader.Read())Then'如果找不到
MsgBox("不存在本编号的售票员,请确认!
")
ExitSub
EndIf
'如果找到
IfTrim(mreader("密码").ToString)=Trim(TextBox2.Text).ToStringThen
cdct_id=Trim(TextBox1.Text).ToString
Dimf1AsNewForm1
f1.Show()
f1.TabPage1.Enabled=False
f1.TabPage2.Enabled=False
f1.TabPage8.Enabled=False
f1.TabPage3.Enabled=False
Me.Hide()
Else
Ifa=3Then
MsgBox("对不起,你无权使用,再见!
")
Me.Close()
Else
MsgBox("密码错误,请确认!
")
TextBox2.Text=""
TextBox2.Focus()
a=a+1
EndIf
EndIf
4.3管理员登录窗口
区分于售票员登录,实现不同于售票员的功能,本系统设置了管理员登录窗口。
其界面类似于售票员系统,但通过其登录可帮助管理员实现删除车次、修改车次、增加车次的功能。
4.4售票员登录后的功能界面
在售票员登录窗口输入编号和密码后进入功能界面,通过售票员登录,可以实现购票、退票、订票和订票结款等功能。
4.4.1购票功能
先在窗口中输入起点站和终点站,然后选择车型、开车日期以及享有何种优惠,最后点击查询,出现符合要求的车票信息。
点击购票即可出票。
下面是购票功能的窗口示意图(图4-3)
图4-3购票功能界面
主要代码如下:
DimdsAsNewDataSet
sqlstr="select*from车次表where途经like'%"+txt起点站.Text+"%"+txt终点站.Text+"%'and车型like'%"+cmb车型.SelectedItem+"%'"
madapter=NewSqlClient.SqlDataAdapter(sqlstr,mconnection)
madapter.Fill(ds)
Me.DataGrid1.DataSource=ds.Tables(0)
DimTblAsDataTable=ds.Tables(0)
'建立新的temptable
Withtemptable
.Columns.Add("车次")
.Columns.Add("起点")
.Columns.Add("终点")
.Columns.Add("车型")
.Columns.Add("总座位")
.Columns.Add("开车时间")
.Columns.Add("到站时间")
.Columns.Add("路程")
.Columns.Add("耗时")
.Columns.Add("票价")
EndWith
'查找起点站在该车次中的第几站
Dimstrs()AsString
DimiAsInteger
Fori=0ToTbl.Rows.Count-1
strs=Tbl.Rows(i).Item("途经").split(","c)
Dima,b,c,d,f,gAsInteger
ForEachqidianAsStringInstrs
a=a+1
c=c+1
f=f+1
Ifqidian=txt起点站.TextThen
ExitFor
EndIf
4.4.2退票功能
在窗口中输入所购买票的车次、购买日期、车节、座位等信息后即可成功办理退票手续。
下面是退票功能的窗口示意图(图4-4)
图4-4退票功能界面
主要代码如下:
PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click
'退票
DimrsltAsMsgBoxResult
rslt=MsgBox("您真的要退票吗?
",MsgBoxStyle.YesNo)
Ifrslt=MsgBoxResult.YesThen
'计算开车日期与当前日期的差
Dimshijian1AsDate=TextBox23.Text
Dimshijian2AsDate=TextBox14.Text
DimrichaAsTimeSpan=shijian1.Subtract(shijian2)
Ifricha.Days>6Then
MsgBox("对不起,您购买此车票的日期离今已超过6天,不得退票!
")
TextBox2.Text=""
TextBox3.Text=""
TextBox4.Text=""
TextBox10.Text=""
TextBox14.Text=""
TextBox24.Text=""
TextBox25.Text=""
Button1.Enabled=False
ExitSub
EndIf
'计算所退金额
DimtuikuanAsInteger
IfTextBox10.Text>=100Then
tuikuan=CInt(TextBox10.Text)*0.8
EndIf
IfTextBox10.Text>=50AndTextBox10.Text<100Then
tuikuan=CInt(TextBox10.Text)*0.7
EndIf
IfTextBox10.Text>=30AndTextBox10.Text<50Then
tuikuan=CInt(TextBox10.Text)*0.5
EndIf
4.4.3订票功能
类似于购票功能,但订票功能不仅需要在窗口中输入起点站、终点站,选择车型、开车日期、享有何种优惠后查询车票信息,还需要在右下角的客户基本信息填入客户的身份证号、姓名、电话等信息,以便于车票及时准确的送到客户手中。
4.4.4订票结款功能
在订票结款功能窗口中输入身份证号,即可获得该客户的订票信息以及应付金额。
4.5管理员登录后的功能界面
在管理员登录窗口输入编号和密码后进入功能界面,通过管理员登录,可以实现删除车次、修改车次和增加车次等功能。
4.5.1删除车次功能
在选择欲删除的车次的相关信息后,点击删除,即可在该系统中删除该列车的相关信息。
下面是删除车次功能的窗口示意图(图4-5)
图4-5删除车次功能界面
主要代码如下:
PrivateSubButton21_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton21.Click
IfComboBox7.SelectedItemIsNothingThen'如果查询条件为空
MsgBox("请选择查询条件!
")
ExitSub
EndIf
IfTextBox42.Text=""Then
MsgBox("请输入相应关键字!
")
ExitSub
EndIf
Try
'连接数据库
mconnection.ConnectionString=connstr
mconnection.Open()
DimmcommandAsNewSqlClient.SqlCommand
mcommand.Connection=mconnection
'将相应信息存放入数据集ds中
DimdsA