软件生命周期模型课件.ppt
《软件生命周期模型课件.ppt》由会员分享,可在线阅读,更多相关《软件生命周期模型课件.ppt(74页珍藏版)》请在三一办公上搜索。
1、 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,本章内容,2.1 软件工程过程2.2 软件生命周期2.3 软件过程模型2.4 传统软件生命周期模型2.5 新型软件生命周期模型, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,2.1 软件工程过程,软件工程过程是为了获得软件产品,在软件工具的支持下由软件工程师完成的一系列软件工程活动。 软件规格说明(specification):规定软件的功能及其使用限制;软件开发(development):产生满足规格说明的软件;软件确认(validation):通过有效性验证以保证软件能够满足客户的要求;软件演进(evolut
2、ion):为了满足客户的变更要求,软件必须在使用过程中进行不断地改进。, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,2.2 软件生命周期,软件有一个孕育、诞生、成长、成熟、衰亡的生存过程。这个过程即为计算机软件的生命周期(Life Cycle)。软件生命周期的六个基本步骤制定计划需求分析设计程序编码测试运行维护, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,制定计划,确定要开发软件系统的总目标;给出功能、性能、可靠性以及接口等方面的要求;完成该软件任务的可行性研究;估计可利用的资源 (硬件,软件,人力等)、成本、效益、开发进度;制定出完成开发任务的实施计划
3、,连同可行性研究报告,提交管理部门审查;, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,需求分析,对用户提出的要求进行分析并给出详细的定义;编写软件需求说明书或系统功能说明书及初步的系统用户手册;提交管理机构评审;, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,设计,概要设计 把各项需求转换成软件的体系结构。结构中每一组成部分都是意义明确的模块,每个模块都和某些需求相对应;详细设计 对每个模块要完成的工作进行具体的描述,为源程序编写打下基础;编写设计说明书,提交评审。, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,程序编码,把软件设计转换成
4、计算机可以接受的程序代码,即写成以某一种特定程序设计语言表示的“源程序清单”;写出的程序应当是结构良好、清晰易读的,且与设计相一致的;, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,测试,单元测试,查找各模块在功能和结构上存在的问题并加以纠正;组装测试,将已测试过的模块按一定顺序组装起来;按规定的各项需求,逐项进行有效性测试,决定已开发的软件是否合格,能否交付用户使用;, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,运行维护,改正性维护:运行中发现了软件中的错误需要修正;适应性维护:为了适应变化了的软件工作环境,需做适当变更;完善性维护:为了增强软件的功能需
5、做变更。, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,2.3 软件过程模型,模型是实际事物、实际系统的抽象。 软件过程模型也称做软件生命周期模型,是从一个特定角度提出的对软件过程的简化描述,是对软件开发实际过程的抽象,它包括构成软件过程的各种活动、软件工件(artifact)以及参与角色等。软件生命周期模型描述从软件需求定义直至软件经使用后废弃为止,跨越整个生存期的软件开发、运行和维护所实施的全部过程、活动和任务的结构框架,同时描述生命周期不同阶段产生的软件工件,明确活动的执行角色等。, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,2.4 传统软件生命周期
6、模型,2.4.1 瀑布模型2.4.2 V模型和W模型2.4.3 原型方法2.4.4 演化模型2.4.5 增量模型2.4.6 螺旋模型2.4.7 喷泉模型2.4.8 构件组装模型2.4.9 快速应用开发模型, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,2.4.1 瀑布模型,Winston Royce在软件生命周期概念的基础上,于1970年提出了著名的“瀑布模型”(waterfall model)。,维护评价, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,2.4.1 瀑布模型,瀑布模型中的每一个开发活动具有下列特征: 本活动的工作对象来自于上一项活动的输出,这
7、些输出一般是代表本阶段活动结束的里程碑式的文档。 根据本阶段的活动规程执行相应的任务。产生本阶段活动相关产出软件工件,作为下一活动的输入。对本阶段活动执行情况进行评审。, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,2.4.1 瀑布模型,瀑布模型的优缺点, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,2.4.2 V模型和W模型,1980年代后期Paul Rook提出了V模型, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,W模型,Evolutif公司在V模型的基础上提出了W模型, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,
8、2.4.3 原型方法,原型方法的产生瀑布模型、V模型和W模型都将软件生命周期划分成独立串行的几个阶段,前一个阶段没有完成便无法开始下一阶段的工作。然而完整而准确的需求规格说明是很难得到的,因为:在开发早期用户往往对系统只有一个模糊的想法,很难完全准确地表达对系统的全面要求 随着开发工作的推进,用户可能会产生新的要求开发者有可能在设计与实现的过程中遇到一些没有预料到的实际困难,需要以改变需求来解脱困境, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,2.4.3 原型方法,原型指模拟某种最终产品的原始模型;原型方法指在获得一组基本需求后,通过快速分析构造出一个小型的软件系统原型,满
9、足用户的基本要求。用户通过使用原型系统,提出修改意见,从而减少用户与开发人员对系统需求的误解,使需求尽可能准确。原型方法主要用于明确需求,但也可以用于软件开发的其他阶段。, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,2.4.3 原型方法,原型的三种作用类型:(1)探索型:弄清用户对目标系统的要求,确定所期望的特性;探讨多种实现方案的可行性。主要针对需求模糊、用户和开发者对项目开发都缺乏经验的情况。(2)实验型;用于大规模开发和实现之前,考核技术实现方案是否合适、分析和设计的规格说明是否可靠。(3) 进化型:在构造系统的过程中能够适应需求的变化,通过不断地改进原型,逐步将原型
10、进化成最终的系统。它将原型方法的思想扩展到软件开发的全过程,适用于需求经常变动的软件项目。, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,2.4.3 原型方法,由于运用原型的目的和方式不同,在使用原型时可采取以下两种不同的策略:废弃策略 :原型主要用于反馈和评价,据此设计出完整、准确、一致、可靠的最终系统。系统构造完成后,原来的原型系统就被废弃不用。探索型和实验型原型属于这种策略。 追加策略 :原型作为最终系统的核心,然后通过不断地扩充修改,逐步追加新要求,最后发展成为最终系统。它对应于进化型原型。, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,2.4.3
11、原型方法,原型方法的特点:(1)从认知论的角度看,原型方法遵循了人们认识事物的规律,因而更容易为人们所普遍接受,这主要表现在: 人们对任何事物的认知都不可能一蹴而就、尽善尽美; 认识和学习的过程都是循序渐进的; 对于事物的描述,往往都是受环境的启发而不断完善的; 人们批评指责一个已有的事物,要比空洞地描述自己的设想容易得多,改进一些事物要比创造一些事物容易得多。, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,2.4.3 原型方法, 原型方法将模拟的手段引入分析的初期阶段,沟通了人们的思想,缩短了用户和开发人员之间的距离。这主要表现在: 所有问题的讨论都是围绕某一个确定原型而进
12、行的,彼此之间不存在误解和答非所问的可能性,为准确认识问题创造了条件。 有了原型才能启发人们对原来想不起来或不易准确描述的问题有一个比较确切的描述; 能够及早地暴露出系统实现后存在的一些问题,促使人们在系统实现之前就加以解决。, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,2.4.3 原型方法,原型提供了用户与开发人员良好的沟通手段,易于被人们接受,使用原型方法有以下好处:原型方法有助于增进软件人员和用户对系统服务需求的理解 ;原型方法提供了一种有力的学习手段; 使用原型方法,可以容易地确定系统的性能,确认各项主要系统服务的可应用性,确认系统设计的可行性,确认系统作为产品的结
13、果 ;软件原型的最终版本,有的可以原封不动地成为产品,有的略加修改就可以成为最终系统的一个组成部分,这样有利于建成最终系统。, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,2.4.3 原型方法,原型法的适用范围和局限性:对于一个大型系统,如果不经过系统分析得到系统的整体划分,而直接用原型来模拟是很困难的。对于大量运算的、逻辑性较强的程序模块,原型方法很难构造出该模块的原型来供人评价。对于原有应用的业务流程、信息流程混乱的情况,原型构造与使用有一定的困难。对于一个批处理系统,由于大部分活动是内部处理的,因此应用原型方法会有一定的困难。, 2009 BUPT TSEG 北京邮电大
14、学 通信软件工程中心,2.4.3 原型方法,原型方法存在的问题:文档容易被忽略。 建立原型的许多工作会被浪费掉 。项目难以规划和管理。, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,2.4.3 原型方法,1984年Boar提出一系列影响原型方法选择的因素, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,2.4.3 原型方法,原型方法的应用过程, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,2.4.3 原型方法,原型方法可以支持软件生命周期的不同阶段,辅助或代替分析阶段 辅助设计阶段 代替分析与设计阶段 代替分析、设计和实现阶段 代替全部开发阶
15、段, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,2.4.3 原型方法,支持原型构造的软件复用技术所谓复用就是利用一些从早先软件开发过程中收集到的、对建立新系统有用的信息来构建新系统。 从复用的内容角度可以划分其类型为: 数据复用:实现不同数据环境的移植;模块复用:COM/DCOM、JavaBean/EJB、CORBA结构复用:领域内通用业务逻辑;实现MVC(Model-View-Control,模型视图控制器)体系结构的Struts框架、实现数据库访问逻辑复用的Hibernate框架等 设计复用:MDA(Model Driven Architecture,模型驱动体系结构)
16、 规格说明复用:规格说明可使用或者可参照使用。, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,2.4.3 原型方法,软件复用的两种实现机制:合成复用:构件是基础,构件以抽象数据类型为理论基础,将功能实现细节与数据结构封装在构件内部,对外有着精心设计的接口,供外部使用者构造应用时调用。构件本身可以是对某一函数、过程、子程序、数据类型、算法等可复用软件成份的抽象,利用构件来构造软件系统,有较高的生产率和较短的开发周期。 生成复用:利用可复用的模式(Patterns),通过生成程序产生一个新的应用程序或程序段, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,2.4.
17、4 演化模型,使用瀑布模型人们认识到,由于需求很难调研充分,所以很难一次性开发成功。演化模型提倡两次开发:第一次是试验开发,得到试验性的原型产品,其目标只是在于探索可行性,弄清软件需求;第二次在此基础上获得较为满意的软件产品。, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,2.4.4 演化模型,演化模型分类:探索式演化模型抛弃式演化模型演化模型的特点:优点:明确用户需求、提高系统质量、降低开发风险;缺点:难于管理、结构较差、技术不成熟;演化模型适用范围:需求不清楚;小型或中小型系统;开发周期短, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,2.4.5 增量模
18、型,Mills等人于1980年提出 ,指首先对系统最核心或最清晰的需求进行分析、设计、实现、测试并集成到系统中。再按优先级逐步对后续的需求进行上述工作,逐步建设成一个完整系统的开发方法。, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,2.4.5 增量模型,使用增量模型开发字处理软件时,可以按照以下优先级进行增量开发:第一个增量实现基本的文件管理、编辑和文档生成功能;第二个增量实现更加完善的编辑和文档生成功能;第三个增量实现拼写和文法检查功能;第四个增量完成高级的页面布局功能。, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,2.4.5 增量模型,增量模型的优点
19、:有利于增加客户对系统的信心;降低系统失败风险;提高系统可靠性;提高了系统的稳定性和可维护性;增量模型的缺点:增量粒度难以选择;确定所有的基本业务服务比较困难 。, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,2.4.6 螺旋模型,Boehm于1988年提出,主要针对大型软件项目的开发。大型软件项目的特点:(1)需求功能复杂,无法一开始就明确;开发周期长,中途需求经常变化;(2)往往存在诸多风险因素,在不同程度上损害软件开发过程和软件产品的质量,所以必须对风险进行管理。螺旋模型最大特点就是引入了明确的风险管理。, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,
20、2.4.6 螺旋模型,四个象限制定计划 风险分析实施工程客户评价, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,2.4.6 螺旋模型,制定计划:确定软件项目目标;明确对软件开发过程和软件产品的约束;制定详细的项目管理计划;根据当前的需求和风险因素,制定实施方案,并进行可行性分析,选定一个实施方案,并对其进行规划。 风险分析:明确每一个项目风险,估计风险发生的可能性、频率、损害程度,并制定风险管理措施规避这些风险。实施工程:针对每一个开发阶段的任务要求执行本开发阶段的活动。客户评估:客户使用原型,反馈修改意见;根据客户的反馈,对产品及其开发过程进行评审,决定是否进入螺旋线的下一
21、个回路。, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,2.4.7 喷泉模型,喷泉模型也称迭代模型,认为软件开发过程的各个阶段是相互重叠和多次反复的,就象喷泉一样,水喷上去又可以落下来,既可以落在中间,又可以落到底部。各个开发阶段没有特定的次序要求,完全可以并行进行,可以在某个开发阶段中随时补充其他任何开发阶段中遗漏的需求。优点:提高开发效率缩短开发周期缺点:难于管理, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,2.4.8 构件组装模型,构件组装模型利用模块化思想将整个系统模块化,并在一定构件模型的支持下复用构件库中的一个或多个软件构件,通过组装高效率、高
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 生命周期 模型 课件
链接地址:https://www.31ppt.com/p-1517260.html