A Semantic-rich Framework for Learning Software Patterns
T 3 uvod u modelovanje koriscenjem uml-a
1. Uvod u modelovanje korišćenjem UML-a
Analiza i specifikacija informacionih sistema
dr Zoran Jeremić
zoran.jeremic@gmail.com
1
2. Sadržaj
• Uvod u modelovanje?
• Uvod u UML
• Osnovni elementi UML-a
• UML dijagrami
2
Modelovanje | UML | Osnovni elementi | Dijagrami
3. Šta je modelovanje?
Razvoj informacionih sistema je suviše kompleksan da
bi ga mogli planirati iz glave
Kao proizvod faze analize i dizajna dobijaju se modeli
U razvoju informacionih sistema, modeli su:
Abstraktni /ne-fizički
• Softver nije opipljiv
Vidljivi
• Težimo da vizuelizujemo neopipljive elemente
3
Modelovanje | UML | Osnovni elementi | Dijagrami
4. Modelovanje
Model je uprošćena predstava kompleksne
realnosti.
Kompleksni sistemi i softver se ne mogu
razumeti bez odgovarajućeg modelovanja.
Danas, softver postaje veoma kompleksan i
stoga ga moramo razumeti kroz
modelovanje.
4
Modelovanje | UML | Osnovni elementi | Dijagrami
5. Ciljevi modelovanja
Ciljevi modelovanja:
1. pomaže u vizuelizaciji sistema onakvog kakav jeste ili onakvog
kakav želimo da bude
2. omogućava specifikaciju strukture i ponašanja sistema
3. dokumentuje odluke koje su donešene
4. obezbeđuje zajednički jezik za sve stejkholdere
5. omogućava jasnoću i razumevanje
5
Modelovanje | UML | Osnovni elementi | Dijagrami
6. Zašto model?
Model je pojednostavljenje realnosti
Izaberite detalje koje ćete predstaviti
Izaberite detalje koje ćete ignorisati
Model se može razvijati paralelno sa našim razumevanjem
Model može predstavljati realne i apstraktne stvari
Kreiranje modela omogućava bolje razumevanje sistema
Model se može koristiti za razmenu ideja
Što je sistem veći, veći je značaj modela
Model se može koristiti da simulira realni sistem
Model se kreira lakše i brže od realnog sistema
8
Modelovanje | UML | Osnovni elementi | Dijagrami
7. Sadržaj
• Uvod u modelovanje?
• Uvod u UML
• Osnovni elementi UML-a
• UML dijagrami
10
Modelovanje | UML | Osnovni elementi | Dijagrami
8. Zašto UML?
Model dobre prakse
Objedinjavanje drugih jezika (npr., OMT, OOSE)
Međunarodno prihvaćen – ISO standard - ISO/IEC
19501
Intuitivan
Podrška alata
Široko prihvaćen
11
Modelovanje | UML | Osnovni elementi | Dijagrami
9. Šta je UML?
Unified Modeling Language (UML) je jezik za
specifikaciju, vizuelizaciju, konstrukciju i
dokumentovanje elemenata softverskog sistema,
kao i poslovno modelovanje.
U~ Unified:
• Ujedinjuje sve postojeće notacije
M~ Modeling:
• Koristi se za modelovanje softverskih
elemenata
L~ Language:
• Sredstvo komunikacije
Modelovanje | UML | Osnovni elementi | Dijagrami
12
10. UML je jezik za:
Vizuelizaciju: Grafički modeli sa preciznom semantikom.
Specifikaciju: Modeli su precizni, nedvosmisleni i
spremni da predstave sve značajne odluke faze analize,
dizajna i implementacije.
Konstruisanje: Modeli mogu biti direktno povezani sa
programmskim jezicima, omogućavajući direktno i
reverzno inženjerstvo.
Dokumentovanje: Dijagrami predstavljaju sve informacije
koje je prikupio razvojni tim, omogućavajući
komunikaciju i deljenje prikupljenog znanja.
13
Modelovanje | UML | Osnovni elementi | Dijagrami
11. UML je za vizuelno modelovanje
Slika vredi hiljadu reči!
- standardna grafička notacija: polu-formalna
- za modelovanje enterprise informacionih sistema, distribuiranih Web aplikacija, real
time sistema, …
Predstavnik Naruči proizvod
prodaje Klijent
Popuni
narudzbenicu
Proizvod
Poslovni proces
korišćenjem
Isporuka proizvoda
- Specifikacija i dokumentovanje: modeli koji su precizni, nedvosmisleni i kompletni
UML simboli su zasnovani na jasno definisanoj sintaksi i semantici.
Analiza, arhitektura/dizajn, implementacija, testiranje odluka.
- Konstrukcija:mapiranje između UML-a i OOPL.
14
Modelovanje | UML | Osnovni elementi | Dijagrami
12. Sadržaj
• Uvod u modelovanje?
• Uvod u UML
• Osnovni elementi UML-a
• UML dijagrami
15
Modelovanje | UML | Osnovni elementi | Dijagrami
13. Tri osnovna gradivna bloka UML-a
Water
Fresh water
have
Rivers
Oceans
have
have have
live in Salt water
have
Fish
Crocodiles
Penguins
– Stvari – bitni koncepti
Kratak osvrt
– Relacije – povezivanje individualnih stvari
– Dijagrami – grupisanje međusobno povezanih kolekcija stvari i
relacija
16
Modelovanje | UML | Osnovni elementi | Dijagrami
14. Tri osnovna gradivna bloka - dijagrami
Dijagrami ponašanja
: ponašanje sistema/poslovnog procesa
Strukturni dijagrami
: elementi specifikacije nezavisni od vremena • Dijagram aktivnosti
• Dijagram stanja
• Dijagram klasa • Dijagram slučajeva upotrebe
• Dijagram komponenti • Dijagram interakcija
• Dijagram razmeštaja
• Dijagram objekata Dijagrami interakcije
• Dij. kompozitne strukture : naglašavaju interakciju objekata
• Dijagram paketa
• Dijagram komunikacije
(kolaboracije)
• Sekvencijalni dijagram
• Dijagram pregleda
interakcija
• Vremenski dijagram
17
Modelovanje | UML | Osnovni elementi | Dijagrami
15. Sadržaj
• Uvod u modelovanje?
• Uvod u UML
• Osnovni elementi UML-a
• UML dijagrami
18
Modelovanje | UML | Osnovni elementi | Dijagrami
16. Unified Modeling Language
UML
Faza dizajna:
•Čvrsto je povezana sa fazom
Faza analize: analize, jer počinje
identifikacijom zahteva a
završava detaljnom
•Sistem je opisan skupom specifikacijom tih zahteva.
zahteva. •Dijagrami klasa
•Dijagrami interakcija
•USE-CASE DIJAGRAM •Dijagrami stanja
•Dijagrami razmeštaja
19
Modelovanje | UML | Osnovni elementi | Dijagrami
17. Dijagram klasa
UML dijagrami klasa prikazuju klase sistema, njihove
međusobne relacije, operacije i atribute klasa.
Istražuje domenske koncepte u formi domenskog
modela
Analizira zahteve u formi konceptualnog/analitičkog
modela
Opisuje detaljni dizajn objektno-orjentisanog softvera
20
Modelovanje | UML | Osnovni elementi | Dijagrami
18. Dijagram klasa
21
Modelovanje | UML | Osnovni elementi | Dijagrami
19. Dijagram komponenti
UML dijagram komponenti prikazuje strukturne relacije
između softverskih komponenti sistema. On ilustruje
delove softvera, ugrađene kontrolere i slično, i ima veći
stepen apstrakcije od dijagrama klasa.
22
Modelovanje | UML | Osnovni elementi | Dijagrami
21. Dijagram razmeštaja
UML dijagram razmeštaja prikazuje statički pogled run-
time hardverske konfiguracije i softverskih komponenti
koje se izvršavaju na tim čvorovima. Dijagram
razmeštaja prikazuje hardver vašeg sistema, softver koji
je instaliran na tom sistemu i srednji sloj koji se koristi za
povezivanje međusobno razdvojenih mašina.
24
Modelovanje | UML | Osnovni elementi | Dijagrami
24. Dijagram objekata
UML dijagram objekata (dijagram instanci), je koristan za
predstavljanje primera objekata iz stvarnog sveta i
njihovih međusobnih relacija. On prikazuje instance
umesto klasa. One su korisne za objašnjavanje malih
delova složenih relacija, a naročito rekurzivnih relacija.
27
Modelovanje | UML | Osnovni elementi | Dijagrami
25. Dijagram objekata
28
Modelovanje | UML | Osnovni elementi | Dijagrami
26. Dijagram paketa
UML dijagram paketa pojednostavljuje složene
dijagrame klasa grupisanjem klasa u pakete. Paket je
kolekcija logički povezanih UML elemenata. Paketi su
predstavljeni kao folderi datoteka i mogu se koristiti na
bilo kom UML dijagramu.
29
Modelovanje | UML | Osnovni elementi | Dijagrami
27. Dijagram paketa
30
Modelovanje | UML | Osnovni elementi | Dijagrami
28. Dijagrami kompozitne strukture
UML dijagram kompozitne strukture se koristi za
istraživanje run-time instanci koje su međusobno
povezane i kolaboriraju preko komunikacionih linkova.
Prikazuje internu strukturu (uključujući celine i konektore)
struktuiranog klasifikatora ili kolaboracije.
31
Modelovanje | UML | Osnovni elementi | Dijagrami
30. Dijagram aktivnosti
UML dijagram aktivnosti omogućava opisivanje toka
kontrole ciljnog sistema, kao što je istaživanje složenih
poslovnih pravila i operacija, opisivanjem slučaja
upotrebe istog poslovnog procesa. To je objektno-
orjentisani ekvivalent dijagramu tokova i dijagramu toka
podataka.
33
Modelovanje | UML | Osnovni elementi | Dijagrami
32. Dijagram stanja
UML dijagram stanja može prikazati različita stanja
entiteta kao i to kako entitet reaguje na različite događaje
prelaskom iz jednog u drugo stanje.
35
Modelovanje | UML | Osnovni elementi | Dijagrami
33. Dijagram stanja
36
Modelovanje | UML | Osnovni elementi | Dijagrami
34. Dijagram slučajeva upotrebe
UML dijagrami slučajeva upotrebe opisuju ponašanje ciljnog sistema
posmatrajući iz aspekta spoljašnje sredine. Slučajevi upotrebe
opisuju sadržaj aktuelnih zahteva.
Slučajevi upotrebe. Slučaj upotrebe opisuje niz akcija koje
obezbeđuju određene merljive vrednosti učesnika i grafički se
predstavljaju elipsama.
Učesnici. Učesnik je osoba, organizacija ili spoljašnji sistem koji igra
ulogu u jednoj ili više interakcija u sistemu. Predstavlja se figurom
čoveka.
Asocijacije. Asocijacije između učesnika i slučajeva upotrebe su
predstavljene punim linijama. Asocijacija postoji kada god je učesnik
uključen u interakciju koju opisuje slučaj upotrebe.
37
Modelovanje | UML | Osnovni elementi | Dijagrami
36. Dijagram komunikacije
UML dijagram komunikacije se koristi da modeluje
ponašanje slučaja upotrebe. U poređenju sa
sekvencijalnim dijagramom, dijagram komunikacije je
više fokusiran na prikazivanje kolaboracije između
objekata nego na vremenske sekvence.
39
Modelovanje | UML | Osnovni elementi | Dijagrami
38. Sekvencijalni dijagram
UML sekvencijalni dijagram modeluje kolaboraciju
objekata zasnovanu na vremenskoj sekvenci. Prikazuje
kako objekti interaguju u određenom scenariju slučaja
upotrebe.
41
Modelovanje | UML | Osnovni elementi | Dijagrami