还剩25页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
课程设计课程名称SQL数据库系统课程设计题目名称火车订票系统的设计与实现专业班级2014级计算机科学与技术(升本)学生姓名吴文渊祁娥安学号5140211100151402111009指导教师戚晓明(副教授)二○一四年十二月__日目录TOC\o1-3\h\u目录1引言1HYPERLINK\l_Toc
312771.概述
31.1__目的和意义
31.2完成情况
32.__环境及工具
42.1__环境和__工具
43.系统分析
53.1可行性分析
55553.2需求分析
55664.系统设计
84.1总体设计
84.2详细设计
884.3数据库设计
11111111125.系统实现
125.1系统登录界面
125.2系统___登录界面
135.3票务___登录界面
145.4乘客登录界面
146.总结16谢辞17参考文献19附加部分代码实现20引言用信息化推动工业化,用信息技术改造传统产业,这是我国迫切要完成的一项战略性任务作为工业文明的产物----铁路,如何借助信息技术的帮助,实现管理方式,运营组织,服务标准的现代化,这是摆在我国铁路工__面前的重大课题 铁路信息化是铁路现代化的重要标志,其根本目的是将信息技术应用到铁路生产经营与管理决策等各项活动中,改造传统产业,提高铁路生产率,提高市场竞争力,提高铁路运营经济效益 国内外已有运作合理完善的火车售票管理系统,其具有售票、查询、管理和维护等功能,系统___可以进行对车次的更改、票价的变动及调度功能,票价的修改可以通过修改运价来进行,车次调度可通过对发车时刻表的修改来进行,维护功能即可对表进行修改满足当前火车售票管理的需求,并且运作十分良好铁路信息化建设目前主要集中在搞好铁路运输生产管理上,加快计算机调度系统建设,完善客票__与预订系统,搞好各地信息系统的结合,实现资源有效利用,信息共享其总体目标是形成具有国际水平的铁路信息化基础通信平台,实现各部门各系统之间的信息数据共享,互联互通;建成车,机,工,电,辆各部门调度控制,安全生产,运输指挥的现代化保障体系为铁路运输各部门提供所需的管理信息资源和强有力的决策支持通过现代客货营销手段和电子商务手段,带动铁路运输经济发展,大幅度提高运输效益建立建全与信息化相适应的管理体制我国目前的铁路信息化总体程度居国内领先,国际先进水平关键字铁路订票系统,国际水平,铁路信息化管理体制IntroductionTrainticket__nagementsystemathomeandabroadoperationreasonableandperfecth__ingaticketquery__nagementand__intenan__functionsthesystemadministratorcanbecarriedoutontripsthefarechangesandchangethesche____ngfunctionfaremodificationscanbecarriedoutthroughmodifyingthefreighttrainsche____ngcanbebasedonthedeparturetimetablearemodified__intenan__functioncanbemodifiedonthetable.Tomeetthecurrenttrainticket__nagementneedsandtheoperationisverygood.Theconstructionofrailwayinfor__tizationatpresent__inlyfocusongood__nagementinproductionofrailwaytransportationspeeduptheconstructionofcomputercontrolsystemperfecttheticketingandreservationsystemcombinedwiththewellaroundtheinfor__tionsystemrealizetheeffectiveuseofresour__sinfor__tionsharing.Itsoverallgoalis:thefor__tionofrailwayfundamentalinfor__tioncommunicationplatformwithinternationallevelrealizethesharingofinfor__tionanddatabetweenthevariousdepartmentsvarioussysteminterconnection;builtcar__chineelectriccarindustryeachdepartmentdispatchingcontrolsafetyinproductiontransportationcom__ndmodernsecuritysystem.Provide__nagementinfor__tionresour__srequiredandstrongdecisionsupportforrailwaytransportationdepartments.Throughthemodernpassengercargo__rketingmeansandmeansofe-commer__promotethedevelopmentofrailwaytransportationeconomygreatlyimprovethetransportationefficiency.Toestablishacomprehensiveinfor__tion__nagementsystemcompatiblewiththe.Atpresentourcountryrailroadinfor__tizationtotheoveralllevelofrankingtheleadingdomesticinternationaladvan__dlevel.Keywords:internationallevelofrailwayrailwaybookingsysteminfor__tion__nagementsystem
1.概述
1.1__目的和意义铁路客票__和预订系统经过几年的建设,取得了很大的进展火车站订票系统的__使用,大大方便了旅客购票,也预示着我国铁路售票系统正日趋合理与完善,并且具有良好的交互界面,容易被用户所接受本系统基于铁路售票系统订票业务的基本流程,通过模拟售票员与客户之间的基本操作,实现了查询、订票、退票等基本功能,同时利用计算机网络,通过网络与售票系统,为用户提供方便快捷的订票服务,使得售票服务更为便捷效率,使铁路售票系统应用更为广泛,但由于铁路火车票务管理的复杂性,本设计与__也仅是一个尝试性的工作,希望为铁路售票业务,铁路客运及运输发展更为稳定,迅猛尽微薄之力
1.2完成情况本课程设计针对火车订票实际情况,按照软件工程的结构化设计思想,经过项目的可行性研究和需求分析、总体设计、详细设计,以及编码实现和调试等步骤设计__了火车订票系统并运用数据流图和数据字典、数据库逻辑结构、层次图、系统流程图、以及程序流程图,对该系统的数据需求、数据库、系统软件结构、系统流程、以及处理过程等进行了分析和设计该系统基于铁路售票系统订票业务的基本流程,通过模拟售票员与客户之间的基本操作,可以满足火车站网上售票的基本要求,包括查询、订票、退票等三个方面的功能该系统能运用到火车站售票的工作中,根据用户的需求,设置其权限,并快捷方便的为用户提供服务
2.__环境及工具本系统是一个基于SQL构架的系统系统的__和应用目的是使售票活动能够在多个不同的地点进行并且能够使旅客通过系统查询到自己所需要的出行信息基于SQL结构售票系统的具体实现的功能查询,订票,退票,等三大模块,并研究SQL结构在网络中面临的安全问题及提出相应的解决方案
2.1__环境和__工具伴随着Internet/Intranet技术的发展,__基于Web的应用程序势在必行,数据库技术更是需要和Web数据相结合,才有更为广阔的前景C#语言作为微软推出的新兴Web应用程序__技术,在数据库应用方面发挥着越来越重要的作用,数据库选择用的SQLServer2000,语言使用C#程序设计语言
3.系统分析
3.1可行性分析该阶段通过对系统目标的初步调研和分析,提出可行性方案并进行论证我们在这里主要从技术可行性,经济可行性和操作可行性三方面进行分析__该系统所需的相关资料可以通过已存在的网上购票系统进行调查采集,所需的其他应用软件、硬件软件也易于获得因此,__成本低而引进使用本系统后,与传统方式相比,具有高效率、低成本、高质量的特点,可以节省不少人力、物力及财力所以,从经济的角度来看,该系统可行__工具VictualStudio2010数据库环境SQLServer2000系统环境MicrosoftWindows2000或以上版本系统实现依靠相对熟悉的J__a语言和SQLServer2000数据库系统,其基本操作实质还是对数据库进行添加、删除、查找、等操作,暂不存在技术问题系统采用菜单式,实现用户与数据的交互,界面简洁友好,操作方便用户只需对订票流程和业务了解即可,不需掌握数据库等相关知识
3.2需求分析该系统是利用C#平台__,数据库采用的是SQLSever2000旨在__一个具有开放体系结构的、易扩充的、易维护的、具有良好人机交互界面的火车售票系统,为用户提供满意的火车票订票服务火车订票管理系统的参与者乘客查询、预订车票的人员售票员具体负责乘客的车票订单票务___负责更新车票信息系统___系统___负责系统的员工信息管理,乘客信息管理以及系统的维护等火车站系统中的所有人都是___,___是一个抽象的概念,它包含的行为是所有___的共同行为___在本系统中通过合法的身份验证能够修改自身的信息和__系统___能够通过本系统进行如下活动
①管理乘客信息系统___能够对当前注册到本系统的客户进行整理
②管理售票员信息系统___能够管理当前系统中的售票员信息,如添加、删除和修改售票员信息等
③系统设置系统___可以对系统进行必要的设置和维护,如升级等数据需求
(1)数据录入和处理的准确性数据的输入是否正确是数据处理的前提,错误的输入会导致系统输出的不正确和不可用,从而得不到想要的结果数据的输入来源是手工输入所以系统地界面要让用户容易使用,如果用户出现误操作,系统能简单明了的给出中文提示
(2)数据的一致性和完整性由于系统的数据是共享的,在不同的代售点中,车次信息是共享数据,所以如何保证这些数据的一致性,是系统必须解决的问题要解决这一问题,要求系统能保证数据的一致性,在数据录入处控制数据的去向,并且要求对数据库的数据完整性进行严格的约束对于输入的数据,要为其定义完整性规则,如果不能符合完整性约束,系统应该拒绝该数据,并给出出错提示
(3)数据的共享与__性整个售票系统的数据是共享的然而,从系统__的角度上看,共享会给设计和调试带来困难因此,应该提供灵活的配置,使不同权限的用户都可以正常进行操作为了保证系统能够__、安全、稳定、可靠、高效的运行,本系统应该满足以下的性能需求
(1)系统的准确性和及时性系统处理的准确性和及时性是系统的必要性能系统应能及时而且准确的根据用户权限及所输入的信息做出响应由于本系统的查询功能对于整个系统的功能和性能完成举足轻重作为系统的很多数据来源,而车票的数量和时间又影响用户的决策活动,其准确性和及时性很大程度上决定了系统的成败在系统__过程中,必须采用一定的方法保证系统的准确性和及时性
(2)系统的开放性和可扩展性订票系统在__过程中,应该充分考虑以后的可扩充性例如车次信息的临时或者永久性改变,用户查询的需求也会不断的更新和完善所有这些,都要求系统提供足够的手段进行功能的调整和扩充而要实现这一点,应通过系统的开放性来完成,即系统应是一个开放系统,只要符合一定的规范,可以简单的加入和减少系统的模块,配置系统的硬件通过软件的修补、替换完成系统的升级和更新换代
(3)系统的易用性和易维护性订票系统是直接面对普通用户的,而大多普通用户往往对计算机并不是非常熟悉这就要求系统能够提供良好的用户界面要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息界面;针对用户在使用中出现的错误操作,尽量给出中文提示订票系统中涉及到的数据是铁路部门的相当重要的信息,系统应提供方便的手段供系统维护人员进行数据的备份,日常的安全管理,以及系统意外崩溃时数据的恢复等工作
4.系统设计
4.1总体设计本火车站售票管理系统可划分为信息查询、网上订票、取消订票三个部分其中信息查询又可分为车次查询和订单查询两个部分系统功能结构如图
4.1所示图
4.1系统功能结构图
4.2详细设计本系统主界面为用户设计了三个功能操作以供选择查询,订票,退票另外,为方便用户,还将“退出系统”也单另列了出来,用户可以根据需要触发不同__根据分析,系统用户权限的系统主程序流程图,售票员权限的系统主程序流程图,车次信息查询程序流程图,售票程序流程图,订票信息查询模块程序流程图,退票模块程序流程图,如图
4.2—
4.3所示图
4.2系统用户权限的系统主程序流程图图
4.2系统用户权限的系统主程序流程图图
4.3售票员权限的系统主程序流程图图
4.3售票员权限的系统主程序流程图
4.3数据库设计本系统采用的数据库软件为SQLserver2000本系统用到的数据库名为traintickets(火车票),它里面包括张表,下面逐一介绍信息表用户表用来存储注册用户的信息,它的结构如表
4.7所示图
4.7用户信息表车次详细信息表存储的是车次的具体路段信息,它的结构如表
4.8所示图
4.8车次详细信息表信息表订票信息表存储的是用户的买票信息和订票信息,买票和订票操作产生的记录有不同的字段,本系统中把两种不同字段放在一张表里,如果订票字段为空,则系统可判断这是一条买票记录,它的具体结构如表
4.9所示图
4.9订票信息表退票信息表退票纪录表存储的是用户的退票记录和退票信息,它的具体结构如表
4.10所示图
4.10退票信息表
5.系统实现
5.1系统登录界面本系统设计要求用户通过登录框选择访问权限,登录系统登录身份包括系统___、票务___和乘客其中,用户须输入用户名和__,以进入系统系统用户输入正确的用户名和__,访问系统,得到其相应的权限系统登陆界面如图
5.1所示图
5.1系统登陆界面
5.2系统___登录界面系统___具有系统的管理、系统的设置和系统的维护权限在系统管理中可以实现对乘客信息和票务___信息的添加、删除和修改,在系统设置中可以修改系统的相关属性,在系统维护中可以实现清除系统运行中发生的故障和错误,对系统进行必要的修改与完善,使系统适应用户环境的变化,满足新提出的需要系统___登录界面如图
5.2所示图
5.2系统___登录界面
5.3票务___登录界面票务___是车票信息的管理者,具有添加车票信息、修改车票信息、删除车票信息的权限票务___通过日期、车次或出发地、目的地来查询相关车票信息,并完成对车票信息的添加、删除和修改票务___登录界面如图
5.3所示图
5.3票务___登录界面
5.4乘客登录界面乘客是本系统的主要使用者,具有查询车票信息、预订车票和退票的权限,在查询功能中,乘客通过日期、车次或出发地、目的地来查询相关车票信息,如票价、余票、列车正晚点、列车时刻表、中转站等查询成功后,乘客选定满意的车次,在购票处完成预定乘客登录界面如图
5.4所示图
5.4乘客登陆界面
5.5用户修改车次界面图
5.5用户修改车次界面
6.总结
6.1小结本文主要介绍了基于SQL结构的火车站售票管理系统的分析设计以及编程实现整个系统的功能结构和现实中的火车订这次系统的设计从最开始的可行性研究,需求分析,到系统的总体设计,详细设计,再到编码、测试等的一个整体过程,使我真正明白了要做一个软件的难度,特别是要做一个真正可用的软件,就更难了在老师和同学的帮助下,我把以往所学的软件工程、数据库知识结合起来,利用VS__工具,加上SQLServer数据库系统,完成了本次课程设计,尽量使它能满足各个方面的要求当然,我的个人能力有限,还有很多不足的地方,敬请谅解票系统还具有一定的差距,通过C#__平台和sqlserver2000数据库,完成开始原来设想的大部分功能模块现将本系统的__过程中取得的成果归结如下
(1)根据对现实中火车站售票管理系统的界面分析,我们设计完成了数据库中数据表的所有字段,系统通过和数据库交互的结果能顺利地完成系统对数据库的常规操作
(2)采用C#语言以VictualStudio2010工具__设计__完成整个系统的界面设计与实现
(3)__编程实现了系统原先设计的大部分功能,根据对有些功能实现的理解,完成了对一些特有功能的编码但由于火车订票系统的复杂性和编者水品的限制,本系统依然存在很多问题
(1)软件采纳的数据不是很全面,不能很好的接受外来的影响
(2)客流人数预设不到位,可能会有票数不达的局限如果这些问题存在,可能会影响系统的操作,秩序也会受到破坏
(3)与已存在的火车订票系统相比整个系统的功能结构和现实中的12306火车订票系统还具有一定的差距谢辞三个星期的SQL数据库系统课程设计终将竣工,内心实乃感慨万千,在这次课程设计过程中我们遇到了不少的难题,比如数据库操作问题,界面设计问题,函数使用与消息处理问题等等其中,最关键的是最初对系统的需求分析做的不透彻,导致后续设计工作乃至编码时的修改工作量变大尤其,越接近结束,就越是时常出现问题所以,通过这次课程设计我深刻的体会到软件工程还是必须学精通、学透彻通过这一次的课程设计,我们组员越来越默契,在设计过程中我们先把功能分工了,然后每个人下去都把需求写出来,当需求综合时,大家都不局限于只考虑自己的功能实现,往往还要考虑其他组员的功能大家一起集思广益,用心认真的完成着系统每一部分的设计与实现,我认为这是我们的一次大的进步这一学期的SQL的课程设计我们完成的是火车订票系统的设计与实现功能,当看到系统最终成型并能准确实现相应的功能的时候我们觉得特别的开心,我们的努力获得了回报我很高兴能有这样的一个机会让我们一起面对一个难题并为之倾尽全力,这个过程给了我新的体会也些许改变了我一直以来各种烦恼的心态这个学期一开始我就觉得好多东西跟不上节奏,完成课程设计的过程给了我动力,当然也给了我压力,让我能够静下心来好好研究一下课上所讲的知识,自己去学习新的知识,也让我能和伙伴们一起讨论问题、解决问题,这种感觉很不错的在完成课程设计的过程中我学到了很多东西,不管是自身还是从同伴的身上,他们给了我很多的帮助和鼓励,当然也让我在比较中更加看到自己的不足,我知道自己需要学习的地方还有很多此次的火车订票系统是我们自上大学以来完成的第一个可以应用与实际的软件在课程设计过程中难度最大的是编码的部分,在编码部分最难的莫过于对方法的重写因为你需要实现一些之前从没有做过甚至没有听说过的功能,但是我慢慢明白这是学习与提升自我最好的、最快的方法这次系统的设计从最开始的可行性研究,需求分析,到系统的总体设计,详细设计,再到编码、测试等的一个整体过程,使我们真正明白了要做一个软件的难度,特别是要做一个真正可用的课程设计,那就更难了在老师和同学的帮助下,我们把以往所学的C#程序设计、数据库知识结合起来,利用VS__工具,加上SQLServer数据库系统,完成了本次课程设计,尽量使它能满足各个方面的要求虽然我们顺利完成了火车订票系统的设计与实现的功能,但是我们深知,项目依然存在很大的改进的空间,我们将大部分的精力投入到对设计功能的实现,忽视了对程序整体架构的设计,我们会继续加油的通过这次课程设计,我们学会了如何对所学课程综合运用,巩固了课程设计的一般规范,这也让我们对一年后的毕业设计奠定了一定的基础,让我们彻底地对数据库的使用有了更进一步的了解总体来说,课程设计让我们学会了不少知识我认为课程设计是我们学习生涯中相当重要的一课,除了验证学生的学习成果外,也能训练一个人__思考及解决问题的能力参考文献
[1]严蔚敏.吴伟民.数据结构[M].北京:清华大学出版社,
2003.
[2]齐治昌等.软件工程[M].高等教育出版社,
2002.
1.
[3]
[5]BuckleKeck著侯捷译.J__a编程思想[M].机械工业出版社.2010
[6]戚晓明.Ac__ss数据库实用教程[M].北京清华大学出版社,2010
[7]西尔伯沙茨等著,杨冬青等译.数据库系统概念(原书第5版)[M].北京机械工业出版社,2006
[8]熊拥军,刘卫国数据库技术与应用实践教程-SQLServer2005[M].北京清华大学出版社,2010
[9]维埃拉著.SQLServer2008高级程序设计.杨华,腾灵灵译.北京清华大学出版社,2010
[10]孙涌.《现代软件工程》.北京希望电子出版社.2003年
[11]萨师煊,王珊.《数据库系统概论》.高等教育出版社.2002年
[12]于松涛.精通SQLserver2000数据库管理与__[M].高等教育出版社.2003年
[13]飞思科技产品__中心.SQLServer2000基础与提高[M].北京电子工业出版社电子工业出版社.2001年
[14]汤庸.软件工程方法与管理[M].北京冶金工业出版社.2002年
[15]张虹.软件工程与软件__工具[M].北京清华大学出版社.2004年附加部分代码实现火车订票信息代码usingSystem;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;namespa__火车票{publicpartialclassForm2_订票界面:Form{publicintpreIndex=-1;publicstrings=null;publicForm2_订票界面{InitializeComponent;}PrivatevoiddataGridView1___llContentClicko__ectsenderDataGridView__llEventArgse{//s=dataGridView
1.Rows[preIndex].__lls
[0].Value.ToString;}privatevoidForm2_Loado__ectsenderEventArgse{}privatevoidGetDataDataGridViewdata{SqlConnectionconn=newSqlConnection@DataSour__=YBLX-20140705MD;InitialCatalog=huoche____;IntegratedSecurity=false;userid=sa;password=123456;;ifconn.State==ConnectionState.Openconn.Close;stringselectQuery=select*from车次详细信息表1where出发站=+textBox
1.Text+and到达站=+textBox
2.Text+;SqlDataAdapterda=newSqlDataAdapterselectQueryconn;DataSetds=newDataSet;da.Fillds;dataGridView
1.DataSour__=ds.Tables
[0].DefaultView;}privatevoidbutton1_Clicko__ectsenderEventArgse{SqlConnectionconn=newSqlConnection@DataSour__=YBLX-20140705MD;InitialCatalog=huoche____;IntegratedSecurity=false;userid=sa;password=123456;;ifconn.State==ConnectionState.Openconn.Close;stringselectQuery=select*from车次详细信息表1where出发站=+textBox
1.Text+and到达站=+textBox
2.Text+;SqlDataAdapterda=newSqlDataAdapterselectQueryconn;DataSetds=newDataSet;stringsql=selectcount*from车次详细信息表1where出发站=+textBox
1.Text+and到达站=+textBox
2.Text+;SqlCom__ndcmd=newSqlCom__ndsqlconn;try{conn.Open;intnn=Convert.ToInt32cmd.ExecuteScalar;ifnn0{da.Fillds车次详细信息表1;dataGridView
1.DataSour__=ds.Tables[车次详细信息表1].DefaultView;}else{MessageBox.Show没有此票!;textBox
1.Text=;textBox
2.Text=;}}catchEx__ptionex{MessageBox.Show查询失败!+ex.Message;textBox
1.Text=;textBox
2.Text=;}finally{conn.Close;}}privatevoidbutton2_Clicko__ectsenderEventArgse{Form5_客户主界面fm=newForm5_客户主界面;fm.Show;this.Hide;}privatevoidbutton3_Clicko__ectsenderEventArgse{SqlConnectionconn=newSqlConnection@DataSour__=YBLX-20140705MD;InitialCatalog=huoche____;IntegratedSecurity=false;userid=sa;password=123456;;ifconn.State==ConnectionState.Openconn.Close;conn.Open;intnm;strings=dataGridView
1.Rows[preIndex].__lls
[0].Value.ToString;strings_出发站=dataGridView
1.Rows[preIndex].__lls
[1].Value.ToString;strings_到达站=dataGridView
1.Rows[preIndex].__lls
[2].Value.ToString;strings_出站时间=dataGridView
1.Rows[preIndex].__lls
[3].Value.ToString;strings_到站时间=dataGridView
1.Rows[preIndex].__lls
[4].Value.ToString;strings_票数=dataGridView
1.Rows[preIndex].__lls
[5].Value.ToString;strings_金额=dataGridView
1.Rows[preIndex].__lls
[6].Value.ToString;intps=int.Parses_票数;ifps0{n=Convert.ToInt32ps-1;/*stringselectl=update车次详细信息表1set剩余票数=+n+where车次=+s+;SqlCom__ndcd=newSqlCom__ndselectlconn;cd.ExecuteNonQuery;*/m=Convert.ToInt32ps-n;stringmn=selectcount*from订票信息表where车次=+s+;SqlCom__ndcomd=newSqlCom__ndmnconn;intchaxun_shuliang=Convert.ToInt32comd.ExecuteScalar;ifchaxun_shuliang0{/*stringselect2=update订票信息表set剩余票数=+m+where车次=+s+;SqlCom__ndcd2=newSqlCom__ndselectlconn;cd
2.ExecuteNonQuery;*/MessageBox.Show订票信息表里有这张票一张,不允许再次订票!;}else{stringselectQ=insertinto订票信息表values+s++s_出发站++s_到达站++s_出站时间++s_到站时间++m++s_金额+;SqlCom__ndcmd=newSqlCom__ndselectQconn;cmd.ExecuteNonQuery;MessageBox.Show总票数减少一张!;MessageBox.Show订票成功!;GetDatadataGridView1;}/*Form3fm=newForm3;fm.Show;this.Hide;*/}else{/*n=3;stringselectl=deletefrom车次详细信息表1where出发站=+s_出发站+and到达站=+s_到达站+;SqlCom__ndcd=newSqlCom__ndselectlconn;cd.ExecuteNonQuery;*/MessageBox.Show总票库存没了!;}}}}。