JIANGSU TEACHERS UNIVERSITY OF TECHNOLOGY
本科毕业设计(论文)
基于ASP.NET的火车站售票系统
学院名称: 东方学院
专 业: 软件工程
班 级: 08东软件2
姓 名:指导教师姓名: 陈林凯
指导教师职称: 讲师
2012 年 05 月
基于ASP.NET的火车站售票系统
摘 要:火车站售票系统是一个为旅客提供方便,为系统管理员提供可靠便捷的工具。该系统的出现大大满足了现今对于火车售票的需要,使原本极为麻烦的售票、购票过程变得方便快捷,从而提高效率并且大大降低了售票员的工作量。
火车站售票系统主要包括火车票查询子系统、订票子系统等功能系统。它能够实现在线车票查询,在线订票等功能。其开发主要包括后台数据库的建立管理和前台应用程序的开发这两个方面。程序功能实现后用户将可通过互联网在线查询、订购所需的火车票,并能随时查看自己的订单。管理员可通过系统对用户订单以及车票信息等进行管理。
本系统采用ASP.NET技术,利用C#编程语言,Microsoft Visual Studio 2010以及SQL Server 2008数据库进行对系统的开发。本文通过对系统的需求调研分析,总体设计,系统功能的实现和最后的系统测试来介绍整个系统的设计开发过程。
关键词:订购,ASP.NET框架,Microsoft Visual Studio 2010开发平台,SQL Server 2008数据库
Train Station Ticketing System Based On ASP.NET
Abstract:Train station ticketing system is one for passengers to provide convenient, for system administrators to provide a reliable and convenient tool .The system can meet the requirement of the selling train ticketing, make the extremely trouble process of buying train ticket fast and convenient. It improves efficiency and reduces workload of conductor.
Train station ticketing system mainly comprise of ticket query system, booking system and other functions system. It can realize online ticket query, online booking and other functions. The development includes the establishment and management of the background database, and the implementation of application program . After the realization of the system, the user will be available online through the Internet inquiries, ordering the train tickets, and can at any time to view their orders. The administrator can also be through the system to the user orders and ticket information management.
This system adopts ASP.NET technology, using C# programming language, Microsoft Visual Studio 2010 and SQL Server 2008 database for system development.This article through to the system demand analysis, overall design, system function realization and the final testing of the system to introduce the system design and development process.
Keywords: Order, ASP.NET Framework, Microsoft Visual Studio 2010 Development Platform, SQL Server 2008 Database
目录
引言 ..................................................................... 1
第1章 系统概述 ....................................................... 2
1.1 系统开发背景 ................................................... 2
1.2 系统研究意义 ................................................... 2
1.3 系统开发技术及环境介绍 ......................................... 2
1.3.1 开发技术简介 ........................................... 3
1.3.2 开发环境 ............................................... 4
第2章 系统需求分析 .................................................. 6
2.1 系统可行性分析 ................................................. 6
2.2 系统功能需求分析 ............................................... 6
2.3 系统性能需求分析 ............................................... 8
第3章 系统总体设计 .................................................. 9
3.1 系统功能模块设计 ............................................... 9
3.2 系统结构流程图 ................................................ 11
3.3 系统功能结构图 ................................................ 12
3.4 系统数据库设计 ................................................ 13
3.4.1 数据库设计原则 ........................................ 13
3.4.2 数据库概念模型 ........................................ 13
3.4.3 数据库各表设计 ........................................ 15
第4章 系统功能的实现 ............................................... 18
4.1 用户登录和注册模块 ............................................ 18
4.1.1 功能概述 .............................................. 18
4.1.2 用户登录和注册模块的实现 .............................. 18
4.2 火车票查询模块 ................................................ 19
4.2.1 功能概述 .............................................. 19
4.2.2 火车票查询模块的实现 .................................. 20
4.3 订票模块 ...................................................... 20
4.3.1 功能概述 .............................................. 20
4.3.2 订票模块的实现 ........................................ 21
4.4 用户管理模块 .................................................. 21
4.4.1 功能概述 .............................................. 21
4.4.2 用户管理模块的实现 .................................... 22
4.5 管理员管理模块 ................................................ 22
4.5.1 功能概述 .............................................. 22
4.5.2 管理员管理模块的实现 .................................. 23
第5章 系统测试与运行 ............................................... 25
5.1 测试目标 ...................................................... 25
5.2 测试方法 ...................................................... 25
5.3 测试购票 ...................................................... 25
5.3.1 选定测试对象 .......................................... 25
5.3.2 测试用例设计 .......................................... 26
5.3.3 测试过程 .............................................. 26
5.4 测试总结 ...................................................... 28 总结 .................................................................... 29 参考文献 ............................................................... 30 致谢 .................................................................... 32
引言
随着Internet技术的发展,人们对网络信息的需求也越来越大,对于火车售票相关应用技术的要求也越来越高。在计算机还未普及之前售票业务都是由工作人员人工完成的,以现有的工作本来就难应付车票订购高峰时刻的大量数据处理问题,同时,高速铁路的出现使得传统火车站售票已经不能满足现代客运业务流量剧增的客观要求,这就要求一种全新的购票方式——火车网上购票,来缓解购票高峰时期的客运压力,并为用户提供方便快捷的服务。
采用C#编程语言、Microsoft Visual Studio 2010开发工具和SQL Server 2008数据库技术,设计开发一个火车站售票系统,它将能实现旅客对车票的在线查询、订购,实现管理员对票务等信息进行及时管理和数据库维护等功能。
本系统的优势在于系统简单、功能强大、扩展能力良好以及能够方便的跨地域操作,即真正实现了快捷且便利售票,不仅使旅客能及时获取车票信息并购买车票,同时也大大减轻了传统售票的繁琐与不便,分散了买票人群,缓解了售票压力。
第1章 系统概述
1.1 系统开发背景
随着我国经济的高速发展,我国的交通运输能力不断提高,越来越多的国民开始走出家门来到异地进行商务或者旅游等活动。在这一条件下,客流量不断增大。火车售票的管理对于交通运输的正常运行起着至关重要的作用,而随着信息量的逐步增加,繁杂的数据处理费时费力,单纯以人力进行的火车售票已经不适合现状了[1]。
现在的时代是一个信息产业的时代,国家把信息产业作为了增长国民经济重要的一环。在这样的环境下,以先进的信息技术进行火车售票的管理成为了时代发展的必然。
综上所述,开发这样一个火车站售票系统是相当有必要的。
1.2 系统研究意义
随着时代的进步和科技的发展,人类的生活总是向更加便捷人性化的方向发展,从传统的购票向网络购票发展,不但方便了旅客朋友,也为管理员提供了一种方便管理的渠道[2]。只需一台电脑,一切订购车票的活动都在虚拟的空间里进行,让订票成为了一件轻松的事情。
火车站售票系统以计算机为操作工具,把售票的工作人员从繁杂的数据管理以及处理中解放出来,火车站售票系统把车票的各种信息保存于数据库中,通过计算机可以很方便地对所需要数据进行查询等各种操作,而且这些操作全部由系统内部的代码完成[3],用户只需要通过该系统友好的界面,输入一些简单的数据便可操作,使用者可以很轻易地学会使用。
本系统能够满足用户网上购票的基本要求,包括火车票的查询、订购、用户对自己信息的管理以及管理员对车票信息和用户信息的管理功能。该系统能够给用户和管理员带来诸多方便,所以是一个值得研究的系统。
1.3 系统开发技术及环境介绍
1.3.1 开发技术简介
1.Microsoft Visual Studio 2010:
Microsoft Visual Studio是微软公司推出的开发环境。是目前最流行的Windows平台应用程序开发环境。Visual Studio可以用来创建Windows平台下的Windows应用程序和网络应用程序,也可以用来创建网络服务、智能设备应用程序和Office插件。提供了高级开发工具、调试功能、数据库功能和创新功能,帮助在各种平台上快速创建当前最先进的应用程序;可视化设计器(使用.NET Framework 3.5加速开发)、对Web开发工具的大量改进,以及能够加速开发和处理所有类型数据的语言增强功能;开发人员能够利用这些丰富的客户端和服务器端框架轻松构建以客户为中心的Web应用程序,这些应用程序可以集成任何后端数据提供程序、在任何当前浏览器内运行并完全访问ASP.NET应用程序服务和Microsoft平台[4]。Microsoft Visual Studio 2010版本于2010年4月12日上市,其集成开发环境(IDE)的界面被重新设计和组织,变得更加简单明了。Visual Studio 2010同时带来了 NET Framework 4.0、Microsoft Visual Studio 2010 CTP( Community Technology Preview--CTP),并且支持开发面向Windows 7的应用程序。除了Microsoft SQL Server,它还支持 IBM DB2和Oracle数据库[5]。
2.Microsoft SQL Server 2008:
Microsoft SQL Server 2008为任何规模的应用提供完备的信息平台。是可管理的,熟悉的自服务商业智能(BI)工具。支持大规模数据中心与数据仓库。支持平滑建立与扩展应用到云端与微软的应用平台紧密集成。SQL Server 2008引进了一系列新功能帮助各种规模的业务从信息中获取更多价值[6]。经过改进的SQL Server 2008增强了开发能力,提高了可管理性,强化了商业智能及数据仓库。
3.C#编程语言:
C#是微软公司在2000年发布的一种全新且简单、安全、面向对象的程序设计语言,是专门为.NET的应用而开发的语言。它吸收了C++、Visual Basic、Java等语言的优点,体现了当今最新的程序设计技术的功能和精华[7]。
C#能够与其他应用程序方便的集成和交互,所特有的特点有:
(1)语法简介:
C#取消了指针,它使用有限的指令、修饰符和操作符,语法上几乎不存在冗余,整个语言结构是否清晰。
(2)完全面向对象:
C#具有面向对象的语言所应有的基本特性:封装、继承和多态性。它禁止多继承,禁止各种全局方法、全局变量和常量。C#以类为基础来构建所有的类型,并通过命名空间对代码进行层次化的组织和管理[8]。
(3)与Web紧密结合: 借助Web服务框架,C#使得网络开发和本地开发几乎一样简单。开发人员无需了解网络的细节,可以用统一的方式来处理本地的和远程的C#对象,而C#组件能够方便的转为Web服务,并被其他平台上的各种编程语言调用。
(4)目标软件的安全性:
C#符合通用类型系统的类型安全性要求,并用CLR所提供的代码访问安全特性,从而能够在程序中方便的配置安全等级和用户权限。此外,垃圾收集机制自动管理对象的生命周期,这是的开发人员无需再负担内存管理的任务,应用程序的可靠性进一步得到提高[9]。
4.ASP.NET:
ASP.NET是基于通用语言的编译运行的程序,它的强大性和适应性,可以使它运行在Web应用软件开发者的几乎全部的平台上。通用语言的基本库,消息机制,数据接口的处理都能无缝的整合到ASP.NET的Web应用中。ASP.NET同时也是language-independent(语言独立化)的,所以,可以选择一种最适合自己的语言来编写程序,或者把程序用很多种语言来写,现在已经支持的有C#(C++和Java的结合体),VB,Jscript , C++、F++。将来,这样的多种程序语言协同工作的能力保护您现在的基于COM+开发的程序,能够完整的移植向ASP.NET[10]。
ASP.NET一般分为两种开发语言,VB.NET和C#,C#相对比较常用,因为是.NET独有的语言,VB.NET则为以前VB程序设计,适合于以前VB程序员,因此本系统所采用的是C#编程语言来进行开发。
1.3.2 开发环境
1.硬件环境
(1)CPU:Intel(R)Core(TM)2 Duo 2.20GHz
(2)内存:2.00GB
(3)硬盘:300G
2.软件环境
(1)操作系统:Windows 7
(2)数据库:Microsoft SQL Server 2008
(3)开发工具:Microsoft Visual Studio 2010
(4)浏览器:IE8.0
第2章 系统需求分析
2.1 系统可行性分析
该阶段通过对系统目标的初步调研与分析,提出可行性方案并进行论证。在此,主要从经济可行性、技术可行性和操作可行性三方面进行分析。
1.经济可行性
本系统采用网站形式,与传统方式相比,具有高效率、低成本、高质量特点,并且本系统开发所需的成本费用与该系统所带来的收益比较,是有利的,具有一定的通过性。因此从经济角度来看,该系统是可行的[11]。
2.技术可行性
开发工具:Microsoft Visual Studio 2010 数据库环境:Microsoft SQL Server 2008 系统环境:Microsoft Windows 7
系统实现依靠C#编程语言和Microsoft SQL Server 2008数据库,其基本操作实质是指对数据库进行查找、添加和删除等操作。
3.操作可行性
对于用户来说,本系统只要求使用者掌握一定的上网经验,经过仔细设计和测试之后的系统具有操作简单、方便灵活等优点,足可以满足用户的不同需求,同时也方便了管理员的内部管理、管理人员及用户一定会在短时间内掌握并熟练使用[12]。
2.2 系统功能需求分析
1.系统基本功能
通过调查研究,火车站售票系统的基本功能需求如下。 (1) 用户登录和注册功能。
(2) 火车票查询功能,包括快速查询和详细查询。 (3) 订票功能。
(4) 用户管理功能,包括用户注册管理,订单管理和留言管理。
(5) 管理员管理功能,包括订单信息管理,用户信息管理,车票信息管理,车票地址信息管理,用户留言管理和公告/热门信息管理。
2.系统用例图
(1)系统管理员用例图
图2-1 系统管理员用例图
(2)用户用例图
图2-2 用户用例图
2.3 系统性能需求分析
1.速度
在软件方面,响应时间,更新处理时间都比较快且迅速,完全满足用户需求。 2.灵活性
系统采用三层式架构设计开发,体系更加灵活,当用户的需求在某些方面发生变化时,设计的软件就需要做适当的调整,灵活性非常大。
3.安全性
系统的安全性包括保密性、完整性和可用性,该系统需用户及管理员输入用户名及密码才能登录并使用。如果用户名及密码输入错误,就会提示登录失败,用户及管理员就无法使用该系统。
4.可维护性
系统要求负责人每季度维护一下,查看系统的使用情况,维护的目的是要保证系统正常而可靠地运行,并能使系统不断得到改善和提高,以充分发挥作用,维护要有计划、有组织的进行[13]。
第3章 系统总体设计
3.1 系统功能模块设计
根据火车站售票系统的逻辑划分,本系统主要分为五个功能模块。 1.用户登录和注册功能 (1)用户登录模块
主要完成用户登录的功能。如果注册用户想要订购火车票,就必须登录。登录时必须正确添写用户名和密码。如果用户没有注册。登录界面有到注册界面的连接。
(2)用户注册模块
完成用户注册的功能。登录的注册用户和未登录的用户的区别在于登录的注册用户可以浏览首页,查询火车票,订购火车票,管理(查看、修改)自己的注册信息,查看自己的订单信息,可以在网站上留言(例如:用户查询到自己想要的火车票已经售完,就可以在网站上留言,求购此票);而未登录的用户则只能浏览首页,查询火车票,其余的功能都不能用。
2.火车票查询功能 (1)快速查询
主要实现按起点站、终点站来查询车票。在首页有一个快速查询模块,用户无须经过点击连接按钮,转到专门的查询页面再进行查询这样一个麻烦的过程就能得到较为满意的查询结果。
(2)详细查询
主要实现按日期、起点站、终点站、车次、是否是卧铺这五点来查询。虽然有快速查询这样一个方便的查询模块,但其功能不够强大,有时可能不能满足用户的查询要求,这时就需要这样一个功能强大的详细查询模块。
3.订票功能
主要实现将用户选中的车票进行锁定,以及生成订单并显示。这是网站的一个重要功能模块,在显示详细的查询信息页面点击订购按钮后,将转向订单页面,并向之传递用户所订购火车票的信息,然后在订单页面生成订单并显示。
4.用户管理功能
(1)用户注册信息的管理
主要实现用户对自己注册信息的修改。有时用户因为各种情况需要修改自己的注册信息,就可以进入用户管理子系统。点击用户注册管理的子模块,修改自己的注册信息。
(2)订单管理
主要实现查询和删除用户已经下了的订单。 (3)用户留言模块
实现用户留言功能。这是用户与用户之间,用户与管理员之间交流的窗口。用户可以通过它向网站提出建议;与其他用户之间进行信息交流,例如用户查询到自己想要的火车票已经售完,就可以在网站上留言,求购此票,或与其他用户换票等。极大的丰富网站功能,方便了用户。
5.管理员管理功能 (1)订单信息管理
主要实现查询所有的订单以及删除订单的功能。可能会出现一些情况,使管理员需要删除一些用户的某些订单,这个功能模块就是为应对这种情况而作。
(2)用户信息管理
主要实现查询所有的用户注册信息以及删除功能。一个完善的网站一定会有对用户信息管理,主要是查看删除用户的注册信息。
(3)车票信息管理
主要实现查询所有的车票信息以及对车票信息的修改和删除。可能会出现一些情况使得现有车票不符和实际情况,所以就需要管理员能对车票信息进行修改和删除。
(4)地址信息管理
主要实现查询所有的地址信息以及对地址信息的修改和删除。可能会出现一些情况使得火车到点时刻出现变化,这就需要管理员能对之进行相应的改动。
(5)用户留言管理
主要实现查询所有的用户留言以及对用户留言删除。首先管理员应该能够查看所有的用户的所有留言,这才能发现违反规定的用户留言,为进一步的删除操作做好前提准备。其次用户留言可能会很多,如不及时清除会占用太多的存储空间,所以需要管理员能够对用户留言进行删除。
(6)发布公告/热门信息管理
主要实现管理员对一些信息的发布。这个模块是实现与用户交流的一个窗口。管
理员可以通过它发布一些当前的热门车票的信息;发布一些网站公告等。它与用户留言模块一起构成了网站与用户的沟通。
3.2 系统结构流程图
用户和系统管理员必须按照正确的顺序进入系统,登录成功后均可通过按键提示进行相应的操作。其面向用户的流程图和面向系统管理员的流程图分别如图3-1和图3-2所示。
图3-1 面向用户的流程图
图3-2 面向系统管理员的流程图
3.3 系统功能结构图
图3-3 火车站售票系统功能结构图
3.4 系统数据库设计
3.4.1 数据库设计原则
1.真实性
此处真实性的含义是在数据库设计的最初阶段,需要对系统的整个流程做细致的调查,尽可能多的收集相关数据与资料,从而确保所设计的数据库的真实性。也就是说,数据库设计时应忠于规范,各个环节应能详实反映出现实情况[14]。
2.适当冗余
冗余性一般对很多系统来说都是不利的。因为它不仅会给系统数据的一致性造成潜在的威胁,还会不必要地占据系统资源、浪费存储空间、减慢响应速度。经过分析后,精简掉重复的不必要的冗余字段和冗余数据类型以及冗余的表,力求使数据库系统在结构和性能上达到最优状态。
3.完整性
数据的完整性。这一原则要求在进行数据库设计时,用标准化来实现数据的完整性和数据的功能性。在写数据的时候还可以增加触发器来保证数据的正确性。
4.简单性
过于复杂的数据库设计对任何一个系统来说都是不利的。无论从数据库的设计还是程序的编写,简单实用是非常重要的。一切都要以客户和项目实际的要求为基础,是系统结构达到最简单[15]。
3.4.2 数据库概念模型
E-R(Entity-Relationship Approach)图是最常用的概念模型表示方法,也是数据库的核心和基础,它是按用户的观点来对数据和信息建模,依据概念模型设计应具的特点:真实性、易理解性、易修改性、易转换性[16],火车站售票系统的主要E-R图如下所示。
1.管理员信息E-R图:
图3-4 管理员信息E-R图
2.用户信息E-R图:
图3-5 用户信息E-R图
3.订单信息E-R图:
图3-6 订单信息E-R图
4.车票信息E-R图:
图3-7 车票信息E-R图
3.4.3 数据库各表设计
火车站售票系统数据库采用Microsoft SQL Server 2008,数据库中的表一共有7个,其作用具体如下。
(1)Account:包含用户注册信息,主要有用户名(登录网站用的名字)、登录网站的密码、用户身份证号、用户的姓和名等。如表3-1所示。
(2)AddressMessage:包含火车时刻表信息,即是记录火车从始发站到最后的终点站这一的路线上所经过的每一站和到站时间、离站时间。如表3-2所示。
(3)Admin:包含管理员信息,即管理员帐号和密码。如表3-3所示。
(4)HotMessage_Notice:存放热门信息和公告,记录由管理员发布的公告信息及其他热门信息等。如表3-4所示。
(5)Orders:存放订单信息,主要是订单号、用户所订购火车票的票号、订票的用户名、票单价、用户订购票的数量等。如表3-5所示。
(6)TicketDetail:包含火车票信息,主要有车票的票号、是否被订购、车票日期、车票单价、车次、到站时间、离站时间。如表3-6所示。
(7)UserLeaveMessage:存放用户留言,即用户对网站的一些建议,想与其他用户之间交换、出售、购买火车票等的信息。如表3-7所示。
表3-1 Account
表3-2 AddressMessage
表3-3 Admin
表3-4 HotMessage_Notice
表3-5 Orders
表3-6 TicketDetail
表3-7 UserLeaveMessage
第4章 系统功能的实现
4.1 用户登录和注册模块
4.1.1 功能概述
(1)登录时用户输入自己的用户名和密码,如果少输或输入出错及没有注册,则给出相应的出错信息。
(2)按提示填写注册信息。用验证控件来控制用户是否输入,检验用户输入密码与确认密码是否一致。
4.1.2 用户登录和注册模块的实现
(1)用户登录和注册主要由Login.aspx和CreateNewAccount.aspx来完成。 (2)当用户进入Login.aspx页面要登录时,先选择登录身份,然后输入正确的用户名和密码就可以了。如果输入错误或少输入了一项或两项则会显示出错信息。如图4-1所示。
图4-1 登录界面图
(3)如果要注册帐户,则进入CreateNewAccount.aspx页面,按照页面上的提示填
写注册信息,然后提交。对于用户输入的信息由验证控件来验证。如图4-2所示。
图4-2 用户注册界面图
4.2 火车票查询模块
4.2.1 功能概述
(1)快速查询功能是指只输入起点站、终点站,就可查询的一个功能模块。 (2)详细查询功能是指按日期、起点站、终点站、车次、是否是卧铺这五点的任意组合来查询的一个功能模块。如图4-3所示。
图4-3 火车票详细查询界面图
4.2.2 火车票查询模块的实现
(1)查询是由控件SimpleSearch.ascx、DetailSearch.aspx和SearchResults.aspx三个文件来完成。
(2)当用户登录首页时,会有供选择查询条目的两个下拉框(快速查询),用户在下拉列表中选择所需的条目,然后点击提交按钮。
(3)当用户需要更详细的查询时,可进入详细查询页面(DetailSearch.aspx),其中有包括日期、起点站、终点站、车次、是否是卧铺这五种查询条件的下拉框,用户可选择这五种查询条件的任意组合,进行查询。
(4)两种查询方式在提交后,都将转向查询结果页面(SearchResults.aspx),在其中显示查询结果,以便进一步操作。
4.3 订票模块
4.3.1 功能概述
用户在查找到自己所需的票后,点击订购,就会自动生成订单,完成订票功能。在详细信息页面点击订购,就完成了订购功能,转向订单页面显示。如图4-4所示。
图4-4 用户订单界面图
4.3.2 订票模块的实现
(1)订票的实现主要是由ShowDetail.aspx和Order.aspx两个文件来完成的。 (2)在显示详细页面(ShowDetail.aspx)中,每一张票都有一个对应的“点击订购”的按钮,用户点击后会将参数传到Order.aspx页面,在其中生成订单,并返回显示。
4.4 用户管理模块
4.4.1 功能概述
(1)用户注册信息的管理。用户登录后,进入用户管理页面,点击“修改注册信息”,会在一个DataGrid控件中显示用户注册信息,点击“编辑”就可以实现修改自己的注册信息。
(2)订单信息管理。用户登录后,进入用户管理页面,点击“查看订单信息”就会显示该用户所有的订单信息,方便用户查阅。
(3)用户留言模块。用户登录后,进入用户管理页面,点击“用户留言”就可以输入自己的留言信息,如对网站的一些建议,想与其他用户之间交换、出售、购买火车票的信息。
(4)下面是用户管理模块下用户“修改注册信息”的界面图,如图4-5所示,用户可以在该界面上修改自己的注册信息。
图4-5 用户注册信息修改界面图
4.4.2 用户管理模块的实现
(1)用户管理由UserManage.aspx、UserLeaveMessage.aspx、UserUpdata.aspx、UserShowOrder.aspx四个文件完成。
(2)具体的工作是由UserLeaveMessage.aspx、UserUpdata.aspx、UserShowOrder.aspx三个文件完成的,UserManage.aspx只是起调度作用。
(3)UserLeaveMessage.aspx完成的是用户留言功能。
(4)UserUpdata.aspx完成的是用户查询、修改注册信息的功能。 (5)UserShowOrder.aspx完成的是显示用户订单的功能。 (6)UserManage.aspx中采用的是iframe动态获取网页。
4.5 管理员管理模块
4.5.1 功能概述
(1)订单信息管理。管理员可以查看所有的订单信息,拥有删除订单的权限。 (2)用户信息管理。管理员可以查看所有用户的所有信息(密码除外),拥有删除用户帐户的权限。
(3)车票信息管理。管理员可以查看所有的火车车票信息,并可对其进行修改、删除。
(4)地址信息管理。管理员可以查看所有的火车时刻信息,并可对其进行修改、删除。
(5)用户留言管理。主要是管理员可以删除用户留言。
(6)发布公告/热门信息模块。管理员通过这个模块可以发布一些即时信息,网站公告等,用以方便用户。
(7)进入管理员页面时可在左侧的列表中选择具体要操作的项目。如选择“管理车票信息”,则如图4-6所示。
图4-6 管理车票信息界面图
4.5.2 管理员管理模块的实现
(1)管理员管理是由AdminManage.aspx、AdminManage_OrderMessage.aspx、AdminManage_UserMessage.aspxAdminManage_AddressMessage.aspx
、
、
AdminManage_TicketMessage.aspx
HotMessage_Notice.aspx
、、
AdminManage_HotMessage_Notice.aspx、AdminManage_UserLeaveMessage.aspx八个文件组成。
(2)具体的工作是由HotMessage_Notice.aspx、AdminManage_UserMessage.aspx、AdminManage_TicketMessage.aspxAdminManage_UserLeaveMessage.aspx
、
、
AdminManage_AddressMessage.aspxAdminManage_OrderMessage.aspx
、、
AdminManage_HotMessage_Notice.aspx七个文件完成的,AdminManage.aspx只是起调度作用。
(3)HotMessage_Notice.aspx完成的是让管理员通过这个模块可以发布一些即时信息,网站公告等的功能。
(4)AdminManage_UserMessage.aspx完成的是让管理员通过这个模块管理用户的注册信息(密码除外)和删除用户帐户的功能。
(5)AdminManage_TicketMessage.aspx完成的是让管理员通过这个模块查看所有的火车票信息,并可对其进行修改、删除的功能。
(6)AdminManage_AddressMessage.aspx完成的是让管理员通过这个模块查看所有
的火车时刻信息,并可对其进行修改、删除功能。
(7)AdminManage_UserLeaveMessage.aspx完成的是让管理员可以通过这个模块删除用户留言的功能。
(8)AdminManage_OrderMessage.aspx完成的是让管理员通过这个模块查看所有的订单信息和删除订单的功能。
(9)AdminManage.aspx中采用的也是iframe动态获取网页,与UserManage.aspx的实现方法完全相同。
(10)AdminManage_HotMessage_Notice.aspx完成的是让管理员可以通过这个模块删除自己发布的公告和热门信息的功能。
第5章 系统测试与运行
5.1 测试目标
通过测试,使系统达到以下目标:
(1)火车站售票系统能够达到设计的要求,各个功能点能够实现,整个业务流程能够走通。
(2)系统运行稳定,具有一定的容错性,性能能够满足用户的需求。 (3)系统各个模块的功能与用户的需求一致,模块间衔接正确。 (4)系统的输出物达到用户的使用要求。 (5)系统易用性好。
(6)系统界面符合一般网站系统的标准,且符合用户要求,操作方便[17]。
5.2 测试方法
为了最大程度地减少测试遗留的缺陷,同时也为了最大限度地发现存在的缺陷,在测试实施之前,测试者必须确定将要采用的测试策略和测试方法,并以此为依据制定详细的测试方案。通常,一个好的测试策略和测试方法必将给整个测试工作带来事半功倍的效果,从而充分利用有限的人力和物力资源,高效率、高质量地完成测试[18]。本系统所采用的测试方法是黑盒测试,主要对系统各功能进行测试,以达到可以运行的效果。
5.3 测试购票
5.3.1 选定测试对象
火车站售票系统功能齐全,首先选定本系统一个较为重要的功能来进行测试演示。选择用户是否可以根据自己输入的要求,通过快速查询和详细查询车票信息来完成购票操作。
5.3.2 测试用例设计
(1)查询方式:快速查询
起始站:苏州
终点站:常州
(2)查询方式:详细查询
日期:2012-05-14
起点站:苏州
终点站:常州
车次:1
卧铺/硬座:硬座
5.3.3 测试过程
(1)输入正确的用户名和密码,点击“登录”按钮。
(2)按快速查询,用户通过选择系统首页“起始站”和“终点站”,输入相应信息,如选择起始站为“苏州”,终点站为“常州”,点击“提交”按钮。如图5-1所示。
图5-1 首页查询车次界面图
(3)得到车票车次、日期、发车时间、途经车站等信息。如图5-2所示。
图5-2 查询结果图
(4)按详细查询,用户通过点击“详细搜索”按钮,然后输入日期、起点站、终点站等信息,点击“提交”按钮。得到所查询车票的详细信息,如上图5-2所示。
(5)点击“订购”按钮, 出现车票详细订单信息,即车票购买成功。如图5-3所示。
图5-3 订单界面图
5.4 测试总结
系统其余功能,如用户登录、注册,用户自我管理和管理员管理功能都已通过测试。本系统功能基本满足用户购票要求,在安全性方面良好。火车站售票系统在测试过程中运行正常。
总结
通过一段时间的学习和工作,基本上完成了火车站售票系统的设计,该系统在功能上基本能够满足系统管理员以及用户的需求。它将信息查询与售票相关的操作结合于一体,既满足了管理员的工作需求也能够为旅客的出行带来方便。主要实现的功能有用户登录与注册,车票查询功能以及订购功能,用户可以通过用户管理功能来实现对自己注册信息的修改以及订单信息的查看和删除,还可以在网站上进行留言,提出自己的相关建议和要求,管理员可以通过后台管理查看订单信息、用户信息,必要时刻进行删除操作,可以管理车票信息和车票地址信息,必要时可以进行修改和删除操作,可以管理用户留言、发布和管理公告及热门信息,必要时可进行删除操作。
该系统使用的是基于.NET和C#的ASP.NET技术,使我对该门技术有了更加深入的了解。但在实际开发过程中也遇到了很多问题,这时候就需要我们耐心的检查出错的地方和原因,并予以改正。没有实践的理论是空虚的理论,没有理论的实践是盲目的实践,在设计过程中遇到问题,首先要会看错误提示,根据提示去寻找错误的根源,实在不行,可以寻求老师和同学的帮助。在问题得到解决时,那种满足感是只有经历过才会有的体会。
参考文献
[1] 杨琳洁. 网上订票系统的研究与应用[J]. 铁路计算机应用,2004,13(10):33-36.
[2] 吉根林,崔海源,顾韵华,彭作民,李存华. ASP.NET程序设计教程[M]. 北京:
电子工业出版社,2004.
[3] 尹增明. ASP.NET Web应用开发[M]. 北京:机械工业出版社,2008.
[4] 熊松明. ASP.NET标准教程[M]. 北京:航空工业出版社,2002.
[5] 王超,张鹏. ASP.NET/XML深入编程技术[M]. 北京:北京希望电子出版社,2002.
[6] 刘波,雷刚要. 基于.NET平台通用数据库组件的实现[J]. 计算机工程与设计,
2007,28(6):1415-1417.
[7] 武装. C#语言使用手册[M]. 北京:国防工业出版社,2001.
[8] 刘瑞新. C#网络编程及应用[M]. 北京:机械工业出版社,2005.
[9] 唐耀. C#语言程序教程[M]. 北京:中国水利水电出版社,2004.
[10] 张超钦,胡光武,甘铮. 基于.NET的通用数据访问模型与实现[J]. 信阳师范学
院学报(自然科学版),2009,22(3):454-456.
[11] 梅笑冬. 网上订票系统的可行性研究及实践探讨[J]. 铁路技术创新,2004,
14(1):35-38.
[12] 陈治亚,孙春峰. 基于第二代身份证的网上订票和车站自动售票系统的探讨[J].
铁路计算机应用,2007,14(2):29-31.
[13] 朱连章,田超. 改进Web应用性能方法及性能测试分析[J]. 计算机工程与设计,
2008,29(7):1817-1823.
[14] 方睿,刁仁宏,吴四九. 网络数据库原理及应用[M]. 成都:四川大学出版社,2005.
[15] Wong K F,Li Wei-jie,Yuan Chun-fa,et al. Temporal representation and classification in
Chinese[J]. International Journal of Computer Processing of Oriental Languages,2002, 15(22):211-230.
[16] 胡杰. 浅谈如何建立三层体系结构的ASP.net应用程序[J]. 青岛职业技术学院学
报,2005,9(3):231-265.
[17] Andrews A, Offutt J. Alexander R.Testing Web applications by modeling with FSMS[J].
Software Systems and Modeling,2005,4(3):326-345.
[18] 陈运海. 基于ASP.NET的电子商城管理系统的构建[J]. 武汉船舶职业技术学院
学报,2005,17(2):115-187.
[19] 王珊,冯念真. 计算机应用系统的设计和开发[M]. 北京:高等教育出版社,2005.
[20] 饶云波,张应辉. 基于ASP.NET的电子商务平台设计与实现[J]. 计算机技术与
发展,2006,16(5):160-162.
致谢
大学生活一晃而过,回首走过的岁月,心中倍感充实,当我写完这篇论文的时候,有一种如释重负的感觉,感慨良多。
首先,在毕业设计完成之际,我要特别感谢陈林凯老师在我做毕业设计期间对我的热情关怀和悉心指导。在系统设计开发过程中,我也遇到了不少关于设计和实现上的问题,在陈老师悉心指导下也一一得以解决。在我自选题开始,到查阅资料,论文提纲的确定,中期论文的修改,到后期论文格式的调整,陈老师不厌其烦的对我的论文提出了宝贵的修改意见,使我的论文在每一次修改之后都能够得到很好的完善,我从中也学到了很多宝贵的知识。
在陈老师严格要求下,我懂得了开发软件要有一种极其认真负责的态度。无论做什么事都要大胆的去想去做,这样才会有所作为,再次感谢陈老师的指导。感谢答辩组老师们对我毕业设计的支持,希望老师们对我的毕业设计和论文提出宝贵的意见和建议。在这里还要感谢计算机系的老师们四年来孜孜不倦的教授知识,是你们循循善诱的教导和不拘一格的思路给予我无尽的启迪。感谢四年来一直陪伴我身边的同学,朋友,是他们给了我很大的支持、鼓励和帮助。还要感谢我的父母,他们在我精神上给了我很大的支持。在未来的日子里,我会更加努力的学习和工作,不辜负父母对我的殷殷期望!
JIANGSU TEACHERS UNIVERSITY OF TECHNOLOGY
本科毕业设计(论文)
基于ASP.NET的火车站售票系统
学院名称: 东方学院
专 业: 软件工程
班 级: 08东软件2
姓 名:指导教师姓名: 陈林凯
指导教师职称: 讲师
2012 年 05 月
基于ASP.NET的火车站售票系统
摘 要:火车站售票系统是一个为旅客提供方便,为系统管理员提供可靠便捷的工具。该系统的出现大大满足了现今对于火车售票的需要,使原本极为麻烦的售票、购票过程变得方便快捷,从而提高效率并且大大降低了售票员的工作量。
火车站售票系统主要包括火车票查询子系统、订票子系统等功能系统。它能够实现在线车票查询,在线订票等功能。其开发主要包括后台数据库的建立管理和前台应用程序的开发这两个方面。程序功能实现后用户将可通过互联网在线查询、订购所需的火车票,并能随时查看自己的订单。管理员可通过系统对用户订单以及车票信息等进行管理。
本系统采用ASP.NET技术,利用C#编程语言,Microsoft Visual Studio 2010以及SQL Server 2008数据库进行对系统的开发。本文通过对系统的需求调研分析,总体设计,系统功能的实现和最后的系统测试来介绍整个系统的设计开发过程。
关键词:订购,ASP.NET框架,Microsoft Visual Studio 2010开发平台,SQL Server 2008数据库
Train Station Ticketing System Based On ASP.NET
Abstract:Train station ticketing system is one for passengers to provide convenient, for system administrators to provide a reliable and convenient tool .The system can meet the requirement of the selling train ticketing, make the extremely trouble process of buying train ticket fast and convenient. It improves efficiency and reduces workload of conductor.
Train station ticketing system mainly comprise of ticket query system, booking system and other functions system. It can realize online ticket query, online booking and other functions. The development includes the establishment and management of the background database, and the implementation of application program . After the realization of the system, the user will be available online through the Internet inquiries, ordering the train tickets, and can at any time to view their orders. The administrator can also be through the system to the user orders and ticket information management.
This system adopts ASP.NET technology, using C# programming language, Microsoft Visual Studio 2010 and SQL Server 2008 database for system development.This article through to the system demand analysis, overall design, system function realization and the final testing of the system to introduce the system design and development process.
Keywords: Order, ASP.NET Framework, Microsoft Visual Studio 2010 Development Platform, SQL Server 2008 Database
目录
引言 ..................................................................... 1
第1章 系统概述 ....................................................... 2
1.1 系统开发背景 ................................................... 2
1.2 系统研究意义 ................................................... 2
1.3 系统开发技术及环境介绍 ......................................... 2
1.3.1 开发技术简介 ........................................... 3
1.3.2 开发环境 ............................................... 4
第2章 系统需求分析 .................................................. 6
2.1 系统可行性分析 ................................................. 6
2.2 系统功能需求分析 ............................................... 6
2.3 系统性能需求分析 ............................................... 8
第3章 系统总体设计 .................................................. 9
3.1 系统功能模块设计 ............................................... 9
3.2 系统结构流程图 ................................................ 11
3.3 系统功能结构图 ................................................ 12
3.4 系统数据库设计 ................................................ 13
3.4.1 数据库设计原则 ........................................ 13
3.4.2 数据库概念模型 ........................................ 13
3.4.3 数据库各表设计 ........................................ 15
第4章 系统功能的实现 ............................................... 18
4.1 用户登录和注册模块 ............................................ 18
4.1.1 功能概述 .............................................. 18
4.1.2 用户登录和注册模块的实现 .............................. 18
4.2 火车票查询模块 ................................................ 19
4.2.1 功能概述 .............................................. 19
4.2.2 火车票查询模块的实现 .................................. 20
4.3 订票模块 ...................................................... 20
4.3.1 功能概述 .............................................. 20
4.3.2 订票模块的实现 ........................................ 21
4.4 用户管理模块 .................................................. 21
4.4.1 功能概述 .............................................. 21
4.4.2 用户管理模块的实现 .................................... 22
4.5 管理员管理模块 ................................................ 22
4.5.1 功能概述 .............................................. 22
4.5.2 管理员管理模块的实现 .................................. 23
第5章 系统测试与运行 ............................................... 25
5.1 测试目标 ...................................................... 25
5.2 测试方法 ...................................................... 25
5.3 测试购票 ...................................................... 25
5.3.1 选定测试对象 .......................................... 25
5.3.2 测试用例设计 .......................................... 26
5.3.3 测试过程 .............................................. 26
5.4 测试总结 ...................................................... 28 总结 .................................................................... 29 参考文献 ............................................................... 30 致谢 .................................................................... 32
引言
随着Internet技术的发展,人们对网络信息的需求也越来越大,对于火车售票相关应用技术的要求也越来越高。在计算机还未普及之前售票业务都是由工作人员人工完成的,以现有的工作本来就难应付车票订购高峰时刻的大量数据处理问题,同时,高速铁路的出现使得传统火车站售票已经不能满足现代客运业务流量剧增的客观要求,这就要求一种全新的购票方式——火车网上购票,来缓解购票高峰时期的客运压力,并为用户提供方便快捷的服务。
采用C#编程语言、Microsoft Visual Studio 2010开发工具和SQL Server 2008数据库技术,设计开发一个火车站售票系统,它将能实现旅客对车票的在线查询、订购,实现管理员对票务等信息进行及时管理和数据库维护等功能。
本系统的优势在于系统简单、功能强大、扩展能力良好以及能够方便的跨地域操作,即真正实现了快捷且便利售票,不仅使旅客能及时获取车票信息并购买车票,同时也大大减轻了传统售票的繁琐与不便,分散了买票人群,缓解了售票压力。
第1章 系统概述
1.1 系统开发背景
随着我国经济的高速发展,我国的交通运输能力不断提高,越来越多的国民开始走出家门来到异地进行商务或者旅游等活动。在这一条件下,客流量不断增大。火车售票的管理对于交通运输的正常运行起着至关重要的作用,而随着信息量的逐步增加,繁杂的数据处理费时费力,单纯以人力进行的火车售票已经不适合现状了[1]。
现在的时代是一个信息产业的时代,国家把信息产业作为了增长国民经济重要的一环。在这样的环境下,以先进的信息技术进行火车售票的管理成为了时代发展的必然。
综上所述,开发这样一个火车站售票系统是相当有必要的。
1.2 系统研究意义
随着时代的进步和科技的发展,人类的生活总是向更加便捷人性化的方向发展,从传统的购票向网络购票发展,不但方便了旅客朋友,也为管理员提供了一种方便管理的渠道[2]。只需一台电脑,一切订购车票的活动都在虚拟的空间里进行,让订票成为了一件轻松的事情。
火车站售票系统以计算机为操作工具,把售票的工作人员从繁杂的数据管理以及处理中解放出来,火车站售票系统把车票的各种信息保存于数据库中,通过计算机可以很方便地对所需要数据进行查询等各种操作,而且这些操作全部由系统内部的代码完成[3],用户只需要通过该系统友好的界面,输入一些简单的数据便可操作,使用者可以很轻易地学会使用。
本系统能够满足用户网上购票的基本要求,包括火车票的查询、订购、用户对自己信息的管理以及管理员对车票信息和用户信息的管理功能。该系统能够给用户和管理员带来诸多方便,所以是一个值得研究的系统。
1.3 系统开发技术及环境介绍
1.3.1 开发技术简介
1.Microsoft Visual Studio 2010:
Microsoft Visual Studio是微软公司推出的开发环境。是目前最流行的Windows平台应用程序开发环境。Visual Studio可以用来创建Windows平台下的Windows应用程序和网络应用程序,也可以用来创建网络服务、智能设备应用程序和Office插件。提供了高级开发工具、调试功能、数据库功能和创新功能,帮助在各种平台上快速创建当前最先进的应用程序;可视化设计器(使用.NET Framework 3.5加速开发)、对Web开发工具的大量改进,以及能够加速开发和处理所有类型数据的语言增强功能;开发人员能够利用这些丰富的客户端和服务器端框架轻松构建以客户为中心的Web应用程序,这些应用程序可以集成任何后端数据提供程序、在任何当前浏览器内运行并完全访问ASP.NET应用程序服务和Microsoft平台[4]。Microsoft Visual Studio 2010版本于2010年4月12日上市,其集成开发环境(IDE)的界面被重新设计和组织,变得更加简单明了。Visual Studio 2010同时带来了 NET Framework 4.0、Microsoft Visual Studio 2010 CTP( Community Technology Preview--CTP),并且支持开发面向Windows 7的应用程序。除了Microsoft SQL Server,它还支持 IBM DB2和Oracle数据库[5]。
2.Microsoft SQL Server 2008:
Microsoft SQL Server 2008为任何规模的应用提供完备的信息平台。是可管理的,熟悉的自服务商业智能(BI)工具。支持大规模数据中心与数据仓库。支持平滑建立与扩展应用到云端与微软的应用平台紧密集成。SQL Server 2008引进了一系列新功能帮助各种规模的业务从信息中获取更多价值[6]。经过改进的SQL Server 2008增强了开发能力,提高了可管理性,强化了商业智能及数据仓库。
3.C#编程语言:
C#是微软公司在2000年发布的一种全新且简单、安全、面向对象的程序设计语言,是专门为.NET的应用而开发的语言。它吸收了C++、Visual Basic、Java等语言的优点,体现了当今最新的程序设计技术的功能和精华[7]。
C#能够与其他应用程序方便的集成和交互,所特有的特点有:
(1)语法简介:
C#取消了指针,它使用有限的指令、修饰符和操作符,语法上几乎不存在冗余,整个语言结构是否清晰。
(2)完全面向对象:
C#具有面向对象的语言所应有的基本特性:封装、继承和多态性。它禁止多继承,禁止各种全局方法、全局变量和常量。C#以类为基础来构建所有的类型,并通过命名空间对代码进行层次化的组织和管理[8]。
(3)与Web紧密结合: 借助Web服务框架,C#使得网络开发和本地开发几乎一样简单。开发人员无需了解网络的细节,可以用统一的方式来处理本地的和远程的C#对象,而C#组件能够方便的转为Web服务,并被其他平台上的各种编程语言调用。
(4)目标软件的安全性:
C#符合通用类型系统的类型安全性要求,并用CLR所提供的代码访问安全特性,从而能够在程序中方便的配置安全等级和用户权限。此外,垃圾收集机制自动管理对象的生命周期,这是的开发人员无需再负担内存管理的任务,应用程序的可靠性进一步得到提高[9]。
4.ASP.NET:
ASP.NET是基于通用语言的编译运行的程序,它的强大性和适应性,可以使它运行在Web应用软件开发者的几乎全部的平台上。通用语言的基本库,消息机制,数据接口的处理都能无缝的整合到ASP.NET的Web应用中。ASP.NET同时也是language-independent(语言独立化)的,所以,可以选择一种最适合自己的语言来编写程序,或者把程序用很多种语言来写,现在已经支持的有C#(C++和Java的结合体),VB,Jscript , C++、F++。将来,这样的多种程序语言协同工作的能力保护您现在的基于COM+开发的程序,能够完整的移植向ASP.NET[10]。
ASP.NET一般分为两种开发语言,VB.NET和C#,C#相对比较常用,因为是.NET独有的语言,VB.NET则为以前VB程序设计,适合于以前VB程序员,因此本系统所采用的是C#编程语言来进行开发。
1.3.2 开发环境
1.硬件环境
(1)CPU:Intel(R)Core(TM)2 Duo 2.20GHz
(2)内存:2.00GB
(3)硬盘:300G
2.软件环境
(1)操作系统:Windows 7
(2)数据库:Microsoft SQL Server 2008
(3)开发工具:Microsoft Visual Studio 2010
(4)浏览器:IE8.0
第2章 系统需求分析
2.1 系统可行性分析
该阶段通过对系统目标的初步调研与分析,提出可行性方案并进行论证。在此,主要从经济可行性、技术可行性和操作可行性三方面进行分析。
1.经济可行性
本系统采用网站形式,与传统方式相比,具有高效率、低成本、高质量特点,并且本系统开发所需的成本费用与该系统所带来的收益比较,是有利的,具有一定的通过性。因此从经济角度来看,该系统是可行的[11]。
2.技术可行性
开发工具:Microsoft Visual Studio 2010 数据库环境:Microsoft SQL Server 2008 系统环境:Microsoft Windows 7
系统实现依靠C#编程语言和Microsoft SQL Server 2008数据库,其基本操作实质是指对数据库进行查找、添加和删除等操作。
3.操作可行性
对于用户来说,本系统只要求使用者掌握一定的上网经验,经过仔细设计和测试之后的系统具有操作简单、方便灵活等优点,足可以满足用户的不同需求,同时也方便了管理员的内部管理、管理人员及用户一定会在短时间内掌握并熟练使用[12]。
2.2 系统功能需求分析
1.系统基本功能
通过调查研究,火车站售票系统的基本功能需求如下。 (1) 用户登录和注册功能。
(2) 火车票查询功能,包括快速查询和详细查询。 (3) 订票功能。
(4) 用户管理功能,包括用户注册管理,订单管理和留言管理。
(5) 管理员管理功能,包括订单信息管理,用户信息管理,车票信息管理,车票地址信息管理,用户留言管理和公告/热门信息管理。
2.系统用例图
(1)系统管理员用例图
图2-1 系统管理员用例图
(2)用户用例图
图2-2 用户用例图
2.3 系统性能需求分析
1.速度
在软件方面,响应时间,更新处理时间都比较快且迅速,完全满足用户需求。 2.灵活性
系统采用三层式架构设计开发,体系更加灵活,当用户的需求在某些方面发生变化时,设计的软件就需要做适当的调整,灵活性非常大。
3.安全性
系统的安全性包括保密性、完整性和可用性,该系统需用户及管理员输入用户名及密码才能登录并使用。如果用户名及密码输入错误,就会提示登录失败,用户及管理员就无法使用该系统。
4.可维护性
系统要求负责人每季度维护一下,查看系统的使用情况,维护的目的是要保证系统正常而可靠地运行,并能使系统不断得到改善和提高,以充分发挥作用,维护要有计划、有组织的进行[13]。
第3章 系统总体设计
3.1 系统功能模块设计
根据火车站售票系统的逻辑划分,本系统主要分为五个功能模块。 1.用户登录和注册功能 (1)用户登录模块
主要完成用户登录的功能。如果注册用户想要订购火车票,就必须登录。登录时必须正确添写用户名和密码。如果用户没有注册。登录界面有到注册界面的连接。
(2)用户注册模块
完成用户注册的功能。登录的注册用户和未登录的用户的区别在于登录的注册用户可以浏览首页,查询火车票,订购火车票,管理(查看、修改)自己的注册信息,查看自己的订单信息,可以在网站上留言(例如:用户查询到自己想要的火车票已经售完,就可以在网站上留言,求购此票);而未登录的用户则只能浏览首页,查询火车票,其余的功能都不能用。
2.火车票查询功能 (1)快速查询
主要实现按起点站、终点站来查询车票。在首页有一个快速查询模块,用户无须经过点击连接按钮,转到专门的查询页面再进行查询这样一个麻烦的过程就能得到较为满意的查询结果。
(2)详细查询
主要实现按日期、起点站、终点站、车次、是否是卧铺这五点来查询。虽然有快速查询这样一个方便的查询模块,但其功能不够强大,有时可能不能满足用户的查询要求,这时就需要这样一个功能强大的详细查询模块。
3.订票功能
主要实现将用户选中的车票进行锁定,以及生成订单并显示。这是网站的一个重要功能模块,在显示详细的查询信息页面点击订购按钮后,将转向订单页面,并向之传递用户所订购火车票的信息,然后在订单页面生成订单并显示。
4.用户管理功能
(1)用户注册信息的管理
主要实现用户对自己注册信息的修改。有时用户因为各种情况需要修改自己的注册信息,就可以进入用户管理子系统。点击用户注册管理的子模块,修改自己的注册信息。
(2)订单管理
主要实现查询和删除用户已经下了的订单。 (3)用户留言模块
实现用户留言功能。这是用户与用户之间,用户与管理员之间交流的窗口。用户可以通过它向网站提出建议;与其他用户之间进行信息交流,例如用户查询到自己想要的火车票已经售完,就可以在网站上留言,求购此票,或与其他用户换票等。极大的丰富网站功能,方便了用户。
5.管理员管理功能 (1)订单信息管理
主要实现查询所有的订单以及删除订单的功能。可能会出现一些情况,使管理员需要删除一些用户的某些订单,这个功能模块就是为应对这种情况而作。
(2)用户信息管理
主要实现查询所有的用户注册信息以及删除功能。一个完善的网站一定会有对用户信息管理,主要是查看删除用户的注册信息。
(3)车票信息管理
主要实现查询所有的车票信息以及对车票信息的修改和删除。可能会出现一些情况使得现有车票不符和实际情况,所以就需要管理员能对车票信息进行修改和删除。
(4)地址信息管理
主要实现查询所有的地址信息以及对地址信息的修改和删除。可能会出现一些情况使得火车到点时刻出现变化,这就需要管理员能对之进行相应的改动。
(5)用户留言管理
主要实现查询所有的用户留言以及对用户留言删除。首先管理员应该能够查看所有的用户的所有留言,这才能发现违反规定的用户留言,为进一步的删除操作做好前提准备。其次用户留言可能会很多,如不及时清除会占用太多的存储空间,所以需要管理员能够对用户留言进行删除。
(6)发布公告/热门信息管理
主要实现管理员对一些信息的发布。这个模块是实现与用户交流的一个窗口。管
理员可以通过它发布一些当前的热门车票的信息;发布一些网站公告等。它与用户留言模块一起构成了网站与用户的沟通。
3.2 系统结构流程图
用户和系统管理员必须按照正确的顺序进入系统,登录成功后均可通过按键提示进行相应的操作。其面向用户的流程图和面向系统管理员的流程图分别如图3-1和图3-2所示。
图3-1 面向用户的流程图
图3-2 面向系统管理员的流程图
3.3 系统功能结构图
图3-3 火车站售票系统功能结构图
3.4 系统数据库设计
3.4.1 数据库设计原则
1.真实性
此处真实性的含义是在数据库设计的最初阶段,需要对系统的整个流程做细致的调查,尽可能多的收集相关数据与资料,从而确保所设计的数据库的真实性。也就是说,数据库设计时应忠于规范,各个环节应能详实反映出现实情况[14]。
2.适当冗余
冗余性一般对很多系统来说都是不利的。因为它不仅会给系统数据的一致性造成潜在的威胁,还会不必要地占据系统资源、浪费存储空间、减慢响应速度。经过分析后,精简掉重复的不必要的冗余字段和冗余数据类型以及冗余的表,力求使数据库系统在结构和性能上达到最优状态。
3.完整性
数据的完整性。这一原则要求在进行数据库设计时,用标准化来实现数据的完整性和数据的功能性。在写数据的时候还可以增加触发器来保证数据的正确性。
4.简单性
过于复杂的数据库设计对任何一个系统来说都是不利的。无论从数据库的设计还是程序的编写,简单实用是非常重要的。一切都要以客户和项目实际的要求为基础,是系统结构达到最简单[15]。
3.4.2 数据库概念模型
E-R(Entity-Relationship Approach)图是最常用的概念模型表示方法,也是数据库的核心和基础,它是按用户的观点来对数据和信息建模,依据概念模型设计应具的特点:真实性、易理解性、易修改性、易转换性[16],火车站售票系统的主要E-R图如下所示。
1.管理员信息E-R图:
图3-4 管理员信息E-R图
2.用户信息E-R图:
图3-5 用户信息E-R图
3.订单信息E-R图:
图3-6 订单信息E-R图
4.车票信息E-R图:
图3-7 车票信息E-R图
3.4.3 数据库各表设计
火车站售票系统数据库采用Microsoft SQL Server 2008,数据库中的表一共有7个,其作用具体如下。
(1)Account:包含用户注册信息,主要有用户名(登录网站用的名字)、登录网站的密码、用户身份证号、用户的姓和名等。如表3-1所示。
(2)AddressMessage:包含火车时刻表信息,即是记录火车从始发站到最后的终点站这一的路线上所经过的每一站和到站时间、离站时间。如表3-2所示。
(3)Admin:包含管理员信息,即管理员帐号和密码。如表3-3所示。
(4)HotMessage_Notice:存放热门信息和公告,记录由管理员发布的公告信息及其他热门信息等。如表3-4所示。
(5)Orders:存放订单信息,主要是订单号、用户所订购火车票的票号、订票的用户名、票单价、用户订购票的数量等。如表3-5所示。
(6)TicketDetail:包含火车票信息,主要有车票的票号、是否被订购、车票日期、车票单价、车次、到站时间、离站时间。如表3-6所示。
(7)UserLeaveMessage:存放用户留言,即用户对网站的一些建议,想与其他用户之间交换、出售、购买火车票等的信息。如表3-7所示。
表3-1 Account
表3-2 AddressMessage
表3-3 Admin
表3-4 HotMessage_Notice
表3-5 Orders
表3-6 TicketDetail
表3-7 UserLeaveMessage
第4章 系统功能的实现
4.1 用户登录和注册模块
4.1.1 功能概述
(1)登录时用户输入自己的用户名和密码,如果少输或输入出错及没有注册,则给出相应的出错信息。
(2)按提示填写注册信息。用验证控件来控制用户是否输入,检验用户输入密码与确认密码是否一致。
4.1.2 用户登录和注册模块的实现
(1)用户登录和注册主要由Login.aspx和CreateNewAccount.aspx来完成。 (2)当用户进入Login.aspx页面要登录时,先选择登录身份,然后输入正确的用户名和密码就可以了。如果输入错误或少输入了一项或两项则会显示出错信息。如图4-1所示。
图4-1 登录界面图
(3)如果要注册帐户,则进入CreateNewAccount.aspx页面,按照页面上的提示填
写注册信息,然后提交。对于用户输入的信息由验证控件来验证。如图4-2所示。
图4-2 用户注册界面图
4.2 火车票查询模块
4.2.1 功能概述
(1)快速查询功能是指只输入起点站、终点站,就可查询的一个功能模块。 (2)详细查询功能是指按日期、起点站、终点站、车次、是否是卧铺这五点的任意组合来查询的一个功能模块。如图4-3所示。
图4-3 火车票详细查询界面图
4.2.2 火车票查询模块的实现
(1)查询是由控件SimpleSearch.ascx、DetailSearch.aspx和SearchResults.aspx三个文件来完成。
(2)当用户登录首页时,会有供选择查询条目的两个下拉框(快速查询),用户在下拉列表中选择所需的条目,然后点击提交按钮。
(3)当用户需要更详细的查询时,可进入详细查询页面(DetailSearch.aspx),其中有包括日期、起点站、终点站、车次、是否是卧铺这五种查询条件的下拉框,用户可选择这五种查询条件的任意组合,进行查询。
(4)两种查询方式在提交后,都将转向查询结果页面(SearchResults.aspx),在其中显示查询结果,以便进一步操作。
4.3 订票模块
4.3.1 功能概述
用户在查找到自己所需的票后,点击订购,就会自动生成订单,完成订票功能。在详细信息页面点击订购,就完成了订购功能,转向订单页面显示。如图4-4所示。
图4-4 用户订单界面图
4.3.2 订票模块的实现
(1)订票的实现主要是由ShowDetail.aspx和Order.aspx两个文件来完成的。 (2)在显示详细页面(ShowDetail.aspx)中,每一张票都有一个对应的“点击订购”的按钮,用户点击后会将参数传到Order.aspx页面,在其中生成订单,并返回显示。
4.4 用户管理模块
4.4.1 功能概述
(1)用户注册信息的管理。用户登录后,进入用户管理页面,点击“修改注册信息”,会在一个DataGrid控件中显示用户注册信息,点击“编辑”就可以实现修改自己的注册信息。
(2)订单信息管理。用户登录后,进入用户管理页面,点击“查看订单信息”就会显示该用户所有的订单信息,方便用户查阅。
(3)用户留言模块。用户登录后,进入用户管理页面,点击“用户留言”就可以输入自己的留言信息,如对网站的一些建议,想与其他用户之间交换、出售、购买火车票的信息。
(4)下面是用户管理模块下用户“修改注册信息”的界面图,如图4-5所示,用户可以在该界面上修改自己的注册信息。
图4-5 用户注册信息修改界面图
4.4.2 用户管理模块的实现
(1)用户管理由UserManage.aspx、UserLeaveMessage.aspx、UserUpdata.aspx、UserShowOrder.aspx四个文件完成。
(2)具体的工作是由UserLeaveMessage.aspx、UserUpdata.aspx、UserShowOrder.aspx三个文件完成的,UserManage.aspx只是起调度作用。
(3)UserLeaveMessage.aspx完成的是用户留言功能。
(4)UserUpdata.aspx完成的是用户查询、修改注册信息的功能。 (5)UserShowOrder.aspx完成的是显示用户订单的功能。 (6)UserManage.aspx中采用的是iframe动态获取网页。
4.5 管理员管理模块
4.5.1 功能概述
(1)订单信息管理。管理员可以查看所有的订单信息,拥有删除订单的权限。 (2)用户信息管理。管理员可以查看所有用户的所有信息(密码除外),拥有删除用户帐户的权限。
(3)车票信息管理。管理员可以查看所有的火车车票信息,并可对其进行修改、删除。
(4)地址信息管理。管理员可以查看所有的火车时刻信息,并可对其进行修改、删除。
(5)用户留言管理。主要是管理员可以删除用户留言。
(6)发布公告/热门信息模块。管理员通过这个模块可以发布一些即时信息,网站公告等,用以方便用户。
(7)进入管理员页面时可在左侧的列表中选择具体要操作的项目。如选择“管理车票信息”,则如图4-6所示。
图4-6 管理车票信息界面图
4.5.2 管理员管理模块的实现
(1)管理员管理是由AdminManage.aspx、AdminManage_OrderMessage.aspx、AdminManage_UserMessage.aspxAdminManage_AddressMessage.aspx
、
、
AdminManage_TicketMessage.aspx
HotMessage_Notice.aspx
、、
AdminManage_HotMessage_Notice.aspx、AdminManage_UserLeaveMessage.aspx八个文件组成。
(2)具体的工作是由HotMessage_Notice.aspx、AdminManage_UserMessage.aspx、AdminManage_TicketMessage.aspxAdminManage_UserLeaveMessage.aspx
、
、
AdminManage_AddressMessage.aspxAdminManage_OrderMessage.aspx
、、
AdminManage_HotMessage_Notice.aspx七个文件完成的,AdminManage.aspx只是起调度作用。
(3)HotMessage_Notice.aspx完成的是让管理员通过这个模块可以发布一些即时信息,网站公告等的功能。
(4)AdminManage_UserMessage.aspx完成的是让管理员通过这个模块管理用户的注册信息(密码除外)和删除用户帐户的功能。
(5)AdminManage_TicketMessage.aspx完成的是让管理员通过这个模块查看所有的火车票信息,并可对其进行修改、删除的功能。
(6)AdminManage_AddressMessage.aspx完成的是让管理员通过这个模块查看所有
的火车时刻信息,并可对其进行修改、删除功能。
(7)AdminManage_UserLeaveMessage.aspx完成的是让管理员可以通过这个模块删除用户留言的功能。
(8)AdminManage_OrderMessage.aspx完成的是让管理员通过这个模块查看所有的订单信息和删除订单的功能。
(9)AdminManage.aspx中采用的也是iframe动态获取网页,与UserManage.aspx的实现方法完全相同。
(10)AdminManage_HotMessage_Notice.aspx完成的是让管理员可以通过这个模块删除自己发布的公告和热门信息的功能。
第5章 系统测试与运行
5.1 测试目标
通过测试,使系统达到以下目标:
(1)火车站售票系统能够达到设计的要求,各个功能点能够实现,整个业务流程能够走通。
(2)系统运行稳定,具有一定的容错性,性能能够满足用户的需求。 (3)系统各个模块的功能与用户的需求一致,模块间衔接正确。 (4)系统的输出物达到用户的使用要求。 (5)系统易用性好。
(6)系统界面符合一般网站系统的标准,且符合用户要求,操作方便[17]。
5.2 测试方法
为了最大程度地减少测试遗留的缺陷,同时也为了最大限度地发现存在的缺陷,在测试实施之前,测试者必须确定将要采用的测试策略和测试方法,并以此为依据制定详细的测试方案。通常,一个好的测试策略和测试方法必将给整个测试工作带来事半功倍的效果,从而充分利用有限的人力和物力资源,高效率、高质量地完成测试[18]。本系统所采用的测试方法是黑盒测试,主要对系统各功能进行测试,以达到可以运行的效果。
5.3 测试购票
5.3.1 选定测试对象
火车站售票系统功能齐全,首先选定本系统一个较为重要的功能来进行测试演示。选择用户是否可以根据自己输入的要求,通过快速查询和详细查询车票信息来完成购票操作。
5.3.2 测试用例设计
(1)查询方式:快速查询
起始站:苏州
终点站:常州
(2)查询方式:详细查询
日期:2012-05-14
起点站:苏州
终点站:常州
车次:1
卧铺/硬座:硬座
5.3.3 测试过程
(1)输入正确的用户名和密码,点击“登录”按钮。
(2)按快速查询,用户通过选择系统首页“起始站”和“终点站”,输入相应信息,如选择起始站为“苏州”,终点站为“常州”,点击“提交”按钮。如图5-1所示。
图5-1 首页查询车次界面图
(3)得到车票车次、日期、发车时间、途经车站等信息。如图5-2所示。
图5-2 查询结果图
(4)按详细查询,用户通过点击“详细搜索”按钮,然后输入日期、起点站、终点站等信息,点击“提交”按钮。得到所查询车票的详细信息,如上图5-2所示。
(5)点击“订购”按钮, 出现车票详细订单信息,即车票购买成功。如图5-3所示。
图5-3 订单界面图
5.4 测试总结
系统其余功能,如用户登录、注册,用户自我管理和管理员管理功能都已通过测试。本系统功能基本满足用户购票要求,在安全性方面良好。火车站售票系统在测试过程中运行正常。
总结
通过一段时间的学习和工作,基本上完成了火车站售票系统的设计,该系统在功能上基本能够满足系统管理员以及用户的需求。它将信息查询与售票相关的操作结合于一体,既满足了管理员的工作需求也能够为旅客的出行带来方便。主要实现的功能有用户登录与注册,车票查询功能以及订购功能,用户可以通过用户管理功能来实现对自己注册信息的修改以及订单信息的查看和删除,还可以在网站上进行留言,提出自己的相关建议和要求,管理员可以通过后台管理查看订单信息、用户信息,必要时刻进行删除操作,可以管理车票信息和车票地址信息,必要时可以进行修改和删除操作,可以管理用户留言、发布和管理公告及热门信息,必要时可进行删除操作。
该系统使用的是基于.NET和C#的ASP.NET技术,使我对该门技术有了更加深入的了解。但在实际开发过程中也遇到了很多问题,这时候就需要我们耐心的检查出错的地方和原因,并予以改正。没有实践的理论是空虚的理论,没有理论的实践是盲目的实践,在设计过程中遇到问题,首先要会看错误提示,根据提示去寻找错误的根源,实在不行,可以寻求老师和同学的帮助。在问题得到解决时,那种满足感是只有经历过才会有的体会。
参考文献
[1] 杨琳洁. 网上订票系统的研究与应用[J]. 铁路计算机应用,2004,13(10):33-36.
[2] 吉根林,崔海源,顾韵华,彭作民,李存华. ASP.NET程序设计教程[M]. 北京:
电子工业出版社,2004.
[3] 尹增明. ASP.NET Web应用开发[M]. 北京:机械工业出版社,2008.
[4] 熊松明. ASP.NET标准教程[M]. 北京:航空工业出版社,2002.
[5] 王超,张鹏. ASP.NET/XML深入编程技术[M]. 北京:北京希望电子出版社,2002.
[6] 刘波,雷刚要. 基于.NET平台通用数据库组件的实现[J]. 计算机工程与设计,
2007,28(6):1415-1417.
[7] 武装. C#语言使用手册[M]. 北京:国防工业出版社,2001.
[8] 刘瑞新. C#网络编程及应用[M]. 北京:机械工业出版社,2005.
[9] 唐耀. C#语言程序教程[M]. 北京:中国水利水电出版社,2004.
[10] 张超钦,胡光武,甘铮. 基于.NET的通用数据访问模型与实现[J]. 信阳师范学
院学报(自然科学版),2009,22(3):454-456.
[11] 梅笑冬. 网上订票系统的可行性研究及实践探讨[J]. 铁路技术创新,2004,
14(1):35-38.
[12] 陈治亚,孙春峰. 基于第二代身份证的网上订票和车站自动售票系统的探讨[J].
铁路计算机应用,2007,14(2):29-31.
[13] 朱连章,田超. 改进Web应用性能方法及性能测试分析[J]. 计算机工程与设计,
2008,29(7):1817-1823.
[14] 方睿,刁仁宏,吴四九. 网络数据库原理及应用[M]. 成都:四川大学出版社,2005.
[15] Wong K F,Li Wei-jie,Yuan Chun-fa,et al. Temporal representation and classification in
Chinese[J]. International Journal of Computer Processing of Oriental Languages,2002, 15(22):211-230.
[16] 胡杰. 浅谈如何建立三层体系结构的ASP.net应用程序[J]. 青岛职业技术学院学
报,2005,9(3):231-265.
[17] Andrews A, Offutt J. Alexander R.Testing Web applications by modeling with FSMS[J].
Software Systems and Modeling,2005,4(3):326-345.
[18] 陈运海. 基于ASP.NET的电子商城管理系统的构建[J]. 武汉船舶职业技术学院
学报,2005,17(2):115-187.
[19] 王珊,冯念真. 计算机应用系统的设计和开发[M]. 北京:高等教育出版社,2005.
[20] 饶云波,张应辉. 基于ASP.NET的电子商务平台设计与实现[J]. 计算机技术与
发展,2006,16(5):160-162.
致谢
大学生活一晃而过,回首走过的岁月,心中倍感充实,当我写完这篇论文的时候,有一种如释重负的感觉,感慨良多。
首先,在毕业设计完成之际,我要特别感谢陈林凯老师在我做毕业设计期间对我的热情关怀和悉心指导。在系统设计开发过程中,我也遇到了不少关于设计和实现上的问题,在陈老师悉心指导下也一一得以解决。在我自选题开始,到查阅资料,论文提纲的确定,中期论文的修改,到后期论文格式的调整,陈老师不厌其烦的对我的论文提出了宝贵的修改意见,使我的论文在每一次修改之后都能够得到很好的完善,我从中也学到了很多宝贵的知识。
在陈老师严格要求下,我懂得了开发软件要有一种极其认真负责的态度。无论做什么事都要大胆的去想去做,这样才会有所作为,再次感谢陈老师的指导。感谢答辩组老师们对我毕业设计的支持,希望老师们对我的毕业设计和论文提出宝贵的意见和建议。在这里还要感谢计算机系的老师们四年来孜孜不倦的教授知识,是你们循循善诱的教导和不拘一格的思路给予我无尽的启迪。感谢四年来一直陪伴我身边的同学,朋友,是他们给了我很大的支持、鼓励和帮助。还要感谢我的父母,他们在我精神上给了我很大的支持。在未来的日子里,我会更加努力的学习和工作,不辜负父母对我的殷殷期望!