软件构架实践_阅读笔记05〔~13〕

第11章已经介绍过了评估的一种方法:ATAM。而12章继续介绍了另一种评估手段CBAM。但是为什么要在知道一种方法后又继而又学习一种方法呢?正如克鲁斯卡尔算法与普里姆算法一样,必定有所区别的。ATAM遗漏了一个重要的考虑事项:在大型复杂系统中最大权衡必须要考虑经济性。要知道组织如何对其资源进行投资,使得回报最高,风险最小。因为用于建构和维护系统的资源是有限的,因此,在最初设计阶段和随后的升级期间,必须要有一个合理的过程来帮助我们在不同的架构之间做出选择。而CBAM方法,即成本受益分析方法,在ATAM上构建,用来对构架设计决策成本和收益进行建模,是优化此类决策的一种手段。

CBAM的思想就是构架策略影响系统的质量属性,反过来这些质量属性又会为系统的涉众带来一些受益,我们把收益称为效用。CBAM,根据涉众选择的场景,逐步阐明对各种架构策略进行ROI度量的理论。认识一个新的名词,ROI,每个架构策略的ROI就是总收益与实现该策略的成本的比。这样就可以得到ROI划分策略的等级,然后确定使用各个策略的最佳策略。

从CBAM的过程流程图就可以看到整个过程。确定场景优先级,确定质量属性和其响应类别,对场景进行分配,计算总收益,和根据成本限制影响ROI选择架构策略。

万维网的思想是因为TIM BERNER-Lee注意到了,几千名研究人员构成了一个不断演变的人的网络,不断有人员进出该组织,成立了一个又一个的新的研究组织,也放弃了一个又一个已有的组织。之后,他就定义了万维网。Cern最早提出并实现的万维网具有多个非常理想的质量属性。它是可移植的。能够与运行相同软件的其他类型的计算机系统进行互操作,并且,它是可扩充和可扩展的。在促进相互交流,容纳意构计算机环境的工作目标指导下,实现了远程访问、可互操作性和其他功能。

在万维网系统开发中所使用的基本的构架方法依赖于客户机,服务器,以及屏蔽掉所有硬件,操作系统和协议依赖性的库。

而web之所以是成功的,源于在其架构中实现所期望的质量属性的方式,以及在面临动态的新需求时,重新确立这些结构的方式。

原文地址:https://www.cnblogs.com/justmaomao/p/6404273.html