Установка IBM Rational Rose. Установка набора UML-разработчика IBM Rational Rose и технология синхронизации модели с языком Java. Разделение модели на управляемые блоки

Для установки Rational Rose 2003 необходимо запустить файл Rational Rose Enterprise Edition for Windows.exe на выполнение. После выбора места установки выберите пункт как показано на рисунке 1.

Рисунок 1

Затем необходимо указать каким способом будет устанавливаться программа. Выберите пункт, указанный на рисунке 2.

После установки программы ее необходимо активировать. Для этого в открывшемся окне (рисунок 3) выберете идентичный пункт.

Для запуска программы в меню Пуск используйте значок:

Инструктивный материал к выполнению практических работ:

CASE-средство IBM Rational Rose позволяет построить канонические UML-диаграммы в рамках единой модели, проверить модель на наличие ошибок и осуществить экспорт в виде кодов программ.

Спроектированная модель сохраняется в файле с расширением MDL, резервные копии - в файлах с расширением MD~. Одновременно можно работать только с одной моделью - при загрузке новой, предыду­щая автоматически закрывается.

Работа начинается с выбора будущей среды реализации (рис. 4). Если среда пока точно не определена, рекомендуется выбрать «Rational unified process».

Рисунок 4 – Окно выбора среды реализации

Интерфейс IBM Rational Rose оформлен по аналогии с интерфейсами большинства Windows-приложений, поэтому нет смысла останавливаться на пунктах главного меню и подробном перечислении содержания панели инструментов (рис. 5).

Рисунок 5 – Рабочий интерфейс среды

В левой части экрана располагается окно браузера проекта , в котором можно видеть проектируемую систему в виде иерархической структуры, верхними уровнями которой являются «Концептуальное представление» (use case view), «Логическое представление» (logical view), «Компонентное представление» (component view) и «Представление развертывания» (deployment view).

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

Внизу экрана находится окно журнала, куда выводится служебная информация о выполненных действиях.

Переключение между диаграммами осуществляется либо нажатием соответствующего значка на панели инструментов, либо выбором из главного меню (Browse).

Остальные особенности работы в среде IBM Rational Rose будут понятны в дальнейшем при рассмотрении примера разработки модели простейшей информационной системы.

Давно меня смущал тот факт, что Rational Rose сто лет не обновлялась. На RuTracker.org лежит версия Rational Rose 7.0 от 2006 года. Ну не могли купить IBM такой класс продуктов и забросить!

Оказывается , что IBM выпустила новую версию Rational Rose, которая называется IBM Rational Phapsody Modeler (скачать с официальной страницы) и которая распространяется свободно!
Теперь не нужно платить деньги за Rational Rose и к тому же за старую версию!

После часа регистраций и заполнений профиля я получаю прямую ссылку (~ 65 Мб).

Прежде чем устанавливать, прочитайте до конца это сообщение!


Во Windows Vista требуется запускать программу из-под администратора, а не из под пользователя с правами администратора! Поэтому запускаем интерпретатор командной строки с правами администратора (о чём свидетельствует заголовок окна) и перейдя в папку с дистрибутивом запускаем:

В Windows 7 в дополнение ПЕРЕД УСТАНОВКОЙ ИЗ КОМАНДНОЙ СТРОКИ нужно создать системный параметр IgnoreAllUsersProfile и установить его значение в TRUE:


Для этого правой кнопкой на "моём компьютере" выбираем "Свойства". Выбираем слева "Дополнительные параметры системы" и в появившемся окне во вкладке "Дополнительно" нажимаем "Переменные среды...":


Запустив из командной строки получаем уже новую версию продукта 7.5:


:

Product license key


The Rational Modeler Edition uses an internal key that will enable the product without an expiration date. You must install the correct version to activate the license for the free product.
The Corporate edition requires a license key which must be purchased from IBM. If you install the Corporate edition by mistake (and get a pop-up box with a license key request) you will need to un-install the corporate edition and re-install the base edition.
The Rational Modeler product is available in two editions based on the Rational Rhapsody family, the free and Corporate editions. The same download is used for both editions. To access the free version, after download, launch the product installer and select Rational Rhapsody Modeler edition when prompted.
  • Rational Rhapsody Modeler Edition (Select this base edition for the license free product)
  • Rational Rhapsody Modeler Corporate Edition
The Corporate edition requires a license key which must be purchased from IBM. If you install the Corporate edition by mistake (and get a pop-up box with a license key request) you will need to un-install the corporate edition and re-install the base edition.
Другими словами, чтобы получить бесплатный продукт, выбираем Rational Rhapsody Modeler Edition:


Если при запуске Вы получаете ошибку: "Error in registering rhapsody.tlb", то значит, что Вы что-то пропустили и сделали не так!

Лабораторные работы по дисциплине «Технология программирования»

ЗНАКОМСТВО С CASE-СИСТЕМОЙ RATIONAL ROSE

1. Теоретическая часть

1.1. Введение в Rational Rose

Rational Rose - семейство объектно-ориентированных CASE-средств фирмы Rational Software Corporation, предназначенное для автоматизации процессов анализа и проектирования программного обеспечения (ПО), а также для генерации кодов на различных языках программирования и выпуска проектной документации. Rational Rose использует метод объектноориентированного анализа и проектирования, основанный на языке UML. Текущая версия Rational Rose реализует генерацию кодов программ для C++, Visual C++, Visual Basic, Java, PowerBuilder, CORBA Interface Definition Language (IDL), генерацию описаний баз данных для ANSI SQL, Oracle, MS SQL Server, IBM DB2, Sybase, а также позволяет разрабатывать проектную документацию в виде диаграмм и спецификаций. Кроме того, Rational Rose содержит средства реверсного инжиниринга программ и баз данных, обеспечивающие повторное использование программных компонентов в новых проектах.

В основе работы Rational Rose лежит построение диаграмм и спецификаций UML, определяющих архитектуру системы, ее статические и динамические аспекты. В составе Rational Rose можно выделить шесть структурных основных компонентов: репозиторий, графический интерфейс пользователя, средства просмотра проекта (браузер), средства контроля проекта, средства сбора статистики и генератор документов. К ним добавляются генератор кодов (индивидуальный для каждого языка) и анализатор для C++, обеспечивающий реверсный инжиниринг.

Репозиторий представляет собой базу данных проекта.Обзор обеспечивает «навигацию» по проекту, в том числе перемещение по иерархиям классов и подсистем, переключение от одного вида диаграмм к другому и т.д.

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

Средства автоматической генерации кодов программ на языке C++,

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

Анализатор кодов C++ реализован в виде отдельного программного модуля. Его назначение - создавать модули проектов Rational Rose на основе информации, содержащейся в определяемых пользователем исходных текстах на C++. В процессе работы анализатор осуществляет контроль правильности исходных текстов и диагностику ошибок. Модель, полученная в результате его

работы, может целиком или фрагментарно использоваться в различных проектах. Анализатор обладает широкими возможностями настройки по входу и выходу. Например, можно определить типы исходных файлов, базовый компилятор, задать, какая информация должна быть включена в формируемую модель, и какие элементы выходной модели следует выводить на экран. Таким образом, Rational Rose/C++ обеспечивает возможность повторного использования программных компонентов.

В результате разработки проекта с помощью CASE-средства Rational Rose формируются следующие документы:

диаграммы UML, в совокупности представляющие собой модель разрабатываемой программной системы;

спецификации классов, объектов, атрибутов и операций;

заготовки текстов программ.

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

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

Rational Rose Enterprise Edition

Rational Rose Professional Edition

■ Rational Rose Modeler Edition

■ Rational Rose для UNIX

Наиболее полными возможностями обладает первая из указанных модификаций этого средства. Из этих возможностей можно отметить: генерацию кодов на различных языках программирования (Java, C++, VisualBasic, PowerBuilder), обратную генерацию диаграмм (реинжиниринг) на основе программного кода и выпуск проектной документации.

1.2. Особенности рабочего интерфейса Rational Rose

В CASE-средстве Rational Rose реализованы общепринятые стандарты на рабочий интерфейс программы, подобно известным средам визуального программирования. После установки Rational Rose на компьютер запуск этой программы в среде MS Windows приводит к появлению на экране главного окна программы (рис. 1.1.).

Рис. 1.1. Главное окно Rational Rose

Рабочий интерфейс Rational Rose состоит из следующих основных элементов:

1. Главное меню программы.

2. Стандартная панель инструментов.

3. Окно браузера.

4. Специальная панель инструментов.

5. Окно диаграммы.

6. Окно документации.

7. Окно журнала.

Рассмотрим кратко назначение и основные функции каждого из этих элементов.

Главное меню программы выполнено в общепринятом стандарте. Меню состоит из одиннадцати пунктов:

■ File (файл) предназначен для сохранения, загрузки, обновления проекта, печати диаграмм;

■ Edit (редактирование) предназначен для копирования и восстановления данных в буфер обмена Windows, а также для редактирования свойств и стилей объектов;

■ View (вид) предназначен для настройки представления окон меню и строк инструментов;

■ Format (форматирование) предназначен для настройки формата текущего значка, цветовой гаммы, линий и т.д.;

■ Browse (просмотр) предназначен для навигации между диаграммами и спецификациями диаграмм, представленных в модели;

■ Report (отчет) предназначен для получения различного вида справок и отчетов;

■ Query (запрос) предоставляет возможности контролировать, какие элементы модели будут показаны на текущей диаграмме;

■ Tools (инструменты) предоставляет доступ к различным дополнительным инструментам и подключаемым модулям;

■ Add-Ins (добавить) предоставляет доступ к менеджеру подключаемых модулей;

■ Window (окно) позволяет управлять окнами на рабочем столе;

■ Help (помощь) позволяет получать справочную информацию.

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

Пользователь может настроить внешний вид этой панели по своему усмотрению. Для этого необходимо выбрать пункт меню Tools-»Options (Инструменты-» Параметры) и открыть вкладкуToolbars (Панели инструментов). Этим способом можно показать или скрыть различные кнопки инструментов, а также изменить их размер.

Следует заметить, что внешний вид панели инструментов определяется не только выбором и не только видом разрабатываемой диаграммы, но и выбором графической нотации для изображения самих элементов этих диаграмм. В Rational Rose реализованы три таких нотации: UML, ОМТ и Booch. Одна и та же диаграмма может быть представлена различным образом, для этого достаточно выбрать желаемое представление через пункт меню View (Вид). При этом никаких дополнительных действий выполнять не требуется - диаграмма преобразуется в выбранную нотацию автоматически. В дальнейшем система Rational Rose рассматривается в контексте только языка UML. В связи с этим особенности двух других нотаций, которые отражают эволюционный аспект этой системы, рассматриваться не будут.

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

Специальная панель инструментов располагается между окном браузера и окном диаграммы в средней части основного окна. По умолчанию показывается панель инструментов для построения диаграммы классов модели (при этом окно диаграммы классов должно быть активным).

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

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

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

Окно документации по умолчанию может не присутствовать на экране. В этом случае оно может быть активизировано через пункт меню View-»Documentation (Вид-» Документация), после чего появится ниже браузера.

Окно документации, как следует из его названия, предназначено для документирования элементов представления модели. В него можно записывать самую различную информацию, и что важно – на русском языке. Эта информация в последующем преобразуется в комментарии и никак не влияет на логику выполнения программного кода.

В окне документации активизируется та информация, которая относится

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

Так же, как и для других окон, можно изменять размеры и положение окна документации.

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

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

Окно журнала всегда присутствует на экране в области окна диаграммы. Однако оно может быть закрыто другими окнами с диаграммами или быть свернутым. Активизировать окно журнала можно через меню Window-»Log (Окно-»Журнал). В этом случае оно изображается поверх других окон в правой области основного окна. Полностью удалить это окно нельзя, его можно только минимизировать.

В модели, создаваемой с помощью системы Rational Rose, поддерживаются четыре вида представления информационных объектов модели:

представление вариантов использования (Use Case View);

логическое представление (Logical View);

представление компонентов (Component View);

представление размещения (Deployment View).

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

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

Представление компонентов содержит диаграммы компонентов,

которые включают компоненты, являющиеся физическими модулями кода, и пакеты, являющиеся группами связанных компонентов.

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

1.3. Начало работы над проектом в среде Rational Rose

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

вариантов использования (Use case).

Затем определяется список классов, которые должны присутствовать в системе, пока без конкретной детализации и подробного описания действий. Для этого используется диаграмма классов (Class diagram).

После определения в системе необходимых классов описывается взаимодействие классов при помощи диаграммы последовательности (Sequence diagram) и диаграммы кооперации (Collaboration diagram).

На основании производимых классами действий создается окончательная иерархия классов системы при помощи диаграммы классов, и определяются компоненты, в которые эти классы необходимо включить при помощи диаграммы компонентов (Component diagram). Размещение компонентов определяется с помощью диаграммы развертывания (Deployment diagram).

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

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

Разработчику необходимо учитывать, что проектирование системы - это итерационный процесс. На практике трудно за один шаг создать полный проект системы. Приходится многократно возвращаться к уже созданным диаграммам и вносить в них изменения.

Для нового проекта можно воспользоваться мастером типовых проектов (если он установлен в данной конфигурации). Мастер типовых проектов доступен из меню File-»New (Файл-» Создать). Если мастер недоступен, то на экране появляется рабочий интерфейс программы с чистым окном диаграммы.

ПРИМЕЧАНИЕ . При выполнении лабораторных работ необходимо создавать новый пустой проект, для чего в мастере выбора типового проекта нужно нажать кнопку Отмена (Cancel).

Если имеется готовый проект (файл с расширением.mdl), то его можно открыть для последующей модификации через меню File-»Open

(Файл-»Открыть). В этом случае программа загрузит существующий проект со всеми имеющимися в нем диаграммами, спецификациями и документацией.

По окончании сеанса работы над проектом выполненную работу необходимо сохранить в файле проекта с расширением.mdl. Это можно сделать через меню FiIe-»Save (Файл-»Сохранить) или File-»Save As (Файл-» Сохранить как). При этом вся информация о проекте, включая диаграммы и спецификации элементов, будет сохранена в одном файле.

Как и другие программы, Rational Rose позволяет настраивать глобальные параметры среды, такие как выбор шрифтов и цвета для представления различных элементов модели. Настройка шрифтов производится через меню Tools-»Options (Инструменты-» Параметры). Характерной особенностью среды является возможность работы с символами кириллицы. Однако следует учесть, что при спецификации элементов модели с последующей генерацией текста программного кода нужно сразу записывать имена и свойства элементов символами того языка, который поддерживается соответствующей системой программирования.

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

1.4. Разработка основных видов диаграмм в среде Rational Rose 1.4.1. Разработка диаграммы вариантов использования

Работа над проектом в среде Rational Rose начинается с общего анализа проблемы и построения диаграммы вариантов использования, которая отражает функциональное назначение проектируемой программной системы.

Для разработки диаграммы вариантов использования в среде Rational Rose необходимо активизировать соответствующую диаграмму в окне диаграммы. Это можно сделать различными способами:

раскрыть представление вариантов использования в браузере (Use Case View) и дважды щелкнуть на пиктограмме Main (Главная);

через пункт меню Browse-»Use Case Diagram (Обзор-»Диаграмма вариантов использования).

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

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

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

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

При необходимости можно указать характеристики связи между элементами. Для этого используется команда контекстного меню связи Open Specification (Открыть спецификацию). На вкладке General можно указать имя связи, ее стереотип и другие характеристики. Для определения степени связи следует выбрать требуемое значение в спискеMultiplicity (Кратность) на вкладкахRole A Detail илиRole B Detail .

Диаграмма вариантов использования является высокоуровневым представлением модели, поэтому она не должна содержать слишком много вариантов использования и актеров. В последующем построенная диаграмма может быть изменена добавлением новых элементов или их удалением. Для удаления элемента из диаграммы необходимо выделить удаляемый элемент и нажать клавишу Delete или выполнить команду Edit-»Delete. В этом случае элемент удаляется только из данной диаграммы, но остается в модели. Удалить элемент из модели можно с помощью команды Edit-»Delete from Model.

При работе со связями на диаграмме вариантов использования следует помнить о назначении соответствующих связей. Если для двух элементов выбранный вид связи не является допустимым, то система сообщит об этом разработчику (см. рис. 1.2), и такая связь не будет добавлена на диаграмму.

Более подробная информация по построению диаграмм вариантов использования в среде Rational Rose приведена в .

1.4.2. Документирование вариантов использования.

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

щелкнуть правой кнопкой мыши на соответствующем варианте использования;

в открывшемся меню выбрать пункт Open Specification (Открыть спецификацию);

перейти на вкладку Files (Файлы);

щелкнуть правой кнопкой мыши в белой области и в открывшемся меню выбрать пункт Insert File (Вставить файл);

указать имя файла с расширением.doc и нажать на кнопку Open (Открыть), чтобы прикрепить файл к варианту использования.

1.4.3. Разработка диаграммы классов

Диаграмма классов является основным логическим представлением модели и содержит самую подробную информацию о внутреннем устройстве объектно-ориентированной программной системы. Активизировать диаграмму классов в окне диаграммы можно несколькими способами:

эта диаграмма появляется по умолчанию в окне диаграммы после создания нового проекта;

раскрыть логическое представление в браузере (Logical View) и дважды щелкнуть на пиктограмме Main (Главная);

щелкнуть на кнопке с изображением диаграммы классов на стандартной панели инструментов;

через пункт меню Browse-»Class Diagram (Обзор-»Диаграмма

классов).

Если требуется построить диаграмму классов для отдельного варианта использования, то это можно выполнить одним из следующих способов:

раскрыть представление вариантов использования в браузере (Use Case View), выделить рассматриваемый вариант использования и выбрать пункт контекстного меню New-»Class Diagram (Новая-»Диаграмма классов). Ввести название диаграммы в браузере.

выбрать пункт меню Browse-»Class Diagram (Обзор-»Диаграмма классов) и в появившемся окнеSelect Class Diagram (Выбрать диаграмму классов) указать название варианта использования.

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

Java, C++, Visual C++ - это замечательные объектно-ориентированные языки программирования, однако для написания больших и сложных приложений требуется немалый опыт работы с этими языками.

Rational Rose позволяет не только спроектировать и создать каркас программы (не напечатав ни одного оператора), но и вносить существенные изменения в иерархию классов в ходе разработки.

Технологии

Rational Rose - это объектно-ориентированное средство проектирования, то есть реализация CASE-технологии. Понятие CASE-технология расшифровывается как Computer-Aided Software/System Engineering - разработка систем (или программного обеспечения) с помощью компьютера.

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

Для работы с Rational Rose необходимо знать UML (Unified Modeling Language - унифицированный язык моделирования). UML - это графический язык описания архитектуры системы. В Rational Rose можно работать с UML в одной из нотаций:

  • в Unified (унифицированной);
  • в нотации Г. Буча (Booch);
  • в нотации ОМТ (Object Model Template - шаблон объектной модели).

Наиболее распространена Unified (унифицированная) нотация.

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

Рис. 1. Диаграмма использования термометра

Рис. 2. Диаграмма состояний процесса сравнения двух переменных

После проектирования классов на диаграммах Rational Rose дает возможность привязать их к конкретному языку программирования и создать на нем программный код. Rational Rose поддерживает работу с такими языками: C++, Ada, Java/J2EE, Visual C++, Visual Basic и XML. Существует надстройка, обеспечивающая интеграцию Rational Rose со средой Delphi. Rational Rose понимает модели COM и CORBA, схемы Oracle.

Разработчик

Само название Rational Rose переводится с английского либо как "Рациональная роза", либо как "Повышение рациональности", что связано с неоднозначностью перевода слова "Rose".

Rational Rose разработана компанией Rationa l , которая основана в 1981 году и занимается созданием CASE- технологий. Программные продукты фирмы Rational предназначены для анализа требований к системе, разработки программного обеспечения, тестирования, управления проектами и поддержки команды разработчиков.

Страница на сайте разработчика посвящена Rational Rose. Предварительно зарегистрировавшись, с сайта разработчика можно скачать бесплатную 15-дневную версию Rational Rose. Там же можно получить документацию (на английском языке).

Rational Rose существует для двух платформ - Windows (начиная с 98) и UNIX (Solaris 2.6, 7 и 8, HP-UX 10.20, 11, 11.11 (11i), Linux).

Те, кому не хватает возможностей, предоставляемых Rational Rose, могут дополнительно закачать и установить разнообразные надстройки и утилиты к ней.

Работа

В Rational Rose модель представлена с четырех точек зрения, или видов (View):

  • Use Case View - описывает, как проект выглядит с точки зрения его использования. Кто и куда вводит данные, что после этого делает программа и кому передает результат. Пример такой диаграммы показан на рис. 1 и в большем фрейме браузера на рис. 3;
  • Logical View - здесь описывается логика программы. Рекомендуется приступать к работе с этим аспектом модели в последнюю очередь, когда уже определено, что и в какой последовательности будет делать программа. Здесь описываются классы, их свойства и методы, отношения между классами. Пример такой диаграммы показан на рис. 4;
  • Component View - показывает, на какие компоненты разбит проект, что помещено в каждый из них. Здесь проектируются модули и зависимости между ними, переходы от главной программы к подпрограммам;
  • Deployment View - помогает продумать расположение физических устройств и связей между ними. В каждом из этих видов по умолчанию находится главная диаграмма - Main, в которой и отражается соответствующий аспект модели. Можно не ограничиваться ею и создавать другие диаграммы. Кроме того, в видах можно создавать дополнительные типы диаграмм:
  • State diagram - диаграмма состояний и переходов между ними;
  • Activity diagram - пример этой диаграммы приведен на рис. 2. Она отображает состояния системы и ее объектов, выполняемые действия и условные переходы;
  • Iteraction diagram - диаграмма взаимодействия объектов.

Полезность

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

Rational Rose в этом плане отличается от языков программирования. "С кондачка" ее не выучишь - нужен весьма серьезный стимул. Поскольку система комплексна и многогранна - ориентироваться в ней так же непросто, как в современной политике.

Хотя, впрочем, не стоит забывать, что работа программиста - это тоже творчество, а посему случаи, похожие на озарение,- не редкость. Когда оказывается, что для изменения модели не нужно переписывать ее сверху донизу; когда понимаешь, что можешь показать заказчику будущий продукт с любой степенью детализации; когда начальство многозначительно хмыкает при взгляде на стройные ряды классов и объектов - в такие моменты чувствуешь себя демиургом, творцом небольшой вселенной. Что тоже не вредно для самолюбия.

При установке Rational Rose обнаруживает программное обеспечение разработчика и активно с ним взаимодействует. В Rational Rose 2001 реализован контроль версий при помощи Microsoft Visual SourceSafe или встроенного средства фирмы Rational.

Рис. 3. Публикация модели Rational Rose в сети

Хозяйке на заметку: комментарии можно вставлять в классы при их проектировании. То есть на том этапе, когда разработчик еще не забыл, для чего должны служить эти классы, и не увлекся написанием кода. В Rational Rose существует также возможность, называемая Reverse Engeneering - реинжиниринг. Предположим, имеется работающая программа на языке. В данном случае реинжиниринг - это набор методов, позволяющих получить на основе исходного кода модель Rational Rose.

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

При создании класса его имя вводится один раз, а потом выбирается из списка доступных объектов. Это предохраняет от грамматических ошибок. Когда приложение состоит из нескольких классов, каждый из которых использует произвольное количество остальных, не запутаться сложно. Но на диаграмме Rational Rose отлично видно, какие сущности использует каждый класс.

Рис. 4. Связи между классами

На рис. 4 показано, что класс EnvironmentalController унаследован от Controller. Он использует классы TemperatureSensor и pHSensor. Класс pHSensor включает в себя классы pH и location, а класс TemperatureSensor - классы temp и location.

После создания модели приложения в Rational Rose остается только ассоциировать ее с языком программирования, список которых находится в меню Tools (Сервис). Затем для генерирования программного кода используется пункт подменю Code Generation. Rational Rose может быть полезна не только разработчикам. Системные аналитики и менеджеры проектов вполне могут применять ее для понимания архитектуры и требований при создании крупных программ. С ее помощью руководитель проекта легко может разделить работу между командой программистов так, чтобы каждый не вмешивался в работу других, но при этом видел результаты работы товарищей.

На ранних этапах проектирования программ Rational Rose может облегчить взаимопонимание заказчика и проектировщика. Не секрет, что программисту иногда приходится объяснять клиенту, что ему нужно. Четкая и аккуратная диаграмма действий легче воспримется заказчиком, чем пространное объяснение, полное терминов, или бесконечные строки кода на дисплее. Но в любом случае главную роль играет полет творческой мысли создателя проекта, вне зависимости от используемых средств. Можно, пользуясь стандартным текстовым редактором и компилятором из командной строки, создавать шедевры. А можно и с помощью самых современных средств проектирования создать громоздкую и ненужную программу.

И, тем не менее, не стоит забывать, что творцом остается человек, а компьютер и технологии - это лишь его верные (хотя подчас весьма капризные!) помощники.


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

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

В идеале пользователи Rose работают в своей собственной частной рабочей области, в которой они защищены от изменений, которые могут быть еще не протестированы или не утверждены.

Ниже описаны основные действия по созданию этой основы:

Подробное описание применения Rose в команде приведено в следующих источниках:

1. Определение стратегий работы

При разработке стратегии коллективной работы необходимо учитывать два аспекта:

  • разработка стратегии, поддерживающей текущую разработку
  • разработка стратегии для обслуживания и извлечения получаемых многоразовых продуктов работы моделирования

При разработке текущих проектов используемые командой инструменты должны обеспечивать следующие возможности:

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

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

  • Продукты работы модели должны являться архитектурно значимыми блоками, такими как шаблоны, структуры и компоненты (а не простыми отдельными классами).
  • Все участники команд, вне зависимости от их расположения, должны иметь доступ к многократно используемым продуктам работы.
  • Необходимо обеспечить простоту каталогизации, поиска и применения этих продуктов работы в модели.

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

2. Определение значений Rational Rose по умолчанию

Rose позволяет задать параметры на уровне модели по умолчанию, называемые свойствами и опциями, которые устанавливают "правила", исполняемые пользователями при работе с моделью. Создаваемые значения хранятся в файле rose.ini, который следует поместить под управление конфигурацией при использовании системы CM. Обратиться к свойствам и опциям модели можно через меню Инструменты > Опции .

3. Разделение модели на управляемые блоки

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

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

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

  • логические пакеты и пакеты прецедентов хранятся в файлах.cat
  • пакеты компонентов хранятся в файлах.sub
  • пакеты развертывания хранятся в файлах.prc
  • свойства моделей хранятся в файлах.prp

Можно создать неограниченное число файлов.cat и.sub, но так как модель Rose поддерживает одну диаграмму развертывания, файл.prc может быть только один. Точно так же может быть только один набор свойств модели и один файл.prp.

4. Определение схем путей

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

Амперсанд (&) в схеме виртуального пути указывает, что путь является относительным для файла модели или содержащего (родительского) управляемого блока. Распространенным способом применения схем путей является присвоение всем участникам команды &CURDIR=&. Это позволяет сохранить модель и управляемые блоки относительно окружающего их контекста, позволяя различным пользователям открывать модель и загружать блок в различных рабочих областях.

5. Интеграция с системой управления конфигурацией

Реализация системы управления конфигурацией (CM) является необходимой для сложных проектов. Система CM может эффективно поддерживать коллективную разработку пр следующих условиях:

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

Так как управление параллельной разработкой является необходимым, Rose предоставляет интеграцию с Rational ClearCase и совместимыми с SCC системами управления версиями, такими как Microsoft Visual Source Safe. Интегрируя системы CM, Rose делает наиболее часто используемые команды управления версиями напрямую доступными из меню Rose, включая обычные функции добавления и изъятия, используемые ежедневно.