实验学时:4 实验类型:综合性
一、目的与任务
目的:在实验二基础上完成系统的体系结构的建立,并给出相应的系统设计说明书。 任务:认真分析实验二的结果,给出系统合理的体系结构,描绘系统结构图(或层次方框图),并合理划分系统的各组成模块,最后给出系统的各部分设计说明书。
二、内容、要求与安排方式 1、实验内容与要求:
功能结构图设计(或层次图),软件处理流程设计,输出设计(主要指打印输出设计),存储文件格式设计(数据库结构设计),输入设计(主要指数据录入卡设计),
2、实验安排方式:
一人一组,每人1台计算机。 三、思考题
1.系统设计和需求分析的关系是什么?两者必须先后关联吗? 2.怎样描绘系统的体系结构? 3.怎样绘制复合规范的流程图。 4.怎样组织对设计阶段工作的评审?
概要设计说明书
1引言 ............................................................................................................................................... 3
1.1编写目的 ............................................................................................................................. 3 1.2背景 ..................................................................................................................................... 3 1.3定义 ..................................................................................................................................... 3 1.4参考资料 ............................................................................................................................. 3 2总体设计........................................................................................................................................ 3
2.1需求规定 ............................................................................................................................. 4 2.2运行环境 ............................................................................................................................. 4 2.3基本设计概念和处理流程 ................................................................................................. 4 2.4结构 ..................................................................................................................................... 5 2.5功能器求与程序的关系 ..................................................................................................... 5 2.6人工处理过程 ..................................................................................................................... 7 2.7尚未问决的问题 ................................................................................................................. 7 3接口设计........................................................................................................................................ 7
3.1用户接口 ............................................................................................................................. 7 3.2外部接口 ............................................................................................................................. 7 3.3内部接口 ............................................................................................................................. 8 4运行设计........................................................................................................................................ 8
4.1运行模块组合 ..................................................................................................................... 8 4.2运行控制 ............................................................................................................................. 8 4.3运行时间 ............................................................................................................................. 8 5系统数据结构设计 ........................................................................................................................ 9
5.1逻辑结构设计要点 ............................................................................................................. 9 5.2物理结构设计要点 ............................................................................................................. 9 5.3数据结构与程序的关系 ................................................................................................... 10 6系统出错处理设计 ...................................................................................................................... 11
6.1出错信息 ........................................................................................................................... 11 6.2补救措施 ........................................................................................................................... 11 6.3系统维护设计 ................................................................................................................... 12
1引言
1.1编写目的
概要设计说明书编制的目的是:说明对程序系统系统的设计考虑,包括程序系统的基本处理流程、程序系统的组织结构、模块划分、功能分配、接口设计、运行设计、数据结构设计和出错处理设计等,为详细设计提供基础。
本软件概要设计说明书的读者是系统开发人员或合同约定人员。
1.2背景
说明:
a. 待开发软件系统的名称:学校教材订购系统 b. 项目的任务提出者:阎晓薇 c. 开发者:计算机系刘肖
d. 使用者:滨州学院老师及学生
e. 项目与其他软件,系统的关系:本项目采用客户机/服务器原理,客户端的程序是建
立在Windows 7 系统上以JAVA以及MySql数据库等为开发软件的应用程序。
1.3定义
数据流图:数据流图描绘系统的逻辑模型,图中没有任何具体的物理元素,只是描绘信息 在系统中流动和处理的情况。 系统的流程图:系统流程图是描绘物理系统的传统工具。它的基本思想是用图形符号以黑 盒子的形式描绘系统里的每个部件(程序,文件,数据库,表格,人工过程等)。 库存表:存放库中存在得书籍数据。 出库表:存放已销售的书籍的数据。 进库表:存放入库书籍的数据。 购书表:存放提交的购书信息。
缺书登记表:存放缺少的书籍的信息。 待购教材表:存放待购书籍信息。
1.4参考资料
《软件工程导论》张海藩 编著 清华大学出版社 《实用软件工程》,郑人杰等著,清华大学出版社。
2总体设计
2.1需求规定
本系统在向学生售书时主要输入学生学号、班级代号、购书数量、购书书名信息,然后打印领书单返回给学生领取书籍。
本系统在查询数据库时主要输入需要查询的相关信息,包括图书编号、图书书名、出版社信息、图书特色等信息方便操作人员把握图书信息。 教材订购系统的功能可以划分为如下几个部分:
1)系统帐户管理:主要是对系统用户进行管理,包括登陆、退出、操作记录等。 2)订购管理:查询订购书、订购书籍、删除订购书籍、查询领书单。 3)销售管理:处理购书单、查询进书单、修改和维护数据库中相应的表。
4)采购管理:发缺书单、登记缺书纪录、拟订待购书信息、发进书通知单、修改和维护数据库中相应的表。 本系统对性能的规定:
1)系统的更新处理时间应该在可接受的范围内; 2)系统的数据查询时间应该在可接受的范围内; 3)系统的数据统计时间应该在可接受的范围内。
4)操作方式上应该能够满足鼠标和键盘任意切换的需要;
5)能够支持Windows95、Windows98、Windows2000、Windows Me、Windows XP运行环境。
6)留有与其他系统的接口。
2.2运行环境
1)硬件环境:运行本软件要求处理器在奔腾Ⅲ以上,内存在256MB以上的计算机。 2)软件环境:本系统支持的操作系统包括:Windows95 、Windows98 、Windows2000、 Windows Me Windows XP ;本系统支持的数据库为Mysql;本软件的开发工具为JAVA程序语言。
2.3基本设计概念和处理流程
本系统的基本设计概念和处理流程如下: 1)系统启动时,激活身份验证模块。
2)通过身份验证后,对系统进行初始化,判断用户身份,导入到不同的处理页面是。 3)系统进入消息循环状态,通过事件驱动机制激活各功能模块,并执行指定模块。 4)各项功能执行完毕后,重新进入消息循环状态。 5)由退出系统事件激活关闭系统模块,退出系统。
2.4结构
完整的软件结构图:
学校教材订购系统订购管理删除订购书籍采购管理销售管理订购书籍查询订购书查询领书单查询缺书单输入进书单处理订购单查询进书单输入初始库查询库存验证用户
销售管理的结构图:
销售管理查询进书通知单输入初始数据库处理订购单查询库存检索用户读取用户订购单比较库存书返回领书单进书单库存表
采购管理的结构图:
采购管理输入进书单进书信息查询缺书单进书单检查库存读取库存表返回缺书单存储缺书单库存表
教师学生订购的结构图:
缺书单 订购管理输入订购单存储订购单查询订购单读取订购单删除订购单单读取订购单读取领书单订购单存储订购领书单 2.5功能器求与程序的关系
1)用户身份验证必须调用“验证用户”模块程序进行身份验证。
2)订购者订购之前进行查询需要调用“销售管理”中的库存的信息的查询。
3)发行人员审查订购单也需调用“销售管理”中的库存信息的查询,并且需要调用“订购管理”中有关订购单的操作。
4)发行人员查询进书通知需要调用“采购管理”中的输入进书单的信息这一功能。 5)当采购人员新进教材入库后,相应的库存数据需要修改,此时需要调用“初始库存”进行修改。
6)采购人员对缺书单的处理需要调用“销售管理”中库存信息的查询。
2.6人工处理过程
1)新教材入库时需要对相应的入库单进行录入。
2)对于已经过时不用的教材需要发行人员对书库数据进行相应的删除。 3)其他方面数据的处理系统将会自动进行。
3接口设计
3.1用户接口
本系统采用典型的Windows风格作为人机接口,如使用窗口、菜单、对话框等。
1)订购书籍:教师或学生将要进行订购的书籍资料输入,系统将这些资料保存在文件中。 2)查询订购单:显示使用者已经保存的订购单信息。
3)删除订购书籍:使用者将要删除的书籍信息输入,系统根据操作删除修改文件处理,最后修改后的文件显示出来。
4)查询领书单:通过发行人员模块处理过后,将其信息转化成领书单显示出来。
5)查询缺书单:该功能要通过发行人员模块处理过后,将其信息转化缺书单显示出来。 6)输入进书单:需要采购人员将新到的书籍信息输入,通过系统将库存信息更新处理。 7)处理订购单:发行人员可读取用户信息,读取订购单,通过比较库存,处理信息后,返回领书单。
8)查询进书单:发行人员可对采购人员的进书单进行读取,将其信息显示出来。 9)输入初始库存:该功能可实现发行人员对学校原本拥有的书籍资料输入保存到库存中。 10)查询库存:将库存中的信息显示出来。
3.2外部接口
硬件接口:Pentium Ⅲ CPU及以上,内存在256MB以上的计算机。 软件件接口:支持本系统的软件包括:Windows95 、Windows98 、Windows2000、 Windows Me Windows XP 。
3.3内部接口
验证模块:完成对用户身份的验证。
初始化模块:在身份验证后,系统调用初始化操作,执行完毕后进入消息循环状态。 查询模块:由相应消息驱动,完成对信息进行查看功能。 删除模块:具有此权限的用户完成对信息删除功能。 打印模块:实现用户从系统打印功能。 退出模块:实现用户从系统退出功能
4运行设计
4.1运行模块组合
不同的用户登录此系统获得的系统功能是不同,如下: 1)教师学生等订购者具有查询,打印相关信息的权限; 2)管理员具有查询、添加、删除、修改,打印的权限。
4.2运行控制
用户通过身份验证之后进入系统操作界面,管理员可以对系统进行信息的增添,删除,修改,打印等操作,学生可以进行查询相关信息的操作
4.3运行时间
“用户验证”模块在完成用户登录的身份验证后立即退出运行,释放占用的系统资源。一般来说,本系统运行一般耗时1~2秒,如果数据处理量比较大就3~4秒。
5系统数据结构设计
5.1逻辑结构设计要点
1)订购单 属性名:{购书单号,书号,购书日期,订购者编号,订购者姓名,数量,总额} 购书单号 书号 购书日期 订购者编号 订购者姓名 数量 总额 说明: 此为订购单实体对应的关系模式,其中书号、订购者编号是外码,其他一些冗余信息删除。
2)进书单 属性名:{进书编号,书号,采购人姓名,采购日期,采购总数,采购总额} 进书编号 书号 采购人姓名 采购日期 采购总数 采购总额 说明:此为进书单实体对应的关系模式,其中书号是外码,其他一些冗余信息删除。 3)领书单 属性名:{领书单号,订购者编号,领书日期,购书单号,购书日期,经办人} 领书单号 订购者编号 领书日期 购书单号 购书日期 经办人 说明:此为领书单实体对应的关系模式,其中订购者编号、订购单号是外码,其他一些冗余信息删除。
4)缺书单 属性名:{缺书单号,书号,总数} 缺书单号 书号 缺书数量 说明:此为缺书单实体对应的关系模式,其中书号是外码,其他一些冗余信息删除。 5)入库单 属性名:{入库号,书号,数量,入库时间} 入库号 书号 数量 入库时间 说明: 此为入库单实体对应的关系模式,其中书号是外码,其他一些冗余信息删除。 6)出库单 属性名:{出库号,书号,数量,出库时间} 出库号 书号 数量 出库时间 说明: 此为入库单实体对应的关系模式,其中书号是外码,其他一些冗余信息删除。 7)教材信息 属性名:{书号,书名,编者,出版社,单价} 书号 书名 作者 出版社 单价 说明:此为教材实体对应的关系模式。
8)学生信息 属性名 :{学生学号,学生姓名,学生性别,学生年级,电话}
学生学号 学生姓名 学生性别 学生年级 电话 说明:此为学生实体对应的关系模式。
9)教师信息 属性名 :{教师工号,教师姓名,教师性别,教师部门,电话} 教师工号 教师姓名 教师性别 教师部门 电话 说明:此为教师实体对应的关系模式。
10)库存表 属性名:{记录号 ,书号,数量} 记录号 书号 数量 说明:此为库存表实体对应的关系模式
5.2物理结构设计要点
物理数据结构设计主要是设计数据在模块中的表示形式。数据在模块中都是以结构的方式表示。
1. 旅客信息
1、 购书单号:String
2、 书号:String
3、 购书日期:Date/Time 4、 订购者编号:
用于定票时接收输入,以及领票时服务器返回。 2. 帐单号
可使用一LONG INT 实现。
用于领票时接收输入,以及定票时服务器返回。 3. 飞行目的
1.
2. 3. 4.
航班号 目的地 起飞时间 座位号
String String Date/Time String
用于定票时接收输入,以及领票时服务器返回。 4. 网络包 1. 网络包Head 2. 传输数据
INT String
用于数据在网络上的传输。 5. 错误信息 1. 错误类型 2. 输出语句
INT String
用于关于错误操作。 6. 机票信息
1.航班号 2.目的地 3.起飞时间 4.旅客姓名 5.旅客性别 6.身份证号码 7.座位号
8.
用于打印机票准备工作。数据类型可参照上面所述。 7. 帐单信息
1. 帐单号
2. 旅客姓名 3. 身份证号码 4. 航班号 5. 起飞时间 6. 目的地
用于打印帐单准备工作。数据类型可参照上面所述。
5.3数据结构与程序的关系
说明各个数据结构与访问这些数据结构的形式。
6系统出错处理设计
6.1出错信息
用一览表的方式说朗每种可能的出错或故障情况出现时,系统输出信息的形式、含意及处理方法。
6.2补救措施
说明故障出现后可能采取的变通措施,包括:
a. 后备技术说明准备采用的后备技术,当原始系统数据万一丢失时启用的副本的建立
和启动的技术,例如周期性地把磁盘信息记录到磁带上去就是对于磁盘媒体的一种后备技术;
b. 降效技术说明准备采用的后备技术,使用另一个效率稍低的系统或方法来求得所需
结果的某些部分,例如一个自动系统的降效技术可以是手工操作和数据的人工记录;
c. 恢复及再启动技术说明将使用的恢复再启动技术,使软件从故障点恢复执行或使软
件从头开始重新运行的方法。
6.3系统维护设计
说明为了系统维护的方便而在程序内部设计中作出的安排,包括在程序中专门安排用于系统的检查与维护的检测点和专用模块。 各个程序之间的对应关系。
总体设计说明书
1. 引言
1.1 编写目的
在本机票预定系统项目的前一阶段,也就是需求分析阶段中,已经将系统用户对本系统的需求做了详细的阐述,这些用户需求已经在上一阶段中对航空公司、各旅行社及机场的实地调研中获得,并在需求规格说明书中得到详尽得叙述及阐明。
本阶段已在系统的需求分析的基础上,对机票预定系统做概要设计。主要解决了实现该系统需求的程序模块设计问题。包括如何把该系统划分成若干个模块、决定各个模块之间的接口、模块之间传递的信息,以及数据结构、模块结构的设计等。在以下的概要设计报告中将对在本阶段中对系统所做的所有概要设计进行详细的说明。
在下一阶段的详细设计中,程序设计员可参考此概要设计报告,在概要设计对机票预定系统所做的模块结构设计的基础上,对系统进行详细设计。在以后的软件测试以及软件维护阶段也可参考此说明书,以便于了解在概要设计过程中所完成的各模块设计结构,或在修改时找出在本阶段设计的不足或错误。
1.2 项目背景
本项目(机票预定系统)时由<>航空公司委托,由<>负责开发。
机票预定系统将由两部分组成:置于个旅行社定票点的前台客户程序,以及置于航空公司的数据库服务器。本系统与其他系统的关系如下:
客户程序 机场飞机起飞管理 旅行社 网 客户程序 客户程序 客户程序 服务器及程序 络 1.3 定义
1.3.1 专门术语
SQL SERVER: 系统服务器所使用的数据库管理系统(DBMS)。 SQL: 一种用于访问查询数据库的语言
事务流:数据进入模块后可能有多种路径进行处理。 主键:数据库表中的关键域。值互不相同。 外部主键:数据库表中与其他表主键关联的域。 ROLLBACK: 数据库的错误恢复机制。 1.3.2 缩写
系统:若未特别指出,统指本机票预定系统。
SQL: Structured Query Language(结构化查询语言)。 ATM: Asynchronous Transfer Mode (异步传输模式)。
1.4 参考资料
以下列出在概要设计过程中所使用到的有关资料:
1. 机票预定系统项目计划任务书 <>航空公司 2. 机票预定系统项目开发计划 《》软件开发小组
1999/3
1999/3
3. 需求规格说明书 《》软件开发小组 1999/3 4. 用户操作手册(初稿) 《》软件开发小组 1999/4 5. 软件工程及其应用 周苏、王文等 天津科学技术出版社 1992/1 6. 软件工程 张海藩 清华大学出版社 1990/11 7. Computer Network A.S.Tanenbaun Prentice Hall 1996/01
文档所采用的标准是参照《软件工程导论》沈美明著 的“计算机软件开发文档编写指南”。
2.任务概述
2.1 目标
2.2 运行环境
系统将由两部分程序组成,安装在各旅行社客户机上的客户程序及航空公司内的数据服务器程序。
根据调研得知所有旅行社的计算机配置均在Pentium 133级别以上,客户程序应能够在Pentium 133级别以上, Win NT环境下运行。
2.3 需求概述
航空公司为方便旅客,需开发一个机票预定系统。为便于旅客由旅行社代替航空公司负责为旅客定票,旅行社把预定机票的旅客信息,包括姓名、性别、工作单位、身份证号码、旅行时间、旅行目的地,输入机票预定系统的客户端程序,系统经过查询航空公司内的航班数据服务器后,为旅客安排航班,印出取票通知。旅客在飞机起飞前一天凭取票通知和帐单交款后取票,系统校对无误后即印出机票给旅客。
要求系统能有效、快速、安全、可靠和无误的完成上述操作。并要求客户机的界面要简单明了,易于操作,服务器程序利于维护。
2.4 条件与限制
3.总体设计
3.1 处理流程
下面将使用(结构化设计)面向数据流的方法对机票预定系统的处理流程进行分析。系统可分为两大部分:一、客户机上的程序,二、服务器上的程序。以下将分别对系统的这两大部分进行流程分析:
3.1.1 客户机程序流程
客户机上的输入信息为旅客资料或帐单号,还包括一个定票/领票选项。输出为打印帐单或机票,和确认或出错信息。其内部处理流程如下: 旅客资料 2 3 4 经网络送服务器程序 7 8 定票/取票 1 帐单号 5 6
13 打印帐单 输出确定12 14 服务器经网络送来回答 9 10 11=1 预定信息 输出错误15 16 17 原因 输出确定18 19 14 预定信息 20 打印机票 下面对各模块(以数字表示)进行功能说明: 1. 读入并确定(定票/领票) 它是一个事务处理中心,若输入是定票时转入2 ,输
出则转入5。
2. 读入旅客资料 读取所输入的旅客资料,并将其格式化,将格式化数据送3。 3. 检验输入资料 检验格式化输入资料,初步检查输入是否有误,它是一个事务处理
中心,有误则转2再次读入,检查无误则将数据送4。
4. 准备服务器数据 由格式化旅客资料准备需发送到服务器的数据,将准备好的数据
送7。
5. 读入帐单号 读取所输入的帐单号,并将其格式化,将格式化数据送6。
6. 准备服务器数据 由格式化帐单号准备需发送到服务器的数据,不同于4,它将准
备的是帐单号,将准备好的数据送7。
7. 准备网络数据包 将数据准备/加密成网络传输数据包。
8. 网络数据发送 将数据包经网络发送到服务器程序, 它是程序与网络的接口。 9. 网络数据接受 接受由服务器程序经网络传送到客户机的数据包, 它是程序与网
络的接口。
10. 解开/判断 解开9 所接受的数据包,并判断数据是定票数据或是领票数据,它
是一事务处理中心,是定票则将数据送11,是领票则将数据送18。
11. 定票成功? 由数据判断定票是否成功,它是一事务处理中心,若定票成功则
将数据送12,不成功则将数据送15。
12. 准备输出数据 由接收的服务器数据准备输出数据,其中关于帐单的数据将送
入13,其他包括旅客资料等送入14。
13. 打印帐单 由帐单信息处理帐单格式并打印出帐单。 14. 输出定位确定 在屏幕上显示确定定位及其他信息。 15. 判断错误 由数据判断出错误类型,将类型送到16。 16. 准备错误语句 由具体错误类型准备错误语句,送17。 17. 输出错误语句 在屏幕上显示错误语句。
18. 领票核对成功? 由数据判断领票核对是否成功,它是一事务处理中心,若成
功则将数据送19,不成功则将数据送15。
19. 准备机票输出数据 由接收的服务器数据准备将打印的机票数据数,据其中关
于帐单的机票的数据将送入20,其他包括旅客资料等送入14。 20. 打印机票 由机票信息处理机票格式并打印出机票。
3.1.2 服务器程序流程
7 客户机经网络送来4 5 6 客户机经网络送来的数据 8 9 来自客户机 1 2 3 SQL SERVER 16 (班机,票务数据库) 13 10 11 12 14 15 下面对各模块(以数字表示)进行功能说明: 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 总体结构和模块外部设计
下面以结构图来描述机票预定系统的软件总体结构。框内注明了模块的名字;方框之间的直线表示模块的调用关系。
的数据 17 送客户机 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张数据表: 1. 航班班次表 起飞日期/时航班号 飞行目的地 座位空数 商务仓票价 经济仓票价 间 航班班次表保存了所有从本地起飞的班机信息,它的主键为航班号。在定位前先查寻座位空数,在定位后将修改座位空数。
2. 定位信息表
航班号
帐单号
是否领票
定位信息表保存了已定位信息,主键为帐单号,外部主键为航班号。在旅客领票过程时将用到此表,领票后修改是否领票域
3. 帐单信息/旅客资料表 帐单号 旅客姓名 旅客性别 旅客身份证号 工作单位 帐单信息/旅客资料表保存已定位的旅客信息资料,它的主键为旅客身份证号,外部主键为帐单号。主要用于领票时将旅客信息一同返回。
4. 机位信息表
班机号
机位信息表保存各班机各机位定票状况。它的外部主键为班机号。主要用于定票时确定旅客机位,并返回。
机位信息
5.2 物理数据结构设计
物理数据结构设计主要是设计数据在模块中的表示形式。数据在模块中都是以结构的方式表示。
8. 旅客信息
1.旅客姓名
2.旅客性别 3.身份证号码 4.工作单位
String Char
LONG INT String
用于定票时接收输入,以及领票时服务器返回。 9. 帐单号
可使用一LONG INT 实现。
用于领票时接收输入,以及定票时服务器返回。 10. 飞行目的
5. 6. 7. 8.
航班号 目的地 起飞时间 座位号
String String Date/Time String
用于定票时接收输入,以及领票时服务器返回。 11. 网络包 3. 网络包Head 4. 传输数据
INT String
用于数据在网络上的传输。 12. 错误信息 3. 错误类型 4. 输出语句
INT String
用于关于错误操作。 13. 机票信息
9.航班号 10. 目的地 11. 起飞时间 12. 旅客姓名 13. 旅客性别 14. 身份证号码 15. 座位号
16. 用于打印机票准备工作。数据类型可参照上面所述。 14. 帐单信息
7. 帐单号 8. 旅客姓名 9. 身份证号码 10.航班号 11.起飞时间 12.目的地
用于打印帐单准备工作。数据类型可参照上面所述。
5.3 数据结构与程序的关系
服务器程序在对定票/领票进行操作时需对数据库数据库数据结构,也就是数据表进行查询和修改:在定票/领票过程中都需要对数据库中的所有表,进行联合查询、修改。
物理数据结构主要用于各模块之间函数的信息传递。接口传递的信息将是以数据结构封装了的数据,以参数传递或返回值的形式在各模块间传输。出错信息将送入显示模块中,机票结构,帐单结构,送入打印准备模块中准备打印格式。
6.运行设计
6.1 运行模块的组合
客户机程序在有输入时启动接收数据模块,通过各模块之间的调用,读入并对输入进行格式化。在接收数据模块得到充分的数据时,将调用网络传输模块,将数据通过网络送到服务器,并等待接收服务器返回的信息。接收到返回信息后随即调用数据输出模块,对信息进行处理,产生相应的输出。
服务器程序的接收网络数据模块必须始终处于活动状态。接收到数据后,调用数据处理/查询模块对数据库进行访问,完成后调用网络发送模块,将信息返回客户机。
6.2 运行控制
运行控制将严格按照各模块间函数调用关系来实现。在各事务中心模块中,需对运行控制进行正确的判断,选择正确的运行控制路径。
在网络传方面,客户机在发送数据后,将等待服务器的确认收到信号,收到后,再次等待服务器发送回答数据,然后对数据进行确认。服务器在接到数据后发送确认信号,在对数据处理、访问数据库后,将返回信息送回客户机,并等待确认。
6.3 运行时间
在软体的需求分析中,对运行时间的要求为必须对作出的操作有较快的反应。网络硬件对运行时间有最大的影响,当网络负载量大时,对操作反应将受到很大的影响。所以将采用高速ATM 网络,实现客户机与服务器之间的连接,以减少网络传输上的开销。其次是服务器的性能,这将影响对数据库访问时间即操作时间的长短,影响加大客户机操作的等待时间,所以必须使用高性能的服务器,建议使用 Pentium III 处理器。硬件对本系统的速度影响将会大于软件的影响。
7.出错处理设计
7.1 出错输出信息
程序在运行时主要会出现两种错误:1、由于输入信息,或无法满足要求时产生的错误,称为软错误。2、由于其他问题,如网络传输超时等,产生的问题,称为硬错误。
对于软错误,须在定票/领票操作成功判断及输入数据验证模块由数据进行数据分析,判断错误类型,再生成相应的错误提示语句,送到输出模块中。
对与硬错误,可在出错的相应模块中输出简单的出错语句,并将程序重置。返回输入阶段。
出错信息必须给出相应的出错原因,例: 《全部班机座位已满!》
《查无此定位信息!》等。
7.2 出错处理对策
所有的客户机及服务器都必须安装不间断电源以防止停电或电压不稳造成的数据丢失的损失。若真断电时,客户机上将不会有太大的影响,主要是服务器上:在断电后恢复过程可采用 SQL SERVER 的日志文件,对其进行ROLLBACK 处理,对数据进行恢复。
在网络传输方面,可考虑建立一条成本较低的后备网络,以保证当主网络断路时数据的通信。
在硬件方面要选择较可靠、稳定的服务器机种,保证系统运行时的可靠性。
8.安全保密设计
由于数据的传输上需要通过网络传输,为了客户资料进行保密,需要在网络的传输过程中对数据进行加密。
这个工作主要是在准备网络包,及解开网络包这两个模块完成,它们各对数据进行加密及解密还原工作。
在加密算法选择上将使用RSA 加密算法。具体算法可参照参考资料中《Computer Network》p.598。
9.维护设计
维护方面主要为对服务器上的数据库数据进行维护。可使用 SQL SERVER 的数据库维护功能机制。例如,定期为数据库进行Backup,维护管理数据库死锁问题和维护数据库内数据的一致性等。
因篇幅问题不能全部显示,请点此查看更多更全内容