欢迎来到天天文库
浏览记录
ID:56393092
大小:378.00 KB
页数:82页
时间:2020-06-15
《软件工程生命周期各阶段介绍.ppt》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、《软件工程》课件张权范《软件工程》第一章概述第二章软件计划第三章软件需求分析第四章软件总体设计第五章软件详细设计第六章软件编码第七章软件测试第八章软件维护第九章软件项目管理第十章面向对象技术第一章第一课时几个基本概念软件及其组成软件的概念软件的组成软件危机(概念、表现、产生原因与解决办法)软件工程软件发展简史(无程序的阶段、程序阶段、软件阶段与软件工程阶段)软件生命周期(软件生存的七个阶段:软件计划、软件需求分析、软件总体设计、软件详细设计、软件编码、软件测试、软件维护)第二课时第一章第二课时软件开发模型瀑布模型快速原型瀑布模型的定义瀑布模型遵循软件生
2、存周期的划分,明确规定每个阶段的任务,各个阶段的工作顺序展开,恰如奔流不息拾级而下的瀑布。问题定义可行性研究需求分析概要设计详细设计编码测试运行维护开发时期计划时期有错运行时期对应的文档资料与系统目标方案论证报告或计划任务书需求规格说明书系统功能结构图设计规格书程序规格书、源程序测试记录、用户操作手册评价报告、维护记录瀑布模型的特点(1)软件生存周期的顺序性:只有前一阶段工作完成以后,后一阶段的工作才能开始,前一阶段的输出文档,就是后一阶段的输入文档。只有前一阶段有正确的输出,后一阶段才可能有正确的结果。如果在生存周期的某一阶段出现了错误,往往要追溯到
3、在它之前的一些阶段。瀑布模型开发适合于在软件需求比较明确,开发技术比较成熟,工程管理比较严格的场合下使用。(2)尽可能推迟软件的编码:程序设计也称为编码。实践表明,大、中型软件编码开始得越早,完成所需的时间反而越长。瀑布模型在编码之前安排了需求分析、总体设计、详细设计等阶段,从而把逻辑设计和编码清楚地划分开来,尽可能推迟程序编码阶段。(3)保证质量:为了保证质量,瀑布模型软件开发在每个阶段都要完成规定的文档,每个阶段都要对已完成的文档进行复审,以便及早发现隐患,排除故障。快速原型正确的需求定义是系统成功关键。软件开发人员需要反复多次地和用户交流信息,才
4、能全面、准确地了解用户的要求。理想的做法是先根据需求分析的结果开发一个原型系统,请用户试用一段时间,以便能正确地认识到他们的实际需要是什么,这相当于工程上先制作“样品”试用后,作适当改进,然后再批量生产一样,这就是快速原型法。虽然此法要额外花费一些成本,但是可以尽早获得更正确完整的需求,可以减少测试和调试的工作量,提高软件质量。因此快速原型法使用得当,能减少软件的总成本,缩短开发周期,是目前比较流行的实用开发模式。根据建立原型的目的不同,实现原型的途径也有所不同,通常有下述三种类型。(1)渐增型(2)用于验证软件需求的原型(3)用于验证设计方案的原型快
5、速原型(续)——类型之一先选择一个或几个关键功能,建立一个不完全的系统,此时只包含目标系统的一部分功能或对目标系统的功能从某些方面作简化,通过运行这个系统取得经验,加深对软件需求的了解,逐步使系统扩充和完善。如此反复进行,直到软件人员和用户对所设计的软件系统满意为止。渐增型开发的软件系统是逐渐增长和完善的,所以从整体结构上不如瀑布型方法开发的软件那样清晰。但是,由于渐增型开发过程自始至终都有用户参与,因而可以及时发现问题加以修改,可以更好地满足用户需求。快速原型(续)——类型之二系统分析人员在确定了软件需求之后,从中选出某些应验证的功能,用适当的工具快
6、速构造出可运行的原型系统,由用户试用和评价。这类原型往往用后就丢弃,因此构造它们的生产环境不必与目标系统的生产环境一致,通常使用简洁而易于修改的超高级语言对原型进行编码。快速原型(续)——类型之三为了保证软件产品的质量,在总体设计和详细设计过程中,用原型来验证总体结构或某些关键算法。如果设计方案验证完成后就将原型丢弃,则构造原型的工具不必与目标系统的生产环境一致。如果想把原型作为最终产品的一部分,原型和目标系统可使用同样的程序设计语言。快速原形的开发过程原型设计编码系统定义与用户需求分析测试原型产品系统的设计实现完善原型第三课时第一章第三课时喷泉模型软
7、件重用模型喷泉模型演化集成测试编程设计分析喷泉模型原理图基于喷泉模型,Hodge等人提出将软件开发过程划分为概念模型分析、系统设计、对象设计与实现、测试和系统组装集成等五个阶段,它也体现出分析和设计之间的重叠①概念模型分析:这个阶段主要目标是建立系统模型。系统模型中的对象是现实世界中的客观对象的抽象,应结构清晰、易于理解、易于描述其规范。在分析阶段面向问题域,建立起对象模型和过程模型。②系统设计:给出模型对象和过程的规范描述。③对象设计与实现:面向对象设计方法强调软件模块的再用和软件合成,因而在对象设计和实现时,并不要求所有的对象都从头开始设计,而是充
8、分利用以前的设计工作。在软件开发时检索对象库,若是对象库中已有的,则可再用;否则,重新定义新的
此文档下载收益归作者所有