UML dijagram. UML dijagrami

20. 3. 2019.

UML dijagram je specijalizirani grafički opisni jezik namijenjen objektnom modeliranju u razvoju različitih programa. Ovaj jezik ima široki profil i otvoreni je standard u kojem se za kreiranje apstraktnog modela koriste različiti grafički simboli. UML je stvoren kako bi osigurao definiranje, vizualizaciju, dokumentaciju, kao i dizajn raznih softverskih sustava. Valja napomenuti da sam UML dijagram nije programski jezik, nego također pruža mogućnost generiranja zasebnog koda na temelju njega.

Zašto je to potrebno?

Korištenje UML-a ne završava simulacijom svih vrsta softvera. Također, ovaj se jezik i danas aktivno koristi za modeliranje različitih poslovnih procesa, vođenje dizajna sustava i prikaz organizacijskih struktura.

Uz pomoć UML-a, razvijatelji softvera mogu pružiti potpuni dogovor u grafičkoj notaciji koja se koristi za predstavljanje uobičajenih pojmova kao što su: komponenta, generalizacija, klasa, ponašanje i agregacija. Time se postiže veći stupanj koncentracije na arhitekturu i dizajn.

Također je vrijedno spomenuti da postoji nekoliko vrsta takvih dijagrama.

Dijagram razreda

dijagram stanja uml

UML dijagram je statički strukturni dijagram koji opisuje strukturu sustava, kao i demonstrira atribute, metode i ovisnosti između nekoliko različitih klasa.

Važno je napomenuti da postoji nekoliko stajališta o izradi takvih dijagrama, ovisno o tome kako će se oni koristiti:

  • Idejno. U ovom slučaju, dijagram klase UML-a opisuje model određenog predmetnog područja i daje samo klase aplikacijskih objekata.
  • Specifična. Dijagram se koristi u procesu projektiranja različitih informacijskih sustava.
  • Ostvariva. Dijagram klase uključuje sve vrste klasa koje se izravno koriste u programskom kodu.

Dijagram komponenti

uml grafikon

UML komponentni dijagram je potpuno statički strukturni dijagram. Namjera mu je demonstrirati podjelu određenog softverskog sustava na različite strukturne komponente, kao i veze između njih. UML dijagram komponenti kao takav može koristiti sve vrste modela, knjižnice, datoteke, pakete, izvršne datoteke i mnoge druge elemente.

Kompozitna / kompozitna struktura grafikona

UML dijagram kompozitne / kompozitne strukture također je statički strukturni dijagram, ali se koristi za prikaz unutarnje strukture klasa. Ako je moguće, ovaj dijagram također može pokazati interakciju elemenata koji su u unutarnjoj strukturi klase.

Podtip od njih je UML-dijagram suradnje koji se koristi kako bi se prikazale uloge, kao i interakcija različitih klasa unutar granica suradnje. Oni su prilično prikladni ako želite simulirati obrasce dizajna.

Treba napomenuti da se tipovi dijagrama UML klase i kompozitne strukture mogu koristiti istovremeno.

Tablica raspoređivanja

dijagram aktivnosti uml

Ovaj dijagram se koristi za modeliranje radnih čvorova, kao i svih vrsta artefakata koji su razmješteni na njima. U UML 2, artefakti su razmješteni na različitim čvorovima, dok su u prvoj verziji razmještene samo komponente. Stoga se UML-dijagram primjene koristi prvenstveno za drugu verziju.

Izražena ovisnost se stvara između artefakta i komponente koju implementira.

Objektni dijagram

Ovaj prikaz vam omogućuje da vidite potpuni ili djelomični snimak sustava koji se kreira u određenom trenutku. On u potpunosti prikazuje sve instance klasa određenog sustava s trenutnim vrijednostima njihovih parametara, kao i odnosima između njih.

Dijagram paketa

uml dijagram slučaja upotrebe

Ovaj dijagram je strukturalan, a njegov glavni sadržaj su sve vrste paketa, kao i odnos između njih. U ovom slučaju ne postoji teška podjela između nekoliko strukturnih dijagrama, zbog čega se njihova upotreba najčešće nalazi isključivo radi praktičnosti, i sama po sebi ne nosi nikakvo semantičko značenje. Važno je napomenuti da različiti UML dijagrami mogu dati različite elemente (primjeri: sami paketi i dijagrami paketa).

Njihova upotreba se provodi kako bi se osigurala organizacija nekoliko elemenata u skupine na specifičnoj osnovi kako bi se pojednostavila struktura, kao i organizirao rad s modelom ovog sustava.

Tablica aktivnosti

dijagram komponenti uml

Dijagram UML aktivnosti prikazuje dekompoziciju određene aktivnosti na nekoliko dijelova. U ovom slučaju, pojam "aktivnost" odnosi se na specifikaciju specifičnog izvršnog ponašanja u obliku paralelnog, kao i koordinirano sekvencijalno izvršavanje različitih podređenih elemenata - ugniježđeni tipovi aktivnosti i različite akcije kombinirane od izlaza iz određenog čvora do ulaza drugog.

Dijagram UML aktivnosti često se koristi za modeliranje različitih poslovnih procesa, paralelnih i sekvencijalnih izračuna. Osim toga, oni simuliraju različite tehnološke postupke.

Grafički stroj

Ovaj pogled se naziva i nešto drugačije - UML dijagram stanja. Ona ima državni stroj s jednostavnim i složenim stanjima, kao i prijelaze.

Konačni državni stroj je specifikacija niza različitih stanja kroz koja određeni objekt prolazi ili interakcija kao odgovor na određene događaje u svom životu, kao i odgovor objekta na takve događaje. Stanje stroj koji koristi UML dijagram stanja dodijeljen je izvornom elementu i koristi se za određivanje ponašanja njegovih instanci.

Takozvane zmajeve sheme mogu se koristiti kao analozi takvih dijagrama.

Koristite dijagrame slučaja

dijagram sekvenci uml

Dijagram slučaja upotrebe UML predstavlja sve odnose koji se pojavljuju između sudionika, kao i različite slučajeve uporabe. Njegova je glavna zadaća implementirati cjelovito sredstvo kojim će kupac, krajnji korisnik ili neki programer moći zajednički raspravljati o ponašanju i funkcionalnosti određenog sustava.

Ako se dijagram slučaja upotrebe UML-a koristi u procesu modeliranja sustava, analitičar će:

  • Jasno razdvojite simulirani sustav od njegove okoline.
  • Identificirajte aktere, njihovu interakciju s ovim sustavom, kao i njegovu očekivanu funkcionalnost.
  • Postavite u pojmovniku kao predmetno područje različitih koncepata koji se odnose na detaljan opis funkcionalnosti ovog sustava.

Ako je u UML-u razvijen dijagram korištenja, postupak započinje tekstualnim opisom koji se dobiva radom s klijentom. Istodobno je vrijedno spomenuti i činjenicu da su različiti nefunkcionalni zahtjevi u procesu izrade modela presedana potpuno izostavljeni, te će za njih biti formiran poseban dokument.

komunikacija

Dijagram komunikacije, kao i UML dijagram sekvenci, je tranzitivan, to jest, izražava interakciju, ali istodobno to pokazuje na različite načine, a ako je potrebno s potrebnim stupnjem točnosti, možete pretvoriti jedno u drugo.

Dijagram komunikacije odražava interakcije koje se događaju između različitih elemenata složene strukture, kao i uloge suradnje. Njegova glavna razlika od dijagrama sekvenci je to što jasno pokazuje odnose između nekoliko elemenata, a vrijeme se ne koristi kao zasebno mjerenje.

Ovaj tip se razlikuje po apsolutno slobodnom formatu za organiziranje nekoliko objekata i veza na isti način kao što se radi u objektnom dijagramu. Ako postoji potreba za održavanjem redoslijeda poruka u ovom slobodnom formatu, provodi se njihovo kronološko numeriranje. Čitanje ovog dijagrama počinje s početnom porukom 1.0, a zatim nastavlja u smjeru u kojem se poruke prenose s jednog objekta na drugi.

Većina ovih dijagrama pokazuje točno iste informacije koje daje dijagram sekvenci, ali budući da koristi drugačiji način prezentiranja informacija, postaje mnogo lakše identificirati određene stvari na jednom dijagramu nego na drugom. Također je važno napomenuti da komunikacijski dijagram jasno pokazuje koji elementi svaki pojedinačni element stupa u interakciju, dok dijagram sekvenci jasno pokazuje redoslijed u kojem se događaju interakcije.

Dijagram sekvenci

dijagram uml razreda

Dijagram UML sekvence pokazuje interakcije između nekoliko objekata, koji su poredani prema vremenu u kojem se pojavljuju. Na takvom grafikonu prikazuje se vremenski određena interakcija između nekoliko objekata. Konkretno, on prikazuje sve objekte koji su uključeni u interakciju, kao i kompletan slijed poruka koje razmjenjuju.

Glavni elementi u ovom slučaju su oznake raznih objekata, kao i vertikalne linije koje predstavljaju prolaz vremena i pravokutnika, osiguravajući aktivnost određenog objekta ili izvedbu funkcije od njega.

Tablica suradnje

Ova vrsta dijagrama omogućuje vam da demonstrirate interakciju između nekoliko objekata, apstrahirajući od niza emitiranih poruka. Ova vrsta dijagrama u kompaktnom obliku odražava u sebi apsolutno sve poslane i primljene poruke određenog objekta, kao i formate tih poruka.

S obzirom na činjenicu da su dijagrami slijeda i komunikacije jednostavno drugačiji pogled na iste postupke, Rational Rose pruža mogućnost kreiranja niza dijagrama iz komunikacije ili obrnuto, te također izvodi njihovu potpuno automatsku sinkronizaciju.

Grafikoni pregleda interakcija

To su UML dijagrami koji se odnose na različite dijagrame aktivnosti i uključuju i elemente sekvence i konstrukte kontrolnog toka.

Važno je napomenuti da ovaj format kombinira suradnju i dijagram sekvenci, koji pružaju mogućnost iz različitih točaka gledanja na razmatranje interakcije između nekoliko objekata u sustavu koji se stvara.

Grafikon sinkronizacije

To je alternativna verzija dijagrama sekvenci, koja eksplicitno pokazuje promjenu stanja na liniji života s određenom vremenskom skalom. To može biti vrlo korisno u raznim aplikacijama u stvarnom vremenu.

Koje su prednosti?

Vrijedi spomenuti nekoliko prednosti koje razlikuju UML dijagram korištenja od ostalih:

  • Jezik je objektno orijentiran, što je posljedica toga da su tehnologije za opis rezultata provedenih analiza i dizajna semantički bliske metodama programiranja u svim vrstama objektno-orijentiranih jezika suvremenog tipa.
  • Uz pomoć ovog jezika sustav se može opisati sa gotovo svih mogućih gledišta, a različiti aspekti njegovog ponašanja opisani su na isti način.
  • Svi dijagrami se relativno lako čitaju čak i nakon relativno brzog upoznavanja s njegovom sintaksom.
  • UML vam omogućuje da proširite i uvedete vlastite grafičke i tekstualne stereotipe, što pridonosi njegovoj uporabi ne samo u softverskom inženjerstvu.
  • Jezik je postao vrlo raširen i razvija se vrlo aktivno.

mane

Unatoč činjenici da se konstrukcija UML dijagrama razlikuje u masi svojih prednosti, često se kritiziraju zbog sljedećih nedostataka:

  • Redundancija. U velikoj većini slučajeva, kritičari kažu da je UML prevelik i složen, i često je to neopravdano. Uključuje dosta suvišnih ili gotovo beskorisnih konstrukcija i dijagrama, a najčešće se kritika odnosi na drugu verziju, a ne na prvu verziju, jer u novijim revizijama postoji veći broj kompromisa “koje je razvio odbor”.
  • Različite netočnosti u semantici. Iz razloga što je UML definiran kombinacijom samog sebe, engleskog i OCL-a, nedostaje mu krutost koja je svojstvena jezicima koji su precizno definirani tehnikom formalnog opisa. U određenim situacijama, apstraktna sintaksa OCL-a, UML-a i engleskog počinje se proturječiti, dok su u drugim slučajevima nepotpuni. Netočnost opisa samog jezika jednako se odražava i na korisnike i na dobavljače alata, što u konačnici dovodi do nekompatibilnosti alata zbog jedinstvenog načina interpretacije različitih specifikacija.
  • Problemi u procesu provedbe i proučavanja. Svi gore navedeni problemi stvaraju određene poteškoće u procesu implementacije i proučavanja UML-a, a to je osobito istinito kada menadžment inženjere prisiljava da ga prisilno koriste, dok im nedostaju preliminarne vještine.
  • Kôd odražava kod. Drugo mišljenje je da važnost nema lijepih i atraktivnih modela, već samih radnih sustava, tj. Kod je projekt. Prema tom mišljenju, potrebno je razviti učinkovitiji način pisanja softvera. UML se obično vrednuje u pristupima koji kompiliraju modele za regeneraciju izvršnog ili izvornog koda. No, u stvari, to možda nije dovoljno, jer na ovom jeziku nema Turingovih svojstava cjelovitosti, a svaki generirani kod će u konačnici biti ograničen na ono što UML alat za tumačenje može preuzeti ili definirati.
  • Neslaganje učitavanja Ovaj pojam je izveden iz teorije sistemske analize kako bi se odredila nesposobnost nekog ulaza pojedinog sustava da opazi različit izlaz. Kao i kod bilo koje standardne oznake, UML može predstavljati neke sustave učinkovitije i konciznije od drugih. Tako je programer sklon rješenjima koja su ugodnija za preplitanje svih prednosti UML-a, kao i drugih programskih jezika. Taj je problem očitiji ako jezik razvoja nije u skladu s osnovnim načelima objektno orjentirane ortodoksne doktrine, odnosno ne nastoji raditi u skladu s načelima OP-a.
  • Pokušava biti univerzalna. UML je jezik za modeliranje opće namjene koji pokušava osigurati kompatibilnost s bilo kojim postojećim jezikom obrade. U kontekstu određenog projekta, kako bi dizajnerski tim postigao krajnji cilj, potrebno je odabrati primjenjive mogućnosti ovog jezika. Osim toga, mogući načini ograničavanja opsega korištenja UML-a u određenom području prolaze kroz formalizam, koji nije u potpunosti artikuliran, ali koji je i sam predmet kritike.

Dakle, upotreba ovog jezika nije relevantna u svim situacijama.