如何画好软件架构图?为什么说我们需要软件架构图?
如何 为什么 需要 我们 软件架构
2023-09-14 09:07:22 时间
关键要点
通过创建和维护架构图来提供准确且有价值的内容并非易事。大多数情况下,我们要么创建了太多的文档,要么太少,或者不相关,因为我们没能准确地定位文档的受益人及其实际的需求。
我们常犯的最大的一个错误是为系统中具有高波动性的部分创建详细的架构图。除非是自动生成的,否则手动维护它们对我们来说就是一种负担。
在实践中,大多数利益相关者对详细架构图不感兴趣,但会对一两个反映系统模块和边界的高级架构图感兴趣。除此之外,要深入理解系统,代码才是事实的来源,但在大多数情况下,只有开发人员会对代码感兴趣。
为了创建具备一定质量的架构图,可以进行头脑风暴,并与团队就什么对他们来说才是真正有用的东西上达成一致。不要尝试为源代码中不言自明的东西或为了迎合架构方法而创建架构图。
架构图的主要目的应该是促进协作、增强沟通、提供愿景和指导。
在墙上绘制一两个高级架构图并在会议(站会等)期间使用它们。作为一名架构师,你应该让它们可见,变得有价值,并作为项目文化的一部分。不要将它们隐藏起来或放在利益相关者不易接触到的地方。
我们尝试通过创建架构图(作为技术文档的一部分)来反映应用程序的内部状态,但大多数时候我们都没能做对。由此产生的架构图可能非常全面,也可能非常模糊。有时,架构图根本就是不相关的。我之前写过一些关于
相关文章
- 如何实现项目管理自动化?为什么项目需要需要自动化?
- 编译成功了,运行为什么会失败_如何编译内核
- 深度学习中高斯噪声:为什么以及如何使用
- 为什么 Redis 的查询很快,Redis 如何保证查询的高效
- 对人脑如何控制手的新认识:我们为什么削水果时,拿的是刀柄而不会拿刀刃?
- 相邻的两个inline-block节点为什么会出现间隔,该如何解决
- 为什么要重构?如何重构?这个宝典请一定收藏!
- Redis为什么快如何实现高可用及持久化
- MySQL之道:如何增加表中的主键?(mysql增加主键)
- Oracle冒号变量什么为什么如何(oracle 冒号变量)
- 甲骨文力在oracle如何推动企业发展(oracle为什么甲骨文)
- 如何运用Yii2框架优化网站性能Redis篇(yii2运用redis)
- MySQL下载后的安装步骤详解(mysql下载完如何安装)
- 方向如何选择适合你的mysql版本(mysql不知道下哪个)