软件开发过程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:主要关注编码阶段的一些最佳实践。是一个提倡敏捷的轻量级软件开发方法。强调“交流;简单;反馈;实事求是”。强调客户参与,简单设计(灵活设计)、允许需求变更等。

目录
相关文章
|
11月前
|
C语言
【数据结构】二叉树(c语言)(附源码)
本文介绍了如何使用链式结构实现二叉树的基本功能,包括前序、中序、后序和层序遍历,统计节点个数和树的高度,查找节点,判断是否为完全二叉树,以及销毁二叉树。通过手动创建一棵二叉树,详细讲解了每个功能的实现方法和代码示例,帮助读者深入理解递归和数据结构的应用。
701 8
|
关系型数据库 MySQL 数据库管理
【MySQL进阶之路 | 基础篇】子查询之二(不相关子查询与相关子查询)
【MySQL进阶之路 | 基础篇】子查询之二(不相关子查询与相关子查询)
|
存储 NoSQL
TableStore: 海量结构化数据分层存储方案
### 前言 表格存储是阿里云自研分布式存储系统,可以用来存储海量结构化、半结构化的数据。表格存储支持高性能和容量型两种实例类型。高性能使用SSD的存储介质,针对读多写多的场景都有较好的访问延时。容量型使用的是SSD和SATA混合的存储介质。
9682 0
|
监控 安全 关系型数据库
参加AWD攻防赛的感想
参加AWD攻防赛的感想
246 0
|
SQL 存储 DataWorks
浅谈-大数据工程师面临的困境和要学习的技术
读书的时候,语文老师总会让同学看看作者的生平简介,谈谈作者为什么会写出这篇文章,文章诞生的背景是什么背景,一方面是让同学理解文章,另外一方面是让同学感同身受。 鄙人,不是大厂,也不算外包,算是靠在阿里系的一家创业公司的交付部门的小小大数据工程师,心比天高,命比纸薄。 当然,也和上学没有好好学习有关系,怨不得其他人。 回到正题,咋们先从我的个人经历聊一下大数据工程师现在面临的困境和我的一些解决思路。
509 0
|
弹性计算 数据挖掘 数据库
阿里云网络增强型云服务器计算型、通用型和内存型有什么区别?
阿里云网络增强型云服务器具有网络延迟低超强的网路收发包能力,网络增强型云服务器又分为计算型、通用型和内存型,那么三者有什么区别?新手站长网分享计算型、通用型和内存型网络增强云服务器的区别: 计算型、通用型和内存型之间的区别 计算型、通用型和内存型网络增强型云服务器的详细区别可以对比:ECS云服务器实例规格族官方详解 - 阿里云,官方有详细的对比说明: 相同之处CPU处理器:2.
12835 0
|
测试技术 持续交付 调度
如何快速掌握阿里巴巴内部高效测试流程?
阿里巴巴分层自动化从自动化成本和效果这两个重要缺点上突破,进行分层自动化工具和项目流程的双重革命,最终达到业内领先的研发测试比。
8800 1