Dijagrami interakcije, suradnje i slijeda s primjerima
ล to je dijagram interakcije?
Dijagram interakcije koriste se u UML-u za uspostavljanje komunikacije izmeฤu objekata. Ne manipulira podacima povezanim s odreฤenim komunikacijskim putem. Dijagrami interakcije uglavnom se fokusiraju na prijenos poruka i na to kako te poruke ฤine jednu funkcionalnost sustava. Dijagrami interakcije dizajnirani su da pokaลพu kako ฤe objekti ostvariti posebne zahtjeve sustava. Kritiฤna komponenta u dijagramu interakcije je linija spasa i poruke.
Razni UML elementi obiฤno posjeduju dijagrame interakcije. Pojedinosti interakcije mogu se prikazati koriลกtenjem nekoliko oznaka kao ลกto su sekvencijski dijagram, vremenski dijagram, dijagram komunikacije/suradnje. Dijagrami interakcije biljeลพe dinamiฤko ponaลกanje bilo kojeg sustava.

Slijede razliฤite vrste dijagrama interakcije definirane u UML-u:
- Dijagram slijeda
- Dijagram suradnje
- Vremenski dijagram
Svrha sekvencijskog dijagrama u UML dijagram je vizualizacija slijeda protoka poruka u sustavu. Dijagram sekvenci u softverskom inลพenjerstvu prikazuje interakciju izmeฤu dvije linije ลพivota kao vremenski ureฤen slijed dogaฤaja.
Dijagram suradnje u UML-u naziva se i komunikacijski dijagram. Svrha dijagrama suradnje je naglasiti strukturalne aspekte sustava, tj. kako se povezuju razliฤite linije ลพivota u sustavu.
Vremenski dijagrami fokusiraju se na instancu u kojoj se poruka ลกalje s jednog objekta na drugi objekt.
Svrha dijagrama interakcije
Dijagrami interakcije pomaลพu vam da vizualizirate interaktivno ponaลกanje sustava. Dijagrami interakcije koriste se za predstavljanje naฤina na koji se jedan ili viลกe objekata u sustavu povezuju i meฤusobno komuniciraju.
Dijagrami interakcije fokusiraju se na dinamiฤko ponaลกanje sustava. Dijagram interakcije daje nam kontekst interakcije izmeฤu jedne ili viลกe linija ลพivota u sustavu.
In UML, dijagrami interakcije koriste se u sljedeฤe svrhe:
- Interakcijski dijagrami koriste se za promatranje dinamiฤkog ponaลกanja sustava.
- Interakcijski dijagram vizualizira komunikaciju i redoslijed prolaska poruka u sustavu.
- Dijagram modeliranja interakcije predstavlja strukturne aspekte razliฤitih objekata u sustavu.
- Interakcijski dijagram predstavlja ureฤeni slijed interakcija unutar sustava.
- Dijagram interakcije omoguฤuje vizualizaciju podataka u stvarnom vremenu putem UML-a.
- UML dijagrami interakcije mogu se koristiti za objaลกnjenje arhitekture objektno orijentiranog ili distribuiranog sustava.
Vaลพna terminologija
Dijagram interakcije sadrลพi linije ลพivota, poruke, operatore, invarijante stanja i ograniฤenja.
linija ลพivota
ลฝivotna linija predstavlja jednog sudionika u interakciji. Opisuje kako instanca odreฤenog klasifikatora sudjeluje u interakciji.
ลฝivotna linija predstavlja ulogu koju instanca klasifikatora moลพe imati u interakciji. Slijede razliฤiti atributi pojasa za spaลกavanje,
- Ime
- Koristi se za upuฤivanje na liniju ลพivota unutar odreฤene interakcije.
- Naziv pojasa za spaลกavanje nije obavezan.
- Tip
- To je naziv klasifikatora ฤiju liniju ลพivota predstavlja instanca.
- Selektor
- To je Booleov uvjet koji se koristi za odabir odreฤene instance koja zadovoljava zahtjev.
- Atribut selektora takoฤer nije obavezan.
Oznaka linije ลพivota objaลกnjena je u odjeljku o oznakama.
Poruke
Poruka je specifiฤna vrsta komunikacije izmeฤu dvije linije ลพivota u interakciji. Poruka ukljuฤuje sljedeฤe aktivnosti,
- Poruka o pozivu koja se koristi za pozivanje operacije.
- Poruka za stvaranje instance.
- Poruka za uniลกtavanje instance.
- Za slanje signala.
Kada ลพivotna linija primi poruku poziva, ona djeluje kao zahtjev za pozivanje operacije koja ima sliฤan potpis kao ลกto je navedeno u poruci. Kada linija spaลกavanja izvrลกava poruku, ona ima fokus kontrole. Kako interakcija napreduje tijekom vremena, fokus kontrole se pomiฤe izmeฤu razliฤitih linija ลพivota. Taj se pokret naziva tijek kontrole.
Slijede poruke koje se koriste u dijagramu interakcije sustava:
| Naziv poruke | Znaฤenje |
|---|---|
| Synchronozna poruka | Poลกiljatelj poruke ฤeka da primatelj vrati kontrolu nad izvrลกavanjem poruke. |
| Asinkrona poruka | Poลกiljatelj ne ฤeka na povrat od primatelja; umjesto toga, nastavlja izvrลกavanje sljedeฤe poruke. |
| Povratna poruka | Primatelj prethodne poruke vraฤa fokus kontrole poลกiljatelju. |
| Stvaranje objekta | Poลกiljatelj stvara instancu klasifikatora. |
| Uniลกtavanje objekta | Poลกiljatelj uniลกtava stvorenu instancu. |
| Pronaฤena poruka | Poลกiljatelj poruke je izvan opsega interakcije. |
| Izgubljena poruka | Poruka nikad ne stigne do odrediลกta i gubi se u interakciji. |
Invarijante stanja i ograniฤenja
Kada instanca ili ลพivotna linija primi poruku, moลพe uzrokovati promjenu stanja. Stanje je stanje ili situacija tijekom ลพivotnog vijeka objekta u kojem on zadovoljava neko ograniฤenje, izvodi neke operacije i ฤeka na neki dogaฤaj.
U dijagramu interakcije, ne uzrokuju sve poruke promjenu stanja instance. Neke poruke nemaju vrijednosti nekih atributa. Nema nuspojava na stanje objekta.
Operahumka
Operator specificira operaciju kako ฤe se operandi izvrลกiti. Operatori u UML-u podrลพavaju operacije nad podacima u obliku grananja kao i iteracije. Mogu se koristiti razliฤiti operatori kako bi se osigurala uporaba iteracije i grananja u UML modelu. Operatori opt i alt koriste se za operacije grananja. Operator petlje koristi se za osiguravanje operacija ponavljanja u kojima se uvjet ponavlja sve dok se ne proizvede zadovoljavajuฤi rezultat. Operator prekida koristi se unutar petlje ili operacija ponavljanja. Osigurava da se petlja prekida kad god se naiฤe na break operator. Ako uvjet prekida nije naveden, tada se petlja izvrลกava beskonaฤan broj puta, ลกto rezultira ruลกenjem programa.
Slijede operatori koji se koriste u dijagramu interakcije:
| Operahumka | Ime | Znaฤenje |
|---|---|---|
| Opt | opcija | Operand se izvrลกava ako je uvjet istinit. npr. Ako inaฤe |
| drugo | Alternativa | Izvrลกava se operand ฤiji je uvjet istinit. npr. prekidaฤ |
| Petlja | Petlja | Koristi se za ponavljanje instrukcije za odreฤeno razdoblje. |
| Razbiti | Razbiti | Prekida petlju ako je uvjet istinit ili laลพan i izvrลกava se sljedeฤa instrukcija. |
| Ref | Upuฤivanje | Koristi se za oznaฤavanje druge interakcije. |
| Par | Paralelno | Svi operandi se izvode paralelno. |
ponavljanje
U dijagramu interakcije takoฤer moลพemo prikazati iteraciju pomoฤu iteracijskog izraza. Izraz iteracije sastoji se od specifikatera iteracije i opcijske klauzule iteracije. Ne postoji unaprijed specificirana sintaksa za UML ponavljanje.
U iteraciji koja pokazuje da se poruke ลกalju paralelno, koristi se specifikator paralelne iteracije. Specifikator paralelne iteracije oznaฤen je sa *//. Iteracija u UML-u postiลพe se koriลกtenjem operatora petlje.
grananje
U dijagramu interakcije moลพemo prikazati grananje dodavanjem zaลกtitnih uvjeta porukama. Zaลกtitni uvjeti koriste se za provjeru moลพe li se poruka poslati naprijed ili ne. Poruka se ลกalje naprijed samo kada je njezin zaลกtitni uvjet istinit. Poruka moลพe imati viลกe zaลกtitnih uvjeta ili viลกe poruka moลพe imati isti zaลกtitni uvjet. Grananje u UML-u postiลพe se uz pomoฤ alt i opt, operatora.
Ovo su neki od najvaลพnije terminologije koriลกtene u UML dijagramu interakcije.
Vrste dijagrama interakcije i oznake
Slijede razliฤite vrste dijagrama interakcije definirane u UML-u:
- Dijagram slijeda
- Dijagram suradnje
- Vremenski dijagram
Osnovna oznaka interakcije je pravokutnik s peterokutom u gornjem lijevom kutu pravokutnog okvira.
ล to je sekvencijski dijagram?
A Dijagram sekvenci jednostavno prikazuje interakciju izmeฤu objekata u sekvencijalnom redoslijedu. Svrha dijagrama sekvenci u UML-u je vizualizacija sekvence toka poruka u sustavu. Dijagram sekvenci prikazuje interakciju izmeฤu dvije linije ลพivota kao vremenski ureฤen slijed dogaฤaja.
- Dijagram sekvence prikazuje implementaciju scenarija u sustavu. ลฝivotne linije u sustavu sudjeluju tijekom izvoฤenja sustava.
- U dijagramu sekvenci, linija ลพivota je predstavljena okomitom trakom.
- Tijek poruka izmeฤu dva ili viลกe objekata predstavljen je okomitom toฤkastom linijom koja se proteลพe preko dna stranice.
- U dijagramu sekvenci koriste se razliฤite vrste poruka i operatora koji su gore opisani.
- U dijagramu sekvenci takoฤer se koriste ponavljanje i grananje.

Gornji dijagram sekvenci sadrลพi oznake ลพivotne linije i notacije razliฤitih poruka koje se koriste u dijagramu sekvenci kao ลกto su kreiranje, odgovor, asinkrona poruka itd.
Primjer dijagrama slijeda
Sljedeฤi primjer dijagrama slijeda predstavlja McDonald'sov sustav naruฤivanja:

Poredani slijed dogaฤaja u datom dijagramu sekvenci je sljedeฤi:
- Naruฤite.
- Uplatite novac na blagajni.
- Potvrda narudลพbe.
- Priprema narudลพbi.
- Naruฤite posluลพivanje.
Ako promijenite redoslijed operacija, to moลพe dovesti do ruลกenja programa. Takoฤer moลพe dovesti do generiranja netoฤnih rezultata ili rezultata s greลกkama. Svaka sekvenca u gore danom dijagramu sekvence oznaฤena je razliฤitim tipom poruke. Ne moลพe se koristiti ista vrsta poruke za oznaฤavanje svih interakcija u dijagramu jer to stvara komplikacije u sustavu.
Morate biti oprezni pri odabiru oznake poruke za bilo koju odreฤenu interakciju. Oznaka mora odgovarati odreฤenom nizu unutar dijagrama.
Prednosti dijagrama sekvenci
- Dijagrami sekvenci koriste se za istraลพivanje bilo koje stvarne aplikacije ili sustava.
- Dijagrami sekvenci koriste se za predstavljanje toka poruka od jednog objekta do drugog objekta.
- Dijagrame sekvenci lakลกe je odrลพavati.
- Dijagrame sekvenci lakลกe je generirati.
- Dijagrami sekvenci mogu se lako aลพurirati u skladu s promjenama unutar sustava.
- Dijagram sekvence omoguฤuje obrnuto kao i naprijed inลพenjering.
Nedostaci sekvencijskog dijagrama
- Dijagrami sekvenci mogu postati sloลพeni kada je u sustav ukljuฤeno previลกe linija ลพivota.
- Ako se promijeni redoslijed slijeda poruka, proizvodi se netoฤni rezultati.
- Svaka sekvenca mora biti predstavljena razliฤitim zapisom poruke, ลกto moลพe biti malo sloลพeno.
- Vrsta poruke odreฤuje vrstu sekvence unutar dijagrama.
ล to je dijagram suradnje?
Dijagram suradnje prikazuje odnose i interakcije meฤu softverskim objektima. Koriste se za razumijevanje arhitekture objekta unutar sustava, a ne za tok poruke kao u dijagramu sekvenci. Takoฤer su poznati kao "komunikacijski dijagrami".
Prema objektno orijentiranom programiranju (OOPs), objektni entitet ima razliฤite atribute povezane s njim. Obiฤno postoji viลกe objekata prisutnih unutar objektno orijentiranog sustava gdje se svaki objekt moลพe povezati s bilo kojim drugim objektom unutar sustava. Dijagrami suradnje koriste se za istraลพivanje arhitekture objekata unutar sustava. Tijek poruka izmeฤu objekata moลพe se prikazati pomoฤu dijagrama suradnje.
Prednosti dijagrama suradnje
- Naziva se i komunikacijskim dijagramom.
- Naglaลกava strukturne aspekte dijagrama interakcije โ kako se linija ลพivota povezuje.
- Sintaksa mu je sliฤna sintaksi sekvencijskog dijagrama osim ลกto linija ลพivota nema repove.
- Redoslijed proslijeฤenih poruka oznaฤen je hijerarhijskim brojevima svake poruke.
- U usporedbi s dijagramom sekvenci komunikacijski dijagram je semantiฤki slab.
- Objektni dijagrami su poseban sluฤaj komunikacijskog dijagrama.
- Omoguฤuje vam da se usredotoฤite na elemente umjesto da se fokusirate na tijek poruke kao ลกto je opisano u dijagramu slijeda.
- Dijagrami sekvenci mogu se lako pretvoriti u dijagram suradnje jer dijagrami suradnje nisu jako izraลพajni.
- Tijekom modeliranja dijagrama suradnje u odnosu na dijagrame sekvenci, neke se informacije mogu izgubiti.

Gornja notacija dijagrama suradnje sadrลพi linije ลพivota zajedno s konektorima, samopetljama, porukama naprijed i nazad koje se koriste u dijagramu suradnje.
Nedostaci dijagrama suradnje
- Dijagrami suradnje mogu postati sloลพeni kada je u sustavu prisutno previลกe objekata.
- Teลกko je istraลพiti svaki objekt unutar sustava.
- Dijagrami suradnje oduzimaju puno vremena.
- Objekt se uniลกtava nakon zavrลกetka programa.
- Stanje objekta se trenutaฤno mijenja, ลกto oteลพava praฤenje svake pojedine promjene koja se dogodi unutar objekta sustava.
Primjer dijagrama suradnje
Sljedeฤi dijagram predstavlja slijed nad sustavom upravljanja studentima:
Gornji dijagram suradnje predstavlja sustav upravljanja informacijama o studentima. Tijek komunikacije u gornjem dijagramu dan je,
- Student traลพi prijavu putem sustava za prijavu.
- Mehanizam provjere autentiฤnosti softvera provjerava zahtjev.
- Ako studentski unos postoji u bazi podataka, tada je pristup dopuลกten; inaฤe se vraฤa pogreลกka.
ล to je vremenski dijagram?
Vremenski dijagram je valni oblik ili grafikon koji se koristi za opisivanje stanja ลพivotne linije u bilo kojem trenutku. Koristi se za oznaฤavanje transformacije objekta iz jednog oblika u drugi oblik. Vremenski dijagram ne sadrลพi oznake koje su potrebne u dijagramu slijeda i suradnje. Tijek izmeฤu softverskog programa u razliฤitim instancama vremena predstavljen je pomoฤu valnog oblika.
- To je pravilan prikaz interakcija koji se fokusira na specifiฤna vremena poruka poslanih izmeฤu razliฤitih objekata.
- Vremenski dijagrami se koriste za objaลกnjenje detaljne vremenske obrade odreฤenog objekta.
- Vremenski dijagrami se koriste za objaลกnjenje kako se objekt mijenja unutar svog ลพivotnog vijeka.
- Vremenski dijagrami se uglavnom koriste s distribuiranim i ugraฤenim sustavima.
- U UML-u, vremenski dijagrami se ฤitaju slijeva nadesno u skladu s nazivom ลพivotne linije specificirane na lijevom rubu.
- Vremenski dijagrami se koriste za predstavljanje razliฤitih promjena koje se s vremena na vrijeme dogaฤaju unutar linije ลพivota.
- Vremenski dijagrami koriste se za grafiฤki prikaz razliฤitih stanja ลพivotne linije po jedinici vremena.
- UML nudi razliฤite oznake za pojednostavljenje prijelaznog stanja izmeฤu dvije linije ลพivota po jedinici vremena.
Primjer vremenskog dijagrama
Vremenski dijagram dan u nastavku predstavlja nekoliko faza a ลพivotni ciklus razvoja softvera.
U gornjem dijagramu, prvo softver prolazi kroz fazu zahtjeva, zatim dizajna i kasnije fazu razvoja. Izlaz prethodne faze u tom danom trenutku vremena daje se drugoj fazi kao ulaz. Stoga se vremenski dijagram moลพe koristiti za opisivanje SDLC-a (ลพivotni ciklus razvoja softvera) u UML-u.
Prednosti vremenskog dijagrama
- Vremenski dijagrami se koriste za predstavljanje stanja objekta u odreฤenom trenutku vremena.
- Vremenski dijagram omoguฤuje obrnuto kao i naprijed inลพenjering.
- Vremenski dijagram se moลพe koristiti za praฤenje svake promjene unutar sustava.
Nedostaci vremenskog dijagrama
- Teลกko je razumjeti vremenske dijagrame.
- Teลกko je odrลพavati vremenske dijagrame.
Kako nacrtati dijagram interakcije?
Interakcijski dijagrami koriste se za predstavljanje interaktivnog ponaลกanja sustava. Dijagrami interakcije fokusiraju se na dinamiฤko ponaลกanje sustava. Dijagram interakcije daje nam kontekst interakcije izmeฤu jedne ili viลกe linija ลพivota u sustavu.
Da biste nacrtali dijagram interakcije, prvo morate odrediti scenarij za koji morate nacrtati dijagram interakcije. Nakon ลกto odluฤite o situaciji, identificirajte razliฤite linije ลพivota koje ฤe biti ukljuฤene u interakciju. Kategorizirajte sve elemente ลพivotne linije i istraลพite ih kako biste identificirali moguฤe veze i kako su ลพivotne linije meฤusobno povezane. Za crtanje dijagrama interakcije potrebno je sljedeฤe:
- Ukupan broj linija ลพivota koje ฤe biti dio interakcije
- je slijed protoka poruka unutar razliฤitih objekata sustava.
- Razni operatori za olakลกavanje funkcionalnosti dijagrama interakcije.
- Razne vrste poruka za jasniji i precizniji prikaz interakcije.
- Ureฤeni niz poruka.
- Organizacija i struktura objekta.
- Razne vremenske konstrukcije objekta.
Koriลกtenje dijagrama interakcije
Dijagrami interakcije sastoje se od dijagrama sekvenci, dijagrama suradnje i vremenskih dijagrama. Slijedi specifiฤna svrha dijagrama interakcije:
- Dijagrami sekvenci koriste se za istraลพivanje bilo koje stvarne aplikacije ili sustava.
- Dijagrami interakcije koriste se za istraลพivanje i usporedbu upotrebe slijeda, suradnje i vremenskih dijagrama.
- Interakcijski dijagrami koriste se za biljeลพenje ponaลกanja sustava. Prikazuje dinamiฤku strukturu sustava.
- Dijagrami sekvenci koriste se za predstavljanje toka poruka od jednog objekta do drugog objekta.
- Dijagrami suradnje koriste se za razumijevanje objektne arhitekture sustava, a ne za protok poruka.
- Interakcijski dijagrami koriste se za modeliranje sustava kao vremenski ureฤenog niza dogaฤaja.
- Dijagrami interakcija koriste se u obrnutom i u naprijed inลพenjerstvu.
- Dijagrami interakcija koriste se za organiziranje strukture interaktivnih elemenata.
Rezime
- Interakcije su jednostavno jedinice ponaลกanja klasifikatora.
- Kritiฤni elementi u dijagramu interakcije su linija spasa i poruke.
- Dijagrami interakcije uglavnom se fokusiraju na prijenos poruka.
- Dijagrami interakcije biljeลพe dinamiฤko ponaลกanje bilo kojeg sustava.
- Dijagram interakcije sadrลพi dijagram sekvenci, vremenski dijagram, dijagram komunikacije/suradnje.
- UML dijagram sekvence sluลพi za vizualizaciju sekvence toka poruka u sustavu.
- Svrha dijagrama suradnje je naglasiti strukturne aspekte.
- Vremenski dijagrami fokusiraju se na instancu u kojoj se poruka ลกalje s jednog objekta na drugi objekt.
