复杂系统的架构设计与开发(节选一)
本文内容摘自《系统架构. 复杂系统的产品设计与开发》
涌现原则(2.2.2节)
当各实体拼合成一个系统时,实体之间的交互会把功能、行为、性能和其他内在属性涌现出来。
整体原则(2.4.3节)
每个系统都作为某一个或某些个大系统的一小部分而运作,同时,每个系统中也都包含着更小的一些系统。
聚焦原则(2.4.4节)
在任何一个点上都能发现很多影响系统的问题,而其数量已经超出了人们的理解能力。因此,我们必须找出其中最关键、最重要的那些问题,并集中精力思考它们。
二元原则(4.6.1节)
所有由人类构建而成的系统,其本身都同时存在于物理领域和信息领域中。
受益原则(5.3.2节)
好的架构必须使人受益,要想把架构做好,就要专注于功能的涌现,使得系统能够把它的主要功能通过跨越系统边界的接口对外展示出来
价值与架构原则(6.1节)
价值是有着一定成本的利益。架构是由形式所承载的功能。由于利益要通过功能而体现,同时形式又与成本相关,因此,这两个论述之间形成一种特别紧密的联系。
与特定解决方案无关的功能原则(7.1.2节)
糟糕的系统规范书总是把人引向预先定好的某一套具体解决方案、功能或形式中,这可能会令系统架构师的视野变窄,从而不去探索更多的潜在选项
架构师角色原则(9.2.1节)
架构师的角色是解决歧义、专注创新,并简化复杂度。
歧义原则(9.2.2节)
系统架构的早期阶段充满了歧义。架构师必须解决这种歧义,以便给架构团队定出目标,并持续更新该目标。
现代实避压力原则(9.3.2节)
现代产品开发过程是由同时工作着的多个分布式团队来进行的,而且还有供应商的参与、因此,它更加需要有优秀的架构。
架构决策原则(10.1节)
我们要把架构决策与其他决策分开,并且要提前花一些时间来谨慎地决定这些问题。因为以后如果想变更会付出很高的代价。
遗留元素复用原则(10.9节)
要透彻地理解遗留系统及其涌现属性,并在新的架构中把必要的遗留元素包括进来。
产品进化原则(10.9.3节)
系统必须进化,否则就会失去竞争力。在进行架构时,应该把系统中较为稳固的部分定义为接口,以便给元素的进化提供便利。
开端原则(11.2.1节)
在产品定义的早期阶段列出的(企业内部和企业外部的)利益相关者会对架构产生极其重大的影响。
平衡原则(11.3.4节)
有很多因素会影响并作用于系统的构想、设计、实现及操作。架构师必须在这些因素中寻求一个平衡点,使大多数重要的利益相关者得到满足。
系统问题陈述原则(11.4.2节)
对问题所做的陈述会确定系统的高层目标,并划定系统的边界。就问题陈述的正确性进行反复的辩论和完善,直到你认为满意为止。
歧义与目标原则(11.5节)
架构师必须解决这些歧义,以便提出几条有代表性的目标并持续地更新它们。这些目标要完备且一致,要兼具挑战性和可达成性,同时又要能够为人类所解决
创新原则(12.2.4节)
在架构中进行创新,就是要追求一种能够解决矛盾的好架构。
表面复杂度原则(13.2.2节)
我们要对系统进行分解、抽象及分层,将其表面复杂度控制在人类所能理解的范围之内。
必备复杂度原则(13.2.3节)
系统的必备复杂度取决于它的功能。把系统必须实现的功能仔细描述出来,然后选择一个复杂度最低的概念。
第二定律原则(13.2.3节)
系统的实际复杂度总是会超过必备复杂度。架构师要令实际复杂度尽量接近必备复杂度。
分解原则(13.3.1节)
分解是由架构师主动做出的选择。分解会影响性能的衡量标准,会影响组织的运作方式及供应商的价值捕获潜力。
"2下1上"原则(13.3.1节)
要想判断出对Level 1所做的分解是否合适,必须再向下分解一层,以确定Level 2中的各种关系。
优雅原则(13.3.2节)
对于身处其中的架构师来说,如果系统的必备复杂度较低,而且其分解方式能够同时与多个分解平面相匹配,那么该系统就是优雅的。
架构健壮程度原则(15.5节)
好的架构要能够应对各种各样的变化。能够应对变化的那种架构,要么是比较健壮的架构,要么是适应能力比较强的架构。前者能够处理环境中的变化,而后者则能够适应环境中的变化。
架构决策的耦合与整理原则(15.6.4节)
可以按照指标对决策的敏感度以及决策之间的连接度来排定架构决策之间的先后顺序。
.
付费内容,请联系本人QQ:1002453261
本文来自博客园,作者:明志德道,转载请注明原文链接:https://www.cnblogs.com/for-easy-fast/p/17744237.html