zoukankan      html  css  js  c++  java
  • 软件架构阅读笔记05

    软件属性包括功能属性和质量属性,但是软件架构重点关注的是质量属性。架构的基本需求主要是在满足功能属性的前提下,关注软件质量属性。软件的质量属性可列举很多,也有各种不同的分类法和不同的表述。一般将质量属性分为3类:

    ●     系统的质量属性。可用性,可修改性,性能,安全性,可测试性和易用性。

    ●     受架构影响的商业属性(上市时间)。

    ●     与架构本身相关的一些质量属性(如概念完整性),它们会间接影响其他质量属性,如可修改性。

    1.一般质量属性场景

    如何描述质量属性需求呢?一般采用质量属性场景作为一种规范。 质量属性场景是一种面向特定的质量属性的需求。它由6部分组成:

         刺激源:这是某个生成该刺激的实体(人、计算机系统或者任何其他刺激器)。

         刺激:该刺激是当刺激到达系统时需要考虑的条件。

         环境:该刺激在某些条件内发生。当刺激发生时,系统可能处于过载,或者运行,也可能是其他情况。

         制品:某个制品被刺激。这可能是整个系统,也可能是系统的一部分。

         响应:该响应是在刺激到达后所采取的行动。

         响应度量:当响应发生时,应当能够以某种方式对其进行度量,以对需求进行测试。

     2.可用性一般场景:所关注的方面包括系统故障发生的频率、出现故障时会发生什么情况、允许系统有多长是将非正常运行、什么时候可以安全地出现故障、如何防止故障的发生以及发生故障时要求进行哪种通知。   

    场景的部分

    可能的值

    系统内部、系统外部

    刺激

    疏忽、崩溃、时间、响应

    制品

    系统的处理器、通信通道、持久存储器、进程

    环境

    正常操作、降级模式

    响应

    系统应该检测事件、并进行如下一个或多个活动:

    将其记录下来通知适当的各方,包括用户和其他系统                                                                                            根据已定义的规则禁止导致错误或故障的事件源

    在一段预先指定的时间间隔内不可用,其中,时间间隔取决于系统的关键程度在正常或降级模式下运行

    响应度量

    系统必须可用的时间间隔

    可用时间

    系统可以在降级模式下运行的时间间隔

    修复时间                                 

                                      

    3.可修改性一般场景。

    场景的部分

    可能的值

    最终用户、开发人员、系统管理员

    刺激

    希望增加、删除、修改、改变功能、质量属性、容量

    制品

    系统用户界面、平台、环境或与目标系统交互的系统

    环境

    在运行时、编译时、构建时、设计时

    响应

    查找架构中需要修改的位置,进行修改且不会影响其他功能,对所做的修改进行测试,部署所做的修改

    响应度量

    根据所影响元素的数量度量的成本、努力、资金;该修改对其他功能或质量属性所造成

    影响的程度                                                                  

                                  

    4.性能一般场景。

    场景的部分

    可能的值

    大量的独立源中的一个,可能来自系统内部

    刺激

    定期事件到达;随机事件到达;偶然事件到达

    制品

    系统

    环境

    正常模式;超载模式

    响应

    处理刺激;改变服务级别

    响应度量

    等待事件、期限、吞吐量、抖动、缺失率、数据丢失                                                                  

    5.安全性一般场景。

    场景的部分

    可能的值

    正确识别、非正确识别或身份未知的个人或系统它来自内部/外部;经过了授权/未授权

    它访问了有限的资源/大量资源

    刺激

    试图

    显示数据、改变/删除数据、访问系统服务、降低系统服务的可用性

    制品

    系统服务、系统中的数据

    环境

    在线或离线、联网或断网、连接有防火墙或者直接连到了网络

    响应

    对用户身份进行认证;隐藏用户的身份;阻止对数据或服务的访问;允许访问数据或服

    务;授予或收回对访问数据或服务的许可;根据身份记录访问/修改或试图访问/修改数

    据/服务;以一种不可读的格式存储数据;识别无法解释的对服务的高需求;通知用户或

    另外一个系统,并限制服务的可用性

    响应度量

    用成功的概率表示,避开安全防范措施所需要的时间/努力/资源;检测到攻击的可能性;

    确定攻击或访问/修改数据或服务的个人的可能性;在拒绝服务攻击的情况下仍然获得

    服务的百分比;恢复数据/服务;被破坏的数据/服务和/或被拒绝的合法访问的范围                                                                 

    6. 可测试性一般场景。

        

    场景的部分

    可能的值

    开发人员、增量开发人员、系统验证人员、客户验收测试人员、系统用户

    刺激

    已完成的分析、架构、设计、类和子系统集成;所交付的系统

    制品

    设计、代码段、完整的应用

    环境

    设计时、开发时、编译时、部署时

    响应

    提供对状态值的访问、提供所计算的值、准备测试环境

    响应度量

    已执行的可执行语句的百分比

    如果存在缺陷出现故障的概率

    执行测试的时间

    测试中最长依赖的长度

    准备测试环境的时间                                                                  

    7. 易用性一般场景

    场景的部分

    可能的值

    最终用户

    刺激

    想要

    学习系统特性、有效使用系统、使错误的影响最低、适配系统、对系统满意

    制品

    系统

    环境

    在运行时或配置时

    响应

    系统提供以下一个或多个响应来支持“学习系统特性”

    帮助系统与环境联系紧密;界面为用户所熟悉;在不熟悉的环境中,界面是可以使用的    系统提供以下一个或多个响应来支持“有效

        使用系统”

    数据和/或命令的聚合;已输入的数据和/或命令的重用;支持在界面中的有效导航;具有一致操作的不同视图;全面搜索;多个同事进行的活动

    系统提供以下一个或多个响应来“使错误的影响最低”

    撤销;取消;从系统故障中恢复;识别并纠正用户错误;检索忘记的密码;验证系统资源

    系统提供以下一个或多个响应来“适配系统”

    定制能力;国际化

    系统提供以下一个或多个响应来使客户“对系统的满意”

    显示系统状态;与客户的节奏合拍

    响应度量

    任务时间、错误数量、解决问题的数量、用户满意度、用户知识的获得、成功操作在总

    操作中所占的比例、损失的时间/丢失的数据量                                                                 

    8. 质量属性场景

    质量属性

    刺激

    可用性

    不期望的事件、期望的时间不发生

    可修改性

    请求添加删除改变功能、平台、质量属性或容量

    性能

    周期性的、随机的或偶然的

    安全性

    试图

    显示、修改、改变/删除信息、访问或降低系统服务的可用性

    可测试性

    系统开发阶段的完成

    易用性

    想要

    学习系统特性、有效使用系统、使错误的影响最低、适配系统、对系统满意                                                                 

  • 相关阅读:
    ubuntu下安装maven
    159.Longest Substring with At Most Two Distinct Characters
    156.Binary Tree Upside Down
    155.Min Stack
    154.Find Minimum in Rotated Sorted Array II
    153.Find Minimum in Rotated Sorted Array
    152.Maximum Product Subarray
    151.Reverse Words in a String
    150.Evaluate Reverse Polish Notation
    149.Max Points on a Line
  • 原文地址:https://www.cnblogs.com/z245894546/p/11037343.html
Copyright © 2011-2022 走看看