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.

Dijagram interakcije
Oznaฤavanje dijagrama interakcije

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,

  1. Ime
    1. Koristi se za upuฤ‡ivanje na liniju ลพivota unutar odreฤ‘ene interakcije.
    2. Naziv pojasa za spaลกavanje nije obavezan.
  2. Tip
    1. To je naziv klasifikatora ฤiju liniju ลพivota predstavlja instanca.
  3. Selektor
    1. To je Booleov uvjet koji se koristi za odabir odreฤ‘ene instance koja zadovoljava zahtjev.
    2. 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,

  1. Poruka o pozivu koja se koristi za pozivanje operacije.
  2. Poruka za stvaranje instance.
  3. Poruka za uniลกtavanje instance.
  4. 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.
Dijagram sekvenci
Oznake u dijagramu sekvenci

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:

Dijagram sekvenci
Dijagram slijeda McDonald'sovog sustava naruฤivanja

Poredani slijed dogaฤ‘aja u datom dijagramu sekvenci je sljedeฤ‡i:

  1. Naruฤite.
  2. Uplatite novac na blagajni.
  3. Potvrda narudลพbe.
  4. Priprema narudลพbi.
  5. 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.

Oznake dijagrama suradnje
Oznake dijagrama suradnje

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:

Dijagram suradnje

Dijagram suradnje za sustav upravljanja studentima

Gornji dijagram suradnje predstavlja sustav upravljanja informacijama o studentima. Tijek komunikacije u gornjem dijagramu dan je,

  1. Student traลพi prijavu putem sustava za prijavu.
  2. Mehanizam provjere autentiฤnosti softvera provjerava zahtjev.
  3. 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.

Vremenski dijagram

Primjer vremenskog dijagrama

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:

  1. Ukupan broj linija ลพivota koje ฤ‡e biti dio interakcije
  2. je slijed protoka poruka unutar razliฤitih objekata sustava.
  3. Razni operatori za olakลกavanje funkcionalnosti dijagrama interakcije.
  4. Razne vrste poruka za jasniji i precizniji prikaz interakcije.
  5. Ureฤ‘eni niz poruka.
  6. Organizacija i struktura objekta.
  7. 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.

Saลพmite ovu objavu uz: