做软件架构设计,你不得不知道这些图

在上篇文章《软件架构设计之思想篇》中,Relax通过盖房子做了一个类比,聊到了在进行架构设计中我们该从哪些方面去考虑,文中提到了系统、子系统、层次结构、组件、模块、接口和部署等等这样一些抽象的字眼,那大家有没有再深层次的考虑这样的一个问题,就是我们如何将我们考虑的这些点展现出来呢?

作为一名架构师,你设计的架构其实是要给很多人看的,包括公司领导、产品、开发、测试和运维,那么你该如何把你设计的架构展示给别人呢? 这就是Relax今天想跟大家聊的内容。大家还是不妨先花个两三分钟好好想一想这个问题。

相信很多小伙伴都已经知道了,答案就是图。所以今天Relax其实聊的主要就是架构设计中的那些图。

架构设计理论上一般划分五种视图,即逻辑架构视图、开发架构视图、运行架构视图、物理架构视图和运行架构视图。5种架构视图的内容和关系可以看下面两张图:
五种架构视图
在这里插入图片描述
从图中可以看到,五种视图涵盖了逻辑层次划分、接口定义、开发代码组织结构、运行性能设计、运维部署以及数据存储等方方面面。

在Relax的实际架构设计工作中,逻辑架构视图和物理架构视图考虑得最多,开发架构视图中的代码组织结构,运行架构视图的多线程高并发以及数据架构视图中的数据持久化和存储,主要是作为关键技术点进行分析的,这一点其实是跟所处行业有关。

除了上面的五种视图以外,Relax还想跟大家聊一下另外一种图,就是UML图,UML包含很多种图,Relax就不在这里一一介绍了,Relax只谈一下自己实际工作中经常用到的五种UML图—类图、构件图、部署图、用例图和序列图。

类图主要是描述一个类的结构,类是面向对象一个概念,在c语言这种面向过程的语言中,其实也可以按模块的不同功能使用类图来描述这个模块的.c文件和.h文件。

构件图也可以叫组件图,个人觉得跟上面5图中的逻辑架构视图有点像,主要就是描述系统可以划分的逻辑层次,每个层次包含哪些组件以及子系统包含哪些逻辑层次等等这些内容。

部署图其实跟上面5图中的物理架构视图有点像,描述的是系统的位置跟硬件形态。

用例图描述的是系统的输入活动以及系统的自身任务,比如用户会对系统进行什么样的配置操作等等。

序列图其实就是针对用例图的输入活动,系统中的各个组件针对这个输入如何协同工作,相关组件的一个处理流程的描述。

好了,软件架构设计中的那些图,Relax今天就聊到这儿,由于都是理论知识,所以可能不是很好理解,不过不要着急,理论是用于指导具体实践的,所以后面Relax会结合今天聊的这些理论知识来谈一个具体的架构设计的案例,相信大家就能很好的理解了。

想要Relax写出更精彩的文章?那么希望老铁别吝啬你的三连击哦
1、点赞,可以让更多的人看到这篇文章
2、关注我的原创微信公众号『Relax聊技术』,第一时间阅读我的文章。
3、也欢迎关注我的博客哦。
Relax聊技术

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章