应用程序生成Java类层次结构图
寻找一种工具:
- 产生视觉上令人愉悦(不是花哨)的正交结构图层次结构
- 输出高质量的PNG图像(300dpi +)
- 可视化区分类,抽象类,接口和枚举类型(最好通过颜色)
- 交互式用户界面
- 允许从图中修剪包和/或单个类
- 种子(例如, 文件»打开 )使用一组:
- 目录
- JAR文件
- 单个源文件
- 个别编译类
- 对类依赖关系执行全自动分析
- 搜索类路径以尽可能多地解析未满足的依赖项
- 使用单个可执行文件
- 轻巧(~5MB)和快速(平均1.5GHz机器在一秒钟内加载)
- 很简单(在10次点击下生成图表)
- 快速(几秒钟内绘制100个对象)
- 易于使用(界面最小,专注于图形生成)
- 是OSS还是GPL
- (可选)生成调用图层次结构
无法完成此任务的工具包括:
- Doxygen + GraphViz(或点)
- 日食
- UML建模者
- Java的结构分析(无法解析源文件)
- JUDE社区(awkard界面,不适合自动生成)
- 集成开发环境(太复杂,使用太多内存)
有任何想法吗?
答案可能是“没有这样的OSS /免费应用程序”。 为什么? 因为:
- 大多数想要大量类的inheritance图的人已经在IDE或类似的上下文中工作。 因此,OSS开发人员很少有动力制作这样的工具。
- 几乎不可能自动创建大量类的视觉吸引人的图表。
我建议你放宽你的要求。 我的意思是,使用大型IDE或UML建模器有什么问题? 记忆很便宜。 等待几秒钟加载/运行图表有什么问题? 耐心的蚱蜢! 有2天培训的高中学生将会看到10,000多个课程的源代码库?
Class Visualizer似乎满足您的所有要求(除了将图表保存为PNG)。
Netbeans UML插件将满足您的一些要求。
- 产生视觉上吸引人的图形层次结构: 品味问题
- 写出高质量的PNG图像(300dpi +): 我不知道
- 可视化区分类,抽象类,接口和枚举类型: 是的,因为它使用UML
- 交互式用户界面: 是的
- 允许从图中修剪包和/或单个类:是的
- 种子(例如,文件»打开)使用一组: 它与netbeans项目一起使用
- 目录
- JAR文件
- 单个源文件
- 个别编译类
- 执行全自动分析: 也许
- 使用单个可执行文件: 不适用,它是Netbeans的插件
- 轻巧快速: 像netbeans一样
- 简单,快速,易于使用: 取决于用户
- 是OSS还是GPL: 我认为它是OSS,当然它在免费饮料中是免费的
- (可选)生成一个调用图层次结构(除了类层次结构): 我不认为它