1. 28.07.2025 П13: 1/32
13.3. Израда дијаграма секвенци
Повезивање дијаграма секвенци са дијаграмима класа
Дијаграми секвенци се не цртају изоловано. Дијаграми секвенци ажурирају и
обогаћују дијаграме класа нацртане раније у процесу дизајнирања. Постоји
међузависност између дијаграма класа и дијаграма секвенци. Сваки дијаграм
додаје вредност другом дијаграму. Основе пресликавања дијаграма секвенци на
дијаграм класа су приказане на слици.
13. Дијаграми језика UML–дијаграм секвенци
2. 28.07.2025 П13: 2/32
13.3. Израда дијаграма секвенци
Повезивање дијаграма секвенци са дијаграмима класа
На слици а), део дијаграма секвенци је приказан објектом aPatient:Patient. Класа која одговара овом
објекту је приказана на десној страни дијаграма: класа Patient. Дакле, да би дијаграм секвенци био
семантички значајан, неопходно је мапирати објекте у том дијаграму секвенци на одговарајуће класе у
дијаграму класа. Већина UML алата за моделирање олакшава ово мапирање приказивањем листе класа
које одговарају објекту у дијаграму секвенци нудећи дизајнеру избор класа. Ако класа која одговара
објекту креираном у дијаграму секвенци не постоји, онда алат за моделирање олакшава креирање те
класе.
Стога, дијаграм секвенци такође постаје механизам за идентификацију недостајућих класа. Може
постојати више дијаграма секвенци који одговарају дијаграму класа. То је зато што дијаграми секвенци
визуализују само једну одређену секвенцу (снимак), док дијаграми класа приказују класе које обрађују све
могуће секвенце.
13. Дијаграми језика UML–дијаграм секвенци
3. 28.07.2025 П13: 3/32
13.3. Израда дијаграма секвенци
Повезивање дијаграма секвенци са дијаграмима класа
Слика б) такође приказује поруку коју је примио објекат aPatient на следећи начин:
+checkPatientDetails(P_ID=101 , P_Details): Void
Метода која одговара претходној поруци је такође приказана у класи на десној страни слике б). Ово
мапирање указује да поруке приказане у дијаграму секвенци захтевају одговарајућу методу у дијаграму
класа. Штавише, пошто објекат који прима поруку (Pacijent) треба да буде способан да разуме поруку,
потребно је имати одговарајућу методу у класи која одговара објекту [тј. класа Pacijent мора имати
дизајнирану и кодирану методу checkPatientDetails()].
Стога, порука (која се појављује у дијаграмима секвенци) може се сматрати инстанцом методе (која се
појављује у дијаграмима класа).
13. Дијаграми језика UML–дијаграм секвенци
4. 28.07.2025 П13: 4/32
13.3. Израда дијаграма секвенци
Током анализе, дијаграм секвенци се може користити за представљање
интеракција документованих у случају употребе. Стога, почетни дијаграми
секвенци у анализи могу се цртати са само два објекта: актером и
системом, као што је приказано на слици под а). Сви додатни објекти
током анализе су дозвољени у дијаграму секвенци, али нису обавезни.
Такав дијаграм секвенци представља формат интеракције „актер –
систем“ који се користи у документовању случајева употребе.
13. Дијаграми језика UML–дијаграм секвенци
5. 28.07.2025 П13: 5/32
13.3. Израда дијаграма секвенци
Слика под б) показује како дијаграми секвенци на нивоу дизајна не могу
имати систем као објекат који прима поруку. Уместо тога, потребно је
навести „који део система“ је одговоран за примање, а затим слање
порука. Не мора само један објекат aDoctor примати поруку – може
постојати сарадња објеката који примају поруке, обрађују их и шаљу
назад, као део детаљне секвенце.
13. Дијаграми језика UML–дијаграм секвенци
6. 28.07.2025 П13: 6/32
13.3. Израда дијаграма секвенци
Разумевање фокуса контроле и повратне поруке
Слика приказује важан аспект дијаграма секвенци који је специфичан у
простору решења. Овде је приказан објекат Patient како шаље поруку –
getSchedule() – објекту Doctor. Међутим, временска линија испод објекта
Patient је задебљана након те поруке. То значи да објекат aPatient сада
„контролише“ интеракције.
13. Дијаграми језика UML–дијаграм секвенци
7. 28.07.2025 П13: 7/32
13.3. Израда дијаграма секвенци
Разумевање фокуса контроле и повратне поруке
Друга порука коју шаље објекат aPatient је getAvailable(). Упркос томе што
ову другу поруку шаље aPatient, контрола и даље остаје код објекта
aPatient. То значи да ће систем чекати да aPatient заврши свој низ порука
и преда своју контролу пре него што се поруке из других објеката могу
послати или примити.
13. Дијаграми језика UML–дијаграм секвенци
8. 28.07.2025 П13: 8/32
13.3. Израда дијаграма секвенци
Разумевање фокуса контроле и повратне поруке
Друга порука, getAvailable() је такође упарена са својим одговором –
доступношћу – приказаним повратном стрелицом. Ово је стрелица
повратне поруке. Није обавезно приказивати ову повратну вредност јер у
већини случајева сама порука подразумева повратну вредност унутра.
Такође, када постоји фокус контроле на временској линији, подразумева
се да фокус остаје док позивајући објекат не прими смислену повратну
вредност.
На крају свих ових порука, getSchedule() добија смислен одговор - било у
својој листи параметара или у повратној вредности. Тек након завршетка
целог низа порука, фокус контроле на објекту aPatient се ослобађа, а
временска линија се враћа у нормалу.
13. Дијаграми језика UML–дијаграм секвенци
9. 28.07.2025 П13: 9/32
13.3. Израда дијаграма
секвенци
Креирање и уништавање објекта
Слика приказује моделирање две
друге важне функције у дијаграму
секвенце - креирање и уништавање
објекта. На слици је креирање
објекта приказано стрелицама
порука које директно показују на
објекат (за разлику од временске
линије објекта). Стрелица поруке
која показује на објекат имплицира
да је временска линија објекта
почела – другим речима, објекат је
настао у систему у том тренутку
(објекат је креиран).
13. Дијаграми језика UML–дијаграм секвенци
10. 28.07.2025 П13: 10/32
13.3. Израда дијаграма
секвенци
Креирање и уништавање објекта
Друга важна нотација приказана на
слици је деструктор. То је „X“
приказано на крају временске линије
и за aPatient објекат и
за :PatientForm објекат.
Деструктор означава брисање
објекта из меморије. Важно је
брисати објекте током извршавања
система јер би у супротном објекти
остављени у систему без сврхе
могли да наставе да користе
меморију и потенцијално оштете
систем.
13. Дијаграми језика UML–дијаграм секвенци