Глава 4. Импорт и генерация кода

Umbrello UML Modeller — средство UML-моделирования, которое помогает анализировать и проектировать системы. Тем не менее, для обеспечения перехода от проекта к его реализации Umbrello UML Modeller позволяет сгенерировать исходный код для различных языков программирования. Если потребуется использовать UML для существующего проекта на C++, с помощью Umbrello UML Modeller возможно создать модель системы на основе исходного кода путём его анализа и импорта обнаруженных классов.

Генерация кода

Umbrello UML Modeller позволяет генерировать исходный код для различных языков программирования на основе вашей модели UML, помогая вам начать реализацию вашего проекта. Сгенерированный код состоит из объявлений классов с их методами и атрибутами, вам остаётся только «заполнить пустые места» для реализации функциональности классов.

Umbrello UML Modeller 2 поставляется с поддержкой генерации кода для ActionScript, Ada, C++, C#, D, IDL, Java™, JavaScript, MySQL, Pascal, Perl, PHP, PHP5, PostgreSQL, Python, Ruby, Tcl, Vala и XMLSchema.

Генерация кода

Для генерации кода с помощью Umbrello UML Modeller сначала необходимо создать или загрузить модель, содержащую хотя бы один класс. При необходимости работы с исходным кодом выберите в меню Код пункт Мастер генерации кода для запуска мастера, который позволит пошагово выполнить процесс генерации кода.

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

Следующим шагом будет модификация параметров генератора кода. Доступны следующие опции:

Параметры для генерации кода в Umbrello UML Modeller

Параметры для генерации кода в Umbrello UML Modeller

Параметры генерации

Подробность комментариев

В режиме Вставлять комментарии в документацию, даже если они пустые генератор кода будет писать комментарии вида /** тра-ля-ля */, даже если блоки комментариев пустые. Если добавить документацию в классы, методы или атрибуты модели, генератор кода запишет эти комментарии как документацию для Doxygen независимо от значения этой опции. Но если эта опция включена, Umbrello UML Modeller запишет блоки комментариев для всех классов, методов и атрибутов, даже если никакой документации в модели не было. В этом случае следует задокументировать классы позднее прямо в исходном коде.

Опция Вставлять комментарии для секций, даже если они пусты указывает Umbrello UML Modeller записывать комментарии в исходный код для разграничения различных секций класса. Например, «public methods» или «Attributes» перед соответствующими секциями. Если вы включите данную опцию, Umbrello UML Modeller будет записывать комментарии для всех секций класса, даже если некоторые из них будут пустыми. Например, будет записан комментарий «protected methods», даже если в вашем классе нет методов, объявленных как «protected».

Папки

Опция Сохранять сгенерированные файлы в папку. Здесь следует указать папку, в которую Umbrello UML Modeller поместит сгенерированный исходный код.

Опция Подключать заголовочные файлы из папки позволяет вставить заголовок в начало каждого сгенерированного файла. Заголовочные файлы могут содержать сведения об авторских правах или лицензии, а также переменные, вычисляемые во время генерации кода. Ознакомление с заголовочными файлами, поставляемыми с Umbrello UML Modeller, позволит понять, как использовать эти переменные для указания имени пользователя или текущей даты во время генерации кода.

Политика замены

Данная опция указывает Umbrello, что следует делать, если создаваемый файл уже существует. Umbrello не позволяет изменять существующие исходные файлы, таким образом, необходимо сделать выбор между перезаписью существующего файла, отменой генерации конкретного файла или выбором другого имени файла. Если принято решение выбрать другое имя файла, Umbrello добавит суффикс к текущему имени файла.

Язык

По умолчанию Umbrello UML Modeller будет генерировать код на языке, который указан в качестве активного языка, но мастер генерации кода позволяет указать другой язык.

Генерация кода в мастере генерации

Третий и последний шаг помощника показывает состояние процесса генерации кода. Остаётся только нажать кнопку «Генерировать», чтобы получить классы в виде исходного кода.

Следует отметить, что параметры, которые вы выбрали в мастере генерации кода, действительны только для текущего сеанса. При следующем запуске мастера потребуется заново указать все опции (папку с заголовочными файлами, политику замены и так далее). Возможно настроить значения по умолчанию в разделе Генерация кода параметров настройки Umbrello UML Modeller, доступном в меню НастройкаНастроить Umbrello UML Modeller...

Если после настройки параметров генерации кода следует сгенерировать код без использования помощника, выберите пункт Генерировать весь код в меню Код. В этом случае будет сгенерирован код для всех классов модели с использованием текущих значений параметров (включая папку вывода и политику замены, так что используйте эту функцию с осторожностью).