系统架构图那些事儿-浅析

​断断续续看过很多系统的架构图,种类和形式不一,然后使用的工具也不一,具体架构图怎么画呢,贴一下自己的一些看法。

软件的灵魂在于设计,设计的体现,往往用图会比较好的表达出来。

总体来看,能够描述清楚,别人能够看懂,我觉得图的效果就得到体现了。因为不同的系统特点不同,所以维护可能有侧重,只要能描述清楚即可。

架构可以通过不同的视图来体现,换个说话就是不同的角度来看到系统,这些角度可以独立一张图,也可以多个角度体现在一张图中。

1、领域视图(从领域划分角度入手,例如交易订单、物流订单、支付订单等属于不同的领域了);

2、功能视图(从系统功能角度,例如登陆、忘记密码、注册等等);

3、业务视图(按照不同的业务场景,例如仓库系统中的入库业务、出库业务、库内业务);

4、数据视图(从数据的流转方面来看,数据模型,关系型模型以及非关系型角度);

5、运维视图(从系统运维角度,例如缓存数据的存储、分布式缓存、系统部署、数据存储等);

6、流程视图(从系统流程角度,例如用户在电子商务网站下单,下单操作是一个流程,这个流程需要请求用户地址信息、商品信息、库存信息、运费信息等);

7、运行视图(系统运行情况来看,例如一个批处理任务,用一张图来标示,这时候,从运行的角度来分析,会比较方便);

8、依赖视图(分布式系统会有很多依赖,上下游的依赖情况,从依赖的角度,也需要体现一张图出来);

9、逻辑视图(一个应用系统,会按照逻辑进行划分,例如技术组件、存储组件、业务组件、UI页面等,这些既不是代码体现,也不是应用系统,而是逻辑的理解);

10、物理架构(这个最容易理解,应用系统在用了几台应用服务器,用了几台webserver,用了数据库是怎么样的,用的缓存是怎么样的);

相关推荐