点击关注 codebox,置顶公众号
每天与你分享
IT编程开发 技术干货 架构方案 技术思维导图 设计模式 算法题库
更多内容请关注公众号
正文内容
1、概念与分类
架构就是对系统中的实体以及实体之间的关系所进行的抽象描述,是一系列的决策。架构图是一个统称,按视角维度,可分为:业务架构、技术架构、系统架构、应用架构
2、什么是架构图
系统架构图是为了抽象的表示软件系统的整体轮廓和各个组件之间的相互关系和约束边界,以及软件系统的物理部署和软件系统的演进方向的整体视图。
3、架构图的作用
一图胜千言。要让干系人理解、遵循架构决策,就需要把架构信息传递出去。架构图就是一个很好的载体。那么,画架构图是为了:
-
解决沟通障碍
-
达成共识
-
减少歧义
4、架构图分类
搜集了很多资料,分类有很多,有一种比较流行的是4+1视图,分别为场景视图、逻辑视图、物理视图、处理流程视图和开发视图。
一、应用架构(平台架构)
站在整个平台视角,描述整个平台架构。
二、技术架构
技术架构,是从架构师的视角 描述服务开发使用到的技术栈
三、系统架构
系统架构是从架构师的视角,描述整个系统的结构、分层、部署方式
四、业务架构(产品架构)
业务结构,是从业务、产品视角,描述整个平台、或某个产品的实现。这张图是挪用的,非本人所画,仅为描述问题。
何谓软件架构
要画架构图,那么我们首先需要清楚架构是什么东西。
维基百科中,其说明软件架构描绘的是:
-
构建构件及软件系统的高层规则
-
软件系统高层构件相互协作关系
软件系统中的“架构”一词引申来源于建筑学中的“架构”,架构是一个软件系统的蓝图,其将会为后续的详细设计团队指明设计方向,也会为不同的系统相关方提供一个快速了解系统设计的途径。
因此架构也是一个系统的根基、骨架,其在整个软件系统生命周期中是详细设计的基础,若要改动则会伤筋动骨。
因此在架构设计时对各种构件的选型应综合考虑各方面的诉求,适当选择tradeoff,避免架构成为整个系统的瓶颈。
推荐2个在线画图工具
1. Processon 在线版,收费的,模板库比较丰富,可以克隆模板,画图比较方便。
https://www.processon.com/
2. drawio 在线和离线都有,免费的,我经常用,可以存储在云上或者本地,我一般存在git上,比较方便。
推荐阅读
老子给你推荐个锤子!你自己不会去公众号看呀!
长按二维码,可以关注我们哟
网友评论