首页 > 其他分享 >复杂系统的架构设计与开发(节选一)

复杂系统的架构设计与开发(节选一)

时间:2023-10-06 09:00:39浏览次数:24  
标签:架构设计 架构 原则 复杂 复杂度 系统 节选 架构师 歧义

本文内容摘自《系统架构.  复杂系统的产品设计与开发》

系统架构原则

涌现原则(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节)

 

可以按照指标对决策的敏感度以及决策之间的连接度来排定架构决策之间的先后顺序。

.

 

标签:架构设计,架构,原则,复杂,复杂度,系统,节选,架构师,歧义
From: https://www.cnblogs.com/for-easy-fast/p/17744237.html

相关文章

  • 系统架构设计师论文范文
    论文目录一、论基于DSSA的软件架构设计与应用二、论基于Rest服务的web应用系统设计三、论软件可靠性设计与应用一论基于DSSA的软件架构设计与应用【摘要】去年三月份,我所在的公司启动国网电力用户用电信息采集系统项目,我被任命为项目负责人。国网电力用户用电信息采集系统是国家电......
  • 子树合并背包类型的 dp 的复杂度证明
    首先,我们发现,转移一颗子树的背包,实际上就是把该子树的根节点的所有儿子的子树背包合并,再与根节点合并。具体的,合并两颗子树的转移方程式如下:\[f(u,i)=\max\limits_{j+k=i}\{f(v_1,j)+f(v_2,k)\}\]于是有如下伪代码:dfs(u): su=1 f(u,1)=w[u] for(vinu) sv=siz......
  • 架构师必须掌握的架构设计原则
    软件设计原则GRASP通用职责分配软件模式来自CraigLarman的软件设计书《UML和模式应用》,Larman在书中提出软件设计的关键任务是职责分配,并提炼总结出9种(5种核心+4种扩展)软件职责分配模式,这些模式是比GoF设计模式更抽象的元模式。信息专家(InformationExpe......
  • 架构师必须掌握的架构设计原则
    软件设计原则GRASP通用职责分配软件模式来自CraigLarman的软件设计书《UML和模式应用》,Larman在书中提出软件设计的关键任务是职责分配,并提炼总结出9种(5种核心+4种扩展)软件职责分配模式,这些模式是比GoF设计模式更抽象的元模式。信息专家(InformationExpe......
  • 架构师必须掌握的架构设计原则
    软件设计原则GRASP通用职责分配软件模式来自CraigLarman的软件设计书《UML和模式应用》,Larman在书中提出软件设计的关键任务是职责分配,并提炼总结出9种(5种核心+4种扩展)软件职责分配模式,这些模式是比GoF设计模式更抽象的元模式。信息专家(InformationExpe......
  • 架构师必须掌握的架构设计原则
    软件设计原则GRASP通用职责分配软件模式来自CraigLarman的软件设计书《UML和模式应用》,Larman在书中提出软件设计的关键任务是职责分配,并提炼总结出9种(5种核心+4种扩展)软件职责分配模式,这些模式是比GoF设计模式更抽象的元模式。信息专家(InformationExpe......
  • 软件架构设计师历年论文题目(2012-2)
    2.论决策支持系统的开发与应用决策支持系统(DecisionSupportSystems,DSS)是以管理科学、运筹学、控制论和行为科学为基础,以计算机技术、仿真技术和信息技术为手段,以人机交互方式进行半结构化和非结构化决策的信息系统。它调用各种信息资源,并提供各种分析工具,为决策者提供分析问题......
  • 软件架构设计师历年论文题目(2012-3)
    论企业应用系统的数据持久层架构设计数据持久层(DataPersistenceLayer)通常位于企业应用系统的业务逻辑层和数据源层之间,为整个项目提供一个高层、统一、安全、并发的数据持久机制,完成对各种数据进行持久化的编程工作,并为系统业务逻辑层提供服务。它能够使程序员避免手工编写访问......
  • 软件架构设计师历年论文题目(2012-4)
    论基于架构的软件设计方法及应用基于架构的软件设计(Architecture-BasedSoftwareDesign,ABSD)方法以构成软件架构的商业、质量和功能需求等要素来驱动整个软件开发过程。ABSD是一个自顶向下,递归细化的软件开发方法,它以软件系统功能的分解为基础,通过选择架构风格实现质量和商业需......
  • 架构师必须掌握的架构设计原则
    软件设计原则GRASP通用职责分配软件模式来自CraigLarman的软件设计书《UML和模式应用》,Larman在书中提出软件设计的关键任务是职责分配,并提炼总结出9种(5种核心+4种扩展)软件职责分配模式,这些模式是比GoF设计模式更抽象的元模式。信息专家(InformationExpe......