UML.Диаграмма последовательности.
Применяется для рассмотрения взаимодействия элементов во времени. Имеет ряд элементов.
Линия жизни объекта (objectlifeline) изображается пунктирной вертикальной линией, ассоциированной с единственным объектом на диаграмме последовательности. Линия жизни служит для обозначения периода времени, в течение которого объект существует в системе и, следовательно, может потенциально участвовать во всех ее взаимодействиях (телефонный разговор, заказ в ресторане – временные объекты должны уничтожаться).
В процессе функционирования объектно-ориентированных систем одни объекты могут находиться в активном состоянии, непосредственно выполняя определенные действия или в состоянии пассивного ожидания сообщений от других объектов. Чтобы явно выделить подобную активность объектов, в языке UML применяется специальное понятие, получившее название фокуса управления.
Помимо объектов на диаграмме выделяют сообщения, которые представляют собой законченный фрагмент информации, отправляемый от одного объекта к другому. При этом, прием сообщения инициирует выполнения определенных действий, направленных на решение отдельной задачи тем объектом, которому это сообщение отправлено.
· Асинхронное – инициируется актером в произвольный момент времени.
· Вызов процедуры (ждет обратный ответ)
· Ответ на процедуру
· Сообщение поток(несет информацию, но не требует ответа).
Стереотипы сообщений
В языке UML предусмотрены некоторые стандартные действия, выполняемые в ответ на получение соответствующего сообщения. Они могут быть явно указаны на диаграмме последовательности в форме стереотипа рядом с сообщением, к которому они относятся. В этом случае они записываются в кавычках. Используются следующие обозначения для моделирования действий:
- "call" (вызвать) - сообщение, требующее вызова операции или процедуры принимающего объекта. Если сообщение с этим стереотипом рефлексивное, то оно инициирует локальный вызов операции у самого пославшего это сообщение объекта;
- "return" (возвратить) - сообщение, возвращающее значение выполненной операции или процедуры вызвавшему ее объекту. Значение результата может инициировать ветвление потока управления;
- "create" (создать) - сообщение, требующее создания другого объекта для выполнения определенных действий. Созданный объект может получить фокус управления, а может и не получить его;
- "destroy" (уничтожить) - сообщение с явным требованием уничтожить соответствующий объект. Посылается в том случае, когда необходимо прекратить нежелательные действия со стороны существующего в системе объекта, либо когда объект больше не нужен и должен освободить задействованные им системные ресурсы;
- "send" (послать) - обозначает посылку другому объекту некоторого сигнала, который асинхронно инициируется одним объектом и принимается (перехватывается) другим. Отличие сигнала от сообщения заключается в том, что сигнал должен быть явно описан в том классе, объект которого инициирует его передачу.
В [] скобках – сторожевое условие
В {} скобках – ограничение
В () скобках – ответ на процедуру (только в операциях).
{время_приема_сообщениявремя_отправки< 1 сек}
Недостатки диаграммы последовательности:
1.загроможденность
2.сложность определения взаимосвязей между объектами.
- Сопоставление и взаимосвязь структурного и объектно-ориентированного подходов.
Основной недостаток структурного подхода:
Процессы и данные существуют отдельно друг от друга, причем проектирование видется от процесса к данным.
Достоинства объектно-ориентированного подхода:
- Объектно-ориентированные системы более открыты и легче поддаются внесению изменений, что дает возможность системе развиваться постепенно и не приводит к полной ее переработки даже в случае существенных изменений исходных требований.
- Объектная декомпозиция дает возможность создавать программные системы меньшего размера путем использования общих механизмов.
- Объектная декомпозиция уменьшает риск создания сложных систем программного обеспечения, т.к. она предполагает эволюционный путь развития системы на базе относительно небольших подсистем.
- Объектная модель более естественна, т.к. ориентирована на человеческое восприятие мира.
- Позволяет использовать выразительные возможности объектно-ориентированных языков программирования.
Недостатки объектно-ориентированного подхода:
1. высокие начальные затраты (отдача наступает после 2 проекта)
2. некоторое снижение производительности функционирования программного обеспечения.
3. переход на объектно-ориентированный подход связан с преодолением психологических трудностей.