目录

功能性

  • 适合性
  • 准确性
  • 互操作性
  • 依从性
  • 安全性

可靠性

  • 成熟性
  • 容错性
  • 易恢复性

易用性

  • 易理解性
  • 易学习性
  • 易操作性

效率

  • 时间特性
  • 资源特性

可维护性

  • 易分析性
  • 易更改性
  • 稳定性
  • 易测试性

可移植性

  • 适应性
  • 易安装性
  • 一致性
  • 易替换性

1 功能性(Functionality)

  • 定义:功能性是指与软件所具有的各项功能及其规定性质有关的一组属性,包括:

1.1 适合性(Suitability)

  • 定义:与规定任务能否提供一组功能以及这组功能的适合程度有关的软件属性。适合程度的例子是面向任务系统中,由子功能构成功能是否合适、表容量是否合适等。
  • 计算:存在:任务已被详细说明。正确:正确的解释任务的详细说明。

1.2 准确性(Accuracy)

  • 定义:于能否得到正确或相符的结果或效果有关的软件属性。此属性包括计算值所需的准确程度。
  • 计算:识别负责该计算功能的组件。由公式∏𝑖(𝐴𝑐𝑐𝑢𝑟𝑎𝑛𝑐𝑦(𝑓𝑢𝑛𝑐𝑡𝑖𝑜𝑛𝑎𝑙 𝑐𝑜𝑚𝑝𝑜𝑛𝑒𝑛𝑡𝑠)) 对该属性进行计算。

1.3 互操作性(互用性,Interoperability)

  • 定义:与同其他指定系统进行交互的能力有关的软件属性。为避免可能与可替换性的含义相混淆,此处用互操作性(互用性)而不用兼容性。
  • 计算:识别与外部特定系统进行交互的中间件。根据中间件的存在与否决定属性值为1或者0。

1.4 安全性(Security):

  • 定义:以防止对程序及数据的非授权的故意或意外访问的能力有关的软件属性。
  • 计算:应有一种机制或者设备(软件或硬件)来明显地完成这个任务。可以是组件(如中间件提供的一项服务)或集成在组件里的功能。根据机制或者设备的存在与否决定属性值为1或者0。

1.5 依从性(Compliance):

  • 定义:使软件遵循有关的标准、约定、法规及类似规定的软件属性。
  • 计算:很笼统,无法直接应用到体系结构设计。根据要求的标准的应用与否决定属性值为1或者0。体系结构的依从性可以认为是对体系结构相关的约束的满足情况。

2 可靠性(Reliability):

  • 定义:可靠性是指在规定运行条件下和规定时间周期内,与软件维护其性能级别的能力有关的一组属性。可靠性反映的是软件中存在的需求错误、设计错误和实现错误而造成的失效情况:

2.1 成熟性(Maturity)

  • 定义:与由软件故障引起失效的频度有关的软件属性。
  • 计算:该属性使用下式计算∑𝑖 𝑀𝑎𝑡𝑢𝑟𝑖𝑡𝑦(𝐶𝑜𝑚𝑝𝑜𝑛𝑒𝑛𝑡 𝑖)+∑𝑗 𝑀𝑎𝑡𝑢𝑟𝑖𝑡𝑦(𝐶𝑜𝑛𝑛𝑒𝑐𝑡𝑜𝑟 𝑗) Notice that the Maturity attribute of the COTS components is known or should be.

2.2 容错性(Fault Tolerance)

  • 定义:与在软件故障或违反指定接口的情况下,维持规定的性能水平的能力有关的软件属性。指定的性能水平包括失效防护能力。
  • 计算:它意味着拥有某种机制或软件设备。它可以是一个构件或被集成到构件中,如异常处理以及冗余。根据这种机制或设备的出现与否定义其值为1或者0。它可以被精确为一种属性,这种属性的值与机制或者设备相关。

2.3 可恢复性(Recoverability)

  • 定义:与在失效发生后重建其性能水平并恢复直接受影响数据的能力,以及为达此目的所需的事件和努力有关的软件属性。
  • 计算:软件中存在一种机制或者软件设备,其独自成为构件或被集成在构件中,其功能是重建或恢复数据(冗余就是一个典型的例子)。如果这种机制存在,那么可恢复性就可被细化为一种和时间、代价相关的性能属性,每个支持此机制的组件都需计算出这样的属性。

3 易用性(Usability)

  • 定义:可用性是指根据规定用户或隐含用户的评估所做出的关于与使用软件所需要的努力程度有关的一组属性。包括:

3.1 可理解性(Understandability)

  • 定义:与用户为认识逻辑概念及其应用范围所花的努力有关的软件属性。
  • 计算:

3.2 易学性(Learnability)

  • 定义:与用户为认识逻辑概念及其应用范围所花的努力有关的软件属性。
  • 计算:

3.3 可操作性(Operability)

  • 定义:与用户为操作和运行控制所需的努力有关的软件属性。

4 效率(Efficiency)

  • 定义:效率是指在规定条件下,与软件性能级别和所使用资源总量之间的关系有关的一组属性。包括:

4.1 时间特性(Time Behaviour)

  • 定义:与软件执行其功能时响应和处理事件及吞吐量有关的软件属性。
  • 计算:对于各个功能,其测定如下式∑𝑖 𝑃𝑒𝑟𝑓𝑜𝑟𝑚𝑎𝑛𝑐𝑒(𝐶𝑜𝑚𝑝𝑜𝑛𝑒𝑛𝑡 𝐹𝑢𝑛𝑐𝑡𝑖𝑜𝑛 𝑖)+∑𝑗𝑃𝑒𝑟𝑓𝑜𝑟𝑚𝑎𝑛𝑐𝑒(𝐶𝑜𝑛𝑛𝑒𝑐𝑡𝑜𝑟 𝑗)

4.2 资源特性(Resource Behaviour)

  • 定义:与在软件执行其功能时所使用的资源数量及其使用时间有关的软件属性。
  • 计算:

4.3 复杂性

  • 定义:每个功能都可以测量这个属性,时间和空间与组件密切相关
  • 计算:

5 可维护性(Maintainability)

  • 定义:可维护性是指与软件进行修改的难易程度有关的一组属性。包括:

5.1 可分析性(Analysability)

  • 定义:与为诊断缺陷 或失效原因及为判定待修改的部分所需努力有关的软件属性。
  • 计算:

5.2 可改变性(Changeability)

  • 定义:与进行修改、排除错误或适应环境变化所需努力有关的软件属性。
  • 计算:

5.3 稳定性(Stability)

  • 定义:与修改所造成的未预料结果的风险有关的软件属性。
  • 计算:

5.4 可测试性(Testability)

  • 定义:与确认已修改软件所需的努力有关的软件属性。此子特性的含义可能会被研究中的修改加以改变。

6 可移植性(Portability):可移植性是指与一个软件从一个环境转移到另一个环境运行的能力有关的一组属性。包括:

6.1 适应性(Adaptability):

  • 定义:与软件无须采用有别于为该软件准备的活动或手段就可能适应不同的规定环境有关的软件属性。
  • 计算:为适应而出现的机制,比如特定的类或者参数。度量根据机制的出现与否来决定其值为1或者0。

6.3 可安装性(Installability)

  • 定义:与在指定环境下安装软件所需努力有关的软件属性。
  • 计算:安装机制的存在。这个子特性根据机制的出现与否来决定其值为1或者0.

6.4 可共存性(Co-existence)

  • 定义:软件产品在公共环境中同与其分享公共资源的其他独立软件共存的能力。
  • 计算:为满足共存的设计的机制。这个子特性根据机制的出现与否来决定其值为1或者0.

6.5 可替换性(Replaceability)

  • 定义:与软件在该软件环境中用来替代指定的其他软件的机会和努力有关的软件属性。为避免和互用性的含义混淆,此处用可替换性而不用兼容性。
  • 计算:这个属性用表格来列出每个组件可以被替代的候选项。