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.
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.
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:
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.
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.
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.
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.
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.
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.
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.
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:
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.
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 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.
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.
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.
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.
Vrijedi spomenuti nekoliko prednosti koje razlikuju UML dijagram korištenja od ostalih:
Unatoč činjenici da se konstrukcija UML dijagrama razlikuje u masi svojih prednosti, često se kritiziraju zbog sljedećih nedostataka:
Dakle, upotreba ovog jezika nije relevantna u svim situacijama.