机票预定系统1文件状态[]草稿[]讨论稿[]正式发布文档编号文档类型版本作者完成日期项目名称:机票预定系统文档名称:概要设计说明书机票预定系统2文档修订版本日期更改人描述(注明修改的条款或页)批准人签字职务姓名日期(项目经理)机票预定系统3引言1、编写目的在本机票预定系统项目的前一阶段,也就是需求分析阶段中,已经将系统用户对本系统的需求做了详细的阐述,这些用户需求已经在上一阶段中对航空公司、各旅行社及机场的实地调研中获得,并在需求规格说明书中得到详尽得叙述及阐明。本阶段已在系统的需求分析的基础上,对机票预定系统做概要设计。主要解决了实现该系统需求的程序模块设计问题。包括如何把该系统划分成若干个模块、决定各个模块之间的接口、模块之间传递的信息,以及数据结构、模块结构的设计等。在以下的概要设计报告中将对在本阶段中对系统所做的所有概要设计进行详细的说明。在下一阶段的详细设计中,程序设计员可参考此概要设计报告,在概要设计对机票预定系统所做的模块结构设计的基础上,对系统进行详细设计。在以后的软件测试以及软件维护阶段也可参考此说明书,以便于了解在概要设计过程中所完成的各模块设计结构,或在修改时找出在本阶段设计的不足或错误。2、缩写系统:若未特别指出,统指本机票预定系统。SQL:StructuredQueryLanguage(结构化查询语言)。ATM:AsynchronousTransferMode(异步传输模式)。3、专业术语SQLSERVER:系统服务器所使用的数据库管理系统(DBMS)。SQL:一种用于访问查询数据库的语言事务流:数据进入模块后可能有多种路径进行处理。主键:数据库表中的关键域。值互不相同。外部主键:数据库表中与其他表的主键关联的域。ROLLBACK:数据库的错误恢复机制。4、参考资料1.软件工程及其应用周苏、王文等天津科学技术出版社1992/1;2.软件工程张海藩清华大学出版社1990/11。机票预定系统41、任务概述1.1任务目标机票预定系统的总目标是:在计算机网络,数据库和先进的开发平台上,利用现有的软件,配置一定的硬件,开发一个具有开放体系结构的、易扩充的、易维护的、具有良好人机交互界面的机票预定系统,实现航空公司的机票销售的自动化的计算机系统,为企业的决策层提供准确、精细、迅速的机票销售信息。总之,这个系统要求能够实现实时,高效,便捷,完善,安全性好等特点。1.2运行环境1设备:Pentium133以上,32MRAM,4.3GHD。2支持软件:用C#程序设计语言作为系统的支持软件。3接口:本产品的用户一般需要通过终端进行操作,进入主界面后点击相应的窗口,分别进入相对应的界面(如:登陆界面)。用户对程序的维护,最好要有备份。4操作系统:WinXP/Win7/Vista。5数据库管理系统:SQLServer。1.3条件与限制计算机技术和产品的发展日新月异,将会给信息处理带来更多的手段,同时也会带来更加丰富的信息表达形式。例如图像和语音技术的进步,多媒体技术的发展,这些都要求系统在设计时考虑技术变化的可能性,为可能的变化预留一定的系统处理能力。1.4需求规定HorizonAirways在每个航班运营的城市都设有大量订票处。每个订票处都有大量订票柜台来处理订票和取消订票。每个柜台都有一名柜台助理来负责预订或取消预订。HorizonAirways需要开发一个新系统来利用最新技术和使乘客能够在线查询有关航班和候补列表状态的信息。新系统应具有以下功能:机票预定系统5该系统应允许柜台助理处理票务和退款。接受预订数据时,应执行所有必需验证。例如,该系统应检查航班是否在乘客指定旅行日期运营。该系统还应检查座位可用情况状态。接受所有数据后,该系统应打印机票。该系统还应存储乘客详细信息、更新日常收款信息以及更新座位安排。如果发生取消预订,则该系统应从用户处接受PNR号、验证PNR号并更新乘客的取消预订标志。然后,该系统应打印退款收据。该系统还应更新日常收款信息以反映退款金额。当已确认机票被取消时,应更改超额预订和候补机票的状态。该系统应生成以下报告:已确认乘客列表候补列表日常收款报告机票预定系统62、总体设计2.1用例关系图用例关系图能够简洁的表示出系统的使用者(乘客和柜台助理)所拥有的权限及操作,能够直观的表示出系统的大体框架与主要的模块组成,对后续的开发工作起到了良好的促进作用。乘客查询预订机票查询所有航班信息查询已预订航班信息取消预订柜台助理报告和处理打印当日乘客列表打印每日收款摘要图2-1用例关系图2.2类关系图类关系图描述了系统设计过程中各部分对象数据段之间的关系。机票预定系统7+调用操作()+接收消息()-员工号:int柜台助理+添加乘客详细信息()+验证PNR()-PNR号mainfest文件+接收日期、区域。舱级()+保存详细信息()+制定PNR()+收取机票金额()+接收预订日期()操作+打印机票()+打印退款收据()+打印乘客列表()+打印收款摘要报告()-编号打印机+查询座位号可用信息()+接收乘客PNR号()+检查制定日期运营情况()+验证PNR()+检验预订日期是否符合()验证+计算机票金额()+计算退款金额()-单位费用+更新()+保存()+查询()-座位情况Reservation文件+接收退款()+接收机票()+查询()+提供预订日期()+提供区域、日期、舱级()+接收PNR()-客户偏好-饮食偏好-SSR-PNR乘客+归档收据()-编号-乘客列表-候补列表-日常收款报告、日常收集+提供机票信息()-等级日期-是否可转让-名字-目的地-航班详细信息机票+获得名称()+获得票价()-仓位名称-票价仓位等级+查询航班信息()-航班安排-运营情况航班+查询候补状态信息()+查询各舱级座位情况()-座位数-舱级情况-超额情况-候补机票数飞机-路线安排航线头等舱商务舱经济舱*1-调用**-调用*1-验证PNR*-调用*-接收乘客信息1*-提供PNR**-调用1**-调用*-查询座位情况-验证机票详情-检查指定日期运营情况-调用-查询候补状态信息****图2-2类关系图2.3序列关系图序列关系图描述了用户在使用系统各个不同模块时的操作过程,使得程序员在开发程序的过程中,能够更加准确的了解到各个模块之间的关系,同时也方便了用户的操作,是程序设计过程中不可或缺的一部分。机票预定系统8乘客操作验证航班飞机费用打印机日常收集mainfest文件Reservation文件1:预订2:检验预订日期是否符合()3:查询航班信息()返回4:提供区域、日期、舱级()5:接收区域、日期、舱级()6:检查指定日期运营情况()7:查询座位号可用信息()8:查询各舱级座位情况()返回9:计算机票金额()返回10:保存详细信息()11:打印收款摘要报告()12:归档数据()13:添加乘客详细信息()14:更新()15:查询()16:接收乘客PNR号()17:验证PNR()返回18:打印退款收据()19:更新()图2-3序列关系图2.4活动关系图活动关系图表示了用户的操作过程以及相对应的各模块的运行情况。系统柜台助理乘客查询执行查询操作验证信息接收退款/确认退款订购机票接收机票/确认订购图2-4活动关系图机票预定系统92.5组件关系图组件关系图描述了系统的硬件与逻辑组成部分。数据库本地系统本地客户端打印机输入设备图2-5组件关系图2.6部署关系图部署关系图描述了系统中物理组成部分与逻辑组成部分之间的包含关系。数据库系统数据库HorizonAirway办事处本地系统HorizonAirway柜台本地客户端输入设备打印机图2-6部署关系图机票预定系统103、接口设计3.1外部接口设计3.1.1用户界面在用户界面部分,根据需求分析的结果,用户需要一个用户友善界面。在界面设计上,应做到简单明了,易于操作,并且要注意到界面的布局,应突出的显示重要以及出错信息。外观上也要做到合理化,考虑到用户多对WINDOW风格较熟悉,应尽量向这一方向靠拢。在设计语言上,已决定使用MSVISUALC#进行编程,向WINDOWS风格靠近。其中服务器程序界面要做到操作简单,易于管理。总的来说,系统的用户界面应作到可靠性、简单性、易学习和使用。3.1.2软件接口服务器程序可使用VISUALC#提供的对SQLSERVER的接口,进行对数据库的所有访问。服务器程序上可使用SQLSERVER的对数据库的备份命令,以做到对数据的保存。在网络软件接口方面,使用一种无差错的传输协议,采用滑动窗口方式对数据进行网络传输及接收。3.1.3硬件接口在输入方面,对于键盘、鼠标的输入,可用VISUALC#的标准输入/输出,对输入进行处理。在输出方面,打印机的连接及使用,也可用VISUALC#的标准输入/输出对其进行处理。在网络传输部分,在网络硬件部分,为了实现高速传输,将使用高速ATM。3.2内部接口设计该系统各模块之间相互独立又彼此关联,主要通过函数调用实现各部分的连接。其业务流程图如下:机票预定系统11系统登录是否登录系统主体窗口系统配置基本档案售票管理库存管理否是图3-2业务流程图机票预定系统124、数据结构设计4.1物理数据结构设计物理数据结构设计主要是设计数据在模块中的表示形式。数据在模块中都是以结构的方式表示。4.2数据结构与程序的关系服务器程序在对定票/领票进行操作时需对数据库的数据结构,也就是数据表进行查询和修改:在定票/领票过程中都需要对数据库中的所有表,进行联合查询、修改。物理数据结构主要用于各模块之间函数的信息传递。接口传递的信息将是以数据结构封装了的数据,以参数传递或返回值的形式在各模块间传输。出错信息将送入显示模块中,机票结构,账单结构,送入打印准备模块中准备打印格式。5、运行设计5.1运行控制运行控制将严格按照各模块间函数调用关系来实现。在各事务中心模块中,需对运行控制进行正确的判断,选择正确的运行控制路径。在网络传方面,客户机在发送数据后,将等待服务器的确认收到信号,收到后,再次等待服务器发送回答数据,然后对数据进行确认。服务器在接到数据后发送确认信号,在对数据处理、访问数据库后,将返回信息送回客户机,并等待确认。机票预定系统135.2运行时间在软体的需求分析中,对运行时间的要求为必须对做出的操作有较快的反应。网络硬件对运行时间有最大的影响,当网络负载量大时,对操作反应将受到很大的影响。所以将采用高速ATM网络,实现客户机与服务器之间的连接,以减少网络传输上的开销。其次是服务器的性能,这将影响对数据库访问时间即操作时间的长短,影响加大客户机操作的等待时间,所以必须使用高性能的服务器。硬件对本系统的速度影响将会大于软件的影响。5.3运行模块的组合客户机程序在有输入时启动接收数据模块,通过各模块之间的调用,读入并对输入进行格式化。在接收数据模块得到充分的数据时,将调用网络传输模块,将数据通过网络送到服务器,并等待接收服务器返回的信息。接收到返回信息后随即调用数据输出模块,对信息进行处理,产生相应的输出。6、出错处理设计6.1出错输出信息程序在运行时主要会出现两种错误:由于输入信息,或无法满足要求时产生的错误,称为软错误。由于其他问题,如网络传输超时等,产生的问题,称为硬错误。对于软错误,须在定票/领票操作成功判断及输入数据验证模块由数据进行数据分析,判断错误类型,再生成相应的错误提示语句,送到输出模块中。对与硬错误,可在出错的相应模块中输出简单的出错语句,并将程序重置,机票预定系统14返回输入阶段。出错信息必须给出相应的出错原因,例:《全部班机座位已满!》《查无此定位信息!》等。6.2出错处理对策所有的客户机及服务器都必须安装不间断电源以防止停电或电压不稳造成的数据丢失的损失。若真断电时,客户机上将不会有太大的影响,主要是服务器上:在断电后恢复过程可采用SQLSERVER的日志文件,对其进行ROLLBACK处理,对数据进行恢复。在网络传输方面,可考虑建立一条成本较低的后备网络,以保证当主网络断路时数据的通信。在硬件方面要选择较可靠、稳定的服