04 软件过程管理

Posted on Wed, 25 Dec 2024 17:01:07 +0800 by LiangMingJian


1.软件过程

  • 软件过程是生产一个最终满足需求且达到工程目标的软件产品所需的步骤,是软件生命周期中的一系列相关的过程。
  • 软件过程是用于软件开发及维护的一系列活动、方法及实践。过程是活动的集合,活动是任务的集合。
  • 软件过程的分类:
    • 软件基本过程:软件获取、供应、开发、运行和维护的过程,包括需求分析、软件设计、编码等过程。
    • 软件支持过程:对软件主要过程提供支持的过程,包括文档编制过程、配置管理过程、质量保证过程、验证和确认过程(测试过程)、评审过程等。
    • 软件组织过程:对软件主要过程和支持过程的组织保证过程,包括管理过程、基础设施过程、改进过程和培训过程。
  • 软件过程定义的三个层次:
    • 个体含义:指软件产品或系统在生存周期中的某一类活动的集合,如软件开发过程,软件管理过程等。
    • 整体含义:指软件产品或系统在所有上述含义下的软件过程的总体。
    • 工程含义:指解决软件过程的工程,应用软件工程的原则、方法来构造软件过程模型,并结合软件产品的具体要求进行实例化,以及在用户环境下的运作,以此进一步提高软件生产率,降低成本。

2.软件过程能力成熟度模型

2.1 CMM 能力成熟度模型

  1. 初始级(initial)软件过程是无序的,有时甚至是混乱的。缺乏健全的管理制度,管理无章法。开发项目的成效不稳定,项目成功主要依靠项目负责人的经验和能力,项目负责人一旦离去,工作秩序面目全非。
  2. 可重复级(Repeatable)已经建立基本的项目管理过程,可用于对成本、进度和功能特性进行跟踪。初步实现标准化,开发工作比较好地按标准实施。变更依法进行,做到基线化,稳定可跟踪。新项目的计划和管理基于过去的实践经验,具有复现以前成功项目的环境和条件。
  3. 已定义级(Defined)开发过程,包括技术工作和管理工作,均已文档化、标准化,并形成整个软件组织的标准软件过程。建立了完善的培训制度和专家评审制度,全部技术活动和管理活动均可控制,对项目进行中的过程、岗位和职责均有共同的理解。
  4. 已管理级(Managed)软件过程和产品质量有详细的度量标准。开发活动中的生产率和质量是可量度的。已建立过程数据库。已实现项目产品和过程的控制。可预测过程和产品质量趋势,如预测偏差,并及时纠正。
  5. 优化级(Optimizing)可通过采用新技术、新方法,集中精力改进过程。具备防缺陷、识别薄弱环节以及改进的手段。可取得过程有效性的统计数据,并可据此进行分析,从而得出最佳方法。

2.2 TMM 能力成熟度模型

  • 初始级。
  • 阶段定义级。
  • 集成级。
  • 管理和度量级。
  • 优化,预防缺陷和质量控制级。