如何从 java 代码生成系统架构?

How to generate System Architecture from java code?

我所说的系统架构是指软件系统的计算组件和这些组件中的 interactions/relationship。组件可以是任务、进程、对象或模块等。不同的组件通过连接器连接(过程调用、隐式调用、消息传递、实例化、共享数据库等)。

我已经使用 Visual Paradigm 通过逆向工程生成了 UML 图,但我也可以生成架构吗?

由于组件和交互在代码中可能不明确,因此在一般情况下您无法自动生成此类图表。您应该研究应用程序的不同方面:源代码、现有文档、用户界面、配置、jira 任务等,并尝试恢复原始架构。

"architecture" 只是一些代码属性的 a 视图,不会很快改变。 (如果 属性 变化很快,它就不是架构的基础)。

从这个角度来看,UML图是一种架构。调用图也是如此,您可能选择的任何模块化方案也是如此。

教训是 "extracting architecture" 首先需要您决定要抽象地查看代码的哪些属性,然后构建(如果可以)机制来提取该信息。

由于人们大多不同意哪些属性有用,因此您会收到很多关于 "what's an (my favorite) architecture" 的争论,并且您不会得到很多工具,因为它们很难构建并且有很多其中