为什么说我们需要软件架构图?
极客时间编辑部
讲述:丁婵大小:2.67M时长:02:55
众所周知,通过创建和维护软件架构图提供准确且有价值的内容并非易事,大多数情况下,开发者要么创建了太多文档,要么创建得太少或者不相关,因为无法准确定位文档受益人及其实际需求,常犯的最大错误是为系统中具有高波动性的部分创建详细架构图。除非是自动生成,否则,手动维护就是一种负担。
在实践中,大多数利益相关者都对详细架构图不感兴趣,但是会对一两个反映系统模块和边界的高级架构图感兴趣。除此之外,要深入理解系统,代码才是事实来源,但是在大多数情况下,只有开发人员会对代码感兴趣。
为了创建具备一定质量的架构图,可以进行头脑风暴,并与团队就真正有用的东西达成一致,不尝试为源代码中不言自明的东西或迎合架构方法而创建架构图,架构图的主要目的应该是促进协作、增强沟通、提供愿景和指导。
首先,最重要的是要了解谁是架构图和技术文档的真正受益者。文档数量和质量应该反映出利益相关者的需求,因为只有这样,才能创建准确且恰到好处的文档。主要受益者应该是直接参与项目的团队,比如开发人员、测试工程师、业务分析师等。
架构图应该帮助每个人看到大局,了解周围的环境。例如,上下文架构图完全满足这种需求,并提供系统边界的大量细节,从而看到全局,有助于团队在不同利益相关者之间达成共识,并简化沟通。
不过,综合性文档可以反映系统内部状态,可以是状态图、活动图、类图等形式。但这些很快就会过时,除非基于源代码通过一些神奇工具自动生成。在大多数情况下,对于开发人员来说,源代码才是他们真正需要的。因此,就要停止为代码中自解释的内容创建详细架构图。
相比较而言,创建有意义的小型架构图,并将它们加到技术文档中更有意义。对于大多数应用程序,可能需要两三种架构图。最常见的是上下文图、组件图、系统图或部署图。
最后需要注意的是,团队应该是架构图的主要受益者。如果没有表现出任何兴趣,那么应该停止创建,因为这可能是在浪费时间。我们不应该只是“为了拥有它们”,或者为了遵循综合性的架构方法,或者纯粹为了证明架构师的角色而去创建架构图。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论