Создание диаграммы classов UML из Java Project

Есть ли хороший инструмент, который может помочь преобразовать classы Java в UML, который покажет обзор того, как мои classы связаны друг с другом? Это не нужно декомпилировать из JAR-файла, потому что у меня есть источники. Я знаю, что их довольно много, но большинство из них могут генерировать только индивидуальный class. Я надеюсь, что есть инструмент, который может генерировать диаграмму classов, которая показывает общий обзор того, как все мои текущие classы и пакеты работают вместе, чтобы я мог проанализировать мой текущий дизайн архитектуры. Конечно, анализ – это одно. Другое для документации.

До сих пор я знаю несколько. Но они не могут составить обзорную диаграмму classов. Вот список инструментов Java UML, которые я пробовал и способен выполнять обратный инженер, но не могу сделать обзорную диаграмму classов для всего моего проекта:

  • StarUML (действительно хороший инструмент Uens Opensource, но не может генерировать диаграмму classа обзора)
  • ArgoUML (он медленный и вялый, и он продолжает сбой)
  • UModel (Это коммерческое программное обеспечение, которое я использовал раньше, но было трудно использовать)
  • MS Visio (он не поддерживает обратный инженер Java UML, только для VB)

Существуют ли какие-либо другие рекомендации для добавления в этот список? И, надеюсь, можно создать обзорную диаграмму classов Java. Кстати, я использую Eclipse.

    Я использую плагин eUML2 от Soyatec, под Eclipse, и он отлично работает для генерации UML, предоставляя исходный код. Этот инструмент полезен до Eclipse 4.4.x

    Класс Visualizer делает это. Это бесплатный инструмент, который обладает всеми перечисленными функциями – я лично использую его для тех же целей, как описано в этом сообщении. Для каждого просматриваемого classа он показывает 2 мгновенно сгенерированные диаграммы classов: отношения classов и представление classа UML. Диаграмма отношений classов позволяет проходить через всю структуру. Он имеет полную поддержку аннотаций и дженериков, а также специальную поддержку для субъектов JPA. Очень хорошо работает с большими проектами (тысячи classов).

    Я бы сказал, что MoDisco на сегодняшний день является самым мощным (хотя, вероятно, не самым простым из них для работы).

    MoDisco – это общая инфраструктура обратной инженерии (так что вы можете настроить свой проект обратной инженерии, а MoDisco вы можете даже перепроектировать поведение java-методов, а не только структуру и подписи), но также включает в себя некоторые предопределенные функции, такие как генерация classа диаграммы из кода Java, которые вам нужны.

    Как насчет плагина Omondo для Eclipse. Я использовал его, и я считаю его полезным. Хотя, если вы создаете диаграммы для больших источников, вам может потребоваться запустить Eclipse с большим объемом памяти.

    Давайте будем гением компьютера.