1.架构定义
系统vs子系统定义
- 系统: 泛指由一群有关联的个体组成,根据某种规则运作,能完成个别元件不能单独完成的工作的群体。它的意思 是“总体”“整体”或“联盟”。– 来自《维基百科》
- 子系统: 由一群有关联的个体所组成的系统,多半会是更大系统中的一部分。– 来自《维基百科》
关联(一群有关联的个体) + 规则(个体之间按照规则运行) + 能力(系统能力超越个体能力) + 分层(自顶向下逐层分解)
模块vs组件定义
-
软件模块:是一套一致而互相有紧密关连的软件组织。它分别包含了程序和数据结构两部分。现代软件开发往往利用模 块作为合成的单位。模块的接口表达了由该模块提供的功能和调用它时所需的元素。模块是可能分开被编写 的单位。这使它们可再用和允许人员同时协作、编写及研究不同的模块。– 来自《维基百科》
-
软件组件:自包含的、可编程的、可重用的、与语言无关的软件单元,软件组件可以很容易被用于组装应用程序中。– 来自《维基百科》
-
系统: ** 逻辑拆分 -> 模块(课程模块、成绩模块) -> 职责分离 ** 物理拆分 -> 组件(Nginx服务器、Mysql服务器) -> 单元复用
架构vs框架定义
-
软件框架: 通常指的是为了实现某个业界标准或完成特定基本任务的软件组件规范,也指为了实现某个软件组件规范时, 提供规范所要求之基础功能的软件产品。 – 来自《维基百科》
-
软件架构: 指软件系统的“基础结构”,创造这些基础结构的准则,以及对这些结构的描述。– 来自《维基百科》
-
软件框架(Framework): 组件规范、软件产品
-
软件架构(Architecture): 结构、准则、描述
重新定义架构
软件架构: 软件架构指软件系统的顶层结构,它定义了系统由哪些角色(Role)组成,角色之间的关系 (Relation)和运作规则(Rule)。 [4R架构 – Rank + Role + Relation + Rule]
顶层结构Rank(架构是分层的) + 组成角色Role(系统包含哪些角色) + 角色关系Relation(角色之间的关系) + 运作规则Rule(角色如何协作完成系统功能)
4R架构应用
- 1.架构师职责
- 确定层级
- 拆解角色
- 定义关系
- 设计规则
- 2.架构文档内容
- 指明层级
- 描述角色
- 定义关系
- 展现规则
- 3.如何学习架构
- 自顶向下学习
- 角色有哪些?
- 角色关系如何
- 运作规则是什么?
思维导图