【软件架构】9大软件架构工具
视频号
微信公众号
知识星球
⚡ Tl;dr
- 软件体系结构工具可以分为三组,建模工具、作为代码的图表和图表工具。
- 建模和图表作为代码工具更适合长期文档,而图表工具更适合快速的一次性草图。
- 作为代码的建模和图表有更多的结构,需要更多的设置,而图表工具更通用,但需要更少的思考
🚀 我们开始吧
图解软件体系结构为我们如何沟通复杂性提供了几个好处。经过深思熟虑的图表使工程团队能够更好地理解设计和未来开发计划,同时识别潜在问题。
下面是一些我们发现适合软件体系结构的特定类别的建模和绘图工具的例子。
📦 可视化建模工具
建模最适合长期的系统设计文档,并且需要一些设置工作。可重用的对象和关系存储在模型中,使所有关系图保持最新。
1️⃣ IcePanel
是一个基于web的图形SaaS工具,用于使用C4模型对软件架构进行协作建模。
免费和付费。
最适合寻找轻量级协作工具来建模和记录其软件体系结构的敏捷开发团队。
它包括以下功能:
- 可放大到不断增加的技术细节级别的交互式图表。
- 在绘制图表的同时创建模型的敏捷建模。
- 通过将其他元数据覆盖到现有图表上来查看不同的透视图。
- 用于将消息序列叠加到现有图表上并进行通信的流程。
- 将对象链接到现实中的资源,如源代码管理或云资源,并在图表偏离现实时收到通知。
2️⃣ Enterprise Architect
Enterprise architect by Sparx Systems是一款用于业务、IT和软件系统建模的图形桌面应用程序。
支付。
最适合需要为各种行业标准创建模型的大型企业。
它包括以下功能:
- 分析、设计、实施、测试和维护模型。
- UML、SysML和BPMN标准。
- 高性能,可在几秒钟内加载超大型号。
- 动态模型模拟是用Javascript编写的。
- 许多流行语言的源代码往返,包括C、C++、Java、PHP、Python和Visual Basic。
- 从需求、分析和设计模型到实施和部署的完整可追溯性。
3️⃣ Archi
是一个用于建模的图形桌面应用程序,用于创建ArchiMate模型和草图。
免费开源。
最适合那些希望使用ArchiMate语言创建模型而不需要在昂贵的工具上花费预算的个人。
它包括以下功能:
- ArchiMate 3.1语言的最新版本。
- 创建ArchiMate元素、关系、视图和视点。
- 提示视图可帮助您理解ArchiMate语言。
- 用于显示关系、草图视图和画布建模的可视化工具。
🧑💻 Diagrams as code tools
图作为代码包括使用标记语言编写模型对象、关系和图,标记语言可以检查到源代码管理中。这些功能通常包括自动布局功能。
1️⃣ Structurizr
构建在“图即代码”的基础上,允许您使用多种工具和编程语言从单个模型创建多个图。
免费和付费。
最适合那些希望将C4模型与DSL一起使用并将其检查到源代码管理中的技术人员。
它包括以下功能:
- 将图表作为代码,使用StructurezrDSL绘制图表
- 存储在工程团队所在的源代码管理中
- 设计用于支持C4型号
- 文档工具中的体系结构决策记录
2️⃣ PlantUML
是一个允许您编写序列图、对象图、组件图、用例图、类图等图表的工具。
自由的
最适合那些希望灵活地创建许多不同的图表类型并将其检查到源代码管理中的技术人员。
它包括以下功能:
- 图表是使用简单直观的文本语言定义的。
- C4插件
- 序列图
- 用例图
- 类图
- 对象关系图
- 活动图(此处为传统语法)
- 组件示意图
- 部署示意图
3️⃣ Ilograph
允许使用带有自动布局的YAML绘制交互式图表,当您想要查看不同的透视图时可以更改视图。
免费和付费。
最适合那些想要基于web的解决方案来可视化以代码形式编写的图表的半技术人员。
它包括以下功能:
- 并排代码编辑
- 图表对象的自动布局
- 动态布局,根据透视图更改图表
- 在图中显示用例的图序列
🖼️ Diagramming tools
图表最适合在对话和想法实验中快速绘制草图。它们很容易制作,但经常被扔掉,很难跟上时代。
1️⃣ Diagrams.net
是一个流行的免费绘图工具,具有很高的灵活性,可以绘制从流程图到房屋蓝图的任何内容;具有将数据存储在您选择的位置的选项。
自由的
最适合需要灵活性的快速图表,并且技术人员和非技术人员可以轻松访问。
它包括以下功能:
- 扩展形状库
- 正在建立模板
- 完全灵活的绘图
- 可定制的存储和集成
2️⃣ Lucidchart
是一个具有模板和形状类型的协作绘图工具,用于创建许多图表类型,如流程图、流程图、思维导图等。
免费和付费。
最适合在快速灵活的图表上进行协作的团队。
它包括以下功能:
- 与您的团队进行实时协作
- 连接到数据
- 与堆栈中的其他工具集成
- 帮助指导您的模板
- 一个学习校园,学习你可以在工具中做什么
3️⃣ Miro
是一个协作白板工具,带有模板和基于团队的工具,有助于促进研讨会。
免费和付费。
最适合在图表上进行协作并为研讨会提供便利的团队。
它包括以下功能:
- 在交互式白板上进行实时编辑
- 鼠标悬停在协作上,查看谁在查看您的图表
- 计时器和投票等研讨会便利工具
- 社区制作模板
🏁
结束
有很多软件体系结构工具可供选择,首先要考虑创建体系结构可视化的原因,这一点很重要。如果只是简单地可视化一个潜在解决方案的想法,我们建议使用一些快速的工具,比如绘图工具,但预计从长远来看不会那么有用。
如果你想创建一个别人会在很长一段时间内参考的工件,我们建议你使用建模工具。从长远来看,建模工具更有益的原因是,你可以通过简单地更新模型来推动所有图表的更改,而使用绘图工具,你必须查找该对象的每个实例,以保持设计的同步。
保持冷静🧊
- 569 次浏览