火车票网上订购系统的设计与实现(论文12800字)
火车票网上订购系统的设计与实现(论文12800字)
【摘要】
改革开放以来,我国铁路发展取得了巨大成就,铁路成为我国人民在国内长途旅行时使用最为频繁的交通工具。基于网络的火车票网上订购系统应运而生了。本系统基本实现了火车票的在线订购,包括了前台用户注册登录、火车站新闻信息的查看、车次查询、订票管理及后台的用户管理、公告新闻管理、车次线路管理、订票管理及留言管理等几大功能模块。网上订票系统的成功实施,减小了车站工作人员的工作强度,为铁路运输行业提供了新型的管理模式。
本系统是在Visual Studio.net平台运用ASP.NET技术来实现,采用C#语言作为开发工具,使用的数据库为SQL Server 2000。ASP.NET 是一个已编译的,基于 .NET 的环境,可以用任何与 .NET 兼容的语言(包括 Visual Basic .NET、C# 和 JScript .NET.)创作应用程序。
【关键词】网上订票;系统开发;数据管理
Design and Implementation of train tickets online ordering system
Abstract:
Since the reform and opening up, China's railway development has made great achievements.Due to the continuous development of the railway, which is destined to the railway to transport our people to the most frequently used in the domestic long-distance travel.This system is basically realizing a train ticket online ordering.,including user login and register,viewing of the railway station news and information,booking management,announcement news management,the train line management and message management and several functional modules.The successful implementation of the online booking system,reduces the intensity of the work of the station staff,providing a new management model for the rail transport industry.
[来源:http://Doc163.com]
This system is in Visual Studio. NET platform using ASP.NET technology,C # language as a development tool,The database used for the SQL Server 2000.ASP.NET is a compiled,NET-based environment,can use any language. NET-compliant authoring applications.
Key words: Internet booking,System development,Data management
目 录
【摘要】 I
Abstract: II
【引言】 - 1 -
1系统分析 - 2 -
1.1可行性分析 - 2 -
1.1.1技术可行性 - 2 -
1.1.2经济可行性 - 2 -
1.1.3操作可行性 - 2 -
1.2开发平台的选择 - 3 -
1.3系统需求分析 - 3 -
1.3.1系统的基本功能需求 - 3 -
1.3.2系统的性能需求 - 4 -
1.3.3用户界面需求 - 4 -
2系统设计 - 5 -
2.1系统设计描述 - 5 - [资料来源:https://www.doc163.com]
2.2系统功能模块设计 - 6 -
2.2.1 系统模块结构图 - 6 -
2.2.2 系统模块描述 - 7 -
2.3 数据库设计 - 9 -
2.3.1数据库设计概述 - 9 -
2.4.2系统E-R图 - 11 -
2.4.3数据库逻辑结构设计 - 14 -
2.5安全保密设计 - 18 -
3系统实现 - 19 -
3.1系统实现步骤 - 19 -
3.2系统开发工具及编程语言的选择 - 19 -
3.3前台系统的实现 - 20 -
3.3.1旅客注册模块 - 21 -
3.3.2车票预订模块 - 21 -
3.3.3车次查询模块 - 23 -
3.4后台系统的实现 - 23 -
3.4.1用户信息管理 - 24 -
3.4.2新闻管理模块 - 24 -
3.4.3车次信息管理模块 - 25 -
4系统测试 - 25 -
4.1测试的任务及目标 - 25 -
[资料来源:www.doc163.com]
4.2测试方案 - 25 -
5结束语 - 26 -
参考文献 - 27 -
致谢 - 28 -
【引言】
改革开放以来,我国铁路发展取得了巨大成就。2005年我国内地铁路营业里程已经达到了7.5万公里,其中复线里程2.5万公里,电气化线路2万公里。随着青藏铁路于2005年10月全线建成,今年7月通车运营,铁路将覆盖全国所有省市自治区。由于铁路的不断发展,这注定使铁路成为我国人民在国内长途旅行时使用最为频繁的交通工具。随着我国人口基数的不断增长,节假日期间返途回家旅客不断增加,在售票厅买火车票往往出现一票难求的情况,信息的不对称以及供需的矛盾使得节日购票异常困难。随着信息技术的快速发展,人们上网更加容易,基于网络的火车票网上订购系统应运而生了。
网上火车票订票系统是新一种新型的售票模式。用户通过在网上用身份证号码注册用户,然后在网上预订车票,并通过银行卡进行支付,然后用户可在上车前任何时刻持身份证与取票号到火车站的取票窗口取票,极大地提高了旅客的订票效率,节省了订票的时间,缓解了车站售票窗口的拥挤现状。网上订票系统的应用,能够使旅客更方便了解火车票的即时信息及铁路交通线路情况,以便更好的制定旅行计划。
[资料来源:http://Doc163.com]
1系统分析
1.1可行性分析
可行性研究的目的是用最小的代价,在尽可能短的时间内确定问题是否能够解决,它的目的不是解决问题,而是确定问题是否能解决、是否值得解决。可行性分析就是对项目开发的可能性和必要性进行分析,避免盲目投资。可行性主要从以下三个方面来考虑。
1.1.1技术可行性
本系统采用的开发工具为Microsoft Visual Studio 2005, 后台数据库为SQL SERVER 2000, 采用B/S模式的设计方法。Visual Studio 2005具有WINDOWS风格界面,易于开发应用程序,简单易懂,利用它与SQL SERVER的结合便可以在单机环境上开发应用程序。本人经过大学的学习,学习过以上软件,并在课程实习中熟练的掌握了两种软件的使用,再加上老师的指导,开发本系统不会有太大问题,所以在技术上是可行的。
1.1.2经济可行性
车票预定管理系统开发需要投资费用和未来的运行维护费用,其中投资费用主要包括设备费用、人员费用及其他费用,如由于工作方式改变需要增加其他的开支,通常为了保证新系统运行的可靠性,要求手工和计算机处理在一段时间内并存。由于计算机的普及,硬件价格下降,本系统的初期费用大于一万元,即可使系统投入使用,本系统的成功运行的收益主要通过新系统提高工作效率,提高火车运输在运输行业中的市场份额,及指导经营来实现。系统投入使用一段时间后,即可收回成本,在以后的使用中,会为车站节省大量的开支,使车站的信息资源得到有效的利用。所以本系统在经济上也是可行的。 [资料来源:http://www.doc163.com]
1.1.3操作可行性
本系统采用先进的开发技术,开发的程序具有WINDOWS图形用户界面,和WINDOWS特性风格,界面直观易懂,操作简洁,使用非常方便。只要具备计算机的基础知识,经过简单的培训即可操作本系统。
综上所述,本系统的开发在技术上,经济上,操作上都是可行的,所以本系统可以进行开发。
1.2开发平台的选择
(1)操作系统:采用便捷、易操作的Windows XP;
(2)程序设计语言:本着系统的容易实现、性能稳定、易学易用的原则,系统开发采用了微软公司开发的可视化编程工具Microsoft Visual Studio 2005,基于C#语言开发asp.net应用程序;
(3)系统数据库:选择了关系型数据库SQL Server2000,它有很强的处理能力和很高的安全性,而且比较容易学习和操作。
1.3系统需求分析
1.3.1系统的基本功能需求
本系统要实现车票预定管理的自动化,能完成车票信息的管理及维护,对于车票的订购及管理等进行处理,能够按需要进行查询,工作人员可以随时的查询车票的销售情况。
(1)能够实现旅客信息的网上注册功能,旅客在购买车票之前,需要先进行注册,并提供真实的身份信息。
(2)旅客通过网上注册后能够实现车次查询,及网上订票的功能,并通过银行卡进行网上支付。 [资料来源:Doc163.com]
(3)可以提供网上咨询的功能,相当于车站的问事处,旅客可以将疑问以留言的形式保留下来,工作人员应该及时的做出回复,解答旅客的疑惑。
(4)能够实现车站的车次及线路信息的管理,对车次及线路的变动信息及时更新。
(5)能够查询旅客的网上购票的情况,了解车票的销售情况,及时调整,满足旅客的出行要求。
(6)工作人员可以对本站的公告及新闻信息进行更新,使旅客及时了解到列车的运行情况。
(7)工作人员完成对旅客疑问的回复功能。
1.3.2系统的性能需求
(1)系统的可适应性
火车站网上订票系统所耗费的资源并不大,电脑无论是硬件还是软件都能够满足条件,因此,系统在运行上是可行的。
该系统能减少很多不必要的资源,不用像以前那样用冗余的纸张式的管理。大大节省了单位能源。并且计算机的存储与快速查询功能大大提高了售票管理的效率,并且还提高了车票及旅客信息管理的精确度。
(2)系统的安全性
系统为工作人员及旅客设定了身份验证,用户需要通过身份验证后才能使用本系统,进行网上购票的系统管理操作。
1.3.3用户界面需求
系统应该提供用于工作明确控制的用户界面,并且尽可能地为用户操作提供方便。在功能实现完善的基础上要求界面美观。用户应能通过界面较容易地实现所需功能,尽可能为用户提示信息。
微软公司的Microsoft Visual Studio 2005是Windows应用程序开发工具,是目前最为广泛的、易学易用的网站开发工具。Visual Studio提供了大量的控件,这些控件可用于设计界面和实现各种功能,减少了编程人员的工作量,也简化了界面设计过程,从而有效的提高了应用程序的运行效率和可靠性。故而,实现本系统VS是一个相对较好的选择。
VS为用户提供大量的界面元素,这些控件对象对于熟悉WINDOWS应用程序的用户来说是一点也不陌生,如“窗体”,“菜单”,“命令按扭”,“工具按扭”,“检查框”等等,用户只要利用鼠标、键盘把这些控件对象拖动到合适的位置,设置其大小、形状、属性等,就可以设计出所需的应用程序界面。
2系统设计
2.1系统设计描述
系统设计是软件开发人员根据软件需求说明书的要求,运用结构化程序设计思想,将软件自上而下逐层分解成多个软件模块,直到分解成每一个模块只具有单一的功能,能用一个或几个程序实现的树形结构为止。系统设计阶段还要定义各模块的数据传递关系,设计软件的编码方案、文件存储策略、输入输出格式,以及硬件和系统软件配置,最后编制概要设计说明书。 [来源:http://www.doc163.com]
经过需求分析阶段的工作,车票预定管理系统必须“做什么”已经清楚了,现在是决定“怎样做”的时候了。系统设计的基本目的就是回答“概括的说,车票预定管理系统应该如何实现?”这个问题。具体任务就是进行概要设计,确定解决问题的策略和实现目标系统的各种功能的方案,确定软件的模块组成以及模块之间的相互关系。
总体设计过程可分为两个主要阶段:功能设计,确定车票网上订购系统的实现方案;结构设计,确定该软件的结构。功能设计是在需求分析的基础上进行的,这里所说的“功能”是泛指的,不仅指问题定义中列出的功能,还包括软件定义时确定的任何一个独立的数据加工或处理步骤。结构设计,是将整个系统按照不同的功能和层次划分为一个个功能简单明确且相对独立的部分(模块),每个模块实现系统的一项具体功能,自顶向下,逐步细化。结构设计是确定程序由哪些模块组成,以及这些模块之间的关系。
根据软件工程原理,在利用模块进行结构设计时,我们应遵循如下原则:
⑴ 模块之间的联系程度,各模块间的联系越弱,模块的独立性越高,该系统的整体结构越好。
⑵ 模块之间应尽量以数据连接为主,以特征连接为辅。必要时可以建立控制连接; [版权所有:http://DOC163.com]
⑶ 强模块内部的组合强度是高功能的组合。
⑷ 模块的分解到合适的程度;
⑸ 增强模块的扇入系数,减少模块的扇出系数,扇入系数指一个模块的直接上级模块的个数,扇出系数指一个模块拥有的直接下级模块的个数,应控制在7以内;
⑹ 高模块的信息隐蔽程度,软件设计是一个将信息需求转换成数据结构、程序结构和过程性的多步骤过程。常用的结构设计方法是基于模块化、自顶向下逐步细化,结构化程序设计等程序设计基础上发展起来的。
2.2系统功能模块设计
本车票预定管理系统的目标旨在改善和提高车站车票预定管理的计算机应用水平,实现基于计算机网络的车票预定管理及查询能力,实现网络化的车票预定管理、车次及线路管理、车站公告管理、问题回复管理等功能,提高车站工作人员的工作效率,为车站的知识化管理平台提供信息基础。
系统应具备简单易用,高度灵活性与可自定义性,全面支持Internet/Intranet,严密的多级管理权限功能等特点。系统基于B/S结构,面向Internet/Intranet,能够通过该系统轻松的实现随时随地的查询车票信息及网站订票的功能,实时在线办公,提高车站办公效率和车票的管理水平。
2.2.1 系统模块结构图
[资料来源:http://www.doc163.com]
根据需求分析、用户的要求以及为完善系统而添加的一些功能,可以得到系统的模块结构图。本系统后台管理员子系统的功能结构图2.1所示。
图2.1车票预定管理系统管理员子系统
旅客子系统的功能模块如图2.2所示:
图2.2旅客子系统功能模块图
2.2.2 系统模块描述
1.管理员子系统
(1)用户信息管理
用户信息管理完成对注册用户信息的管理功能,包括两部分,用户信息查询及用户信息删除,用户信息查询完成注册旅客信息的查看功能,用户信息删除对无效的旅客信息进行删除。
(2)公告信息管理
公告信息管理完成对车站的公告及新闻信息进行添加,删除及修改的功能,管理员可以发布新的公告或新闻信息,可以对新闻信息进行修改,对过期的新闻信息进行删除。
(3)火车信息管理
火车信息管理完成对车次信息的管理、线路信息的管理及订票信息的管理功能。工作人员可添加、删除及修改车次信息,对于某个车次信息,工作人员可以管理某个车次的线路信息,输入每站的价格。订票信息的管理完成车票的情况的预定情况的查看功能。 [资料来源:http://Doc163.com]
(4)留言信息的管理
留言信息的管理完成对旅客问事的查看及回复功能,工作人员可以查看旅客的留言信息,并可以就旅客的疑问进行回复,对无用的留言进行删除等操作。
2.旅客子系统
(1)新闻浏览
旅客在系统前台可以查看本站发布的新闻及公告信息。
(2)个人信息修改
旅客登录后可以修改自己的个人信息。
(3)车次信息查询
旅客可以查看每个车次及其运行线路情况。
(4)已预定车票
已预定车票,指订票了车票但没有付款的车票,旅客可以通过个模块对已预定的车票进行支付。
(5)订票历史记录
旅客可以查看车票的历史预定情况。
(6)车票预定
完成旅客网上订票的功能,在订票时需要旅客选择车次、定票日期、定票数量等情况,进行网上定票。
(7)留言问题
旅客可以将疑问以留言的形式保留下来,工作人员会作出回复,旅客可以查看到留言回复信息。
2.3 数据库设计
2.3.1数据库设计概述
数据库是指自描述的完整记录的集合。数据库是自描述的:它除了包含用户的源数据外,还包含关于它本身结构的描述。数据库的自描述特点,提高了数据独立性,它使得检查数据库本身就确定数据库的结构和内容成为可能。数据库包含用户数据文件和其他内容,数据库在元数据中包含关于自身的描述。另外,数据库还包含用来表示数据之间的关系和提高数据库应用的性能的索引。最后,数据库还包含关于使用数据库的应用程序的数据。
设计一个数据库需要我们耐心收集和分析数据,仔细理清数据间的关系,消除对数据库应用不利的隐患等等。在整个设计过程中,我们必须按步骤认真完成。一个数据库的设计好坏将直接影响将来基于该数据库的应用。
另外,数据库也不是独立存在的,它总是与具体的应用相关的,为具体的应用而建立的。因此在设计数据库之前我们必须明确应用的目的,在设计数据库的时候也应时刻考虑用户需求,数据库与具体应用之间是相辅相成的关系。
数据库的设计过程一般包括以下几个步骤:
(1)确定建立数据库的目的和收集数据
数据库设计过程的第一个阶段是确定建立数据库的目的和收集数据。通常,我们也把确定建立数据库的目的称为需求分析。需求分析的任务就是通过详细调查要处理的对象来明确用户的各种需求。并且通过调查、收集和分析信息,以了解在数据库中需要存储哪些数据,要完成什么样的数据处理功能。这一过程是数据库设计的起点,它将直接影响到后面各个阶段的设计,并影响到设计结果是否合理和实用。
确定目的之后就需要根据目的收集有用的数据。在着手收集数据之前最重要的就是要调查用户的实际需求,然后分析与表达这些需求。调查用户需求的方法有很多,如查阅记录、访谈、开调查会、设计调查表请用户填写或回答相关问题等。其中比较有效的方法是访谈,我们可以借助一些设计合理的调查表来与用户直接交流。通过充分交流,可以了解他们平时是如何使用数据库的,以及对当前信息的要求,进而设计满足用户需求的字段,并根据设计的字段收集数据。
[资料来源:Doc163.com]
(2)建立概念模型
确定建立数据库的目的以及完成数据收集后,就进入数据库设计过程的第二阶段——建立概念模型。概念模型,也称信息模型,它是按用户的观点来对数据和信息建模,主要用于数据库设计。这一阶段是整个数据库设计的关键。设计时,一般先根据应用的需求,画出能反映每个应用需求的E-R图,其中包括确定实体、属性和联系的类型。然后优化初始的E-R图,消除冗余和可能存在的矛盾。概念模型是队用户需求的客观反映,并不涉及具体的计算机软、硬件环境。因此,在这一阶段中我们必须将注意力集中在怎样表达出用户对信息的需求,而不考虑具体实现问题。
(3)建立数据模型
完成上一阶段后,我们得到了一个与具体计算机软、硬件无关的概念模型。接着我们就可以着手建立数据库模型了,这是数据库设计过程的第三个阶段。在这一阶段中我们要将概念模型中得到的E-R图转换成具体的数据模型。数据模型是表示实体与实体间的联系的模型。数据模型一般分为层次、网状、关系和面向对象模型等,主要是用于DBMS的实现。目前比较常用的是关系数据模型,我们通常将E-R图转换成关系数据模型,实际上就是要将实体、实体的属性和实体之间的联系转换为关系模式。
(4)实施与维护数据库
最后一个阶段是实施与维护数据库。完成数据模型的建立后,我们就必须对字段进行命名,确定字段的类型和宽度,并利用数据库管理系统或数据库语言创建数据库结构、输入数据和运行等,因此数据库的实施是数据库设计过程的“最终实现”。如果数据库运行很成功,则表明数据库设计任务基本结束,以后的重点就是数据库的维护工作,包括做好备份工作、数据库的安全性和完整性调整、改善数据库性能等。
数据库的设计在数据库应用系统的开发中占有很重要的地位。只有设计出合理的数据库,才能为建立在数据库上的应用提供方便。不过数据库的设计过程从来都不会有真正的结束,因为随着用户需求和具体应用的变化和扩大,数据库的结构也可能会随之变化。
2.4.2系统E-R图
概念模型是对信息世界建模,所以概念模型能够方便、准确地表示出信息世界中的常用概念。概念模型的表示方法很多,其中最为著名最为常用的是P.P.S.Chen于1976年提出的实体-联系方法(Entity-Relationship Approach)。该方法用E-R图来描述现实世界的概念模型,E-R方法也称E-R模型。
E-R模型的关键元素是实体、属性和联系。实体是可以从用户的工作环境中标识出的事物,是用户想要跟踪的某个事物。实体在E-R图中,用矩形表示,矩形框内写明实体名。实体具有属性,有时也称作性质,是用来描述实体的特征的。属性可以是组合的或者多值的。在E-R图中,属性用椭圆形表示,并用无向边将其与相应的实体连接起来。实体可以通过联系相互关联。在一般的联系中,使用二元联系居多,二元联系主要有三种类型,1:1,1:n,m:n。在1:1(读做“1对1”)联系中,一种类型的单个实体实例与另一个类型的单个实体实例关联。在1:n(读做“1对N”或者“1对多”)联系中,一个类型的单个实体实例与另一个类型的多个实体实例相关联。在m:n(读做“N对M”或者“多对多”)联系中,一个类型的单个实例与另一个类型的多个实体实例相关联,同时地,后一类型的单个实体实例与前一类型的多个实体实例相关联。在E-R图中,联系用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1,1:n或者m:n)。 [资料来源:http://doc163.com]
在本系统中,主要有以下的实体:旅客、车票、车次、留言、工作人员等。其中旅客实体与属性如图2.3所示:
图2.3旅客实体E-R图
车票实体与属性如图2.4所示:
图2.4车票实体E-R图
车次实体与属性如图2.5所示:
图2.5车次实体E-R图
留言实体属性如图2.6所示:
图2.6留言实体E-R图
工作人员实体属性如图2.7所示:
图2.7工作人员实体E-R图
车票预定管理系统主要以车票为核心,这个系统中各个实体之间的关系,基本上都是以车票为基础的。一位旅客可以订票多个车票,一个车票只能为一个旅客预定,一个车次有多个车票,一个车票对应一个车次,一位旅客可以发表多个留言,一个留言为一位旅客发表,工作人员可以对多个留言进行回复,一个留言只有一个工作人员回复。
根据这些信息,由此得到了车票预定管理系统的实体及其联系图2.8所示:
图2.8总体E-R图
2.4.3数据库逻辑结构设计
本系统采用的数据库管理系统是Microsoft公司的SQL Server 2000。该管理系统由一系列产品组成,不仅能够满足最大的数据处理系统和商业 Web 站点存储数据的需要,还能为个人或小企业提供易于使用的数据存储服务。
Microsoft SQL Server 2000 的特性包括:
(1)Internet 集成。
SQL Server 2000 数据库引擎提供完整的 XML 支持。它还具有构成最大的 Web 站点的数据存储组件所需的可伸缩性、可用性和安全功能。SQL Server 2000 程序设计模型与 Windows DNA 构架集成,用以开发 Web 应用程序,并且 SQL Server 2000 支持 English Query 和 Microsoft 搜索服务等功能,在 Web 应用程序中包含了用户友好的查询和强大的搜索功能。
(2)可伸缩性和可用性。
同一个数据库引擎可以在不同的平台上使用,从运行 Microsoft Windows® 98 的便携式电脑,到运行 Microsoft Windows 2000 数据中心版的大型多处理器服务器。SQL Server 2000 企业版支持联合服务器、索引视图和大型内存支持等功能,使其得以升级到最大 Web 站点所需的性能级别。 [资料来源:http://Doc163.com]
(3)企业级数据库功能。
SQL Server 2000 关系数据库引擎支持当今苛刻的数据处理环境所需的功能。数据库引擎充分保护数据完整性,同时将管理上千个并发修改数据库的用户的开销减到最小。SQL Server 2000 分布式查询使您得以引用来自不同数据源的数据,就好象这些数据是 SQL Server 2000 数据库的一部分,同时分布式事务支持充分保护任何分布式数据更新的完整性。复制同样使您得以维护多个数据复本,同时确保单独的数据复本保持同步。可将一组数据复制到多个移动的脱接用户,使这些用户自主地工作,然后将他们所做的修改合并回发布服务器。
(4)易于安装、部署和使用。
SQL Server 2000 中包括一系列管理和开发工具,这些工具可改进在多个站点上安装、部署、管理和使用 SQL Server 的过程。SQL Server 2000 还支持基于标准的、与 Windows DNA 集成的程序设计模型,使 SQL Server 数据库和数据仓库的使用成为生成强大的可伸缩系统的无缝部分。这些功能使您得以快速交付 SQL Server 应用程序,使客户只需最少的安装和管理开销即可实现这些应用程序。
(5)数据仓库。
SQL Server 2000 中包括析取和分析汇总数据以进行联机分析处理 (OLAP) 的工具。SQL Server 中还包括一些工具,可用来直观地设计数据库并通过 English Query 来分析数据。
[资料来源:www.doc163.com]
本系统的数据库名为pww。包括如下几个表:
表2-1 留言信息表(book)
字段名称 类型 长度 主键 说明 允许空
Id int 4 YES 序号 NO
Name_str varchar 50 用户名 yes
Dept_str varchar 300 单位 yes
Type varchar 50 用户类型 yes
Content varchar 1000 内容 yes
Dt datetime 8 留言时间 yes
[资料来源:Doc163.com]
Sex int 4 性别 yes
mobile varchar 50 电话 yes
hf varchar 1000 回复内容 yes
Hf_dt datetime 8 回复时间 yes
表2-2 车次信息表(ccb)
字段名称 类型 长度 主键 说明 允许空
Id int 4 YES 序号 NO
Ccid varchar 100 车次 Yes
Type varchar 50 车型 Yes
Start_s varchar 50 姓发站 Yes
Start_d datetime 8 姓名时间 Yes
End_s varchar 50 终到站 Yes
End_d datetime 8 到达时间 Yes
All_s int 4 全程距离 Yes
All_d varchar 50 全程时间 Yes
Dd_d datetime 8 到达本站时间 Yes
Kc_d datetime 8 本站开出时间 Yes
sy_d_ int 4 剩余票数 Yes
Jg_s varchar 50 经过站 Yes
表2-3 车厢信息表(cxb)
字段名称 类型 长度 主键 说明 允许空
Id Int 4 YES 序号 NO
Ccid Int 4 车次序号 YES
Num Int 4 车厢数 YES
表2-4 订票信息表(dpb)
字段名称 类型 长度 主键 说明 允许空
Id Int 4 YES 序号 NO
Xlid Int 4 线路号 YES
Uid int 4 用户号 YES
Dp_d datetime 8 订票时间 YES
Dk_d datetime 8 打款时间 YES
Mony Int 4 金额 YES
Zwid Int 4 座位 YES
Dt datetime 8 车票日期 YES
Zt Int 4 状态 YES
bm Varchar 50 订单号 YES
表2-5 公告信息表(ggb)
字段名称 类型 长度 主键 说明 允许空
Id Int 4 YES 公告序号 NO
Title Varchar 1000 标题 Yes
Content Varchar 8000 内容 Yes
Imgs Varchar 1000 图片 Yes
[来源:http://Doc163.com]
Dt Datetime 8 发表时间 yes
Ly Varchar 1000 信息来源 yes
表2-6 旅客信息表(uinfo)
字段名称 类型 长度 主键 说明 允许空
Id int 4 YES 用户序号 NO
Uid varchar 50 用户名 Yes
Uname varchar 50 真实姓名 Yes
Xb varchar 2 性别 Yes [版权所有:http://DOC163.com]
Pwd varchar 50 密码 Yes
Yx varchar 50 邮箱 Yes
Mobile varchar 50 电话 Yes
Sfzbm varchar 50 身份证号 Yes
Yhzh varchar 50 银行账号 Yes
Qx int 4 权限 Yes
Question varchar 100 密码提示问题 Yes
keys varchar 100 密码提示答案 Yes
表2-7 线路信息表
字段名称 类型 长度 主键 说明 允许空
Id int 4 YES 序号 NO
Ccid Int 4 车次号 Yes
dd_s Varchar 50 到达站 Yes
Dd_d Datetime 8 到达时间 Yes
Mony Int 4 票价 Yes
Type Varchar 50 类型 Yes
Star_s varchar 50 起始站 Yes
表2-8 座位表(zwb)
字段名称 类型 长度 主键 说明 允许空
Id int 4 YES 座位序号 NO
Cxid int 4 车次 Yes
Zw int 4 座位 Yes
2.5安全保密设计
作为一个管理系统,其中的数据资料不允许随意更改,系统须有保密措施。系统数据库将设置操作员表,将操作员名称和密码记录在操作员表中,拥有管理员权限的操作员才能正常登录本系统,非操作人员将不能打开本系统。因此,为保证系统正常运行,拥有权限的人员才能进行数据库进行维护操作。
对于一个数据库而言,安全性是指保护数据库不被破坏、偷窃和非法使用的性能。一个设计良好的安全模式能使用户的合法操作变得很容易,同时使非法操作和意外破坏很难或不可能发生。SQL Server 2000的安全性分为两类:数据库安全性和应用程序安全性。数据库安全性以信息资源和信息资源的用户为主要管理对象,一个用户只要具有对某个对象的访问权限,则无论使用什么工具,都可以对该对象进行访问。 [资料来源:http://Doc163.com]
(1)登陆用户的安全性
对于旅客及管理员用户,系统设计了登陆界面,每个合法用户有一个密码,该密码由用户自行维护,从而实现对用户的身份验证。
(2)操作安全性
对授权用户的权限的授予和回收。如果是系统管理员,那么还可以为其它用户分配权限。
(3)数据安全性
客户端层和数据库层隔离,客户端无法接触本质的数据库,无法进行非法的修改和破坏,使得数据库得到有效安全的保护。
3系统实现
3.1系统实现步骤
总体设计阶段完成了软件的结构设计,划分了模块,并规定了各模块的功能与它们之间的联系。在此之后,按照软件开发工程化的观点,应进入系统实现阶段。
在系统实现这个阶段中,根据总体设计提供的文档,确定每一个模块的算法,内部的数据组织,选定工具表达清晰正确的算法,编写详细设计说明书,详细测试用例和计划。
本阶段的根本目标是确定应该怎样实现所要求的系统,给出软件模块结构中各个模块的内部过程描述。经过这个阶段的设计工作,得出对目标系统的精确描述,这个描述在编码阶段可以由程序员直接翻译成用某种程序设计语言书写的程序。详细设计又被称作过程设计,对模块的内部过程描述就是模块内部的算法设计。 [资料来源:https://www.doc163.com]
系统实现一般就是指的编码阶段。编码就是将软件详细设计的结果翻译成用某种程序设计语言书写的程序。软件的设计开发过程经过需求分析、总体设计和详细设计几个阶段之后,已经形成了基本变成框架,最后就是通过编码对设计进一步具体化,实现相应的功能。运用软件功能方法设计软件,主要是为了提高软件质量,软件质量在很大程度上取决于设计的质量,同时编码的好坏也是影响软件质量的十分重要的因素,如果编码中存在各种问题,那么再好的设计也无法体现出来。另外,编码质量的好坏,也直接影响了软件测试和软件维护工作的进行。但是系统实现是在系统设计的基础上的,基本上定下了系统设计,就基本上定下了系统实现。
3.2系统开发工具及编程语言的选择
本系统是在Visual Studio.net平台运用ASP.NET技术来实现,采用C#语言作为开发工具,使用的数据库为SQL Server 2000。
ASP.net是Microsoft.net的一部分,作为战略产品,不仅仅是 Active Server Page (ASP) 的下一个版本;它还提供了一个统一的 Web 开发模型,其中包括开发人员生成企业级 Web 应用程序所需的各种服务。ASP.NET 的语法在很大程度上与 ASP 兼容,同时它还提供一种新的编程模型和结构,可生成伸缩性和稳定性更好的应用程序,并提供更好的安全保护。可以通过在现有 ASP 应用程序中逐渐添加 ASP.NET 功能,随时增强 ASP 应用程序的功能。
[来源:http://www.doc163.com]
ASP.NET 是一个已编译的,基于 .NET 的环境,可以用任何与 .NET 兼容的语言(包括 Visual Basic .NET、C# 和 JScript .NET.)创作应用程序。另外,任何 ASP.NET 应用程序都可以使用整个 .NET Framework。开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承等等。
ASP.NET 可以无缝地与 WYSIWYG HTML 编辑器和其他编程工具(包括 Microsoft Visual Studio .NET)一起工作。这不仅使得 Web 开发更加方便,而且还能提供这些工具必须提供的所有优点,包括开发人员可以用来将服务器控件拖放到 Web 页的 GUI 和完全集成的调试支持。
微软为ASP.net设计了这样一些策略:易于写出结构清晰的代码、代码易于重用和共享、可用编译类语言编写等等,目的是让程序员更容易开发出Web应用,满足计算向Web转移的战略需要。
3.3前台系统的实现
本系统基于微软的Framework1.1架构,使用C#语言进行开发,采用了基于浏览器形式的WEB方式,这样做可以使所有的功能组件只安装在服务器上,免去了日后升级修改的麻烦。
后台数据库采用MS SQL Server对数据库进行管理,并使用ADO.NET对数据库进行访问,在ADO.NET中SQL Server数据库有两种驱动程序,一是采用ODBC方式,这种方式虽然可以操作几乎所有的数据库,但必须首先在windows系统下配置ODBC数据源,而且速度兼容性较差,不宜在本系统中使用。另一种是使用Ole Db的驱动程序连接数据库。在ADO.NET中,专门为MS SQL Server数据库创建了一系列优化过的类,用来方便快速的访问和操纵数据库。
3.3.1旅客注册模块
本系统只有旅客成功注册后,才可以实现在网上在线订票的功能,旅客注册时,需要提供旅客的相关信息,如姓名,身份证号等,旅客注册模块的页面设计如图3.1所示:
图3.1旅客注册模块
3.3.2车票预订模块
当用户选择的“车票预定”功能,进入车票预定页面,首先需要旅客选择要到达的目的地,系统会根据目的地,自动的列出所有的到达目的地的车次信息,旅客对车次进行选择,完成车票的预定,车票预定模块,车次选择页面设计如图3.2所示:
图3.2车次选择界面
在图3.2所示的页面中,用户选择某个车次,点击“预定”,系统会调出车次预定页面,在些页面,需要用户选择定票日期,入定票的票数,点击“提交”完成车票的预定功能,车票预定页面如图3.3所示:
图3.3车次预订页面
其中“提交”按钮对应的代码设计如下:
protected void Button1_Click(object sender, System.EventArgs e)
{
Int xlid=int.Parse(Request["id"].ToString()); [资料来源:www.doc163.com]
Int uid=int.Parse(Session["id"].ToString());
Int mony=int.Parse(x_7.Text);
DateTime rq=DateTime.Parse(DropDownList2.SelectedValue);
DateTime dt=DateTime.Now;
string str="";
for(int i=0;i<(DropDownList1.SelectedIndex+1);i++)
{
str="insert into dpb(Xlid,uid,Dp_d,Mony,Zwid,dt) values("+xlid+","+uid+",'"+dt+"',"+mony+","+(int.Parse(DropDownList1.Items[i].Text)+1)+",'"+rq+"')";
da.write_data(str); [资料来源:http://Doc163.com]
}
Response.Write("<script>alert('订票成功了!!')</script>");
Server.Transfer("fk.aspx");
}
3.3.3车次查询模块
以旅客身份登录后,可以使用注册用户的相关功能,在本系统中,网页的左端部分列出了功能项,用户可以选择某功能项完成相应的操作,点击“车次信息查询”,打开车次信息查询的页面,车次信息查询界面如图3.4所示:
图3.4车次查询界面
3.4后台系统的实现
本站的后台系统完成本站信息的管理及维护操作,主要包括,用户信息管理,新闻信息管理,火车信息管理等功能。
3.4.1用户信息管理
用户信息管理模块完成旅客信息的查看及删除功能,工作人员可以查看旅客的相关信息,对无效的旅客信息进行删除,用户管理的页面设计如图3.5所示:
图3.5用户管理模块
3.4.2新闻管理模块
本站新闻管理模块完成本站新闻的添加,删除及修改功能,工作人员可以添加本站的新闻信息,对错误的新闻信息进行修改,对过期的新闻信息进行删除,新闻管理模块对应的页面设计如图3.6所示:
图3.6新闻管理页面
3.4.3车次信息管理模块
车次信息管理模块完成车次信息的添加、删除及修改的功能,车站的工作人员对车次的信息进行管理及维护。车次信息模块的页面设计如图3.7所示:
图3.7 车次信息管理模块
4系统测试
4.1测试的任务及目标
(1)测试的任务
在软件投入生产性运行之前,尽可能多地发现软件中的错误。
(2)测试的目标
•测试的目的是为了发现程序中的错误而执行程序的过程。
•好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案。
•成功的测试是发现了到今为止尚未发现的错误的测试。
4.2测试方案
设计测试方案是测试阶段的关键技术问题。所谓测试方案包括预定要测试的功能。应该输入的测试数据和预期的结果,目标是设计一组可能发现错误的数据。测试有两种方法:黑盒测试和白盒测试。 [来源:http://Doc163.com]
黑盒测试又称为功能测试,在程序接口进行,只检查程序功能是否能够按照规格说明书的规定正确使用,程序是否能适当地接收输入数据并发生正确的输出信息,而且要能够保持外部信息的完整性。
白盒测试又叫结构测试,完全了解程序的结构和处理过程,这种方法按照程序内部的逻辑测试程序,检验程序中每条通路是否都能按照预定要求正确工作。
5结束语
短暂的毕业设计结束了,我在这次设计过程中实现了对过去所学知识的回顾、总结和应用。该系统能够实现数据的输入、查询、修改、有关统计的各项功能,能够追朔到数据的始终。完成了网上火车票预定系统开发和应用,达到预期要求目的。不可否认,该系统在开发过程中仍存在许多的缺点和不足,由于本人是第一次实现系统程序的开发,经验不足,能力有限,所以开发出的系统软件还不够完善,功能实现的还不完全,保密性还不够高,这都是我以后在系统设计需要应该注意和解决的问题。
本论文在对网上火车票预定系统的论述后,深入论证了设计的全过程。整个设计过程力求按软件工程教学中软件开发的步骤进行,循序渐进,逐步求精。该系统所有相关程序均经过多次上机调试,证明是正确的、可行的。 [资料来源:Doc163.com]
经过一个学期的艰辛付出,我独立完成了该系统开发的各项任务。在实际的设计过程中,我也遇到了许多难解的问题,所有这些通过自己潜心研究和网上查找资料,都得到了完美的解决。有了这次毕业前的实战演练,我相信,自己所的得到的收获将会在自己以后的学习工作中起到巨大作用。
参考文献
[1]崔淼,彭炜.《ASP.NET(C#版)》。机械工业出版社,2011年6月
[2]沈士根,许小东.《web程序设计—ASP.NET上机实验指导》。清华大学出版社,2009年07月
[3]李春葆.《ASP.NET动态网站设计教程》。清华大学出版社,2011年7月
[4]郭常圳.《ASP.NET网络应用开发例学与实践》。清华大学出版社,2006年4月
[5]李万宝.《Asp.net技术详解与应用实例》。机械工业出版社,2005年9月
[6]杜佰林.网络数据库SQL server2000。清华大学出版社,2007年9月
[7]李玉林.《Asp.net从入门到精通》。人民邮电出版社,2004年7月
[8]万峰科技.《Asp.net网站开发四酷全书》电子工业出版社,2005.9.1
[9]钱哨,张继红.《SQL SERVER数据库技术高级指南》,中国水利水电出版社,2004.2.1
[10]肖建.《Asp.net编程实例与技巧集萃》,北京希望电子出版社 2004.5.1
[11](美)沃尔森.《ASP.NET解密》,中国电力出版社,2004.08
[12]郝刚,袁永刚.《ASP.NET服务器控件开发技术与实例》,人民邮电出版社,2005.01
[13]冯涛.《ASP.NET动态网站开发教程》,清华大学出版社,2011.06
[14]魏汪洋.《零基础学ASP.NET》,机械工业出版社,2012.03
[15]房大伟.《ASP.NET开发实战1200例》,清华大学出版社,2011.06