使用 Eclipse 插件从现有代码中生成大型 Java 类图。

4
我正在寻找一个能够从现有Java代码中创建大型类图的Eclipse插件(免费/开源)。我发现了一些可以从Java代码和相反方向创建图表的插件,但是项目有许多包(大约80个)和类/接口(大约1000-1500个),我想为整个代码创建一个图表,并拥有不同的选项(例如,在生成的图表中不包括接口或者为某些包创建图表)。我知道这张图很大,但这正是我想要用一个单独的图表来代表这个项目(省略不重要的类、接口、包等,以及成员和方法名称)。
2个回答

3

插件能否根据指定的包创建图表?还是我需要选择每个要在图表中表示的类?:) - Andrei F
@ice13ill 使用ObjectAid。它可以满足你的需求。 - Sai Ye Yan Naing Aye
我已经安装了它,但似乎无法从“src”类(或来自任何其他包的类)生成图表。如果我想要包含它们所有(或几乎所有),我是否必须从每个包中选择每个类? - Andrei F
无论如何,我扩展了我的项目树,并将所有类(约1000个)添加到我的新图表中。不幸的是,每次我滚动图表时(大约2分钟),我的eclipse都会冻结。此外,生成的图表似乎具有大约100/1的宽度/高度比。 - Andrei F
好吧,看来我还是得为不同的层/系统/包创建单独的图表……即便如此,仅展示公共方法来表示几乎所有类可能也会很困难。 - Andrei F

2
项目规模令人印象深刻。在开始绘制图表之前,请尝试回答以下问题:
  • 你会创建多少个图表(大约)?
  • 你会花费多少时间来绘制一个图表(平均值)?
  • 总估计和允许的时间投入是多少?
  • 成果是否值得这样做?
  • 结构是否在发生变化?
  • 在将模型与更改的代码同步后,需要投入多少时间来进行图表审查和修复?
  • 需要投入多少时间来维护图表?
在提到这样的项目规模时,最有可能的结果不值得这样做,并且最有可能的是模型和图表将不断过时。
即使是更小的项目(<100个类单元),我也遇到了类似的情况。我尝试了一些独立工具-最好的是商业软件Enterprise Architect,接下来是JUDE(目前为astah*,但他们从社区版中削减了导入功能)。然而,它们和其他工具没有发现依赖关系,没有显示参数化类型(List<Something>)并且没有显示注释。
因此,最后我开始使用免费的UML浏览器/导航器-Class Visualizer。这就像使用交互式地图与扫描纸质地图一样。它允许查看所选类及其所有关系:超类、实现的接口、子类、引用类(关联、依赖项)、使用情况(关联、依赖项)。它处理和显示参数化类型和注释。我可以通过关系导航到其他类。所选类呈现为带有所有细节的关系-无关系。我在您的规模项目上尝试过-包含数百个关系的图表会立即生成。而且它的存储库是编译Java项目,因此在模型与代码同步方面没有问题。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接