当前位置: 首页 > news >正文

“可变性”并非该标准中的质量特性,属于干扰项;正确对应的是“可移植性

D. 可变性 ✅
ISO/IEC 9126软件质量模型定义的六大质量特性为:

  1. 功能性(Functionality)
  2. 可靠性(Reliability)
  3. 易用性(Usability)
  4. 效率(Efficiency)
  5. 维护性(Maintainability)
  6. 可移植性(Portability)

“可变性”并非该标准中的质量特性,属于干扰项;正确对应的是“可移植性”。

ISO/IEC 9126 中,“维护性”(Maintainability)包含以下5个子特性

  1. 易分析性(Analyzability):软件可被诊断缺陷或失效原因,或识别待修改部分的难易程度。
  2. 易改变性(Changeability):软件在满足需求变更或技术演进时,实施修改的难易程度(含修改、验证、发布等全过程)。
  3. 稳定性(Stability):软件在变更时避免意外影响(即副作用)的能力(强调修改的安全性与可控性)。
  4. 易测试性(Testability):软件被测试以确认修改是否正确且未引入新缺陷的难易程度。
  5. 可维护性依从性(Maintainability compliance):软件遵循相关维护性标准、约定或规则(如编码规范、注释要求、配置管理流程等)的程度。

✅ 注:该分类出自 ISO/IEC 9126-1:2001 标准原文;后续标准 ISO/IEC 25010(2011)将“维护性”重构为“可修改性”(Modifiability),并整合了部分子特性,但9126中明确采用上述五项。

ISO/IEC 25010(2011年发布,取代ISO/IEC 9126)对质量模型进行了重构与扩展。其中,“可修改性”(Modifiability)是25010中功能性质量模型下的一个一级特性(属于“产品可靠性”大类?❌更正:实际归属为产品可维护性(Maintainability)的核心子特性——但需注意:25010中已将“Maintainability”升格为一级质量特性,并将其细分为多个子特性,而“Modifiability”正是其首要且最核心的子特性),而非独立一级特性。此处需严谨澄清:

✅ 正确结构(ISO/IEC 25010:2011):

  • 一级质量特性:可维护性(Maintainability)
    下设5个子特性:
    1. 可修改性(Modifiability)—— 替代并融合了9126中“易改变性”和“稳定性”;
    2. 易分析性(Analyzability)—— 基本保留;
    3. 易测试性(Testability)—— 基本保留;
    4. 可维护性依从性(Maintainability compliance)—— 保留,但名称简化为“compliance”;
    5. 可重用性(Reusability)—— ✅ 新增子特性(9126中未单独列出,仅隐含于设计原则中)。

🔍 异同对比:

维度ISO/IEC 9126(2001)ISO/IEC 25010(2011)说明
顶层结构6大特性(含“维护性”)8大特性(含“可维护性”)25010新增“安全性和兼容性”,拆分原“效率”为“性能效率”等
维护性定位一级特性(Maintainability)一级特性(Maintainability)名称一致,地位相同
子特性数量5项(易分析性、易改变性、稳定性、易测试性、依从性)5项(可修改性、易分析性、易测试性、依从性、可重用性关键变化:合并“易改变性+稳定性”→“可修改性”;新增“可重用性”
可修改性内涵❌ 无此术语✅ 指软件能被有效、安全、高效地修改的能力,涵盖变更实施、影响控制、回归验证等全过程更强调变更的整体效能与风险控制,语义更凝练、工程导向更强
演进逻辑侧重静态属性与过程能力更强调动态适应性、架构韧性与可持续演进体现DevOps、微服务、持续交付等现代实践需求

📌 总结:

  • 相同点:均以支持软件长期演化为目标;核心子特性(如分析性、测试性、依从性)一脉相承;都服务于降低维护成本、提升响应速度。
  • 不同点:25010通过合并冗余维度(易改变性+稳定性 → 可修改性)、新增关键维度(可重用性)、强化架构视角,使模型更精炼、更具现代工程指导价值;同时术语更统一(如统一用“compliance”替代“maintainability compliance”)。
http://www.cnnetsun.cn/news/2985698.html

相关文章:

  • CodeWarrior编译器IPA技术实战:DSP56800E嵌入式开发优化指南
  • 5分钟掌握Windows和Office永久激活:KMS智能激活工具终极指南
  • 生产环境OpenSSH 9.6p1编译升级与安全加固实战指南
  • API 与 MySQL 深度底层解析:从通信协议到高性能数据库访问层落
  • g3000,g3810,mg3640s,g5080,g3800,g4800,ip2780,ts3380报错5B00,P07,E08,5b02,1704,1700,5b04废墨垫清零,亲测有用
  • VADF框架:基于扩散模型的机器人视觉自适应操作策略解析
  • 猫抓插件:浏览器资源嗅探与视频下载的终极指南
  • STARGAZER基准测试:AI如何破解径向速度法中的恒星活动噪音难题
  • Deepseek V4如何重构AI训练的存储与光互连需求
  • 嵌入式调试进阶:从观察点到内核感知的实战指南
  • 2026实测12款论文降AIGC平台,效果最优的竟然是它!
  • AI伪正确陷阱:识别差一点就对的临界错误
  • 总线分析器原理与应用:嵌入式调试中的硬件交互与时序问题排查
  • 终极指南:用Zotero-mdnotes将文献笔记一键转换为结构化Markdown
  • 嵌入式电容触摸传感技术:Freescale Touch Library原理与应用实战
  • 终极解决方案:一键修复Windows运行库错误的完整指南
  • 扩散模型SNR-t偏差的小波域校正:提升图像生成质量的关键技术
  • C/C++编译器Pragma指令实战:提升代码质量与跨平台兼容性
  • CentOS 8 搭建符合 RFC 5280 的三级 PKI 证书体系
  • 深度剖析Serpent攻击:苹果令牌窃取原理与纵深防御实战
  • 汇编器指令与混合编程:从内存管理到C/汇编交互实战
  • DeepInsightTheorem:用技巧引导提升LLM数学推理能力的框架与实践
  • BERT工作原理深度解析:从Transformer架构到中文微调实战
  • 如何用AutoJs6构建Android自动化:3个关键场景的深度解决方案
  • 猫抓Cat-Catch技术解析:现代浏览器资源嗅探的三大核心架构与实战应用
  • QMutBench:量子软件测试的基准数据集构建与应用实战
  • MPC8260ADS开发板:PowerQUICC II通信处理器评估与嵌入式系统开发实战
  • KWBench:衡量大模型无提示问题识别能力的基准测试
  • ATF1508AS(L) CPLD深度解析:架构、开发与工业应用实战
  • 【JAVA毕设源码分享】基于springboot高校学生兼职平台(程序+文档+代码讲解+一条龙定制)