资源描述
概要设计阐明书
1.引言
1.1编写目
本阶段已在系统需求分析基本上,对机票预定系统做概要设计。重要解决了实现该系统需求程序模块设计问题。涉及如何把该系统划提成若干个模块、决定各个模块之间接口、模块之间传递信息,以及数据构造、模块构造设计等。在如下概要设计报告中将对在本阶段中对系统所做所有概要设计进行详细阐明。
1.2项目背景
开发软件名称:机票预订系统。
开发者:
顾客:航空公司,旅行社,乘客
运营环境:个人电脑
开发平台:MyEclipse 7.0 ,SQL SERVER数据库。
系统架构:该系统采用java+jsp完毕。
1.3定义
SQL SERVER:系统服务器所使用数据库管理系统(DBMS)。
SQL:一种用于访问查询数据库语言
事务流:数据进入模块后也许有各种途径进行解决。
主键:数据库表中核心域。值互不相似。
外部主键:数据库表中与其她表主键关联域。
1.4参照资料
如下列出在概要设计过程中所使用到关于资料:
1.软件工程及其应用 周苏、王文等 天津科学技术出版社 1992/1
2.软件工程 张海藩 清华大学出版社 1990/11
2.任务概述
2.1目的
该阶段目在于明确系统数据构造和软件构造,此外总体设计还将给出内部软件和外部系统某些之间接口定义,各个软件模块功能阐明,数据构造细节以及详细装备规定。
2.2运营环境
系统将由两某些程序构成,安装在各旅行社客户机上客户程序及航空公司内数据服务器程序。
数据库软件:Mysql数据库
运营平台:Windows XP/windows 7
2.3 需求概述
航空公司为以便旅客,需开发一种机票预定系统。为便于由旅行社代替航空公司负责为旅客定票,旅行社把预定机票旅客信息,涉及姓名、性别、工作单位、身份证号码、旅行时间、旅行目地,输入机票预定系统客户端程序,系统通过查询航空公司内航班数据服务器后,为旅客安排航班,打印取票告知。旅客在飞机起飞前凭取票告知交款后取票,系统核对无误后即打印机票。 规定系统能有效、迅速、安全、可靠和无误完毕上述操作。并规定客户机界面要简朴明了,易于操作,服务器程序便于维护。
2.4 条件与限制
为了评价该设计阶段设计表达“优劣限度”,必要遵循如下几种准则:
(1) 软件设计应当体现出层次构造,它应巧妙地运用各 个软件部件之间控制关系;
(2) 设计应当是模块化地,即该软件应当从逻辑上被划分 成各种部件,分别实现各种特定功能和子功能;
(3) 设计最后应当给出详细模块,这些模块就具备独立 功能特性;
(4) 应当应用在软件需求分析期间得到信息,采用循环 重复办法来获得设计。
3.总体设计
3.1 解决流程
下面将使用(构造化设计)面向数据流办法对机票预定系统解决流程进行分析。系统可分为两大某些:一、客户机上程序,二、服务器上程序。如下将分别对系统这两大某些进行流程分析:
3.1.1 客户机程序流程
客户机上输入信息为旅客资料或帐单号,还涉及一种定票/领票选项。输出为打印帐单或机票,和确认或出错信息。其内部解决流程如下:旅客资料
订票/取票
账单号
1
2
5
3
4
6
8
7
经网络送服务器程序
服务器经网络送来回答
9
10
11
16
15
18
17
14
13
12
20
14
19
打印账单
输出拟定预订信息
输出错误因素
输出拟定预订信息
打印机票
下面对各模块(以数字表达)进行功能阐明:
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.打印机票 由机票信息解决机票格式并打印出机票。
3.1.2 服务器程序流程
1
2
5
3
4
6
8
7
客户机经网络送来数据
客户机经网络送来数据
9
10
11
16
15
17
14
13
12
SQL server
(票务数据库)
来自客户机
送客户机
下面对各模块(以数字表达)进行功能阐明:
1.网络数据接受 接受由客户机程序经网络传送到客户机数据包, 它是程序与网络接口。
2.解开数据 解开/解密打包数据,并将恢复数据格式化送入3。
3.判断操作 由数据判断需要做什么数据库操作,它是一事务解决中心,若为定票操作则将数据送4,若为领票操作则将数据送15。
4.准备数据库查询语句 由定票数据准备访问SQL SERVER数据库所需SQL 语句,送入5。
5.数据库操作 运营SQL 语句,查询并存入数据库,获得相应定票数据,将数据送入6。它需涉及初步对查询判断。它必要为乘客安排可到达目地有座位航班。
6.判断查询与否成功 运用查询所得数据判断定票与否成功,它是一事务解决中心,若为定票操作成功则将数据送7,若不成功则将数据送8。
7.准备回送数据 准备定票成功后需回送客户机程序数据,送16。
8.拟定因素 由查询数据判断定票不成功因素,送9。
9.准备回送数据 依照不成功因素,准备需送回客户机程序数据,送入16。
10.准备数据库查询语句 由领票数据准备访问SQL SERVER数据库所需SQL 语句,送入11。
11.数据库操作 运营SQL 语句,查询并存入数据库获得相应领票数据,将数据送入6。它需涉及初步对查询判断。
12.判断查询与否成功 运用查询所得数据判断领票与否成功,它是一事务解决中心,若为领票操作得到确认则将数据送11,若不成功则将数据送8。
13.准备回送数据 准备领票确认后需回送客户机程序数据,送16。
14.拟定因素 由查询数据判断领票不能确认因素,送15。
15.准备回送数据 依照不成功因素,准备需送回客户机程序数据,送入16。
16.准备网络数据包 将数据准备/加密成网络传播数据包。
17.网络数据发送 将数据包经网络发送到服务器程序, 它是程序与网络接口。
以上显示各模块数字相似为同一模块;由于事务流解决上便利,将有些功能模块,拆分到各事务流中。
3.2 总体构造和模块外部设计
下面以构造图来描述机票预定系统软件总体构造。框内注明了模块名字;方框之间直线表达模块调用关系。
3.2.1 客户机某些
机票预定系统(客户机程序)
接受输入数据
联系服务器
接受输入数据
准备网络数据包
发送数据
解开网络数据包
接受数据
准备订票发送数据
准备确认发送数据
检查输入
读入旅客资料
读入账单号
拟定(订票/领票)
领票成功?数据包
订票成功?数据包
确认操作类型
准备输出
准备错误信息
准备输出
判断错误类型
旅客资料
账单号
订票/领票
显示错误
确认显示
打印机票
打印账单
显示确认
账单
机票
3.2.2 服务器程序某些
机票预定系统(服务器某些)
接受数据
数据解决、查询
发送数据
准备SQL
数据库操作
判断查询
判断因素
判断类型
解开数据包
接受客户机数据
发送数据到客户机
准备数据包
准备返回数据
准备返回数据
其中在数据解决、查询下作了省略…只给出了一某些模块,事实上是有两某些,分别相应于定位及确认。
3.3 功能分派
各项模块功能可参照3.1 中阐明。客户机程序重要有三大块:接受数据、网络通信及输出某些。服务器程序重要也是由三大功能:接受网络数据、数据库操作及发送网络数据某些。服务器程序需与已建立SQL SERVER 数据库互连,其接口将于下面某些阐述。
4.接口设计
4.1 外部接口
4.1.1 顾客界面
在顾客界面某些,依照需求分析成果,顾客需要一种顾客友善界面。在界面设计上,应做到简朴明了,易于操作,并且要注意到界面布局,应突出显示重要以及出错信息。外观上也要做到合理化,考虑到顾客多对WINDOW 风格较熟悉,应尽量向这一方向靠拢。在设计语言上,已决定使用 MS VISUAL C++ 进行编程,在界面上可使用VISUAL C++ 所提供可视化组件,向WINDOWS 风格接近。 其中服务器程序界面要做到操作简朴,易于管理。在设计上采用下拉式菜单方式,在出错显示上可调用VISUAL C++ 库中错误提示函数。
总来说,系统顾客界面应作到可靠性、简朴性、易学习和使用
4.1.2 软件接口
服务器程序可使用VISUAL C++ 提供对 SQL SERVER 接口,进行对数据库所有访问。
服务器程序上可使用SQL SERVER 对数据库备分命令,以做到对数据保存。
在网络软件接口方面,使用一种无差错传播合同,采用滑动窗口方式对数据进行网络传播及接受。
4.1.3 硬件接口
在输入方面,对于键盘、鼠标输入,可用VISUAL C++原则输入/输出,对输入进行解决。
在输出方面,打印机连接及使用,也可用VISUAL C++原则输入/输出对其进行解决。在网络传播某些,在网络硬件某些,为了实现高速传播,将使用高速ATM。
4.2 内部接口
内部接口方面,各模块之间采用函数调用、参数传递、返回值方式进行信息传递。详细参数构造将在下面数据构造设计内容中阐明。接口传递信息将是以数据构造封装了数据,以参数传递或返回值形式在各模块间传播。
5.数据构造设计
5.1 数据库数据构造设计
DBMS 使用上系统将采用 SQL SERVER,系统重要需要维护3张数据表:
5.1.1 航班班次表
航班号
起飞日期/时间
飞行目地
座位空数
商务仓票价
经济仓票价
航班班次表保存了所有从本地起飞班机信息,它主键为航班号。在定位前先查寻座位空数,在定位后将修改座位空数。
5.1.2 定位信息表
航班号
帐单号
与否领票
定位信息表保存了已定位信息,主键为帐单号,外部主键为航班号。在旅客领票过程时将用到此表,领票后修改与否领票域。
5.1.3. 帐单信息/旅客资料
账单号
旅客姓名
旅客性别
旅客身份证号码
工作单位
帐单信息/旅客资料表保存已定位旅客信息资料,它主键为旅客身份证号,外部主键为帐单号。重要用于领票时将旅客信息一同返回。
5.1.4. 机位信息表
班机号
机位信息
机位信息表保存各班机各机位定票状况。它外部主键为班机号。重要用于定票时拟定旅客机位,并返回。
5.2 物理数据构造设计
物理数据构造设计重要是设计数据在模块中表达形式。数据在模块中都是以构造方式表达。
5.2.1.旅客信息
1.旅客姓名 String
2.旅客性别 Char
3.身份证号码 LONG INT
4.工作单位 String
用于定票时接受输入,以及领票时服务器返回。
5.2.2.帐单号
可使用一LONG INT 实现。
用于领票时接受输入,以及定票时服务器返回。
5.2.3.飞行目
1. 航班号 String
2. 目地 String
3. 起飞时间 Date/Time
4. 座位号 String
用于定票时接受输入,以及领票时服务器返回。
5.2.4.网络包
1. 网络包Head INT
2. 传播数据 String
用于数据在网络上传播。
5.2.5.错误信息
1. 错误类型 INT
2. 输出语句 String
用于关于错误操作。
5.2.6.机票信息
1.航班号
2.目地
3.起飞时间
4.旅客姓名
5.旅客性别
6.身份证号码
7.座位号
8.
用于打印机票准备工作。数据类型可参照上面所述。
1. 帐单号
2. 旅客姓名
3. 身份证号码
4. 航班号
5. 起飞时间
6. 目地
5.2.7.帐单信息
用于打印帐单准备工作。数据类型可参照上面所述。
5.3 数据构造与程序关系
服务器程序在对定票/领票进行操作时需对数据库数据库数据构造,也就是数据表进行查询和修改:在定票/领票过程中都需要对数据库中所有表,进行联合查询、修改。
物理数据构造重要用于各模块之间函数信息传递。接口传递信息将是以数据构造封装了数据,以参数传递或返回值形式在各模块间传播。出错信息将送入显示模块中,机票构造,帐单构造,送入打印准备模块中准备打印格式。
6.运营设计
6.1 运营模块组合
客户机程序在有输入时启动接受数据模块,通过各模块之间调用,读入并对输入进行格式化。在接受数据模块得到充分数据时,将调用网络传播模块,将数据通过网络送到服务器,并等待接受服务器返回信息。接受到返回信息后随后调用数据输出模块,对信息进行解决,产生相应输出。
服务器程序接受网络数据模块必要始终处在活动状态。接受到数据后,调用数据解决/查询模块对数据库进行访问,完毕后调用网络发送模块,将信息返回客户机。
6.2 运营控制
运营控制将严格按照各模块间函数调用关系来实现。在各事务中心模块中,需对运营控制进行对的判断,选取对的运营控制途径。
在网络传方面,客户机在发送数据后,将等待服务器确认收到信号,收到后,再次等待服务器发送回答数据,然后对数据进行确认。服务器在接到数据后发送确认信号,在对数据解决、访问数据库后,将返回信息送回客户机,并等待确认。
6.3 运营时间
在软体需求分析中,对运营时间规定为必要对作出操作有较快反映。网络硬件对运营时间有最大影响,当网络负载量大时,对操作反映将受到很大影响。因此将采用高速ATM 网络,实现客户机与服务器之间连接,以减少网络传播上开销。另一方面是服务器性能,这将影响对数据库访问时间即操作时间长短,影响加大客户机操作等待时间,因此必要使用高性能服务器,建议使用 Pentium III 解决器。硬件对本系统速度影响将会不不大于软件影响。
7.出错解决设计
7.1 出错输出信息
程序在运营时重要会浮现两种错误:1、由于输入信息,或无法满足规定期产生错误,称为软错误。2、由于其她问题,如网络传播超时等,产生问题,称为硬错误。
对于软错误,须在定票/领票操作成功判断及输入数据验证模块由数据进行数据分析,判断错误类型,再生成相应错误提示语句,送到输出模块中。
对与硬错误,可在出错相应模块中输出简朴出错语句,并将程序重置。返回输入阶段。
出错信息必要给出相应出错因素。
7.2 出错解决对策
所有客户机及服务器都必要安装不间断电源以防止停电或电压不稳导致数据丢失损失。若真断电时,客户机上将不会有太大影响,重要是服务器上:在断电后恢复过程可采用 SQL SERVER 日记文献,对其进行ROLLBACK 解决,对数据进行恢复。
在网络传播方面,可考虑建立一条成本较低后备网络,以保证当主网络断路时数据通信。
在硬件方面要选取较可靠、稳定服务器机种,保证系统运营时可靠性。
8.安全保密设计
由于数据传播上需要通过网络传播,为了客户资料进行保密,需要在网络传播过程中对数据进行加密。
这个工作重要是在准备网络包,及解开网络包这两个模块完毕,它们各对数据进行加密及解密还原工作。
在加密算法选取上将使用RSA 加密算法。
9.维护设计
维护方面重要为对服务器上数据库数据进行维护。可使用 SQL SERVER 数据库维护功能机制。例如,定期为数据库进行Backup,维护管理数据库死锁问题和维护数据库内数据一致性等。
展开阅读全文