计算机毕业论文---_网上火车票售票系统.doc_第1页
计算机毕业论文---_网上火车票售票系统.doc_第2页
计算机毕业论文---_网上火车票售票系统.doc_第3页
计算机毕业论文---_网上火车票售票系统.doc_第4页
计算机毕业论文---_网上火车票售票系统.doc_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

网上火车票售票系统摘 要系统分为两大模块:用户模块和管理员模块,细节分为注册模块、售票模块和系统管理模块。其中系统管理模块是进行车次和用户的添加、存储和删除,是系统运行的基础;查询子模块实现了对车次信息的远程查询。登陆模块是客户端用户通过自己的用户名以及密码登陆系统,进入界面时由系统按照类别进入不同页面,实现不同的功能。 系统选用的开发软件是asp,后台数据库为access 2000。关键字:售票 转售自动系统 asp sql语句abstractsystem is two big modules mark: consumer module and administrative person module, detail the module and system manage a module mark for the logon module, sells ticket. that the system administration among them module is the addition carrying out motorcoach number and the consumer , stores and deletes, is a working basis of system; long-range that the module has realized to motorcoach number information inquires about inquiry son. the landing module is that the customer holds a consumer passing self consumer and password landing system , face page from system according to that the category enters diversity when entering an interface, realize the different function. the exploitation software that system selects and uses is asp , the data base is access 2000key words: sell ticket be resold automation system asp sql sentence引 言坐火车出行旅游已经成为现代社会必不可少的事情,而每一次的出行都伴随这火车站人山人海的景象还没有出行心情就已经损失了一半。更糟糕的事情是出行高峰期的时候往往买不到车票不能不让人着急。随着计算机技术的发展,人们对计算机智能化的需求越来越大,对软件的实用性、速度等性能的要求也越来越高但是并不能避免系统出问题。这时候不论是对火车站还是出行的旅客都会造成极大的麻烦。但是火车站的发展趋势是完全自动化的售票信息查询,网络订票,智能化订票,而且随着计算机的普及,信息处理量的逐渐扩大,手工处理方式已经远远不能满足人们管理活动的需要,各种工作都逐渐由手工转为自动化,将使许多复杂、繁琐、且需要很多人力的工作变得简单。在本此毕业设计中,由于水平的关系,当然不可能做到这样的程度,只不过是模拟用户和售票员来操作的售票系统而已。火车票售票管理是一件比较复杂但又非常重要的事情,它是涉及国家铁路运输的正常工作、国民经济的发展和人民生活水平质量的大事情。火车售票涉及到许多内容,有登陆用户的账号密码问题,有乘客超载问题,有经济结算问题,有订票管理问题。因此,本毕业设计就是专门解决这些问题的。但如上所述,由于铁路火车票务管理的复杂性,本毕业设计与开发也仅是一个尝试性的工作,但它很有启发性,对于研究开发该类程序可以起一个抛砖引玉的作用。目 录摘 要1abstract2引 言3一 网上火车站售票管理系统分析与设计51.1课题来源及意义51.2系统功能需求简介与开发工具的选择51.3本文所做工作5二 概论62.1 access 历史62.2 特性62.3 sql语言基础6三 数据库开发工具7四 系统的设计84.1系统需求分析84.1.1开发的背景84.1.2 业务现状84.1.3用户平台要求84.2可行性研究94.2.1系统目标94.2.2存在的问题94.2.3建立新系统94.2.4结论94.3 数据库设计9五 系统的实现115.1系统的登录与退出115.2用户管理125.2.1用户管理模块的功能介绍125.2.2 用户管理模块的实现12结 论25参考文献25一 网上火车站售票管理系统分析与设计1.1课题来源及意义一个大型的计算机管理系统必须有一个正确的设计指导思想,通过合理的选择数据结构,操作系统以及开发环境,构成一个完善的网络系统,才能充分发挥计算机信息管理优势。现代化的车站售票是集预定车票、售票 、退票、车次查询及其它各种服务,车站售票组织庞大,服务项目多,信息量大,要想提高劳动生产,降低成本,提高服务质量和管理水平,进而促进经济效益,必须借助计算机来进行现代化的信息管理。传统手工的车站售票管理,管理过程繁琐而复杂,执行效率低,并且易于出错。通过这样的系统,我们可以做到信息的规范管理和快速查询,实现了车站售票管理的系统化、规范化和自动化,这样不仅减少了管理工作量,还提高了管理效率,降低了管理成本。1.2系统功能需求简介与开发工具的选择一个完善的车站售票计算机管理信息系统应当包括系统应具有售票、查询、管理和维护等功能,系统管理员可以进行对车次的更改、票价的变动及调度功能,票价的修改可以通过修改运价来进行,车次调度可通过对发车时刻表的修改来进行,维护功能即可对表进行修改。设计从始至终贯穿着这样的原则:1以用户需求为目标,以方便用户为原则,系统将在统一的windows 操作系统图形界面下提供各种实用功能,尽可能降低使用前的学习、实施和使用中的维护时间。2不同于手工的操作,直观的图形用户界面,美观、友好、只需点选简单易用:所有菜单,窗口,操作方式均为win98风格。操作方便,充分考虑前台操作人员操作条件及习惯,有良好的易用性。3利用简单易操作的开发工具asp语言, 既可使用access,foxpro等中小型数据库,又使其支持sql server,sybase,oracle,db2等各种大型数据库。1.3本文所做工作1. 尽可能的简单化操作,只需简单的输入与点选用户就能完成查询,购票,转售车票和退票。2. 管理员只需登陆查看就可已查看售票的记录并且知道车票的途径和出售状况。3. 对车次的修改和添加工作简单易行可视化用户管理直观简介。4. 用户实名登记降低囤积车票的可能,管理员可以随时查看并找到用户资料。二 概论2.1 access 历史microsoft access 1.0 版本在1992年11月发布。微软指定它对系统最小要求为视窗3.0配以4兆节内存6兆节内存配以最小8兆节硬盘空间(建议最好有14兆节硬盘空间)则为建议的系统要求当时软件以7张1.44兆节软碟发布的载体2.2 特性一好处进入从程序员视角在它的有关兼容性有sql-质问可能被观看并且作为sql语句编辑,并且sql语句直接在巨视和vba模里可以被使用操作进入桌子。用户可能混合并且使用两个vba并且宏编程形式和逻辑既没提供面向对象的可能性。导入导出报表的生成程序,当时有能力和到这项任务的复杂报告创造,没有另一受欢迎数据库报表程序的生成程序充满特色和强有力-水晶报告。msde(微软公司sql服务器桌面发动机)2000,袖珍版本的mssql服务器2000,被包括开发版的办公室xp并且被用于进入可能作为除之外的另一种选择jet数据库引擎。(尽快的*版本的msde和微软公司交换服务器实际上使用这台喷气发动机处理巨大大量数据并且安置一“赝品”在它之上的那些应用的应用层。大约这事实的缺乏知识因进入/喷口家庭的软件产品而为不该受不敬做贡献,特别是关于大工程。)进入分割和粘贴功能性能使它有用工具在其它数据库之间连结(例如,在数据或者数据库变换期间的oracle和微软公司sql服务器)。进入与给与窗子和其它平台应用一起的积分的各种各样进口和退场门特征一起来,一经请求从应用的里面或者手工由用户其中几可以被执行。例如非常紧密snp完全格式化的为分享的形式与没有全部的进入软件的人们报告。它也能容易被升级到微软公司sql服务器。与一般的rdbms完全不同,它缺乏数据库触发和预存程序。自从ms access 2000 (jet 4.0),开发人员可以在查询中设定参数,这跟预存程序很相似的,但这些“预存程序”只能处理一个程序当资料表内数据发生变化时,它确实允许形式包含被引发的代码,使用是普通的透过查询和其它技术在进入营运储存的程序在方面rdbms支持这些的。2.3 sql语言基础sql:structured query language,1974年boyce和chamberlin提出:数据定义 :create,drop数据库查询:select数据操纵 :insert,update,delete数据控制 :grant,revoke三 数据库开发工具asp是active server page的缩写,意为“动态服务器页面”。asp是微软公司开发的代替cgi脚本程序的一种应用,它可以与数据库和其它程序进行交互,是一种简单、方便的编程工具。asp的网页文件的格式是.asp,现在常用于各种动态网站中。 asp是一种服务器端脚本编写环境,可以用来创建和运行动态网页或web应用程序。asp网页可以包含html标记、普通文本、脚本命令以及com组件等。利用asp可以向网页中添加交互式内容(如在线表单),也可以创建使用html网页作为用户界面的web应用程序。asp( application service provider,应用软体租赁服务提供者 )即是指透过网路以租赁方式提供应用软体服务的业者,即是指业者以应用软体为主体,透过网路一对多地传递服务,这种以服务为主的交易模式促使企业可藉由租赁的方式,以更符合成本效益的方式拥有软体的使用权,并且亦能因为业者集中式的管理而大幅降低企业维护的成本。基本上,asp即具有软体服务化,服务网路化,资讯委外服务与网路结合与产品通路化,通路产品化等三大特性,其甚至可以被视为是isp(internet service provider)与its(information technology service)的结合,根据流行的观点,asp有如下五个核心内涵: a. asp着重应用为中心,提供对于应用方面的访问和管理。 b. asp服务可以为用户提供没有在服务器、人员、系统和系统授权等前期资源投入情况下就可以在“定制”的全新应用系统环境进行访问的服务,如isp,而这样的服务一般按月份asp收取服务费。 c. asp采用集中管理的方式-asp一般都有一个管理中心,所有的客户通过internet来进行远程访问,获得技术支持和咨询服务。 d. 一对多的服务,也就是讲,asp提供的是标准化的产品包,产品都是最低程度的自定义或者没有实现客户定制化,对于行业用户来讲已经达到实用方便的标准。 e. 按照合同交付,在asp客户的眼中,asp是一家根据客户协议内容提供相关服务,保证应用服务系统服务可以得到确实履行的机构。四 系统的设计4.1系统需求分析4.1.1开发的背景网上火车站售票管理系统是针对当前买票难的问题而研发的,同在火车站买票的方式一样但是基于网络技术他将变的更加简单快捷。随着因特网发展的日新月异,人们利用网络来实现相互之间的协同工作以及资源共享越来越成为时代的潮流,一个不可扭转的趋势。目前,因特网已经深入到我们生活的各个领域学校,银行,医院,公司,企业等等。因此,我们在这里用因特网来实现网上火车站售票管理更是顺应了时代发展的方向。这个系统主要是面向大众,他们的想法只是想容易的买到自己想要的车票,而管理员这只是对其进行管理。要做到这一点首先应当了解大众的需求与他们的操作能力。系统的开发过程基于asp简单直观。整个实现时间约1个月。4.1.2 业务现状 系统的业务流程如下:登陆 管理员登陆用户登陆购票退票转售查询查询查看记录修改车次删除车次删除记录设置充值图4-1 系统流程图4.1.3用户平台要求火车站网上售票系统的实现需要服务器端和客户端。因此服务器端需要安装win2000 server或是其它的服务器操作系统和dbms的支持。对客户端没有什么特别的需求,一般的win 98 即可。4.2可行性研究4.2.1系统目标 开发一个火车售票系统,实现对火车售票自动化,轻松方便大家的交通运输。用户可以在任何一个站点购买任何两站间的火车票,可以大大减轻买票的烦索步骤,同时也可以订票。4.2.2存在的问题范围太大,开发人数太少,开发人员技术有限。4.2.3建立新系统根据系统的长期目标,以及现行系统存在的主要问题,建立系统可分以下几步实现。(1)对新系统实现的硬件条件显然该系统只是一个软件系统,它若要真正放于现实,则尚须相应的硬件支持,如打印机等。(2)新系统可能产生的影响要对火车站售票工作人员进行此系统软件的使用,使其逐步适应计算机化的要求。(3)效益分析该系统提高了大家买票的方便度,全国各地的客户可以在任何火车站购买到任何两地间的火车票,方便了大家的生活。4.2.4结论由于该系统在国内外是一个技术上成熟的系统,并且有工程技术方面的保证,以及负责人采取的积极态度,因此该系统是可行的。4.3 数据库设计数据库中一共设有5个表包括,用户表,列车表,列车座位表,用户购票表,充值表。详细结构如下:图4-3列车表图4-2 用户表 图4-5 用户购票表图4-4 列车座位表图4-6 充值表er图设计:登陆首页查询购票退票转售提示记录用户表用户表,列车表,列车座位表 用户用户够票表 结果图4-7 er图五 系统的实现5.1系统的登录与退出系统的登陆中只要输入正确的用户名和密码再与数据库表里的值进行对比,如果一致则登陆成功进行跳转,推出则只需用一个链接即可。登陆有两种类型用select case 控制。具体效果及代码如下:图4-8 登录界面5.2用户管理5.2.1用户管理模块的功能介绍在用户登陆后有多种选项显示方式以左右框架显示。用户可用操作有:列车车次查询,车站查询,列车站到站查询,买票,买票记录,充值,查看他人售票,卖票,买票记录,转售车票,取消转售,退票,返回首页。如下图: 图4-10 售票登录界面图4-9 买票登录界面5.2.2 用户管理模块的实现1.列车车次查询:在这项查询中需要用户输入要查询的车次,然后对输入的值进行检索并输入记录,具体实现过程如下:以下是您查询的信息: 若下方为空,则说明您查询的列车不在查询范围内! 列车名 列车类型 始发站 终点站           到达站 到达时间 发车时间停车时间运行时间运行里程 硬座/软座 硬卧(上/中/下) 软卧(上/下) /   -返回查询页    2.车站查询列车车站查询和车次查询类同都是需要用户输入再对表中检索,但是到达这个车站的列车有很多所以需要一个查看明细的页面,明细页面只需接受一个编号传值显示与当前记录相关的记录即可。由于车站查询和车次查询如出一辙这里就不做介绍了。3.列车站到站查询列车站到站查询需要对两个值进行检索,同样需要明细页查看具体的列车走向。具体实现如下:以下是您查询的信息: 若下方为空,则说明您查询的列车不在查询范围内! 列车名 列车类型 始发站 终点站 经过站1经过站2 到达时间 发车时间 硬座/软座 硬卧(上/中/下) 软卧(上/下)查看 /a href=mxy.asp?lcm=查看明细   -返回查询页4.买票功能用户买票可以说是他来到这的目的了,他要买票需要填写他的信息而有些记录这不用填写,因为是实名登记所以用户名和他的身份证就不需要填写。直接从表记录中调出来就可以了效果如图:图4-11 买票界面用户填写完成信息以后就是买票的过程操作了。过程中我们要考虑很多问题如是否有车票,有几节车厢,每节车厢有几个座位,如何知道这节车厢已经满员,怎样扣除用户金额并更新等等。只有我们考虑的到位才不会出错这里只对硬座车票的实现给出代码其它类同。实现如下:dim cz,cc,sfz,cplx,n,ye,y,r,d,rq,wl,zw,lxfs,icz=trim(request.form(cz)cc=trim(request.form(cc)sfz=trim(request.form(sfz)cplx=trim(request.form(cplx)lxfs=trim(request.form(lxfs)n=trim(request.form(n)y=trim(request.form(y)r=trim(request.form(r)rq=n&y&rif cdate(rq)31 thenresponse.redirect xianssb1.aspelseset rs=conn.execute(select * from yhb where yhm=&session(yhm)&)setrs1=conn.execute(select * from lcb where lcm like %&cc&% and cz=&cz&)if rs1.bof and rs1.eof thenresponse.redirect xianssb1.aspelseif rs(8)rs1(11) thenset rs4=server.createobject(adodb.recordset)rs4.open select * from lczb where lcm=&rs1(1)&,conn,3,3if rs4(4)-11 then检查是否有剩余车厢if rs4(5)+1rs4(3) then检查是否有剩余座位rs4(4)=rs4(4)-1rs4(5)=1ye=rs(8)-rs1(11)更新余额set rs3=server.createobject(adodb.recordset)进行买票记录rs3.open select * from yhzl ,conn,3,3rs3.addnew rs3(yhm)=rs(1)rs3(ye)=ye rs3(mpjl)=rs3(mpjl)+1rs3(ccm)=ccrs3(kcsj)=rs1(6)rs3(cprq)=n&年&y&月&r&日rs3(xm)=rs(5)rs3(sfz)=rs(6)rs3(lxfs)=lxfsrs3(cpfx)=rs1(3)&-&czrs3(zw)=rs4(4)&车&rs4(5)&号 硬座rs3(gprq)=date()rs3(gpyh)=网络rs3(zt)=0rs3.updaters3.closeset rs3=nothingset rs4=conn.execute(update lczb set sscj=&rs4(4)&,sscz=&rs4(5)& where lcm=&rs1(1)&)更新列车数据set rs=conn.execute(update yhb set zhye=&ye& where yhm=&session(yhm)&)更新用户数据response.redirect xianscg.aspelse ye=rs(8)-rs1(11)rs4(5)=rs4(5)+1set rs3=server.createobject(adodb.recordset)进行买票记录rs3.open select * from yhzl ,conn,3,3rs3.addnew rs3(yhm)=rs(1)rs3(ye)=yers3(mpjl)=rs3(mpjl)+1rs3(ccm)=ccrs3(kcsj)=rs1(6)rs3(cprq)=n&年&y&月&r&日rs3(xm)=rs(5)rs3(sfz)=rs(6)rs3(lxfs)=lxfs rs3(cpfx)=rs1(3)&-&czrs3(zw)=rs4(4)&车&rs4(5)&号 硬座rs3(gprq)=date()rs3(gpyh)=网络rs3(zt)=0rs3.updaters3.closeset rs3=nothingset rs4=conn.execute(update lczb set sscz=&rs4(5)& where lcm=&rs1(1)&)更新列车数据set rs=conn.execute(update yhb set zhye=&ye& where yhm=&session(yhm)&)更新用户数据response.redirect xianscg.aspend ifelseset rs4=server.createobject(adodb.recordset)rs4.open select * from lczb where lcm=&rs1(1)&,conn,3,3if rs4(5)+1rs4(3) thenrs4(5)=rs4(5)+1ye=rs(8)-rs1(11)set rs3=server.createobject(adodb.recordset)进行买票记录rs3.open select * from yhzl ,conn,3,3rs3.addnew rs3(yhm)=rs(1)rs3(ye)=yers3(mpjl)=rs3(mpjl)+1rs3(ccm)=ccrs3(kcsj)=rs1(6)rs3(cprq)=n&年&y&月&r&日rs3(xm)=rs(5)rs3(sfz)=rs(6)rs3(lxfs)=lxfs rs3(cpfx)=rs1(3)&-&czrs3(zw)=rs4(4)&车&rs4(5)&号 硬座rs3(gprq)=date()rs3(gpyh)=网络rs3(zt)=0rs3.updaters3.closeset rs3=nothingset rs4=conn.execute(update lczb set sscz=&rs4(5)& where lcm=&rs1(1)&)更新列车数据set rs=conn.execute(update yhb set zhye=&ye& where yhm=&session(yhm)&)更新用户数据response.redirect xianscg.aspelseresponse.redirect xianssb.aspend ifend ifresponse.redirect xianssb.aspelse response.redirect xianssb.aspend if5.买票记录买票记录是记录用户在一定时间内的购票操作,这对用户和管理员同样重要。用户心知肚明把钱花在明处,管理用明察秋毫知道是否有非法操作,这项功能非常简单只要显示记录即可就不多说了。6.充值用户需要买票当然需要钱来买而没钱了充值就是必须的。充值和登录异曲同工,都是对输入的值进行比较检索并为用户的余额加上充值卡的金额即可在这里就不给出代码了。7.查看他人售票卖票的人不一定是管理员,某人有事需要改变车次,而又不想因退票被扣除手续费就可以挂单卖给其它人,只要车票没有过期都可以进行上架,当然如果车票过期了都没人买走的话就作废了,功能的实现只要把做有标号且没有过期的记录显示出来就可以了,就不做详细论述了。8.卖票卖票这个过程就不需要多说了只要把用户的车票做个记号就可以了。具体实现 9.票已售出这个是买票里的附带功能加在这里是为了更好的理解,买他人售票是个双向的操作同时要扣除买票用户的金额和记录车票的值还要为卖票的人加上所售金额并为其进行记录以供管理员查看,卖票记录,出售中的车票和取消售票的实现过程就细说了和出售车票是一样的只要给车票进行标注就可以了。接下来给出票被买走的实现代码:%dim idid=request.querystring(id)set rs=server.createobject(adodb.recordset)rs.open select * from yhzl where 编号=&id&,conn,3,3set rs2=conn.execute(select * from yhb where yhm=&session(yhm)&set rs3=server.createobject(adodb.recordset)进行买票记录rs3.open select * from yhzl ,conn,3,3rs3.addnew rs3(yhm)=rs2(1)rs3(ye)=rs2(8)-rs(7)rs3(mpjl)=rs3(mpjl)+1rs3(ccm)=rs(8)rs3(kcsj)=rs(9)rs3(cprq)=rs(10)rs3(xm)=rs2(5)rs3(sfz)=rs2(6)rs3(lxfs)=rs2(7)rs3(cpfx)=rs(11)rs3(zw)=rs(12)rs3(gprq)=date()rs3(gpyh)=转售&rs(1)rs3(zt)=0rs3.updaters3.closeset rs3=nothingset rs1=conn.execute(update yhzl set zt=2 where 编号=&id&)set rs4=conn.execute(update yhb set zhye=zhye+&rs(7)& where yhm=&rs(1)&)response.write alert(n 购买成功 n );window.location.href=trsp.asp;%10.退票退票是个很必要的过程当车票快要过期而又没有购买的时候退票的就成了必然了,由于本人表结构的设计退票时需要截取字符串但是实现的方法还是一样的,只要退票的记录为用户加上退票的金额就可以了一下是实现代码:%dim id,str,str1,zid=request.querystring(id)set rs=conn.execute(select * from yhzl where 编号=&id&)str1=right(rs(11),2)str=right(rs(12),2)set rs1=conn.execute(select * from lcb where lcm=&rs(8)& and cz=&str1&)select case strcase 硬座z=rs1(11)-(rs1(11)*0.2)set rs2=conn.execute(update yhb set zhye=zhye+&z& where yhm=&session(yhm)&)set rs3=conn.execute(delete from yhzl where 编号=&id&)response.write alert(n 退票成功 n );window.location.href=tuip.asp;case 软座z=rs1(12)-(rs1(12)*0.2)set rs2=conn.execute(update yhb set zhye=zhye+&z& where yhm=&session(yhm)&)set rs3=conn.execute(delete from yhzl where 编号=&id&)response.write alert(n 退票成功 n );window.location.href=tuip.asp;case 硬上z=rs1(13)-(rs1(13)*0.2)set rs2=conn.execute(update yhb set zhye=zhye+&z& where yhm=&session(yhm)&)set rs3=conn.execute(delete from yhzl where 编号=&id&)response.write al

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论