软件构架实践——阅读笔记02
寒假生活
读《软件构架实践》4-6章后感
这一部分是讲在了解了构架商业周期(ABC)的基础上该如何创建构架,以及质量属性的概念和实现方法。
商业目的决定了系统架构必须满足某些质量属性,在设计系统架构过程中要尽量实现这些要求。质量属性不完全依赖于设计,也不完全依赖与实现和部署,质量属性之间相互影响,相互作用,在考虑实现一个质量属性的同时,也要考虑到这种方法的实现是否会给其他质量属性带来消极或积极的影响。
可用性、可修改性、性能、安全性、可测试性和易用性是质量属性的几个重点(其他还有可靠性、功能性、效率、可维护性和可移植性等等),书中采用刺激源、刺激、环境、制品、响应和响应度量来描述质量属性场景。刺激源产生刺激,对系统环境中的一些制品产生影响并作出响应,用响应度量来反应这些响应的反应程度。我们可以使用一般场景与涉众进行沟通。对于上学期开发过的需求征集系统来说,我认为最重要的质量属性是可用性、安全性和易用性。
对应可用性的一般场景:
刺激源:征集系统内部、征集系统外部
刺激:系统崩溃、值错误(内部)操作疏忽、时间(外部)
制品:系统处理器、持久存储器、进程
环境:正常操作、出错操作
响应:日志记录、切换出错页面、提示退出
响应度量:反应时间300ms、可用时间以退出为准
在知道了什么是质量属性之后,就要想办法实现他们,书中为我们提供了几种战术。战术就是影响质量属性响应控制的设计决策,战术的集合就是“构架策略”。对设计师来说,每个战术都是一个设计选择。例如,其中一个战术引入了冗余,以提高系统的可用性。这是提高可用性的一个选择但是不是唯一选择。我们将每个系统质量属性的战术组织为层次形式,但是每个层次只是为了说明一些战术,而且任何战术列表都肯定是不完成的。
许多战术的目的是在载入时或运行时产生的影响,书中以FAA的空中交通管制系统为例,介绍了他如何满足了质量目标的要求。