You are on page 1of 23

PROJEKTOVANJE

INFORMACIONIH SISTEMA
Nastavna jedinica 31.
UML dijagrami
Šta će se naučiti?

• UML dijagrami.
• Vrste UML dijagrama.
• Statički UML dijagrami klasa, objekata, komponenti, paketa,
raspoređivanja i složene strukture.
• Dinamički UML dijagrami slučajeva upotrebe ili use case dijagrami
i dijagrami aktivnosti.
• Dijagrami interakcije, dijagrami sekvenci, dijagrami komunikacije,
• Opšti mehanizmi UML-a: specifikacije, notacije (ukrasi), opšte
podele i mehanizmi proširivosti.
www.its.edu.rs
Ishodi učenja
Nakon ove nastavne jedinice bićete u stanju da :
- definišete šta predstavlja UML dijagram,
- navedete vrste UML dijagrama,
- nabrojite vrste statičkih UML dijagrama,
- definišete pojmove dijagrama klasa, objekata, komponenti, paketa,
raspoređivanja i složene strukture,
- nabrojite vrste dinamičkih UML dijagrama,
- definišete pojmove dijagrama slučajeva upotrebe ili use case dijagrama i
dijagrama aktivnosti,
- nabrojite dijagrame interakcije,
- definišete pojmove dijagrama sekvenci i dijagrama komunikacije,
- navedete mehanizme UML-a,
- definišete pojmove specifikacije, notacije (ukrasi), opšte podele i mehanizme
proširivosti.
www.its.edu.rs
UML dijagrami
• Dijagram je grafička prezentacija skupa elemenata, najčešće prikazanih
kao povezani grafovi vertikala (elementi) i lukova (relacije). Dijagrami se
crtaju kako bi se vizualizovao sistem iz različitih perspektiva, pa je
dijagram neka vrsta projekcije sistema. Za gotovo sve sisteme, dijagrami
predstavljaju poboljšani prikaz elemenata koji čine sistem.
• Sledi šema koja slikovito pokazuje opis dijagrama.
• Vrste dijagrama u UML-u:
– dijagrami za prikaz statičkih aspekata sistema,
– dijagrami za prikaz dinamičkih aspekata sistema.
UML dijagrami - statički
• Dijagrami klasa prikazuju interakciju između klasa koje postoje u sistemu. Ove
dijagrame uglavnom koriste inženjeri zaduženi za razvoj sistema.
UML dijagrami - statički
• Dijagrami objekata su veoma slični dijagramima klasa s tim da
se ovde prikazuju konkretni objekti ili instance klasa i njihove
relacije.
• Dijagram komponenti predstavljaju fizički pogled na model kao
i softverske komponente koje postoje u sistemu kao i veze
između njih. Ove dijagrame uglavnom koriste razni alati za
generisanje koda prilikom određivanja redosleda kompajliranja
pojedinih komponenti sistema.
UML dijagrami - statički
• Dijagrami paketa služe za logičko grupisanje klasa i komponenata
modela i prikazivanje veza između tih grupa. Ovi dijagrami su
posebno bitni za velike projekte koji mogu uključivati hiljade pa čak i
desetine hiljada klasa.
• Dijagrami raspoređivanja predstavljaju fizički pogled na sistem i
prikazuju strukturu računarske mreže i mesta na kojima će se
smestiti komponente sistema.
• Dijagrami složene strukture služe za dekompoziciju složenih klasa u
hijerarhijske strukture, čime se dobija na jednostavnosti modela.
Ovaj tip dijagrama je predstavljen u UML 2 verziji.
UML dijagrami - dinamički
• Dijagrami slučajeva upotrebe ili
popularnije use case dijagrami
predstavljaju najbolji način za
prikazivanje interakcije između
korisnika i sistema. Ovi dijagrami
svoju primenu nalaze u komunikaciji
između projektnog tima i korisnika,
ali i unutar projektnog tima radi
savladavanja nejasnoća u
razumevanju postojećeg sistema ili
projektovanju novog sistema.
UML dijagrami - dinamički
• Dijagrami aktivnosti prikazuju tok funkcionalnosti u sistemu.
Ovi dijagrami definišu gde počinje tok procesa, gde se
završava, koje se aktivnosti u njemu odvijaju i u kom
redosledu. Aktivnost je zadatak koji se obavlja u toku procesa.
Dijagrami interakcije (1)
• Dijagrami sekvenci su veoma
slični dijagramima komunikacije,
ali umesto naglaska na
porukama, ovde se interakcije
između objekata prikazuju u
odnosu na vremenske sekvence.
Dijagrami prikazuju funkcionalni
tok procesa kroz neki od
konkretnih slučajeva upotrebe.
Dijagrami interakcije (2)
• Dijagrami komunikacije su u prvoj, zvaničnoj verziji UML-a predstavljeni pod
imenom dijagrami kolaboracije. Ovi dijagrami prikazuju interakciju između
objekata ali sa naglaskom na vezama, odnosno porukama koje se razmenjuju
između objekata.
Dijagrami interakcije (3)
• Dijagrami pregleda interakcije su predstavljeni u UML 2.0
verziji standarda i predstavljaju svojevrsnu mešavinu dijagrama
sekvenci i dijagrama aktivnosti koja u određenim slučajevima
može naći svoju praktičnu primenu.
• Vremenski dijagrami su još jedan tip dijagrama uvedenih u
UML 2.0 verziji i prikazuju vremenska ograničenja između
promena stanja različitih objekata. Dijagrami su veoma korisni
za projektovanje u elektronici, konstrukciji hardvera i sl.
Dijagrami mašine stanja
• Dijagrami mašine stanja prikazuju stanja objekta, odnosno kako
događaji menjaju objekte tokom vremena. Za razliku od dijagrama
klasa koji prikazuju statičku sliku sistema, klasa i relacija, dijagrami
stanja se koriste za modelovanje dinamike sistema.
Opšti mehanizmi UML-a
• Modele u UML-u je jednostavnije praviti ukoliko se koriste četiri
opšta mehanizma:
– specifikacije,
– notacije (ukrasi),
– opšte podele, i
– mehanizmi proširivosti.
Specifikacije
• Iza svakog dela grafičke notacije UML-a leži specifikacija
koja obezbeđuje tekstualni iskaz sintakse i semantike tog gradivnog
bloka.
• Iza ikone klase stoji specifikacija koja navodi:
– potpun skup atributa,
– potpun skup operacija (uključujući kompletne potpise), i
– ponašanje.
• Ikona može pokazivati samo mali deo potpune specifikacije.
• Može postojati i drugi izgled iste klase koji prikazuje drugi skup
delova iste klase konzistentan sa specifikacijom.
Notacija
• Detalji specifikacije se prikazuju kao grafička ili tekstualna
notacija osnovnog grafičkog elementa.
• Na primer:
– za klasu se može naglasiti da je apstraktna tako što se ime piše italic
slovima,
– vidljivost (pravo pristupa) atributa i operacija se može naglasiti pomoću
simbola:
+ (javni), # (zaštićeni), – (privatni) i ~(paketni)
– agregacija se predstavlja dodatnim simbolom
na simbolu asocijacije.
Opšte podele
• Dve osnovne podele:
– apstrakcije i instance,
– interfejsi i implementacije.
• Primeri prve podele:
– klase/objekti (klasa je apstrakcija, a objekat instanca te apstrakcije),
– slučajevi korišćenja/instance slučajeva korišćenja (scenarija), i
– komponente/instance komponenti.
• Primeri druge podele:
– interfejsi/komponente (interfejs je deklarisan ugovorom,
a implementacija je konkretna primena tog ugovora),
– slučajevi korišćenja/kolaboracije (slučaj korišćenja se realizuje u saradnji), i
– operacije/metodi (operacija se implementira pomoću metode).
• U UML-u se razlika između apstrakcije i instance pravi tako što se imena instanci podvlače
Mehanizmi proširivosti
• UML je otvoren za proširenja jezika na kontrolisani način.
• Mehanizmi proširivosti uključuju:
– stereotipove,
– obeležene vrednosti, i
– ograničenja.
Stereotipi
• Stereotip proširuje rečnik UML-a dopuštajući kreiranje novih vrsta
gradivnih blokova specifičnih za problem.
• Novi gradivni blokovi su izvedeni iz postojećih.
• Može se definisati i slikovni simbol za određeni stereotip.
• Npr. stereotipovi definisani u procesu kreiranja klasa jesu granične
(boundary), kontrolne (control) i entitet (entity) klase.
Katalog kurseva
(fro m 3 En ti ty kl a se )
pronadji k urs

prijavi k urs

Forma za prijavu kursa Prijavljivanje kursa


(fro m 1 Bo u nd a ry kl a se ) (fro m 2 Co n tro l kl ase )

Prijavljeni kurs
(fro m 3 En ti ty kl a se )
Obeležene vrednosti
• Obeležene vrednosti proširuju osobine UML gradivnog bloka
dopuštajući dodavanje nove informacije.
• Obeležene vrednosti se prikazuju kao string unutar vitičastih
zagrada { i } ispod imena odgovarajućeg elementa.
• String sadrži ime (tag), seperator (simbol =) i vrednost
• Na primer, verzija i autor klase nisu primitivni koncepti u UML-u,
a mogu se dodati bilo kom gradivnom bloku kao što je klasa.
RedCekanja
{verzija=4.0
autor=...}
Ograničenja
• Ograničenja proširuju semantiku UML gradivnog bloka dopuštajući da
se dodaju nova pravila ili promene postojeća. Prikazuju se kao string
unutar vitičastih zagrada.
• Ograničenja se mogu pisati:
– kao slobodan tekst,
– na OCL jeziku (Object Constraint Language).
RedCekanja
{ ordered}
dodaj()
ukloni()
isprazni()
Pitanja za proveru znanja (1)
• Navedite osnovnu podelu UML dijagrama.
Vrste dijagrama u UML-u:
– dijagrami za prikaz statičkih aspekata sistema,
– dijagrami za prikaz dinamičkih aspekata sistema.

• Nabrojte vrste statičkih UML dijagrama.


– dijagrami klasa, objekata, komponenti, paketa, raspoređivanja i
složene strukture.

You might also like