《一线架构师实践指南》--三四章节总结

之前觉得架构师是一份可望而不可即的工作,这辈子都不可能接收到相关的知识了。然而在一线架构师实践指南这本书中,通过书中对于架构师的工作的描述,还有其实现的过程的分析,逐渐地从思想上拉近了与架构师认识的隔阂,架构师也是凡人,他也做着人能做的事情,只不过是站的角度不同,他能站在普通人所达不到的高度上看待整个问题,能够有未雨绸缪的思想对系统进行一个统筹规划。

第三章主要是介绍了pre-architecture的实际作用,pre-architecture是admems方法中的一个阶段,以下是书中对其的定义。

什么是Pre-architecture

Pre-architecture就是架构设计的最前期阶段,其工作目标包括:理解需求、建立需求大局观确定架构设计方向等。

Pre-architecture阶段虽然是铺垫性质的阶段,但对架构实践而言意义重大。

这个阶段能够解决以下这个这些问题:

分析业务需求和约束背后的衍生需求

发现遗漏需求

确定关键功能

确定关键质量

权衡属性之间的矛盾关系

在pre-architecture的阶段,能够帮助架构师在其构建的过程中,挖掘出业务,用户,开发的3个需求层次中中,和功能,质量,约束的3类需求中的更加与深层次的需求,这个过程对于架构实践的意义是重大的,因此在pre-architecture阶段,书中对其形象的比喻就是砍柴之前的磨刀,这有助于在架构构建的过程中让架构师清晰其需求的脉络,更加了解清晰深层次的需求,如此一来可以增加在架构成功的概率。

架构设计思维的基础:不同需求影响架构的不同原理


这就是说,需求决定架构,但不同的需求影响架构的不同原理。这个过程在之前的章节提及到了关键需求确定架构,其余需求验证架构的这个过程是一致的思想,对于不同需求影响架构的原理不同,书中对其进行了基本原理进行总结。

功能是发现职责的依据

质量是完善架构设计的动力

约束对架构的设计影响分为几类

功能:他们之间的对于架构设计的影响在书中也有明确的定义:每个功能都是由一条“职责协作链”完成的,架构师通过为功能规划职責协作链、将职責分配到子系统、为子系统界定接口、确定基于接口的架构设计的

质量:(必须)基于当前的架构设计中间成果,进一步考虑具体质量要求,对架构设计中间成果进行細化、调整、甚至推倒重来,一步步地使架构设计完善起来

质量和功能共同影响着架构设计,抛开功能、单依据质量要求设计架构是不可能的

约束:直接制约设计决策的约乘(例如“系统运行于Unix平台之上”)

转化为功能需求的约束(例如“本银行系统执行现行利率”引出“利率调整”功能)

转化为质量属性需求的约束(例如“柜员计算机平均水平不高”引出易用性需求)

第四章主要是对于需求结构化和分析约束影响进行了分析

主要对pre-architecture的前两个步骤:

即需求结构化和分析约束影响

为什么要进行需求结构化,因为需求是有结构的,对需求结构化的过程的admems方法铁建一项架构设计的真实实践,通过admems矩阵思维工具,可以全面理解需求的各个层次,将需求原本的含义多方位,立体化地展示出来,也就是见需求中的隐喻挖掘出来,来还原出更为原始的需求关系。

规格说明书中虽然对于规格有详细地进行说明,但是在规格说明书中并不是架构师奉行的圣旨,架构师站的角度是在更高的层次,需求变动是经常地,要对需求进行理性分析,然后取舍补充。

为什么分析约束影响:

因为在需求中隐藏了大量的风险因素,如果不对其静下心考虑的话,那么对于整体架构而言有时候是致命的。

书中对其的描述是:一旦你忘了它,他就会找上门来制造麻烦。

对于架构设计而言,在其中相应引入觉得的话,能够应对这些麻烦。在pre-architecture的阶段过程中就必须要对约束影响进行分析,这是属于一种未雨绸缪的思想。

admems中有个约束分类的理论,他要求我们清楚业务环境,使用环境,构建环境分别考虑客户用户,开发方涉众。

针对具体的问题,来进行针对性地考虑,对于多方用户而言往往都需要考虑这样一个过程。

约束是架构设计的上下文,也就是架构设计中的关节,连接起架构的整体部分。

正如书中所说的:没有全局观念就不可能成为架构师。约束是架构设计要决绝问题的上下文

架构师对于全局的理解必须要比普通的人站在更高的层次上,否则对于整体的设计而言都可能是致命的,或者会直接导致整体的失败,对于这种环境下,要多方面高层次地对系统,环境,涉众进行详细分析考虑

分析过程中可用推导法,查漏法等方法。

猜你喜欢

转载自www.cnblogs.com/halone/p/12671889.html