考点频率:★★★★☆(选择题常考,六大特性与子特性的匹配是高频考点)
难度:⭐⭐
建议:重点掌握六大质量特性的名称、各自对应的子特性,以及“特性→子特性”的匹配关系
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 #质量特性 #软件工程
&spm=1001.2101.3001.5002&articleId=163045629&d=1&t=3&u=bb317a38626240e89d35cd24bbebd788)
412

被折叠的 条评论
为什么被折叠?



