28.07.2025 П13: 1/32
13.2.Нотација дијаграма секвенци
Слика приказује кључне ознаке дијаграма секвенце. Ове ознаке укључују
следеће: актер, објекат, временска линија, фокус контроле, порука, само-
порука, повратна порука, асинхрона порука, уништавање објекта, кораци
(у секвенци) и напомене.
13. Дијаграми језика UML–дијаграм секвенци
2.
28.07.2025 П13: 2/32
13.2.Нотација дијаграма секвенци
Неке од ових ознака су опционе јер њихова употреба зависи од простора
моделирања. На пример, „фокус контроле“ и „повратна порука“ се не могу
користити у моделу простора проблема (MOPS). Међутим, ове ознаке носе
важно значење у моделу простора решења (MOSS) и стога се тамо
интензивно користе. С друге стране, актер (:Pacijent на слици)
представља улогу коју игра корисник (део случаја употребе). Овај актер је
користан у моделирању сценарија из случаја употребе у MOPS-у, али није
од велике вредности у MOSS-у.
На слици је пример објекта aPatient који припада класи Patient. Понекад је
објекат приказан самостално у дијаграму секвенце, а не као да припада
одговарајућој класи. Међутим, сваки објекат у дизајну мора бити повезан
са одговарајућом класом. У другим случајевима, имена класа се појављују
у дијаграму секвенце без објекта, нпр. :Patient. У том случају,
претпоставља се да је :Patient анонимни објекат који припада класи
Patient. Без обзира на начин изражавања у дијаграму секвенце, он и даље
приказује само објекте на нивоу инстанце, а не класе.
13. Дијаграми језика UML–дијаграм секвенци
3.
28.07.2025 П13: 3/32
13.2.Нотација дијаграма секвенци
Следећа ознака на слици је испрекидана линија која се спушта од објекта
и означава временску линију тог објекта. Временска линија представља
низ порука у смислу времена за тај објекат.
Повремено, временска линија која се спушта од објекта је задебљана. Ово
задебљање временске линије указује на то да одређени објекат има
„фокус контроле“ током интеракције поруке. Фокус контроле је посебно
потребан у дизајну да би се назначило који је одређени објекат задужен
или активан у датом низу. Фокус контроле такође указује колико дуго је
порука послата са објекта активна и чека да се одговор заврши.
Порука представља комуникацију између објеката. Поруке у дијаграму
секвенце прелазе са једне временске линије објекта на другу. Овај ток
порука резултира позивом методе на објекту пријемнику. Поруке се обично
приказују слева надесно. Повремено поруке могу ићи и здесна налево - у
зависности од тога која је метода активирана у класи. Oбјекат који прима
поруку за деловање има врх стрелице поруке.
13. Дијаграми језика UML–дијаграм секвенци
4.
28.07.2025 П13: 4/32
13.2.Нотација дијаграма секвенци
Иако се поруке обично шаљу са једне временске линије објекта на другу,
оне могу бити послате и од стране објекта самом себи. У том случају,
користи се нотација само-поруке, као што је приказано на слици.
Слика приказује и повратну поруку, представљену испрекиданом
стрелицом, да би се назначило да је одговор на поруку дат. Овај одговор
допуњује оригиналну поруку. Упаривање поруке и њене повратне поруке
обично се моделира у простору решења.
Асинхроне поруке указују да објекат који шаље не мора да чека одговор
од објекта који прима пре него што настави са следећом поруком у низу.
Полустрелица показује асинхрону поруку.
Нормална стрелица поруке се користи за приказивање креирања објекта.
Али повремено постоји потреба да се прикаже уништавање (брисање)
објеката. Ово је приказано знаком „X“ на крају временске линије објекта
који се брише. Ова нотација указује да је објекат уклоњен из меморије.
Документација везана за поруке може се дати на левој страни (бочна
трака) дијаграма секвенце (означена као „кораци“ на слици), а напомене
се често користе у дијаграмима секвенци ради објашњења.
13. Дијаграми језика UML–дијаграм секвенци
5.
28.07.2025 П13: 5/32
13.2.Нотација дијаграма секвенци
Дијаграми секвенци су технички и много
детаљнијег дизајна.
На пример, формат поруке у дијаграму
секвенце у дизајну је следећи:
број-секвенце итерација-секвенце:
порука(аргументи): повратна-вредност
Порука у дијаграму секвенце која
одговара претходном формату биће
следећа:
1: getSchedule(DoctorID, Schedule): void
Алтернативно, распоред може бити
враћен поруком на следећи начин:
1: getSchedule(DoctorID): Schedule
13. Дијаграми језика UML–дијаграм секвенци