T-3 Uvod u modelovanje koriscenjem UML-a

60
Uvod u modelovanje korišćenjem UML-a Analiza i specifikacija informacionih sistema dr Zoran Jeremić [email protected] 1

Transcript of T-3 Uvod u modelovanje koriscenjem UML-a

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