【软件工程】软件质量保证(ISO/IEC 9126质量特性)

考点频率 :★★★★☆(选择题常考,六大特性与子特性的匹配是高频考点)

难度 :⭐⭐

建议:重点掌握六大质量特性的名称、各自对应的子特性,以及"特性→子特性"的匹配关系

1️⃣ 什么是软件质量?

在讲质量模型之前,先搞清楚一个基本问题:什么是软件质量?

简单说,软件质量就是软件产品满足用户和规定需求的程度 。注意这里的关键词是"满足"------不是代码写得漂亮,不是用了多先进的技术,而是能不能让用户用得满意

软件质量包含多个层次:

  • 内部质量:代码本身的质量(可读性、可维护性等)
  • 外部质量:用户使用时感受到的质量(功能对不对、反应快不快等)
  • 过程质量:开发过程是否规范
  • 使用质量:用户在实际使用场景中的体验

把抽象的"质量"变成可量化、可评估的具体指标,就是软件质量模型要做的事。

2️⃣ ISO/IEC 9126软件质量模型

ISO/IEC 9126 是国际标准化组织于1991年发布的软件质量评估国际标准。该模型将软件质量分解为三个层次:

层次 内容
第一层:质量特性 6个宏观质量维度
第二层:质量子特性 每个特性下细分的具体属性(共27个)
第三层:度量指标 可量化的衡量标准

该标准于2011年被 ISO/IEC 25010 取代,后者在原有6个特性的基础上增加了安全性和兼容性两个特性。但软考中仍然主要考查ISO 9126的经典六特性模型。

3️⃣ 六大质量特性与二十七个子特性

ISO 9126将软件质量划分为 六大特性27个子特性 。六大特性可以用一个口诀记住:"功可易效维移"(功能性、可靠性、易用性、效率、可维护性、可移植性)。

速记口诀功可易效维移------功能、可靠、易用、效率、维护、移植

3.1 功能性(Functionality)

定义 :软件在指定条件下使用时,提供满足明确和隐含需求的功能的能力

核心问题:软件的功能对不对?用户要的功能有没有?

子特性 含义
适合性(Suitability) 软件是否为指定任务提供了合适的功能
准确性(Accuracy) 软件提供的功能结果是否精确
互操作性(Interoperability) 软件能否与其他系统进行交互
保密安全性(Security) 软件能否保护信息和数据不被非法访问
功能性的依从性(Compliance) 软件是否遵循相关标准、法规

3.2 可靠性(Reliability)

定义 :软件在指定条件下使用时,维持规定的性能水平的能力

核心问题:软件稳不稳定?容不容易崩溃?

子特性 含义
成熟性(Maturity) 软件避免内部错误扩散导致失效的能力
容错性(Fault Tolerance) 软件防止外部接口错误扩散导致失效的能力
易恢复性(Recoverability) 系统失效后,恢复原有功能和性能的能力
可靠性的依从性(Compliance) 是否遵循可靠性相关标准

3.3 易用性(Usability)

定义 :软件被理解、学习、使用和吸引用户的能力

核心问题:用户用起来方不方便?学起来难不难?

子特性 含义
易理解性(Understandability) 用户能否快速理解软件的交互信息
易学性(Learnability) 用户学习使用软件需要付出多大努力
易操作性(Operability) 用户操作和控制软件是否方便
吸引性(Attractiveness) 软件界面对用户的吸引力
易用性的依从性(Compliance) 是否遵循易用性相关标准

3.4 效率(Efficiency)

定义 :在指定条件下,相对于所用资源的数量,软件提供适当性能的能力

核心问题:软件跑得快不快?耗资源多不多?

子特性 含义
时间特性(Time Behavior) 软件处理请求的响应时间和吞吐量
资源利用性(Resource Utilization) 软件执行功能时消耗的系统资源
效率的依从性(Compliance) 是否遵循效率相关标准

3.5 可维护性(Maintainability)

定义 :软件产品被修改的能力,包括修正、优化和适应环境变化。

核心问题:软件好不好改?修一个Bug会不会引发三个新Bug?

子特性 含义
易分析性(Analyzability) 诊断缺陷或失效原因需要付出多大努力
易改变性(Changeability) 进行修改、排错或适应环境变化需要付出多大努力
稳定性(Stability) 修改软件造成意外结果的风险有多大
易测试性(Testability) 确认修改后的软件是否有效需要付出多大努力
可维护性的依从性(Compliance) 是否遵循可维护性相关标准

3.6 可移植性(Portability)

定义 :软件产品从一种环境迁移到另一种环境的能力

核心问题:软件换台机器、换个系统还能不能用?

子特性 含义
适应性(Adaptability) 软件无需额外变动就能适应不同环境的能力
易安装性(Installability) 在指定环境下安装软件需要付出多大努力
共存性(Coexistence) 软件能否在公共环境中与其他软件共存
易替换性(Replaceability) 软件能否替代另一个同用途的软件
可移植性的依从性(Compliance) 是否遵循可移植性相关标准

4️⃣ 六大特性速查表(建议截图保存)

质量特性 核心问题 子特性(部分)
功能性 功能对不对? 适合性、准确性、互操作性、安全性
可靠性 稳不稳定? 成熟性、容错性、易恢复性
易用性 好不好用? 易理解性、易学性、易操作性
效率 快不快? 时间特性、资源利用性
可维护性 好不好改? 易分析性、易改变性、稳定性、易测试性
可移植性 能不能换? 适应性、易安装性、共存性、易替换性

5️⃣ 经典例题

例题1(真题):保密安全性(Security)是ISO/IEC 9126中哪个质量特性的子特性?

A. 可靠性

B. 功能性

C. 效率

D. 可维护性

解析 :保密安全性属于功能性 的子特性,与适合性、准确性、互操作性并列。选 B


例题2(真题):子特性"成熟性(Maturity)"属于哪个质量特性?

A. 功能性

B. 可靠性

C. 易用性

D. 可维护性

解析 :成熟性、容错性、易恢复性都属于可靠性 的子特性。选 B


例题3:某软件系统在运行过程中,因第三方接口异常导致系统崩溃。事后团队对系统进行了改进,增强了对外部接口异常的防护能力。这主要提升了软件的哪个质量特性?

A. 功能性

B. 可靠性

C. 易用性

D. 可移植性

解析 :增强对外部接口异常的防护能力 → 提升容错性 → 容错性属于可靠性 的子特性。选 B

6️⃣ 记忆口诀

六大特性记心间:功能可靠易用效,维护移植不能少。

功能(适合准互安),可靠(成容忍恢复),

易用(理学操吸引),效率(时间与资源),

维护(分改稳测试),移植(适安共替换)。

7️⃣ 小测验(评论区对答案)

以下哪个子特性属于"可维护性"质量特性?

A. 适合性

B. 容错性

C. 易分析性

D. 适应性

🔔 本专栏日更,点击头像 → 专栏《软考中级高频考点》订阅,第一时间接收新内容

#软考中级 #软件设计师 #软件质量 #ISO9126 #质量特性 #软件工程

相关推荐
破碎的南瓜1 小时前
sqli--sql注入过关笔记(1,2,3,4,5,9)
数据库·笔记·sql
你想知道什么?2 小时前
线性回归-学习笔记
笔记·学习·线性回归
谙弆悕博士2 小时前
系统集成项目管理工程师教程(第3版)笔记——第17章:法律法规和标准规范
笔记·职场和发展·学习方法·业界资讯·软考·法律·法规
谙弆悕博士4 小时前
系统集成项目管理工程师教程(第3版)笔记——第4章:信息系统架构
笔记·系统架构·项目管理·创业创新·学习方法·业界资讯·物理
茯苓gao5 小时前
嵌入式开发笔记:Qt信号槽机制深度解析——从原理到实战的全方位指南
开发语言·笔记·嵌入式硬件·qt·学习
A.零点7 小时前
【期末复习,408 考研计组全程笔记 】— 第4章 :指令系统
笔记·考研·408·计算机组成原理
早茶cc7 小时前
sqli1-5 9报错注入 笔记
笔记
摇滚侠7 小时前
Java 全栈开发实战教程 课程笔记 34-36
java·笔记
洵有兮7 小时前
sql注入通关笔记
数据库·笔记·sql·sql注入
今儿敲了吗8 小时前
Python——函数基础
开发语言·笔记·python