Створення діаграми класів UML з Java Project [закрито]


200

Чи є хороший інструмент, який може допомогти повернути інженерні класи Java на UML, який покаже огляд того, як мої класи пов’язані між собою? Це не потрібно декомпілювати з файлу JAR, оскільки у мене є джерела. Я знаю, що там є досить багато, але більшість з них може генерувати лише індивідуальний клас. Я сподіваюся, що існує інструмент, який може генерувати діаграму класів, яка показує огляд того, як всі мої поточні класи та пакети працюють разом, щоб я міг проаналізувати свій сучасний дизайн архітектури. Звичайно, аналіз - це одне. Інший - для цілей документації.

Я знаю декількох поки що. Але вони не можуть скласти оглядову діаграму класів. Ось перелік інструменту Java UML, який я спробував і здатний робити інженером зворотного зв'язку, але не можу скласти оглядну схему класів усього мого проекту:

  • StarUML (Дійсно хороший інструмент UML Opensource , але не може створити не оглядову схему класів)
  • ArgoUML (це повільно і мляво, і він постійно падає)
  • UModel (Це комерційне програмне забезпечення. Я користувався раніше, але важко було використовувати)
  • MS Visio (Не підтримує інженер зворотного зв'язку Java UML. Тільки для VB)

Чи є якісь інші рекомендації, які потрібно додати до цього списку? І, сподіваємось, можна створити огляд діаграми класів Java. Я, до речі, використовую Eclipse.


1
Просто для додання ще декількох можливостей, у Eclipse є Папірус. Але плагін генерації коду, на жаль, не працював для мене. У ньому занадто багато залежностей для встановлення. Зрештою, я використовував eUML2.
Карвен

Ви можете перевірити UML-лабораторію - вона комерційна - але вона має дуже складну та настроювану реверсивну інженерію (і в обидва кінці).
Крістіан

Є безкоштовний інструмент під назвою JGrasp, який може допомогти.
HRJ

Я використовував цей метод: youtube.com/watch?v=HwBep8DmBVw, лише недоліком є: це не безкоштовно, але ви можете мати 30-денний пробний термін, що було достатньо в моєму випадку. ПРИМІТКА: Це не моє відео, я просто знайшов його під час гуглінгу.
dazito

@Carven, будь ласка, дайте мені знати, який плагін ви використовували? В даний час я шукаю автоматичну генерацію діаграм послідовності при виконанні junit / test.
Користувач27854

Відповіді:


46

Я використовую плагін eUML2 від Soyatec, під Eclipse, і він чудово працює для генерації UML, даючи вихідний код. Цей інструмент корисний до Eclipse 4.4.x


Чи має безкоштовне видання цю особливість?
Карвен

так. Я використовую безкоштовне видання.
Гейзенбуг

1
Дякую! ;) Я не пробував цього, бо завжди думав, що у вільній версії немає коду для генерації UML.
Карвен

38
Це смокче. Важкий. Вказівки хочуть, щоб користувачі прифіксували всі властивості знаком 'f', щоб нюхати їх. Це також є руйнівним і додає купу власних коментарів до ВСІХ файлів класу. Також інструкції не інтуїтивно зрозумілі. Якщо хтось може спростувати мій досвід (на основі поточної версії в Kepler), будь ласка, зробіть це. І лише три тижні випробування. Видалення зараз.
туди

1
мені це не сподобалось. Не сумісна остання версія затемнення / кисню.
Тайфун Яшар

109

Я написав Class Visualizer , який це робить. Це безкоштовний інструмент, який має всі згадані функціональні можливості - я особисто використовую його для тих же цілей, що описані в цій публікації. Для кожного переглянутого класу він показує 2 миттєво генеровані діаграми класу: відносини класів та представлення класу UML. Діаграма класових відносин дозволяє пройти всю структуру. Він має повну підтримку анотацій та загальних даних, а також спеціальну підтримку для організацій JPA. Дуже добре працює з великими проектами (тисячі класів).


8
Програма дійсно гарна. Дякуємо, що створили його та за посилання.
Ігор Родрігес

17
Іонатан, як акт ввічливості, можна / повинен додати відмову у відповіді, коли пропонують товари, послуги та ін., В яких бере участь
dbm

2
Це серйозно круто. З огляду на наш дуже десятиліття дуже складний проект - більша частина коду - це vintage JDK 1.1 - це дає чудовий огляд того, як пов’язані речі. Як доповнення до вихідного коду та Javadoc, він надає величезну цінність у приголомшливій ціні.
gerardw

2
Чи є клас Visualizer непересічним корисним інструментом? ТАК. Як ми платимо за це? Це безкоштовно завантажити! Як ми вчимося ним користуватися? Провів відео 10 хвилин!
Мартін Мізер

2
У мене є клас, який викликає метод іншого класу в тому ж проекті / папці, але інший клас не відображається. Я додав усі можливі залежності, включаючи всі Jdk8 банки. я щось пропустив?
Сила Водолія

2

Як щодо Omondo Plugin для Eclipse. Я користувався ним і вважаю це досить корисним. Хоча якщо ви генеруєте діаграми для великих джерел, можливо, доведеться запускати Eclipse з більшою кількістю пам'яті.


Посилання не працює
Blip

2

Я б сказав MoDisco на сьогоднішній день є найпотужнішим (хоча, мабуть, не найпростішим).

MoDisco - це загальна рамка зворотного інжинірингу (щоб ви могли налаштувати свій проект зворотного проектування; за допомогою MoDisco ви навіть можете змінити інженеру поведінку методів java, не тільки структуру та підписи), але також включає деякі заздалегідь визначені функції, такі як генерація класу діаграми з коду Java, який вам потрібен.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.