软件架构I:基础概念

2020-12-25  本文已影响0人  桁椽

本书讨论如下内容:

"软件架构师"职位出现在众多最佳职位列表的顶部。但却没有科学的方法教授如何成为架构师的原因?

软件架构由系统的结构(表示支持架构的粗黑线)和系统必须支持的架构特征(``-ilities'')、架构决策以及最终的设计原则组成。

软件架构组成

系统的结构是指系统所实现的架构样式的类型(如微服务,分层或微内核)。 仅通过结构来描述架构并不能完全阐明架构。

系统的结构

架构特征是定义软件架构的另一个维度。 架构特征定义了系统的成功标准,该标准通常与系统的功能正交。 请注意,列出的所有特征都不需要了解系统功能,但是它们是使系统正常运行所必需的。

架构特征

架构决策定义了应如何构建系统的规则。

架构决策

如果由于某种条件或其他约束而无法在系统的某个部分中实施特定的体系结构决策,则可以通过称为方差的方法打破该决策(或规则)。 大多数组织都有架构审查委员会(ARB)或首席架构师使用的差异模型。 这些模型将寻求与特定标准或架构决策的差异的过程形式化。 ARB将分析特定架构决策的例外情况(如果没有ARB,则由首席架构师进行分析),并根据理由和权衡取舍批准或拒绝该例外情况。

设计原则与体系结构决定的不同之处在于,设计原则是一种准则,而不是一成不变的规则。

与给定的角色,职务或职位描述无关,对软件架构师有八项核心期望

image.png

架构交叉点

软件架构法则

软件体系结构中的所有内容都是一个折衷方案。 ——软件架构第一定律
为什么比如何更重要。 ——软件架构第二定律

上一篇 下一篇

猜你喜欢

热点阅读