资源描述
浙江越秀外国语学院毕业设计(论文)
浙江越秀外国语学院毕业论文(设计)
开题报告书
论文(设计)题目:基于asp的小滋火火车票务查询网设计与实现
二级学院: 涉外经济管理
专 业: 计算机信息管理
班 级:
姓 名:
学 号:
指导教师:
二○一○ 年 十一 月 三十 日
摘 要
当今时代交通很发达,空中通道、海上通道、陆上通道应有尽有,四通八达。作为陆路交通的龙头老大——火车,正发挥着自己不可替代的作用。几乎每个人与火车交通都有着千丝万缕的关系。正因为对当前火车售票的系统有着莫大的兴趣,同时也供有相同兴趣爱好的朋友参考,因此决定开发一个火车售票系统,解决现在面临的挑战。
通过对火车信息的具体分析,得到一条分析售票的具体路线,售票员通过不同方式查询得到结果最后把查询到想要的票售给乘客。并且过程中可以售全国各地站点的火车票,乘客可以在某一个站方便地买到别的站点的火车票。
通过整个系统的设计,最终得到了比较完善的系统,售票员可以通过登录后实现售票和退票等功能。整个设计时一个比较繁琐的过程,本来火车站等信息在全国来说就是一个庞大的数据库,要把这所有的数据充分利用与活用,并不见得是一件很容易的事。
关键词:售票系统,票价,站点。
Abstract
Well-developed transportation era, air channels, sea lanes, land access everything, extending in all directions. As the leader in land transport - trains, are playing an irreplaceable role in their own. Almost every man and train transport are inextricably linked. Because of the current train ticketing system has a great interest. Also,as a reference for the same interests of the people, therefore decDWd to develop a train ticketing system,account for the challenges what we now facing.
Through detailed analysis of information on the train, get a specific line of ticket, the conductor results in different ways by the last query you want to check the tickets sold to passengers. And the process can be sold throughout the site tickets, passengers can stand in one convenient site to buy other tickets.
Through the design of the entire system, end up a relatively perfect system, after the conductor can be achieved by logging features such as ticketing and refunds. The design of a more complicated process, especially in the way the database, the people a little bit confusing. Originally the railway station and other information in the country as a whole is a huge database, which should make full use of all data and usage, and is not necessarily an easy thing.
Key words:Train ticketing system, Fare, Site
目 录
前 言 1
1火车票售票系统概述 2
1.1火车票售票系统的概念 2
1.2系统概述 2
2需求分析 3
2.1系统开发目标 3
2.2可行性分析 3
2.3系统说明 3
2.4系统功能简介 4
3概要设计 5
3.1系统主界面设计 5
3.2功能要求 6
3.3数据库分析与设计 7
4详细设计 11
4.1软件要求与运行环境 11
4.2系统文件管理模块 11
4.3火车辆查询和售票模块 12
4.4退票模块 12
5系统的调测与修改 13
5.1软件测试的目的和原则 13
5.2登录信息的测试 13
5.3修改密码模块的测试 14
5.4查询和售票模块的测试 15
5.5退票模块的测试 15
结 论 17
致 谢 18
参考文献 19
III
浙江越秀外国语学院毕业论文
前 言
随着计算机技术的发展,人们对计算机智能化的需求越来越大,对软件的实用性、速度等性能的要求也越来越高。未来火车站的发展趋势是完全自动化的售票信息查询,网络订票,智能化订票,而且随着计算机的普及,信息处理量的逐渐扩大,手工处理方式已经远远不能满足人们管理活动的需要,各种工作都逐渐由手工转为自动化,将使许多复杂、繁琐、且需要很多人力的工作变得简单。在本此毕业设计中,由于时间与水平的关系,当然不可能做到这样的程度,只不过是模拟一下由售票员来操作的售票系统而已。
火车站售票管理是本系统的根本任务,通过实现票务信息的计算机管理,以提高工作效率。实现计算机管理的最佳技术就是数据库技术。我们可以利用数据库将整个火车站的票务情况存入计算机,再配置上功能丰富的用户接口,以满足用户需求。一个火车站售票信息管理系统应达到的目标是提供及时、广泛的信息服务,加快信息检索的效率,实况灵活的查询,减轻管理人员制作报表和统计分析的负担,且系统规模不太大但又要保证支持日常工作的要求,以便系统应易于扩充,方便日后统一联网与管理,提高管理水平。
该软件解决对于众多乘客对于查询的功能和实现售票退票的功能。采用对ACCESS数据库的访问,实现查询功能,售票能读出数据库中火车票信息,包括票价等,能显示火车票上的基本信息。退票功能能计算要求退的火车票是否符合退票的标准,符合标准的根据20%的手续费用收取进行差额退回,火车票信息重返数据库。
火车票售票管理是一件比较复杂但又非常重要的事情,它是涉及国家铁路运输的正常工作、国民经济的发展和人民生活水平质量的大事情。火车售票涉及到许多内容,有登陆用户的帐号密码问题,有乘客超载问题,有经济结算问题,有订票管理问题。因此,本毕业设计就是专门解决这些问题的。但如上所述,由于铁路火车票务管理的复杂性,本毕业设计与开发也仅是一个尝试性的工作,但它很有启发性,对于研究开发该类程序可以起一个抛砖引玉的作用。
19
1火车票售票系统概述
1.1火车票售票系统的概念
火车票售票系统是对是使用计算机管理的方式来代替以前手工处理的工作。实现了乘客和售票员之间简单快速的售票操作交替过程。此外,售票员可以根据乘客的需要进行各类火车次火车站的查询,使乘客及时的了解到必要的火车次信息。对于乘客的付款过程,售票员的操作也不再繁琐,系统将自动计算出该付的金额以及需要找回的金额。
1.2系统概述
本系统运用DW和ACCESS[7]等工具,开发实现的模块有登陆模块、按火车次查询模块、按火车站查询模块、售票模块、退票模块等。登陆模块实现售票员通过正确密码登录系统才能进行各项操作;按火车次查询模块实现输入火车次全称或者是火车次代号的一部分既能检索出符合条件的火车次信息;按火车站查询模块可以查询出所有经过火车站的的火车次;售票模块实现售票功能;退票模块实现退票功能;口令修改模块实现用户的密码修改功能;同时本文还分析了软件工程、数据库技术的相关理论。
本系统具有良好的可移植性和可修改性。系统简单,易于操作,对相关的具有售票业务的企业具有一定的使用价值。
1.2.1设计目的和意义
在火车以主要交通工具的今天,有一个良好的售票系统显得是如此的重要,对于火车各站点的售票系统以作为国有机密文件保存,不可能有开放的源代码提供十分完善的火车售票系统的所有实现的功能,甚至是连火车票的数据库,都不太可能得到全而且新的数据。基于此,个人决定作为兴趣爱好,研究火车的售票系统的实现过程,尽管最终实现的不太可能与当前火车站应用的系统相媲美,但作为一个爱好,也应做到尽可能的完善。希望该作品的实现能给爱好相同课题的朋友带来点帮助。
1.2.2适用范围
本系统适用于对火车票的售票系统有兴趣的朋友,基于系统基本实现了火车票售票过程中的基本操作,对于更好的了解当前国内公路部门的的列火车管理有一定帮助。
2需求分析
需求分析是系统开发早期的一个重要阶段,是任一软件开发成功的基础。需求分析的目的是确定用户的需求。
2.1系统开发目标
设计并实现火车票售票系统,使火车站售票工作更加系统化、规范化和自动化,从而达到提高管理效率的目的。
(1)利用计算机系统实现火车票出售以及火车次火车站查询管理。
(2)操作简单,查询方便。
(3)系统扩充容易,移植性好。
(4)友好的用户界面,既面向系统开发者,又面向用户。
2.2可行性分析
可行性分析研究[8]的目的就是用最小的代价在尽可能短的时间里确定问题是否能解决,通过分析系统的规模与目标,研究与此类似的系统后,本人具体从以下三方面考虑。
(1)技术可行性
本系统是采用DW[3]作为开发工具的,它具有界面友好、操作简便、速度较快等优点,并对于数据库操作与管理、可视化开发环境、面向对象程序设计等方面的要求不是很高,本人已经系统地学习过利用Asp语言[1]实现可视化界面的面向对象编程,为本系统的设计与实现提供了技术可行性。
(2)经济可行性
火车票售票系统是一个大型的管理系统,而我个人是实现了其中部分功能,在开发时也需要软件开发人员花费一定的时间和精力,但真正应用起这样的软件,给铁路部门带来的利益却是不可估量的,节省了许多人力,物力上的开支,使信息管理工作变繁为简,使其更加合理化、规范化。工作效率的提高就意为着整体水平的提高,是非常值得投资的。而且本系统开发过程中所使用的软件都是开源软件,无需购买,在一定程度上节省了不必要的花费。
(3)操作可行性
本系统是基于DW环境平台开发的,移植性强,易于操作。而且本系统还采用了可视化面向对象的工具开发,其窗口、界面简洁易懂,所以系统在操作上是可行的。
2.3系统说明
本系统主要考虑了以下几点内容:
(1)用户登录:保证软件的实用性,只有具有售票员的身份通过正确登录才能进入系统。
(2)方便的数据输入性能,良好的人机界面,将工作人员从繁琐的手写统计中解放出来。
(3)灵活的查询性能,快速实现火车次火车站的查询。
(4)对火车票进行出售及退回的管理。
2.4系统功能简介
本系统可以细化为四个功能:查询、售票、退票以及修改用户密码。
(1)查询的主要功能为:用户可以根据需要选择按火车次或者是按火车站查询,二者皆可以查询出符合条件的若干组信息。
(2)售票的主要功能为:用户通过查询得到的信息选择自己需要的火车次火车站进行火车票的出售。
(3)退票的主要功能为:对于乘客在本次列火车在当前站点为出发前的火车票可以退票,退票要收取一定的手续费。
(4)修改用户密码的主要功能是对当前登录的用户进行密码的修改,新密码可以为数字或者是字母以及一些常用符号,新密码位数不得少于6位。
3概要设计
3.1系统主界面设计
系统登录界面设计如图3.1所示:
图3.1 系统登录界面
系统主界面就是要求用户输入用户名和密码,通过正确认证点击“登录”按钮才能进入系统主界面如下图3.2所示,点击“取消”按钮推出当前系统。
图3.2 系统主界面
3.2功能要求
3.2.1系统功能结构图
系统功能结构图如下图3.3所示:
图3.3 系统的功能结构图
3.2.2系统功能模块说明
(1)系统管理模块
(2)售票退票模块
(3)用户信息模块
3.3数据库分析与设计
如何设计出一个能够满足用户各项当前与可预见的应用要求、性能良好的数据库是数据库应用系统设计中的一个核心问题。它可以提高数据存储效率,保证数据的完整一致性。数据库的设计[9]主要包括3个阶段:数据库需求分析、数据库概念结构设计和数据库逻辑结构设计。
3.3.1数据库需求分析
因为数据库系统应用于火车票售票系统,所以必须充分满足此管理系统的各种要求。此系统要求对于数据的更新操作颇为苛刻,每次卖出火车票都得对数据库进行更新,并且对于火车次发火车时间在当前时间之前的火车次记录也要实时更新。通过以上分析,数据库设计必须满足以下几点:
(1)记录火车次基本的信息。
(2)记录火车站的基本信息。
(3)记录用户的基本信息。
(4)记录根据火车票类别规定的票价信息。
3.3.2数据库概念结构设计
根据数据库需求分析,可以得到如图3.4所示的实体-关系模型[8]。
登录
查询
退票
售票员
售票
图3.4实体-关系模型
3.3.4数据库逻辑结构设计
数据库的概念结构设计完毕后,就可以将上面的数据库概念结构转化为某种数据库系统所支持的实际数据类型,也就是数据库的逻辑结构。
根据鞋类信息管理系统的功能要求,选取ACCESS 2000作为后台数据库。
与本系统有关的数据表如表3.1—3.4所示:
Runlist表记录所有火车次经过的站点,站站查询主要通过此表进行查找满足条件的列火车信息。
表3.1列火车路线总表
Tab. 3.1 Total list for train table
字段名
数据类型
主键否
TrainID
varchar 10
是
StationID
smallint 2
是
StationName
varchar 40
否
Arrivesort
smallint 2
否
Arrivedate
varchar 10
否
StartTime
varchar 6
否
StopTime
varchar 6
否
Distance
smallint 2
否
PriceHard
smallint 2
否
PriceHard2
smallint 2
否
PriceSoft
smallint 2
否
PriceSoftberth
smallint 2
否
TicketPrice表是记录各火车厢类别票价的表,按每公里计算,两地之间的的票价根据里程和火车厢类别的不同而不同。
表3.2 火车票价格表
字段名
数据类型
主键否
ID
int 4
是
TrainType
nvarchar 50
否
SeatType
nvarchar 50
否
price
numeric 9
否
TrainsInfo表记录记录火车次的一些基本信息,包括始发站,终点站,发火车时间,到达时间全程里程等等。
表3.3 列火车信息表
字段名
数据类型
主键否
TrainID
varchar 10
是
TrainType
Varchar 20
否
BeginStationID
smallint 2
否
BeginStation
Varchar 40
否
EndStationID
smallint 2
否
EndStation
Varchar 40
否
BeginTime
varchar 5
否
EndTime
varchar 5
否
Times
varchar 10
否
Distance
smallint 2
否
Stationnum
smallint 2
否
Seatnum0
int 4
否
Seatnum1
int 4
否
Seatnum1
int 4
否
userInfo表记录了有用户的ID号和密码,用户在登录时输入的ID和密码只有和数据库中的匹配是才能正常登录进入系统。
表3.4 用户信息表
字段名
数据类型
主键否
ProductId
Varchar 50
是
Name
Char 20
否
Principal
Char 20
否
Department
Varchar 50
否
Units
Varchar 50
否
Unitprice
Floct 8
否
Comment
Varchar 50
否
4详细设计
4.1软件要求与运行环境
4.1.1软件要求
运行环境是Windows 2000 以上;系统开发语言是Asp;系统开发平台是Netbeans DW 6.1;后台数据库是ACCESS 2000。
4.1.2运行环境
安装ACCESS并运行服务管理器。本系统利用ODBC连接的数据库。
4.2系统文件管理模块
4.2.1界面设计
系统的个人信息菜单下有修改密码,退出选项。整个窗体示意图如图4.1所示。
图4.1 系统文件管理模块
4.2.2设计思路
对系统文件菜单下各选项的设计思路如下,在主页面菜单栏下设置一个下拉菜单[4],然后为其添加相应事件,系统运行后会自动的显示出系统的总界面,然后如果用户想要进行密码修改或者重新登录或者退出程序,那么就可以点击文件菜单选项选择相应的子菜单进行操作。
4.3火车辆查询和售票模块
4.3.1界面设计
售票和查询模块主要功能是:可以查询所需列火车信息和对查询出的火车票进行出售,界面设计如图4.2所示:
图4.2列火车查询和售票模块
4.3.2设计思路
对火车票的所有信息进行检索,找出满足条件的火车票信息,在页面上进行显示。查询可以按照火车次和火车站进行查询。对于查询出来的结果可以选择需要的火车厢类别和火车票类别会自动计算单价进行售票。
4.4退票模块
4.4.1界面设计
退票模块主要功能是:对已经出售的火车票进行退回处理,当然要求退回的火车票必须在该火车次还没出发前。退票模块的整个窗体示意图如图4.3所示。
图4.3 退票模块
5系统的调测与修改
5.1软件测试的目的和原则
软件测试就是在软件投入运行之前,对软件需求分析、软件设计和编码的最后复审,是保证软件质量的关键步骤[6]。如果给软件测试下定义,可以这样讲:软件测试是根据软件开发各阶段的规格说明和程序内部结构而精心设计的一批测试用例,(即输入数据和预期的输出结果),并利用这些测试用例去运行程序,以发现程序错误的过程。
软件测试的目的是想以最少的时间和人力找出软件中潜在的各种错误和缺陷,如果成功的实施了测试,就能够发现软件中的错误。测试的附带收获是,它能够证明软件的功能和性能与需求说明相符。此外,实施测试收集到的测试结果数据为可靠性分析提供了依据。
软件测试应遵循以下一些原则:
(1)应有程序设计者以外的人员参加测试。
(2)应选择不合理的输入数据和非法输入数据。
(3)测试应从“小规模”开始,逐步转向“大规模”。
(4)应在测试工作真正开始以前较长一段时间内进行测试计划。
(5)测试用例应由两部分组成:输入数据和预期输出结果。
(6)所有的测试都应追溯到用户需求。
(7)不仅要检验程序是否能实现预期功能(性质),还应检查程序是否做了不应该做的工作。
(8)修改以后的程序必须进行重新测试。
本系统测试方案以界面为测试的基础,在测试过程中,依靠软件与其运行环境之间的接口来选择和产生测试数据,而不管软件的具体需求和具体实现细节。包括软件输入,输出数据的类型、取值范围等等。测试项目主要包括对软件各个模块的测试,测试数据覆盖面广。由于测试项目较多,现列出其中几项在测试过程中出现的问题以及解决的方法。
5.2登录信息的测试
系统进入登录界面后,要求用户输入ID号码和密码,当密码和ID号码不匹配时,会提示错误信息。该测试的目的是保证登录是合法的,对于非法用户绝对予以禁止。经测试结果如图5.1所示:
图5.1 登录信息测试图
5.3修改密码模块的测试
该测试的目的是保证密码修改过程不会产生错误。要求用户原密码输入正确看,并且两次正确输入满足要求的新密码。当其中的要求不满足时,就会有提示信息。经测试结果如图5.3所示:
图5.3 原密码错误测试图
当原密码输入正确,新密码符合要求时,点击“确认”按钮确认修改密码,会有相关提示信息提示修改密码成功。经测试结果如图5.5所示:
图5.5 修改密码成功测试图
5.4查询和售票模块的测试
该测试的目的是保证能够按照用户的需求查询出结果或者正常出售火车票。该模块的各种条件检查较多,以下分情况测试。
当选择站站查询时,如果没能从数据库中查找到从起始站到到达站的火车次信息,就会有提示信息。测试结果如图5.6所示:
图5.6 无直达火车测试图
5.5退票模块的测试
该测试的目的是保证退票过程火车票重新返回数据库并且准确找回乘客应有的金钱。
输入的火车次有误的情况下,会有提示信息弹出。经测试结果如图5.16所示:
图5.16火车次测试图
结 论
毕业设计是每个大学生在大学的最后一门课程,是理论与实践的一次很好的结合,是对大学所学知识的考验,也是提高动手能力的绝好机会,它是大学生毕业后能更好投身于工作或继续深造的过渡阶段。
本次毕业设计建立在DW平台上,使用了ACCESS数据库,大学课程中已经学习过了DW的理论知识,也学习了关于数据库的各种操作。论文从需求分析、概要设计、详细设计和测试四个阶段阐述了火车票售票系统的开发过程,设计并实现了科学的信息管理模式。本系统已经完成火车票查询,出售,退回以及修改密码等基本处理。对于庞大的火车信息数据库,本系统很好地处理了这方面的问题,灵活应用数据库,更是火车票系统显得灵活化。在火车票查询方面,用户可以根据需要选择火车次查询或者站站查询,而对于二者的查询都使用了模糊查询,更使得用户有了更多的选择余地。甚至对于火车票上的座位,也是系统自动计算得到的,完全实现了一体化的目标。在设计的不同阶段都会有不同的问题出现,要解决这些问题就要查阅资料,同时用到的工具不一定都学过,所以要边学边用。在这个时候学习方法是很重要的,其中实例是最好的学习资料,搞懂一个实例才能学习到一门语言的精髓,才懂得怎样把书上的知识应用到实际的编程当中。论文主要介绍了本课题的开发背景,所要完成的功能和开发的过程。重点的说明了系统设计的思想、难点和解决方案。
另外,在数据库的设计方面,本人采用了ACCESS代理中的作业功能,使得数据库能够做到自动更新的更能,对于火车票这个大的数据库,自动更新也是不可避免的。
这次毕业设计过程中本人将理论结合实际,学到了很多课本以外的东西,从而也提高了动手能力。但由于时间的限制和技术的不熟练,导致软件中还存在很多不足之处并需要进一步的研究和改善。例如,在打印火车票功能上,只是简单的显示了火车票的样式,并没有实现与外界打印的连接,也就是说不能通过打印机打印出火车票来。需要改进的地方主要在火车票和数据库的实时更新上,列火车信息是实时更新的,而本系统并没有设置高级管理员去管理这些信息,只有数据库管理员去通过修改数据库才能修改列火车信息。
本人希望自己在毕业设计中所学习到的技术、思想和精神能够进一步应用在实际工作中,将自己的潜力不断的发挥出来。
致 谢
经过三个多月的学习和设计,论文终于得以基本完成。这是本人四年大学学习的成果,但本人知道,这更是凝聚着众多师长和学友对本人的关爱。
感谢济南凌佳科技有限公司,为本人提供了良好的实习环境。还有本人在公司的指导老师,感谢他对本人的指导。
感谢老师在软件设计过程中提出了指导性的建议,并指引本人阅读相关的资料和书籍,使本人在不熟悉的领域中迅速掌握新兴的技术。
感谢答辩组对本毕业设计的考核,答辩组的各位老师的认可将给予本人今后的学习和工作极大的鼓励。对于各位老师客观的评价和建议,本人将牢记在心,在今后的设计中扬长避短,更加努力的严格要求自己,以期做得更好。
本人收获的不仅是知识,而且是一种思想,将使本人受益终生。
所以,再次感谢你们,感谢本人身边所有可敬与可爱的人们。
参考文献
[1] 王健 张金波. Asp程序设计实训教程.北京: 海洋出版社,1993.
[2] 谭浩强.C程序设计.北京:清华大学出版社,1991.
[3] (美)Borland Softwate Corporation.Jbuilder培训教程.周鹏,龚超,刘超,等译.北京:机械工业出版社,2002.
[4] (美)H.M.Deitel,P.J.Deitel.Asp程序设计教程.第5版. 施平安等译. 北京:清华大学出版社,2004.
[5] (美)Stanley B.Lippman,Josée LaJoie,Barbara E.Moo. 《Asp Primer (4th Edition)》. Addison Wesley/Pearson.
[6] 徐延峰 任青云 方树名.软件日语.北京:高等教育出版社,2008.
[7] 周绪,白海波.ACCESS2000中文版入门与提高.清华大学出版社,2001
[8] 张海藩.软件工程导论.北京:清华大学出版社,2008.
[9] 郑人杰,殷人昆.实用软件工程.北京:清华大学出版社,1997.
[10] Bill Pribyl.Steven Feuerstein. 《Oracle PL/ACCESS 入门》. 北京:中国电力出版社,2005.
展开阅读全文