Методические указания по дисциплине «Инструментальные средства разработки аппаратно – программных систем» Лабораторная работа №5 «Особенности разработки диаграмм классов в среде IBM Rational Rose 2003»


Министерство образования и науки Российской Федерации
Федеральное агентство по образованию
Государственное бюджетное профессиональное образовательное учреждение
УФИМСКИЙ КОЛЛЕДЖ РАДИОЭЛЕКТРОНИКИ, ТЕЛЕКОММУНИКАЦИЙ И БЕЗОПАСНОСТИ
Методические указания
для студентов по выполнению
Лабораторной работы №5 «Особенности разработки диаграмм классов в среде IBM Rational Rose 2003»
для специальности 230115 «Программирование в компьютерных системах»
по дисциплине «Инструментальные средства разработки
аппаратно – программных систем»
Уфа 2016
Методические указания для студентов по выполнению лабораторно-практических работ по дисциплине «Инструментальные средства разработки аппаратно – программных систем»
Составители Туктарова Л.Р. зам.директора УКРТБ
Рецензент Хатымов Р.В. ИФМК УНЦ РАН, к.ф.-м. нПредисловие
Назначение методических указаний
Данные методические указания для студентов по выполнению лабораторных работ согласно программе дисциплины «Инструментальные средства разработки аппаратно-программных систем» предназначены для реализации государственных требований к минимуму содержания и уровню подготовки выпускников специальности 230115 «Программирование в компьютерных системах» с целью закрепления теоретических знаний и практических умений.
В сборнике содержатся методические указания по выполнению следующих лабораторных работ:
. Особенности разработки диаграммы классов в среде IBM Rational Rose 2003
Правила выполнения практических работ.
1. Студент должен придти на лабораторное занятие подготовленным к выполнению лабораторной работы.
2. После проведения лабораторной работы студент должен представить отчет о проделанной работе.
Лабораторная работа №5
Особенности разработки диаграмм классов в среде IBM Rational Rose 2003
1 Цель работы
1.1 Изучить структуру диаграммы классов
1.2 Получить практические навыки работы в диаграмме классов
2 Пояснения к работе
2.1 Краткие теоретические сведения
Диаграмма классов является основным логическим представлением модели и содержит детальную информацию о внутреннем устройстве объектно-ориентированной программной системы или, используя современную терминологию, об архитектуре программной системы.
Разработка логической модели системы в виде диаграммы классов занимает центральное место в методологии ООП. Диаграмма классов отражает, в частности, различные взаимосвязи между отдельными сущностями предметной области, такими как объекты и подсистемы, а также описывает их внутреннюю структуру и типы отношений. Диаграмма классов предназначена для представления статической структуры модели системы в терминологии классов объектно-ориентированного программирования, т. е. таких структурных взаимосвязей логической модели системы, которые не зависят от времени.
Класс (class) — абстрактное описание множества однородных объектов, имеющих одинаковые атрибуты, операции и отношения с объектами других классов.
Графически класс в нотации языка UML изображается в виде прямоугольника, который дополнительно может быть разделен горизонтальными линиями на разделы или секции (рисунок 1). В этих секциях могут указываться имя класса, атрибуты и операции класса.

Рисунок 1 - Варианты графического изображения класса на диаграмме классов
Имя класса указывается в самой верхней секции прямоугольника. В дополнение к общему правилу именования элементов языка UML, имя класса записывается по центру секции имени полужирным шрифтом и должно начинаться с заглавной буквы. Рекомендуется в качестве имен классов использовать существительные, записанные по практическим соображениям без пробелов. Необходимо помнить, что имена классов образуют словарь предметной области при ООП. В секции имени класса может также приводиться информация о разработчике данного класса и статус состояния разработки.
Класс может иметь или не иметь экземпляров или объектов. В зависимости от этого в языке UML различают конкретные (класс, на основе которого могут быть непосредственно созданы экземпляры или объекты) и абстрактные классы (класс, который не имеет экземпляров или объектов). Для обозначения имени абстрактного класса используется наклонный шрифт (курсив).
В некоторых случаях необходимо явно указать, к какому пакету относится тот или иной класс. Для этой цели используется специальный символ разделитель – двойное двоеточие - (::). Синтаксис строки имени класса в этом случае будет следующий: <Имя пакета>::<Имя класса>. Например, если определен пакет с именем Банк, то класс Счет в этом банке может быть записан в виде: Банк::Счет.
Атрибут (attribute) — содержательная характеристика класса, описывающая множество значений, которые могут принимать отдельные объекты этого класса.
Атрибут класса служит для представления отдельного свойства или признака, который является общим для всех объектов данного класса. Атрибуты класса записываются во второй сверху секции прямоугольника класса. Эту секцию часто называют секцией атрибутов. Производный атрибут (derived element) — атрибут класса, значение которого для отдельных объектов может быть вычислено посредством значений других атрибутов этого же объекта.
Операция (operation) - это сервис, предоставляемый каждым экземпляром или объектом класса по требованию своих клиентов, в качестве которых могут выступать другие объекты, в том числе и экземпляры данного класса.
Операции класса записываются в третьей сверху секции прямоугольника класса, которую часто называют секцией операций. Совокупность операций характеризует функциональный аспект поведения всех объектов данного класса.
Одним из несомненных достоинств языка UML является наличие механизмов расширения, которые позволяют ввести в рассмотрение дополнительные графические обозначения, ориентированные для решения задач из определенной предметной области. Так, в рамках одного из них, а именно профиля для процесса разработки программного обеспечения (The UML Profile for Software Development Processes) предложено три специальных графических примитива, которые могут быть использованы для уточнения смысла отдельных классов:
Управляющий класс (control class) — класс, отвечающий за координацию действий других классов. На каждой диаграмме классов должен быть хотя бы один управляющий класс, причем количество посылаемых объектам управляющего класса сообщений мало, по сравнению с числом рассылаемых ими. Кроме специального обозначения управляющий класс может быть изображен в форме прямоугольника класса со стереотипом <<control>> (рисунок 2,а);
Класс-сущность (entity class) — пассивный класс, информация о котором должна храниться постоянно и не уничтожаться с выключением системы. Как правило, этот класс соответствует отдельной таблице базы данных. В этом случае его атрибуты являются полями таблицы, а операции – присоединенными или хранимыми процедурами. Этот класс пассивный и лишь принимает сообщения от других классов модели. Класс-сущность может быть изображен также стандартным образом в форме прямоугольника класса со стереотипом <<entity>> (рисунок 2,б);
Граничный класс (boundary class) — класс, который располагается на границе системы с внешней средой и непосредственно взаимодействует с актерами, но является составной частью системы. Граничный класс может быть изображен также стандартным образом в форме прямоугольника класса со стереотипом <<boundary>> (рисунок 66,в).

Рисунок 2 - Графическое изображение классов для моделирования программного обеспечения
Интерфейс (interface) — именованное множество операций, которые характеризуют поведение отдельного элемента модели.
Интерфейс в контексте языка UML является специальным случаем класса, у которого имеются операции, но отсутствуют атрибуты. Для обозначения интерфейса используется специальный графический символ окружность или стандартный способ – прямоугольник класса со стереотипом <<interface>> (рисунок 3).
На диаграмме вариантов использования интерфейс изображается в виде маленького круга, рядом с которым записывается его имя (рисунок 3,а). В качестве имени может использоваться существительное, которое характеризует соответствующую информацию или сервис, например, "Датчик температуры", "Форма ввода", "Сирена", "Видеокамера" (рисунок 3,б).

Рисунок 3 - Примеры графического изображения интерфейсов на диаграммах классов
Интерфейсы на диаграмме служат для спецификации таких элементов модели, которые видимы извне, но их внутренняя структура остается скрытой от клиентов. Интерфейсы не могут содержать ни атрибутов, ни состояний, ни направленных ассоциаций. Они содержат только операции без указания особенностей их реализации.
Кроме внутреннего устройства классов важную роль при разработке проектируемой системы имеют различные отношения между классами, которые также могут быть изображены на диаграмме классов. Базовые отношения, изображаемые на диаграммах классов:
Отношение ассоциации (association relationship);
Отношение обобщения (generalization relationship);
Отношение агрегации (aggregation relationship);
Отношение композиции (composition relationship).
Ассоциация (association) - семантическое отношение между двумя и более классами, которое специфицирует характер связи между соответствующими экземплярами этих классов.
Отношение ассоциации соответствует наличию произвольного отношения или взаимосвязи между классами. Данное отношение обозначается сплошной линией со стрелкой или без нее и с дополнительными символами, которые характеризуют специальные свойства ассоциации.
Имя ассоциации - необязательный элемент ее обозначения. Однако если оно задано, то записывается с заглавной буквы рядом с линией ассоциации. Наиболее простой случай данного отношения - бинарная ассоциация (binary association), которая служит для представления произвольного отношения между двумя классами. Она связывает в точности два различных класса и может быть ненаправленным (симметричным) или направленным отношением. Частный случай бинарной ассоциации - рефлексивная ассоциация, которая связывает класс с самим собой. Ненаправленная бинарная ассоциация изображается линией без стрелки. Для нее на диаграмме может быть указан порядок чтения классов с использованием значка в форме треугольника рядом с именем данной ассоциации. Это показано на (рисунок 4).

Рисунок 4 - Графическое изображение ненаправленной бинарной ассоциации между классами
Направленная бинарная ассоциация изображается сплошной линией с простой стрелкой на одной из ее концевых точек. Направление этой стрелки указывает на то, какой класс является первым, а какой – вторым (рисунок 5).

Рисунок 5 - Графическое изображение направленной бинарной ассоциации между классами
Частный случай отношения ассоциации - так называемая исключающая ассоциация (Xor-association). Из нескольких потенциально возможных вариантов данной ассоциации в каждый момент времени может использоваться только один. На диаграмме классов исключающая ассоциация изображается пунктирной линией, соединяющей две и более ассоциации (рисунок 6) рядом с которой записывается ограничение в форме строки текста в фигурных скобках: {xor}.

Рисунок 6 - Графическое изображение исключающей ассоциации между тремя классами
Тернарная ассоциация связывает отношением три класса. Ассоциация более высокой арности называется n-арной ассоциацией. Графически n-арная ассоциация обозначается ромбом, от которого ведут линии к символам классов данной ассоциации. Сам же ромб соединяется с символами классов сплошными линиями. Имя n-арной ассоциации записывается рядом с ромбом соответствующей ассоциации (рисунок 7).

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

Рисунок 8 - Графическое изображение отношения обобщения в языке UML
От одного класса-предка одновременно могут наследовать несколько классов-потомков, что отражает таксономический характер данного отношения (рисунок 9).

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

Рисунок 10 - Альтернативный вариант графического изображения отношения обобщения классов для случая объединения отдельных линий
В дополнение к простой стрелке обобщения может быть присоединена строка текста, указывающая на специальные свойства этого отношения в форме ограничения. Этот текст будет относиться ко всем линиям обобщения, которые идут к классам-потомкам. Ограничение должно быть записано в фигурных скобках (рисунок 11).
В качестве ограничений могут быть использованы следующие ключевые слова языка UML:
{complete} - означает, что в данном отношении обобщения специфицированы все классы-потомки, и других классов-потомков у данного класса-предка быть не может.
{incomplete} - означает случай, противоположный первому. А именно, предполагается, что на диаграмме указаны не все классы-потомки. В последующем возможно разработчик восполнит их перечень, не изменяя уже построенную диаграмму.
{disjoint} - означает, что классы-потомки не могут содержать объектов, одновременно являющихся экземплярами двух или более классов.
{overlapping} - случай, противоположный предыдущему. А именно, предполагается, что отдельные экземпляры классов-потомков могут принадлежать одновременно нескольким классам.

Рисунок 11 - Вариант уточненного графического изображения отношения обобщения классов с использованием строки-ограничения
Агрегация (aggregation) - специальная форма ассоциации, которая служит для представления отношения типа "часть-целое" между агрегатом (целое) и его составной частью.
Отношение агрегации имеет место между несколькими классами в том случае, если один из классов представляет собой сущность, которая включает в себя в качестве составных частей другие сущности. Графически отношение агрегации изображается сплошной линией, один из концов которой представляет собой не закрашенный внутри ромб. Этот ромб указывает на тот класс, который представляет собой "целое" или класс-контейнер. Остальные классы являются его "частями" (рисунок 12).

Рисунок 12 - Диаграмма классов для иллюстрации отношения агрегации на примере системного блока ПК
Композиция (composition) - разновидность отношения агрегации, при которой составные части целого имеют такое же время жизни, что и само целое. Эти части уничтожаются вместе с уничтожением целого. Графически отношение композиции изображается сплошной линией, один из концов которой представляет собой закрашенный внутри ромб. Этот ромб указывает на тот класс, который представляет собой класс-композит. Остальные классы являются его "частями" (рисунок 13).

Рисунок 13- Диаграмма классов для иллюстрации отношения композиции на примере класса-композита Окно программы
2.2 Перечень используемого оборудования
2.2.1 Персональный компьютер
3 Задание
3.1 Создать диаграмму классов для процесса управления автомобильным двигателем
4 Работа в лаборатории
4.1 Ознакомится с теоретическим материалом по лабораторной работе
4.2 Выполнить предложенные задания
4.3 Продемонстрировать результаты выполнения предложенных заданий
1. Загрузить Rational Rose Enterprise Edition: Пуск -> Программы -> Rational Software -> Rational Rose Enterprise Edition (рисунок 14).

Рисунок 14 – Загрузка Rational rose
2. Активизировать рабочее окно диаграммы классов одним из нескольких способов:
окно диаграммы классов появляется по умолчанию в рабочем окне диаграммы после создания нового проекта;
щелкнуть на кнопке с изображением диаграммы классов на стандартной панели инструментов;
раскрыть логическое представление (Logical View) в браузере проекта и дважды щелкнуть на пиктограмме Main (Главная);
выполнить операцию главного меню: BrowseClass Diagram (ОбзорДиаграмма классов).
Появляется новое окно с чистым рабочим листом диаграммы классов и специальная панель инструментов (Таблица 1).
Таблица 1 - окно с чистым рабочим листом диаграммы классов и специальная панель инструментов
Графическое изображение Всплывающая подсказка Назначение кнопки
Selection ToolПревращает изображение курсора в форму стрелки для последующего выделения элементов на диаграмме
Text BoxДобавляет на диаграмму текстовую область
NoteДобавляет на диаграмму примечание
Anchor Note to ItemДобавляет на диаграмму связь примечания с соответствующим графическим элементом диаграммы
ClassДобавляет на диаграмму класс
InterfaceДобавляет на диаграмму интерфейс
Unidirectional AssociationДобавляет на диаграмму направленную ассоциацию
Association ClassДобавляет на диаграмму ассоциацию класс
PackageДобавляет на диаграмму пакет
Dependency or InstantiatesДобавляет на диаграмму отношение зависимости
GeneralizationДобавляет на диаграмму отношение обобщения
RealizeДобавляет на диаграмму отношение реализации
3. Добавить классы на диаграмму классов. Для этого с помощью левой кнопки мыши нажать кнопку с изображением пиктограммы класса на специальной панели инструментов , отпустить левую кнопку мыши и щелкнуть левой кнопкой мыши на свободном месте рабочего листа диаграммы. На диаграмме (рисунок 15) появится изображение класса с маркерами изменения его геометрических размеров и предложенным средой именем по умолчанию NewClass.
Продолжить разработку модели управления двигателем автомобиля, изменив имя добавленного на диаграмму класса на «Операция регулирования».

Рисунок 15 – Добавление класса на диаграмму классов
Для класса «Операция регулирования» уточнить его назначение в модели с помощью указания стереотипа и пояснительного текста в форме документации. С этой целью двойным щелчком левой кнопкой мыши на изображении этого класса на диаграмме или в браузере проекта открыть диалоговое окно спецификации свойств этого класса и на вкладке General (Общие) выбрать из вложенного списка Stereotype стереотип entity (сущность) (рисунок 16).
Рисунок 16 - Выбор стереотипа
4. Периодически сохраняйте модель во внешнем файле. Для этого выполните операцию главного меню: FileSave (ФайлСохранить) или нажать комбинацию клавиш: Ctrl+S.5. Продолжая разработку модели процесса управления автомобильным двигателем, добавим на диаграмму второй класс с именем «Бортовой компьютер», для которого в окне спецификации свойств выберем стереотип control (управляющий класс) (рисунок 17). Рисунок 17 – Добавление второго класса на диаграмму классов
6. Продолжая разработку модели процесса управления автомобильным двигателем, добавим на диаграмму третий класс с именем «Экран бортового компьютера», для которого в окне спецификации свойств выберем стереотип boundary (граничный класс) (рисунок 18).

Рисунок 18 –Добавление третьего класса на диаграмму классов
7. Добавить и отредактировать атрибуты классов. Добавить атрибут к созданному ранее классу можно одним из следующих способов:
с помощью операции контекстного меню New Attribute (Новый атрибут) для класса, выделенного на диаграмме классов. В этом случае активизируется курсор ввода текста в области графического изображения класса на диаграмме;
с помощью операции контекстного меню: NewAttribute (НовыйАтрибут) для класса, выделенного в браузере проекта. В этом случае активизируется курсор ввода текста в области иерархического представления класса в браузере проекта под именем соответствующего класса;
с помощью операции контекстного меню Insert (Вставить), вызванного при позиционировании курсора в области открытой вкладки атрибутов в диалоговом окне свойств Class Specification соответствующего класса.
После добавления атрибута к классу по умолчанию ему присваивается имя name и некоторый квантор видимости (рисунок 19).
Рисунок 19 –Присвоение имени атрибуту класса
Для рассматриваемой модели процесса управления автомобильным двигателем имя добавленного атрибута измените на «номер операции». Напомним, что имена атрибутов и операций классов должны начинаться со строчной буквы.
Для редактирования свойств атрибутов предназначено специальное диалоговое окно спецификации атрибута Class Attribute Specification, которое открывается двойным щелчком мыши на строке выбранного атрибута в окне спецификации свойств класса. В окне свойств отдельного атрибута класса можно задать тип данных атрибута и его начальное значение, а также назначить атрибуту стереотип из раскрывающегося списка или изменить его квантор видимости.
Видимость атрибутов на диаграмме классов изображается в форме специальных пиктограмм или украшений (Таблица 2).
Таблица 2 - видимость атрибутов на диаграмме классов
Графическое изображение Текстовый аналог Назначение пиктограммы
PublicОбщедоступный или открытый. В нотации языка UML такому атрибуту соответствует знак «+»
ProtectedЗащищенный. В нотации языка UML такому атрибуту соответствует знак «#»
PrivateЗакрытый. В нотации языка UML такому атрибуту соответствует знак «-» ImplementationРеализация. В нотации языка UML такому атрибуту соответствует знак «∼»
Для атрибута «номер операции» в качестве типа его допустимых значений из вложенного списка Type выберите тип Integer (целочисленный), а для задания квантора видимости выберите в группе Export Control (Управление экспортом) квантор Public. Нажмите кнопку Apply или OK, чтобы сохранить результаты редактирования этих свойств атрибута (рисунок 20).

Рисунок 20 – Сохранение результатов редактирования для атрибута «номер операции»
8. Добавить и отредактировать операции классов. Добавить операцию к созданному ранее классу можно одним из следующих способов:
с помощью операции контекстного меню New Operation (Новая операция) для класса, выделенного на диаграмме классов. В этом случае активизируется курсор ввода в области графического изображения класса на диаграмме;
с помощью операции контекстного меню: NewOperation (НоваяОперация) для класса, выделенного в браузере проекта. В этом случае активизируется курсор ввода в области иерархического представления класса в браузере под именем соответствующего класса;
с помощью операции контекстного меню Insert (Вставить), вызванного при позиционировании курсора в области открытой вкладки операций в диалоговом окне свойств Class Specification соответствующего класса.
После добавления операции к классу по умолчанию ей присваивается имя opname и некоторый квантор видимости. Видимость операций на диаграмме классов также изображается в форме специальных пиктограмм или украшений (Таблица 3).
Таблица 3 - видимость операций на диаграмме классов
Графическое изображение Текстовый аналог Назначение пиктограммы
PublicОбщедоступный или открытый. В нотации языка UML такому атрибуту соответствует знак «+»
ProtectedЗащищенный. В нотации языка UML такому атрибуту соответствует знак «#»
PrivateЗакрытый. В нотации языка UML такому атрибуту соответствует знак «-» ImplementationРеализация. В нотации языка UML такому атрибуту соответствует знак «∼»
В контексте рассматриваемой модели управления двигателем автомобиля в качестве имени первой операции для класса «Операция регулирования» задайте «проанализировать показатели».
Каждая из операций классов имеет собственное диалоговое окно спецификации свойств Operation Specification, которое может быть открыто по двойному щелчку на имени операции на соответствующей вкладке спецификации класса или на имени этой операции в браузере проекта. Для операции «проанализировать показатели» в качестве квантора видимости выберите из вложенного списка квантор public и нажмите кнопку Apply или OK, чтобы сохранить результаты редактирования свойств этой операции (рисунок 21).

Рисунок 21 – Сохранение результатов редактирования для операции
9. Закончить спецификацию класса «Операция регулирования», для этого аналогичным способом добавить 3 операции со следующими свойствами (рисунок 22).
«выработать операцию» с квантором видимости public;
«выполнить операцию» с квантором видимости public;
«сохранить запись о выполнении» с квантором видимости public.

Рисунок 22 – Добавление 3 операций («выработать операцию», «выполнить операцию», «сохранить запись о выполнении»)
10. Добавить ассоциации на диаграмму классов и отредактировать свойства. Для этого на специальной панели инструментов нажать кнопку с изображением пиктограммы направленной ассоциации и отпустить левую кнопку мыши (рисунок 23). Если ассоциация - направленная, то на диаграмме классов выделить первый элемент ассоциации или источник, от которого исходит стрелка, и, не отпуская нажатую левую кнопку мыши, переместить ее указатель ко второму элементу отношения или приемнику, к которому направлена стрелка. После перемещения ко второму элементу кнопку мыши отпустить, в результате чего на диаграмму классов будет добавлена направленная ассоциация с именем Untitled между двумя выбранными классами.
Продолжая разработку диаграммы классов модели управления двигателем автомобиля, добавить на нее описанным способом направленную ассоциацию между классом «Бортовой компьютер» и классом «Операция регулирования».

Рисунок 23 – Добавление ассоциаций
Измените имя для данной ассоциации, предложенное средой по умолчанию. Это можно выполнить с помощью окна спецификации свойств ассоциации. Доступ к диалоговому окну спецификации свойств ассоциации Association Specification можно получить после выделения линии ассоциации на диаграмме классов или в браузере проекта и двойного щелчка на ней левой кнопки мыши (рисунок 24).

Рисунок 24 – Изменение имя для данной ассоциации, предложенное средой по умолчанию
Для задания имени ассоциации на вкладке General (Общие) в поле ввода Name (Имя) ввести текст ее имени: «определяет» и нажать кнопку Apply или OK, чтобы сохранить результаты редактирования имени ассоциации.
Задать кратность конца ассоциации у класса «Бортовой компьютер», равную 1. Для этого в окне спецификации свойств ассоциации перейти на вкладку Role B Detail и выбрать значение 1 из вложенного списка Multiplicity. Аналогичным образом следует задать кратность конца ассоциации у класса «Операция регулирования» равную 1..n, для чего на вкладке Role A Detail и следует выбрать значение 1..n из вложенного списка Multiplicity. Содержательно это будет означать, что каждый объект класса «Бортовой компьютер» может быть связан с одним или несколькими объектами класса «Операция регулирования» (рисунок 25).

Рисунок 25 – Задание кратности конца ассоциации у класса «Бортовой компьютер»
Если ассоциация является ненаправленной, то порядок выбора классов может быть произвольный, а после добавления ассоциации на диаграмму классов следует изменить значение соответствующего свойства данной ассоциации. С этой целью необходимо перейти на вкладку Role A Detail в окне спецификации свойств ассоциации и убрать отметку у свойства Navigable (Навигация).
11. Добавить отношения агрегации и композиции на диаграмму классов и отредактировать их свойства. Добавить на диаграмму отношение агрегации между двумя классами можно следующими способами (рисунок 27):
щелкнуть на кнопке с изображением отношение агрегации на специальной панели инструментов и провести линию агрегации от одного класса к другому;
провести линию ассоциации между выбранными классами и изменить ее свойства таким образом, чтобы превратить данную ассоциацию в агрегацию.
В первом случае может оказаться, что по умолчанию на специальной панели инструментов диаграммы классов отсутствует кнопка с пиктограммой агрегации. В этом случае необходимо предварительно добавить ее на панель инструментов. Во втором случае следует открыть окно спецификации свойств ассоциации Association Specification и на вкладке деталей соответствующего конца ассоциации выставить отметку в строке выбора Aggregate (Агрегация).
В качестве примера изменить тип созданной ранее ассоциации и сделать ее агрегацией. Содержательно это будет означать, что класс «Бортовой компьютер» будет включать в себя в качестве составной части класс «Операция регулирования». С этой целью на вкладке Role B Detail деталей конца ассоциации класса «Бортовой компьютер» выставить отметку в строке выбора Aggregate (рисунок 26).

Рисунок 26 – Редактирование свойств отношения агрегации и композиции

Рисунок 27 - Добавление отношения агрегации и композиции на диаграмму классов
Для изображения отношения композиции также вначале изобразить обычную ассоциацию, после чего, открыв окно ее свойств на вкладке деталей соответствующего конца ассоциации, выставить отметку в строке выбора Aggregate (Агрегация) и в секции Containment (Локализация) выбрать опцию By Value (По значению). По умолчанию эта опция не специфицирована, т.е. выставлена отметка опции Unspecified.
12. Аналогичным образом добавить оставшиеся классы и ассоциации, а также специфицировать стереотипы, атрибуты и операции этих классов. Окончательная диаграмма классов имеет вид (рисунок 28):

Рисунок 28 – Добавление оставшихся классов и ассоциаций, а также специфицирование стереотипов, атрибутов и операций этих классов. Окончательный вид диаграммы классов.
5 Контрольные вопросы
5.1 Какими способами можно активизировать рабочее окно диаграммы?
5. .Каким образом добавляют классы на диаграмму классов?
5.3 Какие стереотипы нужно выбрать для класса «Операция регулирования»? для класса «Экран бортового компьютера»? и для класса «Бортовой компьютер»?
5.4 Какими способами можно добавить и отредактировать атрибуты классов?
5.5 Что можно задать в окне свойств отдельного атрибута класса?
5.6 Какими способами можно добавить и отредактировать операции классов?
5.7 Как добавляется ассоциация на диаграмму классов?
5.8 Как добавить отношение огрегации и композиции на диаграмму классов и отредактировать их свойства?
Список литературы
1. Боггс У., Боггс М. UML и Rational Rose - М.: "ЛОРИ", 2004 г. - 582 с.
2. Леоненков А.В. Объектно-ориентированный анализ и проектирование с использованием UML и IBM Rational Rose БИНОМ. Лаборатория знаний, Интернет-университет информационных технологий - ИНТУИТ.ру, 2006
3. Буч Г., Рамбо Дж., Джекобсон А. Язык UML. Руководство пользователя - М.: ДМК, 2003 г. - 432 с.
4.Буч Г. Объектно-ориентированный анализ и проектирование с примерами приложений на С++, 2- ое изд/Пер с англ.- М.: «Издательство БИНОМ», СПб.: «Невский диалект», 2004 г. – 560 с., ил.

Приложенные файлы

  • docx MetodISRAPS5
    Размер файла: 625 kB Загрузок: 0

Добавить комментарий