Совет по подготовке переноса №5




При переносе модели Rose в Rational Systems Developer удалите части модели Rose, являющиеся абстракцией на «уровне кода». Эти части включают классы, операции и атрибуты, непосредственно соответствующие коду. Переносите только те части модели Rose, которые превышают уровень абстракции (например, содержимое архитектуры и проектов высокого уровня).

Раздел 6. Импорт и визуализация кода

С помощью средства Rose Model Import, включенного в Rational Systems Developer на данном этапе UML-модель Rational Rose успешно импортирована в Rational Systems Developer. Теперь следует сравнить модель в Rational Systems Developer с исходной моделью в Rational Rose и устранить все проблемы, связанные с форматированием диаграмм. Также можно запустить Validation в модели Rational Systems Developer для определения любых возможных ошибок. Как правило, стандартные типы идентифицируемых ошибок связаны с соответствием требованиям, логике, структуре и использованию UML 2.0. Все результаты проверки, например, ошибки, предупреждения и информационные сообщения, отображаются на панели Problems. Также следует просмотреть темы справочной системы по соответствию элементов моделей Rose для понимания различий в UML-нотации. Большинство различий UML являются незначительными. Но, как уже ранее упоминалось, основные отличия обнаруживаются в машинах состояний, операциях и взаимодействиях.

Дальнейшие действия зависят главным образом от того, для чего использовалось приложение Rational Rose. Если исключительно как средство UML-моделирования и проектирования, процесс переноса на данном этапе можно считать завершенным. Если Rational Rose использовался для генерации кода Java или C++ из UML-моделей или для обратного проектирования кода Java или C++ для генерации из кода UML-диаграмм, необходимо перенести существующий код в Rational Systems Developer и использовать средство UML-визуализации. В данном разделе учебного руководства описан процесс импорта и визуализации кода Java/C++. Процесс импорта и визуализации кода практически одинаков для Java и C++ (за исключением типа проекта, созданного для содержания кода), поэтому в данном руководстве описан процесс импорта кода C++, включенного в пример модели Rose.

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

Так как будет импортироваться код C++, в рабочем пространстве Rational Systems Developer необходимо создать проект C++. Для этого выполните следующие шаги:

1. В главном меню выберите File -> New Project;

2. В диалоговом окне New Project откройте папку C++;

3. Установите флажок Standard Make C++ Project и нажмите кнопку Next;

4. Введите имя проекта и нажмите кнопку Finish.


Рис.10. Создание проекта C++

Замечательно! Теперь имеется проект C++, в который можно импортировать код. Как и при импорте модели Rose, имеется мастер импорта из файловой системы кода C++. Для импорта кода C++ в новый проект выполните следующие шаги:

1. В главном меню выберите File -> Import;

2. В диалоговом окне Import выберите File system и нажмите кнопку Next;

3. В диалоговом окне источника перейдите к папке с примером кода C++, предоставляемым вместе с примером модели Rose. Код должен находиться во вложенной папке SampleRoseModel/C++ рабочего пространства;

4. Установите флажок рядом с папкой C++ в левой панели для выбора всего кода, проверьте, что местоположение в поле Into folder соответствует местоположению созданного проекта C++, и нажмите кнопку Finish.


Рис.11. Импорт кода C++

Теперь рассмотрим, что было создано в процессе импорта. Прямо сейчас можно рассмотреть преимущества использования Rational Systems Developer для работы с кодом C++. Панель Model Explorer позволяет просматривать методы и поля со значками. Графическое представление кода C++ позволяет быстро просмотреть, как выглядит код без рассмотрения фактического кода. На самом деле с помощью Rational Systems Developer рассматривается собственно код. Это не отдельная модель реализации, а скорее код, представленный визуальным способом.


Рис.12. Проверка результатов

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

Rational Systems Developer позволяет исключить эту проблему с помощью визуализации кода в UML-диаграмме без создания отдельного «экземпляра» кода. При визуализации кода в диаграмме классов фактически просматривается код, а не его копия. Создадим диаграмму классов с помощью функции визуализации Rational Systems Developer и посмотрим, как она будет выглядеть.

1. Нажмите правую кнопку мыши на CcustomerDA;

2. Выберите в контекстном меню Visualize -> Add to New Diagram File -> Class Diagram.


Рис.13. Визуализация кода

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

1. Нажмите правой кнопкой мыши класс CCustomerDA в диаграмме;

2. Выберите в контекстном меню Filters -> Show Related Elements;

3. Выберите Show All Relationships и нажмите OK.


Рис.14. Визуализация кода

Раздел 7. Резюме

В данном учебном руководстве представлено пошаговое описание процесса переноса UML-модели из Rational Rose в Rational Systems Developer. Так как мастер Rose Import Wizard прост в использовании и при импорте моделей имеет всего несколько опций для настройки, то действия, которые следует выполнить до импорта модели, могут оказаться даже важнее. Выполнение данных рекомендаций позволит легко и успешно выполнить процесс переноса.

1. Откройте модель в Rose, загрузите все связанные элементы блоков и убедитесь, что все они доступны на компьютере, с которого выполняется импорт. Также неплохо запустить Rose Check Model и исправить наиболее очевидные ошибки в исходной модели. Если этого не сделать, все проблемы, проигнорированные в Rose, также будут присутствовать в перенесенных моделях;

2. При планировании переноса модели Rose, содержащей управляемые блоки, важно рассмотреть вопрос, как следует разделить результирующую модель Rational Systems Developer, так как пакет Rational Systems Developer не поддерживает управляемые блоки. Можно разбить импортируемую модель на несколько моделей. Не следует ограничиваться предыдущей организацией элементов блока, так как предыдущие элементы блока, возможно, имеют слишком подробную детализацию (или сами по себе могут быть правильными). Необходимо выделить время на документирование структуры новой модели и описать ее назначение после переноса;

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

4. Чтобы сохранить значки стереотипов в диаграммах, используйте для Rational Systems Developer, Software Architect или Systems Developer тот же компьютер, что и для Rose, или используйте шаги, рекомендованные для артефактов стереотипов, доступные во время импорта;

5. При переносе модели Rose в Rational Systems Developer удалите части модели Rose, являющиеся абстракцией на «уровне кода». Эти части включают классы, операции и атрибуты, непосредственно соответствующие коду. Переносите только те части модели Rose, которые превышают уровень абстракции (например, содержимое архитектуры и проектов высокого уровня).

Ресурсы

Научиться

  • Оригинал статьи Migrating to Rational Systems Developer, Part 1: Rational Rose Models.
  • IBM Rational Rose Model Import Feature - Инструкции по установке и обновлению;
  • Новые продукты проектирования и построения IBM Rational для пользователей Rose и XDE;
  • Руководство Model Structure для Rational Software Modeler и Rational Software Architect;
  • Страница продуктов IBM Rational Systems Developer: техническая документация, практические советы, обучающая информация, загрузка и информация о продуктах Rational Systems Developer;
  • Семинары и обучение на IBM developerWorks Россия.


Получить продукты и технологии

  • Создайте свой проект разработки с помощью пробного ПО IBM, которое можно загрузить непосредственно с developerWorks;


Обсудить

  • Примите участие в обсуждении материала на форуме.
  • Примите участие в дискуссионном форуме;
  • Форму Rational Software Architect, Software Modeler, Systems Developer, Application Developer и Web Developer: Задайте вопросы о Rational Systems Developer;
  • Участвуйте в блогах developerWorksи присоединяйтесь к сообществу developerWorks.

Об авторе

Катрина М. Вильямс (Katrina M. Williams) является специалистом по Channel Enablement отделения Rational компании IBM. Более 10 лет занималась разработкой программного обеспечения симуляторов для армии США. Сначала она работала разработчиком программного обеспечения, а затем занималась разработкой и поддержкой сред разработки программного обеспечения в качестве системного администратора/администратора средств CASE для компаний IBM и Lockheed Martin. Катрина имеет опыт использования продуктов Rational в качестве пользователя (во время ее работы в IBM и Lockheed Martin) и в качестве инженера технической поддержки Rational Software. В данный момент Катрина занимается поддержкой организации продаж IBM Rational и предоставлением обучающих, демонстрационных материалов для продуктов проектирования и разработки.


[1] https://www-128.ibm.com/developerworks/ru/edu/r-migtorsd/index.html



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2018-01-08 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: