码迷,mamicode.com
首页 > 其他好文 > 详细

软件架构---质量属性(二)

时间:2019-06-19 20:28:16      阅读:109      评论:0      收藏:0      [点我收藏+]

标签:丢包   影响   验证   说明   一个   test   错误   成本   支持   

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

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

1.可用性Availability

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

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

      α =  MTBF/(MTBF+MTTR)

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

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

2.可修改性Modifiability

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

3.性能Performance

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

4.安全性

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

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

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

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

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

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

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

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

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

5.可测试性testability

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

6.易用性

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

    可分为以下几个方面:

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

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

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

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

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

软件架构---质量属性(二)

标签:丢包   影响   验证   说明   一个   test   错误   成本   支持   

原文地址:https://www.cnblogs.com/sdysyhj/p/11032008.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!