软件开发过程RUP,CMM,XP

简介: 软件开发过程RUP,CMM,XP考虑目前国内项目现况:需求调研先行,但需求不明确导致需求变更。中小公司缺乏过程规范指导,基本在CMM1即混乱状态。所以BSP采用的是X Process = CMM的体系+RUP的过程+XP的最佳实践软件开发过程并同时引用敏捷开发过程。


软件开发过程RUP,CMM,XP



考虑目前国内项目现况:需求调研先行,但需求不明确导致需求变更。中小公司缺乏过程规范指导,基本在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:主要关注编码阶段的一些最佳实践。是一个提倡敏捷的轻量级软件开发方法。强调“交流;简单;反馈;实事求是”。强调客户参与,简单设计(灵活设计)、允许需求变更等。

目录
相关文章
|
敏捷开发 Java 测试技术
敏捷建模和极限编程(XP)
Agile Modeling and eXtreme Programming (XP) 敏捷建模和极限编程(XP) Agile Modeling (AM) is a practices-based software process whose...
1318 0
|
程序员
【方法论】极限编程(XP)
极限编程 (XP) 极限编程是一种软件开发方法论。 它的构想是结合了许多种”程序员真想这么做”的方法论而成的。 XP的概念于20世纪90年代出现。 XP的推进力来自客户会得到他想要的、想要的时候就能够取得甚至在开发过程后期变更规格时也是如此。
1055 0
|
测试技术 持续交付 数据库
我们怎样组合使用 Scrum 和 XP(《硝烟中的Scrum和XP - 我们如何实施 Scrum》)
InfoQ 中文站《硝烟中的 SCRUM 和 XP - 我们如何实施 Scrum》 Scrum  注重的是管理和组织实践,而  XP  关注的是实际的编程实践。
1349 0
极限编程(XP)基本原则与规范
1. 坐在一起(Sitting Together)   尽可能让团队成员坐在一起,Kent Block在一次芝加哥的某个濒临困境的项目中发现,虽然这个团队都是由程序 精英组成,但是却陷入困境,后来他发现,这些成员都坐在距离彼此遥远的小格子中,他每次去找他们都要走很多路, 这走得太多了,浪费了很多时间,甚至由于距离而导致团队成员疏于沟通,后来他把他们都安排在一个狭小的机房内, 1个月后,项目如火如荼。
772 0
《软件需求工程(第2版)》一第2章 软件工程与需求工程2.1 软件工程
本节书摘来自华章出版社《软件需求工程(第2版)》一书中的第2章,第2.1节,作者 毋国庆 梁正平 袁梦霆 李勇华,更多章节内容可以访问云栖社区“华章计算机”公众号查看
1260 0
|
5月前
|
人工智能 程序员 开发工具
『软件工程1』详解软件是什么
该文章探讨了软件工程的基本概念,包括软件的定义、特征、软件危机的原因及其应对策略等内容。
软件工程——软件计划
  软件计划是软件生命周期的第一个阶段,主要是确定要开软件发系统的总目标;给出功能、性能可靠性以及接口等方面的要求;完成该软件任务的可行性研究。   下面是通过思维导图对软件计划这一章做的总结:  
715 0
|
项目管理
软件工程之软件计划
      软件项目计划(Software Project  Planning)是一个项目进入系统实施的启动阶段,主要进行的工作包括,确定详细的项目实施范围、定义递交的工作成果、评估实施过程中主要的风险、制定项目实施的时间计划、成本和预算计划、人力资源计划等。
813 0

热门文章

最新文章