Как создать диаграмму классов из исходного кода, используя Enterprise Architect или Rational Software Architect?
Я не владею UML, но я хотел бы создать диаграмму классов на основе существующего кода C++. Другие вопросы Stackru указывают на то, что две программы - Enterprise Architect и Rational Software Architect - достаточно хороши в "обратном проектировании" кода C++ (т. Е. В создании диаграмм классов UML на основе существующего кода C++).
Я скачал пробную версию для обоих этих приложений. Однако я не могу понять, что делать, чтобы создать диаграмму классов в любом из этих приложений.
В Rational Software Architect я создал UML-проект, но я не могу найти какой-либо способ в программе выбрать и выполнить обратный инжиниринг моего существующего кода C++.
В Enterprise Architect мне удалось импортировать мой код C++, но все элементы (классы) появились в бесполезной пересекающейся диагональной линии на диаграмме. Я пробовал другие настройки, такие как круг, но их было одинаково невозможно прочитать, потому что диаграммы были настолько большими (из-за атрибутов и методов, занимающих много места), что никакие панорамирование и масштабирование не были полезны. Я хотел бы скрыть все, кроме имен классов (то есть не отображать какие-либо методы или атрибуты), чтобы все 20 классов отображались на одном экране удобно и разборчиво.
Однако я не могу найти способ скрыть все, кроме имен классов. Скорее, когда я нашел вариант (в Enterprise Architect), который, казалось, мог скрыть все, кроме имен классов, по какой-то причине все элементы исчезли в диаграмме классов, и не было никакого количества повторений шагов, удаления и повторного добавления пакетов. заставил диаграмму классов появиться снова.
Примечание. Мой код C++ (по крайней мере, те файлы, которые я выбрал для импорта в Enterprise Architect) насчитывает всего около 20 классов.
К сожалению, очень тщательный поиск документации для обеих этих программ обеспечивает только общие черты - насколько я мог найти, никаких конкретных инструкций относительно обратного инжиниринга для любой из этих программ не дано.
Я был бы признателен, если бы кто-нибудь рассказал мне основные шаги по созданию разборчивой, удобной для навигации диаграммы. обратный инжиниринг (то есть C++-to-UML), который показывает только имена классов, так что около 20 классов помещаются (разборчиво) на одном экране, используя либо Enterprise Architect, либо Rational Software Architect - ИЛИ любой другой инструмент, который способен на делать это (я предлагаю EA и Rational только потому, что они были выделены в других ответах Stackru как лучшие программы, доступные для этой цели).
1 ответ
Этот ответ относится к EA.
Вы можете импортировать отдельные файлы или целые каталоги, рекурсивно или нет. Импорт каталогов - безусловно, самый распространенный случай; Импорт одного файла не позволяет автоматически создавать диаграммы.
Когда вы импортируете исходный каталог, вы можете создавать диаграммы для каждого пакета UML или вообще не создавать диаграмм. Вы также решаете, создавать ли пакеты для каждого каталога исходного кода, пространства имен (по умолчанию) или файла.
Если ваш код состоит только из 20 классов, то, скорее всего, они находятся в одном каталоге и / или пространстве имен, поэтому поэкспериментируйте с этим параметром ("Структура пакета" в диалоговом окне "Импорт источника"), чтобы получить правильное количество диаграмм.
В том же диалоге есть кнопка "New Diagram Options", которая открывает другое диалоговое окно конфигурации, где вы можете выбрать, должны ли диаграммы содержать атрибуты и / или операции классов. Вы также можете принять решение на основе видимости, например, показывать только публичных участников.
Этот диалог влияет только на то, что показано на диаграммах, когда они создаются. Члены по-прежнему импортируются, просто не отображаются. Это звучит как то, что вы после.
Вы можете изменить параметры отображения для любой диаграммы, дважды щелкнув ее пустую область или щелкнув правой кнопкой мыши и выбрав Свойства. Похоже, вы попали в этот диалог и что-то изменили, но я не могу сказать, что именно. Ситуация, которую вы описываете, когда вы не можете вернуть дисплей таким, каким он был, я не встречал в EA.
Также можно выбрать параметры отображения для каждого класса, щелкнув его правой кнопкой мыши на диаграмме и выбрав Видимость элемента. Я не рекомендую использовать это в диаграммах с обратной инженерией, я просто упоминаю это для полноты картины.
Схема, которую вы описываете, со всеми классами в бессмысленной диагонали, подсказывает мне, что диаграмма не была правильно построена после создания. Создание диаграммы является двухступенчатым процессом; сначала на него сбрасываются все классы, затем применяется макет.
Это странно, поскольку EA автоматически выкладывает сгенерированные диаграммы, и я не смог найти опцию, которая позволяет отменить это поведение. Если это не исчезнет, отправьте сообщение об ошибке в Sparx Systems. Вы всегда можете выложить диаграмму, открыв ее и выбрав Layout Diagram в меню Diagram верхнего уровня.
Если, наконец, ваши классы распределены по разным пакетам и пространствам имен, так что EA генерирует для них несколько диаграмм, вам придется объединить их вручную. Сделайте это, открыв обе диаграммы, выбрав все (Ctrl-A) в одной, скопировав (Ctrl-C) и вставив (Ctrl-V) в другую, затем попросите EA снова создать Layout Diagram.
Так:
- Щелкните правой кнопкой мыши пустой пакет в браузере проекта и выберите "Разработка кода" - "Импорт исходного каталога".
- В диалоговом окне выберите корневой каталог и тип источника.
- Отметьте "Создать логическую диаграмму для каждого пакета" и выберите структуру пакета, которая лучше всего соответствует вашей исходной структуре.
- Нажмите "Параметры новой диаграммы" и в новом диалоговом окне снимите флажок "Показать атрибуты", "Показать операции" и "Показать методы свойств", если применимо.
- ОК в обоих диалогах.
- Если было создано несколько диаграмм, скопируйте все классы в одну диаграмму.
- Если макет выглядит плохо, выберите Диаграмма - Схема макета.
Надеюсь это поможет.
Автоматическое создание диаграммы классов из исходного кода с помощью Enterprise Architect 15
https://www.youtube.com/watch?v=cJwB5qxYDuU
Создать диаграмму классов из исходного кода Объяснение простого примера Как импортировать исходный код в Enterprise Architect 15? Шаги -
Выберите модель - как диаграмму классов.
Удалите образец примера в созданной модели по умолчанию.
Импортируйте исходные файлы в модель.
И выберите необходимые параметры.