Есть хороший инструмент, который может помочь преобразовать Java-классы в UML, который покажет обзор того, как мои классы связаны друг с другом? Не нужно декомпилировать из файла JAR, потому что у меня есть исходники. Я знаю, что их довольно много, но большинство из них могут генерировать только индивидуальный класс. Я надеюсь, что есть инструмент, который может генерировать диаграмму классов, которая показывает обзор того, как все мои текущие классы и пакеты работают вместе, чтобы я мог проанализировать мой текущий дизайн архитектуры. Конечно, анализировать это одно. Другой для целей документации.
Я знаю о некоторых до сих пор. Но они не могут сделать обзорную диаграмму классов. Вот список Java UML-инструмента, который я пробовал и способен выполнять обратный инжиниринг, но не могу сделать обзорную диаграмму классов всего моего проекта:
- StarUML (действительно хороший инструмент с
открытымисходнымкодомUML, но не может генерировать не обзорную диаграмму классов) - ArgoUML (он медленный и вялый и продолжает падать)
- UModel (Это коммерческое программное обеспечение. Я использовал раньше, но мне было трудно его использовать)
- MS Visio (не поддерживает реверс-инженера Java UML. Только для VB)
Есть ли другие рекомендации, чтобы добавить в этот список? И, надеюсь, может создать обзорную диаграмму классов Java. Кстати, я использую Eclipse.
Ответы:
Я использую плагин eUML2 от Soyatec под Eclipse, и он отлично работает для генерации UML, предоставляющего исходный код. Этот инструмент полезен до Eclipse 4.4.x
источник
Я написал Class Visualizer , который делает это. Это бесплатный инструмент, который обладает всеми упомянутыми функциями - я лично использую его для тех же целей, которые описаны в этом посте. Для каждого просматриваемого класса показаны 2 мгновенно сгенерированные диаграммы классов: отношения классов и представление UML класса. Диаграмма отношений классов позволяет пройти через всю структуру. Он имеет полную поддержку аннотаций и обобщений, а также специальную поддержку объектов JPA. Очень хорошо работает с большими проектами (тысячи классов).
источник
Как насчет плагина Omondo для Eclipse. Я использовал это, и я считаю это весьма полезным. Хотя, если вы генерируете диаграммы для больших источников, вам, возможно, придется запустить Eclipse с большим объемом памяти.
источник
Я бы сказал, что MoDisco на сегодняшний день является самым мощным (хотя, вероятно, не самым легким в работе).
MoDisco - это универсальная среда обратного инжиниринга (так что вы можете настроить свой проект обратного инжиниринга, с помощью MoDisco вы можете даже перепроектировать поведение java-методов, не только структуру и сигнатуры), но также включает некоторые предопределенные функции, такие как генерация класса. диаграммы из кода Java, который вам нужен.
источник