CMMI生命周期模型选用指南.docx
- 文档编号:25107838
- 上传时间:2023-06-05
- 格式:DOCX
- 页数:10
- 大小:94.59KB
CMMI生命周期模型选用指南.docx
《CMMI生命周期模型选用指南.docx》由会员分享,可在线阅读,更多相关《CMMI生命周期模型选用指南.docx(10页珍藏版)》请在冰豆网上搜索。
CMMI生命周期模型选用指南
编码:
SHZIM-O-OPD-P02
xxxx技术股份有限公司
生命周期模型选用指南
拟制人日期2014年07月03日
审核人日期年月日
批准人日期年月日
更改控制页
序号
版本号
更改时间
更改内容描述
填写人
1
2
1目的
描述适合公司现状、可供项目选择的组织级生命周期模型。
2范围
公司所有软件项目。
3模型介绍
3.1瀑布模型
3.1.1模型说明
图1瀑布模型
对于需求比较明确的项目,可以使用瀑布模型进行项目开发,每个阶段的输入都是依靠上一个阶段的输出,每个阶段内都需要完成与最终产品相关的所有工作。
3.1.2模型分析
优点:
1.可以明确划分项目的各个阶段,便于管理;
2.项目成员只需要在被安排的阶段开展项目工作,不需要全程参与;
3.阶段工作内容清晰,降低了开发难度。
缺点:
1.对项目的启动条件要求较高;
2.若出现需求不明确或设计开发技术瓶颈,将会影响后续阶段的工作启动;
3.最终产品提交给用户确认的时间比较晚,存在一定的风险。
3.1.3模型参照
参见《瀑布模型》。
3.2迭代模型
3.2.1模型说明
图2迭代模型
通常有许多项目不能在需求开发阶段提供准确的需求,对于这样的项目,可以选择迭代开发模型,将能够确定的需求分析确定下来。
之后便可以对这部分确定的需求进行系统设计、编码和测试。
整个项目可以进行多次迭代的过程,一般情况下迭代的起点从需求开发开始,然后进行设计、编码和测试,但是有时候也可能出现从设计或编码阶段安排新的迭代过程。
3.2.2模型分析
优点:
1.项目的启动条件比较灵活、只要用户有基本的立项意向和需求范围就可以开始计划工作;
2.可以在项目早期识别和管理风险;
3.可以较快的展现项目开发的成果,有益于增强客户受信度和满意度。
缺点:
1.迭代过程和范围划分比较复杂,项目的过程管理难度较大;
2.产品的设计开发是迭代过程完成的,容易出现产品构件兼容性问题,如果处理不当会出大量返工的工作。
3.3快速原型模型
3.3.1模型说明
图3快速原型模型
在很多时候,需求分析人员无法通过与用户交谈就能获得明确的、详细的需求。
这种情况可以选择快速原型开发方法,它的主要目的就是获得与验证需求。
首先由开发人员构造原型,然后让用户试验该原型。
一般地,当用户面对一个可操作的软件时,他比较容易说清楚“需要什么”和“不要什么”。
从而有助于分析人员获取更详细的需求,以及验证需求是否正确。
不断迭代上述过程,直至满足用户的所有需求为止。
3.3.2模型分析
优点:
1.可以直观地让用户确定其需求,降低了用户对其提供的需求的不确定性。
缺点:
1.原型开发需要较早投入开发成本,如果原型不能在产品开发过程中进行复用,将会导致项目成本的增加。
3.3.3模型参照
参见《快速原型模型》。
3.4精简模型
3.4.1模型说明
图4精简模型1
图5精简模型2
对于一些规模较小、版本升级、或者是有大量可复用构件的项目,这些项目需求相对比较明确、产品架构比较成熟和稳定,因此可以选择精简生命周期模型。
根据项目的不同情况:
可以将设计阶段和编码阶段精简为一个工程阶段(如图4);也可将需求开发阶段和设计阶段精简为一个阶段、将编码阶段和测试阶段精简为一个阶段(如图5)。
3.4.2模型分析
优点:
1.缩短开发周期、降低各阶段工作的衔接工作;
2.可以一定程度降低项目的成本。
缺点:
1.如果精简方式选择不合理,可能会造成产品质量降低。
3.4.3模型参照
参见《精简瀑布模型-1》和《精简瀑布模型-2》。
3.5V模型
3.5.1模型说明
图6V模型
V模型是在快速应用开发(RAD,RapApplicationDevelopment)模型基础上演变而来,由于将整个开发过程构造成一个V字形而得名。
V模型强调软件开发的协作和速度,将软件实现和验证有机地结合起来,在保证较高的软件质量情况下缩短开发周期。
对于一些规划较小、版本升级、或者是有大量可复用构件的项目,这些项目需求相对比较明确、产品架构比较成熟和稳定,因此亦可以选择V模型。
(如图6)。
3.5.2模型分析
●从水平对应关系看
左边是设计和分析,是软件设计实现的过程,同时伴随着质量保证活动——审核的过程,也就是静态的测试过程;右边是对左边结果的验证,是动态测试的过程,即对设计和分析的结果进行测试,以确认是否满足用户的需求。
如:
·需求分析和功能设计对应验收测试,说明在做需求分析、产品功能设计的同时,测试人员就可以阅读、审查需求分析的结果,从而了解产品的设计特性、用户的真正需求,确定测试目标,可以准备用例(UseCase)并策划测试活动。
·当系统设计人员在做系统设计时,测试人员可以了解系统是如何实现的,基于什么样的平台,这样可以设计系统的测试方案和测试计划,并事先准备系统的测试环境,包括硬件和第三方软件的采购。
因为这些准备工作,实际上是要花去很多时间。
·当设计人员在做在做详细设计时,测试人员可以参与设计,对设计进行评审,找出设计的缺陷,同时设计功能、新特性等各方面的测试用例,完善测试计划,并基于这些测试用例以开发测试脚本。
·在编程的同时,进行单元测试,是一种很有效的办法,可以尽快找出程序中的错误,充分的单元测试可以大幅度提高程序质量、减少成本。
从中可以看出,V模型使我们能清楚地看到质量保证活动和项目同时展开,项目一启动,软件测试的工作也就启动了,避免了瀑布模型所带来的误区——软件测试是在代码完成之后进行。
●从垂直方向看
水平虚线上部表明,其需求分析、定义和验收测试等主要工作是面向用户,要和用户进行充分的沟通和交流,或者是和用户一起完成。
水平虚线下部的大部分工作,相对来说,都是技术工作,在开发组织内部进行,主要是由工程师、技术人员完成。
从垂直方向看,越在下面,白盒测试方法使用越多,到了集成、系统测试,更多是将白盒测试方法和黑盒测试方法结合起来使用,形成灰盒测试方法。
而在验收测试过程中,由于用户一般要参与,使用黑盒测试方法。
3.5.3模型参照
参见《V模型》。
4模型选择
4.1模型选择原则
●能够满足公司“开发管理方针”的要求;
●不会降低项目开发过程和工作产品的质量;
●不会失去对工作进展的(跟踪)可视性;
●不会失去对软件工作产品的配置管理和控制,也不会额外增加无益的工作;
●不会降低工程师的开发效率;
●在维持现有人力资源的情况下,能够按计划如期完成工作;
●项目资金可以控制在目标成本范围内。
4.2项目分类
类别
领域和方法
项目人员
复用度
需要应对的主要风险
项目管理的重点
基础研究型
基础算法和技术的研发。
总工或算法组
<20%
技术实现的难度和技术风险造成了研究的进度的风险和实现的质量风险。
积极研究国内外先进的相关技术和研究成果,并将其快速的转换成为可实现的关键技术。
产品研发型
根据公司的产品定义和规划进行的基础产品和架构开发、升级的项目,用于适用某领域内大多数项目运营的功能要求。
总工或产品开发核心组
<40%
产品需求概念早期不完备,考虑的相关技术和实现的因素较少,需要采用原型的方式进行开发完备需求,以及采用结构化决策的方式综合考虑各种影响因素,造成了后续随着开发过程进展需求概念和实现方式变更较多。
实现客户需求,维护客户满意度。
进行前瞻性技术研究,完成科研成果向应用的转换。
锻炼队伍,发现新的项目目标和机会。
按期按质实现项目目标,积累客户需求,提供确定类型客户需求解决方案。
客户定制型
在公司产品基础上根据客户的特殊需求进行局部开发的项目。
项目组
>70%
主要是需求开发质量不足的风险,造成的后期需求变更较多。
及早沟通和确定项目需求,精确复用,锻炼队伍、强化管理,协调资源,解决风险问题,按期,按质量完成项目要求。
其他
和公司主营业务领域无直接关系的项目。
临时项目组
不确定
不确定。
锻炼队伍,维护客户关系,发现新的项目目标和机会。
4.3模型选择指南
公司的项目生命周期选择参见下表:
项目类型
需求明确
生命周期模型
注释
产品研发型
明确(80%及以上)
瀑布模型或者精简瀑布模型-1
参见《瀑布模型》和《精简瀑布模型-1》
不明确(80%以下)
快速原型+精简瀑布模型-2
参见《快速原型模型》和《精简瀑布模型-2》
客户定制型
明确(80%及以上)
V模型
精简瀑布模型-1
参见《V模型》和《精简瀑布模型-1》
不明确的(80%以下)
快速原型+精简瀑布模型-2
参见《快速原型模型》和《精简瀑布模型-2》
基础研究型项目
算法组自主决定
其他项目
根据项目情况确定
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CMMI 生命周期 模型 选用 指南
