软件质量保证 - 软考备战(二十七)

软件工程(五)

参考资料:

软件质量模型详解 - 知乎

软件质量保证与测试

一文读懂CMMI认证(软件能力成熟度模型认证) - 知乎

软件文档类型和最佳实践 - 知乎


目录

软件工程(五)

[4.5 软件质量保证](#4.5 软件质量保证)

[4.5.1 软件质量](#4.5.1 软件质量)

[1. 软件质量的概念](#1. 软件质量的概念)

[2. 影响软件质量的因素(McCall三层次模型)](#2. 影响软件质量的因素(McCall三层次模型))

产品运行

产品修改

产品转移

[4.5.2 软件质量模型(ISO/IEC 9126)](#4.5.2 软件质量模型(ISO/IEC 9126))

[4.5.3 软件质量保证 (SQA) 与 CMMI](#4.5.3 软件质量保证 (SQA) 与 CMMI)

[1. 软件质量保证 (SQA)](#1. 软件质量保证 (SQA))

[2. SQA vs 软件测试](#2. SQA vs 软件测试)

[3. CMMI(能力成熟度模型集成)](#3. CMMI(能力成熟度模型集成))

[4.5.4 软件工程标准与软件文档](#4.5.4 软件工程标准与软件文档)

[1. 软件工程标准的分级(按适用范围由大到小)](#1. 软件工程标准的分级(按适用范围由大到小))

[2. 软件文档的分类](#2. 软件文档的分类)

开发文档(研发人员内部看,描述怎么做出来的)

管理文档(项目经理/高管看,描述管得怎么样)

用户文档(最终用户/运维看,描述怎么用)


4.5 软件质量保证

4.5.1 软件质量

1. 软件质量的概念

定义:软件产品满足明确规定的需求(合同、标准)以及隐含的需求(业界习惯、用户期望)的能力。

注意:

质量不仅仅是"没Bug",还包括性能、易用性、可移植性等综合表现。

2. 影响软件质量的因素(McCall三层次模型)

产品运行

正确性、可靠性、效率、完整性、易用性。

产品修改

可维护性、灵活性、可测试性。

产品转移

可移植性、可复用性、互操作性。

4.5.2 软件质量模型(ISO/IEC 9126)

6个质量特性及 27个子特性(对应关系):

|-----------------|------------------|-----------------------------------------------------------------|
| 质量特性 | 核心释义 | 子特性 |
| 1. 功能性 | 软件能不能实现要求的功能 | 适合性 (功能完备)、准确性 (计算结果对不对)、互操作性(能不能和其他系统对接)、保密安全性、依从性 |
| 2. 可靠性 | 出错不死机,出了错能不能恢复 | 成熟性 (少出错)、容错性 (出错不崩)、易恢复性(崩了能迅速恢复数据) |
| 3. 易用性 | 用户觉得好不好用,学起来难不难 | 易理解性 (界面清不清爽)、易学性 (上手快不快)、易操作性(操作麻不麻烦)、吸引性 |
| 4. 效率 | 跑得快不快,吃不吃硬件资源 | 时间特性 (响应时间)、资源利用性(CPU/内存占用率) |
| 5. 维护性 | 后期改Bug或加功能麻不麻烦 | 易分析性 (好找Bug在哪)、易改变性(好改代码)、稳定性(改了不改出新Bug)、易测试性 |
| 6. 可移植性 | 换个电脑/系统/数据库还能不能用 | 适应性 (不用改代码就能跑)、易安装性、共存性、易替换性 |

注:国家标准 GB/T 16260 完全等同采用此模型。

4.5.3 软件质量保证 (SQA) 与 CMMI

1. 软件质量保证 (SQA)

核心定位:

SQA 是"过程审查",偏向管理职能。

主要工作:

审查软件开发过程是否符合既定的标准、规范和流程;记录不符合项并跟踪整改。

2. SQA vs 软件测试

|----------|------------------|----------------------|
| 比较维度 | 软件测试 | 软件质量保证 (SQA) |
| 关注点 | 关注产品缺陷(找Bug) | 关注过程合规(查流程) |
| 工作性质 | 技术性工作(写脚本、造数据) | 管理性工作(看文档、开会评审) |
| 执行时机 | 开发后期(编码完成后) | 贯穿软件生命周期全过程 |

3. CMMI(能力成熟度模型集成)
作用

评估一个软件企业的过程规范化和质量管理能力,不代表某个具体产品的质量。

级别越高,项目延期和超预算的风险越低。

5个成熟度等级(由低到高)

Level 1:初始级(无序,靠个人英雄主义,成功靠运气)。

Level 2:已管理级(项目级管理,能重复以前的成功经验)。

Level 3:已定义级(组织级管理,全公司统一流程标准)。

Level 4:量化管理级(用数据说话,过程可定量预测)。

Level 5:优化级(最高级,主动防范缺陷,持续过程改进)。

认证流程
认证权益

4.5.4 软件工程标准与软件文档

1. 软件工程标准的分级(按适用范围由大到小)

国际标准:ISO / IEC(如 ISO 9000 质量体系)。

国家标准:GB / GB/T(带 T 为推荐性,不带 T 为强制性)。

行业标准:特定行业规范(如 SJ/T 电子行业标准,YD/T 通信行业标准)。

企业标准:Q/XXXX(企业内部制定的规范,通常严于国标)。

项目规范:针对单一项目的临时标准。

2. 软件文档的分类
开发文档(研发人员内部看,描述怎么做出来的)

代表:需求规格说明书、概要设计说明书、详细设计说明书、数据库设计说明书、源代码清单。

管理文档(项目经理/高管看,描述管得怎么样)

代表:项目开发计划、进度月报、质量保证计划、开发总结报告、风险清单。

用户文档(最终用户/运维看,描述怎么用)

代表:用户手册、操作指南、安装说明、系统运维手册。

相关推荐
无籽西瓜a4 小时前
【西瓜带你学设计模式 | 第十六期 - 迭代器模式】迭代器模式 —— 统一遍历实现、优缺点与适用场景
java·后端·设计模式·迭代器模式·软件工程
@insist12320 小时前
网络工程师-虚拟专用网技术(二):高级架构详解
网络·网络工程师·软考·软件水平考试
@insist1231 天前
网络工程师-虚拟专用网技术(一):核心精讲
网络·网络工程师·软考·软件水平考试
九成宫1 天前
IT项目管理期末复习——Chapter 5 项目范围管理
笔记·项目管理·软件工程
摩西蒙1 天前
软考计算机组成原理学习笔记-1
笔记·学习·软件工程
@insist1231 天前
网络工程师-网络规划与设计(一):网络开发过程与逻辑网络设计
网络·网络工程师·软考·软件水平考试
@insist1232 天前
网络工程师-网络安全核心加密技术体系:对称 / 非对称加密、数字签名与证书全解析
网络·安全·web安全·网络工程师·软考·软件水平考试
@insist1233 天前
网络工程师-网络安全基础体系:软考核心考点与合规框架全解析
网络·网络工程师·软考·软件水平考试
Kethy__3 天前
计算机中级-数据库系统工程师-计算机网络-Internet基础知识(2)
计算机网络·软考·数据库系统工程师·计算机中级