1本科实验报告课程名称:软件工程实验指导书实验项目:机票预定系统实验地点:计算机学院实验室专业班级:计Z1101学号:2011001491学生姓名:李康达指导教师:崔冬华2013年11月20日2一.问题定义1.系统简介航空公司为给旅客乘机提供方便,需要开发一个机票预定系统。各个旅行社把预定机票的旅客信息(姓名、性别、工作单位、身份证号码(护照号码)、旅行时间、旅行始发地和目的地,航班舱位要求等)输入到系统中,系统为旅客安排航班。当旅客交付了预订金或通过网上支付方式付款后,旅客就可以在飞机起飞前凭个人二代身份证在机场指定系统上自助打印机票,系统核对无误即打印出机票给旅客。此外航空公司为随时掌握各个航班飞机的乘载情况,需要定期进行查询统计,以便适当调整。2.技术要求和限制条件(1)在分析系统功能时要考虑有关证件的合法性验证(如身份证的验证可以直接连接公安系统的二代身份证信息库)等。(2)对于本系统还应补充以下功能:1.旅客延误了取票时间的处理2.航班取消后的处理3.旅客临时更改航班的处理(3)系统的外部输入项至少包括:旅客、旅行社和航空公司。二.传统软件工程的可行性研究1.系统建设目标在对系统初步调查的基础上就可以提出项目的开发目标,即新系统建立后所要求达到的运行指标,这是系统开发和评价的依据。由于机票预定系统存在工作量大、事务繁琐的特点,预定机票还没有进入智能化处理阶段,且工作的效率很低。为提高工作效率,减轻机场工作人员的工作负担,决定针对机票预定开发管理系统软件,以供航空公司管理人员通过电脑操作进行机票预定管理,从而使机票预定管理工作系统化、规范化、自动化,提高整个订票流程的效率,使总体水平上升到一个新的高度。并且计算机的存储与快速查询功能大大提高了机票管理的效率,并且还提高了机票预定的精确度。方便快速的操作,可减少从前的漏洞,又减少因工作的冗余出现的错误,并且操作非常简单,可减少许多不很必要的人员。2.可行性分析可行性分析是任何一个大型工程正式投入力量之前必须进行的一项工作。这对于保证资源的合理利用、避免浪费是一个十分重要的,也是项目一旦开始以后能顺利进行的必要保证。当系统的开发目标确定后,就可以从以下三方面对能否实现新系统目标进行可行性分析:1)技术可行性根据客户提出的系统功能、性能及实现系统的各项约束条件,从技术的角度研究实现系统的可行性I、技术分析当前的科学技术是否支持系统开发的全过程。主要包括一下4个方面:①采集影响系统性能、可靠性、可维护性方面的信息②论证实现系统功能和性能需要的各种设备、技术、方法和过程③分析项目开发在技术上担负的风险,及对开发成本的影响等等3④如有可能应研究,现有类似系统的功能、性能,采用的技术、工具、设备、开发过程中成功和失败的经验、教训,为系统开发作参考。II、研究技术可行性的途径主要有一下4种:①系统分析员通过对现实世界的观察和分析建立分析模型②评估模型的行为并将它们与现实世界对比③论证系统开发方案在技术上的可行性和优缺点。④开展其它技术可行性研究和设计活动III、技术可行性的困难主要体现在以下4个方面:①技术发展块②领域知识不熟悉③系统目标、功能和性能不确定随着计算机科学技术的不断进步,管理信息系统在各个领域上广泛应用。我国虽处在发展中,但商品经济的热潮已经不断增长,且人们对于科技的投资正在不断的加大,在现代的网络与信息技术的高速发展人们对生活质量的要求不断的提高,及信息技术的依赖,为了适应当前的发展形势,跟上现代科技的发展所以我们有必要为当前数量较多的酒店、旅行社及机票预售点设计更为方便快捷的系统,从而更有利于经济的发展。该机票预定系统是以数据库为后台核心应用、以服务为目的信息平台,对资源进行科学的加工整序和管理维护。2)经济可行性计算机迅速发展的原因在于,计算机的应用给社会带来了巨大的经济效益。基于计算机系统的成本-效益分析,给出系统开发的成本论证,并将估算的成本与预期的利润进行对比。项目开发成本受项目的特性、规模等因素制约。系统分析员很难直接估算基于计算机系统的成本和利润,得到完全精确的成本-效益分析结果十分困难。因此非常有必要进行经济可行性研究。基于计算机系统的成本:①购置并安装软件、硬件及有关设备的费用。②系统开发费用。③系统安装、运行和维护费用。④人员培训费用。在系统分析和设计阶段只能得到预算,即估算成本。在系统开发完毕并交付用户运行后,费用的统计经济效益:①系统为用户增加的收入,可以用直接的或统计的方法估算。②估算项目的开发成本是否超过预期的利润③分析系统开发对其他产品或利润的影响社会效益:用定性的方法估算。该系统的目标是以最低的成本,最低的投入,在较短的时间内参阅大量的资料开发出具有用户登录、存储,查询,核对,打印机票等基本功能,预期系统设计期间所投入的资金较小,从经济角度考虑,此系统开发可行。43)运行可行性运行可行性是指所建立的信息系统能否在该企业实现,在当前的操作环境下能否很好的进行,即组织内外是否具备接受和使用新系统的条件。本系统为一个普通的信息管理系统,所耗费的资源非常的小,机场的电脑无论是硬件还是软件都能够满足条件;而且将来的操作界面简洁易操作,机场管理人员无需培训即可很快学会如何进行操作。因此,本系统在运行上是可行的。4)法律可行性整个系统由于是自行开发,自行使用,在开发过程中没有涉及合同、责任等与法律抵触的方面。因此,本系统在法律上是可行的。按上述四方面进行可行性分析、研究后,我们认为该项目是可行的。三.传统软件工程的需求分析建模1.机票预订系统的需求陈述本机票预订系统可实现对大、中城市酒店、旅行社、机票销售网点进行机票预订的管理,相对于原始的人工管理方式,采用该系统管理可大幅度提高管理效率,简化烦琐的操作手续,防止数据的丢失,进行快捷的统计、查询、整理。系统具备的基本功能如下:1、客信息的管理:旅客信息的添加、删除、修改,及信息查询等操作。2、票信息的传递和接收。3、票预订系统还应该具有友好、简洁的界面,安全性要高,稳定性要强2.机票预订系统数据流图1.0层数据流图2.1层数据流图:563.订票系统的数字字典名字旅客信息别名来源旅客描述记录旅客个人信息,用于旅客身份确认定义旅客信息=姓名+性别+证件号+联系方式位置订票信息管理旅客信息数据字典7订票信息数据字典名字取票信息别名来源航班机票管理系统描述给旅客的所需要的取票通知单定义取票清单=取票时间+票价+机票类型+航班号+座位号+旅客姓名+登机口+起飞时间+抵达时间+出发点+目的地位置输出到打印机取票信息数据字典名字订票信息别名来源旅客描述旅客所要求的航班信息和自己基本信息定义订票信息=旅客姓名+性别+证件号+所要的航班号+机票类型+票价位置订票信息管理名字航班信息信息别名来源航空公司安排航班描述航空公司所拥有航线信息每条航线起飞时间到达时间信息每条航线已出售机票和未出售机票信息8航班信息数据字典四.传统软件工程的结构设计1.软件体系结构图本系统的软件体系结构图,参见图所示:4.1.1系统结构图2.模块设计2.1用户注册模块1.模块描述本模块的主要功能,是根据旅行社提供的预定机票的旅客信息,由操作员输入旅客信息,同时保存在数据库。2.功能主要是记录预定机票的旅客信息,是系统产生取票通知和账单的源数据。3.性能操作员输入预定机票的旅客信息后,数据库立即保存记录,并通过查询可以检测保存是否成功。定义航班信息清单=航线+出售机票号+未出售机票号位置航班机票管理机票预订管理系统旅客用户模块航空公司模块机场售票模块系统管理员模块查寻机票信息预订机票打印取票清单机票退订航班信息管理飞机管理机票信息管理公司信息管理航班信息查询机票信息查询打印机票数据库更新系统硬件维护系统软件安全防护94.输入项客户定票信息:任意长度字符串,包括数字、汉字和英文字母。5.输出项有效用户和无效用户2.2产生票据模块4.2.2票据产生图1.模块描述本模块的主要功能,是根据操作员在输入数据模块中输入的预定机票的旅客信息由系统产生的相关取票通知和账单。2.功能系统的产生与客户信息相对应的取票通知和账单。3.性能操作员输入客户信息后,立即产生相对应的取票通知和账单,如果数据库中没有预定的票,则提示无票,说明原因。4.输入项客户定票信息:任意长度字符串,包括数字和汉字和英文字母。5.输出项取票通知和账单。(1)取票通知10姓名:任意长度字符串。班次:8位长度字符串(班次=出发地+目的地+序列号)。日期:date类型。(2)账单姓名:任意长度字符串。账单号:账单号=日期+序列号,序列号:0000000~9999900。金额:任意位数字。日期:date类型。3.数据库结构根据总的结构图设计各表结构,对相应表的定义如下属性属性说明数据类型宽度是否为空是否为主(p)/外键(F)Name姓名varChar50否Yes(P)Sex性别varChar50否Call联系方式Int32否Credential证件号Int32否4.3.1旅客关系表属性属性说明数据类型宽度是否为空是否为主键(P)/外键(F)Name姓名varChar50否Yes(P)Seatnumber座位号Int10否Yes(F)Rank舱位等级varChar50否Number航班号Int10否Djkou登机口Int10否Price票价Int10否Gotime出发时间Datetime否11Arrivetime抵达时间Datetime否4.3.2机票信息表4.3.3航班信息属性属性说明数据类型宽度是否为空是否为主键(P)/外键(F)Number航班号Int10否Yes(p)Distance航程Int10否Gotime出发时间Datetime否Arrivetime抵达时间Datetime否Fromcity出发地varChar50否Tocity目的地varChar50否Gsnumber公司编号Int10否属性属性说明数据类型宽度是否为空是否设为主键(P)/外键(F)Gsnumber公司编号Int20否Yes(P)Gsname公司名称varChar50否124.3.4航空公司信息表4.数据库表创建创建表SQL语言USESHUJUKUCREATETABLE旅客信息表(姓名varchar(10)NOTNULLprimarykey,性别varchar(10)NOTNULL,电话intNOTNULL,证件号intnotNULL)goUSESHUJUKUCREATETABLE机票信息表(姓名varchar(50)NOTNULLprimarykey,航班号intNOTNULL,登机口intNOTNULL,座位号intNOTNULL,舱位等级varchar(50)NOTNULL,票价intNOTNULL,出发时间datetimeNOTNULL,抵达时间datetimeNOTNULL)goUSESHUJUKUCREATETABLE航班信息表(编号intNOTNULLprimarykey,航班号intNOTNULL,航程intNOTNULL,起飞时间datetimeNOTNULL,到达时间datetimeNOTNULL,出发地varchar(50)NOTNULL,目的地varchar(50)NOTNULL)goUSESHUJUKUCREATETABLE航空公司信息表(编号intNOTNULLprimarykey,公司名varchar(50)NOTNULL,电话号intNOTNULL,地址varchar(50)NOTNULL)Address地址varChar50否Gscall公司电话号Int32否13五.测试测试用例:使用黑盒法测试“新增航班”模块功能1.验证表单完整性:用例一:出发城市:北京到达城市:起飞日期:起飞时间:机票价格:机票数目:用例二:出发城市:北京到达城市:上海起飞日期:起飞时间:机票价格:机票数目:用例三:出发城市:北京到达城市:上海起飞日期:2008-6-11起飞时间:机票价格:机票数目:用例四:出发城市:北京到达城市:上海起飞日期:2008-6-11起飞时间:12:3014机票价格:机票数