文档内容
机票预订系统 ----详细设计说明书
1.引言:
1.1编写目的:
在前一阶段(概要设计说明书)中,已解决了实现该系统需求的程序模块设计问题。包括
如何把该系统划分成若干个模块、决定各个模块之间的接口、模块之间传递的信息,以及数据
结构、模块结构的设计等。在以下的详细设计报告中将对所有详细设计进行说明。
在本阶段中,确定应该如何具体地实现所要求的系统,从而在编码阶段可以把这个描述直
接翻译成用具体的 程序设计语言书写的程序。主要的工作有:根据在《需求分析说明书》中
所描述的数据、功能、运行、性能需求,并依照《概要设计说明书》所确定的处理流程、总体
结构和模块外部设计,设计每个模块的程序描述(包括各模块的功能、性能、输入、输出、算
法、程序逻辑、接口等等),具体解决以下问题:
1.输入:旅客信息、取票通知和帐单;
2.输出:取票通知和帐单、机票;
3.判断输入信息的种类并采取相应的处理步骤;
4.进行数据库的查询、修改工作;
5. 接受并判断错误,输出相应的出错消息;
在以下的各个阶段中,《用户操作手册》将与本阶段的工作紧密结合,努力做到让用
户易
懂易学。《测试报告》和《维护报告》也将参考本说明书,检验本系统的各项指标,及时发现
纰漏及时修补。
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.机票预定系统项目开发计划 《》软件开发小组
3.需求规格说明书 《》软件开发小组
4.概要设计说明书 《》软件开发小组
5.用户操作手册(初稿) 《》软件开发小组
6.软件工程及其应用 周苏、王文等 天津科学技术出版社
7.软件工程 张海藩 人民邮电出版社
8. Computer Network A.S.Tanenbaun Prentice Hall
12.总体设计:
2.1需求概要:
机票预定系统的总目标是:在计算机网络,数据库和先进的开发平台上,利用现有的
软件,配置一定的硬件,开发一个具有开放体系结构的、易扩充的、易维护的、具有良好
人机交互界面的机票预定系统,实现航空公司机票销售管理的自动化。
系统采用Client/Server结构,将机票预定系统划分为两个子系统:客户端子系统,服
务器端子系统。
在客户端的功能实现上,可以分为以下几个部分: [1]旅客订票;[2]取票通知及帐单
的生成和打印;[3]机票生成及打印。
机票预订系统是一个多家航空公司共享的机票销售平台,服务器端的功能可以分为以
下几个部分:[1]航空公司信息管理;[2]航班信息管理;[3]机票信息管理;[4]管理人员可
以按照不同条件对机票销售情况进行查询和统计分析。
……
2.2 软件功能模块结构:
各模块之间的关系已由概要设计给出,可参考《概要设计说明书》。客户
端子系统的功能模
块结构图如下:
服务器端子系统的功能模块结构图如下:
2……
3.程序逻辑算法描述:
下面对一些主要程序模块的算法进行说明。
……
(3)处理订单模块:
主要功能为:客户端通过网络与服务器通信,访问数据库、查询库存机票信息、确定
能否订票;如果能够订票,保存订单信息,生成订单和账单;如果不能订票、反馈信息给客户
端。
下面是“N-S图”描述的处理订单模块的算法逻辑:
(4)查询机票模块:
“查询机票模块”用来查询乘客所需的航班信息。前台票务员登录系统后,先进行查询
方式选择,然后按所选方式输入查询关键词,系统在数据库中存储的航班信息中查找满足条件
的航班,输出航班信息。
如果选择的查询方式是“按目的地查询”,将调用“按目的地查询航班信息模块”。
“按目的地查询航班信息”模块的执行逻辑为:输入目的地;系统在数据库中查询终点站与所
查询目的地匹配的航班;输出符合查询条件的全部航班信息(包括航班号、起始站、终点站、
总机票数、剩余机票数、起飞时间、降落时间、飞行时间、备注信息)
下面用程序流程图表示“按目的地查询航班信息”模块的算法逻辑:
3(5)存储订单模块:……
(6)维护航班信息模块:……
……
4. 补充设计和说明
4.1注释设计
程序中要考虑如下注释:
(1)模块首部的注释:对模块的功能、输入输出、约束条件、异常处理等进行注释
(2)模块中各判定点处的注释:对各分支的选择条件、逻辑结构等进行说明
(3)对模块中各变量的功能、范围、缺省条件等加注释:包括变量功能用途的详细描述,
以及缺省值的意义
(4)对使用的逻辑进行注释:包括程序流程逻辑以及相关的关键算法、数据结构
4.2限制条件
程序运行受如下条件限制:
(1)网络速度:程序要通过网络交换数据,因此网络速度对该程序的运行有一定的影响。
(2)数据库性能:程序中要存放大量的数据,需要高性能的数据库才能满足要求。同时,
多用户同时连接数据库进行操作时,需要数据库有良好的并发性能,才能使整个系统的反应速
度较快。数据库并发处理的同时必须保证数据的正确性,在突然断电,系统崩溃等条件下也要
依靠高性能的数据库备份数据,防止数据丢失、数据不一致等情况出现。
4.3初步测试计划
(1)数据库部分单元测试:
测试人员要求熟悉实现本系统所使用的数据库管理系统以及程序开发环境,了解数据库部
分的基本结构。
对每个数据库操作类分别进行测试,其输入数据为虚拟的对应于数据库结构的数据,检验
全部4种数据库操作(插入、删除、修改、查询)是否正常工作。
对应每个数据库操作类分别编写相应的驱动程序,要求必须覆盖插入、删除、修改、查询
4种基本操作,对于数据库的修改要覆盖所有属性值的修改;并测试边界条件、非法输入等特
殊情况。
4桩模块只需给出虚拟的数据用于对数据库进行操作即可。
(2)业务处理模块单元测试:
测试人员技术要熟悉系统业务流程,了解程序基本结构。
根据系统功能模块的业务逻辑编写相应的驱动程序,要求覆盖航空订票系统客户端和
服务器端的所有业务逻辑,并测试边界条件、非法输入等特殊情况。
桩模块模拟数据库单元的功能,实现相应的数据库模拟接口,但没有实际的数据库操
作,对于桩模块的输入直接给出正确的对应输出,以检测业务处理模块的性能。
(3)界面层模块单元测试:
根据需求测试界面层中各个窗口中按钮的功能是否正确,并判断是否与数据库交互成功;
当数据库返回异常时,也应及时进行处理,弹出相应对话框、提示用户。
5