软件架构阅读笔记05

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

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

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

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

1.一般质量属性场景

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

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

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

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

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

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

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

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

场景的部分

可能的值

系统内部、系统外部

刺激

疏忽、崩溃、时间、响应

制品

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

环境

正常操作、降级模式

响应

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

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

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

响应度量

系统必须可用的时间间隔

可用时间

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

修复时间                                 

                                  

3.可修改性一般场景。

场景的部分

可能的值

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

刺激

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

制品

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

环境

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

响应

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

响应度量

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

影响的程度                                                                  

                              

4.性能一般场景。

场景的部分

可能的值

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

刺激

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

制品

系统

环境

正常模式;超载模式

响应

处理刺激;改变服务级别

响应度量

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

5.安全性一般场景。

场景的部分

可能的值

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

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

刺激

试图

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

制品

系统服务、系统中的数据

环境

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

响应

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

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

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

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

响应度量

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

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

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

6. 可测试性一般场景。

    

场景的部分

可能的值

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

刺激

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

制品

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

环境

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

响应

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

响应度量

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

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

执行测试的时间

测试中最长依赖的长度

准备测试环境的时间                                                                  

7. 易用性一般场景

场景的部分

可能的值

最终用户

刺激

想要

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

制品

系统

环境

在运行时或配置时

响应

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

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

    使用系统”

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

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

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

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

定制能力;国际化

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

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

响应度量

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

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

8. 质量属性场景

质量属性

刺激

可用性

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

可修改性

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

性能

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

安全性

试图

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

可测试性

系统开发阶段的完成

易用性

想要

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

猜你喜欢

转载自www.cnblogs.com/z245894546/p/11037343.html
今日推荐