Поделиться через


Генерирование кода

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

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

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

Формирование кода полезно в следующих случаях:

  • Продуктовые линейки. Fabrikam, Inc. занимается построением и установкой систем обработки багажа в аэропортах. Большая часть программного обеспечения совпадает в разных проектах, различается только конфигурация ПО, которая определяется типом установленного оборудования для обработки багажа и конвейерных ремней, соединяющих разные части этого оборудования. В самом начале выполнения контракта команда Fabrikam обсудила требования к системам с руководством аэропорта и с помощью UML-схемы деятельности составила схему конвейерных ремней. На основе этой модели команда разработчиков сформировала файлы конфигурации, программный код и руководства пользователей. Наконец, в код было внесено вручную несколько добавлений и изменений. Приобретая все больший опыт в таких проектах, команда разработчиков создает все более полные и разнообразные материалы.

  • Шаблоны. Разработчики из компании Contoso, Ltd часто выполняют построение веб-сайтов. Они создали схему навигации с помощью UML-схем классов, представив веб-страницы и навигационные ссылки с помощью классов и связей. Значительную часть кода веб-сайта можно сформировать. Каждая веб-страница соответствует нескольким классам и записям в файлах ресурсов, соответствующим единому шаблону. Результат получился более гибким и надежным, чем код, написанный вручную.

  • Схемы. Компания Humongous Insurance работает с тысячами информационных систем по всему миру. В этих системах используются разные базы данных, языки и интерфейсы. Централизованная команда системных архитекторов публикует внутренние модели бизнес-концепций и бизнес-процессов. Схемы упрощают обсуждение проекта. На основе этих моделей локальные команды могут формировать компоненты схем баз данных, схемы XML, объявления C# и другие элементы.

Пользовательские языки моделирования

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

  • Настройка UML-схемы с помощью стереотипов. Стереотипы позволяют отличать различные типы элементов (например, стойки регистрации пассажиров и станции сканирования) и записывать различные значения атрибутов для каждого элемента. Дополнительные сведения см. в разделе Практическое руководство. Определение профиля для расширения UML.

  • Разработка собственного доменного языка (DSL). Если часто приходится работать в определенной отрасли, дополнительные трудозатраты на создание такого языка вполне могут оправдаться за счет дополнительной адаптации к потребностям разработчиков. Дополнительные сведения см. в разделе Пакет SDK визуализации и моделирования — доменные языки.

Команда разработчиков может создавать команды меню, проверочные тесты и элементы панели инструментов для моделей обоих типов с помощью SDK Visual Studio. Также можно выполнять построение расширений Visual Studio с возможностью интеграции схем и подключать их к внешним ресурсам, например к базам данных.