19.1 重新认识构架商业周期
在第1章中.我们介绍了构架商业周期的概念,并将它作为了本书的主题。本书对这 些周期的各个阶段进行了详细的讨论,并给出了若干个实例,以说明构架创建、描述、评 估、开发等各环节的•些基本原则。我们也已经强调过,里然作为•个研究领域,软件构 架有着很深的渊源.但该领域本身相对较新,还不成熟。该领域耍想得到稳定的发展,就 必须在多个方面进行深入的研究.并使研究成果能够应用于实践。在这•环境中,我们确 定了构架商业周期的4个不同版本.并对其进行了讨论,在未来的研究中,它们似乎都会 发挥-些作用。
• 原始的构架商业周期,其中一家组织为•个系统创建了一个构架。
•使公司能够赖以创建整个系统产品线而不是单个系统的构架所对应的商业周期。 产品线中的各个系统共享同一个构架,有共同的资产库,是相互联系的。
•通过全行业的努力所得到的标准构架或参考构架的商业周期。根椐这.标准构架 或参考构架,可以开发出大量系统。
•其构架影响深远的构架商业周期。该构架的影响广泛而深入,幵发组织实际上就 变成了整个世界.如万维网的例子。
每个构架商业周期都包含最初的商业周期相同的元系:涉众、技术坏境、已有经验、 一组需要实现的需求、构架设计师或设计师小组、•个或多个构架以及.个或多个系统。
不同的构架商业周期也受行业环境、市场大小和所追求的目标等多方面因素的影响。
我们相倍将来的软件成本和收益模型将会综合反映各种不同的构架商业周期,CBAM 就是其中的一个早期版本。特别地,模型中将考虑到最主耍的基于构架开发的成本,它们 也能够预测出构架所产生的定量收益。
19.2创建构架
在所有的案例分析中,我们强调了所构建系统的质景厲性需求、设计师使用的战术以 及这些战术如何体现在构架中。然而,在从质量需求到构架设计的过程中.还有大量的研 究工作耍做。设计过程仍然是一种艺术,将更多的科学引入到该过程中将会产生巨大的成效。
下列问题的答案将会改进设计过程:
•质量属性场景和战术的列表是否完整?我们为6个不同的质量属性提供了列表。 几乎可以肯定的是应该用额外的战术和场景对其进行补充。还有,额外的属性应 该具有为其创建的场景和战术。互操作性和可构建性这两个质揪诚性可能与我们 描述过的6个质量属性一样重要。
•如何耦合场景和战术?借助于我们所表述的内容可以知道,耦合是在属性级进行的。也就足说,场景是根据某个特定属性的生成表生成的一比如性能。然后我 们对战术进行分析,以确定那些最有可能产生所期望结果的战术。可以肯定的是, 我们能够做得更好。考虑一下第7章的车库电动门装置示例中的性能场设:当检测到陣碍物时,使门在0.1秒内停止。我们可以提出一系列问题,从而产生对所 选择战术的更深入的见解。如果系统中没有其他什么继续运行,是否还能检测到 陣碍物并使门在0.丨秒内停止?如果答案是否定的,则就应该把战术“提高计算 效率”应用到障碍物检测算法中。如果答案是肯定的.则可以询问关于争用的其 他M题,这些问题应该会导致产生我们在设计中所选择的调度程序类型。寻找一