还剩8页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
毕业论文(设计)2014年04月30日目录TOC\o1-3\h\u第1章前言1HYPERLINK\l_Toc
267981.1航空信息管理的背景1HYPERLINK\l_Toc
15731.2航空管理的现状1HYPERLINK\l_Toc
36561.3航空信息管理系统设计意义2HYPERLINK\l_Toc
136911.4航空信息管理系统的概述2HYPERLINK\l_Toc7549第2章系统开发技术4HYPERLINK\l_Toc
141662.1Java程序设计语言的介绍与特性4HYPERLINK\l_Toc
297252.2基于MicrosoftSQLServer2005的数据存储服务5HYPERLINK\l_Toc
243202.3UML建模工具5HYPERLINK\l_Toc14876第3章系统需求分析7HYPERLINK\l_Toc
59313.1可行性分析7HYPERLINK\l_Toc
122333.
1.1经济可行性7HYPERLINK\l_Toc
96633.
1.2技术可行性7HYPERLINK\l_Toc
222323.
1.3操作可行性8HYPERLINK\l_Toc
213263.2功能需求分析9HYPERLINK\l_Toc
52753.3功能需求建模—UML用例建模9HYPERLINK\l_Toc
150653.
3.1客户用例建模10HYPERLINK\l_Toc
79653.
3.2系统用例建模11HYPERLINK\l_Toc
279163.4性能需求分析12HYPERLINK\l_Toc
215003.5本章小结13HYPERLINK\l_Toc10787第4章系统设计14HYPERLINK\l_Toc
202814.1概要设计14HYPERLINK\l_Toc
204894.
1.1系统主要功能模块14HYPERLINK\l_Toc
23864.
1.2系统总体功能模块14HYPERLINK\l_Toc
180434.2详细设计15HYPERLINK\l_Toc
162264.3UML建模16HYPERLINK\l_Toc
166904.
3.1UML静态建模17HYPERLINK\l_Toc
156524.
3.2UML动态建模18HYPERLINK\l_Toc
123814.4数据库设计20HYPERLINK\l_Toc
81874.
4.1数据库需求分析20HYPERLINK\l_Toc
148364.
4.2数据库概念结构设计22HYPERLINK\l_Toc
90864.
4.3数据库逻辑结构设计22HYPERLINK\l_Toc
109294.5本章小结24HYPERLINK\l_Toc19219第5章系统的实现25HYPERLINK\l_Toc
9395.1系统登录页面实现25HYPERLINK\l_Toc
65515.2总体功能模块26HYPERLINK\l_Toc
127755.
2.1客户信息管理27HYPERLINK\l_Toc
202715.
2.2航班信息管理30HYPERLINK\l_Toc
100785.
2.3订单信息管理33HYPERLINK\l_Toc
99055.
2.4修改密码36HYPERLINK\l_Toc
23745.
2.5退出系统36HYPERLINK\l_Toc
59615.3本章小结36HYPERLINK\l_Toc1449第6章系统测试37HYPERLINK\l_Toc
10896.1软件测试的目的与任务37HYPERLINK\l_Toc
129296.2测试过程37HYPERLINK\l_Toc
215286.3登录模块测试37HYPERLINK\l_Toc
110026.4修改个人密码测试39HYPERLINK\l_Toc
290086.5本章小结41第7章小结与展望42参考文献43致谢44摘要随着人们生活水平上升,物质文化需求的提高,各类交通工具也应运而生现阶段出外旅行的人越来越多,而飞机以其舒适、快速、便捷的优点开始成为越来越多旅客的选择从而一个好的航空信息管理系统变得越来越重要信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟管理信息系统是一个不断发展的新型学科,任何一个单位想生存发展下去,就要高效率地把内部活动有机地组织起来,建立与自身特点相适应的管理信息系统该系统具有很好的人机界面,基本上满足了航空服务业的安全机制,又满足了顾客对航空管理的要求,因此具有非常重要的实际应用价值本系统根据航空公司管理的实际要求,经过实际的需求分析,采用Java做为开发工具,以SQLserver2005做后台数据库,开发出来的航空信息管理系统整个系统从符合操作简便、界面友好、灵活、实用、安全的要求出发,完成航空公司管理的全过程,包括票务信息管理、客户信息管理、航线信息管理、以及系统管理等工作关键词信息管理;数据库;Java第1章前言在现代社会,人们的生活节奏越来越快,如何提高生产生活质量成为人们日益关注的话题二十一世纪是一个信息化技术高度发达的时代,信息化技术已经深入社会生活的各个领域因此,对航空公司进行信息化管理是非常有必要的
1.1航空信息管理的背景航空信息管理系统是一个航空公司必不可少的部分,这对于航空公司的决策者和管理者来说都是至关重要的航空信息管理系统应该能够为用户提供充足的信息和快捷的查询手段,也应该为管理者提供高效、便捷、可靠的管理方式对于需要购票的用户来说,最重要的问题是能够在最短的时间内解决自己的订票问题这对于航空公司来说需要的是一个高效率的、规范化的管理系统的软件,因此,一个好的航空信息管理系统不仅有利于航空公司自身的发展,也为用户带来了极大的方便这样,航空信息管理系统就应运而生了数据库管理是计算机应用的重要方面,几乎所有计算机应用系统都离不开对数据库的管理和操作由于数据库管理系统所广泛服务于不同的行业领域,因此需要开发通用的数据库管理系统,甚至一个领域需要不同的数据库系统随着现代网络的发展速度之快,越来越多的用户想要通过更方便快捷的方式来完成自己的机票查询和购买人工管理不同客户信息的工作也就越来越繁琐,而且容易出现错误,为了解决这些问题,再此开发了航空信息管理系统
1.2航空管理的现状1.从安全的角度看航空运行管理的现状据美国联邦航天局FAA(FederalAviationAdministration)2004年的报告,全世界发生的有人员死亡的飞行事故率是每100万次航班
0.73起,这个数据要低于其他任何交通工具但是,由于飞机一旦发生机毁人亡的是故事时乘客几乎是毫无防范和逃生可能的由于现有运行管理水平的不足,导致航空服务业的安全机制相对较低2.从飞机正点的角度看航空运行管理现状航班延误不仅是国内民航界面临的难题,在全球民航业内也普遍存在根据相关统计资料显示,每年航班正常率只有不到80%,由航班不正常造成的损失占运行成本的2%~3%,每年约有1000万以上的旅客遭遇过航班延误,而由于航班延误而引发的矛盾冲突更是时有发生目前,中国航空进入快速增长时期,客户量快速攀升客户大量的加大给公司创造了巨大商机,但同时也增加了压力在运输任务日益沉重,而造成航班延误的客观因素又无法在短期克服的情况下,航空公司进行航班调整就成为航班正点率的主要因素了
1.3航空信息管理系统设计意义航空信息管理工作的成效,直接关系到飞机安全飞行、客户要求的满意程度以及航空公司的效益本系统是一个非常通用的信息管理系统通过数据库系统的设计,可以使我们熟练运用一门程序设计语言来掌握设计数据库的方法和过程,以及为设计其他软件提供参考,进而提高我们的设计能力一个功能齐全、简单易用的信息管理系统不但能有效的减轻航空公司工作人员的工作负担,它的内容对于航空公司的决策者和管理者来说都是至关重要的系统能够为用户提供充足的票务信息和快捷的查询及订票等功能但是一直以来人们通常使用人工的方式来管理文件档案、统计和查询数据,这种管理方式存在效率低、保密性差以及浪费大量人力等缺点;另外随着时间的推移,将产生大量的文件和数据,这对于查找、更新和维护各式各样的数据,特别是在要查找特别精准的数据时带来了很大的困难随着现代科学技术的不断提高,计算机科学日渐成熟,其强大的功能已被人们深刻认识并重视,它已进入现代社会的各个领域并发挥着越来越重要的作用使用计算机对航空公司的各类信息进行管理,具有手工管理无法超越的优势,例如查询方便快速、效率高、存储量大、成本低等,这些优点能够极大的提高公司的效率,也是公司管理的科学化、正规化管理的重要条件该系统是用于航空公司对各种信息进行管理的一种非常便利有效的工具,是针对管理员对航线、航班、客机、票务以及用户信息进行合理的统筹及管理,以便于让管理员用最短的时间来完成尽可能多的工作量,便于提高整个团队的效率还能让不同的用户在最短的时间内查到自己所需的各种航班的相关信息,进而提前预定所需的机票
1.4航空信息管理系统的概述一般来说,一个好的航空公司需要对客机的信息、航线的信息、航班的信息、客户的信息等进行管理,更重要的是提供票务的管理面对各种不同种类的信息,不仅需要合理的数据库结构来保存数据信息,还需要有效的程序结构支持各种数据的操作本设计讲述如何建立一个航空公司的信息管理系统,系统开发的总体任务是实现各种信息的系统化、规范化和自动化该系统的主要用户是航空公司的管理员和所有乘客在开发过程中利用Java、面向对象的程序思想和软件工程的开发过程来进行需求分析和设计,其中是以Java中的Swing思想为基础进行各个图形界面设计
[1];MyEclipse的开发环境使得本系统的开发简单节省时间,而且在运行测试以及维护等方面也不像其他的开发工具那么繁琐,更将少了在维护方面的成本对于各种数据的管理采用的是SQLServer的数据库管理系统进行的
[2],连接数据库的时候采用的是JDBC的连接方法该系统需要完成以下几个主要功能实现对航班信息、航线信息、客机信息、票务信息以及客户信息的管理;管理员对用户的信息进行权限和折扣比例的修改;客户可以对航班的信息进行查询,如果想进一步完成自己的订票、退票、改签业务,就必须进行登录在没有注册的情况下,要注册自己的相关信息,进而完成自己所需航班的订票业务;客户也可以对自己的注册信息进行修改第2章系统开发技术对于一个系统的开发来说,拥有一系列成熟的、先进的开发技术是至关重要的本系统的开发主要应用了基于MicrosoftSQLServer2005的数据存储服务、Java程序设计语言以及面向对象的UML(UnifiedModelingLanguage)统一建模语言
2.1Java程序设计语言的介绍与特性Javahttp://baike.baidu.com/view/
29.htm是由SunMicrosystemshttp://baike.baidu.com/view/
1061350.htm公司于1995年5月推出的Java面向对象程序设计语言http://baike.baidu.com/view/
9793.htm和Java平台http://baike.baidu.com/view/
58664.htm的总称用Java实现的HotJava浏览器http://baike.baidu.com/view/
209644.htm(支持JavaApplet)显示了Java的魅力跨平台http://baike.baidu.com/view/
469855.htm、动态的Webhttp://baike.baidu.com/view/
3912.htm、Internethttp://baike.baidu.com/view/
11165.htm计算从此,Java被广泛接受并推动了Webhttp://baike.baidu.com/view/
3912.htm的迅速发展,常用的浏览器http://baike.baidu.com/view/
7718.htm均支持Javaapplethttp://baike.baidu.com/view/
533192.htm另一方面,Java技术http://baike.baidu.com/view/
45517.htm也不断更新与传统程序http://baike.baidu.com/view/
17674.htm不同,Sun公司在推出Java之际就将其作为一种开放的技术http://baike.baidu.com/view/
45517.htm全球数以万计的Java开发公司http://baike.baidu.com/view/
9988.htm被要求所设计的Java软件http://baike.baidu.com/view/
37.htm必须相互兼容http://baike.baidu.com/subview/348591/
5144387.htm“Java语言靠群体的力量而非公司的力量”是Sunhttp://baike.baidu.com/view/
24856.htm公司的口号之一,并获得了广大软件开发商http://baike.baidu.com/view/
195720.htm的认同这与微软公司http://baike.baidu.com/view/
39784.htm所倡导的注重精英和封闭式的模式完全不同
[3]抽象类http://baike.baidu.com/view/
262290.htm规定一个或多个抽象http://baike.baidu.com/view/
5293.htm方法的类别本身必须定义为Abstracthttp://baike.baidu.com/view/
122814.htm,抽象类http://baike.baidu.com/view/
262290.htm只是用来派生子类,而不能用它来创建对象Finalhttp://baike.baidu.com/view/
2116821.htm类又称“最终类”,它只能用来创建对象,而不能被继承http://baike.baidu.com/view/
125322.htm,与抽象类刚好相反,而且抽象类与最终类不能同时修饰同一个类包http://baike.baidu.com/view/
130671.htmJava中的包是相关类和接口的集合http://baike.baidu.com/subview/15216/
10703234.htm,创建包须使用关键字Package多态http://baike.baidu.com/view/
126521.htm类在Java中,对象变量是多态的而Java中不支持多重继承接口http://baike.baidu.com/view/
159864.htmJava中的接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)封装http://baike.baidu.com/view/
154910.htm就是把数据和行为结合起在一个包中,并对对象使用者隐藏数据的实现过程,一个对象中的数据叫他的实例http://baike.baidu.com/view/
209672.htm字段(InstanceField)重载http://baike.baidu.com/view/
126530.htm当多个方法具有相同的名字而含有不同的参数时,便发生重载编译器http://baike.baidu.com/view/
487018.htm必须挑选出调用哪个方法进行编译Classhttp://baike.baidu.com/view/
76711.htm类Object类中的GetClass方法返回Classhttp://baike.baidu.com/view/
76711.htm类型的一个实例,程序启动时包含在mainhttp://baike.baidu.com/view/
746175.htm方法的类会被加载,虚拟机http://baike.baidu.com/view/
1132.htm要加载他需要的所有类,每一个加载的类都要加载它需要的类
2.2基于MicrosoftSQLServer2005的数据存储服务MicrosoftSQLServer2005是一个全面的数据库平台,使用集成http://baike.baidu.com/view/
101357.htm\t_blank的商业http://baike.baidu.com/view/
8211.htm\t_blank智能(BI)工具http://baike.baidu.com/view/
74746.htm\t_blank提供了企业级的数据管理MicrosoftSQLServer2005数据库引擎http://baike.baidu.com/view/
68455.htm\t_blank为关系型数据和结构http://baike.baidu.com/view/
160039.htm\t_blank化数据提供了更安全可靠http://baike.baidu.com/view/
190360.htm\t_blank的存储http://baike.baidu.com/view/
87682.htm\t_blank功能,使您可以构建http://baike.baidu.com/view/
2067054.htm\t_blank和管理用于业务http://baike.baidu.com/view/
64906.htm\t_blank的高可用和高性能的数据应用程序http://baike.baidu.com/view/
330120.htm\t_blankMicrosoftSQLServer2005数据引擎是该企业数据管理解决方案的核心此外MicrosoftSQLServer2005结合了分析、报表、集成和通知功能这使您的企业可以构建和部署经济有效的BI解决方案,帮助您的团队通过记分卡、Dashboard、Webservices和移动设备将数据应用推向业务的各个领域与MicrosoftVisualStudio、MicrosoftOfficeSyste以及新的开发工具包(包括BusinessIntelligenceDevelopmentStudio)的紧密集成使MicrosoftSQLServer2005与众不同无论开发人员、数据库管理员、信息工作者还是决策者,MicrosoftSQLServer2005都可以提供创新的解决方案,从数据中更多地获益
[4]目前,几乎各行各业都普遍建立了以数据库为核心的信息系统图2-1数据库系统工作方式
2.3UML建模工具UML(UnifiedModelingLanguage),即统一建模语言或标准建模语言http://baike.baidu.com/view/
3458435.htm,是始于1997年的一个OMG标准它是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持,包括由需求分析http://baike.baidu.com/view/
111493.htm到规格,到构造和配置面向对象的分析与设计方法的发展在80年代末至90年代中出现了一个高潮,UML是这个高潮的产物它不仅统一了Booch、Rumbaugh和Jacobson的表示方法,而且对其作了进一步的发展,并最终统一为大众所接受的标准建模语言http://baike.baidu.com/view/
3458435.htmUML建模语言的特点
(1)UML统一了各种方法对不同类型的系统、不同开发阶段以及不同内部概念的不同观点,从而有效的消除了各种建模语言之间不必要的差异它实际上是一种通用的建模语言,可以为许多面向对象建模方法的用户广泛使用
(2)UML建模能力比其它面向对象建模方法更强它不仅适合于一般系统的开发,而且对并行、分布式系统的建模尤为适宜
(3)UML是一种建模语言,而不是一个开发过程UML描述软件的体系结构UML利用若干视图从不同角度来观察和描述一个软件系统的体系结构一个软件系统往往可以从不同的角度对其进行观察,从某个角度观察到的系统就构成了系统的一个视图每个视图都是整个系统描述的一个投影,说明了系统的一个特殊侧面,若干个不同的视图可以完整的描述出所建造的系统每种视图用若干幅图来描述,一幅图包含了系统的某一特殊方面的信息,它阐明了系统的一个特定部分或方面由于不同视图之间存在一些交叉,因此一幅图可以作为多个视图的一部分利用UML来观察系统有5种视图表示用例视图、逻辑视图、构建视图、进程视图以及部署视图系统需求分析需求分析简而言之就是分析用户的要求需求分析是设计数据库的起点,需求分析的结果是否准确的反映了用户的实际要求,将直接影响到后面各个阶段的设计,并影响到设计结果是否合理和实用下面先对系统的可行性进行分析,再从功能需求和性能需求两方面进行相应的分析
3.1可行性分析可行性分析是通过对项目http://baike.baidu.com/view/
25183.htm的主要内容和配套条件,如市场需求、资源供应、建设规模、工艺路线、设备选型、环境影响、资金筹措、盈利能力等,从技术、经济、工程等方面进行调查研究和分析比较,并对项目建成以后可能取得的财务、经济效益http://baike.baidu.com/view/
188272.htm及社会环境影响进行预测,从而提出该项目是否值得投资和如何进行建设的咨询意见,为项目决策http://baike.baidu.com/view/
1334011.htm提供依据的一种综合性的系统分析方法http://baike.baidu.com/view/
532763.htm可行性分析具有预见性、公正性、可靠性和科学性等特点
3.
1.1经济可行性本系统所提供的功能较多,但是因为使用的是较成熟的EA(EnterpriseArchitect)、MicrosoftSQLServer2005和Java程序设计语言等开发工具,从而大大降低了开发的成本鉴于以往的航空信息管理系统还存在漏洞,本系统只是在原有系统的基础上加以修改,增加功能,使用户至于在较短的时间内就可以获得个人所需信息,使工作人员提高工作效率这点与传统的人工服务相比,效率方面得到了很大的提升,无论对用户还是公司都节省了大量宝贵的时间本系统所提供的功能具有通用性,可以被很多公司所接受,比较符合市场的需求,系统软件的经济效益会大大超过它的成本,所以开发本软件在经济上是可行的
3.
1.2技术可行性软件工程的方法学分为面对过程方法学和面对对象方法学本信息管理系统的设计采用面对对象方法学来设计面对对象方法学而面向对象围绕现实世界的概念来组织模块,采用对象描述问题空间的实体,用程序代码模拟现实世界中的对象,使程序设计过程更自然、更直观面向过程方法学是以功能为中心来描述系统,而面向对象方法学是以数据为中心来描述系统相对于功能而言,数据具有更强的稳定性面向对象方法学模拟了对象之间的通信就象人们之间互通信息一样,对象之间也可以通过消息进行通信这样,我们不必知道一个对象是怎样实现其行为的,只需通过对象提供的接口进行通信,并使用对象的行为功能而面向过程则通过函数参数和全局变量达到各过程模块联系的目的面向对象把一个复杂的问题分解成多个能够完成独立功能的对象(类),然后把这些对象组合起来去完成这个复杂的问题采用面向对象模式就象在流水线上工作,我们最终只需将多个零部件(已设计好的对象)按照一定关系组合成一个完整的系统这样使得软件开发更有效率本信息管理系统的程序代码用Java来编写,Java是一种面对对象的程序设计语言用Java实现的HotJava浏览器(支持JavaApplet)显示了Java的魅力跨平台、动态的Web、Internet计算从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器现在均支持JavaApplet另一方面,Java技术也不断更新Java平台由Java虚拟机和Java应用编程接口(ApplicationProgrammingInterface、简称API)构成Java应用编程接口为Java应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分在硬件或操作系统平台上安装一个Java平台之后,Java应用程序就可运行现在Java平台已经嵌入了几乎所有的操作系统这样Java程序可以只编译一次,就可以在各种系统中运行
3.
1.3操作可行性本系统采用的是直观的图形用户界面,具有很好的人机交互功能用户进入航空信息管理系统的主界面之后,可以对注册、登录及航班搜索等操作按钮进行选择,各个界面简洁易懂,操作方便,还有提示信息航班搜索只要在查询界面按提示输入信息,就会在界面中显示相应的结果;实现预订机票和退票功能要在登录情况下进行操作,如果预订数量超过余票量,系统会给出相应的提示,进行重新预定;退票只要选中所要退订的航班信息,系统核对正确之后,就可确认退票管理员进入航空信息管理系统的主界面之后,进入登录界面,管理员需要输入正确的用户名和密码才能进入下一个界面,该界面使管理员对不同的功能进行管理,如航班、航线、客机及客户信息的管理,每次选择相应的管理之后,界面中就会出现相应的管理信息和相应的操作按钮,总体来说,流程操作简单,数据显示比较直观从法律的角度来看,该系统的开发不会对社会产生负面影响,因此它不存在法律的问题;从经济效益的角度来看,该系统的实施有利于管理员效益的提高和用户数量的增加,从而可以提高航空公司的经济效益,随着时间的推移可以促进社会经济的发展
3.2功能需求分析航空信息管理系统需要完成的主要功能有客机信息的输入、修改和查询,包括客机编号、客机型号、购买时间、服役时间、各舱座位数量以及备注信息等航线信息的输入、修改和查询,包括航线编号、出发城市、到达城市、航班日期、出发时间、到达时间、客机编号、经济舱价格、公务舱价格、头等舱价格和备注信息等客户等级信息的输入、修改,包括客户等级编号、客户等级名称、折扣比例和备注信息等舱位信息的输入和修改,包括舱位等级编号、舱位等级名称、提供的各种服务类型以及备注信息等客机维修信息的输入、修改和查询,包括客机编号、维修员姓名、维修员编号,故障原因以及维修计划等客户信息的输入、修改和查询,包括客户编号、客户姓名、客户性别、身份证号码、联系电话、客户类型和备注信息等订票信息的输入、查询和修改,包括订票编号、客户编号、客户姓名、客户类型、折扣比例、航线编号、出发城市、到达城市、出发时间、舱位类型、票价、结算金额和备注信息等
3.3功能需求建模—UML用例建模所谓建模,就是通过将用户的业务需求映射为项目的系统架构、程序代码,同时保证程序代码能够满足和实现用户的需求,并且代码还能回溯需求的过程一个系统越大,越复杂,建模的重要性就越大通过建模可以更好的帮助开发人员理解正在开发的系统,同时也能够表达我们所渴望的系统结构和行为、展示和控制系统体系结构,最终达到风险控制的目的;通过建模可以实现把复杂的系统简单化,因为模型的作用就是使复杂的信息关联简单易懂,使我们能够洞察复杂堆砌而成的原始数据背后的规律,并能有效地使我们将系统需求映射到软件结构上;模型能够帮助我们按照实际情况或按照我们所需要的样式对系统进行可视化设计和构造,并达到把所要设计的结构和系统行为沟通起来;模型同样也允许我们详细的说明系统的结构和行为;模型还能够给出一个构造系统的模版,也对我们的决策进行文档化用例建模是UML建模的一部分,也是UML里最基础的部分用例建模的最主要功能就是用来表达系统的功能性需求或行为
[5]UML的用例图描述了系统提供的一个功能单元,提供系统高层次的用户视图,表示以外部活动者的角度看系统将是怎样使用的用例图的主要目的是帮助开发团队以一种可视化的方式理解系统的功能需求,包括基于基本流程的“角色”关系,以及系统内用例之间的关系本系统主要从客户和系统两方面进行用例建模
3.
3.1客户用例建模客户登录系统的用例图如下图3-1所示,其中有一个外部行为者和八个用例“客户”是外部行为者,直接参与了“注册/登录”、“查询”、“订票”和“退票”四个用例;“修改个人信息”和“余票查询”用例与“查询”用例之间存在扩展关联;“航班信息查询”用例与“查询”用例之间存在依赖关联;“改签”用例与“订票”之间存在扩展关联图3-1用户登录系统用例图在确定用例过后,需要使用用例描述来更详尽的描述用例的功能关于图3-1所示的“用户登录系统”用例图中的“查询用例”描述如下用例编号001用例名称查询简要说明客户登录系统界面对所需要的航班信息以及个人信息进行查询事件流基本事件流1)用户向系统发出访问请求2)系统提供详细的航班信息供用户查询,若用户需要订票,系统则显示注册/登录界面,让用户输入登录信息,没有注册的用户要先注册才能登录3)用户根据系统提示进行操作4)系统显示用户所需要的界面,如果用户修改个人信息,系统要要将用户最新信息存储建档扩展事件流1)如果用户输入信息错误或不合法,则返回不能应答请求2)系统要求实名注册,对于内容虚假帐号进行注销3)用户选择取消修改个人信息,则用例结束,系统不做存储建档工作非功能性需求前置条件用户进入航空信息管理系统后置条件用户完成自己的操作,并由系统完成信息的存储建档扩展点无优先级最高
3.
3.2系统用例建模系统管理员用例图如图3-2所示,其中“管理员”是一个外部行为者,直接与“客户信息管理”、“票务信息管理”、“个人信息管理”以及“航班信息管理”四个用例存在联系;“客户信息管理”包括删除用户、修改客户信息和添加客户,它们之间是一种扩展关联;“个人信息管理”与“修改密码”用例之间是一种包含关联;“航班信息管理”包含添加航班信息、修改航班信息和删除航班信息,它们之间是一种扩展关联;“票务信息管理”包含票务信息统计、添加票务信息、修改票务信息和删除票务信息,它们之间是一种扩展关联图3-2系统管理员用例图
3.4性能需求分析开发航空信息管理系统首要的是从安全、实用的角度出发,以确保顾客的安全
1.系统的稳定性和安全性系统的稳定性和安全性指保证数据存取和逻辑处理等不出现异常错误,确保系统的正常运转;对数据处理过程中可能出现的软硬件故障导致的数据处理中断,系统应及时进行数据回滚,保证数据的唯一性、准确性;在数据处理存储过程中确保数据不被篡改,对不同的功能进行权限的划分,对人为错误操作所导致的数据删除,系统应及时提供数据恢复,保证数据的完整性
2.系统的可用性和可维护性本系统是直接面对使用人员的,这就要求系统能够提供良好的用户接口,易用的人机交互界面对用户可能出现的使用问题,要提供足够的在线帮助系统还要提供方便的手段供维护人员进行数据备份以及日常的安全管理等工作
3.系统的灵活性在进行业务流程设计时,尽量排除业务流程的复杂度,在流程之间通过业务对象的相互调用实现其他业务流程,提高系统的灵活性
4.系统的开放性和可扩充性在系统设计时,要充分考虑到系统的通用性、扩展性在技术方面要做到使用的技术可以适应不同情况下客户的需求,使系统能够运行在不同的平台上同时还要考虑系统在发展中的业务扩展,功能扩展,这就要求本系统是一个有发展空间的系统,能够完成系统的升级和更新换代
3.5本章小结所谓“需求分析”,是指对要解决的问题进行详细的分析,弄清楚问题的要求,包括需要输入什么数据,要得到什么结果,最后应输出什么可以说,在软件工程http://baike.baidu.com/view/
1659.htm当中的“需求分析”就是确定要计算机“做什么”,要达到什么样的效果可以说需求分析是做系统之前必做的本章主要从可行性分析、功能需求分析、性能分析以及功能需求建模四个方面对系统的需求进行分析首先可行性分析从经济、技术和操作三个角度分析本系统的开发是否有价值;功能需求主要分析系统所能实现的功能以及各功能之间的模块关系;性能分析主要从系统的安全性、稳定性、可用性、维护性、灵活性、开放性以及可扩充性等方面进行分析第4章系统设计系统设计是软件开发生命周期中非常重要的一个阶段,该阶段是将系统分析的结果用软件的形势予以实现,本阶段从物理上实现目标系统在这个阶段需要对软件进行概要设计、详细设计、数据库设计等工作
4.1概要设计
4.
1.1系统主要功能模块在航空信息管理系统的分析与设计中,系统总模块分为四个主要功能模块,分别是客户信息管理、航班信息管理、个人信息管理以及票务信息管理等模块如图4-1所示图4-1系统主要功能模块图
4.
1.2系统总体功能模块系统总功能模块图如图4-2所示图4-2系统总体功能模块图
4.2详细设计软件的详细设计又称过程设计,它的基本任务就是要在概要设计的基础上,对系统中的每个模块给出足够详细的过程性描述,以及局部数据结构的设计软件详细设计的基本任务
(1)对每个模块进行详细的算法设计http://baike.baidu.com/view/
2586007.htm用某种图形http://baike.baidu.com/view/
42121.htm、表格http://baike.baidu.com/view/
899068.htm、语言http://baike.baidu.com/view/
9793.htm等工具将每个模块处理过程的详细算法描述出来
(2)对模块内的数据结构http://baike.baidu.com/view/
9900.htm进行设计http://baike.baidu.com/view/
14417.htm对于需求分析http://baike.baidu.com/view/
111493.htm、概要设计http://baike.baidu.com/view/
551728.htm确定的概念性的数据类型http://baike.baidu.com/view/
675645.htm进行确切的定义
(3)对数据结构http://baike.baidu.com/view/
9900.htm进行物理设计http://baike.baidu.com/view/
14417.htm,即确定数据库http://baike.baidu.com/view/
1088.htm的物理结构http://baike.baidu.com/view/
540437.htm物理结构http://baike.baidu.com/view/
540437.htm主要指数据库http://baike.baidu.com/view/
1088.htm的存储记录格式、存储记录安排和存储方法,这些都依赖于具体所使用的数据库系统http://baike.baidu.com/view/
7809.htm用户登录系统流程图如图4-3所示,首先用户进入系统初始界面,如果用户没有注册,则不能进行登录操作,必须注册信息之后才能登录系统;如果用户已经注册,则需输入用户名以及密码,如果用户名和密码输入错误,则重新输入;如果输入正确,则进入系统界面进行一系列操作图4-3用户登录系统流程图用户进入系统初始界面之后,进行业务选择具体流程如图4-4所示,当选择订票业务后进行信息查询,这时可以选择航班信息查询和个人信息查询;在个人信息中,用户可以对自己的信息进行修改,只需输入要修改的信息后进行保存,然后退出系统;若用户选择航班查询,则输入航班信息,如果航班不存在,则重新输入;如果该航班存在,则输入用户信息进行订票,成功订票后,退出系统当用户选择退票业务,则输入航班和订票日期,系统核对该航班是否符合退票要求,若不符合,则重新输入正确的信息;若正确,则输入个人信息进行退票,退票成功后退出系统图4-4用户选择业务流程图
4.3UML建模UML是一种标准的图形化建模语言,用定义完善的符号来图形化地展示一个软件系统UML的使用可以贯穿于软件开发周期的每一个阶段
4.
3.1UML静态建模静态视图是UML的基础静态视图包括类图、对象图和包图其中类图描述系统中的静态结构,在系统的整个生命周期都是有效的静态视图捕获对象结构,面向对象的系统将数据结构和行为特性统一成单个的对象结构它包括所有的传统数据结构内容,以及数据上操作的组织航空信息管理系统的各功能模块多构成的类图如图4-5所示,“客户信息”类中有客户ID、客户编号、客户电话、客户类型以及客户性别等属性;“客户类型”类中有客户编号,客户姓名以及折扣比例等属性;“票务信息”类中有航班编号、机票价格、客户编号、客户类型以及票号等属性;“航线信息”类中有航线编号、出发城市、到达城市、出发时间以及到达时间等属性;“客机信息”类中有客机编号、客机类型、购买时间以及服役时间等属性图4-5各功能模块类图包是UML的模型元素之一,包可以包含其他包和类包之间也可以有关系,如依赖等包是一种分组机制,它把一些模型元素组织成语义上相关的组,包中拥有或涉及的所有模型元素叫做包的内容作为模型组织的分组机制,包的实例是没有意义的因此包仅在建模时有用,而不需要转换成可执行的系统一个包可以拥有若干模型元素图4-6用内嵌式表示法描述了系统模块之间的嵌套关系在“航空信息管理系统”包中嵌套了4个子包,分别是“客户信息管理”包、“票务信息管理”包、“航线信息管理”包以及“系统管理”包图4-6包的嵌套表示系统模块
4.
3.2UML动态建模在面向对象系统分析与设计中,动态建模用来描述系统的动态行为,显示对象在系统运行期间不同时刻的动态交互在UML中,采用时序图、协作图、状态图和活动图等来建立动态模型时序图(SequenceDiagram)又称顺序图,是一种UML交互图描述了对象之间动态的交互关系,着重体现对象间消息传递的时间顺序系统的动态建模时序图如图4-7所示,该图描述了用户登录系统的流程首先用户在没有注册的情况下要进行注册才能登录系统,用户向“注册”对象发送注册请求,“注册”对象向用户返回注册消息;这时用户可以登录系统,向“登录”对象发送登录请求;如果用户已经注册,用户则直接向“登录”对象发送登录请求,“登录”对象对用户的用户名及密码等信息进行验证,核对正确则返回登录消息;用户登录系统后可以进行各种信息的查询,并对个人信息进行修改用户向“查询信息”对象发送查询并修改个人信息请求,“查询信息”返回查询修改个人信息消息;用户再发送查询航班请求,若航班存在,则返回查询航班消息;如果用户想要订票,则向“订票”对象发送的订票请求,核对信息后返回订票消息;用户完成所有业务流程后,退出系统图4-7用户登录系统时序图活动图是UML用于对系统的动态行为建模的另一种常用工具,它描述活动的顺序,展现从一个活动到另一个活动控制流活动图本质上是一种流程图活动图着重表现从一个活动到另一种活动的控制流,是内部处理驱动的流程系统的动态建模活动图如图4-8所示,该图同样描述了用户登录系统的流程,从图中可以清晰的看出活动与活动之间的控制流用户在登录系统之后,进入分叉转换,可以选择查询个人信息和查询航班信息;在个人信息中可以进行信息的修改;在查询航班信息中有进入分叉转换,可以选择订票和退票业务;然后进入连接转换,更新操作之后的票务信息,最后退出系统图4-8用户登录系统活动图
4.4数据库设计数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率以及实现的效果产生影响合理的数据库结构设计可以提高数据存储的效率,保证数据的完整性和一致性设计数据库系统时应该首先充分了解用户各个方面的需求,包括现有的以及将来可能增加的需求数据库设计一般包括如下几个步骤数据库需求分析、数据库概念结构设计、数据库逻辑结构设计
4.
4.1数据库需求分析客户的需求具体体现在各种信息的提供、保存、更新和查询,这就要求数据库结构能充分满足各种信息的输入和输出收集基本数据、数据结构以及数据处理的流程,组成一份详尽的数据字典,为后面的具体设计打下基础航空公司信息管理系统的数据流程如图4-9所示图4-9航空公司信息管理系统的数据流程针对一般的航空公司信息管理系统的需求,通过对航空公司管理工作过程的内容和数据流程分析,设计如下面所示的数据项和数据结构系统管理员的信息,包括的数据项有管理员姓名、密码、管理员编号、管理员身份证号码、联系电话和备注信息等客户的信息,包括的数据项有客户编号、客户姓名、客户性别、身份证号码、联系电话、客户类型和备注信息等航线的信息,包括的数据项有航线编号、出发城市、到达城市、航班日期、出发时间、到达时间、客机编号、经济舱价格、公务舱价格、头等舱价格和备注信息等航班的信息,包括的数据项有航班编号、起点城市、终点城市、公司名称、飞行时间、客机编号和备注信息等订票的信息,包括的数据项有订票编号、顾客编号、顾客姓名、顾客类型、折扣比例、航线编号、出发城市、到达城市、舱位类型、机票价格、结算金额和备注信息等有了上面的数据结构、数据项和数据流程,我们就可以进行数据库设计
4.
4.2数据库概念结构设计得到上面的数据项和数据结构以后,就可以设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础这些实体包含各种具体信息,通过相互之间的作用形成数据的流动本实例根据上面的设计规划出的实体有管理员、客户、票务信息、航班信息、航线信息等各实体间的联系E-R图如图4-10所示图4-10E-R图
4.
4.3数据库逻辑结构设计现在需要将上面的数据库概念结构转化为SQLServer2005数据库系统所支持的实际数据模型,也就是数据库的逻辑结构
(1)客户信息表主要是记录了客户基本信息结构如表4-1所示表4-1客户信息表列名数据类型长度允许空是否主键说明idint4否是客户编号xingmingvarchar50否否姓名xingbievarchar50否否性别shenfenzhengvarchar50否否身份证号码dianhuavarchar50否否联系方式
(2)航班信息表主要是记录了航班的基本信息,结构如表4-2所示表4-2航班信息表列名数据类型长度允许空是否主键说明idint4否是航班编号qidianvarchar50否否起点城市zhongdianvarchar50否否终点城市gongsivarchar50否否航空公司julivarchar50否否飞行距离shijianvarchar50否否飞行时间jixingvarchar50否否客机型号
(3)订单信息表主要是记录订票订单的基本信息,结构如表4-3所示表4-3订单信息表列名数据类型长度允许空是否主键说明idint50否是订单编号khidint4否否客户信息hbidint4否否航班信息riqivarchar50否否出行日期leixingvarchar50否否机票类型zhangshuvarchar50否否购买张数feiyongvarchar50否否费用
(4)管理员信息表主要记录管理员账号信息,包括用户名和密码,结构如表4-4所示表4-4管理员信息表列名数据类型长度允许空是否主键说明userIdint4否是管理员编号userNamevarchar50否否姓名userPwvarchar50否否密码xingbievarchar50否否性别shenfenzhengvarchar50否否身份证号码dianhuavarchar50否否联系方式
(5)航线信息表主要是记录航线与客机的编号、飞行时间以及机型等信息,结构如表4-5所示表4-5航线信息表列名数据类型长度允许空是否主键说明idint4否是航线编号bianhaoint4否是客机编号shijianvarchar50否否飞行时间jixingvarchar50否否客机型号
4.5本章小结本章从概要设计、详细设计、UML建模以及数据库设计四个方面对系统进行了设计概要设计解决软件系统的模块划分和模块的层次机构以及数据库设计;详细设计http://baike.baidu.com/view/
228950.htm解决每个模块的控制流程、内部算法和数据结构http://baike.baidu.com/view/
9900.htm的设计;UML建模主要用类图、时序图、包图以及活动图从不同的角度对系统进行描述;数据库设计是指对于一个给定的应用环境,构造最优的数据库模式http://baike.baidu.com/view/
37878.htm,建立数据库及其应用http://baike.baidu.com/view/
2233662.htm系统,使之能够有效地存储数据,满足各种用户的应用需求http://baike.baidu.com/view/
195818.htm(信息要求和处理要求)系统的实现在管理信息系统的生命周期中,经过了需求分析、系统设计等阶段之后,便开始了系统实施阶段在系统分析和设计阶段,系统开发工作主要是集中在逻辑功能和技术设计上,系统实施阶段要继承此前面各个阶段的工作成果,将技术设计转化为物理实现,因此系统实施的成果是系统分析和设计阶段的结晶
5.1系统登录页面实现为了保证系统的安全性,要先使用本系统必须先登录到系统中,用户需要输入正确的账号和密码登录本系统程序运行效果图如图5-1所示图5-1系统登录页面设计在登录页面输入用户名和密码,点击提交按钮,跳转到登录的service中,在该service中会对用户名,密码,验证码进行判断,验证通过进入对应的页面,loginservice关键代码publicStringloginStringuserNameStringuserPwintuserType{Stringresult=no;ifuserType==0//系统管理员登录{Stringsql=select*fromt_adminwhereuserName=anduserPw=;Object[]params={userNameuserPw};DBmydb=newDB;mydb.doPstmsqlparams;try{ResultSetrs=mydb.getRs;booleanmark=rs==null||!rs.nextfalse:true;ifmark==false{result=no;}else{result=yes;TAdminadmin=newTAdmin;admin.setUserIdrs.getIntuserId;admin.setUserNamers.getStringuserName;admin.setUserPwrs.getStringuserPw;WebContextctx=WebContextFactory.get;HttpSessionsession=ctx.getSession;session.setAttributeuserType0;session.setAttributeadminadmin;}rs.close;}catchSQLExceptione{System.out.println登录失败!;e.printStackTrace;}finally{mydb.closed;}}returnresult;}
5.2总体功能模块系统主页面左方页面展示了管理员可操作的三大功能,进入相关的管理页面可以链接到子菜单,每个管理模块下面都有相应的子菜单程序运行效果图如图5-2所示图5-2管理员主页面在每个jsp页面将会对相关用户进行拦截操作,这样可以提高安全性,防止用户不经过登录页面而进入任何子菜单页面ifsession.getAttributeuser==null{out.printscriptalert请先登录!;window.open../index.jsp_self/script;}
5.
2.1客户信息管理
1.信息录入管理员输入客户信息相关正确信息后点击录入按钮,如果是没有输入完整的客户信息,都会给出相应的错误提示,不能录入成功输入数据都通过form表单中定义的方法onsubmit=returncheckForm来检查,checkForm函数中是各种的校验输入数据的方式程序效果图如下图5-3所示图5-3客户信息录入
2.客户信息管理管理员点击左侧的菜单“客户管理”,页面跳转到客户信息管理界面,调用后台的action类查询出所有的客户信息,并把这些信息封转到数据集合List中,绑定到request对象,然后页面跳转到相应的jsp,显示出客户信息程序效果图如下图5-4所示图5-4客户信息管理客户信息管理关键代码publicvoidkehuAddHttpServletRequestreqHttpServletResponseres{Stringxingming=req.getParameterxingming;......Stringdel=no;Stringsql=insertintot_kehuvalues;Object[]params={xingmingxingbieshenfenzhengdianhuaemaildel};DBmydb=newDB;mydb.doPstmsqlparams;mydb.closed;req.setAttributemessage客户信息添加成功;req.setAttributepathkehutype=kehuMana;StringtargetURL=/common/success.jsp;dispatchtargetURLreqres;}publicvoidkehuUpdHttpServletRequestreqHttpServletResponseres{intid=Integer.parseIntreq.getParameterid;Stringxingming=req.getParameterxingming;......Stringsql=updatet_kehusetxingming=xingbie=shenfenzheng=+dianhua=email=whereid=;Object[]params={xingmingxingbieshenfenzhengdianhuaemailid};DBmydb=newDB;mydb.doPstmsqlparams;mydb.closed;req.setAttributemessage客户信息修改成功;req.setAttributepathkehutype=kehuMana;StringtargetURL=/common/success.jsp;dispatchtargetURLreqres;}publicvoidkehuDeleHttpServletRequestreqHttpServletResponseres{intid=Integer.parseIntreq.getParameterid;Stringdel=yes;Stringsql=updatet_kehusetdel=whereid=;Object[]params={delid};DBmydb=newDB;mydb.doPstmsqlparams;mydb.closed;req.setAttributemessage客户信息删除成功;req.setAttributepathkehutype=kehuMana;StringtargetURL=/common/success.jsp;dispatchtargetURLreqres;}
3.客户信息修改点击客户管理,页面跳转到客户信息管理界面,浏览所有的客户信息,点击要修改的客户信息,跳转到客户信息修改页面修改该条客户信息程序效果图如下图5-5所示图5-5客户信息修改界面
4.客户信息删除首先点击客户管理,页面跳转到客户信息管理界面,浏览所有的客户信息,点击要删除的客户信息,弹出的确定对话框,即可删除该客户信息程序效果图如下图5-6所示图5-6客户信息删除
5.
2.2航班信息管理
1.航班信息录入管理员输入航班信息相关正确信息后点击录入按钮,如果是没有输入完整的航班信息,都会给出相应的错误提示,不能录入成功输入数据都通过form表单中定义的方法onsubmit=returncheckForm来检查,checkForm函数中是各种的校验输入数据的方式程序效果图如下图5-7所示图5-7航班信息录入
2.航班信息管理管理员点击左侧的菜单“航班管理”,页面跳转到航班信息管理界面,调用后台的action类查询出所有的航班信息,并把这些信息封转到数据集合List中,绑定到request对象,然后页面跳转到相应的jsp,显示出航班信息程序效果图如下图5-8所示图5-8航班信息管理页面航班信息管理关键代码publicvoidhangbanAddHttpServletRequestreqHttpServletResponseres{Stringbianhao=req.getParameterbianhao;......Stringdel=no;Stringsql=insertintot_hangbanvalues;Object[]params={bianhaoqidianzhongdiangongsijulishijianjixingdel};DBmydb=newDB;mydb.doPstmsqlparams;mydb.closed;req.setAttributemessage航班信息添加成功;req.setAttributepathhangbantype=hangbanMana;StringtargetURL=/common/success.jsp;dispatchtargetURLreqres;}publicvoidhangbanUpdHttpServletRequestreqHttpServletResponseres{intid=Integer.parseIntreq.getParameterid;Stringbianhao=req.getParameterbianhao;......Stringsql=updatet_hangbansetbianhao=qidian=zhongdian=gongsi=+juli=shijian=jixing=whereid=;Object[]params={bianhaoqidianzhongdiangongsijulishijianjixingid};DBmydb=newDB;mydb.doPstmsqlparams;mydb.closed;req.setAttributemessage航班信息修改成功;req.setAttributepathhangbantype=hangbanMana;StringtargetURL=/common/success.jsp;dispatchtargetURLreqres;}publicvoidhangbanDeleHttpServletRequestreqHttpServletResponseres{intid=Integer.parseIntreq.getParameterid;Stringdel=yes;Stringsql=updatet_hangbansetdel=whereid=;Object[]params={delid};DBmydb=newDB;mydb.doPstmsqlparams;mydb.closed;req.setAttributemessage航班信息删除成功;req.setAttributepathhangbantype=hangbanMana;StringtargetURL=/common/success.jsp;dispatchtargetURLreqres;}
3.航班信息修改先是点击航班管理,页面跳转到航班信息管理界面,浏览所有的航班信息,点击要修改的航班信息,跳转到航班信息修改页面修改该条航班信息程序效果图如下图5-9所示图5-9航班信息修改页面
4.航班信息删除先是点击航班管理,页面跳转到航班信息管理界面,浏览所有的航班信息,点击要删除的信息,弹出的确定对话框,即可删除该航班信息程序效果图如下图5-10所示图5-10航班信息删除页面
5.
2.3订单信息管理
1.订单信息录入管理员输入订单信息正确信息后点击录入按钮,如果是没有输入完整的订单信息,都会给出相应的错误提示,不能录入成功程序效果图如图5-11所示图5-11订单信息录入
2.订单信息管理管理员点击左侧的菜单“订单管理”,页面跳转到订单信息管理界面,调用后台的action类查询出所有的订单信息,并把这些信息封转到数据集合List中,绑定到request对象,然后页面跳转到相应的jsp,显示出订单信息程序效果图如图5-12所示图5-12订单信息管理订单信息管理核心代码publicvoiddingdanAddHttpServletRequestreqHttpServletResponseres{Stringbianhao=req.getParameterbianhao;Stringkhid=req.getParameterkhid;......Stringdel=no;Stringsql=insertintot_dingdanvalues;Object[]params={bianhaokhidhbidriqileixingzhangshufeiyongdel};DBmydb=newDB;mydb.doPstmsqlparams;mydb.closed;req.setAttributemessage订单信息添加成功;req.setAttributepathdingdantype=dingdanMana;StringtargetURL=/common/success.jsp;dispatchtargetURLreqres;}publicvoiddingdanUpdHttpServletRequestreqHttpServletResponseres{Stringid=req.getParameterid;......req.setAttributemessage订单信息修改成功;req.setAttributepathdingdantype=dingdanMana;StringtargetURL=/common/success.jsp;dispatchtargetURLreqres;}publicvoiddingdanManaHttpServletRequestreqHttpServletResponseresthrowsServletExceptionIOException{ListdingdanList=newArrayList;Stringsql=selectta.*tb.xingmingtc.bianhaohbbhtc.gongsitc.jixing+fromt_dingdantat_kehutbt_hangbantcwhereta.khid=tb.idandta.hbid=tc.idandta.del=no;Object[]params={};DBmydb=newDB;try{mydb.doPstmsqlparams;ResultSetrs=mydb.getRs;whilers.next{TDingdandingdan=newTDingdan;......}rs.close;}catchExceptione{e.printStackTrace;}mydb.closed;req.setAttributedingdanListdingdanList;req.getRequestDispatcheradmin/dingdan/dingdanMana.jsp.forwardreqres;}
3.订单信息修改先是点击订单管理,页面跳转到订单信息管理界面,浏览所有的订单信息,点击要修改的订单信息,跳转到订单信息修改页面修改该条订单信息程序效果图如下图5-13所示图5-13航班信息修改页面
4.订单信息删除先是点击订单管理,页面跳转到订单信息管理界面,浏览所有的订单信息,点击要删除的订单信息,弹出的确定对话框,即可删除该订单信息程序效果图如下图5-14所示图5-14订单信息删除
5.订单信息统计先是点击订单统计,页面跳转到订单信息统计界面,输入订单出行日期的开始时间与结束时间,即可统计该时间段内的所有订单信息程序效果图如下图5-15所示图5-15订单信息统计
5.
2.4修改密码输入用户名和用户的原有密码,输入2次新密码以后点击修改按钮即可成功修改密码程序效果图如图5-16所示图5-16修改密码
5.
2.5退出系统关键代码主要是通过javascript语句来实现,item_word
[8]
[4]=退出系统;item_link
[8]
[4]=javascript:window.open../index.jsp_self;
5.3本章小结系统的实现是本文的主体部分,详细介绍了系统各模块的功能与实现本章节的目的是把详细设计的结果“翻译”成用选定的程序设计语言书写的源程序程序的质量主要是由设计的质量决定的但是编码的风格和使用的语言,对编码的质量也有重要的影响第6章系统测试系统测试是动态查找程序代码中的各类错误和问题的过程随着人类对计算机应用的逐步深入,人们对软件的要求也越来越高,“软件只是能用还不够,必须好用”,“不是人适用软件,而是软件适用人”等观念已经成为人们的共识从而软件测试显得越来越重要
6.1软件测试的目的与任务●目的发现程序的错误●任务消除软件故障,保证程序的可靠运行测试与纠错的关系,可以用图6-1所示的数据流图来说明图中表明,每一次测试都要准备好若干必要的测试数据,与被测程序一起送入计算机执行通常把一次程序执行需要的测试数据称为一个测试用例每一个测试用例产生一个相应的测试结果如果它与期望的结果不相符合,便说明程序中存在错误,需要通过纠正来改正图6-1测试和纠错信息流程
6.2测试过程由于测试是针对代码进行的,因此很多人都认为测试只是编码之后的一个阶段其实不然,项目在一开始就要考虑测试过程,制定测试计划,然后管理测试计划的实施本系统在测试过程中,将编程时随机输入的数据全部替换成有效的测试数据,这样可以更真实的反映系统的功能实现情况经过反复的测试、调试,把问题一个个的解决,最终系统可以正常运行
6.3登录模块测试
1.测试流程首先打开系统首页,在登录界面输入错误信息,点击登录;然后,在登录界面输入正确信息,点击登录;分别查看测试结果实际测试情况如表6-1所示表6-1登录模块测试用例表测试用例编号测试用例期望结果实际结果1用户名null;密码null弹出错误提示,用户名错误登录失败,提示输入用户名2用户名a;密码111111弹出错误提示,用户名、密码错误或帐号已停用登录失败,提示用户名、密码错误或帐号已停用3用户名aa;密码111111弹出错误提示,密码错误登录失败,提示输入密码4用户名aa;密码123456弹出登录成功提示通过验证,系统登录成功测试界面取编号为2的测试用例,输入用户名为“尹”,密码为“111111”;其测试的结果如图6-2所示图6-2错误用例登录界面取编号为4的测试用例,输入用户名为“aa”,密码为“123456”;其测试的结果如图6-3所示图6-3正确用例登录界面错误纠正对于上述用例进行测试后发现,登录模块的出错主要表现在用户名或密码的错误,所以只要正确输入用户名和密码即可纠正错误
6.4修改个人密码测试测试流程首先打开管理员界面,点击修改个人信息模块,然后,输入原密码,最后输入两次一致的新密码,点击修改按钮;分别查看测试结果实际测试情况如表6-2所示表6-2修改个人密码测试用例表测试用例编号测试用例期望结果实际结果1原密码111111新密码222222确认密码222222弹出错误提示,原密码错误修改失败,提示原密码错误2原密码123456新密码222222确认密码222223弹出错误提示,两次输入的密码不一致修改失败,提示两次输入的密码不一致3原密码123456新密码222222确认密码222222弹出修改成功提示,修改成功修改成功
2.测试界面取编号为1的测试用例,输入原密码为“111111”,新密码为“222222”,确认密码为“222222”;其测试的结果如图6-4所示图6-4用例1测试界面取编号为2的测试用例,输入原密码为“123456”,新密码为“222222”,确认密码为“222223”;其测试的结果如图6-5所示图6-5用例2测试界面取编号为3的测试用例,输入原密码为“123456”,新密码为“222222”,确认密码为“222222”;其测试的结果如图6-6所示图6-6用例3测试界面
3.错误纠正对于上述用例进行测试后发现,修改个人信息模块的出错主要表现在原密码输入错误和两次输入密码不一致两种情况,所以只要正确输入原密码和保持两次新密码输入一致,即可纠正错误
6.5本章小结软件测试是一个与项目并行的过程,按照新的观点,测试活动应该分布于需求分析、设计、实现、测试和验收等各个阶段它是软件开发时期最繁重的任务,也是保证软件可靠性最主要的手段本章主要对登录和修改个人信息两个模块进行了测试用例的设计当然软件还并不完善,本次测试的目的在于发现错误,但不能保证软件是正确的因此还需对本项目继续进行测试第7章小结与展望本设计实现了航空公司信息管理系统的一些简单功能,设计了简单的人机交互界面,本软件的设计是由Java语言实现该系统主要完成以下几个功能实现对航班信息、航线信息、客机信息、票务信息以及客户信息的增加、删除和修改等操作通过航空公司信息管理系统的设计,感觉动手能力增强了很多设计本系统,是对自己专业知识的一次检验,也是一次增强自身综合素质机会软件工程这门课程将我们从局部的编写程序带入了整体开发软件的阶段,这是对我们知识与能力的一种挑战本次设计锻炼了实践能力,增长了我发现问题、解决问题的能力,大大丰富了自己的专业知识和技能深知本系统的功能还没有得到进一步的完善,以后会继续努力,在今后的学习过程中,不断地提高自己参考文献
[1]Java语言编程SL-275学生指南SunServices[M].修订版
2000.
[2]萨师煊王珊.数据库系统概论[M].北京:北京高等教育出版社
2002.
[3]马朝晖.陈美红.Java语言导学[M].北京:机械工业出版社http://baike.baidu.com/view/
156089.htm
2013.
[4]牛允鹏.数据库及其应用[M].经济科学出版社
2005.
[5]高焕堂.UseCase入门与实例[M].北京:清华大学出版社
2008.
[6]郭建胜.航空装备信息管理系统[M].国防工业出版社2007
[7]程宝雷徐丽金海东.软件测试工具使用教程[M].清华大学出版社
2009.
[8]袁玉宇.软件测试与质量保证[M].北京邮电大学出版社
2008.
[9]郑人杰.软件工程概论[M].北京:机械工业出版社
2010.
[10]郑人杰普雷斯曼.软件工程实践者的研究方法[J]
2011.
[11]李建中王珊.数据库系统原理[M].第2版.电子工业出版社
2004.
9.
[12]朱涛江.SqlServer权威指南[J].中国电力出版社
2003.
[13]北风网讲师.Java开发利器之MyEclipse全面详解[M].机械工业出版社
2012.致谢四年的大学生涯即将画上圆满的句号,但这不是终点,而是步入社会的新起点非常感谢在这四年时间里老师们对我知识的传授,是你们教会了我应该勤奋学习,诚实做人,踏实做事,乐观面对生活你们的教诲指引我们沿着正确的方向前进,在点滴汇聚中使我逐渐形成正确的人生观、价值观在这里特别要感谢我的毕业设计指导老师——**老师在大学的最后一个阶段——毕业设计阶段,*老师为我提供了很大的帮助当我第一次将选题和任务书交给*老师时,老师对我进行了耐心的指导,为我的系统提供了很多专业的看法,让我找到了新的思路他的耐心与专业感染了我,让我有信心将毕业设计坚持下去期间,我多次将我的论文初稿发给*老师,请老师批评指导,*老师不遗余力的对我的论文进行修改,他是如此的严谨细致,一丝不苟非常感谢*老师的帮助让我完成了大学生涯中的最后一个“课”另外,特别感谢我的班主任老师——**老师在校期间*老师对工作认真、对学生负责,是名副其实的一代良师在学习与生活中,*老师给了我很大的帮助最后,特别感谢四年来所有的老师和同学们,谢谢你们所有的付出。