《软件工程机票预订系统.doc》由会员分享,可在线阅读,更多相关《软件工程机票预订系统.doc(21页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、,本科实验报告课程名称: 软件工程实验指导书 实验项目: 机票预定系统 实验地点: 计算机学院实验室 专业班级: 计Z1101 学号:2011001491学生姓名: 李康达 指导教师: 崔冬华 2013年 11 月 20 日一问题定义1系统简介航空公司为给旅客乘机提供方便,需要开发一个机票预定系统。各个旅行社把预定机票的旅客信息(姓名、性别、工作单位、身份证号码(护照号码)、旅行时间、旅行始发地和目的地,航班舱位要求等)输入到系统中,系统为旅客安排航班。当旅客交付了预订金或通过网上支付方式付款后,旅客就可以在飞机起飞前凭个人二代身份证在机场指定系统上自助打印机票,系统核对无误即打印出机票给旅客
2、。此外航空公司为随时掌握各个航班飞机的乘载情况,需要定期进行查询统计,以便适当调整。2技术要求和限制条件(1)在分析系统功能时要考虑有关证件的合法性验证(如身份证的验证可以直接连接公安系统的二代身份证信息库)等。(2)对于本系统还应补充以下功能:1旅客延误了取票时间的处理2航班取消后的处理3旅客临时更改航班的处理(3)系统的外部输入项至少包括:旅客、旅行社和航空公司。二传统软件工程的可行性研究1系统建设目标在对系统初步调查的基础上就可以提出项目的开发目标,即新系统建立后所要求达到的运行指标,这是系统开发和评价的依据。由于机票预定系统存在工作量大、事务繁琐的特点,预定机票还没有进入智能化处理阶段
3、,且工作的效率很低。为提高工作效率,减轻机场工作人员的工作负担,决定针对机票预定开发管理系统软件,以供航空公司管理人员通过电脑操作进行机票预定管理,从而使机票预定管理工作系统化、规范化、自动化,提高整个订票流程的效率,使总体水平上升到一个新的高度。并且计算机的存储与快速查询功能大大提高了机票管理的效率,并且还提高了机票预定的精确度。方便快速的操作,可减少从前的漏洞,又减少因工作的冗余出现的错误,并且操作非常简单,可减少许多不很必要的人员。2可行性分析可行性分析是任何一个大型工程正式投入力量之前必须进行的一项工作。这对于保证资源的合理利用、避免浪费是一个十分重要的,也是项目一旦开始以后能顺利进行
4、的必要保证。当系统的开发目标确定后,就可以从以下三方面对能否实现新系统目标进行可行性分析:1)技术可行性根据客户提出的系统功能、性能及实现系统的各项约束条件,从技术的角度研究实现系统的可行性 I、技术分析 当前的科学技术是否支持系统开发的全过程。主要包括一下4个方面:采集影响系统性能、可靠性、可维护性方面的信息论证实现系统功能和性能需要的各种设备、技术、方法和过程 分析项目开发在技术上担负的风险,及对开发成本的影响等等 如有可能应研究,现有类似系统的功能、性能,采用的技术、工具、设备、开发过程中成功和失败的经验、教训,为系统开发作参考。II、研究技术可行性的途径主要有一下4种: 系统分析员通过
5、对现实世界的观察和分析建立分析模型 评估模型的行为并将它们与现实世界对比 论证系统开发方案在技术上的可行性和优缺点。 开展其它技术可行性研究和设计活动III、技术可行性的困难主要体现在以下4个方面: 技术发展块 领域知识不熟悉 系统目标、功能和性能不确定 建立分析模型、仿真随着计算机科学技术的不断进步,管理信息系统在各个领域上广泛应用。我国虽处在发展中,但商品经济的热潮已经不断增长,且人们对于科技的投资正在不断的加大,在现代的网络与信息技术的高速发展人们对生活质量的要求不断的提高,及信息技术的依赖,为了适应当前的发展形势,跟上现代科技的发展所以我们有必要为当前数量较多的酒店、旅行社及机票预售点
6、设计更为方便快捷的系统,从而更有利于经济的发展。该机票预定系统是以数据库为后台核心应用、以服务为目的信息平台,对资源进行科学的加工整序和管理维护。 2)经济可行性计算机迅速发展的原因在于,计算机的应用给社会带来了巨大的经济效益。基于计算机系统的成本效益分析,给出系统开发的成本论证,并将估算的成本与预期的利润进行对比。项目开发成本受项目的特性、规模等因素制约。系统分析员很难直接估算基于计算机系统的成本和利润,得到完全精确的成本-效益分析结果十分困难。因此非常有必要进行经济可行性研究。基于计算机系统的成本: 购置并安装软件、硬件及有关设备的费用。 系统开发费用。 系统安装、运行和维护费用。 人员培
7、训费用。 在系统分析和设计阶段只能得到预算,即估算成本。在系统开发完毕并交付用户运行后,费用的统计结果就是实际成本。经济效益:系统为用户增加的收入,可以用直接的或统计的方法估算。估算项目的开发成本是否超过预期的利润分析系统开发对其他产品或利润的影响社会效益:用定性的方法估算。 该系统的目标是以最低的成本,最低的投入,在较短的时间内参阅大量的资料开发出具有用户登录、存储,查询,核对,打印机票等基本功能,预期系统设计期间所投入的资金较小,从经济角度考虑,此系统开发可行。3) 运行可行性 运行可行性是指所建立的信息系统能否在该企业实现,在当前的操作环境下能否很好的进行,即组织内外是否具备接受和使用新
8、系统的条件。本系统为一个普通的信息管理系统,所耗费的资源非常的小,机场的电脑无论是硬件还是软件都能够满足条件;而且将来的操作界面简洁易操作,机场管理人员无需培训即可很快学会如何进行操作。因此,本系统在运行上是可行的。4)法律可行性整个系统由于是自行开发,自行使用,在开发过程中没有涉及合同、责任等与法律抵触的方面。因此,本系统在法律上是可行的。按上述四方面进行可行性分析、研究后,我们认为该项目是可行的。三. 传统软件工程的需求分析建模1.机票预订系统的需求陈述本机票预订系统可实现对大、中城市酒店、旅行社、机票销售网点进行机票预订的管理,相对于原始的人工管理方式,采用该系统管理可大幅度提高管理效率
9、,简化烦琐的操作手续,防止数据的丢失,进行快捷的统计、查询、整理。系统具备的基本功能如下:1、客信息的管理:旅客信息的添加、删除、修改,及 信息查询等操作。2、票信息的传递和接收。3、票预订系统还应该具有友好、简洁的界面,安全性要高,稳定性要强2. 机票预订系统数据流图1.0层数据流图 2.1层数据流图:3.订票系统的数字字典名字旅客信息别名来源旅客描述记录旅客个人信息,用于旅客身份确认定义旅客信息=姓名+性别+证件号+联系方式位置订票信息管理旅客信息数据字典名字订票信息别名来源旅客描述旅客所要求的航班信息和自己基本信息定义订票信息=旅客姓名+性别+证件号+所要的航班号+机票类型+票价位置订票
10、信息管理订票信息数据字典名字取票信息别名来源航班机票管理系统描述给旅客的所需要的取票通知单定义取票清单=取票时间+票价+机票类型+航班号+座位号+旅客姓名+登机口+起飞时间+抵达时间+出发点+目的地位置输出到打印机取票信息数据字典名字航班信息信息别名来源航空公司安排航班描述航空公司所拥有航线信息每条航线起飞时间到达时间信息每条航线已出售机票和未出售机票信息定义航班信息清单=航线+出售机票号+未出售机票号位置航班机票管理航班信息数据字典四 .传统软件工程的结构设计1软件体系结构图本系统的软件体系结构图,参见图所示:机票预订管理系统旅客用户模块航空公司模块机场售票模块系统管理员模块查寻机票信息预订
11、机票打印取票清单机票退订航班信息管理飞机管理机票信息管理公司信息管理航班信息查询机票信息查询打印机票数据库更新系统硬件维护系统软件安全防护4.1.1系统结构图2.模块设计 2.1用户注册模块 1. 模块描述本模块的主要功能,是根据旅行社提供的预定机票的旅客信息,由操作员输入旅客信息,同时保存在数据库。2. 功能 主要是记录预定机票的旅客信息,是系统产生取票通知和账单的源数据。 3. 性能 操作员输入预定机票的旅客信息后,数据库立即保存记录,并通过查询可以检测 保存是否成功。 4. 输入项 客户定票信息:任意长度字符串,包括数字、汉字和英文字母。 5. 输出项 有效用户和无效用户2.2产生票据模
12、块 4.2.2票据产生图1. 模块描述 本模块的主要功能,是根据操作员在输入数据模块中输入的预定机票的旅客信息 由系统产生的相关取票通知和账单。 2. 功能 系统的产生与客户信息相对应的取票通知和账单。 3. 性能 操作员输入客户信息后,立即产生相对应的取票通知和账单,如果数据库中没有 预定的票,则提示无票,说明原因。 4. 输入项 客户定票信息:任意长度字符串,包括数字和汉字和英文字母。 5. 输出项 取票通知和账单。 (1) 取票通知 姓名:任意长度字符串。班次:8位长度字符串(班次=出发地+目的地+序列号) 。 日期:date类型。 (2 )账单 姓名:任意长度字符串。 账单号:账单号=
13、日期+序列号,序列号:00000009999900。 金额:任意位数字。 日期:date类型。3数据库结构根据总的结构图设计各表结构,对相应表的定义如下属性属性说明数据类型宽度是否为空是否为主(p)/外键(F)Name姓名varChar50否Yes(P)Sex性别varChar50否Call联系方式Int32否Credential证件号Int32否4.3.1旅客关系表属性属性说明数据类型宽度是否为空是否为主键(P)/外键(F)Name姓名varChar50否Yes(P)Seat number座位号Int10否Yes(F)Rank舱位等级varChar50否Number航班号Int10否Djko
14、u登机口Int10否Price票价Int10 否Go time出发时间Datetime否Arrive time抵达时间Datetime 否4.3.2机票信息表属性属性说明数据类型宽度是否为空是否为主键(P)/外键(F)Number航班号Int10否Yes(p)Distance航程Int10否Go time出发时间Datetime 否Arrive time抵达时间Datetime 否From city出发地varChar50否To city目的地varChar50否Gs number公司编号Int10否4.3.3航班信息属性属性说明数据类型宽度是否为空是否设为主键(P)/外键(F)Gs numb
15、er公司编号Int20否Yes(P)Gs name公司名称varChar50否Address地址varChar50否Gs call公司电话号Int32 否4.3.4航空公司信息表4.数据库表创建创建表SQL语言USE SHUJUKUCREATE TABLE 旅客信息表(姓名 varchar(10) NOT NULL primary key, 性别 varchar(10) NOT NULL, 电话 int NOT NULL, 证件号 int not NULL)goUSE SHUJUKUCREATE TABLE 机票信息表(姓名 varchar(50) NOT NULL primary key,
16、航班号 int NOT NULL,登机口 int NOT NULL, 座位号 int NOT NULL, 舱位等级 varchar(50) NOT NULL, 票价 int NOT NULL, 出发时间 datetime NOT NULL, 抵达时间 datetime NOT NULL)goUSE SHUJUKUCREATE TABLE 航班信息表(编号 int NOT NULL primary key, 航班号 int NOT NULL, 航程 int NOT NULL, 起飞时间datetime NOT NULL, 到达时间datetime NOT NULL, 出发地 varchar(50
17、)NOT NULL, 目的地 varchar(50) NOT NULL)goUSE SHUJUKUCREATE TABLE 航空公司信息表(编号 int NOT NULL primary key, 公司名 varchar(50) NOT NULL, 电话号 int NOT NULL, 地址 varchar(50) NOT NULL)五 .测试测试用例:使用黑盒法测试 “新增航班” 模块功能1验证表单完整性:用例一:出发城市:北京到达城市:起飞日期:起飞时间:机票价格:机票数目:用例二:出发城市:北京到达城市:上海起飞日期:起飞时间:机票价格:机票数目:用例三:出发城市:北京到达城市:上海起飞日
18、期:2008-6-11起飞时间:机票价格:机票数目:用例四:出发城市:北京到达城市:上海起飞日期:2008-6-11起飞时间:12:30机票价格:机票数目:用例五:出发城市:北京到达城市:上海起飞日期:2008-6-11起飞时间:12:30机票价格:1234机票数目:用例六:出发城市:北京到达城市:上海起飞日期:2008-6-11起飞时间:12:30机票价格:1234机票数目:1232验证出发城市及到达城市合法性:用例一:出发城市:北京到达城市:上海起飞日期:2008-6-11起飞时间:12:30机票价格:1234机票数目:123用例二:出发城市:北京到达城市:北京起飞日期:2008-6-11
19、起飞时间:12:30机票价格:1234机票数目:1233验证起飞日期合法性:用例一:出发城市:北京到达城市:上海起飞日期:2008-6-11起飞时间:12:30机票价格:1234机票数目:123用例二:出发城市:北京到达城市:上海起飞日期:2008-6-6起飞时间:12:30机票价格:1234机票数目:1234验证机票价格合法性:用例一:出发城市:北京到达城市:上海起飞日期:2008-6-11起飞时间:12:30机票价格:1234机票数目:123用例二:出发城市:北京到达城市:上海起飞日期:2008-6-11起飞时间:12:30机票价格:¥1234机票数目:123用例三:出发城市:北京到达城市
20、:上海起飞日期:2008-6-11起飞时间:12:30机票价格:-1234机票数目:1235验证机票数目合法性:用例一:出发城市:北京到达城市:上海起飞日期:2008-6-11起飞时间:12:30机票价格:1234机票数目:0用例二:出发城市:北京到达城市:上海起飞日期:2008-6-11起飞时间:12:30机票价格:1234机票数目:&123用例三:出发城市:北京到达城市:上海起飞日期:2008-6-11起飞时间:12:30机票价格:1234机票数目:-123六 .面向对象的分析与设计1.用例模型图用例模型图说明:机票预订系统主要使用的对象是旅行社管理员。管理员根据顾客填写的目的地和时间信息
21、,将其输入系统,系统根据相关信息进行处理,则系统其中的一个功能即用例就是接收顾客信息。顾客需要用取票单去航空公司取票,系统由管理员输入的信息来识别,则系统的另一个功能即用例就是预定管理员输入信息符合的票。1-2、类图类图说明:为此系统定义了4个类,分别是顾客类,管理员类,航空公司类,机票类。各个类对应的属性和操作方法在图中已表示出,目前应该还是有很多不完善的地方,在后期再加以修改。1-3、对象图对象图说明:对象图是根据设置的类图而设置的。一个对象就是类的一个具体实例,本例中设置了一个custom的取票操作,详细信息在图中已经设置,根据顾客的相关信息和操作,系统会调用相应的类的对象来处理,在本例
22、中不一定会全部都涉及。1-4、顺序图顺序图说明:顺序图用来描述对象之间动态的交互关系,着重体现对象间消息传递的时间顺序。由于在顾客,旅行社,航空公司之间也有先后顺序,所以在顺序图中会有两个生命周期,分别是订票和取票操作。旅行社根据顾客填写的信息,就操作系统的订票功能。系统在对管理进行处理时,会先记录顾客的相关信息,最后再打印取票单给顾客。系统对取票进行处理时,会先收取款,最后会把票给顾客。1-5、状态图状态图说明:在订票系统中,主要会有两个对象的状态:顾客和管理员。顾客的状态最开始是填写信息,再管理员将信息输入系统,此时系统查询合适的航班,顾客收到系统打印出的相应单据,最后顾客将取票单和款返回
23、给系统得到票。1-6、活动图活动图说明:状态图着重描述对象的状态变化以及触发状态变化的事件,活描述系统中各种活动的执行顺序,刻画一个方法中所要进行的各项活动的执行流程。在订票系统中,各种活动由顾客和管理员的状态图转化而来。顾客的信息,之后就由管理员输入系统,系统对应的活动就有查询订票,各自活动都有自己的的后续活动。2、动态模型动态模型说明:动态模型主要是描述系统的动态行为和控制结构。动态行为包括系统中对象生存期内可能的状态以及事件发生时状态的迁移,还包括对象之问动态合作关系,显示对象之间的交互过程以及交互顺序,同时描述了为满足用例要求所进行的活动以及活动问的约束关系。动态模型主要包括的状态图、
24、顺序图和活动图已经在1-4、1-5、1-6中画出。建立动态模型的第一步是编写交互行为的脚本;第二步从脚本中提取出事件,确定后触发每个事件的动作对象及接收事件的目标对象;第三步排列事件发生的次序,确定每个对象可能有的状态及状态间的转换关系,并用状态图描绘它们。最后,比较各个对象的状态图,检查它们之间的一致性,确保事件之间的匹配。3、功能模型功能模型表明了系统中数据之间的依赖关系,以及有关的数据处理功能,它由一组数据流图组成,此功能模型的分析与设计依照对象模型和动态模型而来。DFD图(数据流图)描绘信息流和数据从输入移动到输出的过程中所经受的变换。数据流中没有任何具体的物理部件,它知识描绘数据在软件中流动和被处理的逻辑过程,流程如图。4、对象模型对象模型说明:对象模型描述了现实世界中的类与对象以及它们之间的关系,表示了目标系统的静态数据结构。首先确定对象类和关联,对于大型复杂问题还要进一步划分出若干个主题;然后给类和关联增添属性,以进一步描述它们;接下来利用适当的继承关系进一步合并和组织类。而对类中操作的最后确定,则需要等到建立了动态模型和功能模型之后,以为这两个子模型更准确地描述了对类中提供的服务的需求。