资源描述
河南科技大学本科毕业设计(论文)列车时刻系统摘 要交通是一个国家的经济命脉,交通分为水路,陆路,空路三种。其中列车交通是当今世界运输量最高的运输方式。列车时刻系统都是它们不可或缺的信息交流门户和平台。所以能否设计一个简单、易用、方便管理、扩展性强的列车售票管理系统是很重要的。本系统以简洁的界面实现了列车订票、列车售票管理、退票管理、系统管理以及版权管理等功能。并阐述系统的结构设计和功能设计,以及数据库的实现。本系统是利用.NET技术开发的列车时刻系统列车售票管理系统,实现了列车售票的动态管理,使得对信息的管理更加及时、高效,提高了工作效率。列车时刻系统是一个网络应用系统。系统是按照标准软件开发流程,逐步设计开发完成的。用户可以通过登录本系统,来实现对列车订票查询、列车售票管理、退票管理、系统管理以及版权管理等功能。同时也可以进行业务的统计管理工作。本系统采用微软公司的.NET作为系统开发的工具,使用该平台下集成的Web Application创建应用程序项目,并且系统设计采用了C/S的设计模式,从而使系统实现相对简单。列车时刻系统基本上实现了列车订票查询、列车售票管理、退票管理、系统管理以及版权管理等功能。关键词:列车售票, 列车售票管理, .NET, SQL 2000AIR TICKETING SYSTEM ABSTRACTTraffic is the lifeline of a countrys economic. Traffic is divided into waterways, land and air routes in three, which air traffic is the worlds most efficient transportation mode of transport. The Air ticketing system is their indispensable information exchange gate way and the platform。Whether therefore designs to be simple, the extended strong information is very important。This system has realized air booking inquiries, air ticket management, user management, refund management, system management as well as rights management by the succinct contact surface。And elaboration system structural design and functional design, as well as database realization。This system is uses the .NET technology development the system management system。Has realized the management,Even more promptly caused to the information management, to be highly effective, enhanced the working efficiency.The system is a client system. The system is designed by associate software development process. The users can m air booking inquiries, air ticket management, user management, refund management. And the users can also statistics the business sales. The system uses .NET as tools for the design of the systems, and use of the platform under the integrated Web Application project to create applications, and use the C / S model in the design of the system, so the implementation of the system is relatively simple.The system basically realized the functions of air booking inquiries, air ticket management, user management, refund management and so on.KEY WORDS:News issue, News management,.NET, SQL 20001目录前言1第1章 系统概述21.1 系统的设计背景21.2 系统的发展前景31.3 系统开发平台41.4 系统简介5第2章 系统需求分析62.1 系统可行性分析62.2 系统技术性需求72.3 系统功能规定8第3章 数据库设计93.1 概念结构设计93.2 逻辑结构设计103.3 物理结构设计11第4章 总体设计134.1 基本设计概念和设计流程134.2 功能需求与程序的关系154.3 系统功能模块简介16第5章 系统实现185.1 关键业务流程描述185.1.1 列车售票管理185.1.2 管理员管理流程185.2 创建窗体及界面195.2.1 主功能界面195.2.2 其他功能界面205.3 模块实现285.3.1 列车订票查询模块285.3.2 列车售票管理模块295.3.3 系统管理模块29第6章 系统测试306.1 软件测试的目标306.2 软件测试中的错误及排除30结论32参考文献33致谢35前言改革开放以来,我国经济建设随着时间的推移,逐步进入了网络时代。在这个时代,长途客运作为一种新的经济模式,渗透了人们的生活。客运企业依靠其灵活多样的经营方式,产生巨大的规模效益。而步入网络时代以后,信息交流及时性明显影响到企业的发展。因此,作为企业很有必要采用现代智能化的管理方式。本人的设计主要针对列车行业发展的现状,精心打造,量身定做的一款办公自动化管理系统(Office Automatization 即OA系统)。通过该系统,可以实时监测列车时刻系统的销售经营信息。该系统采用三层系统架构,前台用户层,中间服务层,后台数据库层,因此数据独立于应用程序运行,为数据提供了相对安全的环境。系统用户依靠验证登录系统,登录后才可以对权限范围内的内容进行操作。在本系统设计过程中,使用微软公司的.NET作为开发工具,严格遵照软件工程的开发流程,采用.NET的应用程序框架,利用集成Application开发技术,实现了列车售票业务的办公自动化管理系统。第1章 系统概述1.1 系统的设计背景我所选择的毕业设计课题是列车时刻系统的设计。近几年,列车运输行业发展迅速,传统的人工管理已经无法正常进行,随着计算机的普及,办公自动化正在随之普及。我所选择的课题正好属于办公自动化方面的课题。我所要编写的系统是按照软件设计的规范流程设计开发的。在每个开发阶段对该系统的分析设计都要总结整理出文档资料。该列车售票管理系统按照四级模式进行规划设计。由于网络的日益普及,网络的复杂性也随之显得更加突出,数据的安全性问题也随之提上日程。列车时刻系统的系统结构设计直接关系到数据的安全,在本系统设计中将采用三层结构体系,保证了数据的安全性。从两方面对系统的总体需求进行分析。功能需求主要是分析系统具体要完成和实现什么功能模块,而系统需求则以整个系统作为出发点,分析要达到什么要求才能保证所有功能的实现。本系统中关于不同对象即普通用户、普通管理员的功能需求主要有以下几点:对于普通管理员可以对票据信息进行添加、修改、删除等功能。针对不同用户需求,对系统要求必须比较完善:对于普通用户来说,系统必须要有浏览的功能。链接完善。对于普通管理员,系统要实现对票据信息数据的添加、修改和删除等功能1.2 系统的发展前景列车时刻系统属于办公软件,即包括在办公自动化软件的范围内。在我国此类软件的设计起步比较晚,国外的系统技术研究领先于国内,但目前国际的合作频繁,国外和国内同样都向智能化人性化的方向发展。列车时刻系统作为当今社会列车售票管理的主要信息管理载体,发展趋势正日益普及。用户对列车时刻系统安全性、可靠性以及功能上的要求也在不断提高。因此,必须提供更安全、更可靠、功能更丰富的服务。如何构建高效、稳定、安全、易用、可扩展、功能丰富的列车售票管理系统呢?列车售票管理系统下阶段的发展重点在以下几个方面: 对于普通管理员可以对票据信息进行添加、修改、删除等功能。对于超级管理员不但可以对票据信息内容进行添加、修改、删除等功能之外,还能对用户角色进行管理,比如添加用户、设置用户级别、修改删除用户,角色分配等一系列功能。针对不同用户需求,对系统要求必须比较完善:对于普通用户来说,系统必须要有浏览的功能。链接完善。对于普通管理员,系统要实现对票据信息数据的添加、修改和删除等功能超级管理员的工作认为则要求系统处理对用户、角色以及用户所属的角色分配,如角色添加、角色名称修改、和角色删除等功能。分配角色所管辖的票据信息种类功能。1.3 系统开发平台列车时刻系统是采用微软公司的.NET开发的,以下介绍下.NET的一些常识知识。列车时刻系统应用于内部局域网的企业内部的软件系统。本软件系统使用.NET作为开发平台以C#作为开发语言。.NET具有4个重点特点,分别为基于XML的共同语言,定制服务软件,融合多平台和设备以及新一代人机交互面。和Microsoft Visual Studio.NET 2003相比较,Microsoft Visual Studio.NET 2005的功能得到了很大的改进,大多数Web常用控件开箱即可使用,使得建立列车时刻系统和维护比以前更加简单,使用的代码页比以前少。 C#是一个语言,ASP.net是一个平台,上面支持用C#或者VB.Net写代码。 另外,C#不但可以开发基于ASP.net的应用程序,也可以开发基于WinForm的程序。 若是单纯以概念来说,你可以把.net当做一个工作平台一般,它是一个开发环境的基底,提供你开发Windows、Web、Mobile、XML.等应用程式一个共通的平台,若是要了解深一点,则再去了解其运作的相关机制那是有助于你利用它来开发.C#和.NET主要是应用在网际网路. C#(读做C-sharp)编程语言是由微软公司的Anders Hejlsberg和 Scott Willamette领导的开发小组专门为.NET平台设计的语言,它可以使程序员移植到.NET上。这种移植对于广大的程序员来说是比较容易的,因为C#从C,C+和Java发展而来,它采用了这三种语言最优秀的特点,并加入了它自己的特性。C#是事件的驱动的,完全面向对象的可视化编程语言,我们可以使用集成开发环境来编写C#程序。使用IDE,程序员可以方便的建立,运行,测试和调试C#程序,这就将开发一个可用程序的时间减少到不用IDE开发时所用时间的一小部分。使用IDE迅速建立一个应用程序的过程称为快速反映开发。.NET支持XML/SOAP的语言开发标准,并且融合了多种开发语言,诸如C#、C+、Java等等,因此开发人员可以很容易的找到适合自己的开发语言。.NET平台上开发出来的程序真正实现了“代码重用”,即运行时和具体的语言分开,所有的资源管理、内存分配和变量类型的军邮公共语言运行库处理。例如,用C#写的类就可以直接用在C/C+程序中。ASP.NET是ASP的升级版,集成了C#、C+、Java、VB等多种语言,才用代码隐藏机制(Code Behind),将Web应用程序逻辑从表示层中分离出来,为程序的开发提供了灵活的开发环境,通过逻辑和表示相分离,ASP.NET 允许多个页面使用相同的代码,从而使维护更加的容易。1.4 系统简介列车时刻系统是基于网络的应用系统。系统管理员即列车时刻系统管理员负责列车信息、用户信息、票据信息的管理等。用户即列车时刻系统普通管理员可以对列车信息的查看,票据信息进行添加、修改、删除等功能。要求使用ASP.NET和SQL Server进行开发。通过该系统的设计与实现可以掌握开发一个电子商务列车时刻系统的模式、架构以及用.NET技术开发Web应用程序的方法1. 功能需求(1) 本系统中关于不同对象即普通管理员、超级管理员所要实现的功能需求主要有以下几点:(2)对于普通管理员可以对列车信息的查看,票据信息进行添加、修改、删除等功能。(3) 对于超级管理员不但可以对列车和票据信息内容进行添加、修改、删除等功能之外,还能对用户角色进行管理,比如添加用户、设置用户级别、修改删除用户,角色分配等一系列功能。系统需求2. 针对不同用户需求,对系统要求必须比较完善:(1) 对于普通管理员,系统要实现对票据信息数据的添加、修改和删除等功能。(3) 超级管理员的工作认为则要求系统处理对用户、角色以及用户所属的角色分配,如角色添加、角色名称修改、和角色删除等功能。分配角色所管辖的票据信息种类功能。第2章 系统需求分析2.1 系统可行性分析该系统是提供给列车售票行业部门列车售票服务使用的。列车售票行业近几年在我国发展的速度很迅速,规模不断的得到扩大。而目前其管理水平却远远滞后于行业的发展速度,成为制约行业发展的瓶颈。列车售票行业的发展迫切要求有一种软件能够辅助列车售票管理的需要。经过了将近10年的发展,我国的计算机互联网已经基本得到普及,越来越多的信息开始转向依靠管理系统来管理。传统的列车售票管理使用各类纸张来手工记录数据,最后需要盘点或统计时也需要消耗大量的时间和人力。规模庞大的列车售票行业为列车售票管理软件提供了广阔的市场空间,同时普及的互联网为管理软件的搭建提供了良好的网络条件。列车售票管理系统是为列车售票行业配送列车售票管理量身定做的列车售票管理软件。通过系统可以解决列车售票行业目前面临的管理问题,同时系统留有充分的扩展性,为今后业务拓展提供扩展空间。采用自动列车售票对列车售票情况进行管理,可以很方便地完成各类统计,为列车售票及时提供相关信息。采用软件管理列车售票后,信息的录入虽然仍采用手工录入的方式。但是信息录入节约了大量的人力物力资源,信息一经录入以后,不用再次录入,而且在盘点处理,统计处理时可以由系统自动化完成。软件的一次性投资可以通过成本节约抵消,其产生的巨大经济效益是显而易见的。同时,信息的传递是实时的,列车售票通过系统可以动态监测列车售票状况。通过系统统计列车售票状况,可以通过列车售票完成,在列车售票中包含有数据统计图,可以直观的反应销售的比例,并且报表可以以Word、Excel等多种形式的文导出或者直接打印成文档形式。系统中为用户提供了信息的检索查看功能,用户通过关键字可以很迅速的检索到自己所要查询的信息,同传统的纸质文档检索速度相比,软件的效率是很明显的。 2.2 系统技术性需求本系统中关于不同对象即普通管理员、超级管理员所要实现的功能需求主要有以下几点:对于普通管理员可以对票据信息进行添加、修改、删除等功能。对于超级管理员不但可以对票据信息内容进行添加、修改、删除等功能之外,还能对用户角色进行管理,比如添加用户、设置用户级别、修改删除用户,角色分配等一系列功能。针对不同用户需求,对系统要求必须比较完善:对于普通管理员,系统要实现对票据信息数据的添加、修改和删除等功能。超级管理员的工作认为则要求系统处理对用户、角色以及用户所属的角色分配,如角色添加、角色名称修改、和角色删除等功能。分配角色所管辖的票据信息种类功能。2.3 系统功能规定列车时刻系统主要包括列车订票查询、列车售票管理、用户管理、列车退票管理、系统管理等功能,各个功能的具体描述如下:1列车订票查询(1)添加新的票据信息种类,票据信息种类为票据信息的上级目录;(2)修改票据信息种类;(3)删除票据信息种类;2.列车售票管理(1)添加新的票据信息,票据信息为系统的主要内容,其中票据信息又包括普通票据信息、图片票据信息和附件票据信息几个大类;(2)修改票据信息,同时可以更新票据信息的附件;(3)删除票据信息,同时从服务器上删除该票据信息所包括的附件;3用户管理(1)添加系统管理用户,包括系统用户和列车售票管理用户,其中系统用户维护系统的正常运行,列车售票管理用户管理系统的票据信息信息及其资源;(2)修改系统管理用户,该项功能主要是修改用户的权限等;(3)删除系统管理用户以及该用户的权限;(4)管理用户更新自己的密码。4用户角色管理 用户角色管理主要是管理系统的角色,如系统管理员、普通管理员等。系统中的不同角色管理权限是不相同的。它的具体功能如下:(1)添加新的用户角色;(2)修改用户角色;(3)删除用户角色。第3章 数据库设计该系统所采用的数据库是Microsoft公司的SQL 2000。数据库设计采用了子母表,视图等方法来处理表之间的关系。对于每个票据信息单独建立一张票据信息的信息表,所有的票据信息信息表都包含在子表当中。同时子表的ID作为母表的外键,通过母表可以顺利的检索到子表的信息。而表和表之间的联系通过视图来处理。3.1 概念结构设计概念结构设计的任务是在需求分析阶段产生的需求说明书的基础上,按照特定的方法把它们抽象为一个不依赖于任何具体机器的数据模型,即概念模型。概念模型使设计者的注意力能够从复杂的实现细节中解脱出来,而只集中在最重要的信息的组织结构和处理模式上。概念模型具有以下的特点: 1.概念模型是对现实世界的抽象和概括,它真实、充分地反映了现实世界中事物和事物之间的联系,能满足用户对数据的处理要求。2.由于概念模型简洁、明晰、独立于计算机,很容易理解,因此可以用概念模型和不熟悉计算机的用户交换意见,使用户能积极参与数据库的设计工作,保证设计工作顺利进行。3.概念模型易于更新,当应用环境和应用要求改变时,容易对概念模型修改和扩充。4.概念模型很容易向关系、网状、层次等各种数据模型转换。描述概念模型的有力工具是E-R图。E-R模型是一个面向问题的概念模型,即用简单的图形方式(E-R图)描述现实世界中的数据。这种描述不涉及数据在数据库中表示和存取方法,非常接近人的思维方式。后来又提出了扩展实体联系模型(Extend Entity-Relationship Model),简称为“EER模型”。EER模型目前已经成为一种使用广泛的概念模型,为面向对象的数据库设计提供了有效的工具。3.2 逻辑结构设计概念结构设计所得的E-R模型是对用户需求的一种抽象的表达形式,它独立于任何一种具体的数据模型,因而也不能为任何一个具体的DBMS所支持。为了能够建立起最终的物理系统,还需要将概念结构进一步转化为某一DBMS所支持的数据模型,然后根据逻辑设计的准则、数据的语义约束、规范化理论等对数据模型进行适当的调整和优化,形成合理的全局逻辑结构,并设计出用户子模式。这就是数据库逻辑设计所要完成的任务。数据库逻辑结构的设计分为两个步骤:首先将概念设计所得的E-R图转换为关系模型;然后对关系模型进行优化。在列车售票管理系统管理系统当中包括了以上几个ER模型向关系模型的转换:角色表(编号,角色)用户表(用户表编号,用户表名,密码,真实姓名,权限)票据信息种类表(票据信息种类表编号,票据信息种类表名,票据销售日期)角色种类关系表(角色种类关系表编号,票据信息种类关系表)票据信息表(票据信息编号,票据起点站信息,票据终点站信息,用户身份证,票据销售时间,票据信息所属的票据信息种类)3.3 物理结构设计在表当中,关键字(即编号)都采用自动编号的数据类型;日期都采用日期型的数据类型;凡是食品等的数据量都采用数据型的数据类型;其他数据均采用文本型的数据类型。当表之间有关系时通过添加外键来处理。当表与其他表有关系时,便给该表建立一张视图,通过外键将两张表联系起来,通过数据筛选,把自己想要的信息提取出来,形成一张新的表。其他数据设计具体如下:表3-1 列车时刻系统用户表编号字段名称字段类型字段说明1UserIDInt用户表主键2UserNameChar用户名称3PasswordChar用户密码4EmailChar用户Email地址5RoleIDDatetime用户所属角色表3-2 列车时刻系统种类信息表编号字段名称字段类型字段说明1NewsKindIDInt票据信息种类表主键2KindNameChar票据信息种类名称3KindOrderDatetime票据销售日期表3-3 列车时刻系统票据信息表列名数据类型字段说明1flightChar主键2airfirmChar列车公司名称3startChar起点站4destinationChar终点站5leaveTimeChar起飞时间6arriveTimeChar到达时间7childFareChar票价8adultFareInt收取费用9discount1Int折扣一10discount2Int折扣二11seatInt座位12weekInt时间13remarkInt备注信息数据库中还有其他信息表等等,在这里就不一一列举了。12第4章 总体设计4.1 基本设计概念和设计流程在本系统设计过程中提到了很多专业的名词和概念,对这些基本设计概念做出如下解释:1.软件系统:软件系统是指列车售票管理系统;2.总体设计:总体设计是软件开发的第二个阶段,即软件的概要设计;3.系统开发平台:开发当前软件系统所采用的开发软件平台;4.系统技术性需求:在开发本系统时所采用到的关键性技术;5.接口:接口是包含一组虚方法的抽象类型,其中每一种方法都有其名称、参数和返回值。说明该软件同其他软件之间的接口、数据通信协议等;6.控制:说明控制该软件的运行的方法和控制信号,并说明这些控制信号的来源;7.系统功能规定:是对系统基本包含的功能概要的分析统计结果;本系统包含两个子系统,其中列车售票中心所使用的是列车售票管理系统,而列车售票中心所使用的是管理员用户子系统,管理员用户子系统又称为后台管理子系统。每个子系统包换了若干子功能模块,每个子功能模块完成相应的处理操作功能。其中管理员的权限是大于票据信息用户的。基本设计流程如下图所示:图4-1 列车时刻系统程序流程图由图可知,当系统启动后,用户需要通过验证进入系统。系统根据用户的验证判断用户的权限,当是管理员用户登录时会转入管理员功能模块,否则转入票据信息用户模块。成功登录后,用户可以完成权限限制内的操作,即当前可以操作的功能模块。用户操作时,系统自动判断用户所想要调用的功能子模块,并提交给用户,在用户完成操作后可以退出系统。4.2 功能需求与程序的关系我所设计的后台管理系统包含四个大的模块:基本信息管理、列车售票管理、列车订票查询和用户角色管理等。本系统直接建立在SQL 2000 数据库上,即应用程序的Form页面直接访问数据库。应用程序设计的层次关系如图4-1所示: 数据库Form 页面 图4-2 系统总体架构设计图 从系统的功能描述可以看到,系统可以实现7个完整的功能。我们根据这些功能,可以设计出系统的模块,各个系统功能模块的之间的关系如图4-2所示:图4-3 列车时刻系统功能模块设计图4.3 系统功能模块简介动态列车时刻系统主要包括列车订票查询、列车售票管理、用户管理、列车售票管理、用户角色管理、用户角色分配等功能,各个功能的具体描述如下:1. 列车订票查询(1)添加新的票据信息种类,票据信息种类为票据信息的上级目录;(2)修改票据信息种类;(3)删除票据信息种类;2. 列车售票管理(1)添加新的票据信息,票据信息为系统的主要内容,其中票据信息又包括普通票据信息、图片票据信息和附件票据信息几个大类;(2)修改票据信息,同时可以更新票据信息的附件;(3)删除票据信息,同时从服务器上删除该票据信息所包括的附件;3. 用户管理(1)添加系统管理用户,包括系统用户和列车售票管理用户,其中系统用户维护系统的正常运行,列车售票管理用户管理系统的票据信息信息及其资源;(2)修改系统管理拥护,该项功能主要是修改用户的权限等;(3)删除系统管理用户以及该用户的权限;(4)管理用户更新自己的密码。4. 列车售票管理列车售票管理主要是管理系统的票据销售管理功能,对需要旅行或外出需要空运的旅客售票服务。它的具体功能如下:(1)添加起始站点;(2)添加终点站;(3)添加旅客身份证;(4)售票;5. 列车退票管理 列车退票管理主要是管理系统的退票管理功能,对延误旅行或因特殊原因需要退票的旅客退票服务。它的具体功能如下:(1)修改票据退票标示位;(2)添加备注信息;6. 用户的角色分配管理用户的角色分配管理主要管理用户的角色分配问题,不管是系统的新用户或是已经存在的老用户,系统可以动态分配给他们的角色。它的具体功能如下:(1)修改用户的角色;(2)删除用户的角色。32第5章 系统实现5.1 关键业务流程描述前台票据信息显示功能模块组成本系统的前台系统;列车订票查询、列车售票管理、用户管理、列车售票管理、用户角色管理和用户的角色分配管理组成本系统的后台系统。前台系统主要显示系统的数据内容;后台系统是维护系统的数据、前台数据内容显示的格式和版式,以及用户、角色的管理等。后台系统中的列车售票管理流程比较复杂,它涉及到列车售票管理模块和列车订票查询模块。5.1.1 列车售票管理后台系统中的列车售票管理流程比较复杂,它涉及到列车售票管理模块和列车订票查询模块,如果票据信息存在附件,它还需要涉及到上载票据信息附件等功能。在添加、修改和删除票据信息时,首先应该选择该票据信息所属的上级目录票据信息种类,如果该票据信息还包括附件,如文件或图片,则在添加或删除票据信息时必须相应处理票据信息的附件。因此在添加或删除票据信息时都分别存在两种添加操作方式。如果该票据信息没有包含附件时,则可以直接添加或删除票据信息;但是当该票据信息包含附件时,则必须在添加或删除票据信息之前添加或删除票据信息的附件,最后才添加或删除该票据信息。5.1.2 管理员管理流程后台系统中的用户及其权限管理流程也比较复杂,它涉及到用户管理、用户角色管理以及用户角色分配管理。本系统中的两种基本角色为系统管理员和普通管理员,系统管理员可以管理普通管理员并设置他们的权限,同时还可以添加新的权限;而普通管理员只能管理自己的信息或票据信息种类、票据信息及其附件等信息。系统管理员用户及其权限的流程如图4-4所示:图5-2 系统管理员的管理流程本系统中,还实现了用户角色和票据信息种类动态关联功能,即系统管理员在添加某个用户角色时,可以动态设置角色所管辖的票据信息种类,若再把该角色赋予给某个用户普通管理员,则该普通管理员就可以管理该角色管辖的票据信息种类,这样就实现了每个用户可以管辖不同的票据信息种类。因此当普通管理员登录后台系统后,他只能看到自己管辖的票据信息种类,而无法管理其他的票据信息种类。5.2 创建窗体及界面列车时刻系统主要涉及到五个用户界面:这些界面基本包括了系统功能规定的所有功能。以下是关于这几个用户界面当中一些主要的功能界面的简单介绍。5.2.1 主功能界面1.主功能界面主要是作为票据操作信息使用的,列车售票管理系统的系统使用人员,首先启动工程,之后便出现主功能界面。在此界面下,用户可以操作规定权限下的功能操作。图5-7 主功能界面2.登录界面主要功能调用(1) 查询功能调用票据查询功能(2) 订票功能调用票据订票功能(3) 退票功能调用票据退票功能(4) 管理功能调用票据管理功能5.2.2 其他功能界面1.票据查询界面是用户进行票据信息查询操作功能界面。该界面主要完成以下功能,对票据信息的查看,修改。该功能属于基本信息管理模块,如下图所示,我们可以看到该模块下具有对信息的管理功能。图5-8 列车退票管理界面2. 列车票据查询界面处理代码public void actionPerformed(ActionEvent e)tryString sql=;Connection con =DriverManager.getConnection(jdbc:odbc:driver=Microsoft SQL 2000 Driver (*.mdb);DBQ=db1);stmt = con.createStatement();if(e.getSource() instanceof JButton)/the textfield of the key word cannot be emptyif(!radio0.isSelected()|(radio0.isSelected()&jtf0.getText().length()=0) JOptionPane.showMessageDialog(null,关键字不能为空,错误,JOptionPane.ERROR_MESSAGE);else/make sure every textfield selectde is fullfor(int i=2;i=11;i+)if(radioi.isSelected()&jtfi.getText().length()=0)tag=true;break;/if tere is textfield is not seleced if(tag)JOptionPane.showMessageDialog(null,信息不能为空,错误,JOptionPane.ERROR_MESSAGE);tag = false;elseString sqlString = select flight from flight where flight= + jtf0.getText().trim() + ;ResultSet rs = stmt.executeQuery(sqlString);/decide the filght is exitedint flag1 = 0;while(rs.next()flag1 = 1;/if it is exitsif (flag1 = 0)JOptionPane.showMessageDialog(null,对不起!航班号不存在!,错误信息,JOptionPane.ERROR_MESSAGE);return;/update the weekif(radio2.isSelected()sql=update flight set airFirm=+jtf2.getText()+ where flight=+jtf0.getText()+;stmt.executeUpdate(sql); /update the airfirm if(radio3.isSelected()sql=update flight set seat=+Integer.parseInt(jtf3.getText().trim()+ where flight=+jtf0.getText()+;stmt.executeUpdate(sql); /update the airfirm if(radio4.isSelected()sql=update flight set start=+jtf4.getText()+ where flight=+jtf0.getText()+;stmt.executeUpdate(sql);/update the airfirm if(radio5.isSelected()sql=update flight set destination=+jtf5.getText()+ where flight=+jtf0.getText()+;stmt.executeUpdate(sql);/update the airfirm if(radio6.isSelected()sql=update flight set leaveTime=+jtf6.getText()+ where flight=+jtf0.getText()+;stmt.executeUpdate(sql);/update the if(radio7.isSelected()sql=update flight set arriveTime=+jtf7.getText()+ where flight=+jtf0.getText()+;stmt.executeUpdate(sql);/update the childFare if(radio8.isSelected()sql=update flight set childFare=+Float.parseFloat(jtf8.getText().trim()+ where flight=+jtf0.getText()+;stmt.executeUpdate(sql);/update the adultFare if(radio9.isSelected()sql=update flight set adultFare=+Float.parseFloat(jtf9.getText().trim()+ where flight=+jtf0.getText()+;stmt.executeUpdate(sql);/update the disount if(radio10.isSelected()sql=update flight set discount1=+Float.parseFloat(jtf10.getText().trim()+ where flight=+jtf0.getText()+;stmt.executeUpdate(sql);/update the tuipiaoliu if(radio11.isSelected()sql=update flight set discount2=+Float.parseFloat(jtf11.getText().trim()+ where flight=+jtf0.getText()+;stmt.executeUpdate(sql);JOptionPane.showMessageDialog(null,航班信息已经更新成功!,成功信息,JOptionPane.INFORMATION_MESSAGE);其他功能界面如下所示,由于界面太多,就不一一列举了。图5-9 主功能界面图5-10 管理员主功能界面图5-11 管理员登录界面图5-12 列车补票界面5.3 模块实现后台管理子系统主要包含十个功能模块,以下介绍几个模块的实现。5.3.1 列车订票查询模块列车订票查询主要实现对票据信息种类的添加、修改和删除功能。票据信息种类是系统内容的最高级别,所以在添加、修改或删除票据信息时,也必须选择该票据信息所属的票据信息种类。下面是票据信息种类的添加、修改和删除功能的具体实现方法。public void actionPerformed(ActionEvent e)this.flightNumber = flightField.getText().trim();if (flightNumber.length() = 0) /未输入信息JOptionPane.showMessageDialog(null,请输入航班号或者从列表中选择,错误信息,JOptionPane.ERROR_MESSAGE);return;executeFlightQuery();public void executeFlightQuery()String sqlString = SELECT DISTINCT * FROM +flight +WHERE flight= + + flightNumber + ;ResultSet rs = sqlBean.executeQuery(sqlString);if (rs != null)showResult(rs);else JOptionPane.showMessageDialog(null,没有连接上数据库!,错误信息,JOptionPane.ERROR_MESSAGE);以上是对数据添加的程序代码,该段代码实现了获得用户数据输入,并把数据插入到数据库当中的功能。5.3.2 列车售票管理模块系统的列车售票管理模块是票据的销售功能。票据信息是站得二级目录,直属于票据信息种类,所以在添加、修改或者擅场票据信息时,必须先选择该票据信息所属的票据信息种类。具体程序见工程文件。5.3.3 系统管理模块系统管理由管理员登录后对系统进行管理,包括用户管理和列车信息添加两个部分,现已实现,具体程序见工程文件。第6章 系统测试6.1 软件测试的目标 软件测试的目标是想以最少的时间和人力发现软件中潜在的各种错误和缺陷。如果成功的实现了测试,就能够发现软件中的错误。测试的另一个收获是它能够证明软件的功能和性能与需求说明相符,同时实施测试收集到的数据为可靠性分析提供了依据。Grenford J.Myers就软件测试的主要目的提出以下观点:1. 测试是程序的执行过程,目的在于发现错误;2. 一个好的测试用例在于能发现至今尚未发现的错误;3. 一个成功的测试是发现了至今未发现的错误的测试。6.2 软件测试中的错误及排除测试中发现的错误:1. GridView控件的更新删除操作问题,添加更新事件后,可以正常点击按钮,但是无法进入处理程序,并作出相应的处理操作;2. 当点击GridView控件的更新按钮时,取得当前选中行信息中的两列值,同时做一下计算,把其中一列的值减去另一列的值,并把得到的新值存储到另外一张新表里面。3. 数据库存储过程设计,对数据进行插入数据库功能实现时,用到了数据库存储过程,但是对这个概念我都没印象,所以可以说存储过程根本不会用,以及数据库跨表操作的实现。问题的解决:1. 刚开始我添加事件处理程序是自己直接在后台代码中自己敲出来的,所以造成参数错误,更改参数后,程序可以正常进入处理程序。再通过单步执行跟踪,发现程序内部的处理错误,更正后便可以实现。2. 我简单的认为,通过GridView控件当中SelectedRow属性便可以得到当前选中的行,并顺利的把数据取出。但是,这是错误的,SelectedRow根本无法获取当前选中行中的数据,它只是对当前选中行的一个索引。我通过添加了一个DataSet,将数据传入DataSet当中,再把需要处理的两列值调出来,进行计算后再用数据库操作将数据存入新表当中。3. 通过学习,发现数据存储过程是数据库当中的一个文件。通过新建存储过程,便可以建立一个新的储蓄过程,在存储过程当中指明操作的数据库和表,声明存入的数据变量,最终便可以实现数据的插入过程。数据库跨表操作,也是一个十分简单的问题,解决有两种办法。可以通过外键来处理表和表之间的关系,也可以通过视图来处理表和表之间的关系。其中我选择了使用视图来处理表和表之间的关系。视图有使用简单,操作方便,容易的特点,所以我选择了视图。通过视图等于建立了一个新的表,而这个表是几个表合起来的一个新表,通过视图便可以进行多表的查询,跟新,删除操作。结论在整个毕业设计的过程中,由于之前的专业关系,导致我的专业基础知识不够扎实,从而遇到了很多问题,但最终在导师的指导帮助下基本上完成了预定的目标,学到了很多平时很难学到的专业和实践知识。在开发本系统过程中,我感受最深的就是数据库的设计,因为一个不合理的数据库可能导致前台开发难度的大大增加。所以在做开发之前的需求分析和系统总的流程设计是至关重要的。本系统界面相对来说比较简单,因为程序重点是设计一个便捷的列车售票管理后台,所以总体设计显示设计比较简单,主要操作包括列车订票管理、列车退票管理、用户及其角色的管理等等。这些都是本系统的特色和优势。当然本系统在各方面肯定还存在很多的不足和需要改进的地方,随着实践操作的增加而不断改进和优化,实现与时俱进。系统的功能具有集成化,智能化的特点。在系统列车售票管理的过程中,这一特点得到了充分的体现,列车售票管理分为了智能列车售票管理和人工列车售票管理。即系统可以自动计算生成列车售票管理信息,也可以人工进行列车售票管理工作。虽然系统的基本功能得到了实现,但是系统仍然存在和多问题,例如很多设计的功能没能得到实现。在系统中列车售票管理功能是一个特色设计点,但是由于设计时间的问题,只是将列车售票管理表设计完成了,其他问题仍需要解决。由于时间和能力的问题,这个系统虽然只实现了后台管理系统的一些基本的功能,但这是自己独立设计的成果,在这个设计的学习中坚定了程序设计的人生。以后会继续努力下去的。河南科技大学本科毕业设计论文参考文献1 黄明,梁旭,李伯林.C#+SQL Sever 中小型信息系统开发实例精选.中国:北京机械工业出版社,2007.2 张树亮.ASP.NET2.0+SQL Server 网络应用系统开发案例精解.中国:北京清华大学出版社,2007.3 郑阿奇.SQL Server实用教程.中国:北京电子工业出版社,2005.4 郝刚.NET开发指南.中国:北京人民邮电出版社,2006.5 明日科技,李贺,刘彬彬.SQL Sever 2000应用与开发范例宝典.中国:北京人民邮电出版社,2006.6 贺伟,陈哲,龚涛,戴博.新一代.NET网络编程入门与实践.中国:北京清华大学出版社,2007.7 恒逸资讯,孙三才,许熏尹.精通C#与ASP.NET程序设计.中国:北京中国铁道出版社,2003.8 李律松,马传宝,李婷.Visual C# + SQL Server数据库开发与实例.中国:北京清华大学出版社,2006.9 琐宇峰.ASP+SQL Sever典型列车时刻系统建设案例.中国:北京清华大学出版社,2006.10 赛奎春.ASP信息系统开发实例精选.中国:北京机械工业出版社,2005.11 杨志姝,冯小飞.ASP+SQL Sever基础练习+典型案例.中国:北京清华大学出版社,200612 张德禄论语篇连贯J外语教学与研究.2000年第2期13王葆华动词的语义及论元配置D复旦大学博士论文,200314 皱建峰. ASP.NET开发技术详解. 北京:人民邮电出版社, 2005.15 季久峰,李志. ASP.NET办公自动化系统开发实例导航. 北京:人民邮电出版社, 2004.16 Fritz Onion著,施诺 译.ASP.NET基础教程C#案例版. 北京: 清华大学出版社, 2003.17 张小藩,田野. ASP.NET经典范例50讲. 北京:科学出版社, 2004.18 李宗民,李玉峰.ASP.NET设计师之路.北京:电子工业出版社.2006.19曹锰, 舒新峰. C#与ASP.NET程序设计. 西安:西安交通大学出版社. 2006.20李万宝. .NET技术详解与应用实例. 北京:兵器工业出版社, 北京希望电子出版社. 2007.35致谢这次毕业设计是对我大学四年学习的一次重要的检验,既是对专业知识的考核也是对实践能力等各方面综合素质的考核。在这里要感谢的人很多,首先要感谢指导老师,感谢他悉心的指导,给我提出了很多建设性的意见和建议。特别是他给予我的一些经验之谈,都将成为我受益终身的财富。同时要向软件学院的领导和老师们致以诚挚的谢意,感谢他们的鼓励和帮助。同样要感谢同学的协作和帮助。同时,同学之间的互相合作,互相帮助,互相交流也是非常重要的。本系统是我和同学在交流下共同完成的,此次设计,我们相互讨论,相互帮助,遇到
展开阅读全文