软件工程导论课设.docx
- 文档编号:17923759
- 上传时间:2023-08-05
- 格式:DOCX
- 页数:19
- 大小:221.08KB
软件工程导论课设.docx
《软件工程导论课设.docx》由会员分享,可在线阅读,更多相关《软件工程导论课设.docx(19页珍藏版)》请在冰点文库上搜索。
软件工程导论课设
学生课程设计报告
课程设计题目:
机票预定系统
专业名称:
软件工程
学号:
************
*******
教师姓名:
樊海玮
起止日期:
2016年5月20日至6月2日
2016年6月2日
机票预定系统
需求规格说明书
一.引言
1.1编写目的
需求规格说明书是感动弄清楚用户对开发软件应用系统的确切要求,
本阶段对所要做的系统做需求分析,建立是在前面的可行性研究基础上的。
主要解决了实现该系统的数据字典及功能需求问题。
包括如何把该系统划分成若干个模块、决定各个模块之间的接口、模块之间传递的信息,以及数据结构、模块结构的设计等。
在以下的详细设计报告中将对在本阶段中对系统所做的所有分析进行详细的
说明。
在下一阶段的详细设计中,程序设计员可参考本阶段对机票预定系统所做的模块结构设计的基础上,对系统进行详细设计。
在以后的软件测试以及软件维护阶段也可参考此说明书,以便于了解在需求分析过程中所完成的各模块设计结构,或在修改时找出在本阶段设计的不足或错误。
1.2项目背景
a.开发软件的名称:
机票预订系统
b.项目的任务提出者:
航空公司
c.开发者:
长安大学田磊
d.用户:
国内各大航空公司
二.任务概述
2.1需求概述
航空公司为给旅客乘机提供方便,需要开发一个机票预定系统。
各个旅行社把预定机票的旅客信息(姓名、性别、工作单位、身份证号码(护照号码)、旅行时间、旅行始发地和目的地,航班舱位要求等)输入到系统中,系统为旅客安排航班。
当旅客交付了预订金后,系统打印出取票通知和帐单给旅客,旅客在飞机起飞前一天凭取票通知和帐单交款取票,系统核对无误即打印出机票给旅客。
此外航空公司为随时掌握各个航班飞机的乘载情况,需要定期进行查询统计,以便适当调整。
2.2系统目标
系统实现后,大大提高旅游局的机票预订服务效率。
降低售票服务中的错误发生率,减少信息交流的烦琐过程及其带来的开销。
2.3技术要求和限制条件
(1)在分析系统功能时要考虑有关证件的合法性验证(如身份证、取票通知和交款发票)等。
(2)对于本系统还应补充一下功能:
1.旅客延误了取票时间的处理
2.航班取消后的处理
3.旅客临时更改航班的处理
(3)系统的外部输入项至少包括:
旅客、旅行社和航空公司。
三.系统结构设计:
3.1数据流图
顶层数据流图
旅客信息机票
取票通知单取票通知单
0层数据流图
取票通知单机票
有效的取
票通知单
旅客信息合法旅客信息
取票通知单
不合法输入
2层数据流图
旅客旅客有效
信息信息
订票信息账单信息
订票信息账单信息
取票通有效取票机票
知单通知单信息
3.2数据描述
1静态数据
订票单、取票通知单、帐单、机票
2动态数据
旅客姓名、身份证、航班时间
3数据词典
1.旅客信息
名字:
旅客信息
别名:
passengerinformation
描述:
旅客的个人信息,用于对旅客的确认
定义:
旅客信息=姓名+性别+工作单位+身份证号码+旅行时间+旅行目的地
位置:
输入到旅行社端
2.订票旅客清单
名字:
订票旅客清单
别名:
list
描述:
已订票的旅客的记录
定义:
订票旅客清单=旅客信息的合集位置:
输入到旅行社端
3.订票信息
名字:
订票信息
别名:
bookedinformation
描述:
旅客的旅行时间和目的地,用于确定旅客的航班定义:
订票信息=旅客旅行时间+旅客旅行目的地位置:
传输到航空公司端
4.航班机票信息
名字:
航班机票信息
别名:
BillInformation
描述:
旅客的航班信息,根据旅客的旅行时间和目的地确定定义:
航班机票信息=旅客机票时间+旅客机票班次位置:
传输到旅行社端
5.取票通知
名字:
取票通知
别名:
notification
描述:
旅客领取机票的凭证
定义:
取票通知=旅客姓名+领票时间位置:
输出到打印机
6.售出机票信息
名字:
售出机票信息
别名:
saled
描述:
旅客的航班机票的信息
定义:
售出机票信息=旅客的航班机票位置:
输出到打印机
7.旅客订票记录
名字:
旅客订票记录
别名:
record
描述:
已订票的旅客在航空公司的记录
定义:
旅客订票记录=旅客姓名+航班机票信息位置:
输出到航空公司端
4.功能需求
机票预定系统的总目标是:
在计算机网络,数据库和先进的开发平台上,利用现有的软件,配置一定的硬件,开发一个具有开放体系结构的、易扩充的、易维护的、具有良好人机交互界面的机票预定系统,实现航空公司的机票销售的自动化的计算机系统,为企业的决策层提供准确、精细、迅速的机票销售信息。
根据可行性研究的结果和客户的要求,分析现有情况及问题,采用Client/Server结构,将机票预定系统划分为两个子系统:
客户端子系统,服务器端子系统。
下面分析各个子系统的功能需求:
5.1客户端子系统:
在客户端系统的功能实现上,可以分为以下几个部分:
[1]旅客信息的输入和统计
旅行社把旅客要求订票的信息由专人负责输入。
这部分功能是客户端子系统的基本部分,这个功能是以后各个部分的基础。
系统要求做到即能够从其它子系统中共享一部分信息,又有方便的操作界面工手工输入旅客信息。
这部分要求对输入的数据进行简单的统计,供航空公司进行查询和宏观调控。
[2]旅客信息的存储:
将旅客的信息存储到旅行社的客户端系统中,以备以后的取票确认以及查询。
[3]机票信息的传递及接收:
将旅客所须的机票信息由旅行社客户端由网络传到航空公司的服务器上,并且接受航空公司返回的航班信息,然后存储起来。
[4]取票通知及帐单的生成和打印:
把已存储的从航空公司返回的航班机票信息打印出来,并且生成帐单打印出来一起交给旅客。
印出机票给已经订票的旅客:
根据旅客的取票通知及帐单,经过确认无误后,接受旅客的付款后把机票印出来交给旅客。
[5]机票销售情况的核算
这一功能是在上一功能的基础上,对机票销售额进行单项核算,得到该旅行社的销售情况并把核算结果作为企业报表输出。
5.2服务器端的功能要求:
通过计算机网络将客户端与服务器的数据库相连,将从客户端得到的信息进行处理,实现航班查询,机票生成,销售统计,综合信息查询等子系统。
以计算机成本核算为中心,实现销售业务的计算机自动化,为航空公司降低成本、提高销售额、经营决策提供及时精确的依据。
在服务器端系统的功能实现上,可以分为以下几个部分:
[1]接收由旅行社客户端发回的所需机票信息:
通过网络接收机票信息并存入到服务器的数据库中。
[2]生成航班信息:
根据所需机票信息(时间,地点),在数据库中查询并得到正确的航班的信息(价格,时间,等级),分配所需的机票数并在数据库中做出已售出的标记。
[3]传递航班信息到客户端(旅行社):
把得到的航班信息通过网络传递到旅行社。
[4]接收旅行社的反馈信息:
对旅行社的反馈信息进行分析,把已经售出的机票进行统计,对被旅客所退掉的机票要进行数据库的恢复。
[5]印出机票给已经订票的旅客:
根据旅客的取票通知及帐单,经过确认无误后,接受旅客的付款后把机票印出来交给旅客。
[6]销售额的分析和管理
这一步骤的功能要求包括对销售的机票进行分析,这一工作是在前面的基础上,以计算机为工具,对机票预定系统的功能和目标进行扩充。
它以财务管理学为理论基础,以辅助决策为目标,以机票销售数据为中心,广泛采用统计学、运筹学的分析方法,对销售信息进行深层加工,建立反映不同航班需求的模型,提供管理上所需的各种辅助决策信息和财务信息。
这一要求是机票预定系统的最高目标,将通过系统运行后获得的大量销售历史数据基础上,实现这一目标。
6.性能需求
为了保证系统能够长期、安全、稳定、可靠、高效的运行,机票预定系统应该满足以下的性能需求:
(1)系统处理的准确性和及时性
系统处理的准确性和及时性是系统的必要性能。
在系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足企业对信息处理的需求。
由于机票预定系统的查询功能对于整个系统的功能和性能完成举足轻重。
作为系统的很多数据来源,而机票数量和时间又影响企业的决策活动,其准确性很大程度上决定了机票预定系统的成败。
在系统开发过程中,必须采用一定的方法保证系统的准确性。
(2)系统的开放性和系统的可扩充性
机票预定系统在开发过程中,应该充分考虑以后的可扩充性。
例如订票系统的方式的改变(网上订票),用户查询的需求也会不断的更新和完善。
所有这些,都要求系统提供足够的手段进行功能的调整和扩充。
而要实现这一点,应通过系统的开放性来完成,既系统应是一个开放系统,只要符合一定的规范,可以简单的加入和减少系统的模块,配置系统的硬件。
通过软件的修补、替换完成系统的升级和更新换代。
(3)系统的易用性和易维护性
机票预定系统是直接面对使用人员的,而使用人员往往对计算机并不时非常熟悉。
这就要求系统能够提供良好的用户接口,易用的人机交互界面。
要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面;针对用户可能出现的使用问题,要提供足够的在线帮助,缩短用户对系统熟悉的过程。
机票预定系统中涉及到的数据是航空公司的相当重要的信息,系统要提供方便的手段供系统维护人员进行数据的备份,日常的安全管理,系统意外崩溃时数据的恢复等工作。
(4)系统的标准性
系统在设计开发使用过程中都要涉及到很多计算机硬件、软件。
所有这些都要符合主流国际、国家和行业标准。
例如在开发中使用的操作系统、网络系统、开发工具都必须符合通用标准。
如规范的数据库操纵界面、作为业界标准的TCP/IP网络协议及ISO9002标准所要求的质量规范等;同时,在自主开发本系统时,要进行良好的设计工作,制订行之有效的软件工程规范,保证代码的易读性、可操作性和可移植性。
(5)系统的先进性
目前计算系统的技术发展相当快,做为机票预定系统工程,应该保证系统在下个世纪仍旧是先进的,在系统的生命周期尽量做到系统的先进,充分完成企业信息处理的要求而不至于落后。
这一方面通过系统的开放性和可扩充性,不断改善系统的功能完成。
另一方面,在系统设计和开发的过程中,应在考虑成本的基础上尽量采用当前主流并先进且有良好发展前途的产品。
(6)系统的响应速度
机票预定系统系统在日常处理中的响应速度为秒级,达到实时要求,以及时反馈信息。
在进行统计分析时,根据所需数据量的不同而从秒级到分钟级,原则是保证操作人员不会因为速度问题而影响工作效率。
7.数据需求
机票预定系统的数据需求包括如下几点:
1.数据录入和处理的准确性和实时性
数据的输入是否准确是数据处理的前提,错误的输入会导致系统输出的不正确和不可用,从而使系统的工作失去意义。
数据的输入来源是手工输入。
手工输入要通过系统界面上的安排系统具有容错性,并且对操作人员要进行系统的培训。
在系统中,数据的输入往往是大量的,因此系统要有一定的处理能力,以保证迅速的处理数据。
2.数据的一致性与完整性
由于系统的数据是共享的,在不同的旅行社中中,机票是共享数据,所以如何保证这些数据的一致性,是系统必须解决的问题。
要解决这一问题,要有一定的人员维护数据的一致性,在数据录入处控制数据的去向,并且要求对数据库的数据完整性进行严格的约束。
对于输入的数据,要为其定义完整性规则,如果不能符合完整性约束,系统应该拒绝该数据。
3.数据的共享与独立性
整个机票预定系统的数据是共享的。
然而,从系统开发的角度上看,共享会给设计和调试带来困难。
因此,应该提供灵活的配置,使各个分系统能够独立运行,而通过人工干预的手段进行系统数据的交换。
这样,也能提供系统的强壮性。
详细设计说明书
一.引言
1.1编写目的:
在本阶段中,我们对在本阶段中对系统所做的所有详细设计进行说明:
确定应该如何具体地实现所要求的系统,从而在编码阶段可以把这个描述直接翻译成用具体的程序语言书写的程序。
主要的工作有:
根据前阶段描述的数据、功能、运行、性能需求,及处理流程、总体结构和模块外部设计,设计软件系统的结构设计、逐个模块的程序描述(包括各模块的功能、性能、输入、输出、算法、程序逻辑、接口等等),解决如何
1.接受:
旅客信息及取票通知和账单;
2.输出:
取票通知和账单及机票;
3.网络输出,输入;
4.分辨信息的种类并采取相应的处理步骤;
5.判断信息的正误并采取相应的处理步骤;
6.进行数据库的查询、修改工作;
7.接受并判断错误,输出相应的出错消息。
二.系统结构设计:
2.1系统结构图
三.模块设计
3.1用户注册模块
否
是
否
1.模块描述
本模块的主要功能,是根据旅行社提供的预定机票的旅客信息,由操作员输入旅客信息,同时保存在数据库。
2.功能
主要是记录预定机票的旅客信息,是系统产生取票通知和账单的源数据。
3.性能
操作员输入预定机票的旅客信息后,数据库立即保存记录,并通过查询可以检测保存是否成功。
4.输入项
客户定票信息:
任意长度字符串,包括数字、汉字和英文字母。
5.输出项
有效用户和无效用户。
3.2产生票据模块
是
1.模块描述
本模块的主要功能,是根据操作员在输入数据模块中输入的预定机票的旅客信息由系统产生的相关取票通知和账单。
2.功能
系统地产生与客户信息相对应的取票通知和账单。
3.性能
操作员输入客户信息后,立即产生相对应的取票通知和账单,如果数据库中没有预定的票,则提示无票,说明原因。
4.输入项
客户定票信息:
任意长度字符串,包括数字和汉字和英文字母。
5.输出项
取票通知和账单。
(1)取票通知
姓名:
任意长度字符串。
班次:
8位长度字符串(班次=出发地+目的地+序列号)。
日期:
date类型。
(2)账单
姓名:
任意长度字符串。
账单号:
账单号=日期+序列号,序列号:
0000000~9999900。
金额:
任意位数字。
日期:
date类型。
四.测试
2.1测试计划
2.1.1测试方案
软件测试既是软件开发的最后一个活动,又是软件质量保证的最后一项措施。
它所用的主要技术是:
白盒测试和黑盒测试。
在系统编码实现阶段已经进行初步的白盒测试,测试过程中也发现了错误,并得到了及时的纠正,经过了一系列的纠错和调试过程。
然后又考虑到各种因素和条件的限制,还采用了黑盒测试方案。
即不考虑所编写程序的具体结构,而是根据软件所输入的数据的格式以及应该完成的功能,设计一些合法的测试用例和不合法的测试用例,特别是根据边界条件设计一些边界测试用例,以检查系统是否能正确的完成功能,得到希望的输出。
并对不合法的输入和操作能够正确的识别和防御,尽可能的发现软件中潜伏的错误。
2.1.2测试项目
本系统主要分为对前台操作和后台管理。
前台操作是旅行社登录到本系统,把预定机票的旅客信息(姓名,性别,工作单位,身份证号码,旅行时间,旅行目的地)输入到该系统,系统为旅客安排航班。
通过具体航班查询(按各个查询主题查询),查询旅客信息,旅客预订情况。
后台管理是管理员对本系统的维护,补充了班机取消后的处理,旅客临时机票班次的处理,取消航班和添加航班等功能达到对系统的管理。
在设计测试用例时要对各个项目模块进行测试。
2.2测试内容2.2.1前后台操作
(1)登录模块
登录模块包括普通用户登陆和管理员登陆。
测试登录模块功能,内容包括用户名和密码的输入,能够成功登录并能够根据用户的身份和权限进入不同的界面。
测试过程中发现系统出现问题,在不输入用户名和密码的情况下也能正常登陆,经过修改程序后解决此问题。
能够对用户名和密码的合理性,合法性进行检查,用户名和密码为空是提示不能为空,用户名和密码不匹配是要提示相应的出错信息。
(2)具体航班查询模块
测试查询航班功能,内容包括旅行社根据航班号,目的地和起飞时间查询相关航班信息(包括剩余座位数)。
在此项测试中不需要检查用户所选项的合法性,因为不合法的查询条件将得到空结果。
(3)旅客信息查询模块
此模块查询功能测试与具体航班查询模块相类似。
4)旅客增减操作模块
由于姓名,性别,身份证号和工作单位都是非空项,在输入过程中若有项没输入,系统会报错,无法完成输入。
在输入所有项后,点击确认完成输入操作。
5)机票订退操作模块
通过输入姓名,目的地和起飞时间实现机票订退功能。
该模块基本实现定退票功能。
2.2.2后台管理测试
(1)取消航班模块
该模块通过选择要取消的航班号对所选航班进行取消。
该模块功能较简单,单一实现对所选航班的取消操作,没有给用户以任何提示,任需继续改进,防止用户误操作带来的严重后果。
(2)增添航班模块
该模块通过添加航班号,目的地,起飞时间和座位数实现航班增添。
所输入的主键和相关信息都不能为空。
(3)航班误点操作模块
误点航班号和误点时间的输入,实现误点航班实现。
输入过程中所有项不可为空,否则会出现错误信息。
修改成功后给与相应提示信息。
2.3测试总结
通过对本系统的前台操作和后台管理功能模块的测试,从测试结果可知,各模块功能都能正常运行使用,对用户的操作能够做出相应的判断,对非法的操作或者输入错误都会有相应的错误提示,满足用户的使用要求。
可以说本系统基本上能够达到之前系统分析的效果,达到本次设计
五、总结
经过本学期《软件工程导论》课程的学习,我了解了软件开发的主要步骤和开发原则,学会了软件开发的重要思想。
本次的课程设计使我对这些理论的掌握程度又更进了一步,让我从自身的实践中巩固了所学的软件工程的相关知识。
课程设计我选的题是机票预订系统,在整个的课程设计过程中,我对所需设计的系统有了很深的了解。
在系统设计之初,我先要进行可行性分析,对系统的各方面进行可行性分析,并制定出项目开发计划,随后就可以开始设计系统,先进行需求分析,画出数据流程图,数据字典,以及对新模型的设想,再对系统进行详细设计,画出数据流图,并进行数据库、用户界面、模块设计及程序设计。
剩下的就是程序的实际开发过程,由于我不会程序代码,所以没有维护计划。
这就是我这次课程设计所采用的设计思路。
这次的课程设计对我的水平也进行了一次很好的检验,发现了自己在以前学习中出现的很多问题,使我受益匪浅。
在机票预订系统中我实现了基本的功能,但是也存在不足之处,由于开发时间较短,我不能完善系统,在以后的学习中会加以改进。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 导论