逆向工程Delphi代码-UML

逆向工程Delphi代码-UML,delphi,uml,delphi-xe4,Delphi,Uml,Delphi Xe4,我对UML完全陌生,目前正在使用Delphi XE4的试用版。我正在尝试为使用Delphi2009构建的项目创建UML设计。当我在DelphiXe4中打开项目时,我能够在“模型视图”选项中看到每个pas文件的类图,但类之间没有关系。我的项目中有100多个pas文件 我不清楚是否可以自动获取所有UML图?或者我需要手动创建每个图表 基本上,我想知道我当前的项目迁移到JAVA的复杂程度。我想做逆向工程 据我所知,IDE内置的UML图支持不会将代码反向工程到图中。各种第三方工具声称具有这种能力,例如M

我对UML完全陌生,目前正在使用Delphi XE4的试用版。我正在尝试为使用Delphi2009构建的项目创建UML设计。当我在DelphiXe4中打开项目时,我能够在“模型视图”选项中看到每个pas文件的类图,但类之间没有关系。我的项目中有100多个pas文件

我不清楚是否可以自动获取所有UML图?或者我需要手动创建每个图表


基本上,我想知道我当前的项目迁移到JAVA的复杂程度。我想做逆向工程

据我所知,IDE内置的UML图支持不会将代码反向工程到图中。各种第三方工具声称具有这种能力,例如ModelMaker、Enterprise Architect、Rational Rose等。

据我所知,IDE内置的UML图表支持不会将代码反向工程到图表中。各种第三方工具声称具有这种能力,例如ModelMaker、Enterprise Architect、Rational Rose等。

我可以证明ModelMaker在这方面的能力。“我以前使用过它们,发现它们非常有用。@Marjan无论这个工具有多好,都希望从自动创建的100多个源文件的图表中获得更多的意义吗?”?我不确定是否有任何工具可以对此提供有意义的信息。但我问,因为我个人对图表的使用经验很少。不,不是从自动创建的图表。除非对一些非常琐碎的代码进行自动生成,否则任何自动生成的图都不会真正有用。但它们是一个起点。我的方法是在ModelMaker中加载所有内容,识别核心类/接口,并从ModelMaker中的类/接口开始绘制图表。这是熟悉代码库的好方法。特别是当你不必再担心单位时(除非你打算重新生成源代码,因为MM是一个完全双向的工具)。作为练习,试着在UML中可视化一个15行的快速排序过程,或者用一个只有一个按钮的表单创建一个应用程序的完整类图。您会很快意识到UML只在特定情况下有用,而代码(甚至pascal)是描述和指定算法的非常有效的方法。我可以证明ModelMaker在这方面的能力。“我以前使用过它们,发现它们非常有用。@Marjan无论这个工具有多好,都希望从自动创建的100多个源文件的图表中获得更多的意义吗?”?我不确定是否有任何工具可以对此提供有意义的信息。但我问,因为我个人对图表的使用经验很少。不,不是从自动创建的图表。除非对一些非常琐碎的代码进行自动生成,否则任何自动生成的图都不会真正有用。但它们是一个起点。我的方法是在ModelMaker中加载所有内容,识别核心类/接口,并从ModelMaker中的类/接口开始绘制图表。这是熟悉代码库的好方法。特别是当你不必再担心单位时(除非你打算重新生成源代码,因为MM是一个完全双向的工具)。作为练习,试着在UML中可视化一个15行的快速排序过程,或者用一个只有一个按钮的表单创建一个应用程序的完整类图。你会很快意识到UML只在特定情况下有用,而代码(甚至pascal)是描述和指定算法的非常有效的方法。听起来你想通过查看UML表示然后在Java中应用它来避免学习Delphi。我不得不让你失望。如果您需要更新此软件,您必须深入了解代码并确保您了解它的功能。将它移植到Java甚至会迫使您阅读和理解原始代码的每一行。谢谢Wouter,我真的不想避免Delphi,我想坚持使用它。但供应商希望使用Java或任何其他技术,目前没有选择权。我对代码的功能和所有功能都有了概念。我们正试图发现,转向其他技术会有多复杂。这就是为什么我需要UML图来可视化复杂性。我不清楚所有的图都会自动创建吗?我在网上搜索了一下,但没有找到任何有价值的材料,这让我对这一点有所了解。听起来你想通过查看UML表示然后在Java中应用它来避免学习Delphi。我不得不让你失望。如果您需要更新此软件,您必须深入了解代码并确保您了解它的功能。将它移植到Java甚至会迫使您阅读和理解原始代码的每一行。谢谢Wouter,我真的不想避免Delphi,我想坚持使用它。但供应商希望使用Java或任何其他技术,目前没有选择权。我对代码的功能和所有功能都有了概念。我们正试图发现,转向其他技术会有多复杂。这就是为什么我需要UML图来可视化复杂性。我不清楚所有的图都会自动创建吗?我在网上搜索了一下,但没有找到任何有价值的资料,这使我对这件事有了概念。