Создание диаграммы классов - PullRequest
8 голосов
/ 26 мая 2009

HI Все, что я нахожусь в конце выпуска моего проекта. Поэтому, чтобы продолжать работать, наш менеджер попросил нас сгенерировать диаграммы классов для кода, который мы написали. Это средний проект с 3500 java-файлами. Так что я думаю, что мы Нужно сгенерировать диаграммы классов. Прежде всего мне нужно знать, как работает обратный инжиниринг. Также я искал некоторые инструменты в Google (зеленый, фиолетовый), но не уверен будь они какой-либо помощи. Пожалуйста, предложите мне, как продолжить. Также приветствуется хорошее начальное руководство.

Ответы [ 10 ]

8 голосов
/ 04 июня 2009

Я настоятельно рекомендую BOUML . Его обратная поддержка Java абсолютно ROCK SOLID .

BOUML имеет много других преимуществ:

  • это чрезвычайно быстро ( самый быстрый инструмент UML, когда-либо созданный, посмотрите тесты ),
  • имеет отличную поддержку импорта C ++, Java, PHP и других,
  • это мультиплатформенность (Linux, Windows, другие ОС),
  • имеет большую поддержку экспорта в SVG, что важно, потому что просмотр больших графиков в векторном формате, который быстро масштабируется, например, Firefox, очень удобен (вы можете быстро переключаться между видом «с высоты птичьего полета» и представлением класса),
  • это полнофункциональный, впечатляюще интенсивно разработанный (посмотрите историю разработки , трудно поверить, что такой быстрый прогресс возможен).
  • поддерживает плагины, имеет модульную архитектуру (это позволяет вкладов пользователей , похоже, что сообщество BOUML формируется)
6 голосов
/ 26 мая 2009

Инструмент, который вы хотите использовать: Doxygen . Это похоже на Javadoc, но работает на нескольких языках. Если выяснить зависимости, и может вызвать graphviz для визуализации диаграмм классов. Вот пример нескольких классов Java, запускаемых через Doxygen .

3 голосов
/ 26 мая 2009

Это скорее набор инструментов, чем инструмент, и я сам не пробовал его. Но это может быть отправной точкой. Использование UMLGraph , ant и GraphViz . Объясняется шаг за шагом: в этой статье .

2 голосов
/ 29 апреля 2013

ObjectAid довольно приятно. Вы можете перетащить классы в диаграмму и расположить их так, как вы хотите.

2 голосов
/ 28 мая 2009

Вы можете иметь возможность перепроектировать диаграммы классов с помощью инструмента моделирования с открытым исходным кодом ArgoUML http://argouml.tigris.org/

2 голосов
/ 26 мая 2009

Я использовал Visual Paradigm для UML для того, что вы хотите сделать, и это было довольно хорошо.

Подробнее см. здесь .

Просто зайдите в Инструменты -> Мгновенный обратный ход и выберите ваши пакеты.

1 голос
/ 27 мая 2009

Полагаю, если ваш начальник просто захочет вас занять, пока не начнется следующий проект, тогда в этом нет никакого вреда, но вы обнаружите, что создание диаграммы классов с 3500 классами довольно быстро ничего вам не скажет. На самом деле вам не нужна диаграмма с более чем 10 классами. Поэтому, как только вы перевернули весь код в свой инструмент моделирования, вы захотите начать упорядочивать и упорядочивать, чтобы найти смысл. Создайте новую диаграмму, поместите на нее один важный класс и внесите все классы, которые имеют непосредственное отношение к этому классу. Повторите для, возможно, 300 наиболее значимых классов. Не волнуйтесь, это не так ужасно, как кажется, возможно, недельная работа.

Кстати, мой инструмент моделирования - Enterprise Architect от Sparx Systems . Это обратит исходные тексты Java или файлы .jar. Существует бесплатная 30-дневная пробная версия.

1 голос
/ 26 мая 2009

Visual Paradigm для UML Standard Edition (или лучше) преобразует файлы Java в диаграммы классов.

0 голосов
/ 27 мая 2009

Я использую Enterprise Architect уже несколько лет. Разработчик JBoss предложил мне это. Он очень хорошо работает для всех типов UML-моделирования, включая реверс-инжиниринг моделей классов (Java, C # и другие). Базовая версия в настоящее время стоит 120 долларов за место, но она обладает большинством возможностей гораздо более дорогих инструментов, и ее гораздо легче освоить. Мне особенно нравится его способность генерировать HTML и RTF документацию.

Очень легко синхронизировать код между инструментом и вашим исходным кодом. Даже двунаправленный, если хотите.

Вашему PM также могут понравиться диаграммы действий и последовательности, которые он может создать. Я также часто использую схемы развертывания. Очень полезно иметь все это в одном инструменте.

0 голосов
/ 26 мая 2009

Есть несколько инструментов, которые помогут вам сгенерировать эти диаграммы. Это стоит денег.

В противном случае вы можете попытаться проанализировать ваши файлы Java. Это может быть так же просто, как создать простой парсер, который читает файлы Java, записывает имя класса и все операторы импорта в файл и генерирует оттуда диаграмму классов. graphviz может вам помочь

...