软件质量模型(ISO/IEC 9126和Mc Call)

本文介绍了ISO/IEC9126和McCall两种软件质量模型,详细解释了它们的层次结构,包括质量特性、子特性和度量指标,涵盖了功能性、可靠性、易用性等关键属性。

软件质量模型

目前已经由多种软件质量模型来描述软件质量特性,例如ISO/IEC 9126软件质量模型和Mc Call软件质量模型。

ISO/IEC 9126软件质量模型

ISO/IEC 9126软件质量模型由3个层次组成:第一层是质量特性,第二层是质量子特性,第三层是度量指标

该模型的质量特性和质量子特性如图所示。
ISO/IEC 9126软件质量模型
其中,各质量特性和质量子特性的含义如下:

  1. 功能性(Functionality): 与一组功能及其指定的性质的存在有关的一组属性,功能是指满足规定或隐含需求的那些功能。
    • 适应性(Suitability): 与对规定任务能否提供一组功能以及这组功能是否适合有关的软件属性。
    • 准确性(Accurateness): 与能够得到正确或相符的结果或效果有关的软件属性。
    • 互用性(Interoperability): 与其他指定系统进行交互操作的能力相关的软件属性。
    • 依从性(Compliance): 使软件服从有关的标准、约定、法规及类似规定的软件属性。
    • 安全性(Security): 与避免对程序及数据的非授权故意或意外访问的能力有关的软件属性。
  2. 可靠性(Reliability): 与在规定的一段时间内和规定的条件下软件维持在其性能水平有关的能力。
    • 成熟性(Maturity): 与由软件故障引起失效的频度有关的软件属性。
    • 容错性(Fault tolerance): 与在软件错误或违反指定接口的情况下维持指定的性能水平的能力有关的软件属性。
    • 易恢复性(Recoverability): 与在故障发生后,重新建立其性能水平并恢复直接受影响数据的能力,以及为达到此目的所需的时间和努力有关的软件属性。
  3. 易使用性(Usability): 与为使用所需的努力和由一组规定或隐含的用户对这样使用所做的个别评价有关的一组属性。
    • 易理解性(Understandability): 与用户为理解逻辑概念及其应用所付出的劳动有关的软件属性。
    • 易学性(Learnability): 与用户为学习其应用(例如操作控制、输入、输出)所付出的努力相关的软件属性。
    • 易操作性(Operability): 与用户为进行操作和操作控制所付出的努力有关的软件属性。
  4. 效率(Efficiency): 在规定条件下,与软件的性能水平与所用资源量之间的关系有关的软件属性。
    • 时间特性(Time behavior): 与相应和处理时间以及软件执行其功能时的吞吐量有关的软件属性。
    • 资源特性(Resource behavior): 与软件执行其功能时,所使用的资源量以及使用资源的持续时间有关的软件属性。
  5. 可维护性(Maintainability): 与进行规定的修改所需要的努力有关的一组属性。
    • 易分析性(Analyzability): 与为诊断缺陷或失效原因,或为判定待修改的部分所需努力有关的软件属性。
    • 易改变性(Changeability): 与进行修改、排错或适应环境变换所需努力有关的软件属性。
    • 稳定性(Stability): 与修改造成未预料效果的风险有关的软件属性。
    • 易测试性(Testability): 为确认经修改软件所需努力有关的软件属性。
  6. 可移植性(Portability): 与软件可从某一环境转移到另一环境的能力有关的一组属性。
    • 适应性(Adaptability): 与软件转移到不同环境时的处理或手段有关的软件属性。
    • 易安装性(Installability): 与在指定环境下安装软件所需努力有关的软件属性。
    • 一致性(Conformance): 使软件服从与可移植性有关的标准或约定的软件属性。
    • 易替换性(Replaceability): 与一软件在该软件环境中用来替代指定的其他软件的可能和努力有关的软件属性。

Mc Call软件质量模型

Mc Call软件质量模型从软件产品的运行、修正和转移3个方面确定了11个质量特性。Mc Cal也给出了一个三成模型框架,第一层是质量特性,第二层是评价准则,第三层是度量指标
Mc Call软件质量模型

### ISO/IEC 9126 软件质量模型的定义与内容 ISO/IEC 9126 是一个国际标准,用于描述件产品的质量特性及其测量方法。该模型旨在帮助开发者、测试人员其他利益相关方更好地理解评估件的质量。以下是关于此模型的具体介绍。 #### 定义 ISO/IEC 9126 提供了一个全面的框架来衡量软件质量。它将软件质量分为三个主要层次:质量特性质量特性具体的度量指标[^2]。这一结构化的分类方式便于更细致地分析改进件的不同方面。 #### 组成部分 按照 ISO/IEC 9126 的定义,软件质量由六个基本的质量特性构成,这些特性进一步细分为若干特性: 1. **功能性** 功能性指的是件满足指定功能需求的能力。它的特性包括适宜性(Suitability)、准确性(Accuracy)、互操作性(Interoperability)以及依从性(Compliance)。例如,如果某个应用程序需要与其他系统无缝集成,则其互操作性将成为重点量对象[^2]。 2. **可靠性** 可靠性表示在规定条件下维持性能水平的能力。关键特性有成熟度(Maturity),即减少严重故障的可能性;容错性(Fault Tolerance),指即使发生错误仍能继续工作的能力;以及易恢复性(Recoverability),意味着从失败中迅速恢复正常运作的速度[^3]。 3. **易用性** 易用性涉及用户交互体验的好坏程度。主要包括三个方面——易理解性(Understandability),让用户容易掌握如何使用产品;易学习性(Learnability),降低初次使用者的学习门槛;还有就是易操作性(Operability),简化日常任务执行流程[^2]。 4. **效率** 效率反映的是资源消耗相对于预期目标的情况。可以分解为两个维度:时间行为(Time Behaviour),关注处理速度是否达标;资源利用情况(Resource Utilization),察内存占用等因素是否合理有效。 5. **可维护性** 此特性强调后期修改或扩展代码库时所遇到困难大小。具体来说,包含了以下几个要素:可分析性(Analyzability),方便诊断问题所在位置;可变更性(Changeability),易于实施更改而不影响其他部分正常工作;稳定性(Stability),防止因改动引发新缺陷的风险;以及可测试性(Testability),提高验证修正成果的有效性[^2]。 6. **可移植性** 描述了跨环境迁移过程中保持原有功能不变的能力。重要特性包含适应性(Adaptability),针对不同硬件配置做出相应调整;安装性(Installability),简化部署过程复杂度;共存性(Co-existence),允许多个版本同时存在于同一平台上;替换性(Replaceability),当更换供应商解决方案时不丢失已有投资价值[^2]。 --- ### 示例说明 假设我们正在开发一款移动支付应用,那么可以根据上述模型对其进行全面评测。比如,在功能性方面检查是否有遗漏的功能点;对于可靠性而言,则需确保交易数据传输的安全稳定无误码现象出现等等。 ```python def evaluate_software_quality(): """ A function to simulate evaluating software based on the six characteristics of ISO/IEC 9126. This is just an illustrative example and does not represent actual implementation details. """ evaluation_results = { 'Functionality': True, 'Reliability': False, # Example: There might be occasional crashes during high load scenarios. 'Usability': True, 'Efficiency': True, 'Maintainability': True, 'Portability': True } return all(evaluation_results.values()) print("Is the software compliant with ISO/IEC 9126?", evaluate_software_quality()) ``` 上面这段伪代码演示了怎样依据各个质量特征来进行初步判断。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值