七. 软件工程
1. 软件工程概述
(1)软件生存周期
(2)软件过程
软件开发中所遵循的路线图称为 "软件过程"。
针对管理软件开发的整个过程,提出了两个模型:能力成熟度模型(CMM)和能力成熟度模型集成(CMMI)。
能力成熟度模型(CMM):
对软件组织进化阶段的描述,随着软件组织定义、实施、测量、控制和改进其软件过程,软件组织的能力经过这些阶段逐步提高。
- 一级:初始级
杂乱无章,甚至混乱,几乎没有明确定义的步骤,项目的成功完全依赖个人的努力和英雄式核心人物的作用。
- 二级:可重复级
建立了基本的项目管理过程和实践来跟踪项目费用、进度和功能特性,有必要的过程准则来重复以前在同类项目中的成功。
- 三级:已定义级
管理和工程两方面的软件过程已经文档化、标准化,并综合成整个软件开发组织的标准过程。
- 四级:已管理级
制定了软件过程和产品质量的详细度量标准。
- 五级:优化级
加强了定量分析,通过来自过程质量反馈和来自新观念、新技术的反馈使过程能不断持续地改进。
CMM 的五个级别由浅入深,逐渐成熟,使得整个过程不断改进,循序渐进。
能力成熟度模型集成(CMMI):
CMMI 是若干过程模型的综合和改进,是支持多个工程学科和领域的、系统的、一致的过程改进框架,能适应现代工程的特点和需要,提高过程质量和效率。
CMMI 提供了两种表示方法,阶段式模型和连续式模型。
阶段式模型:
结构类似于 CMM,关注组织的成熟度,有五个成熟度等级。
- 初始级:过程不可预测且缺乏控制。
- 已管理级:过程为项目服务。
- 已定义级:过程为组织服务。
- 定量管理级: 过程已度量和控制。
- 优化级:集中于过程改进。
连续式模型:
关注每个过程域的能力,有六个等级。
- CL0(未完成的):未执行或未得到目标。
- CL1(已执行的):可标识的输入工作产品转换成可标识的输出工作产品。
- CL2(已管理的):已管理的过程的制度化。
- CL3(已定义的):已定义的过程的制度化。
- CL4(定量管理的):可定量管理的过程的制度化。
- CL5(优化的):量化(统计学)手段改变和优化过程域。
例题1:
以下关于 CMM 的叙述中,不正确的是()。
A.CMM 是指软件过程能力成熟度模型。
B.CMM 根据软件过程的不同成熟度划分了 5 个等级,其中,1 级被认为成熟度最高,5 级最低。
C.CMMI 的任务是将已有的几个 CMM 模型结合在一起,使之构成集成模型。
D.采用更成熟的 CMM 模型,一般来说可以提高最终产品的质量。
解析1:
根据 CMM 模型和 CMMI 模型的定义可知,B 项错误,一级最低,五级最高。
例题2:
CMMI 模型是若干过程模型的综合和改进。连续式模型和阶段式模型是 CMMI 提供的两种表示方法,而连续式模型包括六个过程域能力等级,其中()使用量化(统计学)手段改变和优化过程域,以应对客户要求的改变和持续改进计划中的过程域的功效。
A.CL2(已管理的) B.CL3(已定义的) C.CL4(定量管理的) D.CL5(优化的)
解析2:
根据六个等级的描述可知,CL5(优化的)采用量化统计学手段改变和优化过程域。
后续会持续更新整理。