摘 要
在现实生活中,人们往往要处理大量繁杂的数据。在这种情况下,利用日趋成熟的计算机技术和数据库管理技术来进行数据处理非常方便。各种信息管理软件也就随之出现了。当今的航空客运服务业发展十分迅速,它是现代生活高节奏的一个有力体现。在航空服务业中,飞机订票业务是一项重要内容,它大大方便了人们的旅行。
当前中国民航市场扩大迅速,随着生活水平的提高,越来越多的人选择飞机出行,对航空公司的服务要求的越来越高,为了适应快速发展的需求,管理大量数据,有效地稳定的管理航空公司,在此将开发一个航空公司信息管理系统,要求能通过该系统为顾客提供航班查询,购买机票以及退票的服务。
本文是软件工程设计航空公司信息管理系统的开发说明,重点运用软件工程知识对系统进行分析、设计实现和测试的思想的具体描述,其中包括软件生命周期的三个主要方面:软件定义(问题定义、可行性研究、需求分析)、软件开发(总体设计、详细设计、编码、测试)和运行维护。通过实际的运用软件工程知识处理问题,加强程序的规范性、清晰性、可靠性,并且使得程序易于维护。本软件使用JAVA进行编写,具有良好的兼容性且易于实现。本系统操作简洁容易上手、结构简单、查找方便、实用性强。
【关键词】:航空公司信息管理,软件工程,Java
武汉理工大学《软件工程》论文
目 录
摘 要 ...................................................................... 1 1. 概述...................................................................... 1 1.1 软件工程的概述 ......................................................... 1 1.2 航空公司信息管理系统的产生背景 ......................................... 1 1.3 航空公司信息管理系统的概述 ............................................. 2 2. 航空公司信息管理系统的分析 ................................................ 3 2.1 问题定义 ............................................................... 3 2.2 可行性研究 ............................................................. 3 2.2.1 技术可行性 ......................................................... 3 2.2.2 经济可行性 ......................................................... 5 2.2.3 操作可行性 ......................................................... 5 2.3 需求分析 ............................................................... 6 2.3.1 确定对系统的综合要求 ............................................... 6 2.3.2 分析建模 ........................................................... 6 2.2.3 系统逻辑模型 ...................................................... 10 3. 航空公司信息管理系统的设计 ............................................... 11 3.1 总体设计 .............................................................. 11 3.1.1 软件层次结构图 .................................................... 11 3.1.2 IPO图 ............................................................ 11 3.2 详细设计 .............................................................. 12 3.2.1 软件程序流程图 .................................................... 12 3.2.2 主要功能盒图设计 .................................................. 14 3.2.3 出错处理设计 ...................................................... 16 4.总结 ..................................................................... 17 参考文献.................................................................... 18
武汉理工大学《软件工程》论文
1. 概述
1.1 软件工程的概述
软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及到程序设计语言,数据库,软件开发工具,系统平台,标准,设计模式等方面。在现代社会中,软件应用于多个方面。典型的软件比如有电子邮件,嵌入式系统,人机界面,办公套件,操作系统,编译器,数据库,游戏等。同时,各个行业几乎都有计算机软件的应用,比如工业,农业,银行,航空,政府部门等。这些应用促进了经济和社会的发展,使得人们的工作更加高效,同时提高了生活质量。
软件工程的目标是:在给定成本、进度的前提下,开发出具有可修改性、有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性并且满足用户需求的软件产品。追求这些目标有助于提高软件产品的质量和开发效率,减少维护的困难。
生产一个最终能满足需求且达到工程目标的软件产品所需要的步骤。软件工程过程主要包括开发过程、运作过程、维护过程。它们覆盖了需求、设计、实现、确认以及维护等活动。需求活动包括问题分析和需求分析。问题分析获取需求定义,又称软件需求规约。需求分析生成功能规约。设计活动一般包括概要设计和详细设计。概要设计建立整个软件系统结构,包括子系统、模块以及相关层次的说明、每一模块的接口定义。详细设计产生程序员可用的模块说明,包括每一模块中数据结构说明及加工描述。实现活动把设计结果转换为可执行的程序代码。确认活动贯穿于整个开发过程,实现完成后的确认,保证最终产品满足用户的要求。维护活动包括使用过程中的扩充、修改与完善。
1.2 航空公司信息管理系统的产生背景
在现代社会,人们的生活节奏越来越快,如何提高生产生活质量成为人们日益关注的话题。二十一世纪是一个信息化技术高度发达的时代,信息化技术已经深入社会生活的各个领域。在当今激烈的市场竞争中,谁掌握着信息的控制权,谁就掌握着主动权,现代企业的竞争就是一个例证。在现代大型企业中,仅靠人力对企业进行管理不仅效率低下,有时甚至是
1
武汉理工大学《软件工程》论文
根本不可能完成的一项任务。因此,必须借助信息技术的发展,对企业的各项事务实施信息化管理,以提高工作效率和可靠性,这也是建立现代化企业的要求和时代发展的必然趋势。
在信息技术还不是十发达的时代,人们在要旅行的时候,必须到车站或是机场的售票处临时买票,或者提前好几天到离居住地很远的地方事先将票买好。在这种情况下,人们不知道是否能按预期买到票。在旅行旺季的时候,有时耽误了大量的时间也没将票买好,给人们的出行带来了很大的不便。
随着信息技术的日趋成熟,航空业务随之产生。现在,人们如果要外出旅行,可以提前将机票预订好。而且更为方便的是,人们不必亲自到机场买票,因为很多地方都有提供订票业务。这大大方便了人们的外出旅行和工作,提高了服务质量和效率。
1.3 航空公司信息管理系统的概述
一般来说一个好的营运的航空公司需要管理所拥有的飞机、航线的设置、客户的信息等,更重要的还要提供票务管理。面对各种不同种类的信息,需要合理的数据库结构来保存数据信息以及有效的程序结构支持各种数据操作的执行。本设计讲述如何建立一个航空公司信息管理系统。系统开发的总体任务是实现各种信息的系统化、规范化和自动化。一般而言,航空公司的管理系统应该包括人事管理系统、设备管理系统和航班管理系统 。由于时间有限,在此先实现航班管理系统,其他模块暂不实现。作为一个订票系统,其服务的对象是双方面的:航空公司和乘客。因此,一个好的信息管理系统,必须让双方在使用时都快捷方便。本系统采用Java为设计语言,界面设计简洁而实用,操作简单。JCreator的开发环境使得本系统的开发简单节省时间,而且在运行测试以及维护等方面也不像其他的开发工具来得繁琐,更减少了在维护方面的成本。
本系统主要实现的功能有:查询航线(根据旅客提出的终点站名输出下列信息:航班号,飞机号,星期几飞,最近一天航班的日期和余票量。),订票(根据客户提出的要求如航班号,所需票数来查询该航班的票额情况,若尚有余票,则为客户办理订票手续;若已满员或余票额少于订票额,则需重新询问客户要求,若需要可登记排队候补。),退票(根据客户提供的情况日期和航班,为客户办理退票手续,然后查询该航班,是构有人排队候补,首先询问排在第一的客户,若退票额能满足他的要求,则为他办理订票手续,否则一次询问其他候补客户。)
2
武汉理工大学《软件工程》论文
2. 航空公司信息管理系统的分析
2.1 问题定义
问题定义阶段必须确定系统应该做什么,一般应通过对客户的访问调查,让系统分析员扼要地写出关于问题性质、工作目标和工程规模的书面报告,经过讨论和必要的修改之后这份报告应该得到客户的确认。由于此次程序实现的功能较少且简单,只是实现了用户对航班信息的查询,订票和退票的简单操作,因此跳过。
2.2 可行性研究
2.2.1 技术可行性
软件工程的方法学分为面对过程方法学和面对对象方法学。本信息管理系统的设计采用面对对象方法学来设计。面对对象方法学而面向对象围绕现实世界的概念来组织模块,采用对象描述问题空间的实体,用程序代码模拟现实世界中的对象,使程序设计过程更自然、更直观。
面向过程方法学是以功能为中心来描述系统,而面向对象方法学是以数据为中心来描述系统。相对于功能而言,数据具有更强的稳定性。
面向对象方法学模拟了对象之间的通信。就象人们之间互通信息一样,对象之间也可以通过消息进行通信。这样,我们不必知道一个对象是怎样实现其行为的,只需通过对象提供的接口进行通信并使用对象所具有的行为功能。而面向过程则通过函数参数和全局变量达到各过程模块联系的目的。
面向对象把一个复杂的问题分解成多个能够完成独立功能的对象(类),然后把这些对象组合起来去完成这个复杂的问题。采用面向对象模式就象在流水线上工作,我们最终只需将多个零部件(已设计好的对象)按照一定关系组合成一个完整的系统。这样使得软件开发更有效率。
本信息管理系统的程序代码用Java来编写,Java是一种面对对象的程序设计语言。Java是由Sun Microsystems公司于1995年5月推出的Java程序设计语言(以下简称Java语言)和Java平台的总称。用Java实现的Hot Java浏览器(支持Java applet)显示了Java的
3
武汉理工大学《软件工程》论文
魅力:跨平台、动态的Web、Internet计算。从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器现在均支持Java applet。另一方面,Java技术也不断更新。
Java平台由Java虚拟机(Java Virtual Machine)和Java 应用编程接口(Application Programming Interface、简称API)构成。Java 应用编程接口为Java应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。在硬件或操作系统平台上安装一个Java平台之后,Java应用程序就可运行。现在Java平台已经嵌入了几乎所有的操作系统。这样Java程序可以只编译一次,就可以在各种系统中运行。
Java具有一下特点:
1、Java语言是简单的。Java从C++演变而来,保留了C++的许多优点,去除了C++中易产生错误的功能,简化了内存管理,减轻了程序员进行内存管理的负担。
2、Java语言是一个面向对象的。Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制。Java语言全面支持动态绑定, Java语言是一个纯的面向对象程序设计语言。
3、Java语言是分布式的。Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口,它提供了用于网络应用编程的类库。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
4、Java语言是健壮的。Java的强类型机制、异常处理、废料的自动收集等是Java程序健壮性的重要保证。对指针的丢弃是Java的明智选择。Java的安全检查机制使得Java更具健壮性。
5、Java语言是安全的。Java通常被用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻击。Java对通过网络下载的类具有一个安全防范机制,并提供安全管理机制让Java应用设置安全哨兵。
6、Java语言是体系结构中立的。Java程序在Java平台上被编译为体系结构中立的字节码格式,然后可以在实现这个Java平台的任何系统中运行。
7、Java语言是可移植的。这种可移植性来源于体系结构中立性,另外,Java还严格规定了各个基本数据类型的长度。Java系统本身也具有很强的可移植性。
8、Java语言是解释型的。在运行时,Java平台中的Java解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。
9、Java是高性能的。与那些解释型的高级脚本语言相比,Java的确是高性能的。事实上,Java的运行速度随着JIT(Just-In-Time)编译器技术的发展越来越接近于C++。
4
武汉理工大学《软件工程》论文
10、Java语言是多线程的。在Java语言中,线程是一种特殊的对象,它必须由Thread类或其子(孙)类来创建。线程的活动由一组方法来控制,Java语言支持多个线程的同时执行,并提供多线程之间的同步机制。
11、Java语言是动态的。Java程序需要的类能够动态地被载入到运行环境,也可以通过网络来载入所需要的类。这也有利于软件的升级。另外,Java中的类有一个运行时刻的表示,能进行运行时刻的类型检查。
Java语言的优良特性使得Java应用具有无比的健壮性和可靠性,这也减少了应用系统的维护费用。Java对对象技术的全面支持和Java平台内嵌的API能缩短应用系统的开发时间并降低成本。Java的编译一次,到处可运行的特性使得它能够提供一个随处可用的开放结构和在多平台之间传递信息的低成本方式。特别是Java企业应用编程接口(Java Enterprise APIs)为企业计算及电子商务应用系统提供了有关技术和丰富的类库。
本系统采用java作为开发语言,来实现安全的、多线程的、可移植航空定票系统,并且降低开发难度。
2.2.2 经济可行性
本系统实现的功能较少且简单,所以在开发的过程中基本上不需要考虑什么成本,开发人员已尽可能的减少。使用较成熟的开发工具也减少不必要的支出,只需用很小的代价便可开发完毕。使用本系统的用户只需在短时间内就可以获得个人所需的信息,并获得需要的服务。这点与传统的人工服务相比,效率得到了很大的提升,无论是对用户还是公司都节省了大量的时间,带来很大的方便,并且省去了雇佣员工的费用。软件的经济效益大大的超过了它的开发成本,所以开发本软件在经济上是可行的。
2.2.3 操作可行性
本系统采用的是直观的图形用户界面,用户进入航空公司信息管理系统的主界面后,有查询、订票和退票这三个操作按钮可供用户选择,各个界面简洁,操作方便,容易上手,更有提示信息。航班的查询只要在查询界面按提示输入信息,然后在界面显示相应的信息。预订机票只要在订票界面输入提示信息,就可预订成功,如果预订数量超过余票量,则系统提示,请从新预订。退票则只要在退票界面按提示输入信息,系统核对过正确后,就可确认退票。总体来说,程序操作简单,数据显示直观。
5
武汉理工大学《软件工程》论文
2.3 需求分析
2.3.1 确定对系统的综合要求
1.功能需求:航空公司信息管理系统必须完成的功能是:对机票的查询、订票和退票的简单管理操作,系统的实现采用直观的图形用户界面,用户进入航空公司信息管理系统的主界面后,有查询、订票和退票这三个操作界面可供用户选择,各个界面简洁,操作方便,容易上手。用户可以对航班进行详细的信息查询,然后根据需求进行订票和退票(整个程序运行过程中,对用户不当的操作将提出错误警告)。
2.性能需求:为了保证系统能够长期、安全、稳定、可靠、高效的运行,系统应该满足以下的性能需求:系统处理的准确性和及时性是系统的必要性能,航空公司信息管理系统在开发过程中,应该充分考虑以后的可扩充性,要求系统提供足够的手段进行功能的调整和扩充。
2.3.2 分析建模
1、对象模型
程序中建立了四个类,类图如图2-1所示:
图2-1 类图
6
武汉理工大学《软件工程》论文
2、功能模型
数据流图如图2-2所示:
查询航班信息 登入航空公司信查询处理 航空公司信息管理系统 退票 订票 用户 息管理系统 订票处理 退票处理 航班信息 图2-2 数据流图
系统用例图如图2-3所示:
7
用户 航空公司信息管理系统 航班信息的查询 订票 退票 图2-3 航空公司信息管理系统用例图 武汉理工大学《软件工程》论文
3、动态模型
主要状态转换图如下:
选择查询 输入 Do/输入终点站 确定 无效 重置 核对 Do/核对终点站 提示 Do/提示无此航班 继续 有效 显示 Do/显示航班信息 图2-4 查询的状态转换图 8
武汉理工大学《软件工程》论文
选择订票 输入 Do/输入航班号 确定 无效 重置 核对 Do/核对航班号 提示 Do/提示无此航班 继续 有效 输入 Do/输入用户信息 图2-5 订票的状态转换图
选择退票
输入 Do/输入日期和航班号 确定 无效 重置 核对 Do/核对日期和航班号 有效 提示 Do/提示无此航班 继续 输入 Do/输入用户信息和退票数 图2-6 退票的状态转换图
9
武汉理工大学《软件工程》论文
2.2.3 系统逻辑模型
航班信息实体E-R图
终点站 航班 余票量 价格 航班号 飞机号
图2-7航班信息实体E-R图
用户信息实体E-R图
用户 时间 姓名 图2-8 用户信息实体E-R图
联系方式
10
武汉理工大学《软件工程》论文
3. 航空公司信息管理系统的系统设计
3.1 总体设计
3.1.1 软件层次结构图
航空公司信息管理系统 航班信息查询模块 预订机票模块 退票模块
图3-1软件层次结构图
3.1.2 IPO图
选择相应的操作选项 执行操作 显示操作结果
图3-2 主模块的IPO图
图3-3 查询模块的IPO图
11
输入 要查询的终点站 处理 1.校验终点站 2.查询信息 输出 有效的信息 武汉理工大学《软件工程》论文
输入 需预定的航班号和订票数 处理 1.校验航班号和订票数 输出 用户订票信息
图3-4 订票模块的IPO图 输入 需预定的日期和航班号 处理 1.校验日期和航班号 输出 用户退票信息 图3-4 退票模块的IPO图 3.2 详细设计
3.2.1 软件程序流程图
软件具体工作流程:查询,首先查询航班信息,填写终点站;然后对用户填写的数据信息进行核对处理,如果不符合就提示错误,如果符合要求就显示信息。订票,首先填写航班号和订票数;然后对用户填写的数据信息进行核对处理,如果不符合就提示错误,或者余票量不够,进入排队候补登记,如果符合要求就进入订票界面,最后填写用户个人信息确定订票。退票,首先填写日期和航班号,然后对用户填写的数据信息进行核对处理,如果不符合就提示错误,如果符合要求就进入退票界面,最后填写用户个人信息和退票数确定退票。
12
武汉理工大学《软件工程》论文
程序流程图如下:
启动界面 选择 查询信息 订票 退票 输入终点站 否 输入航班和订票数 是 是否符合 输入日期和航班 否 是否符合 是 是否存在此航班 否 否 是否为余票量不够 输入用户信息 输入用户信息 是 是 输出航班信息 排队候补登记 退出 退出 退出
图3-6 程序流程图
13
武汉理工大学《软件工程》论文
3.2.2 主要功能盒图设计
启动总界面 选择操作 查询操作 订票操作 退票操作 查询航班信息 预订机票 退票
图3-7 软件启动盒图
查询 输入终点站 是否符合航班信息 N
Y 显示航班信息 提示出错
图3-8 查询操作盒图
14
武汉理工大学《软件工程》论文
订票 输入航班号和订票数 是否符合 N
Y 是否为余票量不够 Y N 排队候补 用户个人信息登记 提示出错
图3-9 订票操作盒图
退票 输入日期和航班号 是否符合航班信息 N
Y 用户个人信息登记 提示出错
图3-10 退票操作盒图
15
武汉理工大学《软件工程》论文
3.2.3 出错处理设计
程序在运行时主要会出现两种错误:(1)由于输入信息,或无法满足要求时产生的错误,称为软错误。(2)由于其他问题,如计算机软件故障、模块语句错误等,产生的问题,称为硬错误。
对于软错误,须在查询操作成功判断及输入数据验证模块由数据进行数据分析,判断错误类型,再生成相应的错误提示语句,送到输出模块中。
对与硬错误,可在出错的相应模块中输出简单的出错语句,并将程序重置。返回输入阶段。出错信息必须给出相应的出错原因。
16
武汉理工大学《软件工程》论文
5.总结
本设计实现了航空公司信息管理系统的一些简单功能,设计了3个简单的人机交互界面,本软件的设计是由JAVA语言实现。主要实现的功能有:航空信息的查询、订票和退票。
通过航空公司信息管理系统的设计,感觉动手能力增强了很多,JAVA编程能力有了比较大的提升。设计本系统,是对自己专业知识的一次检验,也是一次增强自身综合素质机会。软件工程这门课程将我们从局部的编写程序带入了整体开发软件的阶段,这是对我们知识与能力的一种挑战。本文是软件工程设计航空公司信息管理系统的开发说明,重点描述运用软件工程知识对系统进行分析、设计和实现的思想,其中包括软件生命周期的三个主要方面:软件定义(问题定义、可行性研究、需求分析)、软件开发(总体设计、详细设计、编码、测试)和运行维护。通过对开发本系统的文档的书写,更进一步学习了软件开发的全过程,把软件工程知识与实际开发软件相结合,规范了实际开发软件程序的全过程,为将来的毕业设计做准备。
总之,本次设计锻炼了实践能力,增长了我发现问题、解决问题的能力,大大丰富了自己的专业知识和技能。由于各种原因,系统的功能还没有得到进一步的完善,以后会继续努力,在今后的学习过程中,不断地提高自己。
17
武汉理工大学《软件工程》论文
参考文献
[1] 张海藩,软件工程导论(第5版),清华大学出版社,2008 [2] 史济民,软件工程—原理、方法与应用,高等教育出版社,2002 [3] 周苏,王文,软件工程学教程,科学出版社,2004 [4] 郑人杰,实用软件工程,清华大学出版社,2002
[5] 张湘辉等,软件开发的过程与管理,清华大学出版社,2005
[6] 陈松乔,任胜兵,王国军,现代软件工程 [M],清华大学出版社,2004 [7] 薛德黔等,软件工程,科学出版社,2005 [8] 郭宁,软件工程实用教程,人民邮电出版社,2006 [9] 汤一平,Java语言程序设计,科学出版社,2006 [10] 孙卫琴,java面向对象编程[M],电子工业出版社, 2006
18
因篇幅问题不能全部显示,请点此查看更多更全内容