2 回答

TA贡献1873条经验 获得超9个赞
事实上,我不确定将项目的所有类放入一个类图中是一个好主意,因为结果对于很多类来说是不可读的,例如您可以使用我的工具BoUML来做到这一点。下载/安装/运行后:
创建一个新项目
在全局菜单语言中选择 Java
对于出现的第一个目录对话框,请按“取消”按钮(您没有java 目录),然后对于第二个目录对话框,选择包含要建模的所有 Java 源的根目录,然后等待结束
在左侧的浏览器中,在任何已创建的类视图或您自己创建的新类视图中,单击鼠标右键并选择“新建类图”,然后双击将其打开
可能您需要隐藏图中类的详细信息以限制其大小(您可以稍后执行此操作,但最好立即执行此操作,以防您有很多类),在这种情况下,请右键单击图表或将其放入浏览器中编辑绘图设置并将设置设置为“是”隐藏类属性和隐藏类操作然后确认(按钮“确定”)
使用顶部的双目按钮(靠近打印按钮),将种类更改为类,然后使用按钮搜索,然后标记它们,然后关闭
进入打开的图表(显示在窗口的右侧部分),单击鼠标右键并选择添加标记元素,将类放置在随机位置,然后重做鼠标右键单击并选择自动布局(当然,您也可以自己移动类) )
正如您所看到的,类之间的所有关系都被绘制出来,而不仅仅是泛化/实现。如果您只需要它们,而不必一一隐藏所有其他关系,您可以开发一个插件来标记模型的所有类和泛化/实现,然后更改我给出的过程:
当您编辑绘图设置时,也进入第二个选项卡并设置为“否”设置绘制所有关系
而不是使用浏览器搜索(双目按钮)来选择所有类,而是使用您的插件
无论如何,再次将所有类显示在一个图表中并不是一个好主意,除非您的类很少。

TA贡献1909条经验 获得超7个赞
尽管 BoUML 在这方面做得不错,但对于大型项目来说,它并不漂亮。
为了获得更好的解决方案,从源代码完全自动创建基本但完整的类图,请尝试我用 Java 编写的简单提取器:https: //github.com/folterj/ClassDiagramExtractor
该项目使用反射,并从文件夹(和子文件夹)中的所有包生成图表。
笔记:
没有命令行选项 - 在代码中克隆并运行设置源文件夹
这会生成一个与 GraphViz(点)一起使用的 gv 文件
结果看起来相当不错,因为它将包分组在一起,甚至使用了颜色。
添加回答
举报