4 软件工程基础知识 · 4.7 软件项目管理
软件质量管理的目标、范围和活动
软考学习笔记
知识点 1/3
软件质量管理的目标、范围和活动
重要等级:
(2星 - 一般重要)
建议学习时长:
2分钟
软件质量管理概述
软件质量管理(Software Quality Management, SQM)是指确定质量方针、目标和职责,并通过质量体系中的质量规划、质量保证、质量控制和质量改进来使其实现的所有管理职能的全部活动。其根本目标是确保软件产品能够充分满足用户明确和隐含的需求。
软件质量本身,则被定义为软件与明确叙述的功能和性能需求、文档中明确描述的开发标准,以及所有专业开发的软件都应具有的隐含特征相一致的程度。
质量管理的主要过程
软件质量管理主要通过以下三个相互关联的过程来实施:
1. 质量规划 (Quality Planning)
在项目开始阶段,识别与项目相关的质量要求和标准,并详细记录项目将如何满足这些要求。
- 确定质量目标
- 选择适用的标准和流程
- 制定质量度量指标
- 编制质量管理计划
2. 质量保证 (Quality Assurance, QA)
通过系统性的活动,确保项目遵循既定的流程和标准,以预防缺陷的产生。这是一个面向过程的活动。
- 审计与评审开发过程
- 分析过程数据,识别改进点
- 确保团队遵循规范
- 目标是“正确地做事”
3. 质量控制 (Quality Control, QC)
监控项目的具体产出物(如代码、文档),以判断它们是否符合质量标准,并找出缺陷。这是一个面向产品的活动。
- 执行代码审查
- 进行各类软件测试
- 识别、记录和跟踪缺陷
- 目标是“做出正确的事”
影响软件质量的因素 (McCall质量模型)
从管理角度,可将影响软件质量的因素划分为三组,分别反映了用户在使用、修改和迁移软件时的不同关注点。
Layer 1
产品修改
产品运行
产品转移
软件质量
(McCall模型)
| 质量维度 | 核心关注点 | 具体质量属性 |
|---|---|---|
| 产品运行 | 关注软件在日常使用中的表现,即软件的基本功能和性能。 |
|
| 产品修改 | 关注软件在交付后进行维护和演化的难易程度。 |
|
| 产品转移 | 关注软件从一个环境迁移到另一个环境的能力。 |
|
知识点总结与学习建议
知识点总结
- 软件质量管理的核心是确保软件满足用户需求,其主要活动包括质量规划、质量保证(QA)和质量控制(QC)。
- 质量保证(QA)是面向过程的,旨在通过规范流程来预防缺陷。
- 质量控制(QC)是面向产品的,旨在通过检查和测试来发现缺陷。
- McCall质量模型从产品运行、产品修改、产品转移三个维度,系统地定义了评价软件质量的多个属性,是理解和度量软件质量的重要框架。
学习建议
- 重点区分QA与QC:这是高频考点。务必理解两者在目标(预防 vs. 发现)、对象(过程 vs. 产品)和活动上的根本区别。
- 记忆McCall模型分类:记住三个主要维度(运行、修改、转移)及其下的典型质量属性(如正确性、可维护性、可移植性),选择题中常考分类归属问题。
- 联系实际:将质量管理活动与软件开发生命周期(如需求、设计、编码、测试)联系起来,思考在每个阶段,QA和QC分别扮演什么角色,有助于形成体系化认知。