软件过程

一、能力成熟度模型(CMM)

能力成熟度模型(CMM, Capability Maturity Modeling)的目的是提供一种评价软件承接方能力的方法,帮助软件组织改进软件过程。CMM模型提供了一个框架,将软件过程改进的进化步骤分为5个成熟度等级:

  1. 初始级 Initial
    •   特点:杂乱无章,完全依赖个人努力和英雄式核心人物的作用。
  2. 可重复级 Repeatable
    •   特点:建立了级别项目管理过程来跟踪项目费用、进度和功能特性,可以重复以前在同类项目中的成功。
  3. 已定义级 Defined
    •   特点:管理和工程两方面的软件过程已经文档化、标准化,并综合成整个软件开发组织的标准软件过程。
  4. 已管理级 Managed
    •   特点:制订了软件过程和产品质量的详细度量标准,并且被开发成员所理解和控制。
  5. 优化级 Optimized
    •   特点:加强了定量分析,通过来自过程质量的反馈和来自新观念、新技术的反馈使得过程能不断持续地改进。

基于CMM模型的产品包括一些诊断工具,可应用于软件过程评价和软件能力评估小组,以确定一个机构的软件过程实力、弱点和风险 —— 比如:成熟度调查表。

二、能力成熟度模型集成(CMMI)

CMM的成功导致了适用于不同学科领域的模型的衍生,如系统工程的能力成熟度模型,适用于集成化产品开发的能力成熟度模型等。能力成熟度模型集成(CMMI, Capability Maturity Model Integration For Software)是若干过程模型的综合和改进,是支持多个工程学科和领域的、系统的、一致的过程改进框架,能适应现代工程的特点和需要,提高过程的质量和工作效率。CMMI提供了两种表示方法:阶段式模式和连续式模式。

(一)阶段式模式

阶段式模式类似于CMM,关注组织的成熟度。在CMMI-SE/SW/IPPD 1.1版中有5个成熟度:

  1. 初始的:过程不可预测且缺乏控制。
  2. 已管理的:过程为项目服务。
  3. 已定义的:过程为组织服务。
  4. 定量管理的:过程已度量和控制。
  5. 优化的:集中于过程改进。

(二)连续式模式

连续式模型关注每个过程域的能力,一个组织对不同的过程域可以达到不同的过程域能力等级(Capability Level, CL)。在CMMI中包括6个过程域能力等级,等级号为0~5。

  1. CL0(未完成的):过程域未执行或未得到CL1中定义的所有目标。
  2. CL1(已执行的):共性目标是过程将可标识的输入工作产品转换为可标识的输出工作,以实现支持过程域的特定目标。
  3. CL2(已管理的):共性目标是集中于已管理的过程的制度化。
  4. CL3(已定义级的):共性目标是集中于已定义的过程的制度化。
  5. CL4(定量管理的):共性目标是集中于可定量管理的过程的制度化。
  6. CL5(优化的):使用量化(统计学)手段改变和优化过程域。

软件过程

上一篇:制作植物大战僵尸石头怪


下一篇:目标代码文件、可执行文件和库