Диаграммы прецедентов позволяют определить основные функции разрабатываемой системы, а также ограничить её границы. При этом для выполнения реализации системы в виде программного кода необходимы диаграммы классов. Осуществление нисходящего проектирования, как проектирования от общего к частному, должно производиться, начиная от диаграмм прецедентов и заканчивая диаграммами классов. Однако переход от диаграмм прецедентов к диаграммам классов часто затруднителен и требует выявления дополнительных сведений о действиях, выполняемых отдельными частями системы. Для получения таких сведений предназначена диаграмма последовательностей.
Использование диаграммы последовательностей позволяет отобразить динамическое поведение системы, а также взаимодействие её составных частей во времени. При этом предоставляется возможность отображения синхронных и асинхронных вызовов методов, что очень важно при проектировании многопоточных приложений и приложений реального времени.
Диаграмма последовательностей содержит элементы четырёх типов: объекты, линии жизни, фокусы управления и сообщения.
Объекты на диаграмме последовательностей полностью соответствуют понятию объектов в объектно-ориентированном программировании, как экземпляров класса. При этом объекты на диаграмме прецедентов обозначаются прямоугольниками, внутри которых указан идентификатор объекта и идентификатор класса объекта.
В среде Microsoft Visio в качестве объекта на диаграмме последовательностей могут выступать актёр или прецедент из диаграммы прецедентов. Для выбора представления объекта на диаграмме последовательностей следует в окне свойств объекта, пример которого представлен на рис. 6.1, указать его классификатор из числа существующих объектов, актёров или прецедентов. При этом с помощью кнопки «Создать…» предоставляется возможность создания нового класса, экземпляром которого будет объект диаграммы последовательностей. Следует отметить, что класс, создаваемый таким образом, не привязан ни к одной диаграмме классов, а располагается только в окне «Проводник по объектам».
Рис. 6.1. Диалоговое окно свойств объекта на диаграмме последовательностей (в среде Microsoft Visio объект диаграммы последовательностей обозначается как классификатор).
Для каждого объекта на диаграмме последовательностей соответствует линия жизни – пунктирная линия, обозначающая ось времени, на которой отмечаются периоды существования объекта. Ось времени, создаваемая линией жизни, всегда направлена от объекта вниз. При этом начало отсчёта времени совпадает с точкой пересечения границы объекта и линии жизни. На линии жизни с помощью символа уничтожения помечается момент уничтожения объекта, или высвобождения памяти, занятой этим объектом. Символ уничтожения графически обозначается в виде символа «Х», устанавливаемом на нижнем конце линии жизни. В случае отсутствия символа уничтожения объекта считается, что объект является долгоживущим.
Для обозначения на диаграмме последовательностей периодов времени, в течение которых объект контролирует поток событий, используется фокус управления, представляющий собой узкий вертикальный прямоугольник, размещаемый на линии жизни. С помощью фокуса управления можно отобразить выполнение любого действия объектом, например, выполнение метода или создание объекта. В среде Microsoft Visio для обозначения фокуса управления используется фигура «Активация».
Одно из основных назначений диаграммы последовательностей – моделирование взаимодействия между объектами во времени. Для выполнения такого взаимодействия используются сообщения, обозначаемые стрелками, направляемыми по горизонтали от линии жизни вызывающего объекта к линии жизни вызываемого объекта или к границе самого объекта. В случае если вызывающий объект совпадает с вызываемым объектом, стрелка сообщения начинается и заканчивается на линии жизни одного объекта.
Сообщения используются для организации связи между объектами, обозначающей какой-либо вид деятельности. В большинстве случаев вид деятельности можно разделить на одно или несколько действий, приводящих к изменению состояния объекта (его атрибутов) или возврата некоторых данных (возвращаемого значения) объекту, отправившему сообщение.
Существуют следующие пять видов действий: вызов и возврат, создание и уничтожение, а также отправка.
Действие вызова обозначает вызов метода объекта, осуществляемый синхронно. Синхронное выполнение действий означает, что вызывающий объект предполагает, что вызываемый объект готов обработать сообщение, при этом после отправки сообщения вызывающий объект ожидает результата завершения обработки сообщения вызываемым объектом. Действие вызова обозначается стрелкой с полностью закрашенным концом и сплошной линией, направленной от линии жизни вызывающего объекта к линии жизни вызываемого объекта.
Пример действия вызова одного объекта другим представлен в сообщении «Действие вызова 1» на рис. 6.1. Действие вызова применимо как по отношению к другому объекту, так и по отношению к тому же объекту, например, при вызове метода внутри того же объекта. Пример использования действия вызова, относящегося к тому же самому объекту, представлен в сообщении «Действие вызова 2» на рис. 6.1.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.