资源描述:
《毕业设计(论文)-航空售票电子商务论文》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
云南爱因森软件职业学院学生毕业作业(设计)航空售票电子商务论文设计小组二级学院专业年级班级学号姓名指导教师职称2010年10月20日 摘要随着因特网的发展,航空客运业务规模的H益宏大,传统售票方式已经不能满足时代的要求。本系统——航空售票系统,采用ASP.NET技术作为创建应用程序的方式,以C#作为编程语言,采用SQLServer数据库作为后台数据库。它是基于Browser/Server结构下形成的数据驱动的Web应用程序。不仅能方便旅客,述能节省航空公司的代理费用,加速资金周转。木系统基木遵循了软件工程方法论进行系统分析、总体设计、详细设计和软件测试。实现了后台管理员对航空公司、航班和订票信息的维护;前台客户通过注册登陆可以查询航班信息,进行订票和查看自己的购票信息并可以删除管理员耒确认的订票信息。同吋可以进行购票错误以后的退票信息等功能。关键词ASP.NET、C#、SQLServer2000、VS.NET2008、电了商务 AbstractWiththedevelopmentoftheInternet,aviationpassengertransport,theincreasinglygrandscaletraditionalticketingwayalreadycannotsatisfytheneedsofTheTimes.Thissystem-airticketingsystem,usingasp.nettechnologyascreatetheapplicationwaytoc#asaprogramminglanguage,usingSQLServerdatabaseasthebackenddatabase.Itisbasedonisclicked/Serverstmctureformedunderthedata-drivenWebapplications.Notonlycanconvenienceforpassengers,stillcansaveairlinesagencycost,speedupthecapitalturnove匚Thebasicsystemfollowsthesoftwareengineeringmethodologyforsystemanalysis,overalldesign,detaileddesignandsoftwaretesting・Realizedthebackendadministratorforairlines,flightsandbookinginformationmaintenance,Receptionistcustomersthroughtheregisterandlogincanqueryflightinformation,ticketingandviewtheirticketinformationandcandeletetheadministratorunrecognizedbookinginformation.Anothersystemalsorealizecustomeronlinemessage,administratoronlinereplyfunction.Keywords:Asp.net,C#,SQLServer2000,VSasp.net2008,E-commerce 目录第一章:绪论11.1课题背景以及研究意义:11.2网站开发的意义11.3国内外发展状况11.4国内外发展状况2第二章技术方案42.1C#简介52.2ASP.NET简介52.3数据库简介6第三章、需求分析103.1可行性分析103.2系统主要解决的问题103.3功能结构分析113.4系统冃标12第四章、系统总体设计134.1系统开发环境134.2数据库144.3各个模块基本流程图设计174.3.1管理员模块174.3.2会员模块194.4输入输出设计204.4.1输入设计204.4.2输出设计21第五章、系统实现225.1系统主界面介绍225.2机票信息维护24}265.3订单管理265.4用户注册页面275.5购物车305.6用户订单31第六章、系统测试336.1概述336.1.1概念和意义336.1.2特性336.1.3重要性346.2木系统测试描述34 结束语35致谢36参考文献37第一章:绪论1.1课题背景以及研究意义:航空客运业务诞生已有近一个世纪了,作为现有交通工具中最方便快捷的一种,它确确实实地给民众的生活、出行带來了极大的方便。随着航空客运业务多年来的发展,其售票业务也同样不断地发展。冋顾航空客运的历史,最早的时候,飞机和机场的数量都很少,于是机票的销售量也非常少,机票直接由机场方面出售,售票的方式也非常简单,现场购买领取机票即可;后来,随着世界经济城市的发展,飞机和机场数量的不断增加,随着世界贸易的开放繁荣、人们对飞机出行的需求和能力的不断增加,航空客运业务的规模日益宏大,于是为了方便客户的购票和航空公司的销售,航空公司在各地设立销售点,将机票分配到各销售网点销售。但是这也带来了许多问题和不便:首先,由于机票是由航空公司按照各销售点平时的销售能力分配给个销售点的,所以并不能实时地反映各销售点的销售情况,也很难实现各销售点间的调节,同时,乘客的询问和购票也产生很多不便。所以,随着航空客运业务的发展,传统售票方式已经不能满足时代的要求。1.2网站开发的意义因特网技术的飞速发展正在迅速地改变着人们的生活方式,因特网正在由科学工作者的工具变为普通百姓获取信息、进行交流的场所,而因特网的商业应用则尤为引人注目。航空公司在因特网上建立网上售票系统不仅方便了旅客,还节省了航空公司的代理费用,加速了资金周转,这为售票成本居高不下的航空公司带來了无限生机。网上售票的另一优点是扩充了航空公司的销售网点,使航空公司通过因特网将其销售网点扩展到全世界。1.3国内外发展状况世界范围的电子商务就如一场竞争激烈的竞技比赛,面对角逐这场比赛的企业来说,无论多么令人振奋的数字预测都是次要的,网络世界同样是一个现实的世界。早在1996年开始,就有一些具有远见的企业家敏感地意识到网络世界和现实世界同样充满了商机,他们开始在网上寻找商机,于是这些卓识为他们带来了巨大的经济效益。毫无疑问,电了商务已经成为目前最热门的技术,其热门的原因来源于其带來的巨大效益。专家预测,仅仅建立一个网上商店从事网上零售业就可以使全球从18 亿美元的网上收入迅速膨胀到2002年的280亿美元。在北美和欧洲市场,电子商务的技术和市场认同基本上发育成熟网上商店在经过4年的发展后己经逐渐被广大网民所认同,据统计如今已经有近千力家庭通过网络来购买香水,而且每年都在成倍增长。我国的电子商务技术基础远不如欧美发达国家,然而我国发展电子商务的潜力十分巨犬。特别是中国的企业通过在网上建立网上商店,运用电子商务技术开拓国际市场,不仅可为企业木身带来巨大的经济效益,在商务运作技术和市场领域上和先进国家保持同一水平,而R能为我国自身的电子商务技术和市场的成熟带来莫大帮助,这无疑不是最大的贡献。作为亚洲最大贸易大国2—,我国的电了商务是从1994年开始出现的,并且在随后六年发展相当迅速。据中国互联网信息中心公布数据表明,我国现冇网民2250万人,网上商店800余家,另外证券公司、金融结算机构、民航订票、信用卡发放等机构和领域也已成功迈入了电子商务,并已经可以进行大量可靠的交易。虽然总体而言,我国电子商务仍处于初级阶段,企业之间的网络交易,企业和消费者之间网上购物尚处起步阶段,但随着Internet迅速发展,电了商务将成为国内Internet建设的一大热点。1.4国内外发展状况口前,网络应用软件运行的模式主要有二类:Client/server模式,Browser/Web模式。前者主要的缺点是维护、升级较麻烦,后者是近儿年伴随Internet迅速发展起来的一种技术,它与客户/服务器方式类似,客户端是一个标准的浏览器,服务器端是WebServer,而WebServer与数据库和应用服务器的紧密结合,使得这种模式的应用范围不断扩大,它已不仅仅用于网上查询,有很多部门的业务系统、企业的MIS系统纷纷采用这种模式,它的主要优点是便于扩充应用、升级维护简便。另外,航空售票系统的软件也必将不断的更新;同时软件产品本身就要经过一个不断自我完善的过程。基于上述考虑,用Browser/Web模式来设计航空售票系统比较合适,服务器端我们采用SQLServer数据库系统和ASP组件來构成售票的应用服务系统;客户端采用浏览器來完成订票全过程,同吋可进行远程系统维护和管理。利用网络和数据库技术,结合目前硕件价格普遍下跌与宽带网大力建设的有利优势,应用asp.net技术,开发了基于B/S模式航空售票系统这一程序。它运用方便、操作简单,效率很高。实现了后台管理员对航空公司、航班和订票信息的维护;而台客户通过注册登陆可以查询航班信息,进行订票和查看自己的购票信息并可以删除管理员未确认的订票信息。另外系统还实现了客户的在线留言,管理员在线冋复的功能。 第二章技术方案本系统前台利用VS2008开发。ASP.net是一个统一的Web开发模型,它包括您使用尽可能少的代码生成企业级Web应用程序所必需的各种服务oASP.NET作为.NETFramework的一部分提供。当您编写ASP.NET应用程序的代码时,可以访问.NETFramework中的类。您可以使用与公共语言运行库CLR)兼容的任何语言来编写应用程序的代码,这些语言包括MicrosoftVisualBasic、C#、JScript.NET和J#。使用这些语言,可以开发利用公共语言运行库、类型安全、继承等方面的优点的ASP.NET应用程序⑴。ASP.NET页和控件框架是一种编程框架,它在Web服务器上运行,可以动态地生成和呈现ASP.NET网页。可以从任何浏览器或客户端设备请求ASP.NET网页,ASP.NET会向请求浏览器呈现标记(例如HTML)。通常,您可以对多个浏览器使用相同的页,因为ASP.NET会为发出请求的浏览器呈现适当的标记。但是,您可以针对诸如MicrosoftInternetExplorer6的特定浏览器设计ASP.NET网页,并利用该浏览器的功能。ASP.NET支持基于Web的设备(如移动电话、手持型计算机和个人数字助理((PDA))的移动控件。ASP.NET网页是完全面向对象的。在ASP.NET网页中,可以使用属性、方法和事件來处理HTML元素。ASP.NET页框架为响应在服务器上运行的代码中的客户端事件提供统一的模型,从而使您不必考虑基于Web的应用程序中固有的客户端和服务器隔离的实现细节⑵。该框架还会在页处理生命周期中自动维护页及该页上控件的状态。几乎所有的应用程序都需要访问从简单的文本文件到大型的关系型数据库等各种不同类型的数据。在Microsoft.NET中访问数据库的技术是ADO.NET。ADO.NET提供了一组用来连接到数据库、运行命令和返回记录集的类库,与从前的ADO(ActiveXDataObject)相比,Connection和Command对象很类似,而ADO.NET的革新主要体现在如卜•儿个方面:首先,ADO.NET提供了对XML的强大支持,这也是ADO.NET的一个主要设计目标。在ADO・NET中通过XMLReader>XMLWriter和XMLNavigator等可以方便的创建和使用XML数据,并口支持W3C的XSLT、DTD和XDR等标准。ADO.NET对XML的支持也为XML成为Microsoft.NET中数据交换的统一格式提供了基础。其次,ADO.NET引入了DataSet的概念,这是一个驻于内存的数据缓冲区,它提供了数据的关系型视图。不管数据来源于一个关系型的数据库,还是来源于一个XML文档,我们都可以用一个统-的编程模型来创建和使用它。它替代了原有的RecordSet的对象,提高了程序的交互性和可扩展性,尤其适合于分布式的应用场合。另夕卜,ADO.NET屮还引入了一些新的对象,例如DataReader可以用来高效率的读取数 据,产生一个只读的记录集等等。简而言之,ADO.NET通过一系列新的对象和编程模型,并与XML紧密结合,使得在Microsoft.NET屮的数据操作十分方便和高效。数据库服务器是一个存取数据和管理数据的软件,它针对客户的请求为客户提供数据服务。这些服务包括数据插入、修改和查询等。客户对数据库服务器提出请求用的语言是SQL(StructuredQueryLanguage)oSQL是大多数数据服务器使用的查询语言。因此,C#.NET与数据库的关系是“配合”与T办调”的关系。C#.NET完成数据请求、数据表现、菜单和界而等表现方而的工作,而数据库服务器完成数据库数据的存储管理、安全管理、并发控制、事务管理、完整性维护和杳询优化等工作。2.1C#简介C#(Csharp)是一种最新的、而向对彖的编程语言。它使得程序员可以快速地编写各种基于Microsoft.NET平台的应用程序,Microsoft.NET提供了一系列的丄具和服务来最大程度地开发利用计算与通讯领域。正是由于C#面向对象的卓越设计,使它成为构建各类组件的理想之选——无论是高级的商业对象还是系统级的应用程序。使用简单的C#语言结构,这些组件可以方便的转化为XML网络服务,从而使它们可以由任何语言在任何操作系统上通过Internet进行调用。C#是一种现代的面向对象语言。它使程序员快速便捷地创建基于Microsoft.NET平台的解决方案。这种框架使C#组件可以方便地转化为XML网络服务,从而使任何平台的应用程序都可以通过Internet调用它。C#增强了开发者的效率,同时也致力于消除编程中可能导致严重结果的错误。C#使C/C++程序员可以快速进行网络开发,同时也保持了开发者所需要的强大性和灵活性。2.2ASP.NET简介ASP.NET是一种建立在通用语言上的程序构架,能被用于一台Web服务器来建立强大的Web应用程序。ASP.NET提供许多比现在的Web开发模式强大的的优势。ASP.NET文件是扩展名为.aspx的文本文件。在ASP.NET支持下,利用ADO.NET,开发者可方便地访问种种基于Web的数据库,不管数据源是关系数据库、非结构的数据库、文字数据库(如XML),还是如MicrosoftExcel一样的表格数据库,都可以通过ADO.NET來存取。ASP.NET是使用.NET框架提供的类库构建而成的,它提供了一个Web 应用程序模型,该模型由一组空间和一个基本结构组成。主要用来创建WebForms网页(扩展名为.aspx)和XMLWebServices,另外还有UserControls自定义用户控件(扩展名•ascx)。ASP.NET程序只能在服务器执行,当浏览器向服务器请求打开ASP.NET程序时,服务器会从磁盘上读取该程序,然后加以执行并将结果转换成浏览器兼容的Htrnl文档,再将Html文档发给浏览器,但浏览器受到Html文档后,就将Html文档翻译成网页画面呈现在用户眼前。ASP.NET页和控件框架是一种编程框架,它在Web服务器上运行,可以动态地生成和呈现ASP.NET网页。可以从任何浏览器或客户端设备请求ASP.NET网页,ASP.NET会向请求浏览器呈现标记(例如IITMDo通常,您可以对多个浏览器使用相同的页,因为ASP.NET会为发出请求的浏览器呈现适当的标记。但是,您可以针对诸如MicrosoftInternetExplorer6的特定浏览器设计ASP.NET网页,并利用该浏览器的功能。ASP.NET支持基于Web的设备(如移动电话、手持型计算机和个人数字助理(PDA))的移动控件。ASP.NET网页是完全面向对象的。在ASP.NET网页中,可以使用属性、方法和事件来处理HTML元素。ASP.NET页框架为响应在服务器上运行的代码中的客户端事件提供统一的模型,从而使您不必考虑基于Web的应用程序中固冇的客户端和服务器隔离的实现细节。该框架还会在页处理生命周期屮自动维护页及该页上控件的状态⑸。2.3数据库简介SQLServer是曲Microsoft开发和推广的关系数据库管理系统(DBMS),它最初是由Microsoft、Sybase、Ashton-Tate等三家公司共同开发的,并于1988年推ill了第一个在OS/2版本上运行的SQLServer系统。1992年Sybase和Microsoft这两家公司将SQLServer移植到了WindowsNT操作系统上,后来Microsoft致力于WindowsNT平台的SQLServer的开发,而Sybase则专注于SQLServer在UNIX上的应用。近年來在MicrosoftSQLServer的发展历程中不断更新版本,有两个版本具有重要的意义。即是在1996年推出的SQLServer6.5版木和在2000年8月推出的SQLServer2000版木。6.5版木使得SQLServer得到广泛的应用,而2000版本在功能和易用性上有很大的增强,并推出了简体中文版,它包括企业版、标准版、开发版和个人版等4个版本SqlServer2000引入了三种新的数据类型,即64位整型数(bigint变量(sql_variant)和表格(table)数据类型。1.64位整型数(bigint):在数据量越来越大的今天用以往的最大整型int长度231-1来表示整数已显得太不够用,而float也不是很合适,所以sql2000就有了新的整数类型--bigintobigint 数据类型是一个从-263到263T整型量。bigint存储长度是8个字节,因此被称为64位整型量。您将使用这种新的整型量,以解决标识符超过先前最大整型量长度的场合。新的bigint数据类型适用的场合与整型数值完全一致,但要注意的是:如果参数表达式是一个bigint数据类型,函数将仅以bigint返冋,而sql2000将不会自动地使其他整型数据类型(如tinyint,smallint和int等)升级为bigint数据类型。为了便于bigint数据类型的使用,sql2000又引入了两个新的内置式函数,即big_count和rowcount_bigo这两个函数以一种类似T*count函数和@@rowcount变量的方式进行运算。1.变量(sqlvariant):熟悉vbscript的人都知道,vbscript使用的是一种叫做variant的数据类型。它可以存放任何数据类型,数字、字符和对象等。sql2000里面的sql_variant还没有那么强大的功能,它不能存放blob的数据,如text、ntext和image,还有timestamp,但是已经给编程带來了很大的方便了。sql_variant数据类型能被用于列参数和变量,也能返回用户定义的函数的数值。sql.variant数据类型的运算更象visualbasic屮的变量数据类型,允许一个单个参数或变量存储不同数据类型的数据值。为了支持sql_variant数据类型,引入了被叫做sql_variant_property的新功能。此函数返回基本数据类型和冇关sql_variant实例的其它信息:sql_variant_propcrty(expression,property)□屈性参数包括所提供的屈性信息的sql_variant属性名。它能取自如下值中的任何一个,即基本类型、精度、数值、总字节、排序(collation)和最大字长(maxlength)osql_variant数据类型对于由程序管理的元数据(metadata)信息的应用极其有用。例如在一个集屮了来自一个web用户的表格信息的asp应用程序,当此表格已经被处理、捉炼过后,就不再用一个字符变量在数据库中存储表格值和所有相关元数据信息,您所耍做的仅仅是以一个sql_variant來存储表格的值。在把变量存入数据库之前,要记住确定此变量:dimvarname,varagevarname=cstr(request・form(〃txtnanie"))varage=cint(request.fonn(〃txtage"))2.表格(table)数据类型:新的表格数据类型是一个局部变量,它可以临吋存储一个行集合(rowset),也能返冋成一个表格值的函数,此表格数据类型能代替存储在tempdb数据库中的临时表格。因为新的数据类型是在内存中管理,而不是存储在硕盘上,因此大大提高了数据库性能。如杲您定义了一个当地表格,您就可以像使用tempdb表格一样的方式使用它,不过它并不支持insertinto••-exec和select---into语句。为了定义一个当 地表格,您通常必须使用带冇一个顺序表格定义的declare语句:declare@local_variabletable。在sql2000M面,用户可以建立自定义的函数,函数返冋值可以是一个值,也可以是一个表。可能大家还不是太清楚,口定义函数有什么作用。我们知道,为了优化数据库,需要我们尽量避免使用游标,因为这样会带來极大的系统开销。但冇时候你必须使用游标,举-个例子,比如我希望得到一个内容是一段汉字字段的拼咅。但是要想把汉字转化为拼音,必须通过查表来完成,那么你就必须利用一个游标,然后再对字段中的毎一个字进行查表。但是现在我们可以使用自定义函数来完成同样的操作,就极大地节省了系统开销。数据完整性是指存储在数据库中的数据的一致性和准确性。SQLServer中数据的完整性可能会由于用户进行的各种数据操作而遭受破坏。一•般往往通过定义约束來实现数据的完整性。约束是一种强制数据完整性的标准机制。使用约束可以确保在字段中输入有效数据并维护各表之间的关系。SQLSever支持下列五种约束。DEFAULT约束(默认约束)当向数据库表中插入数据吋,如果没有明确的提供输入值吋,SQLServer自动为该列输入指定值。CHECK约束(检查约束)通过逻辑表达式判断限制插入到列屮的值。PRIMARY约束(主键约束)不允许数据库表在指定列上具有相同的值,且不允许有空值。FOREIGNKEY约束(外键约束)定义数据库表中指定列上插入或更新的数值必须在另一张被参照表中的特定列上的存在。UNIQUE约束(唯一约束)不允许数据库表在指定列上具有相同的值,但允许有空值。约束也被分为列约束和表约束两类。列约束是指只对某一列起作用的约束。当一个约束中包含了数据库表中一个以上的列吋,称为表约束。 第三章、需求分析2.1可行性分析口J彳亍性分析(Feasib订ityAnalysis)也称为可彳亍性研究,是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。该系统的可行性分析包括以下儿个方而的内容。(1)经济可行性:主要是对项目的经济效益进行评价,本系统开发经费在经济上是可以接受的,并冃木系统实施后可以节省航空公司的代理费用,加速资金周转。所以木系统在经济上是可行的。(2)技术上的可行性:技术上的可行性分析主要分析技术条件能否顺利完成开发工作,硬、软件能否满足开发者的需要等。该管理系统采用了Browscr/Scrvcr模式进行开发。Browser/Server体系结构紧密的结合了Internet/Intnmet技术,是技术发展的大势所趋,它把应用系统带入了一个崭新的发展吋代。数据库服务器SQL数据库,它能够处理大量数据,同时保持数据的完整性并提供许多高级管理功能。它的灵活性、安全性和易用性为数据库编程提供了良好的条件。因此,系统的软件开发平台已成熟可行。硬件方面,科技0速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硕件平台完全能满足此系统的需要。综上所述,此系统开发目标已明确,在技术和经济等方面都可行,并且投入少、见效快。因此系统的开发是完全可行的。2.2系统主要解决的问题首先,因为售票是面向特定的某些对象的,所以用户进入系统应该进行身份验证——远程注册。注册完系统可以对自己的密码进行修改。然后,客户需查看航班信息进行订票,所以系统管理者需要对航班信息和订票信息进行维护,客户可以对口己不满意的票进行退o2.3功能结构分析此系统主要可以实现电了商务的基木流程,以及电了商务网的后天管理功能,主要有以下几点: 丁后台:(1)会员维护:管理注册网站的会员信息;(2)会员充值:管理员可以给会员充值累计的预备金额;(3)机票分类:维护机票的分类信息。(4)机票信息:维护机票信息,可以添加或者删除机票信息;(5)订单审核:管理会员的订单信息列表可以察看订单信息和审核订单;(6)退票管理:处理会员的退票信息;(7)票据超期查询:查询显示一些没冇付款的的订单记录,条件是起飞F1期超过当前H期;/前台:(1)会员注册登录:填写会员信息并注册到机票预订网中。(2)产品展示:包括展示机票类别和机票信息。(3)可以点击机票信息进入机票信息详细页面,如果喜欢这个机票的话还可以放入购物车(4)查看购物车机票信息,可以删除已经放入购物车的机票,生成订单。(5)订单付款:会员通过管理员确认的订单可以进行付款操作。(6)退票:如果因为意外的原因您需要退票的话,可以点击相应的订单进行退票的操作。下面通过系统的功能模块图(如图3.1所示)来进一步描述系统功能。 1I—管理员会员付退款功能模块图3.4系统目标电子商务的涵盖十分广泛的商业行为,从电子银行到信息化的物流管理。电子商务的增长促进了支持系统的发展和进步,包括后台支持系统、应用系统和中间件,例如宽带和光纤网络、供应链管理模块、原料规划模块、客户关系管理模块、存货控制模块和会计核算/金业财务模块。本系统就是想通过己经成熟的电子商务模式,开发出一套方便快捷的机票网店系统,不同的人群足不出户的就可以买到口己的机票信息! 第四章、系统总体设计2.1系统开发环境/硬件环境为了充分使用图巧馆现有软硕件资源,在保障系统稳定、高效运行的前提下,达到降低成本的口的。根据系统需求,设定了系统的运行环境。硬件环境:(1)对CPU的要求最低配置酷睿双核2.8HZ(2)对内存的要求建议内存容量2G以上(3)对侦盘的要求建议配置120GB容量以上硬盘/软件环境(1)服务器操作系统Windows2003Server/Windows2008Server,建议在全新安装的操作系统上安装数据库服务器(2)客户机操作系统WindowsXP/WindowsVista/Windows7(3)数据库管理系统SqlServer以上版木(推荐)(4)其他支持软件.NETFramework(2.0以上版本)、VisualStudio2008。/开发工具对于模块各个系统,我们采用统一的开发平台(.NET开发平台)作为开发支撑平台,以提高开发效率。该开发平台具有以下特点:(1)该平台采用组件技术,系统具冇非常好的可扩充性,对新技术的发展也具有很好的适 应性。这是因为采用了组件技术后,可以开发出各种共享组件和通用组件,也可以集成第三方开发的组件,组件的升级也非常方便,而且随着组件技术的标准化,不同的组件标准Z间也可以实现通讯。(1)该平台采用了三层结构的技术框架,为应用系统提供了一个非常良好的结构,应用系统将來的升级、扩充、修改和定制都非常方便。当用户需要发生变化或需要对某个功能进行修改的时候,可能只需要对某一个层次的组件进行修改,而不会对整个系统的结构发生影响。(3基丁•该平台的应用框架,应用系统开发员可以集屮精力开发业务层组件,不需耍过多地考虑各种技术问题和其他方面的实现细节,也提高了业务层组件的独立性,减少与其他模块的关联,便于将來扩充、升级和修改。(1)从界面层到数据层,该平台都充分体现了业务对象之间的各种关系(一对一、一对多、多对多等),并且提供了充分的实现手段,使得应用系统实现业务对象之间的复杂的逻辑关系成为可能,而R非常简单。方便了业务系统。(2)该平台在很多方面提供了通用的模式和技术规范,如组件设计、数据库设计、界面设计等,可以为应用系统的开发提供有效的指导和参考。(3)由于该平台提供了统一的模式和共享组件,减少了应用系统开发的难度、减少了应用系统开发的模块,因而能够准确地控制应用系统开发的过程,有效地提高应用系统开发的质量。2.2数据库MicrosoftSQLServer2000它为数据库管理员提供了多个管理系统的工具,包括:1)SQLServer企业管理器它是Microsoft管理控制台(MMC)的管理单元组件,利用它可对数据库服务器、数据库及数据库对象(表、视图等)进行冇效的管理。2)SQL查询分析器它用于交互输入T-SQL语句和存储过程,可以以图形的形式提供图形查询分析功能,包含集成的T-SQL调试器、对象浏览器,可用于确定数据库中的表、视图、存储过程和其他对象的特性,并支持可用于加快复杂语句生成速度的模板。3)注册服务器安装SQLServer2000后,必须先注册本地或远程服务器,才能使用SQLServer企业管理器来管理这些服务器。注册服务器时必须指定服务器的名称和登录到服务器时使用的安全类型。 4.2.1数据库设计表名:glyxx表名说明:管理员信息序号字段名字段说明标识主键类型长度小数位数允许空1dim登录名varchar5002mm密码char100V表名:gwcxx表名说明:购物车信息序号字段名字段说明标识主键类型长度小数位数允许空1gwcbh购物车编号int1002hydlm会员账号varchar500V3spbh机票编号int100V4si数量int100V表名:hyddhz表名说明:会员订单序号字段名字段说明标识主键类型长度小数位数允许空1ddbh订单编号int1602hydlm会员登录名varchar500V3jpbh机票编号int100V4si数量int5je金额float4ddrq订单日期datetime233V5qddd确定订单varchar500V6fk付款varchar500V7zf作废时间datetime500V表名:hyxx表名说明:会员信息序号字段名字段说明标识主键类型长度小数位数允许空1hydlm会员登录名varchar500V2mm密码varchar500V3xm姓名varchar500V4xb性别varchar500V5dz地址varchar500V6dh电话varchar500V8emailEMailvarchar500V9ycj初始预付金decimal180V10sfzh身份证号varchar500V11ljycj累计预付金decimal180V 表名:spflxx表名说明:商品分类信息序号字段名字段说明标识主键类型长度小数位数允许空1spflbh机票分类编号、/int1002spflmc机票分类名称varchar500V表名:spxx表名说明:商品信息序号|字段名字段说明1标识1主键1类型1长度小数位数允许空1jpbh机票编号int1002spmc航班varchar500V4spflbh机票分类编号int100V5spjg机票价格float530V6he航程varchar20000V7sftdc是否头等舱varchar8sfyz是否硬座varchar9qfsj起飞时间datetime0V10ddsj到达时间datetime11zps总票数int0V12syps剩余票数int0V表名:tp:衣名说明:退票序号字段名字段说明标识主键类型长度小数位数允许空1tpbh退票编号Vint1002ddbh订单编号3tprq退票口期varchar500V4tpsl退票数量varchar5000V5tpje退票金额varchar20000V6qqtp确认退票varchar20000V4.2.2数据库E—R图设计 系统E-R图4.3各个模块基本流程图设计4.3.1管理员模块>机票类别维护机票类别维护>机票信息维护 机票信息维护订单信息管理〈订单管理▼ 订单信息管理4.3.2会员模块>会员注册会员注册>会员订票会员订票息Jn应除信称对删点名边的>会员退票 4.4输入输出设计4.4.1输入设计会员订票输入设计代表性页面是主界面的登陆窗口,输入用户名、密码等待验证,如图:中國東方航空CHINA/ASTERN.litHIIma中文|English|全ffii登录首页注册票价航班航程到达时间头等舱硬座剩余票数操作1009C8886贯阳一上海2010-11-1021:30:00不是不是19点击查看2010-11-1023:50:00600GS7575天津一昆明2010-11-1812:00:00不是是11点击查看2010-11-1816:30:008890MS1002北京一华盛顿2010-11-206:23:00是72点击查着2010-11-212300:002S00JKD02昆明一日本2010-11-2112:35:00不是是12点击查岩上一页下一页共顷当前页:共有机票•:件P机鮮类全部机栄国航机票南方航空苜都航空海南航仝上海航空东方航空系统登陆界面 4.4.2输出设计输出设计代表性页面是展示详细机票信息页面,如图:中文IEnglish|全1r首页、14会员登陆J您的位置:机票»Label信息:登录进入购物车1®机要分类全部机票国航机票海南航空南方航空上海航空首都航空东方航空航班:GS7575航程:天津“昆明起飞时间:2010.11-1812^0:00到达时间:2010.H4S16:30:00头等能:不是殛座:是剩余票数:11购物数量:1P曲入购物车展示页面 第五章、系统实现2.1系统主界面介绍在IE里运行本系统,出现系统的主界面,包括系统登陆、产品类别、产品信息显示列表三大模块。如图:SMAKMIOMAlinn首页中文IEnglish|全®j逬入购物车3机棗分类全郃机栄国航机耍南方航空首都航空海南航空上海航空东方航空购检车©票价航班航程起飞时间到达时间头等舱硬座刺余票数操作JL1009C8886贲阳一上海2010-11-1021:30:002010-11-1023:50.00不是不是19点击查看JL600GS7575天津一昆明2010-11-1812:00:002010-11-1816:3000不星是11点击查看JL8890MS1002北京一华盛顿2010-11-206:23:002010-11-2123:00:00是72点击查看JL2500JK002昆明一日本2010-11-2112:35:002010-11-22130:00不是是12点击查看共有机篥」件上一页下一页共1页当前页1全部机黑系统主界面核心代码如下:protectedvoidImageButtonl_Click(objectsender,ImagedickEventArgse){〃判断登陆人员的密码和用户是不是正确if(txtusername.Text.TrimO.ToLower()二二z/administrato{DataTabletmpda=newDataTable();tmpda=DataBasc.GetTable(z/sclcct*fromglyxxwheredlm=",z+this,txtusername.Text.TrimO+andmm=,"+this,txtpassword.Text.TrimO+“);if(tmpda.Rows.Count〈二0)Response.Write(z,〃); return;}else{Session[,,UscrNamc,,]=〃系统管理员〃;}}else{DataTabletmpda=newDataTablc();tmpda=DataBase.Get_Table(''select*fromhyxxwherehydlm二,〃+this,txtusername.Text.TrimO+andmm二'"+this.txtpassword.Text.TrimO+“);if(tmpda.Rows.Count<=0){Response.Write(,,〃);5.3订单管理此模块可以查看定购机票的用户信息,及该用户定购机票的详细信息,可以删除不符合要求订单信息。如图:功養薰竽yI合员甘理会员第护合员充值机票营理机票分尖维护机票信息堆护会员義号氛班起5何余象孩数呈金敢订单日期扁定订单付裁作Wfl操作user9C88862010-11-1021:30001935002010-11.200:00:00査看用尸査看订单]user9C88&62010-11-1021:3(H»1944002010.11.50:00:00同意预定芫成査看用戶査着订单]1userGS757S2010-11.1S12:00X)01116002010-11.50:00:00同意预定芫成查者用尸查呦单]|订单信見列表订单首理订单审核退票首湮订单信息管理核心代码如下:publicpartialclassadmin_orderdetai1:System.Web.UT.Page{protectedvoidPage_Load(objectsender,EventArgse){"aa();bindgr();}publicvoidbindgr(){Model,orderdetailmyorderdetail二newModel,orderdeta订();myorderdetai1•ordernum=pronum.Text;BLL.BLLordcrupdatcbill二newBLL.BLLordcrupdatc();DataSetds=bill,bindgr(myorderdetail);GridViewl.DataSource=ds.Tables[0];GridViewl.DataBind();}publicvoidaa()Model,ordermyordcr=newModel,order();myorder.id=Convert.Tolnt32(Request.QueryString[z,idz/]);BLL.BLLorderupdatebill二newBLL.BLLorderupdate();SqlDataReaderdr= bill,readorder(myorder);if(dr.ReadO)proid.Text==dr[z/_idz/].ToStringO;needbil1.Text二dr[z,_needbil1〃].ToString();waysgive.Text=dr[/,_waysgive,,J.ToString();pronum.Text二dr[z/_ordernunT].ToString();ordertime.Text二dr[”ordertimc〃]・ToString();sellremarks.Text=dr[z/_sellremarksz/].ToStringO;count.Text二d讥〃_count〃].ToString();address.Text=dr[〃_address〃]•ToString();sumpric.Text二dr[,z_sumprice,/].ToStringO;name.Text二dr[,znamc,/].ToStringO;tel.Text=dr“].ToStringO;mobile.Text二dr[z,_mobilez,]・ToString();buyremarks.Text=dr[,/_buyremarks/,].ToString();mail.Text=dr[,,_mair,].ToString();dr.Close();protectedvoidButtonl_Click(objectsender,EventArgse){Response.Redirect(z,orderselect.aspx〃);}}5.4用户注册页面此模块主要是提供新用户信息注册。用户注册信息时,判断帐号,真实姓名是否为空,输入的密码和确认密码是否一致。然后输入密码、确认密码、联系电话、家庭地址、出生日期等,注册和返回操作。如图: 中國東方耀CHINAJASTEPN111I•M••LMIHjIHII.IIHIIlmo中文IEnglish|全瞬首页[EXPO伽MGWUOMA谙先检测您的用尸名是否己经有人占用?」・□个数字或字母或“・”、」-16个字母.数字或符号组成,逹议使用大小写字母与数字混合鉅成密玛.请再输入一遍上面的登陆密码.个人信息诸如实埴写,中文文字之间诸不要使用空格.邮箱用于接收交易通知,找回密码,诘如实埴写。用户注册核心代码如下:if(Page.IsValid==true){Model,usermod=newModel,user();mod.email=TextBox7.Text;BLL.userbk=newBLL.user();SqlDataReaderdr二bk.pp(mod);if(dr!=null){if(dr.Read())Common.MessageAlert.Alert(Page,"该邮箱号己存在!“);TextBox7・Text二〃“;dr.CloseO;}elseModel,usermo=newModel,user();mo.cmai1=Server.HtmlEncodc(TextBox7・Text);mo.pwd=Server.HtmlEncode(TextBoxG.Text);mo.username二Server.HtmlEncode(TextBox8.Text);mo.qq=Server.HtmlEncode(TextBox2.Text);mo.msn二Server.IltmlEncode(TextBox3.Text);mo.safcqucstion二Server.HtmlEncodc(TextBox4・Text); mo.safepwd=Server.HtmlEncode(TextBox5.Text);BLL.userbl1=newBLL.user();inti=bll.insert(mo);if(i>0){Common.MessageAlert.AlertLocation(Page,"alert('注册成功);localion.href=,Login,aspx"“);Model.usermodi=newModel,user();modi,email=TextBox7・Text;BLL.userblluser=newBLL.user();SqlDataReaderdrl二blluser.drid(modl);if(drl.Read()){Session[“userid"]=drl[”userid"]・ToString();drl.Close();}drl.CloseO;Model,addressmoadd=newModel,address();moadd.userid=Convert.ToInt32(Session[z/_useridz/]);BLL.daladdressbld=newBLL.daladdress();intf=bld.upeida(moadd);TextBox2.Text=TextBox3.Text二TextBoxd.Text=TextBox5.Text=TextBox6.Text二TextBox7・Text=TextBox8.Text=TextBox9.Text=Common.MessageAlert.Alert(Page,〃注册失败!“);}}} 5.5购物车此模块显示已经选择完但未生成订单的机票信息列表,显示此次购物的总数量和总金额。可以对其生成定单,删除操作。如图:您的位置:>购物车航班机票价格购买数呈操作WS100288901删除共1件机票总金额:8890元首页I友■鮭I后台普連I购強诞购物车核心代码如下:publicvoidaa(){doublewholepricc=0;doublewholeweight=0;Labelsumweight=newLabel();Labelsumprice二newLabel();wholcprocount.Text二GridViewl.Rows.Count.ToString();for(inti二0;i〈GridView1.Rows.Count;i++){sumweight=(Label)GridViewl.Rows[i].FindControl("sumweight");sumprice=(Label)GridViewl.Rows[i].FindControl("sumprice");wholcwcight+二Convcrt•ToDoublc(sumweight.Text);wholeprice+二Convert.ToDouble(sumprice.Text);wprice.Text二wholcpricc.ToString(); weight.Text二wholeweight.ToString();}publicvoidbindgr()rModel.orderdetai1myorderdetai1=newModel,orderdetail();myorderdetail.ordernum=Request.QueryString[z,ordernumz/].ToString();BLL.BLLordcrupdatcbill=newBLL.BLLordcrupdatc();DataSetds=bill,bindgr(myorderdetail);GridViewl.DataSource二ds.Tables[0];GridViewl.DataBindO;1JprotectedvoidButtonlClick(objectsender,EventArgse){Response.Redirect(''Order.aspx〃);Response.Redirect("Order,aspx");5.6用户订单此模块是用户将购物车里面的机票生成订单给管理员,如图:甲画果力肌仝、hIim1•EXPOSKMGWUCMKA融・诲行上締叫a.IIHHma中文IEnglish|全琳金您的位置:>我的订单航班起飞时间数星金讓订单日期礎定订单付款作废时间變作變作9C88862010-11-1021:30:0033002010-11-200:00:00萱看订单9C88862010-11-1021:30:0044002010-11-50:00:00同意预定完成查看订单退票GS75752010-11-1812:00:0016002010-11-50:00:00同意预定芫成查看订单退票首页■二2员戟号航班起飞时间数量金簇订单日期确定订单付款作废时间退票日期退票数量退票金讓确认退票!user9C88862010-11-1021:30:0033002010-11-200:00:002010-11-60:00:00180同意user9C88862010-11-1021:30:0044002010-11-50:00:00同意预定完成2010T1-605:002160同意用户订单核心代码如下:publicvoidpp(){Model.ordermoo二newModel.order();moo.userid=Convert.Tolnt32(Session[“_userid〃]);BLL.oredrbmy=newBLL.oredr();DataSetds=bmy.dspor(AspNctPagcrl.PagcSizc*(AspNetPagerl.CurrentPageIndex-1),AspNetPagerl.PeigeSize,moo);Rcpcatcrl.DataSource=ds;Repeaterl.DataBind(); protectedvoidImageButtonlCommand(objectsender,CommandEventArgse){"if(e.CommandName=="Delete"){intid=Convcrt・ToInt32(c.CommandArgumcnt);Model.ordermoor=newModel.order();moor,id=id;moor,userid=Convert.Tolnt32(Session[“_userid〃]);BLL.oredrbllu=newBLL.oredr();inti二bllu.door(moor);if(i>0){Common.MessageAlert.Alert(Page,〃删除成功!!“);ppO;}else{Common.MessageAlert.Alert(Page,〃删除失败!!“);}}}protectedvoidImageButtonl_Click(objectsender,ImagedickEventArgse){-}protectedvoidAspNetPagerl_PageChanging(objectsrc,Wuqi.Webdiyer.PageCheingingEventArgse)AspNetPagerl.CurrentPagelndex=:e.NewPagelndex;ppO;第六章、系统测试6.1概述6.1.1概念和意义测试的定义:程序测试是为了发现错误而执行程序的过程。测试(Testing)的任务与目的可以描述为:目的:发现程序的错误; 任务:通过在计算机上执行程序,暴露程序屮潜在的错误。另一个预测是相关的术语叫纠错(Debugging)。它的目的与任务可以规定为:目的:定位和纠正错误;任务:消除软件故障,保证程序的可靠运行。测试与纠错的关系,可以用图6・1的数据流图来说明。图中表明,每一次测试都要准备好若干必要的测试数据,与被测试程序一道送入计算机执行。通常把一次程序执行需要的测试数据,称为一个“测试用例(TestCase)o每一个测试用例产生一个相应的“测试结果雹如果它与“期望结果”不想符合,便说明程序屮存在错误,需要用纠错来改止。/X'二纠'丿错误信息错)改正信息/图6.1测试与纠错信息流程6.1.2特性(1)挑剔性测试是为了证明程序有错,而不是证明程序无错。因此,对于被测程序就是要“纯毛求疵”,就是要“鸡蛋里挑骨头”。(2)复杂性测试仪程序则比较容易,这其实是一个误区。设计测试用力是一项需要细致和高度技巧的高能工作,稍冇不慎就会顾此失彼,发生不应用得数楼。(3)不彻底性实际测试都是不彻底的,当然不能够保证测试后的程序不存在遗漏的错误。(4)经济性通场这种测试称为“选择测试(SelectiveTesting)。为了降低测试成本,选择测试用力是应注意遵守“经济性”的原则。6.1.3重要性软件测试在软件生命周期屮占据重要的地位,在传统的瀑布模型屮,软件测试学仅处于运行维护阶段之前,是软件机票交付用户使用之前保证软件质量的重要手段。近来,软件工程界趋向于一种新的观点,即认为软件生命周期每一阶段屮都应包含测试,从而检验本阶段的成果是否接近预期的目标,尽可能早的发现错误并加以修正,如果不在早期阶段进行测试,错误的延时扩散常常会导致最后成品测试的巨大困难。 6.2本系统测试描述为了使本软件运行更加稳定,我对它进行了全面的测试,测试分为二部分來进行,一是:界面测试;二是功能测试。首先是界面测试,为了使软件在不同的的操作系统平台上运行界面能保持原来的风格。我把完整程序拷贝到WindowsXPPro环境下,程序运行界面正常,界面上的字体等设置都保持得相当好。没有出现类似字体变形的情况!二是进行功能的测试。木系统测试采用了单元测试,集成测试,完善性测试等多种方式进行测试。经过测试,所有功能都能得以实现,没有任何变形。至此,在功能的测试上也己经比较圆满的完成了。 结束语通过木次毕业设计我了解了Web开发模式,工作原理及发展的力史,对Web数据库的结构和Web服务器与数据库的儿种互连技术有了全面的认识。在几个月的系统开发和论文撰写过程屮,通过查阅、研究大量的相关文献,分析相关领域的特色网站并结合实际,然后按照软件工程的严格要求,对本航空售票系统进行了需求分析,概要设计,详细设计,编码与测试等方面进行分析和讨论,初步建立了一个模拟的航空售票系统。建立数据库通过SQL语句对数据库屮的信息进行调用,以及把网站信息及时的存储入数据库表单中。由于Asp页功能强大,处理方式灵活,对客户浏览要求较低,传送到客户端的只是解释后的hlml页面,保护了页面开发者的知识产权,因此木系统页面犬多采用Asp页。当然由于时间有限,这个系统还不够完善,还有许多地方有待改进,恳请各位老师批评赐教。 致谢在木次毕业设计屮,使我理会到软件工程在项口开发屮各个环节的具体应用,并对使用C#开发数据库应用程序的方法和技巧有了更一步的掌握。这一切的知识积累离不开指导老师认真负责的工作态度,严谨的治学精神和深厚的理论水平,在此向他表示我深深的谢意,同时也感谢给过我支持、帮助的同学。最后借此机会也向所有关心和指引我成长的老师致以崇高的敬意!! 参考文献[1]DUSANPETK0V1C.《SQLServer2000基础教程》[M].清华大学出版社[2]黄梯云.《SQLServer2000实用教程》[M]•人民邮电出版社[3]孙永强戴锋陈宗斌.2002《VisualC#.NET程序设计基础》[M]•清华大学出版社,2002[4][英]夏普.《VisualC#2005从入门到精通》[M].周靖译•清华大学出版社,2006[5][英]费森.《VisualC#基于组件的开发》[M].战晓苏译•清华大学出版社,2003[6]李律松马传宝李婷.《VisualC#+SQLServer数据库开发与实例》[M].清华人学出版社,2006[7]KarliWatson.《C#入门经典》[M]康博译.清华大学出版社,2002[8]A.RussellJones[美].《ASP.NET与C#从入门到梢通》[M].电子工业出版社,2003[9]霍夫曼(HoffmanK.)[美]科鲁格(KrugerL.)[美].《C#.NET技术内幕》[M]董梁高猛译.清华大学出版社,2006[10]罗会涛.《精通MSSQLSERVER7.0》[M].电子工业出版社,2005L11]范国平陈晓鹏.《SQL数据库系统开发实例导航》[M].人民邮电出版社,2006[12]李晓哲张晓辉李祥胜.《SQLServer2000管理及应用系统开发》[M]•人民邮电出版社[13]黄荣怀刘黄玲子等.《计算机辅助评价的发展趋势》[M].电化教育研究,2002[14]RonPatton[美]・《软件测试》[M],机械工业出版社,2000