11.ИТ-Collaboration.ppt
- Количество слайдов: 42
Информационные технологии n Диаграммы кооперации
Термины и определения n Кооперация (Collaboration) - это сообщество классов, интерфейсов и других элементов, которые работают совместно для обеспечения кооперативного поведения, более значимого, чем сумма его составляющих
Термины и определения n Кооперация (collaboration) — спецификация множества объектов отдельных классов, совместно взаимодействующих с целью реализации отдельных вариантов использования в общем контексте моделируемой системы.
Термины и определения Структурные элементы n Классы n Объекты n Связи n Сообщения n Роли Обмен между узлами
Уровни кооперации n n спецификации - показывает роли классификаторов и роли ассоциаций в рассматриваемом взаимодействии. примеров - указывает экземпляры и связи, образующие отдельные роли в кооперации.
Уровни кооперации Классификатор - это механизм, описывающий структурные и поведенческие свойства. К числу классификаторов относятся классы, интерфейсы, типы данных, сигналы, компоненты, узлы, прецеденты (варианты использования) и подсистемы.
Уровнень спецификации Элементы этого уровня – n Классы n Ассоциации
Формат имени классификатора '/' <Имя роли классификатора> ': ' <Имя классификатора> [': ' <Имя классификатора >] * * -- применяется для указания возможности итеративного повторения имени классификатора
Обобщенное представление
Обобщенное представление Кооперация является реализацией некоторого класса
Уровни кооперации n n спецификации - показывает роли классификаторов и роли ассоциаций в рассматриваемом взаимодействии. примеров - указывает экземпляры и связи, образующие отдельные роли в кооперации.
Уровень примеров Элементы этого уровня – n Объекты n Ассоциации n Сообщения Объекты – это роли
Объекты <Имя объекта>'/' <Имя роли классификатора> ': ' <Имя классификатора> [': ' <Имя классификатора >]* * -- применяется для указания возможности итеративного повторения имени классификатора
Объекты n n n О или - объект с именем О. : С - анонимный объект, образуемый на основе класса С. / R - анонимный объект, играющий роль R. / R : С - анонимный объект, образуемый на основе класса С и играющий роль R. О / R - объект с именем О, играющий роль R. О : С - объект с именем О, образуемый на основе класса С. О / R : С - объект с именем О, образуемый на основе класса С и играющий роль R. О : - "объект-сирота" с именем О. / R - роль с именем R : С - анонимная роль на базе класса С. / R : С - роль с именем R на основе класса С
Объекты
Дополнительные спецификации n n n Мультиобъект (multiobject) Компзитный объект (composite object) Активный объект (active object)
Мультиобъект n Мультиобъект(multiobject) – множество анонимных объектов, которые могут быть образованы на основе одного класса
Мультиобъект
Составной объект n Составной объект (composite object) или объект-композит предназначен для представления объекта, имеющего собственную структуру и внутренние потоки (нити) управления
Активный объект n Активный объект (active object) имеет собственный процесс управления и может инициировать деятельность по управлению другими объектами
Связи n n Связь (link) является экземпляром или примером произвольной ассоциации. Связи не имеют собственных имен, поскольку полностью идентичны как экземпляры ассоциации
Стереотипы связей n n n «association» - ассоциация (предполагается по умолчанию, поэтому этот стереотип можно не указывать). «parameter» - параметр метода. Соответствующий объект может быть только параметром некоторого метода. «local» - локальная переменная метода. Ее область видимости ограничена только соседним объектом. «global» - глобальная переменная. Ее область видимости распространяется на всю диаграмму кооперации. «self» - рефлексивная связь объекта с самим собой, которая допускает передачу объектом сообщения самому себе.
Стереотипы связей
Сообщения n Сообщение на диаграмме кооперации специфицирует коммуникацию между двумя объектами, один из которых передает другому некоторую информацию. При этом первый объект ожидает, что после получения сообщения вторым объектом последует выполнение некоторого действия
Сообщения n n Вызов процедуры или другого вложенного потока управления Простой поток управления Асинхронный поток управления Возврат из вызова процедуры.
Вызов процедуры n Сообщения этого типа могут быть использованы параллельно активными объектами, когда один из них передает сообщение и ожидает, пока не закончится некоторая последовательность действий, выполняемая вторым объектом. Такие сообщения синхронны, т. е. инициируются по завершении деятельности или при выполнении определенного условия
Простой поток n Клиент передает асинхронное сообщение и продолжает выполнять свою деятельность, не ожидая ответа от сервера
Возврат из вызова процедуры n Возврат из вызова процедуры. Стрелки этого типа зачастую отсутствуют на диаграммах кооперации, поскольку неявно предполагается их существование после окончания процесса выполнения операции или деятельности.
Асинхронный поток управления n Сообщения формируются в произвольные, заранее не известные моменты времени, как правило, активными объектами. Обычно сообщения этого типа являются начальными в последовательности потока управления и чаще всего инициируются актерами.
Формат записи сообщений < Предшествующие сообщения> < [Сторожевое условие] > <Выражение последовательности> <Возвращаемое значение - имя сообщения> <Список аргументов>
Формат записи сообщений < Предшествующие сообщения> == <Номер сообщения ', '>< Номер сообщения, '> '/‘ Пример: A 3, В 4/ С 5: ошибка записи (сектор).
Формат записи сообщений • Сторожевое условие является обычным булевским выражением и предназначено для синхронизации отдельных нитей потока управления. Записывается в квадратных скобках и может быть опущено. Пример: n n [(х>=0)&(х<=255)] 1. 2: отобразить_на_экране_цвет(х) [количество цифр номера = 7] 3. 1: набрать_телефонный_номер()
Выражение последовательности Выражение последовательности - есть разделенный точками список отдельных термов последовательностей, после которого записывается двоеточие: <Терм последовательности'. '>': ‘ Терм последовательностей – [Целое число| Имя] [Символ рекуррентности]
Выражение последовательности [Целое число| Имя] [Символ рекуррентности] n n n Целое число указывает на порядковый номер сообщения Имя в форме буквы алфавита используется для спецификации параллельных потоков управления. Рекуррентность используется для указания итеративного или условного характера выполнения передачи сообщений. Семантика рекуррентности представляет ноль или больше сообщений, которые должны быть выполнены в зависимости от записанного условия Пример, n сообщение "3. 1. 4" следует за сообщением "3. 1. 3" в процедурной последовательности "3. 1" n сообщения с выражениями "З. 1 а" и "3. 1 б" являются параллельными в процедурной последовательности "3. 1". n *[i: =1. . n],
Выражение последовательности Символ рекурентности используется для указания условного или итеративного выполнения Предложение-итерация Предложение-условие
Выражение последовательности '*''['Предложение-итерация'] n n запись итеративного выполнения соответствующего выражения. Итерация представляет последовательность сообщений одного уровня вложенности Если необходимо отметить возможность параллельного выполнения итерации, то для этой цели в языке UML используется символ "*||" Пример: *[i: =1. . n]
Выражение последовательности '*''['Предложениеусловие'] n Используется для записи ветвления
Стереотипы сообщений n n n «call» (вызвать) – сообщение, требующее вызова операции или процедуры объекта-получателя. Если сообщение с этим стереотипом рефлексивное, то оно инициирует локальный вызов операции у пославшего это сообщение объекта. «return» (возвратить) – сообщение, возвращающее значение выполненной операции или процедуры вызвавшему ее объекту. Значение результата может инициировать ветвление потока управления. «create» (создать) – сообщение, требующее создания другого объекта для выполнения определенных действий. Созданный объект может стать активным (ему передается поток управления), а может остаться пассивным.
Стереотипы сообщений n n «destroy» (уничтожить) – сообщение с явным требованием уничтожить соответствующий объект. Посылается в том случае, когда необходимо прекратить нежелательные действия со стороны существующего в системе объекта, либо когда объект больше не нужен и должен освободить задействованные им системные ресурсы. «send» (послать) – обозначает посылку другому объекту сигнала, который асинхронно инициируется одним объектом и принимается (перехватывается) другим. Отличие сигнала от сообщения заключается в том, что сигнал должен быть явно описан в том классе, объект которого инициирует его передачу.
Пример кооперации
Пример кооперации
Пример кооперации