页数:9页文件大小:34.4 KB来源: 软件工程ppt课件
本课件给出机票预定系统概要设计说明书的完整案例,涵盖编写目的、需求规定与运行环境,客户机与服务器程序的总体结构和模块外部设计,外部接口、内部接口与功能分配,以及物理数据结构设计和系统运行、出错处理等设计内容。
概要设计说明书1.引言1.编写目的本阶段已在系统的需求分析的基础上,对机票预定系统做概要设计。主要解决了实现该系统需求的程序模块设计问题。包括如何把该系统划分成若干个模块、决定各个模块之间的接口、模块之间传递的信息,以及数据结构、模块结构的设计等。在以下的概要设计报告中将对在本阶段中对系统所做的所有概要设计进行详细的说明。
2.项目背景开发软件名称:机票预订系统。项目任务提出者:修宇老师。项目开发者:用户:航空公司运行环境:宿舍电脑。开发平台:MyEclipse7.0Mysql数据库。系统架构:该系统采用java+jsp框架3.定义Mysql:系统服务器所使用的数据库管理系统(DBMS)。SQL:一种用于访问查询数据库的语言事务流:数据进入模块后可能有多种路径进行处理。
主键:数据库表中的关键域。值互不相同。外部主键:数据库表中与其他表主键关联的域。
4.参考资料以下列出在概要设计过程中所使用到的有关资料:1992/1天津科学技术出版社软件工程及其应用周苏、王文等1990/11清华大学出版社软件工程张海藩2008/06机械工业出版社软件工程郑人杰马素霞2.总体设计1.目标本系统主要应用于航空公司的票务系统的预订子系统,主要目的
为用户提供方便快捷的机票预订服务,提高航空公司的运行效率.其主要应用对象是对机票预订有需求的潜在用户。
2.需求概述航空公司为方便旅客,需开发一个机票预定系统。为便于旅客由旅行社代替航空公司负责为旅客定票,旅行社把预定机票的旅客信息,包括姓名、性别、工作单位、身份证号码、旅行时间、旅行目的地,输入机票预定系统的客户端程序,系统经过查询航空公司内的航班数据服务器后,为旅客安排航班,印出取票通知。
旅客在飞机起飞前一天凭取票通知和帐单交款后取票,系统校对无误后即印出机票给旅客。要求系统能有效、快速、安全、可靠和无误的完成上述操作。并要求客户机的界。
面要简单明了,易于操作,服务器程序利于维护。2.3处理流程下面将使用(结构化设计)面向数据流的方法对机票预定系统的处理流程进行分析。系统可分为两大部分:一、客户机上的程序,二、服务器上的程序。以下将分别对系统的这两大部分进行流程分析:2.3.1客户机程序流程客户机上的输入信息为旅客资料或帐单号,还包括一个定票/领票选项。
输出为打印帐单或机票,和确认或出错信息。其内部处理流程如下:下面对各模块进行功能说明:航班查询:进入该系统进行机票查询,选择起始城市、目的城市、起飞时间、起飞日期、航空公司等信息后点击“查询航班”进入“机票查询结果”页面。选择航班:1.您现在已经进入机票查询结果的页面,如果现在您的起飞日期、目的城市有所更改,您可直接在左边的查询中修改,以便系统重新搜索。
2.页面上会显示航空公司、起飞时间、到达时间、日期、以及舱位的价格、余位。3.选择您需要的机票类型,点击“预订该舱位”就可直接进入预订页面。填写订单:1.按照系统要求仔细填写乘机人姓名、证件类型、证件号。2.您可以选择适合您的付款方式付款。3.填写联系人全名、联系人手机或固定电话和常用email地址,选择送票城市。
4.填写完以上预订信息后,点击“预订”进入核对界面提交订单:1.在提交订单前,您可以再次仔细的查看一下您的预订数据是否有误,如无误您可直接点击““预订”按钮以提交您的订单。2.订单提交后,如果成功会显示您的订单号码及订单处理成功的提示,否则会显示错误信息请返回重新提交。
3.订单提交后,我们将尽快按您的要求处理订单,如果您的行程有任何变化,请拨打电话及时与我们联系。支付票款:您提交的定单在预订机票系统中订位成功后,为了不被取消请马上支付票款给我们。印出机票:1.在您支付了所预订的机票款后,我们会及时为您出票,并把出票后我们航班查询选择航班填写订单提交订单支付票款印出机票。
会通知您
您可以通过信息中的五位数编号拨打航空公司客服电话进行验证。2.出票后我们会根据您填写的送票时间和送票地址为您送票上门。2.3.2服务器程序流程下面对各模块进行功能说明:航班信息更新:系统的管理员通过对航班信息的修改,使数据库中的信息发生变化。航班取消:当由于某种原因某航班被取消了,系统的管理人员要第一时间的更改数据库中的航班信息,使旅客能及时了解最新信息。
系统管理员航班信息的更新服务器终端显示数据产生报表Mysql数据库系统管理员航班取消产生报表服务器终端显示数据。
客户机部分机票预定系统
(客户机程序)接收输入数据联络服务器准备确认发送数准备定票发送数据检验输入读入旅客资料读入帐单号确定(定票/领票)旅客资料定票/领票帐单号准备网络数据包发送数据解开网络数据包接收数据定票成功。领票成功。输出数据确认操作类型准备输出判断错误类型准备输出准备错误信息打印帐单显示确认显示错误打印机票确认显示帐单机票。
服务器程序
部分2.4功能分配客户机程序主要有三大块:接收数据、网络通信及输出部分。服务器程序主要也是由三大功能:接收网络数据、数据库操作及发送网络数据部分。服务器程序需与已建立的Mysql数据库互连,其接口将于下面部分阐述。3.接口设计1.外部接口1.用户界面在用户界面部分,根据需求分析的结果,用户需要一个用户友善界面。
在界面设计上,应做到简单明了,易于操作,并且要注意到界面的布局,应突出的显示重要以及出错信息。外观上也要做到合理化,考虑到用户多对WINDOW风格较熟悉,应尽量向这一方向靠拢。总的来说,系统的用户界面应作到可靠性、简单性、易学习和使用2.软件接口服务器程序上可使用Mysql的对数据库的备分命令,以做到对数据的保存。
在网络软件接口方面,使用一种无差错的传输协议,采用滑动窗口方式对数据进行网络传输及接收。3.硬件接口在输入方面,对于键盘、鼠标的输入,可用Java、jsp的标准输入/输出,对输入进行处理。在输出方面,打印机的连接及使用,也可用Java的标准输入/输出对其进行处理。在网络传输部分,在网络硬件部分,为了实现高速传输,将使用高速ATM。
2.内部接口机票预定系统(服务器部分)数据处理、查询接收数据判断类型解开数据包接收客户机数据发送数据准备数据包发送数据到客户机准备SQL数据库操作判断查询准备返回数据判断原因准备返回数据。
内部接口方面,各模块之间采用函数调用、参数传递、返回值的方式进行信息传递。具体参数的结构将在下面数据结构设计的内容中说明。接口传递的信息将是以数据结构封装了的数据,以参数传递或返回值的形式在各模块间传输。
4.数据结构设计1.数据库数据结构设计DBMS的使用上系统将采用Mysql,系统主要需要维护3张数据表:1.航班班次表座位空数商务仓票价商务仓票价起飞日期/时间飞行出发地/目的地航班号航班班次表保存了所有从本地起飞的班机信息,它的主键为航班号。在定位前先查寻座位空数,在定位后将修改座位空数。
2.领票信息表是否领票账单号航班号领票信息表保存了已定位信息,主键为帐单号,外部主键为航班号。在旅客领票过程时将用到此表,领票后修改是否领票域3.帐单信息/旅客资料表工作单位电子邮件联系电话身份证号码性别姓名航班等级航班日期预订航班帐单信息/旅客资料表保存已定位的旅客信息资料,它的主键为旅客身份证号,外部主键为帐单号。主要用于领票时将旅客信息一同返回。
4.2物理数据结构设计。
物理数据结构设计
主要是设计数据在模块中的表示形式。数据在模块中都是以结构的方式表示。1.旅客信息Varchar姓名Varchar性别Varchar身份证号码Varchar工作单位用于定票时接收输入,以及领票时服务器返回。2.飞行目的地Varchar航班号Varchar目的地Date起飞时间Varchar座位号用于定票时接收输入,以及领票时服务器返回。
3.机票信息Varchar航班号Varchar目的地Date起飞时间Varchar姓名Varchar性别Varchar身份证号码Varchar座位号用于打印机票准备工作。4.帐单信息。
Varchar账单号Varchar姓名Varchar身份证Varchar航班号Date起飞时间Varchar目的地用于打印帐单准备工作。4.3数据结构与程序的关系服务器程序在对定票/领票进行操作时需对数据库数据库数据结构,也就是数据表进行查询和修改:在定票/领票过程中都需要对数据库中的所有表,进行联合查询、修改。物理数据结构主要用于各模块之间函数的信息传递。
接口传递的信息将是以数据结构封装了的数据,以参数传递或返回值的形式在各模块间传输。出错信息将送入显示模块中,机票结构,帐单结构,送入打印准备模块中准备打印格式。5.运行设计1.运行模块的组合客户机程序在有输入时启动接收数据模块,通过各模块之间的调用,读入并对输入进行格式化。
在接收数据模块得到充分的数据时,将调用网络传输模块,将数据通过网络送到服务器,并等待接收服务器返回的信息。接收到返回信息后随即调用数据输出模块,对信息进行处理,产生相应的输出。服务器程序的接收网络数据模块必须始终处于活动状态。接收到数据后,调用数据处理/查询模块对数据库进行访问,完成后调用网络发送模块,将信息返回客户机。
2.运行控制运行控制将严格按照各模块间函数调用关系来实现。在各事务中心模块中,需对运行控制进行正确的判断,选择正确的运行控制路径。在网络传方面,客户机在发送数据后,将等待服务器的确认收到信号,收到后,再次等待服务器发送回答数据,然后对数据进行确认。服务器在接到数据后发送确认信号,在对数据处理、访问数据库后,将返回信息送回客户机,并等待确认。
3.运行时间在软体的需求分析中,对运行时间的要求为必须对作出的操作有较快的反应。网络硬件对运行时间有最大的影响,当网络负载量大时,对操作反应将受到很大的影响。所以将采用高速ATM网络,实现客户机与服务器之间的连接,以减少网络传输上的开销。其次是服务器的性能,这将影响对数据库访问时间即操作时间的长短,影响加大客户机操。
作的等待时间,所以必须使用高性能的服务器,建议使用PentiumIII处理器。硬件对本系统的速度影响将会大于软件的影响。6.6.问题说明1.尚未解决问题数据库设计部分未能完成参照需求文档的用户授权范围的视图设计,主要缺少视图中每列对应的具体算法。
7.出错处理设计1.出错输出信息程序在运行时主要会出现两种错误:1、由于输入信息,或无法满足要求时产生的错误,称为软错误。2、由于其他问题,如网络传输超时等,产生的问题,称为硬错误。对于软错误,须在定票/领票操作成功判断及输入数据验证模块由数据进行数据分析,判断错误类型,再生成相应的错误提示语句,送到输出模块中。
对与硬错误,可在出错的相应模块中输出简单的出错语句,并将程序重置。返回输入阶段。出错信息必须给出相应的出错原因,例:《全部班机座位已满。》《查无此定位信息。》等。2.出错处理对策所有的客户机及服务器都必须安装不间断电源以防止停电或电压不稳造成的数据丢失的损失。
若真断电时,客户机上将不会有太大的影响,主要是服务器上:在断电后恢复过程可采用Mysql的日志文件,对其进行ROLLBACK处理,对数据进行恢复。在网络传输方面,可考虑建立一条成本较低的后备网络,以保证当主网络断路时数据的通信。在硬件方面要选择较可靠、稳定的服务器机种,保证系统运行时的可靠性。7.3维护设计维护方面主要为对服务器上的数据库数据进行维护。
可使用Mysql的数据库维护功能机制。例如,定期为数据库进行Backup,维护管理数据库死锁问题和维护数据库内数据的一致性等。
下载地址:{{downurl}}
{{{a}}}
{{#b}}{{{b}}}
{{/b}} {{/title}} {{#nolog}}登陆注册
{{/nolog}} {{#djsx}}点我刷新
{{/djsx}} {{#gocz}} {{/gocz}} {{#ffqr}} {{/ffqr}}