我们首先应该知道本节所讲的内容中,我们将分析以下3类属性:1.系统的质量属性:如可用性、可修改性、性能、安全性等等。 2受构架影响的商业属性,如上市时间 3与构架本身相关的一些质量属性,如概念完整性。首先我们来描述一下质量属性场景。质量属性场景是一种面向特定的质量属性的要求,它主要由6部分组成。刺激源,这是某个生成该刺激的实体(人、计算机)。 刺激,这个刺激是当系统到达系统时需要考虑的条件。环境,该刺激在某些条件内发生。制品,某个制品被刺激。这可能是系统,也可能是系统的一部分。响应,该响应是在刺激到达后所采取的行动。响应度量,当响应发生时应该能够以某种方式对其进行度量。商业质量属性,除了一些直接与系统相关的属性外,还有许多商业质量目标往往会对系统的构架产生很大的影响。它们主要包括:1.上市时间 2.成本和收益 3.所希望的系统生命周期的长短 4.市场目标 5.退出计划 6.与老系统的集成。
功能性和质量属性是正交的。功能性质系统能够完成所期望的工作的能力。如果功能性是系统的唯一需求的话,整个系统就可以是没有内部结构的单一模块,然而,系统被分解成多个模块,使其变得容易理解,并支持各种其他目的。当其他质量属性很重要时,软件构架会限制各结构的功能分配。功能性所关心的是它如何与其他质量属性交互,以及他是如何限制其他质量属性的。
性能战术的目标就是对在一定时间限制内到达系统的事件生成一个响应。性能战术有三个战术分类,分别是资源需求、资源管理和资源仲裁。可测试性战术的目标是允许在完成软件开发的一个增量后,较轻松地对软件进行测试。在将战术与模式关联起来的过程中,选择了战术后,设计师的任务才刚刚开始。理解战术实现什么属性。起伏作用是什么以及不选择其他战术的风险对构架设计是必不可少的。