Professional Documents
Culture Documents
Lekcija 3 - UML
Lekcija 3 - UML
UML
Pregled
1 Uvod
2 Osnovni pojmovi
3 Gradivni blokovi
4 Opšta sredstva
5 Relacije
6 Dijagrami
1. Uvod
• IS je složen proizvod
• U drugim granama ljudske djelatnosti složeni
sistemi se ne izgrađuju ad-hoc principom
– Prvo se izradi i analizira model sistema
• Model je pojednostavljena slika realnog sistema
– Izrađuje se sa ciljem analize i dokumentovanja sistema
– Može da olakša komunikaciju među članovima tima
1. Uvod
2. Osnovni pojmovi
• OO programiranje
– Vladajuća metodologija
• Sredinom devedesetih nekoliko timova je radilo
na razvijanju jezika koji će omogućiti
modelovanje OO sistema
• Stvoren je Unified Modeling Language (UML)
kao unifikovani jezik za modelovanje OO sistema
• Definicija:
“UML je standardizovan jezik za opis softverskih
sistema. Koristi se za vizuelizaciju, specificiranje,
konstruisanje i dokumentovanje softverski
intezivnih sistema”
2002 Prentice Hall. All rights reserved.
5
2. Osnovni pojmovi
2. Osnovni pojmovi
2. Osnovni pojmovi
3. Gradivni blokovi
• Gradivni blokovi
– Opšta sredstva
– Relacije
– Dijagrami
• Opšta sredstva
– Strukturna opšta sredstva
– Opšta sredstva za opis ponašanja
– Grupišuća opšta sredstva
– Anotaciona opšta sredstva
3. Gradivni blokovi
4. Opšta sredstva
4. Opšta sredstva
Clan
ime
prezime
loguje se()
4. Opšta sredstva
• Interfejs
– Skup operacija koje predstavljaju servis neke klase
4. Opšta sredstva
• Društvo saradnika
– Ima svoj strukturni dio i dinamički dio
– Strukturni dio se odnosi na klase, intrerfejse, itd.
– Dinamički dio određuje ponašanje društva saradnik
• Modeluje se dijagramima interakcije
• Korisničke funkcije (use cases)
– Služe za opis ponašanja sistema s korisničke tačke gledišta
– Odnose se samo na jedan sistem i ne posmatra se interna
struktura sistema
– Korisnička funkcija predstavlja skup sekvenci akcija koje se
izvršavaju i rezultat tog izvršavanja je značajan za korisnika
4. Opšta sredstva
4. Opšta sredstva
4. Opšta sredstva
• Komponenta
– Predstavlja izmjenjivi dio sistema koji realizuje neke
interfejse.
– Često predstavlja fizičku realizaciju logički vezanih
elemenata kao što su klase,interfejsi i dr.
4. Opšta sredstva
• Čvor je
– Fizički element koji predstavlja računarski resurs
– U opštem slučaju ima memoriju i mogućnost procesiranja
– Jedna ili više komponenti može se nalazi u čvoru
– Komponente mogu da se šetaju od čvora do čvora
4. Opšta sredstva
4. Opšta sredstva
• Konačni automat
– Opisuje ponašanje koje specifikuje niz stanja kroz koje
objekat prolazi u toku svog životnog ciklusa
– Stanje se grafički prikazuje pravougaonikom sa zaobljenim
krajevima u kome je napisan naziv stanja
4. Opšta sredstva
4. Opšta sredstva
5. Relacije
5. Relacije
• Zavisnost
– Veza između dva elementa modela koja označava da
implementacija jednog elementa zahtijeva prisustvo drugog
– Element modela može biti klasa interfejs ili paket
– Element od kojeg polazi usmjerena linija je zavistan dok
element na drugom kraju je nezavisan
– Ovom vezom se definiše da izmjena u implementaciji
nezavisnog elementa utiče na implementaciju zavisnog
elementa
5. Relacije
• Zavisnost
– Najčešće, ova veza označava da jedna klasa koristi drugu
kao argument funkcije
5. Relacije
• Generalizacija
– Opisuje nasljeđivanje između klasa
5. Relacije
• Asocijacija
– Specifikuje semantičku povezanost između objekata dva
opšta sredstva
– Ako su dvije klase povezane vezom asocijacije to znači da je
moguće pristupiti objektima jedne preko objekata druge
– Klasa može da bude povezana sama sa sobom i to je
rekurzivna asocijacija
– Moguće je vezi pridružiti ime i smjer
5. Relacije
• Asocijacija
– Pored imena i smjer, moguće je i definisati uloge i
kardinalitet
5. Dijagrami
• Dijagrami
– Grafička reprezentacija skupa elemenata
– Graf
• Opšta sredstva su čvorovi
• Relacije predstavljaju ivice
– Vizuelizacija sistema iz različitih perspektiva
– U teoriji dijagrami mogu sadržati proizvoljne opšte stvari i
relacije
– U praksi postoji manji broj kombinacija koje se javljaju
nekoliko tipova dijagrama koji se koriste
5. Dijagrami
• Dijagrami
– Dijagrami klasa
– Objekni dijagram
– Dijagram korisničke funkcije (Use-case dijagrami)
– Dijagram sekvence
– Dijagram društva saradnika
– Dijagram stanja
– Dijagram aktivnosti
– Dijagram komponenti
– Dijagram implementacije
5. Dijagrami
• Dijagrami klasa
– Ovaj dijagram prikazuje skup klasa, interfejsa, društava
saradnika i njihove relacije(zavisnost,asocijacija i
agregacija)
– Dijagrami klasa služe za prikazivanje statičke strukture
sistema,tj za modelovanje rječnika sistema
– Može da sadrži pakete i podsisteme
– Statički
5. Dijagrami
• Dijagrami klasa
5. Dijagrami
• Objektni dijagrami
– Ovaj dijagram prikazuje
objekte i njihove relacije
– On predstavlja statičku
strukturu konkretnih
primjeraka koji se nalaze na
dijagramima klase
– Objekti su instance klase. U
toku trajanja programa kreiraju
se i uništavaju
– Objektni dijagram je na neki
način presjek stanja
5. Dijagrami
• Use-case dijagrami
– Prikazuju dinamičku strukturu sistema
– Važni su za modelovanje ponašanja sistema
– Prikazuju skup korisničkih funkcija, njihove realizatore kao i
relacije zavisnosti generalizacije, asocijacije
– Korisnički pogled na sistem
Stavi u Korpu
KupiKorpu
web user <<include>>
Loguj se
Izloguj se
5. Dijagrami
• Use-case dijagrami
– Koriste se za modelovanje konteksta u kojem se sistem
nalazi
• Identifikuju se korisnici sistema, kao i druge insitucije i
sistemi koji koriste naš sistem
– Modelovanje zahjeva
• Svaki zahtjev se moduje kao jedan use-case
5. Dijagrami
5. Dijagrami
• Dijagram sekvenci
– Dijagramom sekvenci je moguće prikazati komunikaciju
između skupa objekata koja se realizuje razmjenom poruka
između njih
– Na njemu se prikazuju dvije dimenzije:vertikalna koja
predstavlja vrijeme i horizontalna koja prestavlja objekte
– Ovako je moguće specificirati tok poruka koje objekti
razmjenjuju pri realizaciji neke operacije
– Akcenat je na sekvenci poruka, tj. na njihovom redosledu
– Na dijagramu su prikazani objekti i poruke koje razmjenjuju
u odgovarajućem redosledu i vremenskim intervalima
5. Dijagrami
show(int)
getTableList( )
5. Dijagrami
• Dijagrami saradnje
– Njime se takođe prikazuje interakcija objekata u sistemu
– Saradnja se prikazuje objektima i njihovim međusobnim
vezama
• Zapravo u pitanju je graf čiji su čvorovi objekti, a ivice su
interkcije izmeđ objekata. Ivicama se pridružuju dodatne
informacije od porukama koje se prosljeđuju između objekata
– Za razliku od dijagrama sekvence na dijagramu saradnje
naznačena je veza između objekata
– Dijagram saradnje predstavlja pojavu klasnog dijagrama i kao
takav saglasan je sa njim
– Porukama mogu biti dodijeljeni i redni brojevi
– Dodatne informacije o tome da li je u pitanju lokalni ili
globalni objekat itd.
2002 Prentice Hall. All rights reserved.
39
5. Dijagrami
5. Dijagrami
• Dijagrami stanja
– Modelovanje dinamičkog aspekta sistema
– U pitanju je konačan automat čiji su koncepti obogaćeni
pojmovima kao što su pseudostanje, završno stanje, složeno
stanje, složeni prelaz iz stanja u stanje
– Opisuju prostor stanja, tj. skup svih mogućih stanja u kojima
objekti date klase mogu da se nađu
• Događaji koji iniciraju prelazak iz jednog u drugo stanje, kao i
akcija koje su rezultat promjene stanja
– Stanje objekta je period vremena u kojem objekat
zadovoljava neki uslov, izvršava neku aktivnost, ili čeka
neki događaj
5. Dijagrami
5. Dijagrami
• Dijagrami aktivnosti
– Pridružuje se paketu, klasi, tj. implementaciji njene operacije
i opisuje akcije i aktivnosti koje se izvršavaju u okviru njih
– Stanje akcije
• Atomične operacije
– Stanje aktivnosti
• Mogu se dalje dekomponovati
• Imaju trajanje
– Grananja
– Konkurentno izvršavanje
5. Dijagrami