1.3软件生命周期
各阶段的任务
瀑布模型
快速原型模型
螺旋模型
喷泉模型
1.4.1瀑布模型
1、传统瀑布模型1970年,由W.Royce提出
2、实际的瀑布模型
增加了一个评审活动,评审每个阶段完成的活动,若得到确认,则进行下一阶段的活动;否则返回前一阶段,甚至更前阶段返工;
3、瀑布模型的特点
- 阶段间具有顺序性和依赖性
- 推迟实现的观点
- 质量保证的观点
4、瀑布模型的优点 适用于需求非常明确的情况
优点:
1)可强迫开发人员采用规范的开发方法;
2)严格规定每个阶段必须提交的文档;
3)要求每个阶段的提交工作产品都必须通过QA的验证。
缺点:
缺乏灵活性,变动成本高
1.4.2快速原型模型
快速原型模型是软件开发过程中,软件的一个早期可运行的版本,它反映了最终系统的部分重要特性。
原型化方法的基本思想是花费少量代价建立一个可运行的系统,使用户及早获得学习的机会,强调的是软件开发人员与用户的不断交互,通过原型的演进不断适应用户任务改变的需求。将维护和修改阶段的工作尽早进行,使用户验收提前,从而使软件产品更加适用。
软件原型的分类
1、废弃型
也称为快速建立需求规格原型RSP法(Rapid Specific Prototyping),先构造一个功能简单而且质量要求不高的模型系统,针对这个模型系统反复进行分析修改,让用户学习。待需求说明书一旦确定,原型将被废弃,后阶段的工作仍按照瀑布模型开发。
2、追加型
也称快速建立渐进原型RCP法(Rapid Cyclic Prototyping)法采用循环渐进的开发方式,对系统模型作连续精化,即先构造一个功能简单而且质量要求不高的模型系统,将系统需要具备的性质逐步添加上去,通过不断地扩充修改,逐步追加新的要求,直至所有性质全部满足,此时的原型模型也就是最终的产品。
快速原型模型的基本思想
快速分析,快速实现,及时反馈,反复评价和改进,适应变化,最终实现系统
适用对象:主要适用于项目需求不太明确,项目组成员(需求分析人员,设计人员,程序员和用户)不能很好交流或者通信有困难的。
1.4.3增量模型
演化提交方式,在瀑布模型基础上所有阶段都进行增量开发,增量提交,及早发现问题,修改方便.
第1个模型是核心、具有迭代性质,每个增量都提交一个可操作的产品、并行开发、规避技术风险
增量模型与瀑布模型的区别
瀑布模型属于整体开发模型,在开始下一个阶段工作前,必须完成前一阶段的所有细节。
增量模型属于菲整体开发模型,推迟某些阶段的所有阶段中的细节,较早产生工作软件
1.4.4螺旋模型
对于大型软件,只开发一个原型往往达不到要求,螺旋模型将瀑布模型和增量模型结合起来,并加入了风险分析。
沿着螺线旋转,在四个象限上分别表达了四个方面的活动。
制定计划:确定软件目标,选定实施方案,弄清楚限制条件
风险分析:分析所选方案、考虑如何让识别和消除风险
实施工程:实施软件开发
客户评估:评价开发工作、提出修正建议
特点:在原型模型基础上,引入多次原型反复并增加风险评估
- 螺旋模型是一种演进式软件过程模型.
- 采用循环方式逐步加深系统定义和实现深度,降低风险
- 确定一系列里程碑,确保共同利益者都支持可行的和令人满意的系统解决方案
- 建立在风险驱动上,若没发现大的风险或专家都风险评估不准,肯定发生问题.
-
各种模型的比较
1.4.5喷泉模型
典型面向对象生命周期模型,迭代和无缝的特性
优点:各个阶段没有明显的界限,同步进行开发,多次反复增加或明确目标系统,不是本质性的改动
适合:面向对象的软件开发过程
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!