资源描述
本科实验报告 课程名称: 软件工程 实验项目: 传统软件工程的需求分析建模 实验地点: 专业班级:软件工程学号:2 学生姓名: 指导教师: 2015年 4 月 日 太原理工大学学生实验报告学院名称专业班级学号1实验成绩学生姓名同组人员无实验日期 课程名称软件工程实验题目传统软件工程的需求分析建模 一 实验目的与任务1. 概述 项目名称:航空公司机票预定系统。 项目用户:航空公司。 开发单位:13级30班)小组2. 项目目标 在1个月内建立一个高效率、无差错的航空公司机票预定系统。3. 存在的主要问题 人工不易管理,手续烦琐。4. 建立新系统 (1)经济可行性 成本效益分析。 成本估算:打印机1台(2000元)+开发费(3500元)=5500元,可承担。 效益估算:该系统有很好的社会效益,提高了航空公司售票效率,方便了旅客,售票方便化,科学化。 (2)技术可行性。 经过调查分析,得到目前航空公司机票预定系统流程图如下: (3)操作可行性。 比较图一图二可以看出,与人工系统相比,计算机保留了原系统的主要工作流程,可以看出计算机系统是人工系统的优化,操作也不复杂,工作人员在短时间经过培训就可熟练掌握。5. 结论 由于经济、技术、操作三方面的可行性分析都通过,因此由我校软件技术系开发航空公司机票预定系统是可行的。1、 概述 项目名称:航空机票预订系统 项目用户:航空机票销售部 开发人员:13级30班()小组1、 项目目标在一个月内建立一个高效率、稳定的系统,在计算机网络,数据库和先进的开发平台上,利用现有的软件,配置一定的硬件,开发一个具有开放体系结构的、易扩充的、易维护的、具有良好人机交互界面的机票预定系统,能够实现航空公司的机票销售的自动化的计算机系统,为旅客提供实时,方便,快捷的机票销售信息,并提高航空公司的工作效率,服务质量,并为其增加经济效益,加快航空公司的信息化发展步伐。2、 主要功能(1) 为游客提供机票预定服务,方便旅游局的售票工作,提高旅游局的服务质量和服务效率(2) 机场提供的信息必须及时的反映在旅游局的工作平台上。售票系统的定单必须无差错的存储在机场的主服务器上。对服务器上的数据必须进行及时正确的刷新。2、 数据描述1、 数据流图1数据录入和处理的准确性和实时性数据的输入是否准确是数据处理的前提,错误的输入会导致系统输出的不正确和不可用,从而使系统的工作失去意义。数据的输入来源是手工输入。手工输入要通过系统界面上的安排系统具有容错性,并且对操作人员要进行系统的培训。在系统中,数据的输入往往是大量的,因此系统要有一定的处理能力,以保证迅速的处理数据。2 数据的一致性与完整性由于系统的数据是共享的,所以如何保证这些数据的一致性,是系统必须解决的问题。要解决这一问题,要有一定的人员维护数据的一致性,在数据录入处控制数据的去向,并且要求对数据库的数据完整性进行严格的约束。对于输入的数据,要为其定义完整性规则,如果不能符合完整性约束,系统应该拒绝该数据。系统数据流图顶层数据流图只是粗略的给出整个系统的数据流情况。为了更好的把“航空机票预定系统”中各个模块的具体数据流处理细节表示出来,可以在顶层图的基础上自顶向下继续分解,得到1层和2层数据流图。 2、 数据字典 旅客信息:姓名:xxx性别:男描述:旅客订票时所填的资料(省份证号、所需机票的基本信息、乘机时间)定义:订票申请表单(旅客姓名、旅客性别、起飞日期、飞行目的地、座位类型 )位置:位置:在客户端由旅客填写 航班信息:航班名称:航班类型:描述:所有从本地起飞的航班信息(航班号、起飞时间、到达的目的地、空出的座位数、票价)定义:航班信息(航班号、起飞日期、飞行目的地、空出的座位数、票价)位置:从服务器端查询后,发送到客户端账单信息:账单名称:账单号:描述:已定票的旅客信息资料(帐单号、旅客姓名、旅客性别、旅客身份证号)定义:账单基本信息(订票旅客的姓名、性别、省份证号、航班号)位置:在服务器端产生,发送回客户端机票信息:机票编号:航班号:描述:所有机票信息(已出售的机票、剩余机票、航班号、起飞时间)定义:机票基本信息(旅客姓名、旅客性别、身份证号码、航班号、起飞时间、飞行目的地、座位号)位置:发送到客户端3、 系统接口说明本系统运行在计算机上的Windows操作系统(Windows 9X、Windows NT、Windows 2000、Windows XP)环境下。后台采用SQL2000关系型数据库存放表,前端采用C#管理此数据库并实现应用。最终得到相应的帐单。4、 内部接口说明 本系统内部加工之间并不是全自动化,有些部分需要人工参与。打印出票据后,需要人员进行核对和收费,核对过后才将数据传之主数据库进型存储。从而才使预定的票具有有效性。3、 功能需求 1、功能划分1客户端子系统:在客户端系统的功能实现上,可以分为以下几个部分:l 旅客信息的输入和统计:系统要求做到既能够从其它子系统中共享一部分信息,又有方便的操作界面手工输入旅客信息。这部分要求对输入的数据进行简单的统计,供航空公司进行查询和宏观调控。l 旅客信息的存储:将旅客的信息存储到系统中,以备以后的取票确认以及查询。l 机票信息的传递及接收:将旅客所须的机票信息经客户端由网络传到航空公司的服务器上,并 且接受航空公司返回的航班信息,然后存储起来。l 取票通知及帐单的生成和打印:把已存储的从航空公司返回的航班机票信息打印出来,并且生成帐单打印出来给旅客。l 印出机票给已经订票的旅客:根据旅客的取票通知及帐单,经过确认无误后,接受旅客的付款后把机票印出来交给旅客。2服务器端的功能要求:在客户端系统的功能实现上,可以分为以下几个部分:l 接收由旅行社客户端发回的所需机票信息:通过网络接收机票信息并存入到服务器的数据库中。l 生成航班信息:根据所需机票信息(时间,地点),在数据库中查询并得到正确的航班的信息(价格,时间),分配所需的机票数并在数据库中做出已售出的标记。l 传递航班信息到客户端:把得到的航班信息通过网络传递到客户端。l 接收旅行社的反馈信息:对旅行社的反馈信息进行分析,把已经售出的机票进行统计,对被旅客所退掉的机票要进行数据库的恢复。l 印出机票给已经订票的旅客:根据旅客的取票通知及帐单,经过确认无误后,接受旅客的付款后把机票印出来交给旅客。2、 功能描述 系统流程图:系统逻辑图: 四.性能需求为了保证系统能够长期、安全、稳定、可靠、高效的运行,机票预订系统应该满足以下的性能需求:1系统处理的准确性和及时性系统处理的准确性和及时性是系统的必要性能。在系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足企业对信息处理的需求。在系统开发过程中,必须采用一定的方法保证系统的准确性。2系统的开放性和系统的可扩充性机票预订系统在开发过程中,应该充分考虑以后的可扩充性。例如企业中管理模块的加入(人事管理、工资管理、日常事务管理等)也会不断的更新和完善。所有这些,都要求系统提供足够的手段进行功能的调整。而要实现这一点,应通过系统的开放性来完成,即系统应是一个开放系统,只要符合一定的规范,可以简单的加入和减少系统的模块,配置系统的硬件。通过软件的修补、替换完成系统的升级和更新换代。3系统的易用性和易维护性机票预订系统是直接面对使用人员的,而使用人员往往对计算机并不时非常熟悉。这就要求系统能够提供良好的用户接口,易用的人机交互界面。要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面;针对用户可能出现的使用问题,要提供足够的在线帮助,缩短用户对系统熟悉的过程。4系统的标准性系统在设计开发使用过程中都要涉及到很多计算机硬件、软件。所有这些都要符合主流国际、国家和行业标准。例如在开发中使用的操作系统、网络系统、开发工具都必须符合通用标准。如规范的数据库操纵界面、作为业界标准的TCP/IP网络协议及ISO9002标准所要求的质量规范等;同时,在自主开发本系统时,要进行良好的设计工作,制订行之有效的软件工程规范,保证代码的易读性、可操作性和可移植性。5系统的先进性目前计算机系统的技术发展相当快,做为机票预订系统工程,应该保证系统在一段时间内是先进的,在系统的生命周期尽量做到系统的先进,充分完成企业信息处理的要求而不至于落后。这一方面通过系统的开放性和可扩充性,不断改善系统的功能完成。另一方面,在系统设计和开发的过程中,应在考虑成本的基础上尽量采用当前主流并先进且有良好发展前途的产品。五 思考题1、 如何理解需求分析在软件开发中的重要性?答:需求分析为软件的开发起到了决策的作用,提供了开发的方向,并指明了开发的策略,在软件开发及维护中均起到了举足轻重的作用。大家一定要足够重视需求分析,可以说在一个大型软件系统的开发中,它的作用要远远大于程序设计。永远别忘了:需求分析和程序设计不尽相同,合理、可行是才是重要的。跳出程序设计的圈子,站在系统的角度上来看问题,结论会截然不同。 2、 分析业务流程图,数据流图和程序流程图之间的差别和各自的特点。答:a. 业务流程图是一种描述系统内各单位、人员之间业务关系、作业顺序和管理信息流向的图表,利用它可以帮助分析人员找出业务流程中的不合流理向,它是物理模型。 b. 数据流程图是一种能全面地描述信息系统逻辑模型的主要工具,它可以用少数几种符号综合地反映出信息在系统中的流动、处理和存储情况,数据流程图是逻辑模型。描述的是处理和数据,不重点突出流程的先后,以处理和数据流、数据存储为核心。 c. 程序流程图:描述程序中控制流的情况,即程序中处理的执行顺序和执行序列所依赖的条件。 3、怎样完成系统需要的、合乎规范的数据流图和数据词典?答: 对于在数据流图中每一个被命名的图形元素均加以定义:其内容包括图形元素的名字,图形元素的别名或编号,图形元素类别(如加工、数据流、数据文件、数据元素、数据源点或数据汇点等)、描述、定义、位置等。本科实验报告 课程名称: 软件工程 实验项目:传统软件工程的结构设计 实验地点: 专业班级:软件工程学号:2 学生姓名: 指导教师: 2015年 4 月 11 日 概要设计说明书一、 概述项目名称:XX航空公司机票预定系统项目用户:XX航空公司开发人员:13级30班)小组1、项目目标在一个月内建立一个高效率、无差错的航空公司机票预定系统。2、系统设计目标 从用户的观点看,要求系统能达到的功能目标:系统主要功能,共5项子功能。预订票以及发票:(1)、审查旅客的信息有效性; (2)、查询与旅客对应的航班信息; (3)、打印并发放旅客取票通知和账单; (4)、校对旅客信息、取票通知、账单(起飞前三日); (5)、打印机票; 设计人员从技术观点来看,要求系统能达到以下性能目标:(1) 数据库中数据一致性和完整性强,数据安全性好;(2) 应用程序功能完备,易使用;(3) 方便用户使用,具有较高的用户友好性;(4) 具有较高的可靠性,将系统发生故障的概率控制在2.5%以下,并具有快速回复能力;(5) 具有较高的运行效率,应比人工操作提高效率10倍以上;(6) 具有较强的可维护性。 3、设计策略(7) 航空公司为方便旅客,需开发一个机票预定系统。为便于旅客由旅行社代替航空公司负责为旅客定票,旅行社把预定机票的旅客信息,包括姓名、性别、工作单位、身份证号码、旅行时间、旅行目的地,输入机票预定系统的客户端程序,系统经过查询航空公司内的航班数据服务器后,为旅客安排航班,印出取票通知。旅客在飞机起飞前一天凭取票通知和账单交款后取票,系统校对无误后即印出机票给旅客。要求系统能有效、快速、安全、可靠和无误的完成上述操作。并要求客户机的界面要简单明了,易于操作,服务器程序利于维护。二、总体设计21处理流程下面将使用(结构化设计)面向数据流的方法对机票预定系统的处理流程进行分析。系统可分为两大部分:一、客户机上的程序,二、服务器上的程序。以下将分别对系统的这两大部分进行流程分析:211 客户机程序流程21534678旅客资料定票/取票帐单号经网络送服务器程序打印帐单输出确定预定信息输出错误原因打印机票输出确定预定信息服务器经网络送来回答911=11816151213141719201014212 服务器程序流程2.2总体结构和模块外部设计下面以结构图来描述机票预定系统的软件总体结构。框内注明了模块的名字;方框之间的直线表示模块的调用关系。221 系统功能模块划分部分机票预定系统(服务器部分)接收数据数据处理、查询发送数据判断类型解开数据包接收客户机数据准备数据包发送数据到客户机准备SQL数据库操作判断查询准备返回数据判断原因准备返回数据22. 2 客户机部分22. 3 服务器程序部分3、功能分配3.3.1各项模块的功能可参照2.2和2.3 中的说明。客户机程序主要有三大块:接收数据、网络通信及输出部分。服务器程序主要也是由三大功能:接收网络数据、数据库操作及发送网络数据部分。服务器程序需与已建立的SQL SERVER 数据库互连,其接口将于下面部分阐述。3.3.2模块描述客户端子系统:在客户端系统的功能实现上,可以分为以下几个部分:l 旅客信息的输入和统计:系统要求做到既能够从其它子系统中共享一部分信息,又有方便的操作界面手工输入旅客信息。这部分要求对输入的数据进行简单的统计,供航空公司进行查询和宏观调控。l 旅客信息的存储:将旅客的信息存储到系统中,以备以后的取票确认以及查询。l 机票信息的传递及接收:将旅客所须的机票信息经客户端由网络传到航空公司的服务器上,并 且接受航空公司返回的航班信息,然后存储起来。l 取票通知及帐单的生成和打印:把已存储的从航空公司返回的航班机票信息打印出来,并且生成帐单打印出来给旅客。l 印出机票给已经订票的旅客:根据旅客的取票通知及帐单,经过确认无误后,接受旅客的付款后把机票印出来交给旅客。2服务器端的功能要求:在客户端系统的功能实现上,可以分为以下几个部分:l 接收由旅行社客户端发回的所需机票信息:通过网络接收机票信息并存入到服务器的数据库中。l 生成航班信息:根据所需机票信息(时间,地点),在数据库中查询并得到正确的航班的信息(价格,时间),分配所需的机票数并在数据库中做出已售出的标记。l 传递航班信息到客户端:把得到的航班信息通过网络传递到客户端。l 接收旅行社的反馈信息:对旅行社的反馈信息进行分析,把已经售出的机票进行统计,对被旅客所退掉的机票要进行数据库的恢复。印出机票给已经订票的旅客:根据旅客的取票通知及帐单,经过确认无误后,接受旅客的付款后把机票印出来交给旅客。三 详细设计说明 总体设计系统服务器详细设计 机票预定系统(服务器部分)接收数据数据处理、查询发送数据判断类型解开数据包接收客户机数据准备数据包发送数据到客户机准备SQL数据库操作判断查询准备返回数据判断原因准备返回数据客户端详细设计准备输出判断错误类型准备输出准备错误信息打印帐单显示确认显示错误打印机票确认显示帐单机票读入旅客资料读入帐单号确定(定票/领票)旅客资料定票/领票帐单号机票预定系统(客户机程序)接收输入数据联络服务器输出数据准备定票发送数据准备确认发送数检验输入准备网络数据包解开网络数据包发送数据接收数据定票成功?领票成功?确认操作类型四、软件设计规格说明软件设计规格说明是软件设计的最终成果,它用于两个方面,一方面作为编码人员书写源程序的依据,另一方面作为测试阶段及维护阶段的一个指南。软件设计规格说明的编写可以分为两个阶段。在概要设计阶段应集中于软件结果的描述,在详细设计阶段应集中于每个软件元素细节的描述。在软件设计规格说明中应该包括的内容如下。(1) 作用范围:系统的目标和作为系统元素的软件的作用;硬件、软件和人员的接口;主要的软件功能;外部定义的数据库;主要的设计约束与限制。(2) 参考文档:现有的软件文档;系统的文档资料;外购产品文档,包括硬件和软件;技术参考资料。(3) 设计说明:数据说明;数据流的复审;数据结构的复审;导出的软件结构;结构的内部接口。(4) 模块:处理过程描述;接口描述;设计语言描述;所以模块;数据的组织;注解。(5) 文件结构和全局数据:外部文件结构;逻辑结构;逻辑记录描述;存取方法;全局数据;文件和数据的相互对照。(6) 需求与模块的相互对照表。(7) 测试的准备:测试大纲;整体策略;专门的考虑。(8) 装备:特殊的程序覆盖规定;数据转储。(9) 专门的注释。(10) 附录。五 思考题1 系统设计和需求分析的关系是什么?两者必须先后关联吗?答:需求分析是一个项目的开端,也是项目建设的基石。是对用户需求的定义,对软件系统的描述。在以往建设失败的项目中,80是由于需求分析的不明确而造成的。因此一个项目成功的关键因素之一,就是对需求分析的把握程度。而项目的整体风险往往表现在需求分析不明确、业务流程不合理,用户不习惯或不愿意去用承建方的软件。作为第三方的监理公司,必须提醒承建方、客户方重视需求分析的重要性。 v 系统分析的任务:将用户的业务逻辑转化为程序逻辑,计算时间和成本。根据开发人员的理论知识和实际的经验,人们会采用各种满足实际情况的系统分析、开发方法、步骤以及文档等等。2 怎样描绘系统的体系结构?答:系统体系结构是由许多结构要素及各种视图(或观点) 共11页第6页 (View)所组成的,而各种视图主要是基于各组成要素之间的联系与互操作而形成的。所以,系统体系结构是一个综合各种观点的模型,用来完整描述整个系统。体系结构框架(Architecture Framework)用于规定具体体系结构的定义及其文档所表达的意义。体系结构框架不需要包罗万象,通常只是针对特定的领域,可能更注重战略方面的问题,并为体系结构的发展演变提供指导。,“体系结构”指系统的组成结构及其相互关系,是指导系统设计和发展的原则。“体系结构框架”是用于规范体系结构设计的指南。3 怎样绘制符合规范的流程图。答:了解流程图的各个符号以及流程图的形式,根据需要来选择框,线等绘制出系统所要求的流程图。4 怎样组织对设计阶段工作的评审?答:最高管理者应把管理评审的重点放在影响产品质量的关键问题;管理评审是标准对组织 最高管理者提出的重要活动之一。本科实验报告 课程名称: 软件工程 实验项目: 测试 实验地点: 专业班级:软件工学号: 指导教师: 2015年 4 月 日 一,目的与任务 1.目的:在实验四基础上选择一个模块进行编码,完成相关的测试。 1、了解软件测试方法分类,其中包括 1)白盒测试2)黑盒测试 3)静态测试 4)动态测试 2、了解测试类型 1)单元测试 2)集成测试3)确认测试4)黑盒测试 5)白盒测试6)功能测试 7) 测试 8) 测试 2.任务:正确运用软件测试技术和方法,完成系统的单元测试、综合测试、确认测试、系统测试的方法,掌握测试用例的设计方法,并给出测试报告。 二、内容、要求 1.测试用例: 黑盒法测试售票点查看航班,让用户确认选定的航班;安排预定的航班2. 测试环境:SQLserver 2008; 数据库表结构:测试分析: 三 .测试结果:测试成功。四思考题: 1怎样看待测试的重要性。答:试想一下如果一个系统开发完毕后不能正常运行可能造成的后果,损失钱财,损失时间,损失客户,等等2怎样选择测试的技术和方案。答:一个测试方法,就是设定输入数据,运行被测试函数,然后判断实际疏忽是否符合预期输入数据时测试用例的核心,输入数据的定义是:被测试函数所读取的外部数据及这些数据的初始值。3 比较逻辑测试和基本路径测试的不同和联系。答:逻辑测试指的是编程,也就是逻辑循环语言。是需要一定的逻辑性基础的。 基本路径测试法是在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例的方法。4 怎样组织对测试阶段工作的评审?答:最高管理者应把管理评审的重点放在影响产品质量的关键问题;管理评审是标准对组织 最高管理者提出的重要活动之一。 课程名称: 软件工程 实验项目:面向对象的分析与设计 实验地点: 专业班级:软件工程1学号:2 学生姓名: 指导教师: 2015年 4 月 11 日 一 目的与任务1.目的:掌握面向对象的分析、设计方法,建立对象模型、功能模型和动态模型,并掌握UML中常用的模型符号的使用方法。2.任务:用一个简单项目(可以考虑仍然选择前面面向过程软件工程所选定的项目),通过分析,建立系统用例图,抽取出类,建立顺序图及类的状态图等。二 实验内容用例模型图说明: 机票预订系统主要使用的对象是旅行社管理员。管理员根据顾客填写的目的地和时间信息,将其输入系统,系统根据相关信息进行处理,则系统其中的一个功能即用例就是接收顾客信息。顾客需要用取票单去航空公司取票,系统由管理员输入的信息来识别,则系统的另一个功能即用例就是预定管理员输入信息符合的票。类图说明: 为此系统定义了4个类,分别是顾客类,管理员类,航空公司类,机票类。各个类对应的属性和操作方法在图中已表示出,目前应该还是有很多不完善的地方,在后期再加以修改。对象图说明: 对象图是根据设置的类图而设置的。一个对象就是类的一个具体实例,本例中设置了一个custom的取票操作,详细信息在图中已经设置,根据顾客的相关信息和操作,系统会调用相应的类的对象来处理,在本例中不一定会全部都涉及。顺序图说明: 顺序图用来描述对象之间动态的交互关系,着重体现对象间消息传递的时间顺序。由于在顾客,旅行社,航空公司之间也有先后顺序,所以在顺序图中会有两个生命周期,分别是订票和取票操作。旅行社根据顾客填写的信息,就操作系统的订票功能。系统在对管理进行处理时,会先记录顾客的相关信息,最后再打印取票单给顾客。系统对取票进行处理时,会先收取款,最后会把票给顾客。1-5、状态图状态图说明: 在订票系统中,主要会有两个对象的状态:顾客和管理员。顾客的状态最开始是填写信息,再管理员将信息输入系统,此时系统查询合适的航班,顾客收到系统打印出的相应单据,最后顾客将取票单和款返回给系统得到票。2.动态模型 动态模型说明: 动态模型主要是描述系统的动态行为和控制结构。动态行为包括系统中对象生存期内可能的状态以及事件发生时状态的迁移,还包括对象之问动态合作关系,显示对象之间的交互过程以及交互顺序,同时描述了为满足用例要求所进行的活动以及活动问的约束关系。动态模型主要包括的状态图、顺序图和活动图已经在1-4、1-5、1-6中画出。 建立动态模型的第一步是编写交互行为的脚本;第二步从脚本中提取出事件,确定后触发每个事件的动作对象及接收事件的目标对象;第三步排列事件发生的次序,确定每个对象可能有的状态及状态间的转换关系,并用状态图描绘它们。最后,比较各个对象的状态图,检查它们之间的一致性,确保事件之间的匹配。 3、功能模型 功能模型表明了系统中数据之间的依赖关系,以及有关的数据处理功能,它由一组数据流图组成,此功能模型的分析与设计依照对象模型和动态模型而来。 DFD图(数据流图)描绘信息流和数据从输入移动到输出的过程中所经受的变换。数据流中没有任何具体的物理部件,它知识描绘数据在软件中流动和被处理的逻辑过程,流程如图。4对象模型 对象模型说明: 对象模型描述了现实世界中的类与对象以及它们之间的关系,表示了目标系统动静态数据结构。首先确定对象类和关联,对于大型复杂问题还要进一步划分出若干个主题;然后给类和关联增添属性,以进一步描述它们;接下来利用适当的继承关系进一步合并和组织类。而对类中操作的最后确定,则需要等到建立了动态模型和功能模型之后,以为这两个子模型更准确地描述了对类中提供的服务的需求。三 思考题1 面向对象的系统分析和设计之间的关系是什么?两者必须先后关联吗?答:要有良好的系统分析才能做出合理的设计设计不好的话 开发及维护都很麻烦 成本也会增加,两者不必先后关联。2 要用面向对象的方法描绘系统的体系结构,该如何进行?答:系统的体系结构可以用结构图描述!
展开阅读全文