You are on page 1of 7

UML

1. UVOD
ta je UML, zbog ega nam je potreban, kako je nastao i zato ga ba ja moram znati, samo su neka od pitanja na koja kroz ovaj tekst traimo odgovor. Upoznavajui UML, shvatiete da je vizuelno modelovanje prisutno u svim domenima ivota. Saznaete zbog ega je UML potreban i koliko je ba on znaajan za brzinu izrade nekog programa ili projekta. Kako je UML tema o kojoj postoji veoma mnogo literature, te se o samom UML-u moe mnogo rei, ovaj tekst e biti samo jedan mali deo koji e, nadamo se uspeno, uspeti da doara onaj najvaniji deo; zainteresovati budueg programera i dati odgovor na pitanje: Zato UML?

2. UVOD U UML
Primarni cilj svake proizvodne firme jeste da izbaci na trite to kvalitetniji proizvod. Osim kvaliteta samog proizvoda, cilj firme je da automatizuje proizvodnju, te omogui to laku i bru izradu proizvoda, ime osim kvaliteta, postie i niu cenu. Taj nain razmiljanja i organizovanja sprovoenja takvog plana kao rezultat ima kvalitetan i brz proboj na trite. U zadnjih dvadeset godina, procvatom informatike industrije, otvorilo se veliko trite za sposobne i kvalitetne ljude. To je uticalo da se pojavi veliki broj firmi koje se bave izradom programske podrke. Na tritu su mogle opstati samo one firme koje su se mogle nositi sa zahtevima trita. Svi su traili najbri i najlaki nain da bi svoj proizvod izbacili na trite pre konkurencije. Podela rada pri razvoju programa, kreiranje plana izrade softvera, zatim plana samog izlaska na trite, dalo je najbolje reenje za ostvarivanje cilja programerskih firmi. Stvaranje nekog projekta moe se posmatrati kroz tri globalne faze: -uoavanje problema (zadavanje zadatka koji moramo da uradimo) -teoretsko pronalaenje metoda reenja problema -najboljom metodom koju smo pronali, reiti problem Pomou ovog globalnog stvaranja projekta moemo posmatrati razvoj programske podrke. Ako elimo da napravimo program u C-u koji e izraunati kvadratnu jednainu, potrebno je zadati kvadratnu jednainu, znati kako se reava, zatim znati kako se programira u C-u. -zadavi kvadratnu jednainu, zadajemo problem koji treba reiti -ako je znamo reiti, u glavi imamo nain reavanja kvadratne jednaine -programiranje u C-u nam daje mogunost da ono to smo zakljuili implementiramo u ovaj programski jezik. Konstrukcija kvadratne jednaine u glavi, pre nego to dobijeni zadatak ukucamo u kd, je u stvari modelovanje. Ako je zadatak koji trebamo da reimo neto sloeniji od kvadratne jednaine, potrebno je sve to staviti na papir. Napravimo pseudo kd i dijagram toka. Posmatrajui dalje sve sloenije zadatke, ija realizacija prelazi okvire mogunosti jednog oveka, javlja se potreba za timskim radom, potrebno je neto to moe zameniti i proiriti dijagram toka. Tu stupa na snagu UML.

2.1. ta je UML?
Kao odgovor na ovo pitanje pojavljuje se standardna definicija UML-a. UML ili Unified Modeling Language je grafiki jezik za vizueliziranje, specificiranje, konstruisanje i dokumentovanje sistema programske podrke koji je postavljen kao standard od OMG-a. Ako malo fleksibilnije elimo to da objasnimo moramo naglasiti da UML nije programski jezik, to je grafiki jezik. Njime nije samo mogue modelovati neki program, ve je mogue pratiti razvoj neke graevine, izraditi plan uzgajanja voa u vonjaku itd. UML predstavlja kolekciju najboljih uspenih inenjerskih metoda kojima je, iskustveno dokazano, pojednostavljeno modelovanje velikih i sloenih sistema. Ako napravimo poreenje izmeu graevinara i programera, moemo rei da je UML standardizovani jezik za izradu nacrta programa. Postoji sedam ciljeva kojima UML kao jezik tei: 1. 2. 3. 4. 5. 6. 7. Pruiti korisniku brz jezik za vizuelno modelovanje kojim e moi u relativno kratkom vremenu napraviti i razmenjivati modele sa odreenim znaenjem. Pruiti korisniku mogunost proirenja i stvaranja specijalizovanih delova. Biti nezavisan od programskih jezika i razvojnih procesa Pruiti formalne osnove za razumevanje jezika za modelovanje Podsticanje rasta i razvoja objektno orijentisanih programskih jezika Podrka visoko pozicioniranih razvojnih pojmova kao to su saradnja, okvirni rad, uzorci i komponente Integrisanje i nadopunjavanje praktinim iskustvom. UML je razvijen sa ciljem da pojednostavi veliki broj objektno orijentisanih razvojnih metoda.

3. STRUKTURA UML-a
Da bi lake razumeli ta je UML i emu slui moramo znati od ega se on sastoji. UML se sastoji od niza pogleda na arhitekturu (Architectural Views) koji zavise od problema i reenja, a dele se na: Pogled korienja (use case view) Logiki pogled (logical view) Pogled paralelnog rada (concurrency view) Pogled na komponente (component view) Pogled postavljanja (deployment view)

Pogled korienja -pokazuje problem i reenje onako kako ga vide oni koji postavljaju problem. Logiki pogled pokazuje strukturnu dimenziju problema i reenja Pogled paralelnog rada pokazuje dimenziju ponaanja problema i reenja, a naziva se jo i dinamiki pogled.

Pogled na komponente pokazuje strukturu i ponaanje realizacije reenja, a naziva se jo i razvojni pogled. Pogled postavljanja pokazuje strukturu i ponaanje domena u kome je reenje ostvareno, a naziva se jo i fiziki pogled ili pogled na razmetaj. Svaki od ovih pogleda opisan je pomou UML dijagrama. Njih postoji devet, a svaki pogled je opisan sa jednim ili vie dijagrama. UML dijagram je grafika prezentacija skupa elemenata. Dijagrami se crtaju kako bi se vizuelizirao sistem iz razliitih perspektiva. Za gotovo sve sisteme, osim onih vrlo jednostavnih, dijagrami predstavljaju poboljani prikaz elemenata koji ine sistem. Isti elementi mogu se pojaviti u svim dijagramima. Teoretski, dijagram moe sadravati bilo koju kombinaciju stvari i relacija u modelu. U praksi, meutim, samo se mali broj kombinacija pojavljuje, i one su konzistentne sa pet najkorisnijih pogleda koje smo prethodno nabrojali. UML dijagrami: 1. 2. 3. 4. 5. 6. 7. 8. 9. -Dijagram sluajeva koritenja (use case diagram) -Dijagram klasa (class diagrams) -Dijagram objekata (object diagrams) -Dijagram redosleda (sequence diagrams) -Dijagram saradnje (collaboration diagrams) -Dijagram stanja (statechart diagrams) -Dijagram aktivnosti (activity diagrams) -Dijagram komponenti (component diagrams) -Dijagram postavljanja (deployment diagrams)

Meutim da bi mogli da razumemo zato slue svi ovi dijagrami i ta oni znae moramo da vidimo od ega se sastoje. UML se sastoji od dva tipa gradivnih blokova i samih dijagrama, elemenata i relacija.

3.1. Elementi
Elementima modela predstavljaju se standardni objektno orijentisani koncepti (klase, objekti, poruke) UML ima etiri vrste elemenata: - Strukturalne elemente (structural things) - Elemente sa ponaanjem (behavioural things) - Grupiue elemente (grouping things) - Oznaavajue elemente (annotational things)

3.1.1 Strukturalni elementi


Predstavljaju statike delove modela i elemente koji su ili konceptualni ili fiziki. Osnovni strkturni tipovi su klasa, interfejs, uesnik, sluaj korienja, komponenta i vor. KLASA predstavlja skup objekata koji dele iste atribute, operacije, relacije i semantiku.

Klasa INTERFEJS (interface) je kolekcija operacija koja specifira usluge neke klase ili komponente. To je skup poruka koji se moe poslati klasi i ne ukljuuje implementaciju tih operacija. Interfejs se oznaava krugom i njegovim imenom, nikada nee stajati sam ve e biti vezan uz neku klasu ili komponentu koja ga realizuje.

Interfejs UESNIK (actor) je spoljanji krajnji korisnik

Uesnik SLUAJ KORIENJA (use case) Prikazuje jednu funkciju sistema kako je vidi spoljanji uesnik (actor). To je skup sukcesivnih dogaaja koje sistem izvodi kako bi dobio neki rezultat.

Sluaj korienja KOMPONENTA (component) je fiziki deo sistema koji je saglasan sa skupom interfejsa i prua njihovu realizaciju.

Komponenta VOR (node) je fiziki element koji postoji pri radu sistema i predstavlja raunarski resurs. Obino ima neku memoriju i procesne mogunosti. Skup komponenti moe da bude smeten na jednom voru, a moe da se premesti sa jednog na drugi vor.

vor

3.1.2 Elementi ponaanja


Ovaj skup elemenata predstavlja dinamiki deo UML modela. Postoje samo dva primarna tipa stvari ponaanja. To su interakcija i automat stanja. INTERAKCIJA (interaction) je ponaanje koje ukljuuje skup poruka koje se razmenjuju izmeu objekata. Interakcija ukljuuje i brojne druge elemente kao to su poruke, redosledi akcija (ponaanje pokrenuto porukom) i veze izmeu objekata. Grafiki, poruka je predstavljena kao linija sa strelicom u jednom smeru i najee ukljuuje i ime operacije.

Interakcija AUTOMAT STANJA (state machine) je ponaanje koje opisuje niz stanja kroz koja prolazi objekt ili interakcija u toku svog ivota. Stanje se grafiki predstavlja pravougaonikom zaobljenih temena.

Automat stanja

3.1.3 Grupiui elementi


Grupiui elementi predstavljaju organizacijski deo UML modela. To su kutije u koje se moe razloiti UML model. Postoji samo jedan tip grupiuih stvari, a to su paketi (packages). PAKET (package) slui za organizovanje elemenata u grupe. U paket se mogu smestiti strukturni elementi, elementi ponaanja pa i drugi grupiui elementi. Paket postoji samo za vreme razvoja, dok za vreme izvoenja ne postoji.

Paket

3.1.4 Elementi oznaavanja


Elementi oznaavanja odnose se na deo UML modela za objanjenja. To su komentari koji opisuju, rasvetljavaju, i uvode napomene i ogranienja o elementima modela. Osnovni element oznaavanja je beleka (note) koja se pridruuje elementu ili skupu elemenata.

Beleka

3.2. Relacije
UML ima tri osnovne vrste relacija: -Zavisnosti (dependency) - Asocijacije (association) -Generalizacije (generalization)

Zavisnost je semantika relacija izmeu dva elementa u kojoj promena jednog (nezavisnog) elementa moe da utie na semantiku drugog (zavisnog) elementa.

Zavisnost Asocijacija je strukturalna veza koja opisuje vezu izmeu objekata. Poseban sluaj asocijacije je agregacija, koja predstavlja strukturnu vezu celine i njenih delova.
1...* 1...*

Asocijacija

Agregacija Generalizacija (generalization), je relacija specijalizacije/generalizacije u kojoj objekti specijalizovanih elemenata (deca) se mogu zameniti objektima generalizovanih elemenata (roditelja). Na ovaj nain, deca dele strukturu ponaanje roditelja. Grafiki, relacija generalizacije se prikazuje kao puna linija sa upljom strelicom koja pokazuje prema roditelju.

Generalizacija

Pripremio Dragan Markovi

You might also like