梦想还是要有的,万一忘了咋办?

0%

架构图

介绍

架构图是展示软件系统的 整体全貌、组件关系、部署情况、演进方向 视图语言。

作用

传递架构师要表达的信息,快速评估架构的可行性、安全性、以及问题所在。

分类

分类较多,目前以 4+1视图(场景视图、逻辑视图、物理视图、处理流程图、开发视图)、4C(上下文、容器图、组件图、代码图)为主流。

4+1视图

场景视图

描述 参与者与功能用力的关系,通常以用例图表示。
upload successful

逻辑视图

描述软件功能拆解后的组件关系,组件约束和边界,通常用 组件图来表示
//TODO 添加组件图图片

物理视图

描述软件到硬件的映射关系,反映出系统的组件是如何部署到一组计算器节点上的,通常以 部署图表示

处理流程图

描述系统之间、组件之间通信时序,数据的输入输出,反应系统的功能流程与数据流程,通常由时序图和流程图表示。

开发视图

描述系统的模块划分和组成,以及细化到内部包的组成设计,服务于开发人员,反映系统开发实施过程。

4C图

上下文(语境图Context)

语境图

参与者、系统之间的关系,系统状态进度。
抽象说:
人、ofo 是2个独立存在的事物,可以称作context。

容器图

容器图
互相独立存在的应用(占用独立的pid 就可以看做一个容器)例如:

  • 终端应用:
    APP、API接口、WEB
  • Web服务器:
    apache、 nginx
  • Web应用:
    部署在 Tomcat、jetty、resion、jboss、Weblogic、Websphere 一个应用
  • 数据库应用:
    Mysql、Oracle、Mongodb
  • 其它
    ELK、文件系统、dns服务 抽象说: ofo 可以分解为 车子、APP、其它 这些可以被称为容器。

组件图

这张组件图不是很严格,没有表示清楚组件提供的能力名称。
组件图
容器是由多个组件构成,所有组件应当运行在同一个进程中。

抽象说:
车子 可以分解为 车胎、车把、车蹬子、车座子、链条、车架、其它 这些可以被称为组件。

代码图

类图

抽象说: 外胎、内胎、辐条、轮圈、轴承 生产方式,轮胎 组装方式 。