软件工程实验报告.docx
《软件工程实验报告.docx》由会员分享,可在线阅读,更多相关《软件工程实验报告.docx(74页珍藏版)》请在冰豆网上搜索。
软件工程实验报告
(此文档为word格式,下载后您可任意编辑修改!
)
本科实验报告
课程名称:
软件工程
实验项目:
机票预订系统
实验地点:
软件实验楼
专业班级:
学生姓名:
指导教师:
2015年5月10日
太原理工大学学生实验报告
机票预订系统需求规格说明书实验报告
一、实验目的与任务
目的:
确定项目要做什么及其可实施性,在此基础上完成系统的逻辑功能模型的建立。
精化软件的作用范围,也是确认软件系统构成的过程,确定未来系统的主要药成分及它们之间的接口细节。
任务:
可采用不同的需求分析技术,完成对项目的需求分析过程,给出系统的逻辑功能模型,数据字典以及规格说明书。
确认系统必须完成那学工作,对目标系统提出完整、准确、清晰而且具体的需求。
二、实验内容、要求
1.引言
1.1编写目的
本机票预订系统在可行性研究的基础上,是为了进一步明确机票预订系统的软件需求,精化作用范围,分析软件构成过程,建立分析模型,完成“规范化”步骤,以便安排项目规划与进度,组织软件开发与测试,撰写本文档。
本文档供项目经理、设计人员、开发人员参考。
1.2项目背景
开发软件名称:
机票预订系统。
项目任务提出者:
民航及国际旅游开发公司。
项目开发者:
<>开发小组。
用户:
民航及国际旅游开发公司。
实现软件单位:
国际旅游开发公司
系统与其他软件,系统的关系:
机票预定系统将由两部分组成:
置于个旅行社定票点的前台客户程序,以及置于航空公司的数据库服务器。
本系统与其他系统的关系如下:
1.3定义
[专门术语]:
Client/Server结构(C/S结构)是大家熟知的客户机和服务器结构。
它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。
目前大多数应用软件系统都是Client/Server形式的两层结构,由于现在的软件应用系统正在向分布式的Web应用发展,Web和Client/Server应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件
[缩写词]:
Client/Server
1.4参考资料
1.《软件工程》,李爱萍主编,人民邮电出版社。
2.《软件工程——原理、方法和工具》,李东生主编
3.《机票预定系统项目计划任务书》航空公司
4.《机票预订系统可行性研究报告》软件开发小组
2.任务概述
2.1目标
本机票预订系统实现后,能够大大提高旅游局的机票预定服务效率。
降低售票服务中的错误发生率,减少信息交流的烦琐过程及其带来的开销。
2.2运行环境
服务器sun工作站,终端为pc机。
运行环境:
Linux
数据库:
Oracle8
2.3条件与限制
1.Client/Server结构总体设计方案对它的约束:
机票预订系统做为Client/Server结构的一个应用系统,不可避免的要受到Client/Server结构的约束。
在其实施的各个阶段都要服从它的一些规划,包括功能设计、系统配置和计划。
同时,由于信息的共享,机票预订系统还受到其它系统的信息约束。
2.人力、资金、时间的约束
机票预订系统实施的目标就是要带给轮胎生产公司看得出见的效益,其开发过程中也要考虑到人力、资金和时间的约束。
因此,在设计中,重点是企业间信息的网络交流,能提供各部门间的方便快捷的联系,并提高数据统计的即时性、准确性、方便性,给公司带来良好的效益。
3.技术发展规律的约束
计算机技术和产品的发展日新月异,将会给信息处理带来更多的手段,同时也会带来更加丰富的信息表达形式。
例如图象和语音技术的进步,多媒体技术的发展,这些都要求系统在设计时考虑技术变化的可能性,为可能的变化预留一定的系统处理能力。
3.数据描述
3.1静态数据
1.数据录入和处理的准确性和实时性
数据的输入是否准确是数据处理的前提,错误的输入会导致系统输出的不正确和不可用,从而使系统的工作失去意义。
数据的输入来源是手工输入。
手工输入要通过系统界面上的安排系统具有容错性,并且对操作人员要进行系统的培训。
在系统中,数据的输入往往是大量的,因此系统要有一定的处理能力,以保证迅速的处理数据。
2.数据的一致性与完整性
由于系统的数据是共享的,所以如何保证这些数据的一致性,是系统必须解决的问题。
要解决这一问题,要有一定的人员维护数据的一致性,在数据录入处控制数据的去向,并且要求对数据库的数据完整性进行严格的约束。
对于输入的数据,要为其定义完整性规则,如果不能符合完整性约束,系统应该拒绝该数据。
3.2动态数据
数据流图
3.3数据库描述
数据库采用Oracle8i。
3.4数据词典
旅客信息的数据字典
旅客订票信息的数据字典
候补旅客信息的数据字典
航班机票信息的数据字典
取票通知的数据字典
售出机票信息的数据字典
3.5数据采集
按照通过客户访谈、建立分析小组等途径得到的需求,采取数据,做出有便于方案设计的数据采集工作。
4.功能需求
4.1功能划分
1.客户端子系统
客户端子系统负责将订票员在客户端输入的信息,订票或取票,进行有效性验证之后,将订票申请或取票申请数据打包,发送到服务器端,并接收从服务器返回的信息,根据订票或取票打印出账单或机票。
2.服务器端子系统
服务端子系统负责接收客户端子系统发送的数据,解包后判断是订票还是取票操作,执行相应的数据库操作,并将操作的结果返回给客户端。
4.2功能描述---建立系统的逻辑模型
5.性能需求
为了保证系统能够长期、安全、稳定、可靠、高效的运行,机票预订系统应该满足以下的性能需求:
5.1数据精确度
系统处理的准确性和及时性是系统的必要性能。
在系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足企业对信息处理的需求。
在系统开发过程中,必须采用一定的方法保证系统的准确性。
5.2.时间特性
机票预订系统的时间特性可以直接影响到用户的使用。
因此在系统设计和开发过程中,要充分考虑响应时间、更新处理时间、数据转换与传输实践、运行时间等。
以便以后用户可以方便快捷的使用到机票预订系统。
5.3.适应性
适应性是为了适应计算机的发展,使软件适应外部新的硬件和软件环境或者数据环境(数据库,数据格式,数据输入/输出方式,数据存储介质)发生的变化时,软件应具有的能力。
6.运行需求
机票预定系统中的各个子系统的硬件和软件的配置如下:
1.服务器端子系统的运行要求:
系统软件:
Window NT Server 数据库管理系统:
SQL Server
硬件要求:
Pentium III 450以上, 258M RAM, 14G HD 2.客户端子系统的运行要求:
系统软件:
Window NT Workstation 数据库管理系统:
SQL Server
硬件要求:
Pentium 133以上, 32M RAM, 4.3G HD
6.1用户界面
6.2硬件接口
服务器端子系统的运行要求:
硬件要求:
PentiumIII450以上,256MRAM,14GHD
客户端子系统的运行要求:
硬件要求:
Pentium133以上,32MRAM,4.3GHD
6.3软件接口
服务器端子系统的运行要求:
系统软件:
Linux
客户端子系统的运行要求:
系统软件:
Window2000Professional
6.4故障处理
在系统遇到故障时,需要及时有效的处理故障。
太原理工大学学生实验报告
学院名称
软件学院
结构设计说明书
1.引言
1.1编写目的
在本机票预定系统项目的前一阶段,也就是需求分析阶段中,已经将系统用户对本系统的需求做了详细的阐述,这些用户需求已经在上一阶段中对航空公司、各旅行社及机场的实地调研中获得,并在需求规格说明书中得到详尽得叙述及阐明。
本阶段已在系统的需求分析的基础上,对机票预定系统做概要设计。
主要解决了实现该系统需求的程序模块设计问题。
包括如何把该系统划分成若干个模块、决定各个模块之间的接口、模块之间传递的信息,以及数据结构、模块结构的设计等。
在以下的概要设计报告中将对在本阶段中对系统所做的所有概要设计进行详细的说明。
在下一阶段的详细设计中,程序设计员可参考此概要设计报告,在概要设计对机票预定系统所做的模块结构设计的基础上,对系统进行详细设计。
在以后的软件测试以及软件维护阶段也可参考此说明书,以便于了解在概要设计过程中所完成的各模块设计结构,或在修改时找出在本阶段设计的不足或错误。
1.2项目背景
本项目(机票预定系统)时由<>航空公司委托,由<>负责开发。
机票预定系统将由两部分组成:
置于个旅行社定票点的前台客户程序,以及置于航空公司的数据库服务器。
本系统与其他系统的关系如下:
1.3定义
1.3.1专门术语
SQLSERVER:
系统服务器所使用的数据库管理系统(DBMS)。
SQL:
一种用于访问查询数据库的语言
事务流:
数据进入模块后可能有多种路径进行处理。
主键:
数据库表中的关键域。
值互不相同。
外部主键:
数据库表中与其他表主键关联的域。
ROLLBACK:
数据库的错误恢复机制。
1.3.2缩写
系统:
若未特别指出,统指本机票预定系统。
SQL:
StructuredQueryLanguage(结构化查询语言)。
ATM:
AsynchronousTransferMode(异步传输模式)。
1.4参考资料
以下列出在概要设计过程中所使用到的有关资料:
1机票预定系统项目计划任务书航空公司
2机票预定系统项目开发计划软件开发小组
3需求规格说明书软件开发小组
4用户操作手册(初稿)软件开发小组
5软件工程李爱萍人民邮电出版社
6ComputerNetworkA.S.TanenbaunPrenticeHall
文档所采用的标准是参照《软件工程导论》沈美明著的“计算机软件开发文档编写指南”。
2.任务概述
2.1目标
在实验三基础上完成系统的体系结构的建立和系统详细设计,并给出相应的系统设计说明书。
2.2运行环境
系统将由两部分程序组成,安装在各旅行社客户机上的客户程序及航空公司内的数据服务器程序。
根据调研得知所有旅行社的计算机配置均在Pentium133级别以上,客户程序应能够在Pentium133级别以上,WinNT环境下运行。
2.3需求概述
航空公司为方便旅客,需开发一个机票预定系统。
为便于旅客由旅行社代替航空公司负责为旅客定票,旅行社把预定机票的旅客信息,包括姓名、性别、工作单位、身份证号码、旅行时间、旅行目的地,输入机票预定系统的客户端程序,系统经过查询航空公司内的航班数据服务器后,为旅客安排航班,印出取票通知。
旅客在飞机起飞前一天凭取票通知和帐单交款后取票,系统校对无误后即印出机票给旅客。
要求系统能有效、快速、安全、可靠和无误的完成上述操作。
并要求客户机的界面要简单明了,易于操作,服务器程序利于维护。
2.4条件与限制
(1)在分析系统功能时要考虑有关证件的合法性验证(如身份证的验证可以直接连接公安系统的二代身份证信息库)等。
(2)对于本系统还应补充以下功能:
1.旅客延误了取票时间的处理
2.航班取消后的处理
3.旅客临时更改航班的处理
(3)系统的外部输入项至少包括:
旅客、旅行社和航空公司。
3.总体设计
3.1处理流程
下面将使用(结构化设计)面向数据流的方法对机票预定系统的处理流程进行分析。
系统可分为两大部分:
一、客户机上的程序,二、服务器上的程序。
以下将分别对系统的这两大部分进行流程分析:
3.1.1客户机程序流程
客户机上的输入信息为旅客资料或帐单号,还包括一个定票/领票选项。
输出为打印帐单或机票,和确认或出错信息。
其内部处理流程如下:
下面对各模块(以数字表示)进行功能说明:
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服务器程序流程
下面对各模块(以数字表示)进行功能说明:
1.网络数据接收接受由客户机程序经网络传送到客户机的数据包,它是程序与网络的接口。
2.解开数据解开/解密打包的数据,并将恢复的数据格式化送入3。
3.判断操作由数据判断需要做什么数据库操作,它是一事务处理中心,若为定票操作则将数据送4,若为领票操作则将数据送15。
4.准备数据库查询语句由定票数据准备访问SQLSERVER数据库所需的SQL语句,送入5。
5.数据库操作运行SQL语句,查询并存入数据库,获得相应的定票数据,将数据送入6。
它需包括初步对查询的判断。
它必须为乘客安排可抵达目的地的有座位的航班。
6.判断查询是否成功利用查询所得的数据判断定票是否成功,它是一事务处理中心,若为定票操作成功则将数据送7,若不成功则将数据送8。
7.准备回送数据准备定票成功后需回送客户机程序的数据,送16。
8.确定原因由查询数据判断定票不成功的原因,送9。
9.准备回送数据根据不成功的原因,准备需送回客户机程序的数据,送入16。
10.准备数据库查询语句由领票数据准备访问SQLSERVER数据库所需的SQL语句,送入11。
11.数据库操作运行SQL语句,查询并存入数据库获得相应的领票数据,将数据送入6。
它需包括初步对查询的判断。
12.判断查询是否成功利用查询所得的数据判断领票是否成功,它是一事务处理中心,若为领票操作得到确认则将数据送11,若不成功则将数据送8。
13.准备回送数据准备领票确认后需回送客户机程序的数据,送16。
14.确定原因由查询数据判断领票不能确认的原因,送15。
15.准备回送数据根据不成功的原因,准备需送回客户机程序的数据,送入16。
16.准备网络数据包将数据准备/加密成网络传输数据包。
17.网络数据发送将数据包经网络发送到服务器程序,它是程序与网络的接口。
以上显示的各模块数字相同的为同一模块;由于事务流处理上的便利,将有些功能模块,拆分到各事务流中。
3.2总体结构和模块外部设计
下面以结构图来描述机票预定系统的软件总体结构。
框内注明了模块的名字;方框之间的直线表示模块的调用关系。
3.2.1客户机部分
3.3功能分配
各项模块的功能可参照3.1中的说明。
客户机程序主要有三大块:
接收数据、网络通信及输出部分。
服务器程序主要也是由三大功能:
接收网络数据、数据库操作及发送网络数据部分。
服务器程序需与已建立的SQLSERVER数据库互连,其接口将于下面部分阐述。
4.接口设计
4.1外部接口
4.1.1用户界面
在用户界面部分,根据需求分析的结果,用户需要一个用户友善界面。
在界面设计上,应做到简单明了,易于操作,并且要注意到界面的布局,应突出的显示重要以及出错信息。
外观上也要做到合理化,考虑到用户多对WINDOW风格较熟悉,应尽量向这一方向靠拢。
在设计语言上,已决定使用MSVISUALC++进行编程,在界面上可使用VISUALC++所提供的可视化组件,向WINDOWS风格靠近。
其中服务器程序界面要做到操作简单,易于管理。
在设计上采用下拉式菜单方式,在出错显示上可调用VISUALC++库中的错误提示函数。
总的来说,系统的用户界面应作到可靠性、简单性、易学习和使用
4.1.2软件接口
软件接口服务器程序可使用VISUALC++提供的对SQLSERVER的接口,进行对数据库的所有访问。
服务器程序上可使用SQLSERVER的对数据库的备分命令,以做到对数据的保存。
在网络软件接口方面,使用一种无差错的传输协议,采用滑动窗口方式对数据进行网络传输及接收。
4.1.3硬件接口
输入方面,对于键盘、鼠标的输入,可用VISUALC++的标准输入/输出,对输入进行处理。
在输出方面,打印机的连接及使用,也可用VISUALC++的标准输入/输出对其进行处理。
在网络传输部分,在网络硬件部分,为了实现高速传输,将使用高速ATM。
4.2内部接口
内部接口方面,各模块之间采用函数调用、参数传递、返回值的方式进行信息传递。
具体参数的结构将在下面数据结构设计的内容中说明。
接口传递的信息将是以数据结构封装了的数据,以参数传递或返回值的形式在各模块间传输。
5.数据结构设计
5.1数据库数据结构设计
DBMS的使用上系统将采用SQLSERVER,系统主要需要维护3张数据表:
1.航班班次表
航班号
起飞日期/时间
飞行目的地
座位空数
商务仓票价
经济仓票价
航班班次表保存了所有从本地起飞的班机信息,它的主键为航班号。
在定位前先查寻座位空数,在定位后将修改座位空数。
2.定位信息表
航班号
帐单号
是否领票
定位信息表保存了已定位信息,主键为帐单号,外部主键为航班号。
在旅客领票过程时将用到此表,领票后修改是否领票域
3.帐单信息/旅客资料表
帐单号
旅客姓名
旅客性别
旅客身份证号
工作单位
帐单信息/旅客资料表保存已定位的旅客信息资料,它的主键为旅客身份证号,外部主键为帐单号。
主要用于领票时将旅客信息一同返回。
4.机位信息表
班机号
机位信息
机位信息表保存各班机各机位定票状况。
它的外部主键为班机号。
主要用于定票时确定旅客机位,并返回。
5.2物理数据结构设计
物理数据结构设计主要是设计数据在模块中的表示形式。
数据在模块中都是以结构的方式表示。
1.旅客信息
用于定票时接收输入,以及领票时服务器返回。
2.帐单号
可使用一LONGINT实现。
用于领票时接收输入,以及定票时服务器返回。
3.飞行目的
用于定票时接收输入,以及领票时服务器返回。
4.网络包
用于数据在网络上的传输。
5.错误信息
用于关于错误操作。
6.机票信息
用于打印机票准备工作。
数据类型可参照上面所述。
7.帐单信息
用于打印帐单准备工作。
数据类型可参照上面所述。
5.3数据结构与程序的关系
服务器程序在对定票/领票进行操作时需对数据库数据库数据结构,也就是数据表进行查询和修改:
在定票/领票过程中都需要对数据库中的所有表,进行联合查询、修改。
物理数据结构主要用于各模块之间函数的信息传递。
接口传递的信息将是以数据结构封装了的数据,以参数传递或返回值的形式在各模块间传输。
出错信息将送入显示模块中,机票结构,帐单结构,送入打印准备模块中准备打印格式。
6.运行设计
6.1运行模块的组合
客户机程序在有输入时启动接收数据模块,通过各模块之间的调用,读入并对输入进行格式化。
在接收数据模块得到充分的数据时,将调用网络传输模块,将数据通过网络送到服务器,并等待接收服务器返回的信息。
接收到返回信息后随即调用数据输出模块,对信息进行处理,产生相应的输出。
服务器程序的接收网络数据模块必须始终处于活动状态。
接收到数据后,调用数据处理/查询模块对数据库进行访问,完成后调用网络发送模块,将信息返回客户机。
6.2运行控制
运行控制将严格按照各模块间函数调用关系来实现。
在各事务中心模块中,需对运行控制进行正确的判断,选择正确的运行控制路径。
在网络传方面,客户机在发送数据后,将等待服务器的确认收到信号,收到后,再次等待服务器发送回答数据,然后对数据进行确认。
服务器在接到数据后发送确认信号,在对数据处理、访问数据库后,将返回信息送回客户机,并等待确认。
6.3运行时间
在软体的需求分析中,对运行时间的要求为必须对作出的操作有较快的反应。
网络硬件对运行时间有最大的影响,当网络负载量大时,对操作反应将受到很大的影响。
所以将采用高速ATM网络,实现客户机与服务器之间的连接,以减少网络传输上的开销。
其次是服务器的性能,这将影响对数据库访问时间即操作时间的长短,影响加大客户机操作的等待时间,所以必须使用高性能的服务器,建议使用PentiumIII处理器。
硬件对本系统的速度影响将会大于软件的影响。
7.出错处理设计
7.1出错输出信息
程序在运行时主要会出现两种错误:
1、由于输入信息,或无法满足要求时产生的错误,称为软错误。
2、由于其他问题,如网络传输超时等,产生的问题,称为硬错误。
对于软错误,须在定票/领票操作成功判断及输入数据验证模块由数据进行数据分析,判断错误类型,再生成相应的错误提示语句,送到输出模块中。
对与硬错误,可在出错的相应模块中输出简单的出错语句,并将程序重置。
返回输入阶段。
出错信息必须给出相应的出错原因,例:
《全部班机座位已满!
》
《查无此定位信息!
》等。
7.2出错处理对策
所有的客户机及服务器都必须安装不间断电源以防止停电或电压不稳造成的数据丢失的损失。
若真断电时,客户机上将不会有太大的影响,主要是服务器上:
在断电后恢复过程可采用SQLSERVER的日志文件,对其进行ROLLBACK处理,对数据进行恢复。
在网络传输方面,可考虑建立一条成本较低的后备网络,以保证当主网络断路时数据的通信。
在硬件方面要选择较可靠、稳定的服务器机种,保证系