软件工程飞机票订票系统综合文档.docx
《软件工程飞机票订票系统综合文档.docx》由会员分享,可在线阅读,更多相关《软件工程飞机票订票系统综合文档.docx(48页珍藏版)》请在冰豆网上搜索。
![软件工程飞机票订票系统综合文档.docx](https://file1.bdocx.com/fileroot1/2022-11/23/c627594f-a8c5-4412-bb3d-de53d6d81aa2/c627594f-a8c5-4412-bb3d-de53d6d81aa21.gif)
软件工程飞机票订票系统综合文档
飞机票订票系统开发文档
理工学院计算机学院
宋浪、玮杰、生君文、朱景华、胡杰
一项目开发计划
一.1简介
编写目的
编写本文档的目的主要是为了给开发航空订票系统做主要的规划和整合,使软件项目能够在预定成本、进度、质量的前提下顺利完成。
明确各时间节点的任务分配各模块人员分配,确保项目开发有序进行,避免重复开发造成损失。
此文档供设计人员、开发人员、测试人员阅读。
项目背景
本项目为机票订票系统,通过建立该机票订票系统,扩展了乘客的订票渠道,可以使订票过程变得更加便捷安全。
定义
MYSQL:
系统服务器所使用的数据库软件。
SQL:
结构化查询语言(StructuredQueryLanguage)。
事务流:
数据进入模块后可能有多种路径进行处理。
主键:
又称主码。
数据库表中对储存数据对象予以唯一和完整标识的数据列或属性的组合。
外部主键:
数据库表中与其他表主键关联的域。
JAVA:
主要运用Wform设计和与数据库的数据传递。
系统:
若未特别指出,统指本机票预定系统。
SQL:
StructuredQueryLanguage(结构化查询语言)。
一.2项目概述
工作容
小组根据项目进度安排,分别对项目进行开发。
需求分析小组通过讨论与调研其他机票订票系统来完成需求分析文档以及数据说明文档。
设计小组首先解决实现该系统需求的程序模块设计问题,完成概要设计文档(包括如何把该系统划分成若干个模块、决定各个模块之间的接口、模块之间传递的信息)。
数据结构(数据库设计文档)、模块结构的设计等)然后,根据概要设计文档进行详细设计,完成详细设计文档。
开发小组对软件进行集中开发,完成登录,用户查询,订票,退票等功能。
测试小组对软件进行单元测试,集成测试,审核,评定。
维护小组在软件交付后对使用者进行培训并承担软件后期维护工作。
条件与限制
完成项目应具备的条件:
调研环境
开发平台
组织开发人员(3人)
开发基础设施(JAVA+数据库)
测试维护人员(2人)
运行环境
运行软件环境:
操作系统:
Window7
数据库:
MYSQL
开发环境:
ECLIPSE、MYSQL
验收标准
系统稳定,运行流畅,业务流程无严重安全隐患。
出错率:
0~1次/年
实施计划
工作容
时间分配
进行需求分析与调研
24天
概要设计与数据库设计
14天
详细设计
20天
测试与调试
8天
维护
未定
人员及分工
成员
任务
角色
生君文
项目管理
项目经理
朱景华
系统设计
开发人员
宋浪、胡杰
程序编码
开发人员
玮杰
程序测试
开发人员
二可行性研究报告
二.1引言
编写目的
可行性研究的目的是为了对问题进行研究,以最小的代价在最短的时间确定问题是否可解。
经过对此项目进行详细调查研究,初拟系统实现报告,对软件开发中将要面临的问题及其解决方案进行初步设计及合理安排。
明确开发风险及其所带来的经济效益。
本报告经审核后,交软件经理审查。
背景
开发软件名称:
机票订票系统。
项目开发者:
理工学院ZSSZ开发组
项目与其他软件,系统的关系:
本项目采用客户机服务器原理,客户端的程序是建立在WindowsNT系统上以JAVA为开发软件的应用程序,服务器端采用Linux为操作系统的工作站,是采用MYSQL的为开发软件的数据库服务程序。
定义
Oracle8:
系统服务器所使用的数据库软件。
SQL:
结构化查询语言(StructuredQueryLanguage)。
事务流:
数据进入模块后可能有多种路径进行处理。
主键:
又称主码。
数据库表中对储存数据对象予以唯一和完整标识的数据列或属性的组合。
外部主键:
数据库表中与其他表主键关联的域。
系统:
若未特别指出,统指本机票预定系统。
SQL:
StructuredQueryLanguage(结构化查询语言)。
参考资料
《软件工程——实践者的研究方法》——机械工业
软件工程PPT——软件工程课程
携程网机票订购系统操作流程——携程网
二.2可行性研究的前提
要求
主要功能:
为游客提供机票预定服务,方便旅游局的售票工作,提高旅游局的服务质量和服务效率。
性能要求:
机场提供的信息必须及时的反映在旅游局的工作平台上。
售票系统的定单必须无差错的存储在机场的主服务器上。
对服务器上的数据必须进行及时正确的刷新。
输入要求:
数据完整,详实。
输出要求:
简捷,快速,实时。
安全与要求:
服务器的管理员享有对机场航班信息库及机票信息库和定票信息库的管理与修改。
售票员只享有对订票信息库的部分修改(写入与读出)。
完成期限:
预计四个月
目标
系统实现后,大大提高旅游局的机票预定服务效率。
降低售票服务中的错误发生率,减少信息交流的烦琐过程及其带来的开销。
条件、假定和限制
建议软件寿命:
5年。
经费来源:
中国国际旅游开发公司。
硬件条件:
服务器sun工作站,终端为pc机。
运行环境:
Linux
数据库:
Oracle8
投入运行最迟时间:
2015/9/1
进行可行性研究的方法
同时满足以下三个方面的条件:
成本/效益分析结果,效益>成本。
技术可行,现有技术可完全承担开发任务。
操作可行,软件能被原有工作人员快速接受。
二.3所建议的系统
对所建议系统的说明
在旅游局中的终端是安装了WindowsNT的PC机,主要目的是向机场的服务器传递数据。
当顾客在旅游局进行咨询时,终端向服务器发出查询请求,服务器根据航班信息库的实时数据,向终端发送数据,显示在终端的屏幕上。
当顾客向售票员定票时,终端向服务器发出详尽的一份定单,服务器核对后,存入定票信息库,并修改机票信息库。
当顾客再次来取票时,终端向服务器发出查询定票请求,服务器接收后,查询定票信息库,核对后,传送机票确认表单,终端打印出机票。
处理流程和数据流程
(见下一页)
二.4投资及效益分析
支出
二.4.1.1基本建设投资
终端PC机20台:
8000*20=16万
网络设备:
10万
辅助配置:
10万
共计:
36万
其他一次性支出
Oracle8.0:
20万
WindowsNT:
10万
操作员培训费:
5万
共计:
35万
非一次性支出
人工费用:
6(月)*20(人)*5000(元)=60万
其他不可知额外支出:
20万
共计:
80万
收益
一次性收益
0元。
非一次性收益
按银行利率1%计算:
减少员工20人(1000圆/人)
五年收益:
1000*(1.1+1.1*2+1.1*3+1.1*4+1.1*5)*20*12*5=120万
工作效率提高收益(工作效率提高30%):
30*(1.1+1.1*2+1.1*3+1.1*4+1.1*5)*(30%)*5=45万
经常性收益共计:
160万
不可定量的收益
因服务质量提高增加旅客量10%
1000万*10%*(90%+(90%)*2+(90%)*3+(90%)*4+(90%)*5)=360万
收益/投资比
520万/151万=344%
投资回收周期
2.3年.
二.5社会因素方面的可能性
法律方面的可行性
所有软件都选用正版;所有技术资料都由提出方保管;合同制定确定违约责任。
使用方面的可行性
使用本软件人员要求有一定计算机基础的人员,系统管理员要求由计算机的专业知识,所有人员都要经过本公司培训。
管理人员也需经一般培训,经过培训人员将会熟练使用本软件。
两名系统管理员,一名审计员将进行专业培训,他们将熟练管理本系统。
结论
由于投资效益比远大于100%,技术、经济、操作都有可行性,可以进行开发。
三需求分析报告
三.1引言
编写的目的
为了巩固java第一阶段的学习,模拟一个飞机订票系统来实现航空公司的机票销售的自动化的计算机系统,为企业的决策层提供准确、精细、迅速的机票销售信息。
背景
开发软件名称:
机票预订系统。
项目组长:
宋浪
项目开发者:
宋浪、玮杰、生君文、朱景华、胡杰
用户:
所有客户
运行环境:
win8/win7/xp/vista
开发平台:
Eclipse、MYSQL数据库。
系统架构:
该系统采用java完成,用AWT开发系统界面设计。
定义
MYSQL:
系统服务器所使用的数据库管理系统(DBMS)
SQL:
一种用于访问查询数据库的语言
事务流:
数据进入模块后可能有多种路径进行处理
参考文献
[1]海藩.软件工程导论(第四版)[M].:
清华大学,2003
[2]《基于项目的软件工程-面向对象研究方法》CathieLeBlan&EvelynStiller机械工业2001.1
三.2任务概述
目标
《网上机票预订系统》本是在Internet环境下运行的,但根据课程需求在此我们先将它做为一个c/s程序。
该项软件开发的意图是为了方便航空公司进行乘客预定票的管理,减少管理中出现的麻烦,它主要在某一航空公司部进行使用,再加之这是一项独立的软件,全部容自含,所以不会涉及到与其它系统、产品的联系和接口问题。
用户特点
管理员(维护人员):
熟练掌握Java语言。
熟悉掌握sql语句的使用。
普通用户:
能够熟练地使用桌面程序,有一定的电脑基础。
假定和约束
普通管理员,只能对库(航班库和客户库)中的信息进行查询操作;超级管理员,可以根据具体需要进行适当的数据管理(增、删、改、更)。
客户只能对航班信息库中的容进行查询操作,客户进入到页面之后在不进行登录的情况下只能进行航班信息查询操作,要预订机票就必须要先注册登录提交自己的基本信息;系统会根据管理员和客户的各种操作做出相应的返回信息进行提示。
三.3需求规定
系统功能需求
本系统用于远程机票预订,包括远程航班信息查询、机票预订与确认等;主要分为四大功能:
查询、订票、退票和管理。
管理员登录、注销到系统并进行插入、删除、更新以及查看机票后台数据库操作
插入:
机票的插入可以按照航班号、班期、公司、座位号、起飞地以及抵达地等等插入数据库。
删除:
机票可以按照航班号、起止城市、星期进行删除
客户端系统功能
普通用户
查询:
根据航班号、航空公司以及目的地查询出票类信息
订票:
根据出发日期和第一航班号预订机票,机票类型分为单程和往返,一份订单可订多机票。
退票:
要填写订单号、、客户以及航班信息等等。
后台管理系统:
航班动态:
可以根据出发城市、到达城市(或者是航班号)查看这个航班的最新动态
机场人员
查询:
根据航班号、航空公司以及目的地查询出票类信息
订票:
根据出发日期和第一航班号预订机票,机票类型分为单程和往返,一份订单可订多机票。
退票:
要填写订单号、、客户以及航班信息等等。
后台管理系统:
销售统计:
根据年份、月份统计总共买出的票数
后台管理:
管理员可以根据总部要求去创班、取消航班、航班查询
下面以结构图来描述机票预定系统的软件总体结构(见下一页)
服务器端系统功能
查询:
当有旅客查询机票时,接收其数据信息,并能返回查询结果
统计:
对售出的机票作出统计
更新航班信息:
当客户端发来请求信息,服务器进行接收。
航班信息更新:
系统的管理员通过对航班信息的修改,使数据库中的信息发生变化。
航班取消:
当由于某种原因某航班被取消了,系统的管理人员要第一时间的更改数据库中的航班信息,使旅客能及时了解最新信息。
三.4数据字典
系统中的数据元素:
名字:
旅客信息
别名:
描述:
旅客的个人信息,用于对旅客的确认
定义:
旅客信息=+性别+工作单位++旅行时间+旅行目的地
名字:
航班信息
别名:
描述:
航班的起飞时间及上机时间等,让旅客能够查看和确认
定义:
航班信息=编号+终点+起飞始点
名字:
机票信息
别名:
描述:
旅客的旅行时间和目的地等等,用于确定旅客的航班
定义:
订票信息=旅客旅行时间+旅客旅行目的地
名字:
机票订单
别名:
描述:
旅客交付费用的凭证
定义:
机票账单=旅客+交付费+时间
名字:
取票通知
别名:
描述:
旅客领取机票的凭证
定义:
取票通知=旅客+领票时间
名字:
打印机票信息
别名:
描述:
旅客的航班机票的信息
定义:
打印机票信息=旅客的航班机票
名字:
航空公司数据库信息
别名:
描述:
已订票的旅客在航空公司的记录和航班信息等等
定义:
航空公司数据库信息=航班机票信息+也订票旅客的信息等等
三.5项目模块划分
三.6运行环境规定
硬件要求:
服务器:
CPU133M,64M或以上存,300M硬盘空间;VGA显示器或更高
客户机:
最低CUP133M,16MB存;最少8MB的RAM存储器;VGA显示器或更高
软件要求
服务器:
Windows2000Server中文版或更高;oracle8i或更高
客户机:
Windows95以上或以上;该软件运行于Windows系统,使用java语言开发
三.7测试
在测试过程中,首先需要对各子单元过程进行测试。
在各子单元过程测试完毕后,再对各模块(包括各子单元过程之间的接口)进行测试,处理好各模块之间的接口,最后对系统进行测试和维护。
主要通过测试部分,发现开发人员忽视的部分,通过测试人员和编码人员的沟通和协作,可以不断的改进系统,不断提高系统的性能以及安全性。
三.8需求小结
在课程设计的过程中,我学到了很多,也找到了自己身上的不足。
感受良多,获益匪浅。
我们小组分工合作、齐心协力,一起完成了课程设计前的准备工作(阅读课程设计相关文档)、小组讨论分工、完成系统开发的各个文档、课程设计总结报告、,个人小结的任务。
在课程设计中我们便对这次任务进行了规划和分工。
我们组的成员一起努力,查阅资料、小组讨论、对资料进行分析,并在这段时间里完成了整个设计,并最后撰写课程设计报告及个人总结。
从这次的课程设计中,通过对需求分析说明书的报告很好的学习了软件工程的知识,对以后书写和学习课程设计留下了很好的经验。
需求分析的书写要很正式,要根据实验指导书的模式来写,从中要写出对目标概述,对功能的规定,对性能的规定,运行环境的规定等等。
在课程设计的过程中,我们经历了感动,经历了一起奋斗的酸甜苦辣。
也一起分享了成功的喜悦。
这次的课程设计对我们每个人来说都是一个挑战。
这时候小组的力量就体现出来了,各司其职,各尽其能。
发挥了集体的效用。
在这个过程,我受到了好多帮助,一让人有无比的动力和解决问题的决心。
其实这次的课程设计我的最大的感受不是知识的获得,而是人格的磨练和交际的能力。
课程设计这样集体的任务光靠团队里的一个人或几个人是不可能完成好的,合作的原则就是要利益均沾,责任公担。
如果让任务交给一个人,那样既增加了他的压力,也增大了完成任务的风险,降低了工作的效率。
四概要设计说明书
四.1引言
编写目的
在本机票预定系统项目的前一阶段,也就是需求分析阶段中,已经将系统用户对本系统的需求做了详细的阐述,这些用户需求已经在上一阶段中对航空公司、各旅行社及机场的实地调研中获得,并在需求规格说明书中得到详尽得叙述及阐明。
本阶段已在系统的需求分析的基础上,对机票预定系统做概要设计。
主要解决了实现该系统需求的程序模块设计问题。
包括如何把该系统划分成若干个模块、决定各个模块之间的接口、模块之间传递的信息,以及数据结构、模块结构的设计等。
在以下的概要设计报告中将对在本阶段中对系统所做的所有概要设计进行详细的说明。
在下一阶段的详细设计中,程序设计员可参考此概要设计报告,在概要设计对机票预定系统所做的模块结构设计的基础上,对系统进行详细设计。
在以后的软件测试以及软件维护阶段也可参考此说明书,以便于了解在概要设计过程中所完成的各模块设计结构,或在修改时找出在本阶段设计的不足或错误。
项目背景
本项目(机票预定系统)时由航空公司委托,由<>负责开发。
机票预定系统将由两部分组成:
置于个旅行社定票点的前台客户程序,以及置于航空公司的数据库服务器。
本系统与其他系统的关系如下:
定义
专门术语
MYSQL:
系统服务器所使用的数据库管理系统(DBMS)。
SQL:
一种用于访问查询数据库的语言
事务流:
数据进入模块后可能有多种路径进行处理。
主键:
数据库表中的关键域。
值互不相同。
外部主键:
数据库表中与其他表主键关联的域。
ROLLBACK:
数据库的错误恢复机制。
缩写
系统:
若未特别指出,统指本机票预定系统。
SQL:
StructuredQueryLanguage(结构化查询语言)。
ATM:
AsynchronousTransferMode(异步传输模式)。
参考资料
[1]机票预定系统项目计划任务书航空公司1999/3
[2]机票预定系统项目开发计划《》软件开发小组1999/3
[3]需求规格说明书《》软件开发小组1999/3
[4]用户操作手册(初稿)《》软件开发小组1999/4
[5]软件工程及其应用周、王文等科学技术1992/1
[6]软件工程海藩清华大学1990/11
[7]ComputerNetworkA.S.TanenbaunPrenticeHall1996/01
[8]文档所采用的标准是参照《软件工程导论》美明著的“计算机软件开发文档编写指南”。
四.2任务概述
目标
运行环境
系统将由两部分程序组成,安装在各旅行社客户机上的客户程序及航空公司的数据服务器程序。
根据调研得知所有旅行社的计算机配置均在Pentium133级别以上,客户程序应能够在Pentium133级别以上,WinNT环境下运行。
需求概述
航空公司为方便旅客,需开发一个机票预定系统。
为便于旅客由旅行社代替航空公司负责为旅客定票,旅行社把预定机票的旅客信息,包括、性别、工作单位、、旅行时间、旅行目的地,输入机票预定系统的客户端程序,系统经过查询航空公司的航班数据服务器后,为旅客安排航班,印出取票通知。
旅客在飞机起飞前一天凭取票通知和帐单交款后取票,系统校对无误后即印出机票给旅客。
要求系统能有效、快速、安全、可靠和无误的完成上述操作。
并要求客户机的界面要简单明了,易于操作,服务器程序利于维护。
四.3总体设计
处理流程
下面将使用(结构化设计)面向数据流的方法对机票预定系统的处理流程进行分析。
系统可分为两大部分:
一、客户机上的程序,二、服务器上的程序。
以下将分别对系统的这两大部分进行流程分析:
客户机程序流程
客户机上的输入信息为旅客资料或帐单号,还包括一个定票/领票选项。
输出为打印帐单或机票,和确认或出错信息。
其部处理流程如下:
下面对各模块(以数字表示)进行功能说明:
(1)读入并确定(定票/领票)它是一个事务处理中心,若输入是定票时转入2,输出则转入5。
(2)读入旅客资料读取所输入的旅客资料,并将其格式化,将格式化数据送3。
(3)检验输入资料检验格式化输入资料,初步检查输入是否有误,它是一个事务处理中心,有误则转2再次读入,检查无误则将数据送4。
(4)准备服务器数据由格式化旅客资料准备需发送到服务器的数据,将准备好的数据送7。
(5)读入帐单号读取所输入的帐单号,并将其格式化,将格式化数据送6。
(6)准备服务器数据由格式化帐单号准备需发送到服务器的数据,不同于4,它将准备的是帐单号,将准备好的数据送7。
(7)准备网络数据包将数据准备/加密成网络传输数据包。
(8)网络数据发送将数据包经网络发送到服务器程序,它是程序与网络的接口。
(9)网络数据接受接受由服务器程序经网络传送到客户机的数据包,它是程序与网络的接口。
(10)解开/判断解开9所接受的数据包,并判断数据是定票数据或是领票数据,它是一事务处理中心,是定票则将数据送11,是领票则将数据送18。
(11)定票成功?
由数据判断定票是否成功,它是一事务处理中心,若定票成功则将数据送11,不成功则将数据送18。
(12)准备输出数据由接收的服务器数据准备输出数据,其中关于帐单的数据将送入13,其他包括旅客资料等送入14。
(13)打印帐单由帐单信息处理帐单格式并打印出帐单。
(14)输出定位确定在屏幕上显示确定定位及其他信息。
(15)判断错误由数据判断出错误类型,将类型送到16。
(16)准备错误语句由具体错误类型准备错误语句,送17。
(17)输出错误语句在屏幕上显示错误语句。
(18)领票核对成功?
由数据判断领票核对是否成功,它是一事务处理中心,若成功则将数据送19,不成功则将数据送15。
(19)准备机票输出数据由接收的服务器数据准备将打印的机票数据数,据其中关于帐单的机票的数据将送入20,其他包括旅客资料等送入14。
(20)打印机票由机票信息处理机票格式并打印出机票。
服务器程序流程
下面对各模块(以数字表示)进行功能说明:
(1)网络数据接收接受由客户机程序经网络传送到客户机的数据包,它是程序与网络的接口。
(2)解开数据解开/解密打包的数据,并将恢复的数据格式化送入3。
(3)判断操作由数据判断需要做什么数据库操作,它是一事务处理中心,若为定票操作则将数据送4,若为领票操作则将数据送15。
(4)准备数据库查询语句由定票数据准备访问MYSQL数据库所需的SQL语句,送入5。
(5)数据库操作运行SQL语句,查询并存入数据库,获得相应的定票数据,将数据送入6。
它需包括初步对查询的判断。
它必须为乘客安排可抵达目的地的有座位的航班。
(6)判断查询是否成功利用查询所得的数据判断定票是否成功,它是一事务处理中心,若为定票操作成功则将数据送7,若不成功则将数据送8。
(7)准备回送数据准备定票成功后需回送客户机程序的数据,送16。
(8)确定原因由查询数据判断定票不成功的原因,送9。
(9)准备回送数据根据不成功的原因,准备需送回客户机程序的数据,送入16。
(10)准备数据库查询语句由领票数据准备访问MYSQL数据库所需的SQL语句,送入11。
(11)数据库操作运行SQL语句,查询并存入数据库获得相应的领票数据,将数据送入6。
它需包括初步对查询的判断。
(12)判断查询是否成功利用查询所得的数据判断领票是否成功,它是一事务处理中心,若为领票操作得到确认则将数据送11,若不成功则将数据送8。
(13)准备回送数据准备领票确认后需回送客户机程序的数据,送16。
(14)确定原因由查询数据判断领票不能确认的原因,送15。
(15)准备回送数据根据不成功的原因,准备需送回客户机程序的数据,送入16。
(16)准备网络数据包将数据准备/加密成网络传输数据包。
(17)网络数据发送将数据包经网络发送到服务器程序,它是程序与网络的接口。
以上显示的各模块数字相同的为同一模块;由于事务流处理上的便利,将有些功能模块,拆分到各事务流中。
总体结构和模块外部设计
下面以结构图来描述机票预定系统的软件总体结构。
框注明了模块的名字;方框之间的直线表示模块的调用关系。
客户机部分
(见下一页)
服务器部分
其中在数据处理、查询下作了省略…只给出了一部分模块,实际上是有两部分,分别对