在无规则和混乱的管理条件下,先进的软件开发技术和工具并不能发挥应用的作用。人们认识到改进软件的管理是解决上述问题的突破口。
软件过程是软件生命周期的一系列相关活动,既用于开发和维护软件及相关产品的一系列活动。软件产品的质量取决于软件过程,具有良好软件过程的组织能能够开发出高质量的软件产品。
8.5.1 软件能力成熟度模型
(capability maturity model,CMM)是一个概念模型,模型框架和表示是刚性的,不能随意改变,但模型的解释和实现有一定弹性。
CMM的等级
CMM的目的是帮助组织对软件过程进行管理和改进,增强开发与改进能力,从而能按时地、不超预算地开发出高质量的软件
(1)初始级
(2)可重复级
(3)已定义级
(4)已管理级
(5)优化级关键过程域
能力成熟度模型集成
(capability maturity model integration,CMMI)融合了多种模型,形成了组织范围内过程改进的单一集成模式,主要目的是消除不同模型之间的不一致性和重复,降低基于模型改进的成本。CMMI继承了CMM的阶段表示法和EIA/IS731的连续表示法。
8.5.2 软件评价过程
软件过程能力评估是根据过程模型或其他模型对组织的软件过程进行的规范的评估。软件过程评估是由接受过培训的专业软件人员所组成的小组对组织的当前软件过程进行评估,以确定其状态,确定组织多面临的与软件过程相关事务的优先级,并从组织中获得对软件过程改进的支持。
- CMM模型
CMM的一个重要思想就是帮助软件组织通过基于模型的过程改进,达到使其软件过程向更高的成熟度等级迈进的目标。
(1)成立评估小组
(2)参评单位的代表认真填写成熟度问卷表
(3)评估小组分析调查问卷
(4)评估小组现场访问、召开座谈会,审核过程文档、判断KPA的实践活动是否达到预期目标。
(5)整理调查结果
(6)绘制KPA剖面图 - Trillum模型
Trillum模型是一个主要用于嵌入式软件开发和支持的能力评估模型,以CMM为基础,主要特点:
(1)模型的架构建立在路线图的基础上
(2)模型不仅适用于软件,同时适用于硬件
(3)模型强调以用户为关注的焦点
(4)模型包括技术成熟度,主要面向通信产品 - Bootstrap 方法