文档内容
软件设计规格说明书
一、引言
1.1 编写目的
编写本套航空订票系统的《软件规格说明书》的目的在于根据软件需求说明书中的任务
概述,需求规定等规划设计出一套可执行软件的结构模型。
1.2 参考资料
《网上订票系统需求分析报告》 王曦编写
《软件工程导论》第三版
------张海藩 编著 清华大学出版社
《基于项目的软件工程—面向对象研究方法》
------Cathie LeBlanc & Evelyn Stiller编著 机械工业出版社
二、总体设计
2.1 需求规定
本套航空订票系统软件分为服务器端和客户端两部分:
客户端部分由用户使用,通过B/S的方式实现,用户可使用浏览器通过互联网进行操作。
服务器端软件由管理员使用,通过C/S的方式实现,管理员通过管理界面可对数据库进行操
作和管理。
2.2 运行环境
客户端的运行环境:Windows98以上的操作系统、IE5以上的浏览器(或其他浏览器)。
服务器端的运行环境:Windows2000 Server或Windows 2000 Advanced Server、SQL
Server 2000。
2.3 基本设计概念和处理流程
本套航空订票系统软件的编写,是为了设计出一套网上订票的应用和管理软件。软件分
为两大部分,网上订票部分和数据管理部分。网上订票部分(客户端)是以网页的形式实现,
用户通过浏览器对数据库中的航班数据进行查询、浏览并可进行订票。数据管理部分(服务
器端)则是用VB编写的一套管理软件,在管理部分中,管理员可以对数据库中的数据进行输
入、修改、删除和查询等操作,从而对数据库中的数据进行管理。
2.4 结构
本套航空订票系统软件采用Browser/Server和Client/Server相结合的结构来进行开
发。
2.5 人工处理过程
2.5.1 服务器端的人工处理
2.5.1.1 数据的输入
用户根据需要来输入航班、订票人、乘客等信息的具体数据,但必须保证其正确性
和准确性。
2.5.1.2 数据的修改
用户根据需要对指定的数据进行修改,由于记录繁多,因此用户首先要输入一定的
查询条件,缩小记录范围,然后再从该范围中找到指定的记录进行修改,保证修改的内容的
正确性和准确性后可更新数据库的数据。
2.5.1.3 数据的删除用户根据需要对指定的数据进行删除,由于记录繁多,因此用户首先要输入一定的
查询条件,缩小记录范围,然后再从该范围中找到制定的记录进行删除,保证将要删除的内
容的正确性和准确性后可删除掉数据库中的数据。
2.5.1.4 数据的查询
用户根据需要查询数据库中的所有数据,用户需输入一定的查询条件,然后可按照
输入的查询依据查询新数据库的数据。
2.5.2 客户端的人工处理
2.5.2.1 注册
用户必须注册才能进行订票操作,在此,用户必须填写个人的真实并准确的详细信
息。
2.5.2.1 查询
用户通过填写一定的查询条件,可查询用户所需要的航班信息、机票信息等。
2.5.2.2 订票
用户可通过互联网进行订票操作,填写准确的订票信息后提交订票。
2.6 尚未解决的问题
2.6.1 客户端尚未解决的问题
客户端尚未解决的问题是,如何与订票人的银行账户连接。
2.6.2 服务器端尚未解决的问题
服务器端尚未解决的问题是,系统自动检索到过期的航班后自动将其信息删除并
且要保所有与该航班关联的订票人的信息和乘客的信息都删除,难点在于,如何保证数据库
中的表间的一致性。
2.6.3 难点问题
难点问题是服务器端的程序的删除部分,因为订票人的信息关系到部分乘客的信
息,必须保持数据的完整性。其次是航班信息,它关系着部分订票人的信息和乘客信息,其中
还嵌套着这部分订票人当中有部分关系的乘客信息,并且同一定票人可以订购多架次航班
的机票和所订购的机票的数量也不仅仅是1张,要将航班信息删除,也要保数据的完整性。
三、接口设计
3.1 用户接口
本套航空订票系统软件的可视化很强,做到用户运行程序就可直接上手操作。在设计界
面时,同时也考虑到此方面,因此在每个可以点击的按钮上都设置了鼠标获得焦点后的提示
信息,即ToolTipText属性。
3.2 外部接口
在本套航空订票系统软件中没有考虑外部接口问题,如有需要可以添加对外部接口的
考虑,例如红外扫描、卡式读取设备等。
3.3 内部接口
因为本套航空订票系统软件是使用可视化软件来管理数据库中的数据,因此数据库为
连接各个模块之间的接口,我们同时也称之为软件内部的接口。
四、系统数据结构设计
4.1 逻辑结构设计要点
按照需求分析设计数据库中的字段,建立一个逻辑上的数据库的结构。
4.2 物理结构设计要点
在数据库软件(SQL Server2000)中建立数据库,并要保证数据库最低要符合第二范式。4.3 数据结构与程序的关系
4.3.1 静态数值需求
(1) 支持并行操作的用户。
(2) 处理多条记录数据。
(3) 表或文件的最小为2048字节,最大无限制。
4.3.2 精度需求
在进行提取数据库数据时,要求数据记录定位准确,在向数据库中添加数据时,要求输
入数据准确。主要的精度适应系统要求,不接受违规操作。
4.3.3 时间特性需求
(1) 响应时间应在人的感觉和视觉事件范围内;
(2) 更新处理时间,随着应用软件的版本升级,以及网络的定期维护更新。
4.3.4 灵活性
当需求发生某些变化时,管理应用软件操作方式、数据结构、运行环境基本不会发
生变化,变化只是将对应的数据库文件内的记录改变,或将过滤条件改变即可。
4.3.5 数据管理能力需求
本应用软件可管理多条记录,本应用软件基本约用1,300千字节空间,所有文件均放置在数
据库中调用,查询数据、文件、记录时,通过库文件名直接进行操作或通过存储过程来完成操
作。
4.4 数据库设计描述
4.4.1 数据库分析
需将数据库设计成关系模式最低符合第二范式的标准。按照需求分析,确定系统的实体。
根据实体分析的结果,在数据库中应建立如下数据表:
passenger_infor(乘客信息表)、destine_infor(订票人信息表)、destine_infor1(订
票人信息表1)、plane_infor(航班信息表)、plane_infor1(航班信息表1)、user_infor(订
票人注册信息表),其中destine_infor(订票人信息表)和destine_infor1(订票人信息表
1)用来存放订票人的信息, plane_infor(航班信息表)和plane_infor1(航班信息表1) 用
来保存航班信息,同时各个数据表间也存在着相应的连接的关系,例如在
passenger_infor(乘客信息表)中包含有订票人的身份证号码(直接购票的乘客无)、航班代
码、机舱等级等相关字段用来与订票人数据表和航班信息表建立联系。
4.4.2 数据库设计说明
(1) passenger_infor(乘客信息表)
在此数据表中,存放的是具体乘客的详细信息,在乘客信息中包含有乘客的一些基本信
息和订票人的身份证号码(如果该乘客是自己直接购买机票,就没有订票人身份证号码)、航
班号、航班等级等字段与其他表相连接的字段。
在该信息表中包括以下字段:passenger_id(乘客身份证号码)、passenger_name(乘客
姓名)、passenger_age(乘客年龄)、passenger_sex(乘客性别)、passenger_tel(乘客联系电
话)、passenger_address(乘客的地址)、plane_no(所乘坐的航班号)、plane_grade(所乘坐
航班的机舱等级)、destine_id(订票人的身份证号码)、catch_tic_date(取票日期)等字段。
(2) destine_infor(订票人信息表)
在此数据表中存放的是订票人的其他信息,如:所乘坐的航班号、所乘坐的机舱等级等
信息。订票人的信息表要与航班信息表有所关联。
在该信息表中包含以下字段:destine_id(订票人身份证号码)、plane_no(航班号)、
plane_grade(机舱等级)、destine_count(订票数量)、destine_date(定票日期)、
destine_status(订票状态)、cancel_count(取消数量)、cancel_date(取消日期)、cancelstatus(取消状态)等字段。
(3) destine_infor1(订票人信息表1)
在此数据表中存放的是订票人的一些基本信息,如:姓名、联系电话等,以便可以方便的
送票上门及与订票人取得联系。该信息表通过destine _id (订票人身份证号码)字段建立
起与destine_inofr数据表的标间连接。
在该信息表中包含以下字段:destine_id(订票人身份证号码)、destine_name(订票人
姓名)、destine_phone(订票人联系电话)、destine_email(订票人的电子邮箱地址)、
destine_address(送票地址)等字段。
(4) plane_infor(航班信息表)
在此数据表中存放的是航班的起飞与降落的地点和时间,并通过plane _no(航班号)字
段建立起与plane_infor1数据表的表间连接。
在该信息表中包含以下字段:plane_no(航班号)、begin_from(起飞地点)、
end_address(降落地点)、begin_time(起飞时间)、end_time(降落时间)等字段。
(5) plane_infor1(航班信息表1)
在此数据表中存放的是航班的机舱等级和机票价格,并通过plane _no(航班号)字段建
立起与plane_infor数据表的表间连接。
在该信息表中包含以下字段:plane_no(航班号)、plane_grade(机舱等级)、
ticket_price(机票价格)等字段。
4.4.3 数据库ER图
AirPlane ER图飞机信息 ER图
4.4.4 数据库附加内容
user_infor(订票人信息注册表)
此数据表主要应用于客户端,当订票人通过浏览网页想要订票时则需要订票人首先通
过网页注册后,才能进行订票操作。在此数据表中,除了存放了订票人的基本信息外,还要存
放订票人用于登录的密码信息。订票人注册并登录成功后,订票时系统会将该表中订票人的
基本信息复制一份并存入订票人信息表中,以便服务器端维护并修改订票人的相关订票信
息。
在该信息表中包含一下字段:id(身份证号码)、name(姓名)、tel(联系电话)、email(电
子信箱)、address(联系地址)、password(登陆密码)等字段。
附加内容ER图
五、系统出错处理设计
5.1 出错信息
在设计本套航空订票系统软件时,设计人员应尽可能的考虑到所有的出错情况,并做出
相应的恢复信息。无法预料的错误信息,应返回给用户一个特定的信息提示。
5.2 补救措施
对于出错概率较大的地方,设计人员应结合用户需求做一些必要的限制,减少出错的可
能。
5.3 系统维护设计
本套航空订票系统软件的维护设计要有专门人员来做,这些人员应对本套航空订票系
统软件的程序代码结构与流程有深入的了解。
六、程序系统的组织结构
6.1 系统组织结构图
6.1.1 服务器端的组织结构图系统层次结构图(服务器端)
6.1.2 客户端的组织结构图
系统层级结构图(客户端)
6.2 模块层次图
6.2.1 查询模块层次图6.2.2 添加模块层次图
6.2.3 修改模块层次图
6.2.4 删除模块层次图七、程序(标识符)设计说明
7.1 程序描述
7.1.1客户端程序:
本套航空订票系统软件的客户端应用程序以网页的形式编写,包括静态和动态的
网页,存放在服务器中,客户使用浏览器通过互连网络对网页进行访问,并完成客户端可以
完成的功能。
7.1.2服务器端程序:
本套航空订票系统软件的服务器端应用程序,使用VB编写前台控制软件,管理员
通过使用该软件来进行对数据库中的数据进行管理。
7.1.3后台数据库:
本套航空订票系统软件的后台数据库使用Microsoft SQL Server 2000来搭建后
台数据库服务器,用来存放所有的数据。
7.2 功能
7.2.1 客户端的主要功能
7.2.1.1订票信息的查询功能:
1)查询航班信息包括航班号、时间、地点等信息。
2)查询及票价格包括起始地、抵达地、机舱等级、机票价格等信息。
7.2.1.2网上定票功能:
1)填写订票人的详细信息其中包括:
姓名、身份证号码、联系电话、送票地址等信息。
2)填写订票的详细信息,其中包括:
航班编号、机舱等级、订票时间、订票数量等信息。
7.2.2 服务器端的管理软件
7.2.2.1 查询功能
1)查询航班信息:输入航班代码或可以查询航班的所有详细信息。
2)查询订票人的详细信息:
精确查询:输入订票人身份证号码查询订票人详细信息。
模糊查询:输入订票人的姓名(或订票人的姓或是年龄或是性别)查询出一系列相关
的信息,然后可从小范围内找到订票人的详细信息。
3)查询乘客的详细信息:
精确查询:输入乘客的身份证号码查询乘客的详细信息。
模糊查询:输入乘客的姓名(或乘客的姓或是年龄或是性别)查询出一系列相关的信
息,然后可从小范围内找到乘客的详细信息。
7.2.2.2 录入信息功能
1)取票功能:根据输入的订票人身份证号验证订票人身份后,输入详细的乘客信息并
进行保存。
2)直接购票:直接输入乘客详细信息并保存(不通过订票人)。
3)录入航班信息:录入航班的相关信息。
4)订票人取消订票:保存订票人取消订票信息。
7.2.2.3 修改功能
1)修改乘客信息:将查找到的乘客信息,进行修改,然后进行保存。
2)修改订票人信息:将查找到的订票人的信息进行修改然后进行保存。
3)修改航班信息:将查找到的航班信息进行修改后保存。7.2.2.4 删除功能
1)删除乘客信息:将查找到的乘客信息,进行删除。
2)删除订票人信息:将查找到的订票人的信息进行删除。
3)删除航班信息:将查找到的航班信息进行删除。
7.3 性能
7.3.1 时间特性需求
在网络连接正常的情况下,查询响应时间为秒级。
7.3.2 灵活性
当需求发生某些变化时,机票管理应用软件操作方式、数据结构、运行环境基本不
会发生变化,变化只是将对应的数据库文件内的记录改变,或改变过滤条件。
7.3.3 可用性
软件应该尽可能的一目了然,使一般用户能够使用。
7.3.4 安全性
本套航空订票软件系统所涉及的数据存放于Microsoft SQL Server数据库中,在
程序中应尽可能的使用调用存储过程的方法以免使某人反编译软件后或入侵到服务器后对
数据库的结构了如指掌,在程序中应该设置不同权限的人访问时的账户和密码,以保证数据
不容易被错改、破坏,而且要经常对数据库进行备份操作,使得数据一旦受到破坏或是出错
能够保证及时的恢复数据,将损失降低到最低。
7.3.5 可维护性
7.3.5.1 应用程序的维护
当用户使用本套航空订票系统软件时,遇到了软件本身的逻辑错误时,应当有软件
的维护人员对软件进行修改。
7.3.5.2 数据库的维护
应当有特定的数据库维护人员对数据库进行及时地进行备份,管理等操作,以保证
数据库的安全性。
7.3.6 可转移、可转换性
Visual Basic 及 asp 编程语言的兼容性很高,在 windows95/98. windowsNT.
windows2000. windows XP等操作系统都可以直接运行。
7.4 输入项
用户通过软件输入必要的信息,然后保存到数据库,所输入的信息是经过需求分析限定
的内容,同时也是数据库中每个字段中存储的内容。
7.5 输出项
本套航空订票系统软件会将所有需要浏览的数据显示在屏幕上,以便使用户能够浏览
到数据库中的数据或用户想要浏览范围中的数据。
7.6 算法
1)将用户输入的数据,按字段保存到数据库中。
2)将数据库中的数据,按字段提取到用户界面中。
3)必要的去除重复项的算法。
4)按条件修改、删除数据中的数据。
5)保持表间数据的一致性。
7.7 流程逻辑
7.7.1 服务器端个模块的流程图
7.7.1.1查询模块流程图7.7.1.2 添加模块流程图
7.7.1.3 修改模块流程图7.7.1.4 删除模块流程图7.7.2 客户端各模块的流程图
7.7.2.1 查询模块的流程图
7.7.2.2 订票模块的流程图7.8 接口
本套航空订票系统软件服务器端的程序是使用Visual Basic 6.0来编写完成,建立VB
与数据库的连接使用了ADODB的对象来完成,每个模块中都使用了Recordset、Command、
Connection的对象,因此在模块中对三者的对象进行定义(分别为:rs、cmd、cn),并且将cn
连接数据库的语句写好并打开连接,在其他的模块中共同调用这三个对象来对数据库进行
操作。
7.9 注释设计
尽可能的将软件中插入注释语句,使语句功能明了。制作客户端的ASP网页的时候应该
制作两分,一份是标有注释语句的网页,用来给维护人员、测试人员和开发人员了解开发过
程所用,另一份是不带有注释语句的网页,用来最后实际应用当中,这样可以充分的利用有
限的带宽,降低客户的计算机打开网页的时间,提高客户端的浏览速度。
7.10 限制条件
限制必要的条件,以排除由于用户的误操作造成不必要的错误。
7.11 测试计划
在软件编辑的工作进行当中,测试人员便要开始制定测试计划,其中要包括白盒和黑盒
的具体测试项目,及其必要的测试数据和出错的信息。每次测试的结果要写报告,并就发现
和怀疑的问题与编辑人员联系。测试的结果要让编辑人员明白。