应用程序生成Java类层次结构图

时间:2009-07-22 23:00:30

标签: java visualization class-hierarchy call-graph

寻找一个工具:

  • 产生视觉上令人愉悦(不是花哨)的正交结构图层次结构
  • 输出高质量的PNG图像(300dpi +)
  • 以视觉方式区分类,抽象类,接口和枚举类型(最好通过颜色)
  • 交互式用户界面
  • 允许从图表中修剪包和/或单个类
  • 种子(例如文件»打开)使用以下一组:
    • 目录
    • JAR文件
    • 个别源文件
    • 个别编译类
  • 对类依赖关系执行全自动分析
  • 搜索classpath以尽可能多地解析未满足的依赖项
  • 使用单个可执行文件
  • 重量轻(约5MB)且速度快(在平均1.5GHz机器上负载不到一秒)
  • 很简单(只需点击10次即可生成图表)
  • 快速(几秒内图表100个对象)
  • 易于使用(界面最小,专注于图形生成)
  • 是OSS还是GPL
  • (可选)生成调用图层次结构

无法完成此任务的工具包括:

  • Doxygen + GraphViz(或点)
  • 的Eclipse
  • UML建模者
  • Java的结构分析(无法解析源文件)
  • JUDE社区(awkard界面,不适合自动生成)
  • 集成开发环境(过于复杂,使用太多内存)

有什么想法吗?

3 个答案:

答案 0 :(得分:3)

答案可能是“没有这样的OSS /免费应用程序”。为什么?这是因为:

  1. 大多数想要继承的人 大量类的图表已经在上下文中工作 IDE或类似的。因此,OSS开发人员很少有动力制作这样的工具。
  2. 直观地自动创建 吸引人的大量图表 班级几乎是不可能的。
  3. 我建议你放宽你的要求。我的意思是,使用大型IDE或UML建模器有什么问题?记忆很便宜。等待几秒钟加载/运行图表有什么问题?耐心的蚱蜢!有两天训练的高中生将会看到10,000多个班级的源代码库?

答案 1 :(得分:3)

似乎Class Visualizer符合您的所有要求(将图表保存为PNG除外)。

答案 2 :(得分:2)

Netbeans UML插件将满足您的一些要求。

  • 制作视觉上吸引人的图表层次结构:品味
  • 写入高质量的PNG图像(300dpi +):我不知道
  • 以视觉方式区分类,抽象类,接口和枚举类型:是的,因为它使用UML
  • 交互式用户界面:
  • 允许从图表中修剪包和/或单个类:是
  • 种子(例如,文件»打开)使用一组:它适用于netbeans项目
    • 目录
    • JAR文件
    • 个别源文件
    • 个别编译类
  • 执行全自动分析:可能
  • 使用单个可执行文件:不适用,它是Netbeans的插件
  • 轻巧快速:喜欢netbeans
  • 简单,快速且易于使用:取决于用户
  • 是OSS还是GPL:我认为它是OSS,肯定是免费饮料
  • (可选)生成调用图层次结构(除了类层次结构):我不认为