- •Классы и пакеты Логическое представление модели Rose
- •Диаграммы Классов
- •Диаграмма Классов
- •Открытие существующей диаграммы Классов
- •Удаление диаграмм Классов
- •Организация элементов на диаграмме классов
- •Работа с классами
- •Удаление классов
- •Добавление параметризованного класса
- •Задание аргументов параметризованного класса
- •Добавление утилиты класса
- •Именование классов
- •Пограничные классы
- •Классы-сущности
- •Управляющие классы
- •Задание видимости класса
- •Создание абстрактного класса
- •Просмотр диаграмм Взаимодействия, содержащих классы
Работа с классами
После создания диаграммы Классов нужно добавить новые классы в модель. Доступны классы нескольких типов: регулярные, параметризованные, классы-наполнители, утилиты классов, утилиты параметризованных классов, утилиты классов-наполнителей и метаклассы.
Rose предоставляет ряд возможностей по детализации классов. Каждому классу можно дать имя, определить его стереотип, указать видимость, а также задать несколько других параметров.
Добавление классов
Для начала поместим на диаграмму стандартный класс. Это можно сделать несколькими способами: с помощью панели инструментов, браузера и меню.
Если поместить новый класс непосредственно в браузер, он не появится ни на одной диаграмме, но его можно будет туда вставить. Можно расположить новый класс сразу на диаграмме.
Рис. 5.5. – Добавление нового класса
С помощью меню Tools > Create можно также создавать регулярные, параметризованные классы, классы-наполнители, утилиты классов, утилиты параметризованных классов, утилиты классов-наполнителей.
Удаление классов
Как и в случае других элементов модели, существуют два способа удаления классов. Вы можете удалить класс с диаграммы, но оставить его на других диаграммах. Кроме того, можно удалить его из модели. Для удаления класса с диаграммы Классов:
Выделите его на диаграмме.
Нажмите клавишу Delete.
Обратите внимание, что, хотя класс исчез с диаграммы, он остался на других диаграммах и и браузере.
Для удаления класса из модели:
Выделите его на диаграмме.
В меню модели выберите пункт Edit >- Delete from Model (Правка > Удалить из модели) или нажмите комбинацию клавиш CTRL+D.
ИЛИ
Щелкните правой кнопкой мыши на классе в браузере.
В открывшемся меню выберите пункт Delete. Класс будет удален со всех диаграмм Классов и из браузера.
Спецификации класса
Большинство определяемых для класса параметров доступно в окне спецификации класса, показан ном на рис. 5.7. В частности, это окно позволяет указать стереотип класса, а также его видимость и устойчивость (persistence).
Рис. 5.7. – Окно спецификации класса
Добавление параметризованного класса
Параметризованный класс (parameterized class) – один из специальных типов классов. Он применяется для создания семейства других классов. Обычно параметризованный класс является разновидностью контейнера, его еще называют шаблоном. В частности, если у вас есть параметризованный класс List (Список), то с помощью экземпляров этого класса вы можете создать такие классы, как EmployeeLisi OrderList и AccountList (соответствующие спискам сотрудников, заказов и счетов), как показан, ниже.
На языке UML параметризованный класс изображается с помощью следующей нотации:
Изображение класса.
Задание аргументов параметризованного класса
Аргументы класса указываются в прямоугольнике, выделенном пунктирными линиями. На основе аргументов создаются элементы стандартного класса. Например, если в приведенной выше нотации заменить параметр "Элемент" специфическим элементом, например Employee (Сотрудник), то будет инициализирован класс EmployeeList.
Аргументом может быть другой класс, тип данных или выражение-константа. Вы можете задавать неограниченное количество аргументов.
Для добавления аргумента:
Откройте окно спецификации класса.
Перейдите на вкладку Detail (Подробно).
Щелкните правой кнопкой мыши в поле Name области Formal Arguments (Формальные аргументы).
В открывшемся меню выберите пункт Insert (Вставить).
Введите имя аргумента.
Щелкнув мышью, раскройте список Туре (Тип). Выберите один из типов аргумента или введите свой.
Щелкните в поле Default Value (Значение по умолчанию) и введите значение аргумента по умолчанию. (Это делать не обязательно.)
Рис. 5.8. – Задание аргументов параметризованного класса
Для удаления аргумента:
Откройте окно спецификации класса.
Перейдите на вкладку Detail.
Щелкните правой кнопкой мыши на удаляемом аргументе.
В открывшемся меню выберите пункт Delete.
Создание класса-наполнителя
Класс-наполнитель (instantiated class) является параметризованным классом, аргументы которого имеют фактические значения. В частности, в рассмотренном выше примере мы имеем дело со списком некоторых элементов. Определив значение аргумента, мы получим список сотрудников. В соответствии с нотацией UML, имя аргумента класса-наполнителя заключается в угловые скобки (< >).