Моделирования uml


 Диаграммы последовательности


Download 1.84 Mb.
Pdf ko'rish
bet100/115
Sana16.06.2023
Hajmi1.84 Mb.
#1489923
1   ...   96   97   98   99   100   101   102   103   ...   115
Bog'liq
ivanov novikov unificirovannii jazik modelirovanija uml 2011

4.4.2. Диаграммы последовательности 
Диаграмма 
последовательности 
предназначена 
для 
моделирования поведения в форме описания протокола сеанса обмена 
сообщениями 
между 
взаимодействующими 
экземплярами 
классификаторов во время выполнения одного из возможных 
сценариев. 
Из 
этого 
определения 
вытекают 
несколько 
следствий, 
определяющих состав сущностей и набор отношений, используемых 
на диаграмме последовательности (равно как и на диаграмме 
коммуникации). 
На 
диаграмме 
присутствуют 
только 
те 
экземпляры 
классификаторов, которые задействованы в данном взаимодействии. 


194
Прочие экземпляры не показываются, хотя возможно и присутствуют 
в системе. 
Отображаются только те связи, которые нужны для передачи 
данной 
последовательности 
сообщений
прочие 
связи 
не 
показываются. 
Состав сообщений (а тем самым операций и сигналов) 
определяется назначением данного взаимодействия; в других 
взаимодействиях эти же экземпляры классификаторов могут 
обмениваться другими сообщениями. 
Вышесказанное нуждается в пояснении. Утверждение о том, что 
на 
диаграмме 
последовательности 
присутствуют 
экземпляры 
классификаторов не совсем верное, точнее, не совсем полное. Чтобы 
понять это, давайте обратимся к понятию связи и посмотрим, откуда 
оно берется.
Связь (link) — это экземпляр отношения (например, ассоциации 
или зависимости), представляющий собой набор ссылок на 
экземпляры классификаторов, связанных между собой посредством 
этого отношения.
Первое, на что требуется обратить внимание, это то, что связи 
могут быть как временными, так и постоянными. Постоянные связи 
суть экземпляры ассоциаций. Временные связи могут и не быть 
экземплярами ассоциаций. Для того чтобы один экземпляр 
классификатора смог вызвать метод другого, первый должен знать 
про второй. Знание это может быть получено не только вследствие 
наличия ассоциации между соответствующими классификаторами, но 
и, 
например, 
по 
причине 
передачи 
второго 
экземпляра 
классификатора в качестве параметра операции для первого. Такая 
связь на диаграмме классов могла бы быть выражена отношением 
зависимости. 
Перейдем к описанию особенностей нотации диаграммы 
последовательности. Напомним, что в UML семантика первична, а 
нотация вторична: возможны различные вариации в способах 


195
рисования диаграмм, особенно это характерно для диаграмм 
последовательности. В наших примерах мы придерживаемся самого 
"скромного" стиля отображения диаграмм, с минимумом украшений. 
На диаграмме последовательности считается выделенным одно 
направление, соответствующее течению времени. По умолчанию 
считается, что время течет сверху вниз, но это не обязательно, 
например, можно считать, что время течет слева направо, оговорив 
это специальным примечанием. В наших примерах используется 
исключительно нотация по умолчанию: время всегда течет сверху 
вниз. Саму ось времени не отображают. 
Среди сообщений есть первое, которое кладет начало данному 
взаимодействию. Стрелка этого сообщения расположена выше всех 
других стрелок сообщений. Все экземпляры классификаторов, 
которые находятся выше первого сообщения, существуют до начала 
данного взаимодействия; остальные, которые расположены ниже или 
на уровне первой стрелки, возникают в процессе данного 
взаимодействия. Обычно экземпляр классификатора возникает в 
результате выполнения конструктора классификатора. Стрелку 
сообщения, которая рисуется пунктирной линией, соответствующую 
вызову операции конструктора, принято направлять к фигуре 
(прямоугольнику), обозначающей созданный экземпляр. 
Параллельно 
оси 
времени 
от 
всех 
участвующих 
во 
взаимодействии объектов отходит прямая пунктирная линия, которая 
называется линией жизни (lifeline). Линия жизни представляет объект 
во взаимодействии: если стрелка отходит от линии жизни объекта, то 
это означает, что данный объект отправляет сообщение, а если 
стрелка сообщения входит в линию жизни, то это означает, что 
данный объект получает сообщение. Если же стрелка пересекает 
линию жизни объекта, то это ничего не значит — сообщение 
пролетело мимо. Если в процессе взаимодействия объект заканчивает 
свое существование, то линия жизни обрывается и в этом месте 
ставится косой крест. 


196
Над стрелкой сообщения указывается текстовая часть описания 
сообщения. Заметим, что номер сообщения, равно как и номера 
предшествующих сообщений, на диаграммах последовательности 
обычно не указывают, поскольку в этом нет нужды: относительный 
порядок сообщений и так хорошо определяется направлением оси 
времени.
Мы еще не закончили описание особенностей нотации 
диаграммы последовательности, но чувствуем, что пора привести 
пример. Рассмотрим взаимодействие, возникающее при одном из 
простых сценариев в нашей информационной системе отдела кадров, 
а 
именно, 
создание 
подразделения. 
Данное 
взаимодействие 
инициируется 
внешним 
действующим 
лицом — менеджером 
штатного расписания, который открывает соответствующую форму и 
запускает выполнение операции создания подразделения, после чего 
закрывает более не нужную ему форму. Общая схема взаимодействия 
для данного сценария представлена на рис. 4.31. Обратите внимание, 
что помимо сообщений, которые соответствуют вызовам методов 
(например, 1), 
на 
диаграмме 
присутствует 
сообщение, 
соответствующее вызову конструктора (2). 
Рис. 4.31. Диаграмма последовательности 


197
Продолжим описание нотации диаграмм последовательности.
Если же нужно в явном виде указать ограничения по времени, 
например, указать, что время задержки доставки сообщения должно 
быть ограничено сверху, то на диаграмму в нужном месте (имеет 
значение только положение по вертикали) рядом с началом или 
концом 
стрелки 
сообщения 
помещают 
произвольные 
идентификаторы, 
которые 
называются 
метками 
времени 
(time observation), и добавляют временные ограничения, задающие 
требуемые условие на значения меток времени. 

Download 1.84 Mb.

Do'stlaringiz bilan baham:
1   ...   96   97   98   99   100   101   102   103   ...   115




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling