|
|
|||||||||||||||||||||||||||||
|
Применение Rational Software Architect в разработке, управляемой моделями и на основе шаблонов: Часть 2. Инструментальная поддержка разработкиИсточник: IBM developerWorks Россия Колин Ю, директор по разработкам, IBM
Rational Software Architect обеспечивает полную поддержку управляемой моделями разработки (MDD) с шаблонами. Инфраструктура разработки на основе ресурсов (asset-based development framework) в Rational Software Architect дополняет MDD, позволяя повторное использование моделей и шаблонов и их трансформацию. Простой сценарий из нашей статьи покажет вам, как использовать Rational Software Architect в MDD. Как я говорил в Части 1, для разработки под управлением моделей и на основе шаблонов необходима интегрированная среда разработки (IDE), которая поддерживает:
IBM Rational Software Architect не только дает возможность поддержки сквозной (end-to-end) разработки под управлением моделей (MDD), но и дополнительные функции для поддержки разработки на основе ресурсов, которые дополняют MDD за счет поддержки многократного использования моделей, шаблонов и трансформаций (см. Рисунок 1). Рисунок 1. Интегрированная среда разработки
Данная статья, вторая из этой серии, описывает основы инструментальной поддержки IBM Rational Software Architect, связанной с разработками под управлением моделей и шаблонов, а также на основе ресурсов. Простой сценарий покажет вам, как применять эти свойства и приготовит вас к рассмотрению конкретного примера в части 3. Моделирование с помощью UMLМодели стали основными артефактами в дизайне программ, поэтому центр внимания несколько сместился к ним от соответствующего программного кода. Таким образом, модели не только позволяют фиксировать и сообщать все аспекты архитектуры приложения, но и еще и служат чертежами, из которых различные автоматизированные и полуавтоматизированные процессы берут программы и соответствующие модели. Итак, модели можно использовать со следующими целями:
Rational Software Architect интегрирует мощную среду моделирования программ на UML и полностью поддерживает моделирование с помощью UML 2.0, первой обновленной версии стандарта UML. Это означает, что он лучше поддерживает инструменты и методы MDD, и вы можете фиксировать и сообщать ваши намерения относительно проекта. В UML-моделировании модели содержат элементы, например, агенты (actors), варианты использования (use cases), классы и пакеты, а также одну или несколько диаграмм, которые показывают различные аспекты системы, например, диаграмму действий или диаграмму классов. Перспектива моделирования в Rational Software ArchitectRational Software Architect предоставляет перспективу моделирования, которая составлена из следующих взаимосвязанных представлений (views). Model ExplorerModel Explorer (Рисунок 2) показывает проекты моделирования, которые могут содержать любое количество моделей. Модель (которая сама является элементом модели) содержит соответствующие элементы модели, такие как пакеты, классы, параметры, операции и ограничения. В представлении Model Explorer можно добавлять, удалять, сортировать и организовывать элементы модели, а также открывать UML-диаграмму в Редакторе диаграмм. Рисунок 2. Представление Model Explorer
Навигатор диаграмм (Diagram Navigator)Навигатор диаграмм представляет проекты в рабочей области иначе. Он показывает проекты моделирования и их UML-диаграммы в окне директории (дерева), как видно из Рисунка 3. Рисунок 3. Окно Diagram Navigator
Диаграммы UML помогают представить и управлять элементами модели. Разные диаграммы представляют разные взгляды на систему, приложение или базу данных, которую вы разрабатываете. Поскольку диаграммы могут представлять несколько обзоров модели, один элемент модели может появляться в одной или в нескольких диаграммах. UML предоставляет различные диаграммы, которые позволяют пользователям понять и передать все аспекты архитектуры приложения при помощи стандартной системы знаков, которая понятна для многих участников (stakeholders - заинтересованные стороны). Далее мы перечисляем 13 официальных диаграмм UML 2.0, каждая из которых демонстрирует различные аспекты системы:
Редактор диаграммUML-диаграмму можно открыть в Редакторе диаграмм (Diagram Editor) (Рисунок 4), в представлении либо Diagram Navigator, либо Model Explorer. Можно одновременно открыть несколько диаграмм, а потом использовать табулятор для переключения между ними. UML-диаграмма содержит элементы диаграммы. Элемент диаграммы, который также называют формой (shape), - это графический или текстовый элемент, который представляет или UML-элемент (например, класс, интерфейс и связь (relationship)), или геометрическую форму, которая не содержит UML-семантики (например, овалы, ромбы и прямоугольники). Из Редактора диаграмм можно перетащить элемент существующей модели из Model Explorer, а также можно воспользоваться палитрой (palette) для создания нового элемента диаграммы. (Если элемент диаграммы представляет собой UML-элемент, соответствующий ему UML-элемент будет добавлен к модели.) Рисунок 4. Представление Diagram Editor
СвойстваЕсли вы выделите (highlight) один из элементов UML-диаграммы, вы увидите и сможете задать свойства элемента диаграммы из представления Properties (Рисунок 5). Свойства - параметры, которые управляют характеристиками форм и соединений (connectors) в UML-диаграммах. Например, каждая форма и соединение имеют свойства "цвет линий" (line-color), которое вы можете назначить для границ формы или для линий соединений. Также можно задать параметры свойств, чтобы менялись стили линий и скрывались или отображались заголовки отделов (compartments). Если выделить элемент модели из Model Explorer, можно получить вид и задать свойства элемента модели, например, имена и видимость, профили модели, а также атрибуты и операции класса. Рисунок 5. Представление Свойства (Properties) Шаблоны моделейRational Software Architect включает шаблоны для примеров, анализа и моделей дизайна. Каждый из них предназначен для разных фаз разработки: требования, анализ и дизайн. Rational Software Architect не дает шаблона для модели реализации, которая представляла бы физический состав этой реализации, включая подсистемы реализации и элементы реализации (исходный код, файлы с данными и исполняемые файлы). Причина, почему не включены шаблоны реализации - принцип работы Rational Software Architect - использовать модели нейтральных платформ на стадии дизайна, а потом трансформировать результаты средствами Rational Software Architect, используя код или артефакты уровня реализации. Модель варианта использованияМодель варианта использования дает подробную информацию о поведении системы или приложения, которое вы разрабатываете. Она определяет требования системы в терминах требующейся функциональности (варианты использования) для достижения целей или для решения проблемы, определенной пользователем, и она же описывает окружение (агенты) и отношения между вариантами использования и агентами (диаграммы вариантов использования). Модель варианта использования также включает диаграммы вариантов и диаграммы действий, которые описывают то, как пользователи общаются с системой. Модель анализаМодель анализа описывает структуру системы или приложения, которое вы моделируете. Она состоит из диаграмм классов и последовательностей, которые описывают логическую реализацию функциональных требований, которые вы определили в модели примера. Модель анализа идентифицирует основные классы в системе и содержит набор реализаций примеров, которые описывают, как будет построена система. Диаграммы классов описывают статичную структуру системы, используя стереотипы для моделирования функциональных частей системы. Диаграммы последовательности реализовывают варианты использования описанием последовательности событий в вариантах, в которых они исполняются. Эти реализации вариантов использования моделируют взаимодействие частей системы в контексте варианта. Модель анализа описывает логическую структуру системы; таким образом она является фундаментом разрабатываемой модели. Разрабатываемая модельРазрабатываемая модель основана на модели анализа и добавляет детали к самой реализации в системе. Используя различные диаграммы (в том числе диаграммы последовательности, машины состояний, компонента и размещения), модель дизайна подробно описывает, как устроено приложение и как оно будет реализовываться. Она также описывает структурные компоненты программ и технологий, например, обеспечивающих персистентность, распределение, безопасность и доступ к данным. Шаблоны дизайна обычно достраивают модель дизайна и при этом включают часто используемые или сложные структуры и процессы. Среда для шаблона (Pattern framework)Как мы уже говорили в разделе о моделях дизайна, шаблонами дизайна можно пользоваться для отладки модели дизайна (изменить или добавить UML-элементы), чтобы применить некое решение к знакомой задаче. Можно использовать среду шаблона ПО Rational Software Architect для выполнения нескольких важных задач:
Создание шаблоновМожно создать шаблон дизайна при помощи подключения двух плагинов: сервис шаблонов и среда шаблонов, которые инкорпорируют опыт использования сервисов шаблонов. Сервис шаблонов и среда шаблонов обеспечивают основные функции для структурирования, дизайна, кодирования, поиска, организации и использования шаблонов. Упаковка и публикация шаблонов для многократного использованияПлагин шаблона можно экспортировать в качестве размещаемого ресурса многократного использования, который соответствует требованиям Reusable Asset Specification (RAS). Этот ресурс многократного использования можно копировать в виде файла или публиковать в репозитории общих ресурсов, чтобы пользователи могли это прочитать и внедрить этот шаблон в свой инструментарий Rational Software Architect. Вы также можете экспортировать его непосредственно в репозиторий, что показано на Рисунке 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
Проводник ресурсов (Asset Explorer): Все шаблоны по умолчанию сохраняются в локальном RAS-репозитории для шаблонов, которые вы можете впоследствии организовать в логические группы или поддиректории В представлении Asset Explorer перспективы RAS вы найдете шаблоны, инсталлированные с помощью Rational Software Architect в директорию репозитория шаблонов. Если вы создали связи с каким-либо репозиторием ресурсов, локальным или удаленным, вы также сможете найти шаблоны в соответствующих им репозиториях ресурсов, если составители их публиковали, как на Рисунке 8. Можно импортировать шаблоны из репозитория ресурсов в рабочее пространство Rational Software Architect, чтобы их можно было использовать из Pattern Explorer. Рисунок 8. Представление Asset Explorer
Применение шаблоновПрименение шаблонов совсем не запутанное дело. Можно перетащить шаблон из Pattern Explorer в UML-диаграмму, а затем связать UML-элементы с данным шаблоном в качестве параметров (создавая новые или выбирая существующие). После связывания этих параметров с экземпляром шаблона сам экземпляр настроит модель при помощи изменения элементов существующей модели или добавления новых. Далее в статье мы сообщим о других способах применения шаблонов, и вы увидите реальный случай их использования. ТрансформацияКак мы уже говорили, модель дизайна можно трансформировать в артефакты уровня реализации при помощи Rational Software Architect, в том числе исполняемый код, XSD, WSDL, документацию и скрипты конфигурации. Rational Software Architect поставляется с 5 трансформациями, как видно из Рисунка 9. Их можно применить к разным уровням элементов UML, в том числе к модели, пакету, классу и интерфейсу. Например:
Данные трансформации обеспечивают основные функции для генерации соответствующих проектов Eclipse и родственных артефактов из UML-модели. Например, UML для трансформации компонентов Enterprise Java beans (EJB) создаст EJB-проект, а трансформация UML в Java создаст проект Java. Эти трансформации можно расширить, добавив к ним действия, а можно задать собственные трансформации расширением среды Rational Software Architect. Рисунок 9. Трансформации, включенные в ПО Rational Среда разработки на основе ресурсовМодели, шаблоны и трансформации являются ресурсами многократного использования. После разработки их обрабатывают, организовывают, хранят и используют для ускорения MDD и для обеспечения наибольшей выгоды от затраченных усилий. В результате этого разработка ресурсов становится важной частью MDD. Rational Software Architect применяет спецификацию ресурсов многократного использования Reusable Resource Specification (RAS) в качестве стандартного способы упаковки и использования ресурсов, которые обеспечивают решение проблемы в конкретном контексте. RAS-ресурс представляет собой коллекцию взаимосвязанных артефактов с декларацией (manifest), которая описывает этот ресурс, что показано на Рисунке 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.
Суммируя сказанное: простой сценарийТеперь пора научиться соединять в работе всю поддержку инструментария MDD. Мы покажем это на примере сценария:
Шаг 1. Сохраните ресурс шаблона дизайна в репозитории ресурсов
Рисунок 11. Импорт ресурса шаблона в репозиторий
Шаг 2. Навигация в репозитории и импорт шаблона дизайна
Шаг 3. Создайте UML-модель
Рисунок 12. Создание новой UML-модели
Рисунок 13. Опция Показать подпись (Show Signature)
Шаг 4. Применить к UML-модели шаблон дизайна Interface Inheritance
Рисунок 14. Поиск шаблона Interface Inheritance
Рисунок 15. Применение шаблона
Рисунок 16. Полный процесс применения шаблона
Шаг 5. Трансформация модели в Java-код
Получите максимальную отдачу от потраченного времени и силВы можете убедиться в преимуществах использования полной инструментальной поддержки Rational Software Architect для разработки под управлением моделей и шаблонов. Когда вы скомбинируете его со средой разработки на основе ресурсов в ПО Rational Software Architect (дополняющем MDD), вы можете сделать эффективность максимальной в смысле экономии времени и денег, придать единство процессу разработки, ускорить цикл разработки и стандартизировать общие ресурсы при помощи повторно используемых моделей, шаблонов и трансформаций. Ссылки по теме
Файлы для загрузки
|
|