跃界星图

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分别扮演什么角色,有助于形成体系化认知。
本页内容由 跃界星图软考学习库 整理,仅供个人备考学习。