软件质量属性
软件属性包括功能属性和质量属性,但是软件架构重点关注的是质量属性。架构的基本需求主要是在满足功能属性的前提下,关注软件质量属性。软件的质量属性可列举很多,也有各种不同的分类法和不同的表述。一般将质量属性分为3类:
● 系统的质量属性。可用性,可修改性,性能,安全性,可测试性和易用性。
● 受架构影响的商业属性(上市时间)。
● 与架构本身相关的一些质量属性(如概念完整性),它们会间接影响其他质量属性,如可修改性。
1.一般质量属性场景
如何描述质量属性需求呢?一般采用质量属性场景作为一种规范。 质量属性场景是一种面向特定的质量属性的需求。它由6部分组成:
刺激源:这是某个生成该刺激的实体(人、计算机系统或者任何其他刺激器)。
刺激:该刺激是当刺激到达系统时需要考虑的条件。
环境:该刺激在某些条件内发生。当刺激发生时,系统可能处于过载,或者运行,也可能是其他情况。
制品:某个制品被刺激。这可能是整个系统,也可能是系统的一部分。
响应:该响应是在刺激到达后所采取的行动。
响应度量:当响应发生时,应当能够以某种方式对其进行度量,以对需求进行测试。
2.可用性一般场景:所关注的方面包括系统故障发生的频率、出现故障时会发生什么情况、允许系统有多长是将非正常运行、什么时候可以安全地出现故障、如何防止故障的发生以及发生故障时要求进行哪种通知。
场景的部分 |
可能的值 |
源 |
系统内部、系统外部 |
刺激 |
疏忽、崩溃、时间、响应 |
制品 |
系统的处理器、通信通道、持久存储器、进程 |
环境 |
正常操作、降级模式 |
响应 |
系统应该检测事件、并进行如下一个或多个活动: 将其记录下来通知适当的各方,包括用户和其他系统 根据已定义的规则禁止导致错误或故障的事件源 在一段预先指定的时间间隔内不可用,其中,时间间隔取决于系统的关键程度在正常或降级模式下运行 |
响应度量 |
系统必须可用的时间间隔 可用时间 系统可以在降级模式下运行的时间间隔 修复时间 |
3.可修改性一般场景。