Назад


Cправочная информация

Работа с классами в Rational Rose

СОДЕРЖАНИЕ

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

Создание новой диаграммы классов

Создание нового класса

Создание отношений между классами

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

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

Вид кнопки

Название кнопки

Назначение кнопки


Selection Tool

Превращает курсор в стрелку указателя для того, чтобы можно было выделять объекты


Text Box

Добавление к диаграмме текста


Note

Добавление к диаграмме примечания


Anchor Note to Item

Связывание примечания с объектом на диаграмме


Class

Добавление на диаграмму нового класса


Interface

Добавление на диаграмму нового интерфейса


Unidirectional Association

Создание отношения ассоциации


Association Class

Связывание класса ассоциации с отношением ассоциации


Package

Добавление на диаграмму нового пакета


Dependency or instantiaties

Создание отношения зависимости


Generalization

Создание отношения обобщения

Realize

Создание отношения реализации

При желании состав кнопок на панели Toolbox можно изменить, добавив на нее недостающие элементы.

Для каждого класса можно задать ряд режимов отображения. Сделать это можно, щелкнув правой кнопкой мыши по классу, и выбрав пункт меню Options (рис. 1):

Контекстное меню класса

Рисунок 1. Контекстное меню класса

Для задания режимов отображений по умолчанию для всех классов предусмотрен пункт меню Tools ->Options, где во вкладке Diagram можно задать эти же значения.

Создание новой диаграммы классов.

Для создания новой диаграммы классов необходимо щелкнуть правой кнопкой мыши на логическом представлении браузера (Logical View). В открывшемся меню выбрать пункт New > Class Diagram (Создать > Диаграмма Классов) (рис. 2). Далее ввести название диаграммы, после чего дважды щелкнуть по ней в браузере, чтобы открыть ее.

Создание диаграммы классов
Рисунок 2. Создание диаграммы классов

Создание нового класса.

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

Окно спецификации класса
Рисунок 3. Окно спецификации класса

Рассмотрим содержимое каждой вкладки:

Добавление новых атрибутов к классу.

Для добавления нового атрибута к классу необходимо открыть спецификацию класса и выбрать вкладку Attributes (рис. 4).

Вкладка Attributes окна спецификации класса 
Рисунок 4. Вкладка Attributes окна спецификации класса

Далее следует щелкнуть правой кнопкой по свободному месту основного поля вкладки, выбрать пункт Insert и ввести имя атрибута. Для задания свойств атрибута следует дважды щелкнуть по нему или же вызвать для него контекстное меню и выбрать пункт Specification ... , после чего откроется окно спецификации атрибута, содержащее две вкладки (рис. 5):


Рисунок 5. Окно спецификации атрибута класса

Добавление новых операций к классу.

Для добавления новой операции к классу необходимо открыть спецификацию класса и выбрать вкладку Operations (рис. 6):


Рисунок 6. Вкладка Operations окна спецификации класса

Далее следует щелкнуть правой кнопкой по свободному месту основного поля вкладки, выбрать пункт Insert и ввести имя операции. Для задания свойств операции следует дважды щелкнуть по ней или же вызвать для нее контекстное меню и выбрать пункт Specification ... , после чего откроется окно спецификации операции, содержащее следующие вкладки (рис. 7):

Окно спецификации операции класса

Рисунок 7. Окно спецификации операции класса

Добавление параметров к операции класса.

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

Окно спецификации параметров операции класса

Рисунок 8. Окно спецификации параметров операции класса

Создание отношений между классами.

Общее замечание.
Для любого типа отношений задание его свойств осуществляется одинаковым способом - или дважды щелкнуть по линии, или вызвать для нее контекстное меню и выбрать пункт
Specification ... . Часть свойств отношения можно задать прямо в его контекстном меню. Общими свойствами для всех типов отношений являются: имя (Name), стереотип (Stereotype) и текстовое описание отношения (Documentation). Ниже будут описаны только специфические для каждого типа отношений свойства.

Отношение зависимости.
Является наиболее общей формой отношения в языке UML. Все другие типы отношений можно считать частным случаем данного отношения. Отношение зависимости показывает, что изменение одного класса влечет изменение другого класса. Чаще всего применяется, когда один класс использует другой в качестве аргумента. Изображается пунктирной линией со стрелкой, направленной от зависимого класса к независимому.
Для создания отношения зависимости следует выбрать кнопку
Dependency or instantiaties на панели Toolbox, затем щелкнуть мышкой по зависимому классу и не отпуская кнопки мыши перетащить стрелку на независимый класс. Для данного типа отношения можно задать следующие свойства: будет ли иметь зависимый класс доступ к не-public элементам независимого класса (Friendship required), видимость отношения (Export Control), начальную (Multiplicity from) и конечную мощность(Multiplicity) отношения.

Отношение ассоциации, агрегации и композиции.
Поскольку отношения ассоциации, агрегации и композиции отличаются очень незначительно, то рассмотрим работу с ними в общем.
Отношение ассоциации показывает, что один класс каким-то образом связан с другим классом (аналог связи в диаграмме «Сущность-Связь»). Изображается сплошной линией, соединяющей классы.
Отношение агрегации - частный случай ассоциации. Представляет собой отношение типа «целое/часть». Изображается в виде простой ассоциации с незакрашенным ромбом со стороны «целого». Агрегация не является наследованием, поскольку все классы-«части» в агрегации являются вполне самостоятельными, со своими атрибутами и операциями, отличающимися от атрибутов и операций класса-«целое».
Отношение композиции - частный случай агрегации. Служит для выделения специальной формы отношения «целое-часть», при которой составляющие части в некотором смысле находятся внутри целого. Специфика взаимосвязи между ними заключается в том, что части не могут выступать в отрыве от целого, т.е. с уничтожением целого уничтожаются и все его составные части. Изображается в виде сплошной линии с закрашенным ромбом возле класса «целое».

Для создания одного из приведенных выше отношений следует выбрать кнопку Unidirectional Association на панели Toolbox, затем щелкнуть мышкой по одному классу и не отпуская кнопки мыши перетащить стрелку на другой класс. По умолчанию создается однонаправленная ассоциация, т.е. класс, от которого идет стрелка, знает об общих атрибутах и операциях второго класса, но не наоборот. Для создания двунаправленной ассоциации следует вызвать для отношения контекстное меню и выбрать пункт Navigable.
Для данных типов отношений можно задать следующие свойства:
Отношение обобщения.
Это отношение между общей сущностью (суперклассом, или родителем) и ее конкретным воплощением (субклассом, или потомком). Обобщения иногда называют отношениями типа "является", имея в виду, что одна сущность является частным выражением другой, более общей. Обобщение означает, что объекты класса-потомка могут использоваться всюду, где встречаются объекты класса-родителя, но не наоборот. Изображается в виде линии с большой незакрашенной стрелкой.
Для создания отношения обобщения следует выбрать кнопку Generalization на панели Toolbox, затем щелкнуть мышкой по классу-потомку и не отпуская кнопки мыши перетащить стрелку на класс-родитель. Для данного типа отношения можно задать следующие свойства: будет ли иметь класс-потомок доступ к не-public элементам класса-родителя (Friendship required), видимость отношения (Export Control), будет ли наследоваться только одна копия класса-родителя (Virtual inheritance).

Отношение реализации.
Это отношение между двумя элементами модели, при котором один элемент (клиент) реализует поведение, заданное другим (поставщиком). Изображается в виде пунктирной линии с большой незакрашенной стрелкой, указывающей на поставщика. Чаще всего реализации используют для определения отношений между интерфейсом и классом или компонентом, который предоставляет объявленные в интерфейсе операции или услуги.
Для создания отношения обобщения следует выбрать кнопку Realize на панели Toolbox, затем щелкнуть мышкой по объекту-клиенту и не отпуская кнопки мыши перетащить стрелку на объект-поставщик. Специфических свойств у данного типа отношений не предусмотрено.