Диаграмма кооперации

Содержание

Слайд 2

Диаграмма кооперации

Поведение системы описывается на уровне отдельных объектов, которые обмениваются между собой

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

Слайд 3

УРОВНИ КООПЕРАЦИИ

уровне спецификации - показывает роли классификаторов и роли ассоциаций в рассматриваемом взаимодействии;
уровне

УРОВНИ КООПЕРАЦИИ уровне спецификации - показывает роли классификаторов и роли ассоциаций в
примеров - указывает экземпляры и связи, образующие отдельные роли в кооперации.

Слайд 4

ДИАГРАММА КООПЕРАЦИИ УРОВНЯ ПРИМЕРОВ

Совокупность объектов (экземпляры классов) и связей (экземпляры ассоциаций).

ДИАГРАММА КООПЕРАЦИИ УРОВНЯ ПРИМЕРОВ Совокупность объектов (экземпляры классов) и связей (экземпляры ассоциаций).

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

Слайд 5

КООПЕРАЦИЯ НА УРОВНЕ СПЕЦИФИКАЦИИ

Изображается на диаграмме пунктирным эллипсом, внутри которого записывается имя

КООПЕРАЦИЯ НА УРОВНЕ СПЕЦИФИКАЦИИ Изображается на диаграмме пунктирным эллипсом, внутри которого записывается
этой кооперации.
Представление кооперации относится к отдельному варианту использования и детализирует особенности его последующей реализации.
Символ эллипса кооперации соединяется отрезками пунктирной линии с каждым из участников этой кооперации, в качестве которых могут выступать объекты или классы.
Каждая из этих пунктирных линий помечается ролью (role) участника. Роли соответствуют именам элементов в контексте всей кооперации. Эти имена трактуются как параметры, которые ограничивают спецификацию элементов при любом их появлении в отдельных представлениях модели.

Слайд 6

Основные компоненты

Основные компоненты диаграммы кооперации:
- объекты;
- связи;
- сообщения.

Основные компоненты Основные компоненты диаграммы кооперации: - объекты; - связи; - сообщения.

Слайд 7

КЛАССЫ

прямоугольник класса, внутри которого записывается строка текста - роль классификатора (classifier role).

КЛАССЫ прямоугольник класса, внутри которого записывается строка текста - роль классификатора (classifier
Роль классификатора показывает особенность использования объектов данного класса.
Строка текста в прямоугольнике должна иметь следующий формат:
'/' <Имя роли классификатора> ':' <Имя классификатора> 
[':' <Имя классификатора >]*
«::»имя классификатора может включать полный путь всех вложенных пакетов. один пакет от другого.
можно ограничиться указанием только ближайшего из пакетов, которому принадлежит данная кооперация.
«*» применяется для указания возможности итеративного повторения имени классификатора.

Слайд 8

ОБЪЕКТ (OBJECT)

Является отдельным экземпляром класса, который создается на этапе выполнения программы.
Может

ОБЪЕКТ (OBJECT) Является отдельным экземпляром класса, который создается на этапе выполнения программы.
иметь свое собственное имя и конкретные значения атрибутов.
<Имя объекта>'/' <Имя роли классификатора> ':' <Имя классификатора> 
[':' <Имя классификатора >]*

Слайд 9

: С — анонимный объект, образуемый на основе класса С;
/ R — анонимный

: С — анонимный объект, образуемый на основе класса С; / R
объект, играющий роль R;
/ R : С — анонимный объект, образуемый на основе класса С и играющий роль R;
О / R — объект с именем О, играющий роль R;
О : С — объект с именем О, образуемый на основе класса С;
О / R : С — объект с именем О, образуемый на основе класса С и играющий роль R;
О или — объект с именем О;
О : — «объект-сирота» с именем О;
/ R — роль с именем R;
/: С — анонимная роль на базе класса С;
/ R : С — роль с именем R на основе класса С.

Слайд 10

Объекты

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

Объекты Объект является отдельным экземпляром класса, который создается на этапе реализации модели
программы)

Виды объектов

Мультиобъект

Составной объект

Пассивный объект

Активный объект

Слайд 11

Мультиобъект

Множество объектов на одном из концов ассоциации.
Используется для того, чтобы показать

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

Слайд 12

Активный объект

В контексте языка UML объекты делятся на активные и пассивные.
Активный

Активный объект В контексте языка UML объекты делятся на активные и пассивные.
объект имеет свой собственный поток управления и может инициировать деятельность по управлению другими объектами.

Слайд 13

Пассивный объект оперирует только данными и не может инициировать деятельность по управлению другими

Пассивный объект оперирует только данными и не может инициировать деятельность по управлению
объектами. Однако пассивные объекты могут посылать сигналы в процессе выполнения запросов, которые они получают.
Активный объект (active object) имеет свой поток (thread) управления и может инициировать деятельность по управлению другими объектами.
обозначаются прямоугольником с более широкими границами.
может быть явно указано ключевое слово {active}, чтобы выделить активный объект на диаграмме.
Каждый активный объект может инициировать единственный процесс управления и представлять исходную точку потока управления.

Слайд 14

Составной объект (объект-контейнер)

предназначен для представления объекта, имеющего собственную структуру и внутренние потоки

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

Слайд 15

СВЯЗЬ (LINK)

Экземпляр или пример произвольной ассоциации.
Бинарная связь на диаграмме кооперации изображается отрезком

СВЯЗЬ (LINK) Экземпляр или пример произвольной ассоциации. Бинарная связь на диаграмме кооперации
прямой линии, соединяющей два прямоугольника объектов.
На каждом из концов этой линии могут быть явно указаны имена ролей данной ассоциации.
Рядом с линией в ее средней части может записываться имя соответствующей ассоциации.
Связи не имеют собственных имен, поскольку полностью идентичны как экземпляры ассоциации. Другими словами, все связи на диаграмме кооперации могут быть только анонимными и записываются без двоеточия перед именем ассоциации. Для связей не указывается также и кратность. Однако другие обозначения специальных случаев ассоциации (агрегация, композиция) могут присутствовать на отдельных концах связей.

Слайд 16

СТЕРЕОТИПЫ

«association» - ассоциация (предполагается по умолчанию, поэтому этот стереотип можно не указывать);
«parameter»

СТЕРЕОТИПЫ «association» - ассоциация (предполагается по умолчанию, поэтому этот стереотип можно не
- параметр метода. Соответствующий объект может быть только параметром некоторого метода;
«local» - локальная переменная метода. Ее область видимости ограничена только соседним объектом;
«global» - глобальная переменная. Ее область видимости распространяется на всю диаграмму кооперации;
«self» - рефлексивная связь объекта с самим собой, которая допускает передачу объектом сообщения самому себе. На диаграмме кооперации рефлексивная связь изображается петлей в верхней части прямоугольника объекта.

Слайд 17

СООБЩЕНИЯ

Сообщение на диаграмме кооперации специфицирует коммуникацию между двумя объектами, один из которых

СООБЩЕНИЯ Сообщение на диаграмме кооперации специфицирует коммуникацию между двумя объектами, один из
передает другому некоторую информацию.
Первый объект ожидает, что после получения сообщения вторым объектом последует выполнение некоторого действия.
сообщение является причиной или стимулом для начала выполнения операций, отправки сигналов, создания и уничтожения отдельных объектов.
Связь обеспечивает канал для направленной передачи сообщений между объектами от объекта-источника к объекту-получателю.
Сообщения специфицируют роли, которые играют объекты  отправитель и получатель сообщения.
Сообщения на диаграмме кооперации изображаются помеченными стрелками рядом (выше или ниже) с соответствующей связью или ролью ассоциации. Направление стрелки указывает на получателя сообщения. Внешний вид стрелки сообщения имеет определенный смысл.

Слайд 18

Сплошная линия с треугольной стрелкой обозначает вызов процедуры или другого вложенного потока

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

Слайд 19

Сообщение 2

В общем смысле под сообщением понимается законченный фрагмент информации, посылаемый одним

Сообщение 2 В общем смысле под сообщением понимается законченный фрагмент информации, посылаемый одним объектом другому.
объектом другому.

Слайд 20

ФОРМАТ СООБЩЕНИЯ

< Предшествующие сообщения> < [Сторожевое условие] >
<Выражение последовательности>
<Возвращаемое значение— имя сообщения>

ФОРМАТ СООБЩЕНИЯ
<Список аргументов>

Слайд 21

ПРЕДШЕСТВУЮЩИЕ СООБЩЕНИЯ

 это разделенные запятыми номера сообщений, записанные перед наклонной черточкой:
<Номер сообщения ','><

ПРЕДШЕСТВУЮЩИЕ СООБЩЕНИЯ это разделенные запятыми номера сообщений, записанные перед наклонной черточкой: '/'
Номер сообщения,'> '/'
Если список номеров сообщений пуст, то вся запись, включая наклонную черту, опускается. Каждый номер сообщения может быть выражением последовательности без рекурсивных символов. Выражение должно определять номер другого сообщения в этой же последовательности.
Смысл указания предшествующих сообщений заключается в том, что данное сообщение не может быть передано, пока не будут переданы своим адресатам все сообщения, номера которых записаны в данном списке.
A3, В4/ С5: ошибка записи (сектор)

Слайд 22

СТОРОЖЕВОЕ УСЛОВИЕ

 является обычным булевским выражением и предназначено для синхронизации отдельных нитей потока

СТОРОЖЕВОЕ УСЛОВИЕ является обычным булевским выражением и предназначено для синхронизации отдельных нитей
управления.
Сторожевое условие записывается в квадратных скобках и может быть опущено, если оно отсутствует у данного сообщения.
Семантика сторожевого условия обеспечивает передачу сообщения только в том случае, если это условие принимает значение «истина».
Пример записи сторожевых условий без номеров предшествующих сообщений:
[(х>=0)&(х<=255)] 1.2: отобразить_на_экране_цвет(х);
[количество цифр номера = 7] 3.1: набрать_телефонный_номер();

Слайд 23

ВЫРАЖЕНИЕ ПОСЛЕДОВАТЕЛЬНОСТИ

это разделенный точками список отдельных термов последовательностей, после которого записывается двоеточие:
<Терм

ВЫРАЖЕНИЕ ПОСЛЕДОВАТЕЛЬНОСТИ это разделенный точками список отдельных термов последовательностей, после которого записывается
последовательности'.'><Терм последовательности'.'>':'
Каждый из термов - отдельный уровень процедурной вложенности в форме законченной итерации. Наиболее верхний уровень соответствует самому левому терму последовательности. Если все потоки управления параллельные, то вложенность отсутствует. Каждый из термов последовательности имеет следующий синтаксис:
[Целое число| Имя] [Символ рекуррентности]
Целое число указывает на порядковый номер сообщения в процедурной последовательности верхнего уровня. Сообщения, номера которых отличаются на единицу, следуют подряд один за другим.
Имя используется для спецификации параллельных нитей управления. Сообщения, которые отличаются только именем, являются параллельными на этом уровне вложенности. На одном уровне вложенности все потоки управления эквивалентны в смысле приоритета передачи сообщений. 

Слайд 24

Символ рекуррентности используется для указания условного или итеративного выполнения:
'*' '[' Предложение-итерация ']' для

Символ рекуррентности используется для указания условного или итеративного выполнения: '*' '[' Предложение-итерация
записи итеративного выполнения соответствующего выражения. Итерация представляет последовательность сообщений одного уровня вложенности. Предложение-итерация может быть опущено, если условия итерации никак не специфицируются. Наиболее часто предложение-итерация записывается на некотором псевдокоде или языке программирования. В языке UML формат записи этого предложения не определен.
"*[/:=/..n]", означает последовательную передачу сообщения с параметром /, который изменяется от 1 до некоторого целого числа n с шагом 1;
'['Предложение-условие У ']’ для записи ветвления. Это условие представляет такое сообщение, передача которого по данной ветви возможна только при истинности этого условия. Чаще всего предложение-условие записывают на некотором псевдокоде или языке программирования, поскольку в языке UML формат записи этого предложения не определен.
[х>у] означает, что сообщение по некоторой ветви будет передано только в том случае, если значение х больше значения у.

Слайд 25

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

 представляется в форме списка имен значений, возвращаемых по окончании коммуникации или

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ представляется в форме списка имен значений, возвращаемых по окончании коммуникации
взаимодействия в полной итерации данной процедурной последовательности. Эти идентификаторы могут выступать в качестве аргументов в последующих сообщениях. Если сообщение не возвращает никакого значения, то ни значение, ни оператор присваивания на диаграмме кооперации не указываются.
1.2.3: р:= найти_документ (спецификация_документа)
означает передачу вложенного сообщения с запросом поиска в базе данных нужного документа по его спецификации, источнику сообщения должен быть возвращен найденный документ.

Слайд 26

ИМЯ СООБЩЕНИЯ

записанное в сигнатуре после возвращаемого значения, означает имя события, которое инициируется

ИМЯ СООБЩЕНИЯ записанное в сигнатуре после возвращаемого значения, означает имя события, которое
объектом-получателем сообщения после его приема.
Наиболее часто таким событием является вызов операции объекта.

Слайд 27

CПИСОК АРГУМЕНТОВ

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

CПИСОК АРГУМЕНТОВ представляет собой разделенные запятыми и заключенные в круглые скобки действительные
той операции, вызов которой инициируется данным сообщением. Список аргументов может быть пустым, однако скобки все равно записываются. Для записи аргументов также может быть использован некоторый псевдокод или язык программирования.
1.2.3: р:= найти_документ (спецификация_документа)
аргумент найти_документ является именем сообщения, а спецификация_документа - списком аргументов, состоящим из единственного действительного параметра операции. При этом имя сообщения означает обращение к операции найти_ документ, которая должна быть определена в соответствующем классе объекта-получателя.

Слайд 28

НАЧАЛЬНЫЙ ФРАГМЕНТ ДИАГРАММЫ КООПЕРАЦИИ

НАЧАЛЬНЫЙ ФРАГМЕНТ ДИАГРАММЫ КООПЕРАЦИИ

Слайд 29

ДОПОЛНЕННЫЙ СТЕРЕОТИПАМИ РОЛЕЙ СВЯЗЕЙ, ИМЕНАМИ АССОЦИАЦИЙ И ПОМЕЧЕННЫМ ЗНАЧЕНИЕМ ОБЪЕКТА

ДОПОЛНЕННЫЙ СТЕРЕОТИПАМИ РОЛЕЙ СВЯЗЕЙ, ИМЕНАМИ АССОЦИАЦИЙ И ПОМЕЧЕННЫМ ЗНАЧЕНИЕМ ОБЪЕКТА

Слайд 30

ОКОНЧАТЕЛЬНЫЙ ВАРИАНТ ДИАГРАММЫ КООПЕРАЦИИ

ОКОНЧАТЕЛЬНЫЙ ВАРИАНТ ДИАГРАММЫ КООПЕРАЦИИ

Слайд 31

Пример диаграммы кооперации

Пример диаграммы кооперации
Имя файла: Диаграмма-кооперации.pptx
Количество просмотров: 336
Количество скачиваний: 1