Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
17. Диаграммы взаимодействия UML, основные понятия.
Диаграммы взаимодействия (interaction diagrams) модель процесса обмена сообщениями между объектами, представляется в виде диаграмм последовательностей (sequence diagrams) или кооперативных диаграмм (collaboration diagrams).
Диаграммы взаимодействия отображают один из процессов обработки информации в варианте использования: какие объекты нужны потоку, какими сообщениями обмениваются объекты, какие действующие лица инициируют поток и в какой последовательности отправляются сообщения.
Для одного потока событий может быть построено несколько диаграмм взаимодействия. Основной элемент диаграмм заимодействия это объект. Объектом описывают нечто содержащее в себе данные и поведение. Это термин, описывающий реальные, конкретные предметы или абстрактные сущности. Объекты изображаются в виде прямоугольников, имена объектов. подчеркиваются. Внутри прямоугольника, обозначающего объект, записывается с большой буквы имя объекта. Имя объекта подчеркивается. Если оно содержит несколько слов, то все они должны начинаться с большой буквы. Объекты, помещаемые на диаграммы взаимодействия, скорее всего будут объектами системы и будут относиться к программному обеспечению. При проектировании этих диаграмм можно представлять себе объекты, как экранные формы или части приложений, отвечающие за выполнение определенных действий, или объектом может быть запись в таблице базы данных. Если перед тем, как строить диаграммы взаимодействия мы построили диаграммы классов, то тогда поиск объектов упрощается. Объекты соответствуют своим классам или их операциям, и мы можем создавать и располагать их на диаграмме последовательности действий или кооперативной диаграмме. Если мы хотим изучить взаимодействие объектов до того, как переходить к поиску классов, то поиск объектов можно начать с изучения имен существительных в потоке событий. Многие из них станут хорошими кандидатами в объекты. Мы также можем выделить объекты-сущности, граничные объекты и управляющие объекты на основе выбранных классов. Существует два типа диаграмм взаимодействия диаграммы последовательности (или последовательности действий) и диаграммы
кооперации. Первые отображают обмен сообщениями между объектами во времени, а вторые отображают структуру заимодействия. На обеих диаграммах отображается одна и та же информация, но разными способами: 51диаграмма последовательностей изображает поток управления, а кооперативная диаграмма поток данных. Диаграммы последовательности. Как правило, поток событий описывает не одну последовательность действий, а несколько возможных, это отражается наличием главного потока событий и альтернативных потоков. Чаще всего невозможно описать прецедент с помощью только одной последовательности действий. Один прецедент описывает несколько последовательностей сценариев, каждый из которых описывает один из вариантов возможного потока событий. Сценарий (Scenario) это некоторая последовательность действий, иллюстрирующая поведение системы. Сценарий это экземпляр потока событий. Он представляет собой одиночный проход по потоку событий для прецедента. Для графического отображения сценария используются диаграммы последовательностей. Диаграмма последовательности действий отображает взаимодействие объектов, упорядоченное по времени.
Основные элементы нотации диаграмм последовательности.
На диаграммах последовательности изображаются объекты, классы и последовательность сообщений, которыми обмениваются объекты в ходе выполнения сценария. На диаграмме последовательностей могут также изображаться экземпляры действующих лиц. Действующие лица, присутствующие на диаграммах взаимодействия, выделяются из потока событий как сущности, запускающие процессы. На одной диаграмме их может быть несколько. Каждый объект или действующее лицо на диаграмме последовательностей имеет свою линию жизни, которая обозначается пунктиром. Линия жизни объекта (object lifeline) вертикальная пунктирная
линия на диаграмме последовательности, которая представляет существование объекта в течение определенного периода времени.
Фокус управления (активность, focus of control) - специальный символ на диаграмме последовательности, указывающий период времени, в течение которого объект выполняет некоторое действие, находясь в активном состоянии. Фокус управления изображается тонким прямоугольником, расположенным на линии жизни. Действующие лица, присутствующие на диаграммах взаимодействия, выделяются из потока событий как сущности, запускающие процессы.
состоянии. Объекты и действующие лица на диаграммах последовательности обмениваются сообщениями. Сообщения обозначаются стрелками, идущими от отправителя к получателю. Сообщение (message) - спецификация передачи информации от одного элемента модели к другому с ожиданием выполнения определенных действий со стороны принимающего элемента. Для сообщений на диаграммах последовательностей, как и для других элементов модели, доступен ряд спецификаций:1).У каждого сообщения должно быть имя, соответствующее его цели.; 2). Сообщения на диаграммах последовательностей можно соотнести с операциями, определенными для классов. Если от одного объекта к другому направлено сообщение, то это означает, что объект-источник вызывает операцию объекта-приемника. Объект не может вызвать произвольную операцию: она должна быть доступна этому объекту. В особых случаях сообщение не становится операцией: например, ввод логина и пароля подразумевает их печать в соответствующих полях, и
сообщение будет реализовано в виде поля ввода в окне программы.;
3) Мы можем для каждого сообщения установить тип синхронизации. Каждому типу соответствует его обозначение. Вызов операции (процедуры) (call) вызывает операцию того объекта, к которому направлено. Объект может вызвать свою операцию. Тогда стрелка начинается и заканчивается на линии жизни одного и того же объекта, такое сообщение называется рефлексивным. Синхронное сообщение обозначается стрелкой с закрашенным Наконечником. Асинхронное сообщение (send) посылает объекту сигнал. При этом источник не ждет отклика приемника или подтверждения получения, а продолжает свою работу. Обозначается нежирной стрелкой.
Асинхронное сообщение - ответное сообщение (return) возвращает значение из процедуры тому объекту, к которому направлено. Обозначается пунктирной стрелкой. Объект может уничтожить сам себя. Обозначается стрелкой со стереотипом «destroy».
При уничтожении объекта на его линии жизни появляется символ разрушения, который обозначается крестом.