<chapter id="code-import-generation"> <title >Импорт и генерация кода</title> <para >&umbrello; — средство &UML;-моделирования, которое помогает <emphasis >анализировать и проектировать</emphasis > системы. Тем не менее, для обеспечения перехода от проекта к его <emphasis >реализации</emphasis > &umbrello; позволяет сгенерировать исходный код для различных языков программирования. Если потребуется использовать &UML; для существующего проекта на C++, с помощью &umbrello; возможно создать модель системы на основе исходного кода путём его анализа и импорта обнаруженных классов. </para> <sect1 id="code-generation"> <title >Генерация кода</title> <para >&umbrello; позволяет генерировать исходный код для различных языков программирования на основе вашей модели &UML;, помогая вам начать реализацию вашего проекта. Сгенерированный код состоит из объявлений классов с их методами и атрибутами, вам остаётся только <quote >заполнить пустые места</quote > для реализации функциональности классов. </para> <para >&umbrello; 2 поставляется с поддержкой генерации кода для ActionScript, Ada, C++, C#, D, IDL, &Java;, JavaScript, MySQL, Pascal, Perl, PHP, PHP5, PostgreSQL, Python, Ruby, Tcl, Vala и XMLSchema. </para> <sect2 id="generate-code"> <title >Генерация кода</title> <para >Для генерации кода с помощью &umbrello; сначала необходимо создать или загрузить модель, содержащую хотя бы один класс. При необходимости работы с исходным кодом выберите в меню <guimenuitem >Код</guimenuitem > пункт <guimenuitem >Мастер генерации кода</guimenuitem > для запуска мастера, который позволит пошагово выполнить процесс генерации кода. </para> <para >Первым шагом будет указание классов, для которых требуется сгенерировать код. По умолчанию выбираются все классы вашей модели. Классы, для которых не требуется генерировать код, следует переместить в список, расположенный в левой части окна. </para> <para >Следующим шагом будет модификация параметров генератора кода. Доступны следующие опции: </para> <para> <screenshot> <screeninfo >Параметры генерации кода</screeninfo> <mediaobject> <imageobject> <imagedata fileref="generation-options.png" format="PNG"/> </imageobject> <textobject> <phrase >Параметры для генерации кода в &umbrello;</phrase> </textobject> <caption> <para >Параметры для генерации кода в &umbrello; </para> </caption> </mediaobject> </screenshot> </para> <sect3 id="generation-options"> <title >Параметры генерации</title> <!-- LW; to rearrange --> <sect4> <title >Подробность комментариев</title> <para >В режиме <guilabel >Вставлять комментарии в документацию, даже если они пустые</guilabel > генератор кода будет писать комментарии вида /** тра-ля-ля */, даже если блоки комментариев пустые. Если добавить документацию в классы, методы или атрибуты модели, генератор кода запишет эти комментарии как документацию для <application >Doxygen</application > независимо от значения этой опции. Но если эта опция включена, &umbrello; запишет блоки комментариев для всех классов, методов и атрибутов, даже если никакой документации в модели не было. В этом случае следует задокументировать классы позднее прямо в исходном коде. </para> <para >Опция <guilabel >Вставлять комментарии для секций, даже если они пусты</guilabel > указывает &umbrello; записывать комментарии в исходный код для разграничения различных секций класса. Например, <quote >public methods</quote > или <quote >Attributes</quote > перед соответствующими секциями. Если вы включите данную опцию, &umbrello; будет записывать комментарии для всех секций класса, даже если некоторые из них будут пустыми. Например, будет записан комментарий <quote >protected methods</quote >, даже если в вашем классе нет методов, объявленных как <quote >protected</quote >. </para> </sect4> <sect4> <title >Папки</title> <para >Опция <guilabel >Сохранять сгенерированные файлы в папку</guilabel >. Здесь следует указать папку, в которую &umbrello; поместит сгенерированный исходный код. </para> <para >Опция <guilabel >Подключать заголовочные файлы из папки</guilabel > позволяет вставить заголовок в начало каждого сгенерированного файла. Заголовочные файлы могут содержать сведения об авторских правах или лицензии, а также переменные, вычисляемые во время генерации кода. Ознакомление с заголовочными файлами, поставляемыми с &umbrello;, позволит понять, как использовать эти переменные для указания имени пользователя или текущей даты во время генерации кода. </para> </sect4> <sect4> <title >Политика замены</title> <!-- FIXME update for Umbrello 1.2's new C++ and Java code generators --> <para >Данная опция указывает Umbrello, что следует делать, если создаваемый файл уже существует. Umbrello <emphasis >не позволяет изменять существующие исходные файлы</emphasis >, таким образом, необходимо сделать выбор между перезаписью существующего файла, отменой генерации конкретного файла или выбором другого имени файла. Если принято решение выбрать другое имя файла, Umbrello добавит суффикс к текущему имени файла. </para> </sect4> <sect4> <title >Язык</title> <para >По умолчанию &umbrello; будет генерировать код на языке, который указан в качестве активного языка, но мастер генерации кода позволяет указать другой язык. </para> </sect4> </sect3 ><!--generation-options--> <sect3 id="generation-wizard-generation"> <title >Генерация кода в мастере генерации</title> <para >Третий и последний шаг помощника показывает состояние процесса генерации кода. Остаётся только нажать кнопку «Генерировать», чтобы получить классы в виде исходного кода. </para> <para >Следует отметить, что параметры, которые вы выбрали в мастере генерации кода, действительны только для текущего сеанса. При следующем запуске мастера потребуется заново указать все опции (папку с заголовочными файлами, политику замены и так далее). Возможно настроить значения по умолчанию в разделе <guilabel >Генерация кода</guilabel > параметров настройки &umbrello;, доступном в меню <menuchoice ><guimenu >Настройка</guimenu > <guimenuitem >Настроить &umbrello;...</guimenuitem ></menuchoice > </para> <para >Если после настройки параметров генерации кода следует сгенерировать код без использования помощника, выберите пункт <guimenuitem >Генерировать весь код</guimenuitem > в меню <guimenu >Код</guimenu >. В этом случае будет сгенерирован код для всех классов модели с использованием текущих значений параметров (включая папку вывода и политику замены, так что используйте эту функцию с осторожностью). </para> </sect3> </sect2 ><!--generate-code--> </sect1 > <!--code-generation--> <sect1 id="code-import"> <title >Импорт кода</title> <para >С помощью &umbrello; возможно импортировать исходный код существующих проектов для облегчения построения моделей систем. &umbrello; 2 поддерживает исходный код на языке ActionScript, Ada, C++, C#, D, IDL, &Java;, Javascript, MySQL, Pascal, PHP и Vala. </para> <para >Для импорта классов в модель выберите пункт <guimenuitem >Мастер импорта кода...</guimenuitem > в меню <guimenu >Код</guimenu >. В диалоге выбора файлов укажите файлы, содержащие объявления классов, и нажмите кнопку <guibutton >Далее ></guibutton >, затем <guibutton >Начать импорт</guibutton > и <guibutton >Завершить</guibutton >. Классы будут импортированы и появятся в виде элементов модели в дереве модели. Следует отметить, что &umbrello; не создаёт никакой диаграммы для отображения классов, они просто импортируются в модель, что позволяет в дальнейшем использовать их при построении любых диаграмм. </para> <para> <screenshot> <screeninfo >Импорт кода</screeninfo> <mediaobject> <imageobject> <imagedata fileref="code-import.png" format="PNG"/> </imageobject> <textobject> <phrase >Меню для импорта исходного кода в &umbrello;</phrase> </textobject> <caption> <para >Меню для импорта исходного кода в &umbrello; </para> </caption> </mediaobject> </screenshot> </para> </sect1> </chapter > <!--code-import-generation-->
Generated by dwww version 1.15 on Mon Jul 1 05:53:42 CEST 2024.