有关架构图你需要了解的基础知识

一、什么是架构图?

架构从字面意思上,是源于古代的建筑术语。把架构拆分成两个字“架”和“构”。“架”是“加”和“木”的结合,把木头加起来、连接起来就是架。“构”就是结构的意思。所以,“架构”就是把“木“按照一定的结构连接起来。

对应到软件架构,这里面的“木”代表什么,软件架构中的“结构”是什么,这些软件系统的“木”又是如何连接的?

  • 关联到软件领域,木就是系统中的要素,我们将他们称之为架构要素。架构要素可以是子系统、模块、应用服务。

  • 结构,是架构的产物。不同的软件系统会有不同的结构,这些结构是为解决不同场景而设计的。

  • 连接,通过定义架构元素之间的接口和交互关系、集成机制,实现架构元素之间的连接。连接可以是分布式调用、进程间调用、组件之间的交互关系等。

架构是一种整体与局部关系的抽象描述,架构图是将软件所有的需求进行宏观地、系统地、抽象地描述,并通过图形的颜色以及结构设计展示出来。

二、为什么要画构图?

一图胜千言。要让人理解、遵循架构决策,就需要把架构信息传递出去。架构图就是一个很好的载体,那么,画架构图是为了:

  • 解决沟通障碍

  • 达成共识

  • 减少歧义

  • 进行模块化,抽象化的系统开发

    扫描二维码关注公众号,回复: 12443345 查看本文章
  • 实现系统的可复用性、可拓展性

三、由谁来画?

架构图是由架构师进行需求分析和业务抽象所画的结果。

四、什么时间画?

架构图不仅仅包括业务架构图,还包括技术架构图和运维架构图等。不同的架构图在不同的阶段进行绘制:

  • 需求分析之后绘制业务架构图
  • 开发前绘制技术架构图、运维架构图
  • 系统部署上线前,完善运维架构图

在复杂项目开始前画,当你觉得是该画的时候画。

五、怎么画?

1.从全局上看:

(1)结构分级

  • 纵向:要有分层的概念,整体上要有层次感,上层依赖于下层,越底层,越是基础服务,更为重要;
  • 横向:并列结构,同等级别;
  • 对称:要讲究对称美,尽可能地功能结构分配均匀;
  • 虚线框和实线框的使用:多个模块,逻辑上可以归为一块时可以使用虚线框;

(2)色彩搭配

  • 颜色搭配要有所区分,不同层级、不同类型要颜色不同,但是也不能太跳脱,整体上颜色风格要一致,整体上要符合大众的审美风格。

2.从局部上分析:

  • 大小、格式:要注意大小一致,格式统一;
  • 模块划分粒度:细节要进行抽象,抽象出模块,模块的粒度要合适,不可太具体,也不可太宽泛;
  • 模块分级摆放:同一个级别的模块要统一级别,粒度大小要统一;
  • 词汇描述:用词准确,可以让开发人员或者用户理解描述的意思;
  • 命名统一:命名统一,英文名体现专业性,命名要尽可能使用短名称且一致。

猜你喜欢

转载自blog.csdn.net/qq_39071599/article/details/112827276