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

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

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

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

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

    1.一般质量属性场景

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

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

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

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

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

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

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

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

    场景的部分

    可能的值

    系统内部、系统外部

    刺激

    疏忽、崩溃、时间、响应

    制品

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

    环境

    正常操作、降级模式

    响应

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

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

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

    响应度量

    系统必须可用的时间间隔

    可用时间

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

    修复时间                                 

                                      

    3.可修改性一般场景。

    场景的部分

    可能的值

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

    刺激

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

    制品

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

    环境

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

    响应

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

    响应度量

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

    影响的程度                                                                  

                                  

    4.性能一般场景。

    场景的部分

    可能的值

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

    刺激

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

    制品

    系统

    环境

    正常模式;超载模式

    响应

    处理刺激;改变服务级别

    响应度量

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

    5.安全性一般场景。

    场景的部分

    可能的值

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

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

    刺激

    试图

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

    制品

    系统服务、系统中的数据

    环境

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

    响应

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

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

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

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

    响应度量

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

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

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

    6. 可测试性一般场景。

        

    场景的部分

    可能的值

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

    刺激

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

    制品

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

    环境

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

    响应

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

    响应度量

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

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

    执行测试的时间

    测试中最长依赖的长度

    准备测试环境的时间                                                                  

    7. 易用性一般场景

    场景的部分

    可能的值

    最终用户

    刺激

    想要

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

    制品

    系统

    环境

    在运行时或配置时

    响应

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

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

        使用系统”

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

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

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

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

    定制能力;国际化

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

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

    响应度量

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

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

    8. 质量属性场景

    质量属性

    刺激

    可用性

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

    可修改性

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

    性能

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

    安全性

    试图

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

    可测试性

    系统开发阶段的完成

    易用性

    想要

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

  • 相关阅读:
    Diffbot:开发者工具 将web内容转换成应用
    算法之道—形而之上谓之道
    css三个ppt
    SMB的NTLM认证过程与NTLM挑战的编程实现
    c++计算圆周率
    SVN总结
    struts2技术实现用户名唯一的验证处理详解
    数字常量
    二叉树的创建和遍历
    php变量的定义和作用域
  • 原文地址:https://www.cnblogs.com/z245894546/p/11037343.html
Copyright © 2011-2022 走看看