已阅读5页,还剩14页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
此文档收集于网络,如有侵权,请联系网站删除目 录1.课程设计目的12.课程设计题目描述和要求12.1.课题描述12.2 要求23.设计环境24.可行性研究34.1技术可行性34.2可行性方案34.3开发风险35.需求分析45.1系统的数据流图45.2机票预订系统的业务流程图55.3 机票预订系统数据描述66.概要设计86.1 系统功能图86.2 航班信息管理96.3取票处理模块96.4异常处理模块96.5接口设计107.数据库设计107.1数据库平台概述107.2数据库概念设计107.3 数据表结构117.4 数据库连实现128.详细设计148.1编码148.2系统实现149测试与维护179.1白盒测试179.2单元测试179.3综合测试209.4维护2110.故障分析及解决2110.1故障分析2110.2解决办法2210.3安全保密设计2210.4维护设计2211.总结2212.课程设计结束语23参考书目25此文档仅供学习与交流1.课程设计目的 软件工程课程设计是计算机科学与技术专业集中实践性环节之一,是学习完软件工程课程后进行的一次全面的综合练习,涉及的深度广些并更加接近实用。通过课程设计,使我们综合使用所学过的软件工程知识,掌握软件工程的基本思路和方法,利用所学的基本知识和技能,发挥自学能力和查找资料的能力,通过一个实例,运用软件开发中各个环节,加深对所学知识的理解与掌握,增强利用自己所学知识解决实际问题的能力,为后续各门计算机课程的学习打下坚实基础。具体而言可以实现以下目的:1. 通过本课程设计的实践及其前后的准备与总结,复习、领会、巩固和运用软件工程课堂上所学的软件开发方法和知识,比如,软件项目的完整设计与开发过程、结构化技术、快速原型法和面向对象方法等。特别是结构化分析、结构化设计、快速原型开发、面向对象分析与面向对象设计。2. 为学生适应毕业后团队合作开发规模稍大项目和综合应用本专业所学习的多门课程知识创造实践机会。为学生提供主动学习、积极探索与大胆创新的机会。3. 使学生通过参加小组团队的开发实践,了解项目管理、团队合作、文档编写、口头与书面表达的重要性。4使每个学生了解软件工具与环境对于项目开发的重要性,并且重点深入掌握好一、两种较新或较流行的软件工具或计算机应用技术。5. 通过“稍大的”富有挑战性的软件实验项目开发实践,为学生提供主动学习、深入实践的机会,并且通过课程设计实践中,提高学生的自学能力、书面与口头表达能力、创造能力和与团队其他成员交往和协作开发软件的能力,提高学生今后参与开发稍大规模实际软件项目和探索未知领域的能力和自信心。2.课程设计题目描述和要求2.1.课题描述随着社会的发展,人民生活水平的不断提高,出行旅游成为了人们放松心情、接触自然的最好方式。优质的服务,快速的运输,廉价的机票,空运成为了人们出行的第一选择。然而传统的购票方式,仍然是人工机械的处理。大多数乘客通过电话方式了解信息和预订机票。这样给服务台增加了很大的压力,并且大多数时间不能及时响应乘客的要求。这种传统的购票方式,不仅效率低下,而且给人们的出行带来了很多不便。同时,人工处理的成本再加上巨额的通信费用造成了传统购票方式的巨大开销。当面对机票订购高峰时刻的大量数据处理的时候,仅靠手工操作以现有的工作人员根本无法应付。同时还会出现由此带来的大量记录存放和管理所带来的问题。从而给旅客和管理人员带来了许多的不便。2.2 要求在计算机网络,数据库和先进的开发平台上,利用现有的软件,配置一定的硬件,开发一个具有开放体系结构的、易扩充的、易维护的、具有良好人机交互界面的机票预定系统,实现航空公司的机票销售的自动化的计算机系统,为企业的决策层提供准确、精细、迅速的机票销售信息,为旅客提供快捷、方便的服务。系统规模与功能:1. 旅行社记录旅客的基本信息以及航班需求,并且加工这些信息,最后存储这些信息。2.旅行社提供旅客订票信息:各个旅行社把预定机票的旅客信息输入到系统中;3.系统处理订票信息:系统根据旅行社提供的旅客订票信息,为旅客安排航班;4.系统打印取票通知单和帐单:当旅客交付了预订金后,系统打印出取票通知和帐单给旅客;5.系统出票:旅客在飞机起飞前一天凭取票通知和帐单交款取票,系统核对无误即打印出机票给旅客;6.航班信息中心:包括各航班飞机的乘载情况等信息;7.对于本系统还应补充一下功能:(1)旅客延误了取票时间的处理(2)航班取消后的处理(3)旅客临时更改航班的处理8.系统的外部输入:旅客、旅行社和航空公司。9注意事项:在分析系统功能时要考虑有关证件的合法性验证(如身份证、取票通知和交款发票)等。3.设计环境硬件环境CPU:P4 1.8GHz内存:512MB以上软件环境操作系统:Windows XP/7数据库: SQL SERVER 2005开发工具:VC+6.0开发语言:C+4.可行性研究4.1技术可行性 在计算机网络、数据库和先进的开发平台的基础上,使用VC+技术,在加上好的硬件支持,和高速的校园网络,开发一个具有开放体系结构的、易扩充的、易维护的、具有良好人机交互界面的机票预定系统,实现航空公司的机票销售的自动化的计算机系统是可行的。在加上扎实的理论知识和一些开发经验。在现有的技术条件和硬件条件的支持下开发机票预定系统被证实为可行的。本系统使用的操作系统和数据库是目前最为普及和成熟的一种系统开发软件。从这种软件过去使用、升级情况和软件商所承诺的今后软件发展情况分析,系统软件应支持原系统版本上的各种应用正常使用。因而,该机票预定系统不存在技术问题。服务器采用Windows最新系统,利用 SQL SERVER 最新数据库系统。(此次课程设计,经济可行性、社会可行性、操作可行性此三项不在考虑范围)4.2可行性方案我们在服务器上采用了Windows XP/7的操作系统,在运用SQL SERVER先进的数据库系统。 利用VC+技术,采用C/S架构,最后实现具有开放体系结构的、易扩充的、易维护的、具有良好人机交互界面的机票预定系统,实现航空公司的机票销售的自动化。虽然本系统在硬件、操作系统、数据库软件等方面投资很大,但是考虑到系统的使用规模、巨大的经济效益、高工作效率和低廉的维护成本,所以对本系统而言庞大的开发成本是值得的。4.3开发风险从提出的需求,以及目前小组规模情况和各种资源情况(机器、操作系统、软件工具、网络、技术人员素质等)看,该系统开发在技术上是完全可以实现的。而且能保证系统最终的使用效果,性能可以达到目标。5.需求分析5.1系统的数据流图图5.1机票预订系统环境图图5.2机票预订系统一层数据流图图5.3 个人订票信息处理的分层数据流图图5.4 打印处理的分层数据流图图5.5 异常信息处理分层数据流程图5.2机票预订系统的业务流程图旅客订票流程图:旅客取票流程图:5.3 机票预订系统数据描述数据字典数据字典是用来规范描述数据具体内容的工具,也是对数据汇总分析的一个总结。一般来说,可为每个数据建立一张二维表。在本系统中,分别为旅客信息、旅客订票信息、候补旅客信息、航班机票信息、取票通知和售出机票信息建立了数据字典,具体如表5-1到表5-6所示。表5-1 旅客信息的数据字典数据名称旅客信息作用记录旅客的个人信息,用于对旅客的确认来源客户去向旅行社管理排列方式按照客户的姓名升序排序包含信息姓名、性别、工作单位、身份证号码、旅行时间、旅行目的地表5-2 旅客订票信息的数据字典数据名称旅客订票信息作用记录旅客的旅行时间和目的地,用于确定旅客的航班来源客户去向航班机票管理排列方式按照客户的(姓名起飞时间)升序排序包含信息客户姓名、身份证号、航班号、起飞时间、预订票数、舱位等级、机票是否打印表5-3 候补旅客信息的数据字典数据名称候补旅客信息作用记录旅客的旅行时间和目的地,便于及时调整航班来源航班机票管理去向信息存储/航班机票管理排列方式按照(姓名起飞时间)升序排序包含信息客户姓名、身份证号、航班号、起飞时间、预订票数、舱位等级表5-4 航班机票信息的数据字典数据名称航班机票信息作用记录旅客的航班信息,根据旅客的旅行时间和目的地确定来源航空公司安排航班去向信息存储/航班机票管理排列方式按(飞行日期航班号)升序排列包含信息航班号、终点站名、起飞地点、飞行日期、周几、成员定额、余票量、已订票的客户名单(包括姓名、订票量、舱位等级1,2或3)、等候替补的客户名单(包括姓名、所需票量)表5-5 取票通知的数据字典数据名称取票通知作用旅客领取机票的凭证来源航班机票管理系统去向客户排列方式按(姓名+飞行日期航班号)升序排列包含信息旅客姓名、领票时间表5-6 售出机票信息的数据字典数据名称售出机票信息作用记录旅客的航班机票的信息来源航班机票管理系统去向信息存储/航班机票管理排列方式按(姓名+飞行日期航班号)升序排列包含信息旅客的航班机票6.概要设计6.1 系统功能图图6.16.2 航班信息管理图6.26.3取票处理模块图6.36.4异常处理模块图6.46.5接口设计图6.57.数据库设计7.1数据库平台概述 数据库技术是计算机科学中发展最快的领域之一,也就是应用最广的技术之一,它已成为计算机信息系统与应用系统的核心技术和重要基础。SQL SERVER是一款功能强大、使用方便、可伸缩性好、与相关软件集成度高的数据库软件,是当前的主流数据库之一。SQL SERVER 2005扩展了SQL SERVER 2000 的可靠性、可用性、可编程性的易用性。SQL SERVER2005包含了多项新功能。7.2数据库概念设计 系统E-R图图7.1 全局ER图7.3 数据表结构各模块表格如下(1)旅客对应表格,如表格7-1所示:表 7-1旅客信息表表名passenger列名数据类型(精度范围)主/外码空/非空备注IDnumbervarChar(50)主码非空workvarchar(50)非空sexVarchar(20)非空timelong非空namevarchar(50)非空rankvarchar(20)非空startCityvarchar(30)非空arriveCityvarchar(30)非空(2)航班信息,如表7-2所示表 7-2 航班信息表名Flight列名数据类型(精度范围)主/外码空/非空备注fnumint(11)主码非空startvarchar(30)非空finishvarchar(30)非空surpluselong非空tnumlong非空(3)订票信息,如表7-3所示表 7-3订票信息表名line_passenger列名数据类型(精度范围)主/外码空/非空备注ID numberVarchar(50)外码非空(passenger_ID,line_ID)是主码fnumint(11)外码非空moneydouble非空time非空(4)旅行社信息,如表7-4所示:表 7-4旅行社表表名user列名数据类型(精度范围)主/外码空/非空备注IDvarchar(30)主码非空Dressvarchar(50)非空(5)旅店订票信息 如表7-5所示表7-5 旅店信息表表明Lvdian列名数据类型主外码空/非空备注IDnumberLong主非空DressVarchar(50)非空7.4 数据库连实现void CTempDlg:OnButton6() /查询/ TODO: Add your control notification handler code hereCString SQL,str;SQL=select * from _money.dbo.gongzhi;pCom-CommandText=(_bstr_t)SQL;pRec=pCom-Execute(NULL,NULL,adCmdUnknown);str=工号ttt姓名ttt工资;while(!pRec-GetadoEOF()str+=n;str+=(_bstr_t)pRec-GetCollect(num);str+=ttt;str+=(_bstr_t)pRec-GetCollect(name);str+=ttt;str+=(_bstr_t)pRec-GetCollect(money);pRec-MoveNext();MessageBox(str,工资查询,MB_YESNO);void CTempDlg:OnButton9() /增加/ TODO: Add your control notification handler code hereCIn in;if(IDOK=in.DoModal()CString SQL;SQL.Format(insert into _money.dbo.gongzhi values(%d,%s,%d),atoi(in.m_strNum),in.m_strName,atoi(in.m_strMoney);pCom-CommandText=(_bstr_t)SQL;pCom-Execute(NULL,NULL,adCmdUnknown);void CTempDlg:OnButton10() /删除/ TODO: Add your control notification handler code hereCDelete del;if(IDOK=del.DoModal()CString SQL;SQL.Format(delete from _money.dbo.gongzhi where num=%d,del.m_strNum);pCom-CommandText=(_bstr_t)SQL;pCom-Execute(NULL,NULL,adCmdUnknown);void CTempDlg:OnButton7() /修改/ TODO: Add your control notification handler code hereCIn in;if(IDOK=in.DoModal()CString SQL;SQL.Format(update _money.dbo.gongzhi set name=%s,money=%d where num=%d,in.m_strName,atoi(in.m_strMoney),atoi(in.m_strNum);pCom-CommandText=(_bstr_t)SQL;pCom-Execute(NULL,NULL,adCmdUnknown);8.详细设计8.1编码系统的编码分为客户端与服务器端两个部分见附件 文件夹“源代码_计本092班_第6组_机票预定系统”8.2系统实现图8.1主界面图8.2登陆成功图8.3票务界面图8.4后台管理界面9测试与维护用下面列出的测试用例分别对系统各个模块进行测试.测试包括模块接口,各条路经,边界条件,局部数据等测试。9.1白盒测试经过测试,发现了不少问题。首先是在静分析试过程中,不断发现代码拼写错误,例如单词Create错误拼写为Creat等;也发现了一些判断条件的错误反置,例如判断数据库执行结果的数据集为空的条件常常少写了“Not”关键字:应为:if Not(rds.bof and rds.eof) then错误为:if rds.bof and rds.eof then其次就是在动态测试过程中,发现了更多问题。常常是忘了判断数据为空的情况,例如查找的结果为空,因为没有加入判断代码,强行在为空的数据集“rds”进行读取操作,就会导致系统提示出错。最后经过对上述发现的问题的修改并反复进行测试,已经解决了发现的绝大多数错误,已经能够确保系统在常规环境下运行的正确性。9.2单元测试(1)使用黑盒法测试各个模块功能使用用例如下列表格表9-1测试表单完整性1234姓名姚熊谭彬彬邓成红汤素一性别女男女身份证号码43030319890506026出发城市成都到达城市乌鲁木齐出发日期2011-12-12011-12-28手机号试身份证号码的合法性1234姓名姚熊谭彬彬邓成红汤素一性别男女男女身份证号码53270119861228035453270119861228035X12345653270861228241出发城市北京郑州成都株洲到达城市昆明长沙乌鲁木齐北京出发日期2011-12-122011-12-12011-12-32011-12-28手机号码13466560669136456789971895647896513667390506表9-2测试目的地的合法性1234姓名姚熊谭彬彬邓成红汤素一性别女男女身份证号码4303031989050602653270119861228035X53270861228241324643030319890506026出发城市北京郑州成都株洲到达城市北京长沙乌鲁木齐株洲出发日期2011-12-122011-12-12011-12-32011-12-28手机号码13466560669136456789971895647896513667390506表9-3测试出发日期的合法性1234姓名XXX(自行填写)XXXXXXX性别女男女身份证号码1234553270119861228035X53270861228241324643030319890506038出发城市北京郑州成都株洲到达城市北京长沙乌鲁木齐株洲出发日期2011-12-12201-12-13011-12-320110-12-28手机号码13466560669136456789971895647896513667390506表9-4表9-5测试“添加航班”表单完整性1234出发城市北京郑州株洲到达城市长沙乌鲁木齐广东起飞日期2011-12-12011-12-320110-12-28起飞时间10:0013:00机票价格500机票数目100表9-6测试机票起飞时间的合法性1234出发城市北京郑州长沙株洲到达城市上海长沙乌鲁木齐广东起飞日期2011-12-122011-12-12011-12-320110-12-28起飞时间16:0023:0043:00机票价格¥1234六百块ASD500机票数目12323367100表9-7测试机票价格的合法性1234出发城市北京郑州长沙株洲到达城市上海长沙乌鲁木齐广东起飞日期2011-12-122011-12-12011-12-320110-12-28起飞时间16:0023:2010:0013:00机票价格¥1234六百块ASD500机票数目12323367100表9.8测试机票数目的合法性1234出发城市北京郑州长沙株洲到达城市上海长沙乌鲁木齐广东起飞日期2011-12-122011-12-12011-12-320110-12-28起飞时间16:0023:2010:0013:00机票价格1234480600500机票数目123233-671009.3综合测试自顶向下测试方式订票及其处理自底向上测试方式订票及其处理9.4维护本应用软件主要有三种维护。(1)改正性维护在软件交付使用初期,由于某种原因,软件存在一些错误或缺陷。需要由软件开发公司按合同要求对系统进行改正性维护。如增加检查控制,修改程序错误逻辑等。(2)适应性维护当公司业务机构迅速发展、庞大。公司计算机机型和操作系统都相应升级。需要对原应用系统作出一定的调整,以适应新的硬件和软件环境。如数据库更新,计算机升档等。(3)完善性维护在系统使用几年后,该应用系统可能不适应业务的发展。用户对软件提出了新的需求和性能要求。如增加新的统计报表,完善用户界面,数据库文件需要增加字段等。本系统开发设计力求模块化,可理解,易维护并按软件工程方法对每一阶段尽可能留用详细的文档资料。10.故障分析及解决10.1故障分析程序在运行时主要会出现两种错误:1、由于输入信息,或无法满足要求时产生的错误,称为软错误。2、由于其他问题,如网络传输超时等,产生的问题,称为硬错误。对于软错误,须在定票/领票操作成功判断及输入数据验证模块由数据进行数据分析,判断错误类型,再生成相应的错误提示语句,送到输出模块中。对于硬错误,可在出错的相应模块中输出简单的出错语句,并将程序重置,返回输入阶段。出错信息必须给出相应的出错原因,例如:全部班机座位已满!查无此定位信息!等。10.2解决办法所有的客户机及服务器都必须安装不间断电源以防止停电或电压不稳造成的数据丢失的损失。若真断电时,客户机上将不会有太大的影响,主要是服务器上。在断电后恢复过程可采用 SQL SERVER 的日志文件,对其进行ROLLBACK 处理,对数据进行恢复。在网络传输方面,可考虑建立一条成本较低的后备网络,以保证当主网络断路时数据的通信。在硬件方面要选择较可靠、稳定的服务器机种,保证系统运行时的可靠性。10.3安全保密设计由于数据的传输上需要通过网络传输,为了客户资料进行保密,需要在网络的传输过程中对数据进行加密。这个工作主要是在准备网络包,及解开网络包这两个模块完成,它们各对数据进行加密及解密还原工作。10.4维护设计维护方面主要为对服务器上的数据库数据进行维护。可使用 SQL SERVER 的数据库维护功能机制。例如,定期为数据库进行Backup,维护管理数据库死锁问题和维护数据库内数据的一致性等。11.总结经过近一周的学习与努力,我们组课程设计已经基本完成。在这次实例开发过程中,使们对软件开发的综合设计方面有了很大的提高。此次设计涉及到VC编程、软件工程、数据库原理等一些重要的课程,使我对以前的课程有一个系统温习的过程。随着测试的完成,“机票预定系统”就差不多接近了尾声。不管是问题描述,还是需求分析,可性行分析,到后面的系统设计,测试都做的组员们都很仔细认真。由于本系统从开始的计划到后来的具体实施的这段时间,无论在时间和细致程度来说都是有限的,所以程序真正投入使用还是会有很多不妥善的地方,难免会存在一些的不足的问题,望老师能给予批评和指导。希望能在今后的不断的学习中和努力中,把程序做得更好更加规范,真正达到本软件的作用。通过对现行系统的需求分析,本系统数据流向是合理的,并且基本上能够满足使用的要求,但为了便于方便客户,也为了使系统能够提供更多的辅助决策信息,并能够包含对各种特殊情况的考虑,需要不断改进。本系统存在的主要不足包括:(1)应该增加更多的查询方式,除了通过旅行社订票进行查询外,还可以通过网站,客户机终端自助查询。当然也需要系统设计更加全面的查询功能。例如可以根据旅客提出的终点站名输出下列信息:航班号、飞机号、星期几飞行,最近一天航班的日期和余票额。(2)为了加强成本的控制,还可以考虑对已经打印出来的机票的退票时收取手续费,而未打印的不收费。(3)应考虑乘客可能当出现无票时,不选择进入等待队列,而是选择改用其他交通方式,或选择其他航空公司,因此应该设计成对买不到票的旅客进行询问意向后区别对待。(4)增加一些必要的统计分析功能。例如考虑根据乘客量的统计,了解其变化规律,据以确定航班的增减。通过这次课程设计,我组全面的了解了信息管理系统的开发方法和分析方法,特别是生命周期法的运用。首先,对系统进行了调查与规划;其次,具体的系统分析包括组织结构与业务分析、业务流程分析、数据分析等,其中组织结构与业务分析包括组织结构图、组织/业务分析和业务功能一览表,数据流程分析包括数据汇总分析和数据流程分析。在课程设计过程中,我提高了实际动手能力,培养了严谨、缜密的学习态度。但由于时间仓促,软件还有很多不足之处,在今后的学习中我们将会加强理论与实践的结合,通过不断的摸索来弥补自己在软件制作方面的差距。12.课程设计结束语通过老师的耐心指导,与细心帮助下,我们的课程设计终于画上了一个圆满的句号。在整整两个礼拜里,我们在机房不断试验、不断犯错、再不断思考、不断修改最终基本完成了任务,虽然有些功能还不太完善,但是我们在有限的时间有限的能力下作出了自己最好的一面。通过对机票
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025中国教育装备行业市场现状及技术发展趋势报告
- 2026届广西壮族自治区南宁市二中化学高三上期末复习检测模拟试题含解析
- 2026届江苏省姜堰区蒋垛中学化学高二第一学期期中预测试题含解析
- 专项施工方案与施工方案区别方案
- 高层建筑外墙施工方案
- 具身智能+办公场景人机协作效率优化方案可行性报告
- 栈道平台搭建方案
- 具身智能+儿童自闭症辅助社交互动行为分析方案可行性报告
- 柱体加固工程专项施工方案
- 公共区域安全管理方案可行性报告
- 无人机在野生动物保护中的监控与追踪可行性分析报告
- 2025贵州毕节市中医医院招聘暨人才引进编外聘用专业技术人员78人考试笔试模拟试题及答案解析
- 农交会营销方案
- 2024-2025学年山东省青岛市李沧区青岛版五年级上册期中测试数学试卷(无答案)
- 篮球场施工合同(标准版)
- 2025年中远海运招聘1189人(含社招)笔试参考题库附带答案详解
- 相变传热课件
- QC成果提高悬挑梁施工质量合格率(共52图文详细)
- 禾川x3系列伺服说明书
- 企业培训5W2H分析法(31P PPT)
- 《风电防雷接地》word版
评论
0/150
提交评论