[工学]机票预订系统.doc_第1页
[工学]机票预订系统.doc_第2页
[工学]机票预订系统.doc_第3页
[工学]机票预订系统.doc_第4页
[工学]机票预订系统.doc_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

机票预订系统 38提 要 机票预定系统首先通过对该系统进行可行性分析,然后再根据客户需求分析进行总体、详细设计,在设计完成之后编码实现,同时进行测试和维护。使该系统达到运行正确、稳定、响应及时、用户界面友好美观的目的,同时使该系统易维护。在整个过程中按软件工程方法对每一阶段尽可能留用详细的文档资料目 录第一章 问题定义111项目描述112问题定义1第二章 可行性研究321技术可行性322经济可行性323社会可行性524操作可行性625可行性方案626开发风险627高层逻辑模型6第三章需求分析831功能识别和描述832数据流图833数据字典934简要算法10第四章 系统设计1341层次结构1342接口设计(人机界面设计)1543数据库设计1544模块设计17第五章 编码和单元测试2251编码2252单元测试2453测试用例24第六章 综合测试3461自顶向下测试方式3462自底向上测试方式34第七章 软件维护3571改正性维护3572适应性维护3573完善性维护35附录1:软件工程课程设计指导教师评审表3611项目描述航空公司需要开发一个机票预定系统,用于简化处理预定机票的过程。由各个旅行社直接将定票信息通过网络提交到航空公司,系统安排航班及打印各类单据。12问题定义随着社会的发展,人民生活水平的不断提高,出行旅游成为了人们放松心情、接触自然的最好方式。优质的服务,快速的运输,廉价的机票,空运成为了人们出行的第一选择。然而传统的购票方式,仍然是人工机械的处理。大多数乘客通过电话方式了解信息和预订机票。这样给服务台增加了很大的压力,并且大多数时间不能及时响应乘客的要求。这种传统的购票方式,不仅效率低下,而且给人们的出行带来了很多不便。同时,人工处理的成本再加上巨额的通信费用造成了传统购票方式的巨大开销。当面对机票订购高峰时刻的大量数据处理的时候,仅靠手工操作以现有的工作人员根本无法应付。同时还会出现由此带来的大量记录存放和管理所带来的问题。从而给旅客和管理人员带来了许多的不便。目标:在计算机网络,数据库和先进的开发平台上,利用现有的软件,配置一定的硬件,开发一个具有开放体系结构的、易扩充的、易维护的、具有良好人机交互界面的机票预定系统,实现航空公司的机票销售的自动化的计算机系统,为企业的决策层提供准确、精细、迅速的机票销售信息,为旅客提供快捷、方便的服务。系统规模与功能:1. 旅行社记录旅客的基本信息以及航班需求,并且加工这些信息,最后存储这些信息。2.旅行社提供旅客订票信息:各个旅行社把预定机票的旅客信息输入到系统中;3.系统处理订票信息:系统根据旅行社提供的旅客订票信息,为旅客安排航班;4.系统打印取票通知单和帐单:当旅客交付了预订金后,系统打印出取票通知和帐单给旅客;5.系统出票:旅客在飞机起飞前一天凭取票通知和帐单交款取票,系统核对无误即打印出机票给旅客;6.航班信息中心:包括各航班飞机的乘载情况等信息;7.对于本系统还应补充一下功能:(1)旅客延误了取票时间的处理(2)航班取消后的处理(3)旅客临时更改航班的处理8.系统的外部输入:旅客、旅行社和航空公司。9注意事项:在分析系统功能时要考虑有关证件的合法性验证(如身份证、取票通知和交款发票)等。第二章 可行性研究 21技术可行性 在计算机网络、数据库和先进的开发平台的基础上,使用JSP技术,在加上好的硬件支持,和高速的校园网络,开发一个具有开放体系结构的、易扩充的、易维护的、具有良好人机交互界面的机票预定系统,实现航空公司的机票销售的自动化的计算机系统是可行的。在加上扎实的理论知识和一些开发经验。在现有的技术条件和硬件条件的支持下开发机票预定系统被证实为可行的。本系统使用的操作系统和数据库是目前最为普及和成熟的一种系统开发软件。从这种软件过去使用、升级情况和软件商所承诺的今后软件发展情况分析,系统软件应支持原系统版本上的各种应用正常使用。因而,该机票预定系统不存在技术问题。服务器采用Windows最新系统,利用 MySQL 最新数据库系统。22经济可行性221成本估计1系统开发成本:人员:1名系统分析员(96小时/名,100元/小时) 9,6002名系统开发人员(75小时/名,80元/小时) 6,0001名数据库管理员(10小时/名,90元小时) 9001名软件测试员(120小时/名,40元/小时) 4,8001数据输入人员 500硬件成本: PC机25台:25万 大型服务器:20万软件成本:服务器操作系统:2万元PC机操作系统:2000*255万元数据库系统 10.0。20万元。2人员培训费用:用户培训费用1万元3维护费用(五年):(25*100050000)*537.5万元4通讯费: 20万5成本总计:131.68万元222效益估计本系统开发完成后可以减少工作人员25名。按银行利率:12% 计算可以在五年内获得收益(员工1000元/人),见表2.1:表 2.1收益(1)年将来值(万元)利率累计 现在值(万元)累计值(万元)1241.12 21.4286 21.4286 2241.25 19.2000 40.6286 3241.40 17.1429 57.7714 4241.57 15.2866 73.0581 5241.76 13.6364 86.6944 本系统可以提高工作效率30%,见表2.2:表 2.2收益(2)年将来值(万元)利率累计 现在值(万元)累计值(万元)17.21.12 6.4286 6.4286 27.21.25 5.7600 12.1886 37.21.40 5.1429 17.3314 47.21.57 4.5860 21.9174 57.21.76 4.0909 26.0083 由于订票方便快速,增加业务量25%,可假设原来公司业务量为2400/年,总收益为120万。 收益为见表2.3:表 2.3收益(3)年将来值(万元)利率累计 现在值(万元)累计值(万元)1301.12 26.7857 26.7857 2301.25 24.0000 50.7857 3301.40 21.4286 72.2143 4301.57 19.1083 91.3226 5301.76 17.0455 108.3680 总收益为:221.0707万元收益/投资比221.0707万/131.68万1.67907223投资回收期2+(131.68-103.6029)43.71442.64年224纯收入221.0707万131.68万89.3907万225投资回收率假设系统的寿命为五年估计最长可达10年,投资回收率为 3940%23社会可行性1、法律因素2、所有软件都选用正版.3、所有技术资料都由提出方保管。4、合同制定确定违约责任24操作可行性所有员工都要接受培训,包括前台工作人员和系统管理人员。要求所有员工都具有一定的计算机操作能力。客户端与服务器端联系在一起,在旅游局中只设立终端,在机场设立服务器,数据输入由终端输入,所有数据都由服务器处理,只在终端上显示数据结果。此设计简化了数据处理,但加重了服务器的数据处理。而使用客户端/服务器机理,简化数据流量,加快数据处理。25可行性方案我们在服务器上采用了windows 2008的操作系统,在运用MySQL先进的数据库系统。 利用JSP技术,采用B/S架构,最后实现具有开放体系结构的、易扩充的、易维护的、具有良好人机交互界面的机票预定系统,实现航空公司的机票销售的自动化。虽然本系统在硬件、操作系统、数据库软件等方面投资很大,但是考虑到系统的使用规模、巨大的经济效益、高工作效率和低廉的维护成本,所以对本系统而言庞大的开发成本是值得的。26开发风险从公司提出的需求,以及目前公司规模情况和各种资源情况(机器、操作系统、软件工具、网络、技术人员素质等)看,该系统开发在技术上是完全可以实现的。而且能保证系统最终的使用效果,性能可以达到目标。27高层逻辑模型图 2.1高层逻辑模型第三章需求分析31功能识别和描述(1) 客户端功能旅行社把旅客要求订票的信息由专人负责输入,进行网上订票。当旅客交付了预订金后,系统打印出取票通知和帐单给旅客。(2) 服务器端功能接收由旅行社客户端发回的所需机票信息。通过网络接收机票信息并存入到服务器的数据库中。生成航班信息。根据所需机票信息(时间,地点),在数据库中查询并得到正确的航班的信息,分配所需的机票数并在数据库中做出已售出的标记。传递航班信息到旅行社(客户端),把得到的航班信息通过网络传递到旅行社。打印机票给已经订票的旅客。根据旅客的取票通知及帐单,经过确认无误后,接受旅客的付款后把机票印出来交给旅客。32数据流图321数据流图(1) 旅客订票流程图,如图 3.1所示:图 3.1旅客订票流程(2) 旅客取票流程图,如图3.2所示:图 3.2旅客取票流程33数据字典34简要算法341登陆系统1. 输入用户名2. 输入口令3. 系统检查输入信息的合法性4. 当信息不合法时,系统提示输入错误,并转回到15. 信息合法,检查用户属性6. 根据用户属性,进入相应的子系统。7. 系统记录登陆日志。验证过程:1. 要求用户输入用户名,并输入用户口令。2系统查找存在的用户,验证用户名和登记的口令。信息不合法时,系统提示输入错误,并转回到1。3. 验证成功后系统根据不同的用户属性,进入不同的子系统。4. 结束用户登记过程:1由航空公司或者旅行社提出申请,并提供相关信息给系统,由系统管理员生成用户并给用户生成属性,更具用户属性赋予权限。2结束342订票1用户登陆系统以后,提交订票命令,进入订票界面。2根据订票需要,输入旅客信息。3验证旅客信息的完整性。4验证旅客信息的合法性。5若不合法,输出错误提示,并跳转到相应的表单,重复1、26合法把订票表单提交到系统,系统格式化提交订票信息以后更新订票信息数据库。7提示订票成功。验证过程:1 要求用户必须按要求输入表单需要的全部信息。2 在输入不全的情况下不允许提交,输出错误提示,跳转到相应的表单项,要求填写。3 用户在填写完成后提交表单,系统检查信息的合法性。4 不合法不允许提交,输出错误提示,跳转到相应的表单项,要求重新填写。再次提交之前转到25 验证完整性和合法性之后提交表单给系统,系统格式化订票信息后加入旅客订票信息数据库。6 提示订票成功。7 结束。343查询航班1用户登陆系统以后,提交查询航班命令,进入查询界面。 2输入查询表单中需要填写的信息。3验证旅客信息的完整性。4验证旅客信息的合法性。5若不合法,输出错误提示,并跳转到相应的表单,重复1、26信息合法,系统根据表单提交的航班信息,查找数据库,把符合用户要求的航班信息格式化以后,以表格的形式响应给用户。7没有用户查询的航班,提示没有此航班。查询过程:1 要求用户必须按要求输入表单需要的全部信息。2 在输入不全的情况下不允许提交,输出错误提示,跳转到相应的表单项,要求填写。3 用户在填写完成后提交表单,系统检查信息的合法性。4 不合法不允许提交,输出错误提示,跳转到相应的表单项,要求重新填写。再次提交之前转到25 验证完整性和合法性之后提交表单到系统,系统根据表单提交的航班信息,查找数据库,把符合用户要求的航班信息格式化以后,以表格的形式响应给用户。6 如果没有用户查询的航班,提示没有此航班。7 结束。344添加航班1用户登陆系统以后,提交添加航班命令,进入添加界面。1输入添加表单中需要填写的信息。2验证旅客信息的完整性。3验证旅客信息的合法性。4若不合法,输出错误提示,并跳转到相应的表单,重复1、25信息合法,系统根据表单提交的航班信息格式化航班信息以后,把航班信息添加到航班信息数据库中。6提示添加航班成功。添加过程:1 要求用户必须按要求输入表单需要的全部信息。2 在输入不全的情况下不允许提交,输出错误提示,跳转到相应的表单项,要求填写。3 用户在填写完成后提交表单,系统检查信息的合法性。4 不合法不允许提交,输出错误提示,跳转到相应的表单项,要求重新填写。再次提交之前转到25 验证完整性和合法性之后提交表单到系统,系统根据表单提交的航班信息格式化航班信息以后,把航班信息添加到航班信息数据库中。6 提示添加航班成功。7 结束。345安排航班1用户登陆系统以后,提交安排航班命令,进入安排航班界面。2系统提供所有的订票信息,并自动生成了符合要求的所有航班。3用户根据系统提供的航班信息安排航班。4对于没用适合航班的订票,将会没有航班进行选择,通知旅客没有合适机票。发出通知信息。4安排好后提交,安排命令。系统将安排信息格式化后,把数据添加到出票数据库。5提交后系统提示安排成功。安排过程:1用户根据系统提供的航班信息安排好航班后,系统将安排信息格式化后,把数据添加到出票数据库2对于没有合适航班的订票,通知旅客没有合适的航班,并把订票信息添加到已通知数据库。3系统提示安排成功。4结束。346出票1用户登陆系统以后,提交出票命令,进入安排航班界面。2系统提供所有等待出票的信息。3用户提交出票。4系统发出通知旅客去票信息,并生成电子票。5用户的状态改为以出票,并激活了剥夺机票功能。用户可以根据实际情况剥夺机票。6被剥夺机票的订票信息将返回,订票队列,等待安排。7出票后显示出票成功。出票过程:1用户点击出票用户的状态改为以出票,并激活了剥夺机票功能。2用户剥夺机票,被剥夺机票的订票信息将返回,订票队列,等待安排。3提示出票成功。4结束。第四章 系统设计总体设计可能的设计方法有自顶向下,逐步细化设计方法;模块化设计方法;结构化设计方法。针对以上系统要完成的功能,本系统总体设计采用自顶向下,逐步细化的方法将功能层次结构的各个部分组合起来,以完成整个系统的实现细节。41层次结构411 系统的的顶层结构,如图4.1所示:图 4.1系统的的顶层结构412 航班信息管理,如图4.2所示:图 4.2航班信息管理航班信息管理航班录入航班查询航班修改航班删除413 订票处理,如图4.3所示:图 4.3订票处理订票处理旅客登记安排航班响应旅客414 取票处理,如图4.4所示:图 4.4取票处理取票处理旅客查找机票处理415 例外处理,如图4.5所示:(此处航班改变后,均做退票处理)图 4.5例外处理例外处理退票航班改变后的处理延误取票42接口设计(人机界面设计)管理员和票务员使用同一登陆界面,登陆后进去后有个自的界面,然后进一步操作。421 大体的界面设计如图4.6所示。图 4.6界面设计422 订票界面,如图4.7所示。图 4.7订票界面43数据库设计431整体E-R图,如图4.8所示:图 4.8整体E-R图432本系统使用了mysql数据库,由ER图导出的数据库表如下。(1)旅客信息,如表 4.1所示表 4.1旅客信息表表名passenger列名数据类型(精度范围)主/外码空/非空备注IDint(11)主码非空paNamevarchar(30)非空sextinyint(1)非空1为男,0为女identCardvarchar(20)非空mobileponevarchar(30)非空startDatedate非空startCityvarchar(30)非空arriveCityvarchar(30)非空(2)航班信息,如表4.2所示表 4.2 航班信息表名line列名数据类型(精度范围)主/外码空/非空备注IDint(11)主码非空lineNamevarchar(30)非空startCityvarchar(30)非空arriveCityvarchar(30)非空lineDatedate非空lineTimetime非空priceint(11)非空linecountint(11)非空(3)订票信息,如表4.3所示表 4.3订票信息表名line_passenger列名数据类型(精度范围)主/外码空/非空备注passenger_IDint(11)外码非空(passenger_ID,line_ID)是主码line_IDint(11)外码非空informedtinyint(1)非空(4)用户表,如表4.4所示:表 4.4用户表表名user列名数据类型(精度范围)主/外码空/非空备注usernamevarchar(30)主码非空passwordvarchar(50)非空typetinyint(1)1代表航班管理的用户,其它是管理订票的用户44模块设计模块设计将对总体设计中模块结构进行细化。441登陆模块如图4.9所示.图 4.9登陆模块442航班信息管理的各个模块如图4.10所示。图4.10详细模块443订票处理的各个模块如图4.11所示.图 4.11订票处理各模块444取票处理模块如图4.12所示.图 4.12取票处理445例外处理退票面模块如图4.13所示(延误取票和这个模块类似).图 4.13例外处理第五章 编码和单元测试51编码部分模块代码如下,此模块为处理订票模块:机票信息确认 短信通知 发给: input style=width:89px; type=text value= disabled=disabled / 内容:input type=hidden value= name=passenger_ID / 尊敬的客户:,我们非常抱歉的通知您,您预定的从飞往的机票没有适合航班.请选择其他交通方式,非常抱歉! %return;String line_ID = request.getParameter(line_ID);int lineID = Integer.parseInt(line_ID);Line line = (new DBLine().getLineByID(lineID);String notice = (String) request.getAttribute(notice);if (notice != null & notice != )notice = + notice + ;elsenotice =  % 机票信息确认 姓名: 性别: 身份证号码: 票价: 航班号: 起飞时间: 出发城市: 到达城市: input type=hidden value= name=passenger_ID /input type=hidden value= name=line_ID / 52单元测试用下面列出的测试用例分别对系统各个模块进行测试.测试包括模块接口,各条路经,边界条件,局部数据等测试。53测试用例631使用黑盒法测试 “机票预订” 模块功能使用用例:1.验证表单完整性:用例一:姓名:杨阵雨性别: 身份证号码:出发城市: 到达城市: 出发日期:手机号码:用例二:姓名:杨阵雨性别:男身份证号码:出发城市: 到达城市: 出发日期:手机号码:用例三:姓名:杨阵雨性别:男身份证号码发城市: 到达城市: 出发日期:手机号码:用例四:姓名:杨阵雨性别:男身份证号码发城市:北京到达城市: 出发日期:手机号码:用例五:姓名:杨阵雨性别:男身份证号码发城市:北京到达城市:昆明出发日期:手机号码:用例六:姓名:杨阵雨性别:男身份证号码发城市:北京到达城市:昆明出发日期:2008-6-11手机号码:用例七:姓名:杨阵雨性别:男身份证号码发城市:北京到达城市:昆明出发日期:2008-6-11手机号码:134665404112.验证身份证格式合法性:用例一:姓名:杨阵雨性别:男身份证号码发城市:北京到达城市:昆明出发日期:2008-6-11手机号码例二:姓名:杨阵雨性别:男身份证号码发城市:北京到达城市:昆明出发日期:2008-6-11手机号码例三:姓名:杨阵雨性别:男身份证号码:123456出发城市:北京到达城市:昆明出发日期:2008-6-11手机号码例四:姓名:杨阵雨性别:男身份证号码:53270861228241出发城市:北京到达城市:昆明出发日期:2008-6-11手机号码:134665606693.验证出发城市及到达城市合法性:用例一:姓名:杨阵雨性别:男身份证号码发城市:北京到达城市:昆明出发日期:2008-6-11手机号码例二:姓名:杨阵雨性别:男身份证号码发城市:北京到达城市:北京出发日期:2008-6-11手机号码:134665606694.验证出发日期合法性:用例一:姓名:杨阵雨性别:男身份证号码发城市:北京到达城市:昆明出发日期:2008-6-11手机号码例二:姓名:杨阵雨性别:男身份证号码发城市:北京到达城市:昆明出发日期:2008-6-6手机号码例三:姓名:杨阵雨性别:男身份证号码发城市:北京到达城市:昆明出发日期:2068-6-6手机号码:13466560669632使用黑盒法测试 “新增航班” 模块功能1验证表单完整性:用例一:出发城市:北京到达城市:起飞日期:起飞时间:机票价格:机票数目:用例二:出发城市:北京到达城市:上海起飞日期:起飞时间:机票价格:机票数目:用例三:出发城市:北京到达城市:上海起飞日期: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起飞时间: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用例三:出发城市:北京到达城市:上海起飞日期: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第六章 综合测试61自顶向下测试方式711订票及其处理 输入录入数据 显示结果 处理订票信息 删除订票信息 删除桩模块 处理桩模块 查询桩模块

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论