软件项目管理-第四节:软件配置管理和能力成熟度模型

Posted 快乐江湖

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了软件项目管理-第四节:软件配置管理和能力成熟度模型相关的知识,希望对你有一定的参考价值。

文章目录

一:软件配置管理

(1)相关概念

A:软件配置管理定义

软件配置管理是在软件的整个生命期内管理变化的一组活动。其主要任务是控制变化,同时也负责各个软件配置项和软件各种版本的标识、软件配置审计以及对软件配置发生的任何变化的报告

B:目的

软件配置管理不同于软件维护,它的目标是使变化更正确且更容易被适应,在必须变化时减少所需花费的工作量。具体如下:

  • 标识变化
  • 控制变化
  • 确保适当地实现了变化
  • 向需要知道这类信息的人报告变化

C:与维护的区别

维护是在软件交付给用户使用后才发生的,而配置管理是在软件项目启动时就开始,并且一直持续到软件退役后才终止的一组跟踪和控制活动

(2)软件配置

A:软件配置项

软件过程的输出信息可以分为3类:

  • 计算机程序(源代码和可执行程序)
  • 描述计算机程序的文档( 供技术人员或用户使用)
  • 数据(程序内包含的或在程序外的)

B:基线

基线是已经通过了正式复审的规格说明或中间产品,它可以作为进一步开发的基础,并且只有通过正式的变化控制过程才能改变它,即基线就是通过了正式复审的软件配置项。基线有助于人们在不严重妨碍合理变化的前提下来控制变化

C:软件工具

把特定版本的编辑器、编译器和其他CASE工具,作为软件配置的一部分。为防止不同版本的工具产生结果不同,应把软件工具也基线化,并且列入到综合的配置管理过程之中

(3)软件配置管理过程

软件配置管理是软件质量保证的重要一环,它的主要任务是控制变化,同时也负责各个软件配置项和软件各种版本的标识、软件配置审计以及对软件配置发生的任何变化的报告,具体来说,软件配置管理主要有5项任务:

  • 标识
  • 版本控制
  • 变化控制
  • 配置审计
  • 报告

A :标识软件配置中的对象

对象分类

  • 基本对象:是软件工程师在分析、设计、编码或测试过程中创建出来的“文本单元”
  • 聚集对象:是基本对象和其他聚集对象的集合

要点

  • 每个对象都有一组能唯一地标识它的特征:名字、描述、资源表和实现
  • 对象名是无二义性地标识该对象的一个字符串
  • 标识模式必须能无歧义地标识每个对象的不同版本

B:版本控制

定义:版本控制使用规程和工具,以管理在软件工程过程中所创建的配置对象的不同版本

目标:借助于版本控制技术,用户能通过选择适当的版本来指定软件系统的配置

步骤

  • 把属性和软件的每个版本关联起来。
  • 描述一组所期望的属性(施加到系统上的功能变化的具体类型)来指定和构造所需要的配置

C:变化控制

定义:变化控制把人的规程和自动工具结合起来,以提供一个控制变化的机制

过程

  • 评估该变化在技术方面的得失、可能产生的副作用、对其他配置对象和系统功能的整体影响以及估算出的修改成本
  • 根据评估结果形成变化报告,供变化控制审批者审阅。
  • 为每个被批准的变化都生成一个工程变化命令,描述将要实现的变化,必须遵守的约束以及复审和审计的标准
  • 把要修改的对象从项目数据库中提取出来,进行修改并应用适当的SQA活动
  • 把修改后的对象提交进数据库,用适当的版本控制机制创建该软件的下一个版本

主要功能

  • 访问控制:决定哪个软件一工程师有权访问和修改一个特定的配置对象
  • 同步控制:助于保证由两名不同的软件工程师完成的并行修改不会相互覆盖

D:配置审计

正式的技术复审:正式的技术复审关注被修改后的配置对象的技术正确性。复审者审查该对象以确定它与其他软件配置项的一致性,并检查是否有遗漏或副作用

主要功能:软件配置审计通过评估配置对象的那些通常不在复审过程中考虑的特征,而成为对正式技术复审的补充

E:状态报告

内容

  • 发生的事件
  • 做这件事的人
  • 事件是发生的时间
  • 产生的影响

作用:配置状态报告对大型软件开发项目的成功有重大贡献。配置状态报告通过改善所有相关人员之间的通信,帮助消除由于通信不精确、不及时所产生的严重问题

二:能力成熟度模型

(1)能力成熟度模型(CMM)

定义:能力成熟度模型(CMM)是用于评价软件机构的软件过程能力成熟度的模型

目的

  • 为大型软件项目的招投标活动提供一种全面而客观的评审依据
  • 应用于许多软件机构内部的过程改进活动中

基本思想:由于问题是由人们管理软件过程的方法不当引起的,所以新软件技术的运用并不会自动提高软件的生产率和质量

,
作用:能力成熟度模型有助于软件开发机构建立一个有规律的、成熟的软件过程。改进后的软件过程将开发出质量更好的软件,使更多的软件项目免受时间延误和费用超支之苦

CMM在改进软件过程中所起的作用

  • 指导软件机构通过确定当前的过程成熟度并识别出对过程改进起关键作用的问题,明确过程改进的方向和策略
  • 通过集中开展与过程改进的方向和策略相一致的一组过程改进活动,软件机构便能稳步而有效地改进其软件过程,使其软件过程能力得到循序渐进的提高

对能力成熟度划分的原因

  • 对软件过程的改进,是在完成一个又一个小的改进步骤基础上不断进行的渐进过程
  • 这5个成熟度等级定义了一个有序的尺度,用以测量软件机构的软件过程成熟度和评价其软件过程能力,这些等级还帮助软件机构把应做的改进工作排出优先次序
  • 成熟度等级是妥善定义的向成熟软件机构前进途中的平台,每个成熟度等级都为软件过程的继续改进提供了一个台阶

(2)能力成熟度的5个等级

A:内容

  • 反映出软件机构为了达到从无序的、混乱的软件过程进化到有序的、有纪律的且成熟的软件过程的目的,必须经历的过程改进活动的途径
  • 每个成熟度级别都是该软件机构沿着改进其过程的途径前进途中的一个台阶,后一个成熟度级别是前一个级别的软件过程的进化目标
  • 每个成熟度级别中都包含一组过程改进的目标,满足这些目标后一个机构的软件过程就从当前级别进化到下一个成熟度级别

B:5个级别

  • 初始级(1级):软件过程能力是不可预测的,其软件过程是不稳定的,产品质量只能根据相关人员的个人工作能力来预测
  • 可重复级(2级):软件项目的策划和跟踪是稳定的,已经为一个有纪律的管理过程提供了可重复以前成功实践的项目环境
  • 已定义级(3级):无论是管理活动还是工程活动都是稳定的。软件开发的成本和进度以及产品的功能和质量都受到控制,而且软件产品的质量具有可追溯性
  • 已管理级(4级):软件机构对软件过程和软件产品都建立了定量的质量目标,所有项目的重要的过程活动都是可度量的,软件过程在可度量的范围内运行
  • 优化级(5级):软件机构能够不断地改进其过程能力,既对现行的过程实例不断地改进和优化,又借助于新技术和新方法来实现未来的过程改进。这一级的软件机构是一个以防止出现缺陷为目标的机构,它有能力识别软件过程要素的薄弱环节,并有足够的手段改进它们

以上是关于软件项目管理-第四节:软件配置管理和能力成熟度模型的主要内容,如果未能解决你的问题,请参考以下文章

山东大学软件过程管理复习纲要

软件工程概论-第四节:软件过程及相关模型

软件项目管理

CMM能力成熟度模型

成熟度等级CMM

腾讯WeTest通过TMMi 3级认证