Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
KPO_2_semestr_prakticheskie_zanyatia.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
619.01 Кб
Скачать

Практика 8. Работа с классами

Создание диаграмм Классов

В среде Rose диаграммы Классов создаются в Логическом представлении модели. Так же вы можете создать столько диаграмм Классов, сколько нужно для полного описания вашей системы. При построении новой модели автоматически будет создана Главная диаграмма Классов, она разме­щается непосредственно под Логическим представлением. Обычно с помощью этой диаграммы пока­зывают пакеты классов модели. Вы можете создать дополнительные диаграммы классов в Логическом представлении или внутри любого пакета.

Для создания новой диаграммы Классов:

  • Щелкните правой кнопкой мыши на Логическом представлении браузера

  • В открывшемся меню выберите пункт New > Class Diagram (Создать > Диаграмма классов)

  • Введите имя новой диаграммы.

  • Дважды щелкнув на диаграмме в браузере, откройте ее.

Для добавления к диаграмме Классов нового элемента воспользуйтесь кнопками панели инстру­ментов диаграммы Классов. Можно также выбрать в меню модели пункт Tools > Create (Инструмен­ты > Создать) и указать элемент, который вы хотите добавить.

Удаление диаграмм Классов

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

Для удаления диаграммы Классов:

  • Щелкните правой кнопкой мыши на диаграмме в браузере.

  • В открывшемся меню выберите пункт Delete (Удалить).

Организация элементов на диаграмме классов

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

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

Для расположения элементов на диаграмме Классов:

Выберите в меню пункт Tools > Layout Diagram (Инструменты > Расположить диаграмму). Все классы на диаграмме будут автоматически размещены наиболее оптимальным способом.

Для изменения размеров элементов на диаграмме Классов:

Выберите в меню пункт Tools > Autosize All (Инструменты Настроить размер всех элемен­тов). Размер соответствующего каждому классу прямоугольника будет автоматически изменен так, чтобы вместить имя, атрибуты и операции класса.

Панель инструментов диаграммы Классов

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

Практика 9. Операции над классами.

Работа с классами

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

Rose предоставляет ряд возможностей по детализации классов. Каждому классу можно дать имя, определить его стереотип, указать видимость, а также задать несколько других параметров.

Добавление классов

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

Если поместить новый класс непосредственно в браузер, он не появится ни на одной диаграмме, но его можно будет туда вставить. Действуя по-другому, можно расположить новый класс сразу на диа­грамме. В этом случае он будет автоматически добавлен и в браузер.

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

Нажмите кнопку Class (Класс) панели инструментов.

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

Параметризованный класс (parameterized class) — один из специальных типов классов. Он применяется для создания семейства других классов. Обычно параметризованный класс является разновидностью контейнера, его еще называют шаблоном. В частности, если у вас есть параметризованный класс List (Список), то с помощью экземпляров этого класса вы можете создать такие классы, как EmployeeLisi OrderList и AccountList (соответствующие спискам сотрудников, заказов и счетов), как показан* ниже.

На языке UML параметризованный класс изображается с помощью следующей нотации:

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

  • Нажмите кнопку Parameterized Class (Параметризованный класс) панели инструментов.

  • Щелкните мышью где-нибудь на диаграмме, чтобы поместить туда новый класс.

  • Введите имя класса.

Задание аргументов параметризованного класса

Аргументы класса указываются в прямоугольнике, выделенном пунктирными линиями. На основе ар­гументов создаются элементы стандартного класса. Например, если в приведенной выше нотации за­менить параметр "Элемент" специфическим элементом, например Employee (Сотрудник), то будет инициализирован класс EmployeeList.

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

Для добавления аргумента:

  • Откройте окно спецификации класса.

  • Перейдите на вкладку Detail (Подробно).

  • Щелкните правой кнопкой мыши в поле Name области Formal Arguments (Формальные аргу­менты).

  • В открывшемся меню выберите пункт Insert (Вставить).

  • Введите имя аргумента.

  • Щелкнув мышью, раскройте список Туре (Тип). Выберите один из типов аргумента или введите свой

  • Щелкните в поле Default Value (Значение по умолчанию) и введите значение аргумента по умол­чанию. (Это делать не обязательно.)

Создание класса-наполнителя

Класс-наполнитель (instantiated class) является параметризованным классом, аргументы которого име­ют фактические значения. В частности, в рассмотренном выше примере мы имеем дело со списком некоторых элементов. Определив значение аргумента, мы получим список сотрудников. В соответст­вии с нотацией UML, имя аргумента класса-наполнителя заключается в угловые скобки (< >)

Для добавления класса-наполнителя:

  • Нажмите кнопку Instantiated Class панели инструментов.

  • Щелкните мышью на диаграмме там, где будет располагаться новый класс.

  • Введите имя класса с аргументами, заключив их в угловые скобки (< >).

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

Утилита класса (class utility) — это совокупность операций. Например, в вашей системе может быть со­вокупность математических функций (квадратный корень, кубический корень и т.д.), которые исполь­зуются всей системой и не слишком хорошо подходят для какого-либо конкретного класса. Эти функции можно собрать вместе и объединить в утилиту класса, которая будет использоваться другими классами системы.

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

Утилита класса выглядит на диаграмме как класс "с тенью":

Для добавления утилиты класса:

  • Нажмите кнопку Class Utility (Утилита класса) панели инструментов.

  • Щелкните мышью на диаграмме там, где будет находиться новый класс.

  • Введите его имя.

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

Утилитой параметризованного класса (parameterized class utility) является параметризованный класс держащий только набор операций. Это шаблон для создания утилит класса. На диаграмме классов выглядит следующим образом:

Для добавления утилиты параметризованного класса:

  • Нажмите кнопку Parameterized Class Utility (Утилита параметризованного класса) панели инст­рументов.

  • Щелкните мышью на диаграмме там, где будет находиться новый класс.

  • Введите его имя.

Создание утилиты класса-наполнителя

Утилитой класса-наполнителя (instantiated class utility) называется утилита параметризованного класса, параметры которой имеют фактические значения. На диаграмме классов она выглядит следующим об­разом:

Для добавления утилиты класса-наполнителя:

  • Нажмите кнопку Instantiated Class Utility панели инструментов.

  • Щелкните мышью на диаграмме там, где будет находиться новый класс.

  • Введите его имя.

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

Метакласс (metaclass) — это класс, экземпляры которого являются классами, а не объектами. К числу метаклассов относятся параметризованные классы и утилиты параметризованных классов. На языке UML метаклассы изображают следующим образом:

Для добавления метакласса:

  • С помощью одного из описанных выше методов добавьте класс на диаграмму Классов или в браузер.

  • Откройте окно спецификации класса.

  • В поле Туре (Тип) укажите MetaClass (Метакласс).

  • Нажмите ОК.

Именование классов

Каждому классу модели Rose необходимо дать уникальное имя. Большинство организаций имеет собст­венные соглашения по именованию классов. В общем случае используются существительные в единст­венном числе. В системе обработки данных о сотрудниках может быть класс Employee (Сотрудник) и класс Position (Должность). Мы не будем называть их Employees (Сотрудники) и Positions (Должности).

Обычно имена классов не содержат пробелов. Это делается по практическим причинам и из сооб­ражений удобочитаемости — языки программирования, как правило, не поддерживают пробелы в именах классов. Старайтесь, чтобы имена были относительно короткими.

Несмотря на то, что название ListOfEmployeesThatAreOnProbation (Список сотрудников, проходя­щих испытательный срок) хорошо описывает назначение класса, оно слишком сложное. Имя Emp- loyeeList (Список сотрудников) будет в данном случае лучшим вариантом.

Используемый для именования классов регистр символов определяется обычно организацией. Если, например, ваш класс соответствует списку пользователей, вы можете назвать его employeelist, EmployeeList, Employeelist или EMPLOYEELIST. Таким образом, компания может придерживаться своих соглашений по именованию. Важно только, чтобы принятый подход применялся ко всем классам модели.

Дать классу имя можно следующим образом:

  • Выделите класс в браузере или на диаграмме классов.

  • Введите его имя.

Назначение стереотипа для класса

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

На языке UML определены три основных стереотипа: Boundary (Граница), Entity (Объект) и Cont­rol (Управление).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]