软件架构---质量属性

Posted sdysyhj

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了软件架构---质量属性相关的知识,希望对你有一定的参考价值。

  一般情况下,质量属性可分为三类,系统的质量属性,商业属性,概念属性。

  这里主要讨论的是系统的质量属性,可用性,可修改性,性能,安全性,可测试性和易用性。

1.可用性Availability

  可用性是指系统掩盖或修复故障的能力,使得累积的服务中断时间不超过规定时间间隔内的所要求的值
  当一个系统不再提供其规格说明中所声明的服务时,我们就认为其出了故障,即出现了可用性问题

  通常情况下,我们以下面这个公式来量化可用性:

      α =  MTBF/(MTBF+MTTR)

  MTBF:平均正常工作时间
  MTTR:平均修复时间

  需要注意的是这里并不需要计算正常情况下的停机时间

2.可修改性Modifiability

  • 系统的任何部分都是可修改的
  • 需要关注的是修改的成本(代价问题)

3.性能Performance

  性能是一个抽象的概念,从本义上讲就是指软件如何做好它的工作,在软件上性能主要通过以下指标量化
    响应时间(系统响应时间指计算机对用户的输入或请求作出反应的时间。)
    吞吐量/率(单位时间系统处理时间数量)
    抖动(这里的抖动指的是响应时间的变化)
    丢包率(由于系统太忙)

4.安全性

  安全性是衡量系统在向合法用户正常提供服务的情况下,阻止非授权使用的能力。

  可将其理解为一个提供认可,机密性,完整性,身份验证,可用性和审核的系统

   机密性,完整性和可用性confidentiality, integrity, and availability (CIA)

  机密性是保护数据或服务免受未经授权访问的属性

  完整性是指数据或服务不受未经授权操纵的属性

  可用性是系统可供合法使用的属性。

  身份验证会验证交易各方的身份,并检查他们是否真的是他们声称的身份

  认可即交易(访问和修改数据或服务)不能被交易双方的任何一方所拒绝

  审核是系统在其内部跟踪活动的属性

5.可测试性testability

‘  通过测试揭示软件缺陷的容易程度。

6.易用性

  对用户来说,完成某个期望任务的容易程度和系统所提供的用户支持的种类。

    可分为以下几个方面:

    学习系统的特性,即更加容易上手

    有效的使用系统,即提高使用效率

    将错误影响降到最低,即引导用户,使错误影响降到最低

    使系统适应用户的需要,系统应该使用户的任务更加轻松

    提高用户自信满意度,使用户确定自己采取了正确的行动

以上是关于软件架构---质量属性的主要内容,如果未能解决你的问题,请参考以下文章

软件体系架构——质量属性

软件架构——”淘宝网”质量属性研究

[架构之路-113]-《软考-系统架构设计师》-软件架构设计-6-六大软件质量

软件质量属性描述

系统架构-如何评估软件架构

软考 系统架构设计师软件架构设计⑤ 软件架构评估