考虑目前国内项目现况:需求调研先行,但需求不明确导致需求变更。中小公司缺乏过程规范指导,基本在CMM1即混乱状态。所以BSP采用的是X Process = CMM的体系+RUP的过程+XP的最佳实践软件开发过程并同时引用敏捷开发过程。应用X Process开发模式,使本系统开发过程达到CMM2-3。
20.3.1 应用RUP的过程
BSP软件过程由项目启动、细化、构建、交付四个阶段组成。
(1) 启动阶段
启动阶段定义项目计划、风险分析、项目前景、范围、约束;确定Actor、涉众及收益;确定概要需求;作一个原型,实现关键用例。
(2) 细化阶段
细化阶段确定用户需要、产品特性并确认优先级、风险;确定80%需求,编写需求规格书。制定迭代计划,需求基线;完成重要用例的设计及实现,由此确定系统架构及第三方组件。已制定迭代计划。同时编写对应用例的测试用例。
(3) 构建阶段
构建阶段按计划迭代开发。在每个迭代里采用小瀑布的方式,应用部分XP的最佳实践,每个迭代为一个里程碑,提交给客户确认,由此得到需求变更,分析后调整迭代计划。
(4) 交付阶段
交付阶段提交客户测试,作小的修改。编写产品说明,用户培训,上线运行。项目总结、关闭报告。
20.3.2 应用XP的最佳实践
在BSP开发过程中,在XP阶段应用迭代内的过程,合并细化程序的功能,这个阶段为设计编程期,在这期间,启用“保持设计灵活”、编码规范、代码审核(结队编程)、持续集成、测试驱动、重构的最佳实践。
20.3.3 在BSP中使用CMM的关键域的规范流程
在RUP的四个阶段中,应用CMM的关键域来保证各种产出的质量。这四个阶段如下:
(1) 先启阶段:项目计划、项目过程控制、配置管理、培训计划(设计、编码规范)
(2) 细化阶段:体系规范、同行评审(需求、设计、代码评审)、需求管理、质量管理
(3) 构建阶段:编码规范、设计、代码评审、需求变更管理
(4) 交付阶段:体系规范。
RUP、CMM、XP三者的关系如下:
1.RUP:是由用例驱动、迭代增量开发的过程,主要定义了各个阶段应该做什么,做到什么程度。
2. CMM:是一套评估标准,提供了一些关键实现域(需求管理等),对每一个产出提出了质量要求。
3. XP:主要关注编码阶段的一些最佳实践。是一个提倡敏捷的轻量级软件开发方法。强调“交流;简单;反馈;实事求是”。强调客户参与,简单设计(灵活设计)、允许需求变更等。
分享到:
相关推荐
软件过程分析比较CMM_RUP_XP 软件过程分析比较CMM_RUP_XP
ISO9001软件开发过程产生的背景 软件开发过程是什么 RUP是什么 是什么 CMM是什么 UML是什么 XP是什么 软件开发过程的比较 测试在软件开发过程中的地位
为了能更加有效的管理软件开发项目,规划软件开发过程,近年来国内引入了不少软件开发模型,如:CMM/CMMI,RUP,XP等,每一种都体现了一种思想,都希望能在最大限度内,协调上述三者之间的关系,最大程度的减少软件...
当前比较流行的软件工程思想有:软件能力成熟度CMM、ISO、统一开发过程RUP、极限编程XP、个体软件过程PSP、敏捷建模AM等。当面对这么多的名词、概念和方法时,回过头来看看我们所面临的种种问题,我们应该如何选择和...
包括CMM与过程改进、 J2EE与.NET平台、中间件及相关技术、应用服务器、Web Service、数据仓库与数据挖掘、操作数据存储、导构数据库的集成、企业应用集成、XML、软件构架、设计模式、UML、RUP、SOAP、 ERP/SCM/CRM、...
(可以包括软件测试、过程改进、软件开发或者与此无关的其他方面) 35 11、为什么选择测试这行? 35 12、你的工作通常能在时限内完成吗.(我想问一下就是她问这个问题的动机是什么) 35 13、通常你对于别人批评你会...
.NET的反射在软件设计上的应用 关于跨程序集的反射 实现C#和VB.net之间的相互转换 深入剖析ASP.NET组件设计]一书第三章关于ASP.NET运行原理讲述的补白 asp.net 运行机制初探(httpModule加载) 利用反射来查看对象中的...