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 i Prezime
    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 i Prezime 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.

Dnevni bilten Guru99

Započnite dan s najnovijim i najvažnijim vijestima o umjetnoj inteligenciji koje vam donosimo upravo sada.