Upload
bubamaricaaaj
View
116
Download
3
Embed Size (px)
Citation preview
Uvod u modelovanje korienjem UML-aAnaliza i specifikacija informacionih sistema
dr Zoran [email protected]
Sadraj Uvod u modelovanje? Uvod u UML Osnovni elementi UML-a UML dijagrami
Modelovanje | UML | Osnovni elementi | Dijagrami
2
ta je modelovanje? Razvoj informacionih sistema je suvie 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-fiziki Softver nije opipljiv
Vidljivi Teimo da vizuelizujemo neopipljive elemente3
Modelovanje | UML | Osnovni elementi | Dijagrami
Modelovanje
Model je uproena predstava kompleksne realnosti. Kompleksni sistemi i softver se ne mogu razumeti bez odgovarajueg modelovanja. Danas, softver postaje veoma kompleksan i stoga ga moramo razumeti kroz modelovanje.
Modelovanje | UML | Osnovni elementi | Dijagrami
4
Modelovanje Jednostavno reeno, potrebna nam je jednostavna predstava kompleksnih modela, a modelovanje je sredstvo za savlaivanje ove kompleksnosti. Metodama modelovanja definisani su jezik , kao i procedure za korienje jezika za konstruisanje modela. Modelovanje je jedini nain za vizuelizaciju vaeg dizajna i njegovu proveru prema zahtevima pre poetka implementacije.Modelovanje | UML | Osnovni elementi | Dijagrami5
Ciljevi modelovanja Ciljevi modelovanja:1. pomae u vizuelizaciji sistema onakvog kakav jeste ili onakvog kakav elimo da bude 2. omoguava specifikaciju strukture i ponaanja sistema 3. definie ablon koji pomae prilikom konstruisanja sistema 4. dokumentuje odluke koje su doneene 5. obezbeuje zajedniki jezik za sve stejkholdere 6. omoguava jasnou i razumevanjeModelovanje | UML | Osnovni elementi | Dijagrami6
Principi modelovanja Na ta modelovanje utie: Kako se pristupa reavanju problema? Kako se oblikuje reenje?
Svaki model se moe predstaviti na raziitim nivoima detaljnosti modelovana koliina preciznosti koliko je informacija obezbeeno
Najbolji modeli su povezani sa realnou Nijedan model nije dovoljan. netrivijalnim sistemima se najbolje pristupa kroz mali skup skoro nezavisnih modela potrebno je nekoliko tipova modela koji daju razliite poglede
Svaki model ima razliite dijagrame potrebno je nekoliko dijagrama da modeluju razliite aspekteModelovanje | UML | Osnovni elementi | Dijagrami7
Objektno orjentisano modelovanje U sistemima postoje dva osnovna naina za pristupanje modelovanju: Strukturno fokusira se na aspektima procesa, podataka i vremena odvojena ali povezana dekompozicija ovih aspekata Objektno orjentisano zasnovano na objektima i klasama objekat predmet interesovanja, koji ima jedinstvenost, stanje i ponaanje klasa opis grupe objekata
U ovoj temi fokusiraemo se na objektnoorjentisano modelovanje
Modelovanje | UML | Osnovni elementi | Dijagrami
8
Zato model? Model je pojednostavljenje realnosti Izaberite detalje koje ete predstaviti Izaberite detalje koje ete ignorisati
Model se moe razvijati paralelno sa naim razumevanjem Model moe predstavljati realne i apstraktne stvari Kreiranje modela omoguava bolje razumevanje sistema Model se moe koristiti za razmenu ideja to je sistem vei, vei je znaaj modela Model se moe koristiti da simulira realni sistem Model se kreira lake i bre od realnog sistema9
Modelovanje | UML | Osnovni elementi | Dijagrami
Kratak istorijat alata za modelovanje Do kasnih osamdesetih Strukturna Sistem Analiza i Dizajn (SSADM) Fokus na procesima i podacima
Kasne osamdesete do 1997 Pojava objektno-orjentisanih tehnologija Korisne / razliite potreba za standardizacijom
1995 sadanjica Unified Modelling Language (UML)
Modelovanje | UML | Osnovni elementi | Dijagrami
10
Sadraj Uvod u modelovanje? Uvod u UML Osnovni elementi UML-a UML dijagrami
Modelovanje | UML | Osnovni elementi | Dijagrami
11
Zato UML? Model dobre prakse Objedinjavanje drugih jezika (npr., OMT, OOSE)
Meunarodno prihvaen ISO standard ISO/IEC 19501 Intuitivan Podrka alata iroko prihvaen
Modelovanje | UML | Osnovni elementi | Dijagrami
12
Upotreba UML-a Anketa meu menaderima razvoja pokazuju 20% organizacija koristi UML na svim razvojnim projektima 59% organizacija koriste UML na nekim razvojnim projektima 18% organizacija nikada ne koristi UML 3% organizacija su koristili UML u prolosti i ne planiraju da ga koriste ponovo
Modelovanje | UML | Osnovni elementi | Dijagrami
13
ta je UML? Unified Modelling Language je standardni grafiki jezik za modelovanje objektno-orjentisanog softvera Krajem 80-tih i poektom 90-tih pojavili su se prvi objektnoorjentisani pristupi modelovanju Porast metoda i notacija je izazvao veliku konfuziju Dvojica poznatih metodologiara Rumbaugh i Booch su odluili da spoje svoje pristupe 1994. godine. Radili su zajedno u Rational Software korporaciji 1995. godine jo jedan metodologiaj Jacobson se prikljuio timu Njegov rad se fokusirao na sluajevima upotrebe 1997. godine Object Management Group (OMG) grupa je zapoela proces UML standardizacije
Modelovanje | UML | Osnovni elementi | Dijagrami
14
ta je UML? Unified Modeling Language (UML) je jezik za specifikaciju, vizuelizaciju, konstrukciju i dokumentovanje elemenata softverskog sistema, kao i poslovno modelovanje.
Modelovanje | UML | Osnovni elementi | Dijagrami
U~ M~ L~
Unified: Ujedinjuje sve postojee notacije Modeling: Koristi se za modelovanje softverskih elemenata Language: Sredstvo komunikacije15
UML je jezik za:Vizuelizaciju: Grafiki modeli sa preciznom semantikom. Specifikaciju: Modeli su precizni, nedvosmisleni i spremni da predstave sve znaajne odluke faze analize, dizajna i implementacije. Konstruisanje: Modeli mogu biti direktno povezani sa programmskim jezicima, omoguavajui direktno i reverzno inenjerstvo. Dokumentovanje: Dijagrami predstavljaju sve informacije koje je prikupio razvojni tim, omoguavajui komunikaciju i deljenje prikupljenog znanja.
Modelovanje | UML | Osnovni elementi | Dijagrami
16
UML je za vizuelno modelovanjeSlika vredi hiljadu rei!
- standardna grafika notacija: polu-formalna - za modelovanje enterprise informacionih sistema, distribuiranih Web aplikacija, real time sistema, Predstavnik prodaje
Narui proizvodKlijent
Popuni narudzbenicu Proizvodkorienjem
Poslovni procesIsporuka 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.17
- Konstrukcija:mapiranje izmeu UML-a i OOPL.Modelovanje | UML | Osnovni elementi | Dijagrami
Sadraj Uvod u modelovanje? Uvod u UML Osnovni elementi UML-a UML dijagrami
Modelovanje | UML | Osnovni elementi | Dijagrami
18
Tri osnovna gradivna bloka UML-aWater Fresh water have Rivers Oceans have Fish Crocodiles Penguins have have live in have Salt water
Stvari bitni koncepti Relacije povezivanje individualnih stvariKratak osvrt
Dijagrami grupisanje meusobno povezanih kolekcijastvari i relacijaModelovanje | UML | Osnovni elementi | Dijagrami19
Tri osnovna gradivna bloka UML-a - Stvari
UML 1.x Struktura imenice/statiki deo UML modela (nezavisno od vremena).Osnova
Ponaanje glagoli/dinamiki deo UML modela.
Grupisanje organizacioni delovi UML modela. Anotacije objanjavajui delovi UML modela.
Modelovanje | UML | Osnovni elementi | Dijagrami
20
Strukturne Stvari u UML-u- 7 Vrsta (klasifikatori) Imenice. Konceptualni ili fiziki elementi.Aktivna klasa Klasa Student std_id grade changeLevel( ) setGrade( ) getGrade( )(procesi/niti) (kolekcija spolja vidljivih (zamenjivi deo, Realizuje interfejse) operacija)
Komponenta
Interfejs
vor(raunarski resurs u vreme izvrenja)
Event Mgr thread time Start suspend( ) stop( )
Course.cpp IGrade IGrade setGrade() getGrade() WebServer
Prijava ispitaSluaj upotrebe(sistemski servis niz interakcija sa uesnikom)
Upravljanje registracijom kursaKolaboracija(niz odgovornosti Deljen kroz mreu objekata)21
Modelovanje | UML | Osnovni elementi | Dijagrami
Predstavljanje ponaanja Stvari u UML-u Glagoli. Dinamiki delovi UML modela: ponaanje kroz vreme Obino povezani sa strukturnim stvarima.
Dve vrste ponaanja stvari: Interakcijaskup objekata koji razmenjuju poruke, da bi ispunili odreenu namenu.harry: Studentname = Harry Kid
ask-for-an-A
katie: Professorname = Katie Holmes
State MachineDefinie niz stanja objekta ili interakciju koja se odvija kroz ivotni ciklus kao odgovor na odreeni dogaaj. inStudy received-an-A/ buy-beer sober/turn-on-PCModelovanje | UML | Osnovni elementi | Dijagrami
inParty22
Grupisanje Stvari u UML-u: Paketi- Za organizovanje elemenata (struktura/ponaanje) u grupe. - isto konceptualno; postoji samo u vreme razvoja. - Mogu biti ugnjedeni. - Varijacije paketa mogu biti: okruenja, modeli i podsistemi. University Administration
Course Manager
Course Manager
Student Admission -Student +Department
Anotacija Stvari u UML-u: Note- Objanjenje/komentar UML modela - Iskazana neformalnim ili formalnim tekstomt.
flexible drop-out datesModelovanje | UML | Osnovni elementi | Dijagrami
operation() {for all g in children g.operation() }23
Tri osnovna gradivna bloka UML-a - RelacijeStudent pohaa Fakultet
1. Asocijacije
Strukturne relacije koje opisuju skup linkova, veze izmeu objekata.varijante: agregacija (ima)& kompozicija (je deo od)Student Osoba
2. Generalizacija
Specijalizovani element (dete) je speficiniji generalizovani element.
Pravougaonik
3. Realizacija
IFigura Jedan element garantuje da e izvriti ono to se oekuje od drugog elementa.
harry: Student
4. Zavisnost(smerovi i oznake su opcioni)
Student
Promena jedne stvari (nezavisne) moe uticati na semantiku druge stvari (zavisne).Modelovanje | UML | Osnovni elementi | Dijagrami24
Tri osnovna gradivna bloka - dijagrami
Dijagrami ponaanja Strukturni dijagrami: elementi specifikacije nezavisni od vremena : ponaanje sistema/poslovnog procesa
Dijagram Dijagram Dijagram Dijagram
klasa komponenti razmetaja objekata
Dijagram aktivnosti Dijagram stanja Dijagram sluajeva upotrebe
Dijagram interakcija
Dij. kompozitne strukture Dijagram paketa
Dijagrami interakcije: naglaavaju interakciju objekata
Dijagram komunikacije (kolaboracije) Sekvencijalni dijagram Dijagram pregleda
interakcija Vremenski dijagramModelovanje | UML | Osnovni elementi | Dijagrami
25
Sadraj Uvod u modelovanje? Uvod u UML Osnovni elementi UML-a UML dijagrami
Modelovanje | UML | Osnovni elementi | Dijagrami
26
Unified Modeling Language UML kompletan jezik za prikupljanje informacija o subjektu i njihovo kasnije predstavljanje kroz prikazivanje zahteva i modelovanje tih zahteva. Ovakvo modelovanje obuhvata dve faze :
Analiza Dizajn
Modelovanje | UML | Osnovni elementi | Dijagrami
27
Unified Modeling LanguageUML
Faza analize:Sistem je opisan skupom zahteva. USE-CASE DIJAGRAM
vrsto je povezana sa fazom analize, jer poinje identifikacijom zahteva a zavrava detaljnom specifikacijom tih zahteva. Dijagrami klasa Dijagrami interakcija Dijagrami stanja Dijagrami razmetaja
Faza dizajna:
Modelovanje | UML | Osnovni elementi | Dijagrami
28
Dijagram klasaUML dijagrami klasa prikazuju klase sistema, njihove meusobne relacije, operacije i atribute klasa. Istrauje domenske koncepte u formi domenskog modela Analizira zahteve u formi konceptualnog/analitikog modela Opisuje detaljni dizajn objektno-orjentisanog softvera
Modelovanje | UML | Osnovni elementi | Dijagrami
29
Dijagram klasa
Modelovanje | UML | Osnovni elementi | Dijagrami
30
Dijagram komponentiUML dijagram komponenti prikazuje strukturne relacije izmeu softverskih komponenti sistema. On ilustruje delove softvera, ugraene kontrolere i slino, i ima vei stepen apstrakcije od dijagrama klasa.
Modelovanje | UML | Osnovni elementi | Dijagrami
31
Dijagram komponenti
Modelovanje | UML | Osnovni elementi | Dijagrami
32
Dijagram razmetajaUML dijagram razmetaja prikazuje statiki pogled run-time hardverske konfiguracije i softverskih komponenti koje se izvravaju na tim vorovima. Dijagram razmetaja prikazuje hardver vaeg sistema, softver koji je instaliran na tom sistemu i srednji sloj koji se koristi za povezivanje meusobno razdvojenih maina.
Modelovanje | UML | Osnovni elementi | Dijagrami
33
Dijagram razmetaja
Modelovanje | UML | Osnovni elementi | Dijagrami
34
Dijagram razmetaja
Modelovanje | UML | Osnovni elementi | Dijagrami
35
Dijagram objekata UML dijagram objekata (dijagram instanci), je koristan za predstavljanje primera objekata iz stvarnog sveta i njihovih meusobnih relacija. On prikazuje instance umesto klasa. One su korisne za objanjavanje malih delova sloenih relacija, a naroito rekurzivnih relacija.
Modelovanje | UML | Osnovni elementi | Dijagrami
36
Dijagram objekata
Modelovanje | UML | Osnovni elementi | Dijagrami
37
Dijagram paketa UML dijagram paketa pojednostavljuje sloene dijagrame klasa grupisanjem klasa u pakete. Paket je kolekcija logiki povezanih UML elemenata. Paketi su predstavljeni kao folderi datoteka i mogu se koristiti na bilo kom UML dijagramu.
Modelovanje | UML | Osnovni elementi | Dijagrami
38
Dijagram paketa
Modelovanje | UML | Osnovni elementi | Dijagrami
39
Dijagram kompozitne strukture UML dijagram kompozitne strukture se koristi za istraivanje run-time instanci koje su meusobno povezane i kolaboriraju preko komunikacionih linkova. Prikazuje internu strukturu (ukljuujui celine i konektore) struktuiranog klasifikatora ili kolaboracije.
Modelovanje | UML | Osnovni elementi | Dijagrami
40
Dijagrami kompozitne strukture
Modelovanje | UML | Osnovni elementi | Dijagrami
41
Dijagram aktivnosti UML dijagram aktivnosti omoguava opisivanje toka kontrole kontrole ciljnog sistema, kao to je istaivanje sloenih poslovnih pravila i operacija, opisivanjem sluaja upotrebe istog poslovnog procesa. To je objektno-orjentisani ekvivalent dijagramu tokova i dijagramu toka podataka.
Modelovanje | UML | Osnovni elementi | Dijagrami
42
Dijagram aktivnosti
Modelovanje | UML | Osnovni elementi | Dijagrami
43
Dijagram stanja UML dijagram stanja moe prikazati razliita stanja entiteta kao i to kako entitet reaguje na razliite dogaaje prelaskom iz jednog u drugo stanje.
Modelovanje | UML | Osnovni elementi | Dijagrami
44
Dijagram stanja
Modelovanje | UML | Osnovni elementi | Dijagrami
45
Dijagram stanja
Modelovanje | UML | Osnovni elementi | Dijagrami
46
Dijagram sluajeva upotrebeUML dijagrami sluajeva upotrebe opisuju ponaanje ciljnog sistema posmatrajui iz aspekta spoljanje sredine. Sluajevi upotrebe opisuju sadraj aktuelnih zahteva. Sluajevi upotrebe. Sluaj upotrebe opisuje niz akcija koje obezbeuju odreene merljive vrednosti uesnika i grafiki se predstavljaju elipsama. Uesnici. Uesnik je osoba, organizacija ili spoljanji sistem koji igra ulogu u jednoj ili vie interakcija u sistemu. Predstavlja se figurom oveka. Asocijacije. Asocijacije izmeu uesnika i sluajeva upotrebe su predstavljene punim linijama. Asocijacija postoji kada god je uesnik ukljuen u interakciju koju opisuje sluaj upotrebe.
Modelovanje | UML | Osnovni elementi | Dijagrami
47
Dijagram sluajeva upotrebe
Modelovanje | UML | Osnovni elementi | Dijagrami
48
Dijagram sluajeva upotrebe
Modelovanje | UML | Osnovni elementi | Dijagrami
49
Dijagram sluajeva upotrebe
Modelovanje | UML | Osnovni elementi | Dijagrami
50
Dijagram komunikacije UML dijagram komunikacije se koristi da modeluje ponaanje sluaja upotrebe. U poreenju sa sekvencijalnim dijagramom, dijagram komunikacije je vie fokusiran na prikazivanje kolaboracije izmeu objekata nego na vremenske sekvence.
Modelovanje | UML | Osnovni elementi | Dijagrami
51
Dijagram komunikacije
Modelovanje | UML | Osnovni elementi | Dijagrami
52
Sekvencijalni dijagram UML sekvencijalni dijagram modeluje kolaboraciju objekata zasnovanu na vremenskoj sekvenci. Prikazuje kako objekti interaguju u odreenom scenariju sluaja upotrebe.
Modelovanje | UML | Osnovni elementi | Dijagrami
53
Sekvencijalni dijagram
Modelovanje | UML | Osnovni elementi | Dijagrami
54
Vremenski dijagram UML vremenski dijagram prikazuje ponaanje objekata u odreenom vremenskom periodu. Vremenski dijagram je posebna forma sekvencijalnog dijagrama. Razlika je u tome to su ose obrnute tako da vreme raste sa leva na desno a ivotne linije su prikazane odvojenim odeljcima poreanim vertikalno.
Modelovanje | UML | Osnovni elementi | Dijagrami
55
Vremenski dijagram
Modelovanje | UML | Osnovni elementi | Dijagrami
56
Dijagram pregleda interakcija UML dijagram pregleda interakcija se fokusira na pregledu toka kontrole interakcija. To je varijanta dijagrama aktivnosti gde su vorovi interakcije. On opisuje interakcije gde su poruke i ivotne linije skrivene.
Modelovanje | UML | Osnovni elementi | Dijagrami
57
Dijagram pregleda interakcija
Modelovanje | UML | Osnovni elementi | Dijagrami
58
Dijagram pregleda interakcija
Modelovanje | UML | Osnovni elementi | Dijagrami
59
Hijerarhija UML dijagrama
Modelovanje | UML | Osnovni elementi | Dijagrami
60