Материал: 4970

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

71

1)зависимость – отношение между двумя сущностями, при котором изменение одной из них, независимой, может повлиять на семантику другой, зависимой;

2)ассоциация – соединение между объектами (равноценными, а также целыми и его частями);

3)обобщение – применяется для описания связей типа «предок–потомок» при которых объект-потомок может представлять часть обобщенного объекта (родителя или предка);

4)реализация – связь, например, между интерфейсом класса (объявлением класса) и реализацией интерфейса класса (описанием хода выполнения операций класса);

5)агрегация – специальный вид ассоциации, описывающий отношение между агрегатом (целым) и компонентом (частью).

Пример отношений в диаграммах классов приведён на рисунке 17.

Class_A

- sizeX: int

"кострукторы"

+Class_A(char Ch1)

+Class_A(int x):sizeX(x){}

"открытые функции"

+getLeftUp(): int

+setLeftUp(int Up): int

Рисунок 16 – Пример формального описания класса Рекомендации для разработки диаграммы классов на языке UML:

1)диаграммы классов в первую очередь являются графическим изображением инфологической модели предметной области;

2)в процессе проектирования программной системы диаграммы классов дополняются новыми статическими элементами, обнаруженными в ходе процесса проектирования;

3)каждая, взятая в отрыве от остальных, диаграмма классов не может и не должна охватывать весь проект целиком;

4)диаграмма классов заостряет внимание только на одном аспекте статического вида системы с точки зрения стадии проектирования;

72

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

6)диаграммы классов должны показывать один аспект в нескольких «ракурсах», каждый из которых раскрывает только один вид отношений (в каждой диаграмме классов должны доминировать отношения какого-либо одного вида).

Пакет

 

 

 

Транспорт

Заказчик

 

Перемещает

 

 

обобщение

ассоциация

 

 

Автотранспорт

Авиатранспорт

Водный транспорт

 

 

обобщение

Самолёты

 

Вертолёты

 

 

Парк самолётов

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Груз

 

 

 

 

 

 

 

 

 

Судно

 

 

Вес

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

зависимость

Габариты

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Агрегирование

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Реализация

 

 

 

 

 

 

 

Самолёты_типа_ А

 

 

 

 

 

 

 

 

 

 

 

интерфейса

 

 

 

 

 

 

 

 

 

 

 

 

Способ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

погрузки

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

судна

 

Самолёты_типа_ В

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

обобщение

реализация

зависимость

ассоциация

73

Рисунок 17 – Отношения в диаграмме классов

2.3.5. Диаграмма последовательностей

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

1)определите сценарий, в котором будет происходить взаимодействие элементов системы (подсистема, операция, классы, объекты);

2)определите элементы системы (например, объекты), принимающие участие в сценарии;

3)разместите объекты на диаграмме последовательностей слева на право по горизонтали так, чтобы объекты-инициаторы действий были расположены левее (например, роли);

4)проведите для каждого объекта линию жизни по вертикали сверху вниз пунктирной линией;

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

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

7)укажите точный промежуток времени работы объекта фокусом управления (утолщённая вертикальная полоса, перекрывающая пунктирную линию жизни объекта);

8)укажите пред- и постусловия (по условию сценария) для возникновения сообщений и объектов;

9)по окончании времени жизни объекта на его линии жизни ставится знак «Х» (что не запрещает вновь создать такой объект позднее).

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

 

 

74

 

приведён на рисунке 19. Активные объекты классов «А» и «В» выделены жир-

ной линией.

 

 

 

а)

б)

 

в)

Рисунок 18 − Графическое изображение видов сообщений

Пакет для сценария АВС

 

 

 

А:Объект_класса_А

В:Объект_класса_В

 

Передача сообщения от А к В

Создать объект С

 

 

 

С:Объект_класса_С

Передача сообщения от В к А

Удалить объект С

Вызов функ-

 

 

 

 

 

 

ции класса «С»

Передача сообщения от В к А

 

Вызов функ-

 

 

 

ции класса «В»

 

Линии жизни объектов

 

Ось времени

 

 

 

Рисунок 19 – Диаграмма последовательностей

Разновидность сообщения (рисунок 18, а) используется для вызова процедур

или выполнения операций. Начало этой стрелки соприкасается с фокусом управ-

ления того объекта-клиента, который инициирует это сообщение. Конец стрелки

соприкасается с линией жизни того объекта, который принимает это сообщение

и выполняет в ответ определённые действия. При этом принимающий объект

может получить фокус управления, становясь в этом случае активным. Переда-

ющий объект может потерять фокус управления или остаться активным.

75

Разновидность сообщения (рисунок 18, б) используется для обозначения простого асинхронного сообщения (одностороннего без подтверждения), которое передаётся в произвольный момент времени. Передача такого сообщения не сопровождается получением фокуса управления объектом-получателем.

Разновидность сообщения (рисунок 18, в) используется для возврата из вызова процедуры. Примером может служить простое сообщение о завершении вычислений без предоставления результата расчётов объекту-клиенту.

Пакет для сценария обработки событий активности пользователя

 

Пользователь

 

 

 

 

Отработка

 

 

нажатия кла-

 

:монитор событий

виши (рефлек-

 

сия)

 

 

Нажатие клавиши

 

 

Фокус непре-

Создать окно

:окно-экран

рывной

 

 

 

активности

 

 

 

Подать сигнал по-

 

 

сле закрытия

 

 

Закрыть все окна

Создание но-

Передача звукового сообщения

вого окна в

 

 

 

 

рабочем окне

 

 

(рекурсия)

 

Время жизни

 

 

объектов

 

Рисунок 20 – Пример диаграммы последовательностей

2.3.6. Диаграммы объектов

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

Источник: https://studfile.net/preview/16710630/