代码之家  ›  专栏  ›  技术社区  ›  yegor256

在Java代码中嵌入UML最常用的方法是什么?

  •  1
  • yegor256  · 技术社区  · 14 年前

    我试图将UML序列图和类图添加到Java代码中,以解释其内部和设计概念。我希望在JavaDoc块中指定这些图,然后将其转换为附加到API HTML的PNG/GIF图像。

    我可以使用什么工具来实现这个过程的自动化(我使用的是Maven 3)?

    3 回复  |  直到 14 年前
        1
  •  5
  •   dogbane    14 年前

    UML Diagrams within Javadocs : 本文展示了在Javadoc中包含UML图是多么容易和简单,并且还可以随着源代码存储库中的每一个更改而更新它们。

        2
  •  1
  •   Grim    6 年前

    我写了一个 ant/maven plugin 它使用javadoc绘制动画/图像。

    enter image description here

        3
  •  0
  •   ChrisF    10 年前

    我认为应该更新模型,而不仅仅是转换成PNG/GIF等的图表。。。。 生成自动图表没有实际价值。 例如,在一个自动生成的图表中显示一个巨大的类及其所有方法(例如,有时超过100个)有什么意义?你可能会得到一个巨大的图表,不明白为什么这段代码已经被写了,也不明白架构等等……你只是看到了你的代码的一个图形视图,这不是UML的目标!!

    我在项目中为代码所做的工作是使用以下功能:

    • show hide java doc在我的UML类图中显示java doc

    • 为了得到一个序列图,我还使用了方法的相反部分。

    • 我最欣赏的是能够在代码中实时导航,然后提取我的模型,并且只在模型中导航。我可以为我想要的任何东西建模,并在给开发团队之前尝试新的架构。

    我认为JavaDoc中包含的自动图表生成不是应该做的事情。如果您只需手动5分钟,您就可以用所有更改更新您现有的模型。您将能够创建自定义UML视图,在其中您将能够添加注释。拥有视图将为团队提供更好的信息,同时节省时间并为代码添加质量。

    您可以做的是为每个开发人员提供一个UML查看器,并在JavaDoc中提供一个链接。开发人员只需要点击链接,就可以打开自动更新的关系图。不再痛苦的图像导出,错误的更新,因为一旦图像已经创建,是不可能改变它。你仍然可以创建新的图像,但你失去了你的评论,演示等。。。。。只得到一个包含所有方法、属性等的静态巨图…无法检测高级关联和依赖关系。只有继承检测是正确的!!

    您的UML模型可以与maven和SVN一起使用,为您的项目和建模带来真正的价值,而这是图像导出无法实现的。在我看来,您试图使用UML图只是为了将UML添加到您的项目中,但是添加一个没有视图、注释等的严重反向项目的图像导出…不是UML,在Java项目中没有价值