uml modeli i dijagrami
DESCRIPTION
UML Modeli i dijagrami. UML (Unified Modeling Language). UML ili Unified Modeling Language je grafički jezik (a ne programski jezik) za vizuelizaciju, specifikaciju, konstruisanje i dokumentovanje sistema programske podrške. Sluzi za:. UML Modeli i dijagrami. State Diagrams. State - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: UML Modeli i dijagrami](https://reader035.vdocuments.site/reader035/viewer/2022081417/568131de550346895d98463f/html5/thumbnails/1.jpg)
1
UML Modeli i dijagrami
![Page 2: UML Modeli i dijagrami](https://reader035.vdocuments.site/reader035/viewer/2022081417/568131de550346895d98463f/html5/thumbnails/2.jpg)
2
UML (Unified Modeling Language)
UML ili Unified Modeling Language je grafički jezik (a ne programski jezik) za vizuelizaciju, specifikaciju, konstruisanje i dokumentovanje sistema programske podrške
![Page 3: UML Modeli i dijagrami](https://reader035.vdocuments.site/reader035/viewer/2022081417/568131de550346895d98463f/html5/thumbnails/3.jpg)
3
Sluzi za:
![Page 4: UML Modeli i dijagrami](https://reader035.vdocuments.site/reader035/viewer/2022081417/568131de550346895d98463f/html5/thumbnails/4.jpg)
4
UML Modeli i dijagrami
Use CaseDiagramsUse CaseDiagramsDijagramislučajeva korišćenja
ScenarioDiagramsScenarioDiagramsDijagramikolaboracije
StateDiagramsStateDiagramsDijagramikomponenti
ComponentDiagramsComponentDiagramsDijagrami Rasporeda
StateDiagramsStateDiagramsDijagrami
objekata
ScenarioDiagramsScenarioDiagramsDijagrami
prelaza stanja
Use CaseDiagramsUse CaseDiagramsDijagrami
sekvenci
StateDiagramsStateDiagramsDijagrami
klasa
Dijagramiaktivnosti
Modeli
![Page 5: UML Modeli i dijagrami](https://reader035.vdocuments.site/reader035/viewer/2022081417/568131de550346895d98463f/html5/thumbnails/5.jpg)
5
I.Dijagrami slucajeva koriscenja
Opisuju funkcionalno ponasenje sistema sa nekim ili necim sto se naziva akter
![Page 6: UML Modeli i dijagrami](https://reader035.vdocuments.site/reader035/viewer/2022081417/568131de550346895d98463f/html5/thumbnails/6.jpg)
6
Usluga
Primer upotrebeAkter
Opsti elementi kod dijagrama slucajeva koriscenja
Veza »komunicira«asocijacija
«extend»
Veza »ukljucuje« ili »veza prosirenje «
Granice sistema
![Page 7: UML Modeli i dijagrami](https://reader035.vdocuments.site/reader035/viewer/2022081417/568131de550346895d98463f/html5/thumbnails/7.jpg)
7
Uopsteni primer dijagrama slucajeva koriscenja
sistem
Korisnik 1
Usluga 1
Usluga 2
Usluga 3
Korisnik 2
Usluga 4
Korisnik 3
Usluga 1.1
Usluga 1.2
«include»
«extend»
«include»
Primer use case dijagrama
![Page 8: UML Modeli i dijagrami](https://reader035.vdocuments.site/reader035/viewer/2022081417/568131de550346895d98463f/html5/thumbnails/8.jpg)
8
PRIMER SLUČAJA KORIŠĆENJA
BANKOVNI AUTOMAT
Podizanje novca
ulaganje
Prenos
Administracija
Komitent
Operater
Računarbanke
![Page 9: UML Modeli i dijagrami](https://reader035.vdocuments.site/reader035/viewer/2022081417/568131de550346895d98463f/html5/thumbnails/9.jpg)
9
ILUSTRACIJE VEZE <<include>>:
Provera kartice
Provera tajne{ifre
Kraj transakcije
Ulaganje
<<include>><<include>>
<<include>>
korisnik
![Page 10: UML Modeli i dijagrami](https://reader035.vdocuments.site/reader035/viewer/2022081417/568131de550346895d98463f/html5/thumbnails/10.jpg)
10
PRIMER VEZE <<extend>>
Provera karticeProvera tajne
{ifre
Kraj transakcije
Podizanje
<<include>><<include>>
<<include>>
Statistikaulaganjakorisnik
<<extend>>(uklju~i statistiku)
![Page 11: UML Modeli i dijagrami](https://reader035.vdocuments.site/reader035/viewer/2022081417/568131de550346895d98463f/html5/thumbnails/11.jpg)
11
Scenario za Use Case dijagram
Za svaki Use case:• Dati naziv Use Case• Dati kratak Opis• Nabrojati aktere• Definisati preduslove• Kratak opis posla• Nabrojati izuzetke• Opisati posledice
PRIMER SLUČAJA KORIŠĆENJA
BANKOVNI AUTOMAT
Podizanje novca
ulaganje
Prenos
Administracija
Komitent
Operater
Računarbanke
Use Case specifikacija
![Page 12: UML Modeli i dijagrami](https://reader035.vdocuments.site/reader035/viewer/2022081417/568131de550346895d98463f/html5/thumbnails/12.jpg)
12
PROBLEMI kod korišćenja Use Case
• U nekom složenom sistemu broj slučajeva korišćenja može da bude veoma veliki. Kako definisati taj skup slučajeva korišćenja?
• Dekompozicija funkcija?
![Page 13: UML Modeli i dijagrami](https://reader035.vdocuments.site/reader035/viewer/2022081417/568131de550346895d98463f/html5/thumbnails/13.jpg)
13
Zadatak 1. UseCase dijagram i specifikacija
• Nacrtati UseCase dijagram i napisati UseCase specifikaciju za scenario prijave ispita na Ekonomskom fakultetu
![Page 14: UML Modeli i dijagrami](https://reader035.vdocuments.site/reader035/viewer/2022081417/568131de550346895d98463f/html5/thumbnails/14.jpg)
14
Zadatak 1. (rešenje)
Stampanje
Student
Prijava ispita
Sluzbenik studentske sluzbe
Formiranje zapisnika o polaganju ispita
<<include>>
Za svaki Use case:Dati naziv Use CaseDati kratak OpisNabrojati aktereDefinisati predusloveKratak opis poslaNabrojati izuzetkeOpisati posledice
![Page 15: UML Modeli i dijagrami](https://reader035.vdocuments.site/reader035/viewer/2022081417/568131de550346895d98463f/html5/thumbnails/15.jpg)
15
Zadatak 1. (Prijava ispita)
• Use-case: Prijava ispita.• Kratak opis: Prijava ispita na osnovnim
studijama.• Akteri: Student, Službenik studentske službe…• Preduslovi: Student je odslušao predavanja,
odradio laboratorijske vežbe i predao projekat iz predmeta za koji se prijavljuje da polaže ispit.
![Page 16: UML Modeli i dijagrami](https://reader035.vdocuments.site/reader035/viewer/2022081417/568131de550346895d98463f/html5/thumbnails/16.jpg)
16
Zadatak 1. (Prijava ispita)
• Opis:1. Student popunjava prijavu (ime, prezime, predmet, ...).2. Službenik prima prijavu [izuzetak: pogrešni podaci u
prijavi].3. Službenik unosi podatke o prijavljenom ispitu u dosije
studenta na računaru.• Izuzetci:
– [Pogrešni podaci u prijavi] Prijava se vraća studentu da unese tačne podatke.
• Posledice: Student je evidentiran za polaganje ispita iz odgovarajućeg predmeta.
![Page 17: UML Modeli i dijagrami](https://reader035.vdocuments.site/reader035/viewer/2022081417/568131de550346895d98463f/html5/thumbnails/17.jpg)
17
Zadatak 1. (Formiranje zapisnika...)
• Use-case: Formiranje zapisnika o polaganju ispita.
• Kratak opis: Službenik prosleđuje zahtev za formiranje zapisnika o polaganju ispita na osnovu prijava studenata.
• Akteri: Službenik• Preduslovi: Završen rok za prijavu ispita.
![Page 18: UML Modeli i dijagrami](https://reader035.vdocuments.site/reader035/viewer/2022081417/568131de550346895d98463f/html5/thumbnails/18.jpg)
18
Zadatak 1. (Formiranje zapisnika...)• Opis:
1. Službenik inicira izvršavanje funkcije formiranja zapisnika o polaganju ispita.
2. Sistem prikazuje formu za unos predmeta za koji se formira zapisnik.
3. Službenik unosi predmet.4. Sistem formira zapisnik i inicira štampanje.5. Izvršava se niz akcija definisanih use-case-om
stampanje.• Izuzetci: -• Posledice: Zapisnik je formiran pre datuma
polaganja ispita.
![Page 19: UML Modeli i dijagrami](https://reader035.vdocuments.site/reader035/viewer/2022081417/568131de550346895d98463f/html5/thumbnails/19.jpg)
19
Zadatak 1. (Štampanje)
• Use-case: Štampanje• Kratak opis: Štampanje različitih dokumenata
(uverenja, zapisnika o polaganju ispita, ...)• Preduslovi: Štampač je uključen i povezan sa
računarom.
![Page 20: UML Modeli i dijagrami](https://reader035.vdocuments.site/reader035/viewer/2022081417/568131de550346895d98463f/html5/thumbnails/20.jpg)
20
Zadatak 1. (Štampanje)
• Opis:1. Sistem prosleđuje zahtev za štampanje dokumenta.2. a) Ukoliko je štampač slobodan, zahtev se prosleđuje
štampaču.3. b) Ukoliko nije, zahtev se stavlja na red čekanja, a kada
dođe na red on se prosleđuje štampaču.4. Kada zahtev stigne do štampača, dokument se štampa.
![Page 21: UML Modeli i dijagrami](https://reader035.vdocuments.site/reader035/viewer/2022081417/568131de550346895d98463f/html5/thumbnails/21.jpg)
21
Zadatak 1. (Štampanje)
• Izuzetci:– [Nema papira u štampaču] Neophodno je staviti
papir.– [Nema tonera] Neophodno je isključiti štampač i
promeniti toner, a zatim ponovo proslediti zahtev za štampanje dokumenta.
• Posledice: Kompletan dokument je odštampan.
![Page 22: UML Modeli i dijagrami](https://reader035.vdocuments.site/reader035/viewer/2022081417/568131de550346895d98463f/html5/thumbnails/22.jpg)
22
Koje informacije je dobio programer?
Sta je bolje SSA ili DSK? Zasto?
![Page 23: UML Modeli i dijagrami](https://reader035.vdocuments.site/reader035/viewer/2022081417/568131de550346895d98463f/html5/thumbnails/23.jpg)
23
GLAVNI CILJEVI USE CASE DIJAGRAMA (1)
• Komunikacija između korisnika i razvojnog tima• Odlučivanje i opisivanje funkcionalnih zahteva
sistema, što rezultira ugovorom između klijenta i tima za razvoj softverskog sistema
• Davanje jasnog i konzistentnog opisa šta bi sistem trebao da radi što obezbeđuje osnovu za sve naredne odluke koje se tiču dizajna sistema
• Osnova za verifikovanje sistema
![Page 24: UML Modeli i dijagrami](https://reader035.vdocuments.site/reader035/viewer/2022081417/568131de550346895d98463f/html5/thumbnails/24.jpg)
24
GLAVNI CILJEVI USE CASE DIJAGRAMA (2)• Korisnici sistema su zainteresovani za uvid u ove dijagrame jer isti opisuju funkcionalnost
sistema i načine na koje će se sistem koristiti
• Razvojnom timu su značajni kao stalni podsetnik šta bio sistem trebao da radi i osnova za dalji rad na projektu
• Timovima za integraciju i sistemsko testiranje use case dijagrami su bitni zbog provere i osiguravanja da sistem pruža sve dogovorene potrebne funkcionalnosti
![Page 25: UML Modeli i dijagrami](https://reader035.vdocuments.site/reader035/viewer/2022081417/568131de550346895d98463f/html5/thumbnails/25.jpg)
25
![Page 26: UML Modeli i dijagrami](https://reader035.vdocuments.site/reader035/viewer/2022081417/568131de550346895d98463f/html5/thumbnails/26.jpg)
26
![Page 27: UML Modeli i dijagrami](https://reader035.vdocuments.site/reader035/viewer/2022081417/568131de550346895d98463f/html5/thumbnails/27.jpg)
27
![Page 28: UML Modeli i dijagrami](https://reader035.vdocuments.site/reader035/viewer/2022081417/568131de550346895d98463f/html5/thumbnails/28.jpg)
28
![Page 29: UML Modeli i dijagrami](https://reader035.vdocuments.site/reader035/viewer/2022081417/568131de550346895d98463f/html5/thumbnails/29.jpg)
29
III.Dijagrami aktivnosti
Pokazuju tokove od aktivnosti do aktivnosti
![Page 30: UML Modeli i dijagrami](https://reader035.vdocuments.site/reader035/viewer/2022081417/568131de550346895d98463f/html5/thumbnails/30.jpg)
30
Opsti elementi kod dijagrama aktivnosti
Pocetak aktivnosti
Kraj aktivnosti
aktivnost
Sastavnica ili rastavnica
Rezultira dokumentom
![Page 31: UML Modeli i dijagrami](https://reader035.vdocuments.site/reader035/viewer/2022081417/568131de550346895d98463f/html5/thumbnails/31.jpg)
31
KONKRETNI PRIMER DIJAGRAMA AKTIVNOSTI
![Page 32: UML Modeli i dijagrami](https://reader035.vdocuments.site/reader035/viewer/2022081417/568131de550346895d98463f/html5/thumbnails/32.jpg)
32
KONKRETNI PRIMER DIJAGRAMA AKTIVNOSTI
![Page 33: UML Modeli i dijagrami](https://reader035.vdocuments.site/reader035/viewer/2022081417/568131de550346895d98463f/html5/thumbnails/33.jpg)
33
Primer br.1
• Dijagramom aktivnosti predstaviti aktivnosti koje objekat klase Student izvršava na kraju II semestra.
![Page 34: UML Modeli i dijagrami](https://reader035.vdocuments.site/reader035/viewer/2022081417/568131de550346895d98463f/html5/thumbnails/34.jpg)
34
Primer br.1. (opis)• Prva aktivnost koju student mora da izvrši jeste upis
prve godine. • Nakon upisa godine student pohađa predavanja i
vežbe iz više predmeta. Ove aktivnosti se izvršavaju konkurentno (paralelno).
• Po završetku nastave student mora da osvoji dovoljno poena. Ukoliko ima potrebne poene može da overi semestar, inače obnavlja godinu.
• Nakon overe semestra, ukoliko student zadovoljava uslove upisuje narednu godinu. U suprotnom, obnavlja godinu.
![Page 35: UML Modeli i dijagrami](https://reader035.vdocuments.site/reader035/viewer/2022081417/568131de550346895d98463f/html5/thumbnails/35.jpg)
35
Primer br 1. (rešenje)Upis godine
Predavanja Vezbe
Dobijanje potpisa
Overa semestra
Obnova godine
[dobio potpise][nije dobio potpise]
[ispunjen uslov upisa][nije ispunjen uslov upisa]
Sab.poena
Nema dovoljno ima dovoljno
![Page 36: UML Modeli i dijagrami](https://reader035.vdocuments.site/reader035/viewer/2022081417/568131de550346895d98463f/html5/thumbnails/36.jpg)
36
Namena dijagrama aktivnosti
• Dijagram aktivnosti sluzi za analiziranje slučajeva korištenja, opisujući koje aktivnosti se izvrsavaju i kada.
• Dijagram aktivnosti je – vizualni prikaz toka događaja– Opisuje početak slučaja korištenja– Opisuje što slučaj korištenja radi– Opisuje kako slučaj korištenja završava
![Page 37: UML Modeli i dijagrami](https://reader035.vdocuments.site/reader035/viewer/2022081417/568131de550346895d98463f/html5/thumbnails/37.jpg)
37
Korisnik Bankomat Banka
Ubaci karticu
Unesi PIN Autoriziraj
Unesi iznos/ Valjan PIN
Provjeri stanje računa
Stavi na račun
/ Račun >= Iznos
Uzmi novac
Prikaži stanje računa
Izbaci karticuUzmi karticu
/ Nevaljan PIN
/ Račun < Iznos
autorizacija
Primer br.2-dijagram aktivnosti za slucaj upotrebe podizanja i/ili uplate novca (koristeci plivacke staze-swimline)
![Page 38: UML Modeli i dijagrami](https://reader035.vdocuments.site/reader035/viewer/2022081417/568131de550346895d98463f/html5/thumbnails/38.jpg)
38
Zadaci za rad na casuZadatak br.1
a) Kreirati klasicni dijagram aktivnosti
b) Kreirati dijagram aktivnosti sa tzv. plivackim stazama
![Page 39: UML Modeli i dijagrami](https://reader035.vdocuments.site/reader035/viewer/2022081417/568131de550346895d98463f/html5/thumbnails/39.jpg)
39
a)
![Page 40: UML Modeli i dijagrami](https://reader035.vdocuments.site/reader035/viewer/2022081417/568131de550346895d98463f/html5/thumbnails/40.jpg)
40
b)
![Page 41: UML Modeli i dijagrami](https://reader035.vdocuments.site/reader035/viewer/2022081417/568131de550346895d98463f/html5/thumbnails/41.jpg)
41
Zadaci za rad na casuZadatak br.2
![Page 42: UML Modeli i dijagrami](https://reader035.vdocuments.site/reader035/viewer/2022081417/568131de550346895d98463f/html5/thumbnails/42.jpg)
42
![Page 43: UML Modeli i dijagrami](https://reader035.vdocuments.site/reader035/viewer/2022081417/568131de550346895d98463f/html5/thumbnails/43.jpg)
43
Zadaci za rad na casuZadatak br.3
![Page 44: UML Modeli i dijagrami](https://reader035.vdocuments.site/reader035/viewer/2022081417/568131de550346895d98463f/html5/thumbnails/44.jpg)
44
![Page 45: UML Modeli i dijagrami](https://reader035.vdocuments.site/reader035/viewer/2022081417/568131de550346895d98463f/html5/thumbnails/45.jpg)
45
IV.Dijagrami klasa
Pokazuju staticku strukturu sistema kroz: klase, njihovu strukturu, metode (funkcije nad klasom), atribute i veze medju njima
![Page 46: UML Modeli i dijagrami](https://reader035.vdocuments.site/reader035/viewer/2022081417/568131de550346895d98463f/html5/thumbnails/46.jpg)
46
Opsti elementi kod dijagrama klasa
Veza »komunicira«asocijacija
Veza »zavisnost« Veza »generalizuje« Veza »agregacija«
Brojnost:1 tacno jedan0..1 nula ili jedan0..* bilo koji broj1..* jedan ili vise0..1,3..5,6..*
Razred
- Atribut
+ Metoda
Granična klasa Poslovna klasa Kontrolna klasa
Veza »kompozicija«
![Page 47: UML Modeli i dijagrami](https://reader035.vdocuments.site/reader035/viewer/2022081417/568131de550346895d98463f/html5/thumbnails/47.jpg)
47
Primer za kupovinu racunara
![Page 48: UML Modeli i dijagrami](https://reader035.vdocuments.site/reader035/viewer/2022081417/568131de550346895d98463f/html5/thumbnails/48.jpg)
48
KONKRETAN PRIMER DIJAGRAMA KLASA
![Page 49: UML Modeli i dijagrami](https://reader035.vdocuments.site/reader035/viewer/2022081417/568131de550346895d98463f/html5/thumbnails/49.jpg)
49
Zadatak 1.
• Dijagramom klasa predstaviti pojednostavljen model fakulteta. Svaki student upisuje studije na jednom i samo jednom odseku, a odsek pripada jednom i samo jednom fakultetu.
• Detaljno opisati atribute klase student.
![Page 50: UML Modeli i dijagrami](https://reader035.vdocuments.site/reader035/viewer/2022081417/568131de550346895d98463f/html5/thumbnails/50.jpg)
50
Zadatak 1. (rešenje)
Fakultet Odsek
1..n1
Student
brojIndeksa : Integerime : Stringprezime : Stringadresa : Stringgodina : Byte
1..n
1
+odsek
1..n
+fakultet
1
+student
+studiraNa
1..n
1
Svaki student upisuje studije na jednom i samo jednom odseku, a odsek pripada jednom i samo jednom fakultetu.Detaljno opisati atribute klase student
![Page 51: UML Modeli i dijagrami](https://reader035.vdocuments.site/reader035/viewer/2022081417/568131de550346895d98463f/html5/thumbnails/51.jpg)
51
Zadatak 2.
![Page 52: UML Modeli i dijagrami](https://reader035.vdocuments.site/reader035/viewer/2022081417/568131de550346895d98463f/html5/thumbnails/52.jpg)
52
![Page 53: UML Modeli i dijagrami](https://reader035.vdocuments.site/reader035/viewer/2022081417/568131de550346895d98463f/html5/thumbnails/53.jpg)
53
Zadatak br.3
![Page 54: UML Modeli i dijagrami](https://reader035.vdocuments.site/reader035/viewer/2022081417/568131de550346895d98463f/html5/thumbnails/54.jpg)
54
![Page 55: UML Modeli i dijagrami](https://reader035.vdocuments.site/reader035/viewer/2022081417/568131de550346895d98463f/html5/thumbnails/55.jpg)
55
Zadatak br.4
![Page 56: UML Modeli i dijagrami](https://reader035.vdocuments.site/reader035/viewer/2022081417/568131de550346895d98463f/html5/thumbnails/56.jpg)
56
![Page 57: UML Modeli i dijagrami](https://reader035.vdocuments.site/reader035/viewer/2022081417/568131de550346895d98463f/html5/thumbnails/57.jpg)
57
VIII.Dijagrami stanja
Nadkategorija dijagrama aktivnosti koji vrsi modeliranje od stanja do stanja Dijagram stanja pokazuje kako objekt prelazi iz jednog stanja u drugo i pravila
koja upravljaju tom promenom
![Page 58: UML Modeli i dijagrami](https://reader035.vdocuments.site/reader035/viewer/2022081417/568131de550346895d98463f/html5/thumbnails/58.jpg)
58
Dijagram stanjaOsnovni simboli i notacija
Stanje
Početno stanjeZavršno stanje
Stanje predstavlja situacije tokom života objekta
Tranzicija predstavlja događaj i akciju koja menja stanje
![Page 59: UML Modeli i dijagrami](https://reader035.vdocuments.site/reader035/viewer/2022081417/568131de550346895d98463f/html5/thumbnails/59.jpg)
59
Zadatak 1.
• Dijagramom stanja opisati stanje objekta Ispit u procesu polaganja ispita iz predmeta IS
![Page 60: UML Modeli i dijagrami](https://reader035.vdocuments.site/reader035/viewer/2022081417/568131de550346895d98463f/html5/thumbnails/60.jpg)
60
Rešenje
Odradjivanje lab. vezbi
[nisu odradjene]
Izrada projekta
[odradjene]
[nije zavrsen]
Prijava ispita
[zavrsen]
[odustao]
Polaganje ispita
[prijavljen]
[polozen]
[nije polozen]
•Dijagramom stanja opisati stanje objekta Ispit u procesu polaganja ispita iz predmeta IS
![Page 61: UML Modeli i dijagrami](https://reader035.vdocuments.site/reader035/viewer/2022081417/568131de550346895d98463f/html5/thumbnails/61.jpg)
61
Zadatak 2.
• Dijagramom stanja opisati stanje objekta profesor u procesu dobijanja zvanja na fakultetu
![Page 62: UML Modeli i dijagrami](https://reader035.vdocuments.site/reader035/viewer/2022081417/568131de550346895d98463f/html5/thumbnails/62.jpg)
62
Resenje
![Page 63: UML Modeli i dijagrami](https://reader035.vdocuments.site/reader035/viewer/2022081417/568131de550346895d98463f/html5/thumbnails/63.jpg)
63
Zadatak 3.
• Dijagramom stanja opisati stanje objekta Student u procesu upisa na fakultet
![Page 64: UML Modeli i dijagrami](https://reader035.vdocuments.site/reader035/viewer/2022081417/568131de550346895d98463f/html5/thumbnails/64.jpg)
64
Predaja dokumenata
Prijava za polaganje prijemnog ispita
potpuna dokumentacija
Plaćanje troškova za polaganje prijemnog ispita
prijava je kompletna
nisu plaćeni troškovi
Polaganje prijemnog ispitaplaćeno
Zahtev za upis
položen prijemni ispit
Nema upisa
Nije položen prijemni
ispit
Upis I godine
dovoljan broj poenaPlaćanje troškova upisa
(samofinansiranje)
nedovoljan broj poena
odustajanje
plaćeni troškovi
Resenje