Применение Rational Software Architect в разработке, управляемой моделями и на основе шаблонов: Часть 2. Инструментальная поддержка разработки

Колин Ю, директор по разработкам, IBM

Rational Software Architect обеспечивает полную поддержку управляемой моделями разработки (MDD) с шаблонами. Инфраструктура разработки на основе ресурсов (asset-based development framework) в Rational Software Architect дополняет MDD, позволяя повторное использование моделей и шаблонов и их трансформацию. Простой сценарий из нашей статьи покажет вам, как использовать Rational Software Architect в MDD.

Как я говорил в Части 1, для разработки под управлением моделей и на основе шаблонов необходима интегрированная среда разработки (IDE), которая поддерживает:

  • Моделирование при помощи языка Unified Modeling Language (UML)
  • Инфраструктура шаблонов
  • Трансформация моделей и генерация кода
  • Инструментарий для дизайна и разработки под конкретную платформу
  • Среда тестирования элементов

IBM Rational Software Architect не только дает возможность поддержки сквозной (end-to-end) разработки под управлением моделей (MDD), но и дополнительные функции для поддержки разработки на основе ресурсов, которые дополняют MDD за счет поддержки многократного использования моделей, шаблонов и трансформаций (см. Рисунок 1).

Рисунок 1. Интегрированная среда разработки
Рисунок 1. Схема: Интегрированная среда разработки

Данная статья, вторая из этой серии, описывает основы инструментальной поддержки IBM Rational Software Architect, связанной с разработками под управлением моделей и шаблонов, а также на основе ресурсов. Простой сценарий покажет вам, как применять эти свойства и приготовит вас к рассмотрению конкретного примера в части 3.

Моделирование с помощью UML

Модели стали основными артефактами в дизайне программ, поэтому центр внимания несколько сместился к ним от соответствующего программного кода. Таким образом, модели не только позволяют фиксировать и сообщать все аспекты архитектуры приложения, но и еще и служат чертежами, из которых различные автоматизированные и полуавтоматизированные процессы берут программы и соответствующие модели. Итак, модели можно использовать со следующими целями:

  • Визуально представить систему, которую вы хотите создать
  • Содействовать полному пониманию системы
  • Разработать, проверить и сообщить архитектуру системы
  • Генерировать код

Rational Software Architect интегрирует мощную среду моделирования программ на UML и полностью поддерживает моделирование с помощью UML 2.0, первой обновленной версии стандарта UML. Это означает, что он лучше поддерживает инструменты и методы MDD, и вы можете фиксировать и сообщать ваши намерения относительно проекта.

В UML-моделировании модели содержат элементы, например, агенты (actors), варианты использования (use cases), классы и пакеты, а также одну или несколько диаграмм, которые показывают различные аспекты системы, например, диаграмму действий или диаграмму классов.

Перспектива моделирования в Rational Software Architect

Rational Software Architect предоставляет перспективу моделирования, которая составлена из следующих взаимосвязанных представлений (views).

Model Explorer

Model Explorer (Рисунок 2) показывает проекты моделирования, которые могут содержать любое количество моделей. Модель (которая сама является элементом модели) содержит соответствующие элементы модели, такие как пакеты, классы, параметры, операции и ограничения. В представлении Model Explorer можно добавлять, удалять, сортировать и организовывать элементы модели, а также открывать UML-диаграмму в Редакторе диаграмм.

Рисунок 2. Представление Model Explorer
Рисунок 2. Скриншот с представлением Model Explorer

Навигатор диаграмм (Diagram Navigator)

Навигатор диаграмм представляет проекты в рабочей области иначе. Он показывает проекты моделирования и их UML-диаграммы в окне директории (дерева), как видно из Рисунка 3.

Рисунок 3. Окно Diagram Navigator
Рисунок 3. Скриншот с окном Diagram Navigator

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

UML предоставляет различные диаграммы, которые позволяют пользователям понять и передать все аспекты архитектуры приложения при помощи стандартной системы знаков, которая понятна для многих участников (stakeholders - заинтересованные стороны). Далее мы перечисляем 13 официальных диаграмм UML 2.0, каждая из которых демонстрирует различные аспекты системы:

  • Диаграмма действий (Activity diagram): Диаграмма действий дает обзор поведения системы при помощи описания последовательности действий в процессе. Кроме показа процесса действий в определенной работе в виде блок-схемы действий, диаграмма действий также может показывать параллельные или одновременные потоки и чередующиеся потоки.
  • Диаграмма класса: Диаграммы класса можно использовать для моделирования объектов, из которых состоит система, для просмотра отношений между объектами и для описания того, что эти объекты делают, и какие сервисы они обеспечивают. Диаграммы класса необходимы для процесса моделирования объектов и полезны на стадиях анализа и дизайна.
  • Диаграмма коммуникации: Раньше, в версии UML 1, она называлась диаграммой сотрудничества (Collaboration Diagram). Диаграмма коммуникации показывает поток сообщений между объектами и то, как несколько объектов сотрудничают при выполнении общей задачи. Как и диаграмма последовательности (sequence diagram), диаграмма коммуникации тоже может моделировать динамическое поведение для варианта использования (use case). Однако диаграмма коммуникации больше нацелена на показ того, как происходит координация, чем на хронометрирование последовательности.
  • Диаграмма компонента: Диаграмма компонента показывает структурные отношения между компонентами какой-либо системы. В UML 2 компоненты являются автономными инкапсулированными единицами (unites) внутри системы или подсистемы, которые обеспечивают один или несколько интерфейсов. Поэтому диаграмма компонента позволяет архитектору убедиться в том, что компоненты реализуют заданную функциональность системы.
  • Диаграмма с составной структурой (Composite structure): Диаграмма с составной структурой исследует взаимосвязанные экземпляры рабочего цикла, сотрудничающие по коммуникационным ссылкам.
  • Диаграмма размещения: Диаграмма размещения описывает статичное представление конфигурации рабочего цикла для обрабатывающих узлов (nodes) и компонентов, которые запушены на этих узлах (аппаратные средства системы, установленное на них ПО и программы-посредники, которые соединяют неравноправные машины друг с другом).
  • Диаграмма обзора взаимодействия (interaction overview): Диаграмма обзора взаимодействия - это вариант диаграммы действий, в которой узлы представляют диаграммы взаимодействий. Диаграммы взаимодействий могут включать последовательность, коммуникацию, обзор взаимодействий и диаграммы хронометрирования (timing).
  • Диаграмма объектов: Используйте диаграмму объектов для исследования реальных примеров объектов и связей между ними. Диаграмма объектов выглядит как диаграмма классов, потому что разметка связей такая же. Это хорошее средство для объяснения сложных связей между объектами.
  • Диаграмма пакета: Диаграмма пакета позволяет организовать элементы модели в группы, изображаемые как папки с файлами, что упрощает UML-диаграммы и делает их понятнее.
  • Диаграмма последовательности: Диаграмма последовательности показывает хронологическую последовательность сообщений между объектами во взаимодействии. Она состоит из нескольких участников, таких как агенты, системы или подсистемы, классы и компоненты, представленные линиями жизни (lifelines), а также сообщения, которыми они обмениваются при взаимодействии.
  • Диаграмма машины состояний (State machine): Диаграмма машины состояний показывает различные состояния, в которых может находиться объект, и переходы от одного состояния к другому.
  • Диаграмма хронометрирования: Диаграмма хронометрирования исследует поведение одного или нескольких объектов за указанный период времени.
  • Диаграмма варианта использования (use case): Используйте диаграмму варианта для визуального представления (или иллюстрации) отношений между конкретными вариантами и агентами, а также между одними вариантами и другими.

Редактор диаграмм

UML-диаграмму можно открыть в Редакторе диаграмм (Diagram Editor) (Рисунок 4), в представлении либо Diagram Navigator, либо Model Explorer. Можно одновременно открыть несколько диаграмм, а потом использовать табулятор для переключения между ними.

UML-диаграмма содержит элементы диаграммы. Элемент диаграммы, который также называют формой (shape), - это графический или текстовый элемент, который представляет или UML-элемент (например, класс, интерфейс и связь (relationship)), или геометрическую форму, которая не содержит UML-семантики (например, овалы, ромбы и прямоугольники). Из Редактора диаграмм можно перетащить элемент существующей модели из Model Explorer, а также можно воспользоваться палитрой (palette) для создания нового элемента диаграммы. (Если элемент диаграммы представляет собой UML-элемент, соответствующий ему UML-элемент будет добавлен к модели.)

Рисунок 4. Представление Diagram Editor
Рисунок 4. Скриншот: представление  Diagram Editor

Свойства

Если вы выделите (highlight) один из элементов UML-диаграммы, вы увидите и сможете задать свойства элемента диаграммы из представления Properties (Рисунок 5). Свойства - параметры, которые управляют характеристиками форм и соединений (connectors) в UML-диаграммах. Например, каждая форма и соединение имеют свойства "цвет линий" (line-color), которое вы можете назначить для границ формы или для линий соединений. Также можно задать параметры свойств, чтобы менялись стили линий и скрывались или отображались заголовки отделов (compartments).

Если выделить элемент модели из Model Explorer, можно получить вид и задать свойства элемента модели, например, имена и видимость, профили модели, а также атрибуты и операции класса.

Рисунок 5. Представление Свойства (Properties)
Рисунок 5. Скриншот:  Представление Свойства 

Шаблоны моделей

Rational Software Architect включает шаблоны для примеров, анализа и моделей дизайна. Каждый из них предназначен для разных фаз разработки: требования, анализ и дизайн.

Rational Software Architect не дает шаблона для модели реализации, которая представляла бы физический состав этой реализации, включая подсистемы реализации и элементы реализации (исходный код, файлы с данными и исполняемые файлы). Причина, почему не включены шаблоны реализации - принцип работы Rational Software Architect - использовать модели нейтральных платформ на стадии дизайна, а потом трансформировать результаты средствами Rational Software Architect, используя код или артефакты уровня реализации.

Модель варианта использования

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

Модель анализа

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

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

Модель анализа описывает логическую структуру системы; таким образом она является фундаментом разрабатываемой модели.

Разрабатываемая модель

Разрабатываемая модель основана на модели анализа и добавляет детали к самой реализации в системе. Используя различные диаграммы (в том числе диаграммы последовательности, машины состояний, компонента и размещения), модель дизайна подробно описывает, как устроено приложение и как оно будет реализовываться. Она также описывает структурные компоненты программ и технологий, например, обеспечивающих персистентность, распределение, безопасность и доступ к данным.

Шаблоны дизайна обычно достраивают модель дизайна и при этом включают часто используемые или сложные структуры и процессы.

Среда для шаблона (Pattern framework)

Как мы уже говорили в разделе о моделях дизайна, шаблонами дизайна можно пользоваться для отладки модели дизайна (изменить или добавить UML-элементы), чтобы применить некое решение к знакомой задаче. Можно использовать среду шаблона ПО Rational Software Architect для выполнения нескольких важных задач:

  • Создание шаблона
  • Упаковка шаблона в качестве ресурса многократного использования в плагин
  • Поиск шаблонов в библиотеке
  • Применение шаблонов к UML-элементам

Создание шаблонов

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

Упаковка и публикация шаблонов для многократного использования

Плагин шаблона можно экспортировать в качестве размещаемого ресурса многократного использования, который соответствует требованиям Reusable Asset Specification (RAS). Этот ресурс многократного использования можно копировать в виде файла или публиковать в репозитории общих ресурсов, чтобы пользователи могли это прочитать и внедрить этот шаблон в свой инструментарий Rational Software Architect.

Вы также можете экспортировать его непосредственно в репозиторий, что показано на Рисунке 6.

Рисунок 6. Экспорт шаблона в репозиторий ресурсов
Рисунок 6. Представление монитора для экспорта шаблона в репозиторий ресурсов

Поиск шаблонов

Есть много способов поиска шаблонов при помощи Rational Software Architect, например, средствами Pattern Explorer и Asset Explorer.

Pattern Explorer:В представлении Modeling perspective нажмите на иконку, которая обычно находится в правой части экрана. Появится окно Pattern navigator. которое покажет шаблоны, установленные с помощью ПО Rational Software Architect, который поставляется в комплекте с шаблонами дизайна Gang of Four (GoF). Если вы импортировали и другие шаблоны, они тоже будут перечислены. Из окна Pattern Explorer (Рисунок 7), можно осуществлять поиск, аранжировку и перетаскивание шаблона в UML-диаграмму.

Рисунок 7. Представление Pattern Explorer
Рисунок 7. Скриншот: Представление Pattern Explorer

Проводник ресурсов (Asset Explorer): Все шаблоны по умолчанию сохраняются в локальном RAS-репозитории для шаблонов, которые вы можете впоследствии организовать в логические группы или поддиректории В представлении Asset Explorer перспективы RAS вы найдете шаблоны, инсталлированные с помощью Rational Software Architect в директорию репозитория шаблонов.

Если вы создали связи с каким-либо репозиторием ресурсов, локальным или удаленным, вы также сможете найти шаблоны в соответствующих им репозиториях ресурсов, если составители их публиковали, как на Рисунке 8. Можно импортировать шаблоны из репозитория ресурсов в рабочее пространство Rational Software Architect, чтобы их можно было использовать из Pattern Explorer.

Рисунок 8. Представление Asset Explorer
Рисунок 8. Скриншот: представление Asset Explorer

Применение шаблонов

Применение шаблонов совсем не запутанное дело. Можно перетащить шаблон из Pattern Explorer в UML-диаграмму, а затем связать UML-элементы с данным шаблоном в качестве параметров (создавая новые или выбирая существующие). После связывания этих параметров с экземпляром шаблона сам экземпляр настроит модель при помощи изменения элементов существующей модели или добавления новых.

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

Трансформация

Как мы уже говорили, модель дизайна можно трансформировать в артефакты уровня реализации при помощи Rational Software Architect, в том числе исполняемый код, XSD, WSDL, документацию и скрипты конфигурации.

Rational Software Architect поставляется с 5 трансформациями, как видно из Рисунка 9. Их можно применить к разным уровням элементов UML, в том числе к модели, пакету, классу и интерфейсу. Например:

  • UML в C++
  • UML в Java
  • UML в EJB
  • UML в CORBA
  • UML в XSD

Данные трансформации обеспечивают основные функции для генерации соответствующих проектов Eclipse и родственных артефактов из UML-модели. Например, UML для трансформации компонентов Enterprise Java beans (EJB) создаст EJB-проект, а трансформация UML в Java создаст проект Java. Эти трансформации можно расширить, добавив к ним действия, а можно задать собственные трансформации расширением среды Rational Software Architect.

Рисунок 9. Трансформации, включенные в ПО Rational
Рисунок 9. Трансформации, включенные в ПО Rational 

Среда разработки на основе ресурсов

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

Rational Software Architect применяет спецификацию ресурсов многократного использования Reusable Resource Specification (RAS) в качестве стандартного способы упаковки и использования ресурсов, которые обеспечивают решение проблемы в конкретном контексте. RAS-ресурс представляет собой коллекцию взаимосвязанных артефактов с декларацией (manifest), которая описывает этот ресурс, что показано на Рисунке 10. Артефакты- любые созданные из жизненного цикла ПО, например, документация по требованиям, модели, файлы с исходным кодом, дескрипторы развертывания, примеры тестирования и скрипты. Как правило, термин артефакт применяют к файлу.

Рисунок 10. Что составляет ресурс
Рисунок 10. Диаграмма: состав ресурса (декларация и список артефактов)

Упаковка ресурсов для повторного использования

Использование возможностей экспорта RAS в Rational Software Architect при помощи инструментов моделирования для упаковки ресурсов обеспечивает то, что все связанные файлы автоматически захватываются с соответствующими моделями и проектами, документацией, исходным кодом и другими артефактами разработки, которые вы хотите использовать совместно. После упаковки ресурса вы можете сохранить его в своей файловой системе или экспортировать в репозиторий ресурсов.

Импорт существующих ресурсов

Возможность импорта RAS в Rational Software Architect обеспечивает распаковку и восстановление файлов из RAS-ресурсов в локальный файл или папку, или в рабочую область Eclipse. Импорт ресурсов с развертываемыми плагинами, например, с шаблонами и трансформациями, приведет к попытке инсталлировать плагины в Rational Software Architect. Ресурсы можно импортировать или из локальной файловой системы или из репозитория ресурсов.

Репозиторий ресурсов

RAS-ресурсы можно хранить в репозиториях ресурсов на основе RAS. При упаковывании ресурса в Rational Software Architect, вы можете экспортировать его в соответствующий репозиторий ресурсов. Можно также опубликовать ресурс в файле формата .ras из файловой системы в связанный репозиторий из представления Asset Explorer в перспективе RAS.

Кроме того, есть возможность просматривать, осуществлять поиск и импортировать ресурсы из репозиториев через Asset Explorer, как показывает Рисунок 8. Rational Software Architect поддерживает следующие 4 типа репозиториев ресурсов на основе RAS. Можно задавать связи с этими репозиториями из представления Asset Explorer.

  • Локальный репозиторий: Репозиторий для локальной файловой системы для индивидуального пользования. С командой этим репозиторием пользоваться совместно нельзя, если только вы не используете сетевую файловую систему для хостинга локального репозитория.
  • Репозиторий рабочей группы: Репозиторий на основе Web-сервиса для пользования членов команды. Это приложение к Java 2 Platform, Enterprise Edition (J2EE), которое устанавливается на сервер приложений J2EE. Впоследствии его можно использовать для совместного использования ресурсов среди членов команды, у которых установлен Rational Software Architect. Загрузить Репозиторий рабочей группы можно с сайта IBM alphaWorks.
  • XDE-репозиторий: Эта опция обеспечивает поддержку старой версии репозитория Rational XDE.
  • developerWorks-репозиторий: Он находится на сайте IBM developerWorks. Можно задавать поиск и импорт новых шаблонов дизайна, которые создаются в IBM. Число шаблонов постоянно растет, поэтому почаще проверяйте копилку.

Суммируя сказанное: простой сценарий

Теперь пора научиться соединять в работе всю поддержку инструментария MDD. Мы покажем это на примере сценария:

  1. Сохраните какой-нибудь ресурс шаблона дизайна в репозитории ресурсов
  2. Перейдите в репозиторий и импортируйте шаблон дизайна
  3. Создайте UML-модель
  4. Примените к этой UML-модели шаблон дизайна Interface Inheritance
  5. Трансформируйте модель в код Java

Шаг 1. Сохраните ресурс шаблона дизайна в репозитории ресурсов

  1. Скачайте шаблон дизайна Interface Inheritance из раздела Downloads данной статьи. Когда этот шаблон применяют к классу, шаблон дизайна извлечен публичные операции этого класса в интерфейс и создаст отношение наследования между классом и интерфейсом.
  2. Создайте соединение с репозиторием.
    1. Из Rational Software Architect запустите перспективу RAS (ресурсы повторного использования).
    2. Из представления Asset Explorer создайте соединение c репозиторием, щелкнув иконку репозитория .
    3. Если вы инсталлировали репозиторий Workgroup, выберите Workgroup Repository и введите URL-адрес своего экземпляра репозитория; если еще не инсталлировали, выберите Local Repository и введите адрес, где вы собираетесь сохранять ресурсы.
  3. Импортируйте ресурс шаблона в репозиторий.
    1. Из представления Asset Explorer щелкните правой кнопкой мыши для вывода контекстного меню и затем выберите Опубликовать ресурс (Publish Asset...).
    2. Найдите файл ресурса, который вы загрузили, и выберите репозиторий из списка для того, чтобы опубликовать его. (См. Рисунок 11.)
    3. После публикации ресурса, в списке ресурсов под соответствующим репозиторием появится шаблон Interface Inheritance.

Рисунок 11. Импорт ресурса шаблона в репозиторий
Рисунок 11. Представление: Импорт ресурса шаблона в репозиторий

Шаг 2. Навигация в репозитории и импорт шаблона дизайна

  1. Перейдите в ресурсы и задайте поиск по ним. Из Asset Explorer можно осуществлять навигацию по ресурсам из разных репозиториев и использовать иконку репозитория для открытия поискового диалога при поиске ресурсов.
  2. Импорт шаблона дизайна.
    1. Щелкните правой кнопкой по ресурсу Interface Inheritance и выберите в контекстном меню Import.... Запустится Мастер импорта RAS-ресурсов. В окне появится сообщение о том, что данный ресурс содержит развертываемые плагины и что его импорт приведет к попытке их установки. Нажмите OK для подтверждения.
    2. Завершите работу Мастера импорта.
    3. Теперь в Rational Software Architect динамично запустится плагин шаблона. Переключитесь в перспективу Modeling и нажмите иконку репозитория, чтобы открыть Asset Explorer. Вы увидите шаблон Interface Inheritance в категории шаблонов Разные (Miscellaneous). Внимание: Если вы его не увидите, значит, плагин не загрузился динамически, поэтому придется воспользоваться параметром -clean для перезапуска Rational Software Architect, и это заставить его загрузить новый плагин.

Шаг 3. Создайте UML-модель

  1. Создайте новый UML-проект и назовите его Lab2.
  2. Создайте новый проект моделирования и назовите его Lab2model, как показано на Рисунке 12. Тогда автоматически откроется диаграмма этой модели по умолчанию.

Рисунок 12. Создание новой UML-модели
Рисунок 12. Скриншот места, где вы создаете новую UML-модель

  1. В этой диаграмме создайте пакет и назовите его com.ibm.xtools.patterns.samples.impl.
  2. Создайте новый класс и назовите его Lab2Class со следующими публичными операциями:
    • op1(arg1:String):String (Строка)
    • op2(arg1:Integer):Integer (Целое число)
  3. Если вам нужно увидеть полную подпись, нажмите правой кнопкой по классу и выберите опции, которые показывает Рисунок 13 из контекстного меню.

Рисунок 13. Опция Показать подпись (Show Signature)
Рисунок 13. Путь к опции Show Signature

Шаг 4. Применить к UML-модели шаблон дизайна Interface Inheritance

  1. Если вы создадите его из Model Explorer, перетащите Lab2Class в com.ibm.xtools.patterns.sample.impl из Model Explorer. Внимание:Если вы создадите класс из диаграммы, перейдите к следующему шагу.
  2. Найдите в Pattern Explorer шаблон Interface Inheritance среди шаблонов категории Miscellaneous (Разные) и перетащите его в диаграмму, как показано на Рисунке 14.

Рисунок 14. Поиск шаблона Interface Inheritance
Рисунок 14. (Скриншот) Где искать шаблон Interface Inheritance

  1. Передвиньте курсор на параметр Abstract Interface в экземпляре шаблонов (Patterns Instance) (Рисунок 15). Вы увидите 2 иконки в панели меню над этим параметром:
    • Первый из них создаст интерфейс с фиктивным названием, производным от названия параметра.
    • Выберите вторую иконку и введите название интерфейса: model2Interface

Рисунок 15. Применение шаблона
Рисунок 15. Элемент экрана, в котором производится начало применения шаблона

  1. Создайте пакет и дайте ему название com.ibm.xtools.patterns.interfaces.
  2. Перетащите model2Interfaceв com.ibm.xtools.patterns.interfaces из Model Explorer
  3. Перетащите Lab2Class в параметр экземпляра шаблона Класс реализации (Implementation Class). Это свяжет Lab2Class с параметром Класс реализации.
  4. Перетащите model2Interface из Model Explorer в диаграмму, чтобы проанализировать связь. Вы обнаружите следующее:
    • model2Interface имеет публичные операции, аналогичные операциям Lab2Class
    • Lab2Class реализовал model2Interface. Внимание: Если вы не видите этой связи, щелкните по пустому полю в диаграмме, выберите Filters (Фильтры) > show/hide relationships... (показать/скрыть связи) и щелкните OK. Произойдет обновление связей в диаграмме, как показано на Рисунке 16.

Рисунок 16. Полный процесс применения шаблона
Рисунок 16. Диаграмма процесс применения шаблона

Шаг 5. Трансформация модели в Java-код

  1. Щелкните правой кнопкой мыши по Lab2model из Model Explorer. Внимание: Обязательно выберите модель при помощи иконки репозитория, а не файла .emx.
  2. Выберите Transform (Трансформировать)> Run Transformation (Запустить трансформацию) > UML в Java из контекстного меню.
  3. Создайте новый целевой проект и назовите его Lab2Code.
  4. Выберите Run (Запустить) для выполнения трансформации.
  5. Посмотрите на сгенерированный код в проекте Lab2Code, который нацелен на данный шаблон Interface Inheritance.

Получите максимальную отдачу от потраченного времени и сил

Вы можете убедиться в преимуществах использования полной инструментальной поддержки Rational Software Architect для разработки под управлением моделей и шаблонов. Когда вы скомбинируете его со средой разработки на основе ресурсов в ПО Rational Software Architect (дополняющем MDD), вы можете сделать эффективность максимальной в смысле экономии времени и денег, придать единство процессу разработки, ускорить цикл разработки и стандартизировать общие ресурсы при помощи повторно используемых моделей, шаблонов и трансформаций.


Страница сайта http://www.interface.ru
Оригинал находится по адресу http://www.interface.ru/home.asp?artId=6961