软考软件质量模型总丢分?ISO/IEC 25010八大质量特性与9126六大特性底层逻辑一篇讲透,功能性可靠性易用性性能效率可维护性可移植性子特性全拆解

分类: 软考中级、 软件评测师 发表时间:2026年08月22日 00:15 修改时间:2026年09月13日 23:59 阅读量:5

软考软件质量模型总丢分?ISO/IEC 25010八大质量特性与9126六大特性底层逻辑一篇讲透,功能性可靠性易用性性能效率可维护性可移植性子特性全拆解

一、概念定义:先搞清楚"软件质量模型"到底指什么

软考教材给软件质量下的定义,源头可以追溯到二十世纪八十年代:软件质量是软件产品满足规定的和隐含的需求能力有关的特征和特性的总和。这个定义里藏着一个关键信息——质量不是"代码写得好不好"这么一句笼统的评价,而是可以被拆解、被度量、被验证的一组属性。规定的需求,指需求规格说明书中明确写出来的功能与非功能要求;隐含的需求,指虽然没有写进文档,但用户基于常识和行业惯例理所当然期待的能力,比如数据不能被随意丢失、系统在断电后能恢复。这两类需求同等重要,考试中经常通过"隐含需求"这个角度出题,考察考生对质量定义完整性的理解。

软件质量模型,就是把这种抽象的质量定义系统化、结构化的分类框架。它把软件质量分解为若干个质量特性,每个特性再细分为若干子特性,子特性之下对应可度量的度量元。所谓质量特性,是软件产品满足质量需求的一组相关属性,比如功能性、可靠性;子特性是对特性的进一步分解,比如可靠性之下分出成熟性、容错性、易恢复性;度量元则是可以实际测量或计算的最小单位,比如平均故障间隔时间、平均修复时间。模型存在的意义在于统一术语、消除歧义。如果没有模型,甲方说的"好用"、开发方理解的"好用"、测试方验证的"好用"可能是三件完全不同的事;有了模型,三方都能指着"易用性"这一特性及其子特性逐条对齐。

官方定义与三层结构

从标准的演进看,我国先后采用了两个对应的国家标准:与ISO/IEC 9126对应的GB/T 16260系列标准,以及与ISO/IEC 25010对应的GB/T 25000系列标准。软考教材在软件质量部分引用的正是这套标准体系。模型的三层结构是考试的高频考点:第一层质量特性回答"关注质量的哪个方面",第二层子特性回答"这个方面可以再拆成哪些具体属性",第三层度量元回答"用哪些指标来量化"。需要特别注意的是,模型的层级关系是严格树状的,某个子特性只能归属一个特性,这正是命题人设计归属型选择题的理论依据。

模型的谱系:McCall、Boehm与ISO/IEC

软件质量模型并非一步到位,而是经历了从项目实践清单到国际标准的演进。一九七七年,McCall等人提出了第一个有影响力的软件质量模型,包含十一个质量要素,从三个视角组织:产品运行视角包括正确性、可靠性、效率、完整性、易用性五个要素,回答软件运行时表现如何;产品修正视角包括可维护性、灵活性、可测试性三个要素,回答软件需要修改时成本多高;产品转移视角包括可移植性、可重用性、互操作性三个要素,回答软件能否在新环境中复用。一九七八年,Boehm模型从另一个角度切入,提出三个高层特性:现行实用性、可维护性、可移植性,向下再分解为七个中层特性。这两个模型为后来的标准奠定了基础,但它们带有明显的项目实践色彩,各要素之间存在重叠。一九九一年,国际标准化组织发布ISO/IEC 9126,把质量特性统一为六个,形成标准化的质量模型;二〇一一年,ISO/IEC 25010取代9126,把特性扩展为八个,并首次把使用质量从产品质量中分离出来。理解这条谱系,是记忆全部子特性的逻辑线索。

值得一提的是,软件质量模型是软考体系中少有的横跨多科目的基础考点:软件设计师和软件评测师直接考查特性与子特性的记忆与归类,系统分析师考查质量模型在需求分析与评价中的应用,系统架构设计师则在质量属性场景与架构评估中把模型作为术语底座。同一个知识点在不同级别的考试中层层递进,先记结构、再懂应用,是投入产出比最高的复习路径之一。

二、原理机制:质量特性划分的底层逻辑

质量特性为什么是这么分的?划分依据不是拍脑袋,而是质量问题的不同来源和不同利益相关方的关切。开发者关心代码改起来费不费劲,对应可维护性;运维人员关心系统能不能扛住长时间运行,对应可靠性;终端用户关心功能对不对、反应快不快、界面顺不顺手,对应功能适用性、性能效率和易用性;安全管理员关心数据会不会泄露、操作能否追溯,对应安全性;平台迁移人员关心换一台服务器、换一个操作系统还能不能跑,对应可移植性。八个特性各有各的立场,把软件全生命周期里所有干系人的关切都覆盖到了。反过来说,如果某个特性缺失,就意味着某一类干系人的关切没有被纳入质量管理范畴。

从技术本质上讲,每个特性都在回答一个根本问题。功能适用性回答的是"软件做的事对不对、全不全";可靠性回答的是"软件会不会坏、坏了多久能恢复";性能效率回答的是"软件跑得多快、消耗多少资源";兼容性回答的是"软件能不能和其他系统共存、交互";易用性回答的是"用户用起来费不费劲";安全性回答的是"数据与操作是否可信";可维护性回答的是"修改需要多大代价";可移植性回答的是"换个环境能否运行"。这八个问题互不重叠,任何一个都不能由另一个推导出来——性能再好的软件也可能功能错误,功能再全的软件也可能三天两头崩溃。这就是模型划分的技术合理性所在。

功能适用性:正确、完整与适合的三重标准

功能适用性包含三个子特性。功能完整性,指功能集合覆盖了所有规定的任务和用户目标,考察的是"有没有漏做";功能正确性,指软件提供了具有所需精度的正确结果,考察的是"做没做对",这是9126中"准确性"的继承者;功能适合性,指功能能促进规定任务的完成,考察的是"做的功能合不合适"。功能适合性这个子特性最容易被人忽略,它的深层含义是:多余的功能同样是一种缺陷。一个计算器软件内置了视频播放模块,虽然不违反正确性和完整性,却增加了学习成本、维护负担和出错面,所以功能不是越多越好,而是越适合越好。这种"过犹不及"的思想,是功能适用性与旧版功能性最本质的差别。

可靠性:成熟性、容错性、可用性与易恢复性

可靠性之下有四个子特性,理解它们的关键是分清故障发生的不同阶段。成熟性,指软件在正常运行中满足可靠性需求的程度,关注的是故障的"少"——缺陷密度低、长期运行故障率低;容错性,指在软件出现故障或违反规定接口时,仍能维持规定性能水平的能力,关注的是故障发生时的"扛"——比如输入非法参数不崩溃、磁盘出错时降级运行;易恢复性,指故障发生后重建性能水平、恢复直接受影响数据所需的时间与努力,关注的是故障之后的"快"——恢复时间短、恢复过程自动化程度高;可用性,指软件在需要使用时可操作和可访问的程度,关注的是"可用时间比例"这个结果。可用性可以用平均故障间隔时间和平均修复时间计算出来,即可用时间占全部时间的比例。注意,这里的可用性是可靠性家族的成员,指的是系统不宕机的程度,与易用性完全是两回事。

性能效率与易用性:时间、资源与人的认知

性能效率包含时间特性、资源利用性和容量三个子特性。时间特性指响应时间、处理时间、吞吐率等与时间相关的表现;资源利用性指执行功能时消耗的处理器、内存、存储、带宽等资源数量;容量是25010新增的子特性,指软件能够处理的最大并发用户数、最大数据量、最大任务数等极限指标。考试中,负载测试、压力测试验证的正是时间特性与容量,而资源利用性往往通过监控手段获取。易用性的变化幅度最大:9126中只有易理解性、易学性、可操作性三个子特性,25010扩展为六个,新增了用户差错防御、用户界面舒适性和可访问性,并把易理解性调整为可辨识性。可辨识性指用户能否识别软件是否适合其需求;用户差错防御指系统能否预防用户操作出错;可访问性指残障人士等特殊人群能否正常使用。易用性以人为中心,它的评价必须回到真实用户、真实任务、真实环境,这也是易用性测试难以自动化的根本原因。

三、分类与应用:9126与25010两大框架完整梳理

9126六大特性与21个子特性

ISO/IEC 9126把软件质量划分为六个一级特性、二十一个子特性。功能性包含适合性、准确性、互操作性、安全性、功能依从性五个子特性;可靠性包含成熟性、容错性、易恢复性三个子特性;易用性包含易理解性、易学性、可操作性三个子特性;效率包含时间特性、资源特性两个子特性;可维护性包含易分析性、易修改性、稳定性、易测试性四个子特性;可移植性包含适应性、易安装性、共存性、易替换性四个子特性。这个版本有几个明显的特点:安全性只是功能性下的一个子特性,地位不高;互操作性归在功能性之下;效率只有两个子特性,没有容量;没有独立的兼容性特性。软考中级软件设计师教材长期沿用这套六特性框架,考生如果只看教材不看标准演进,就会在遇到25010表述时产生困惑。

25010八大特性与两个质量模型

ISO/IEC 25010做了重大修订,最醒目的变化是模型一分为二:产品质量模型和使用质量模型。产品质量模型包含八个特性、三十一个子特性。功能适用性包含功能完整性、功能正确性、功能适合性三个子特性;性能效率包含时间特性、资源利用性、容量三个子特性;兼容性包含共存性、互操作性两个子特性;易用性包含可辨识性、易学性、可操作性、用户差错防御、用户界面舒适性、可访问性六个子特性;可靠性包含成熟性、可用性、容错性、易恢复性四

本篇完!

本文为付费内容,请输入 VIP 码查解锁本站全部文章!
点击此处获得 VIP 码
你可能也喜欢这些文章
 

《论软件的可靠性评价》审题技巧
10-13
Cache与主存地址映射到底怎么算?软考中级软件设计师三种映射方式全拆解,直接映射全相联组相联地址划分计算一网打尽
09-12
嵌入式任务间通信怎么学?共享内存消息队列信号量底层原理一篇讲透,软考架构师真题陷阱全解析
09-13
《论云原生架构及其应用》适合写什么项目?
10-13
《论信息系统项目的范围管理》论文写作思路
10-20
《Devops及其应用》如何写出高分?
02-21
信息隐蔽不只是封装的一种写法:软考系统架构设计师必考的模块化第一性原理,从Parnas 1972年到真题命题陷阱一篇讲透
08-13
进程调度算法怎么考?5大经典策略对比与避坑指南
08-02
从熵编码到H.265:数据压缩编码底层原理全解
07-25
《论数据挖掘方法及应用》写作心得
02-16
软考软件设计师必考:海明码纠错原理深度解析——从奇偶校验到ECC内存的完整知识体系
08-09
RTOS实时操作系统深度拆解:从中断响应到优先级反转,嵌入式系统设计师高频考点全贯通
08-04
软考数据库系统工程师两阶段提交协议2PC怎么学?分布式事务一致性从准备投票到最终提交的底层原理与历年真题陷阱一篇讲透
08-28
页面置换算法到底怎么算?OPT、FIFO、LRU、CLOCK四条铁律一篇文章拆到根
07-06
《论企业应用系统的数据持久层架构设计》考点详解?
01-30
数据库事务ACID特性深度拆解:系统架构设计师必考并发控制机制原理详解
07-20
扫码获取 VIP 码
添加管理员微信获取 VIP 码
微信二维码