81
UML (The Unified Modeling Language) Objektno-orijentisano modeliranje - PRIMERI

UML (The Unified Modeling Language) Objektno-orijentisano modeliranje … · 2011. 12. 20. · modeliranje Tradicionalni pristup:algoritamski: gradivni blokovi softvera su procedure

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: UML (The Unified Modeling Language) Objektno-orijentisano modeliranje … · 2011. 12. 20. · modeliranje Tradicionalni pristup:algoritamski: gradivni blokovi softvera su procedure

UML(The Unified Modeling Language)

Objektno-orijentisanomodeliranje - PRIMERI

Page 2: UML (The Unified Modeling Language) Objektno-orijentisano modeliranje … · 2011. 12. 20. · modeliranje Tradicionalni pristup:algoritamski: gradivni blokovi softvera su procedure

Baza podataka i SUBP - sistemi za upravljenje bazama podataka

2

UML & OO (OBJEKTNO-ORIJENTISANO) MODELIRANJE

� Objektno orijentisano modeliranjesoftverskih sistema

� UML – pregled� Proces razvoja softvera� Projektovanje arhitekture� Modeliranje sistema korišćenjem

uml-a

Page 3: UML (The Unified Modeling Language) Objektno-orijentisano modeliranje … · 2011. 12. 20. · modeliranje Tradicionalni pristup:algoritamski: gradivni blokovi softvera su procedure

Baza podataka i SUBP - sistemi za upravljenje bazama podataka

3

OO MODELIRANJE SOFTVERSKIH SISTEMA

� Primarni proizvod: dobar softver� Kompleksnost softvera� Ciljevi modeliranja� Principi modeliranja� Objektno orijentisano (OO)

modeliranje

Page 4: UML (The Unified Modeling Language) Objektno-orijentisano modeliranje … · 2011. 12. 20. · modeliranje Tradicionalni pristup:algoritamski: gradivni blokovi softvera su procedure

Baza podataka i SUBP - sistemi za upravljenje bazama podataka

4

OO MODELIRANJE: ciljevi

� Model:� Pojednostavljenje realnosti

� Bolje razumevanje sistema koji se razvija� Vizuelizacija sistema� Specifikacija strukture i ponašanja

� Vodič kroz konstrukciju sistema� Dokumentovanje odluka

� Savlañivanje kompleksnosti

Page 5: UML (The Unified Modeling Language) Objektno-orijentisano modeliranje … · 2011. 12. 20. · modeliranje Tradicionalni pristup:algoritamski: gradivni blokovi softvera su procedure

Baza podataka i SUBP - sistemi za upravljenje bazama podataka

5

OO MODELIRANJE: principi

� Izbor modela utiče na način rešavanja problema� Primeri:

� kvantna fizika: interakcija fotona, Feynmann dijagrami� softver

� perspektiva baza podataka – EER � algoritamski – SSA� OO – klase i obrasci interakcije

� Svaki model – razni nivoi preciznosti: primeri

Page 6: UML (The Unified Modeling Language) Objektno-orijentisano modeliranje … · 2011. 12. 20. · modeliranje Tradicionalni pristup:algoritamski: gradivni blokovi softvera su procedure

Baza podataka i SUBP - sistemi za upravljenje bazama podataka

6

OO MODELIRANJE: principi (nast.)

� Najbolji modeli su povezani sa realnošću

� Netrivijalni sistem zahteva mali skup skoronezavisnih modela: primeri� model slučajeva korišćenja� logički model� model procesa – distribucija procesa i niti� model implementacije� model razmeštaja – sistemsko inženjerstvo� svaki sa strukturnim aspektima i aspektima

ponašanja� ratličit značaj

Page 7: UML (The Unified Modeling Language) Objektno-orijentisano modeliranje … · 2011. 12. 20. · modeliranje Tradicionalni pristup:algoritamski: gradivni blokovi softvera su procedure

Baza podataka i SUBP - sistemi za upravljenje bazama podataka

7

Objektno-orijentisanomodeliranje

� Tradicionalni pristup:algoritamski: gradivniblokovi softvera su procedure i funkcije -kontrola i idekompozicija – teško održavanje

� Savremen pristup: OO perspektiva: gradivniblokovi softverskih sistema su objekti i klase

� Objekat: stvar iz rečnika prostora problema ilirešenja; ima identitet, stanje i ponašanje

� Klasa – opis skupa sličnih objekata

Page 8: UML (The Unified Modeling Language) Objektno-orijentisano modeliranje … · 2011. 12. 20. · modeliranje Tradicionalni pristup:algoritamski: gradivni blokovi softvera su procedure

Baza podataka i SUBP - sistemi za upravljenje bazama podataka

8

Objektno-orijentisano modeliranje(nast.)

� Primer: troslojna arhitektura sistemanaplate:� korisnički interfejs: objekti dugme,

meni, dijalog boks� baza podataka – objekti tabele

entiteta: kupci, proizvodi, računi� srednji sloj – transakcije i poslovna

pravila i viši nivo pogleda na entitete� OO – prilagoñen sistemima svih stepena,

veličina i kompleksnosti� Savremeni jezici i operativni sistemi

Page 9: UML (The Unified Modeling Language) Objektno-orijentisano modeliranje … · 2011. 12. 20. · modeliranje Tradicionalni pristup:algoritamski: gradivni blokovi softvera su procedure

Baza podataka i SUBP - sistemi za upravljenje bazama podataka

9

UML – PREGLED

� UML: standardni jezik za vizuelizaciju, specifikaciju, konstrukciju i dokumentovanje OO sistema

� UML: razvoj� UML: osnovni koncepti

Page 10: UML (The Unified Modeling Language) Objektno-orijentisano modeliranje … · 2011. 12. 20. · modeliranje Tradicionalni pristup:algoritamski: gradivni blokovi softvera su procedure

Baza podataka i SUBP - sistemi za upravljenje bazama podataka

10

UML – PREGLED: razvoj

� OO jezici modeliranja (70.-80.)� Grady Booch (OO method; projektovanje i

konstrukcija; Rational Software Corporation)� Ivar Jacobson (OOSE – Object-Oriented

Software Engineering, specifikacija, slučajevi korišćenja; Objectory)

� James Rumbaugh (OMT, analiza i obrada podataka; General Electric)

� David Harel (dijagrami stanja; Booch, OMT, ponašanje)

Page 11: UML (The Unified Modeling Language) Objektno-orijentisano modeliranje … · 2011. 12. 20. · modeliranje Tradicionalni pristup:algoritamski: gradivni blokovi softvera su procedure

Baza podataka i SUBP - sistemi za upravljenje bazama podataka

11

UML – PREGLED: razvoj (nast.)

� Unifikacija - ciljevi:� Modeliranje softverskih sistema korišćenjem

isključivo OO tehnika� Skaliranje kompleksnih sistema� Jezik modeliranja i za ljude i za mašine

� UML 1.1, OMG, 1997.� Hewlett-Packard, I-Logix, IBM, ICON,

Intellicorp, Oracle, Platinum Technology, Rational Software, TI, Unisys, etc.

Page 12: UML (The Unified Modeling Language) Objektno-orijentisano modeliranje … · 2011. 12. 20. · modeliranje Tradicionalni pristup:algoritamski: gradivni blokovi softvera su procedure

Baza podataka i SUBP - sistemi za upravljenje bazama podataka

12

UML – PREGLED: razvoj (nast.)

Page 13: UML (The Unified Modeling Language) Objektno-orijentisano modeliranje … · 2011. 12. 20. · modeliranje Tradicionalni pristup:algoritamski: gradivni blokovi softvera su procedure

Baza podataka i SUBP - sistemi za upravljenje bazama podataka

13

UML – PREGLED: razvoj (OMG) – UML 2

� UML, along with the Meta Object Facility (MOF™) , also provides a key foundation for OMG's Model-Driven Architecture ®, which unifies every step of development and integration from business modeling, through architectural and application modeling, to developmen t, deployment, maintenance, and evolution.

� OMG is a not-for-profit computer industry specifications consortium; our members define and maintain the UML specification

� 2004: UML 2.0 (…2.x)� Superstructure specification � UML 2.0 Infrastructure � UML 2.0 Object Constraint Language (OCL )� UML 2.0 Diagram Interchange

Page 14: UML (The Unified Modeling Language) Objektno-orijentisano modeliranje … · 2011. 12. 20. · modeliranje Tradicionalni pristup:algoritamski: gradivni blokovi softvera su procedure

Baza podataka i SUBP - sistemi za upravljenje bazama podataka

14

UML – PREGLED: konceptualni model

� Osnovni gradivni blokovi� Pravila kombinovanja gradivnih blokova� Opšti mehanizmi koji se primenjuju

kroz ceo UML

Page 15: UML (The Unified Modeling Language) Objektno-orijentisano modeliranje … · 2011. 12. 20. · modeliranje Tradicionalni pristup:algoritamski: gradivni blokovi softvera su procedure

Baza podataka i SUBP - sistemi za upravljenje bazama podataka

15

UML – PREGLED: gradivni blokovi

� Elementi (“stvari”)� Odnosi – povezuju elemente� Dijagram – grupišu kolekcije

elemenata

Page 16: UML (The Unified Modeling Language) Objektno-orijentisano modeliranje … · 2011. 12. 20. · modeliranje Tradicionalni pristup:algoritamski: gradivni blokovi softvera su procedure

Baza podataka i SUBP - sistemi za upravljenje bazama podataka

16

UML – PREGLED: elementi

� Strukturni elementi� Elementi ponašanja� Elementi grupisanja� Elementi označavanja

Page 17: UML (The Unified Modeling Language) Objektno-orijentisano modeliranje … · 2011. 12. 20. · modeliranje Tradicionalni pristup:algoritamski: gradivni blokovi softvera su procedure

Baza podataka i SUBP - sistemi za upravljenje bazama podataka

17

UML – PREGLED: strukturni elementi

� Statički deo modela: konceptualni ili fizički� Slučaj korišćenja

� Akter

� Klasa

order

USER

Window

originsize

open()close()move()display()

Page 18: UML (The Unified Modeling Language) Objektno-orijentisano modeliranje … · 2011. 12. 20. · modeliranje Tradicionalni pristup:algoritamski: gradivni blokovi softvera su procedure

Baza podataka i SUBP - sistemi za upravljenje bazama podataka

18

UML – PREGLED: strukturni elementi (nast.)

� Interfejs

� Aktivna klasa

� Komponenta

� Čvor

manipulate

EventManager

suspend()flush()

analyzer.dll

server

Page 19: UML (The Unified Modeling Language) Objektno-orijentisano modeliranje … · 2011. 12. 20. · modeliranje Tradicionalni pristup:algoritamski: gradivni blokovi softvera su procedure

Baza podataka i SUBP - sistemi za upravljenje bazama podataka

19

UML – PREGLED: elementi ponašanja

� Dinamički deo modela

� Interakcija – poruke, akcije, veze

� Stanje:

Page 20: UML (The Unified Modeling Language) Objektno-orijentisano modeliranje … · 2011. 12. 20. · modeliranje Tradicionalni pristup:algoritamski: gradivni blokovi softvera su procedure

Baza podataka i SUBP - sistemi za upravljenje bazama podataka

20

UML – PREGLED: elementi ponašanja (nast.)

� Mašina stanja – niz stanja objekta: stanja, prelazi, dogañaji, aktivnosti

Page 21: UML (The Unified Modeling Language) Objektno-orijentisano modeliranje … · 2011. 12. 20. · modeliranje Tradicionalni pristup:algoritamski: gradivni blokovi softvera su procedure

Baza podataka i SUBP - sistemi za upravljenje bazama podataka

21

UML – PREGLED: elementi grupisanja

� Paket – grupiše strukturne, elemente ponašanja ili druge elemente

� Konceptualni element (nije fizički, kao komponenta);

� Varijante: okviri (frames), modeli, podsistemi

Business rules

Page 22: UML (The Unified Modeling Language) Objektno-orijentisano modeliranje … · 2011. 12. 20. · modeliranje Tradicionalni pristup:algoritamski: gradivni blokovi softvera su procedure

Baza podataka i SUBP - sistemi za upravljenje bazama podataka

22

UML – PREGLED: elementi označavanja

� Delovi modela koji objašnjavaju� Napomena – komentar ili

ograničenje� Varijanta: zahtev (izvan modela)

return a copy

Page 23: UML (The Unified Modeling Language) Objektno-orijentisano modeliranje … · 2011. 12. 20. · modeliranje Tradicionalni pristup:algoritamski: gradivni blokovi softvera su procedure

Baza podataka i SUBP - sistemi za upravljenje bazama podataka

23

UML – PREGLED: odnosi

� Zavisnost

� Asocijacija

� Generalizacija

� Realizacija

� (izmeñu interfejsa i klase i /ili komponente)

Page 24: UML (The Unified Modeling Language) Objektno-orijentisano modeliranje … · 2011. 12. 20. · modeliranje Tradicionalni pristup:algoritamski: gradivni blokovi softvera su procedure

Baza podataka i SUBP - sistemi za upravljenje bazama podataka

24

UML – PREGLED: odnosi (nast.)

� Primeri (asocijacija, agregacija, kompozicija):

Page 25: UML (The Unified Modeling Language) Objektno-orijentisano modeliranje … · 2011. 12. 20. · modeliranje Tradicionalni pristup:algoritamski: gradivni blokovi softvera su procedure

Baza podataka i SUBP - sistemi za upravljenje bazama podataka

25

UML – PREGLED: odnosi (nast.)

� Primeri:� Zavisnost� Generalizacija� Asocijacija

window

open()close()Move()Display()processEvent()

event

Text-window dialogWindow control

Page 26: UML (The Unified Modeling Language) Objektno-orijentisano modeliranje … · 2011. 12. 20. · modeliranje Tradicionalni pristup:algoritamski: gradivni blokovi softvera su procedure

Baza podataka i SUBP - sistemi za upravljenje bazama podataka

26

UML – PREGLED: odnosi (nast.)

� Primeri (asocijacija):

employerProcess loan

Page 27: UML (The Unified Modeling Language) Objektno-orijentisano modeliranje … · 2011. 12. 20. · modeliranje Tradicionalni pristup:algoritamski: gradivni blokovi softvera su procedure

Baza podataka i SUBP - sistemi za upravljenje bazama podataka

27

UML – PREGLED: odnosi (nast.)

� Primeri:� Asocijacija� Generalizacija

Page 28: UML (The Unified Modeling Language) Objektno-orijentisano modeliranje … · 2011. 12. 20. · modeliranje Tradicionalni pristup:algoritamski: gradivni blokovi softvera su procedure

Baza podataka i SUBP - sistemi za upravljenje bazama podataka

28

UML – PREGLED: dijagrami

� Grafička reprezentacija skupaelemenata

� Graf sa temenima (elementima) i granama (odnosima)

� Obično vezani za modele (poglede) (5)

� Devet vrsta dijagrama (najčešćihu praksi):

Page 29: UML (The Unified Modeling Language) Objektno-orijentisano modeliranje … · 2011. 12. 20. · modeliranje Tradicionalni pristup:algoritamski: gradivni blokovi softvera su procedure

Baza podataka i SUBP - sistemi za upravljenje bazama podataka

29

UML – PREGLED: dijagrami

1. Dijagrami klasa� Skup klasa, interfejsa, i njihovih odnosa� Najčešći dijagrami u OO modeliranju� Statički logički pogled

2. Dijagrami objekata� Skup objekata i njihovih odnosa� Prikaz instanci elemenata iz dijagrama

klasa u jednom trenutku� Statički logički pogled ( realni ili

prototipski slučaj)

Page 30: UML (The Unified Modeling Language) Objektno-orijentisano modeliranje … · 2011. 12. 20. · modeliranje Tradicionalni pristup:algoritamski: gradivni blokovi softvera su procedure

Baza podataka i SUBP - sistemi za upravljenje bazama podataka

30

Dijagram klasa: primer

Page 31: UML (The Unified Modeling Language) Objektno-orijentisano modeliranje … · 2011. 12. 20. · modeliranje Tradicionalni pristup:algoritamski: gradivni blokovi softvera su procedure

Baza podataka i SUBP - sistemi za upravljenje bazama podataka

31

Dijagram objekata: primer

Page 32: UML (The Unified Modeling Language) Objektno-orijentisano modeliranje … · 2011. 12. 20. · modeliranje Tradicionalni pristup:algoritamski: gradivni blokovi softvera su procedure

Baza podataka i SUBP - sistemi za upravljenje bazama podataka

32

Dijagrami (nast.)

3. Dijagrami slučajeva korišćenja� Skup slučajeva korišćenja i aktera,

učesnika (specijalna vrsta klase) i njihovih odnosa

� Statički pogled slučajeva korišćenja� Poseban značaj u organizovanju i

modeliranju ponašanja sistema

Page 33: UML (The Unified Modeling Language) Objektno-orijentisano modeliranje … · 2011. 12. 20. · modeliranje Tradicionalni pristup:algoritamski: gradivni blokovi softvera su procedure

Baza podataka i SUBP - sistemi za upravljenje bazama podataka

33

Dijagrami slučajeva korišćenja: primer

Page 34: UML (The Unified Modeling Language) Objektno-orijentisano modeliranje … · 2011. 12. 20. · modeliranje Tradicionalni pristup:algoritamski: gradivni blokovi softvera su procedure

Baza podataka i SUBP - sistemi za upravljenje bazama podataka

34

Dijagrami (nast.)

4. Dijagrami interakcije – redosleda i saradnje

� Dinamički pogled sistema� Objekti, odnosi, poruke� Dijagram redosleda

� Naglašava vremenski redosled poruka

� Dijagram saradnje� Naglašava strukturnu organizaciju objekata koji šalju i

primaju poruke

� Dijagrami redosleda i saradnje izomorfni

Page 35: UML (The Unified Modeling Language) Objektno-orijentisano modeliranje … · 2011. 12. 20. · modeliranje Tradicionalni pristup:algoritamski: gradivni blokovi softvera su procedure

Baza podataka i SUBP - sistemi za upravljenje bazama podataka

35

Dijagram redosleda: primer

Page 36: UML (The Unified Modeling Language) Objektno-orijentisano modeliranje … · 2011. 12. 20. · modeliranje Tradicionalni pristup:algoritamski: gradivni blokovi softvera su procedure

Baza podataka i SUBP - sistemi za upravljenje bazama podataka

36

Dijagram redosleda: primer

Page 37: UML (The Unified Modeling Language) Objektno-orijentisano modeliranje … · 2011. 12. 20. · modeliranje Tradicionalni pristup:algoritamski: gradivni blokovi softvera su procedure

Baza podataka i SUBP - sistemi za upravljenje bazama podataka

37

Dijagram saradnje: primer

Page 38: UML (The Unified Modeling Language) Objektno-orijentisano modeliranje … · 2011. 12. 20. · modeliranje Tradicionalni pristup:algoritamski: gradivni blokovi softvera su procedure

Baza podataka i SUBP - sistemi za upravljenje bazama podataka

38

Dijagrami (nast.)

5. Dijagrami stanja� Mašine stanja: stanja, prelazi,

dogañaji, aktivnosti� Dinamički pogled sistema

� Značajni za modeliranje ponašanjainterfejsa, klase, saradnje

� Naglašavaju ponašanje objektaureñeno dogañajima

Page 39: UML (The Unified Modeling Language) Objektno-orijentisano modeliranje … · 2011. 12. 20. · modeliranje Tradicionalni pristup:algoritamski: gradivni blokovi softvera su procedure

Baza podataka i SUBP - sistemi za upravljenje bazama podataka

39

Dijagram stanja: primer

Page 40: UML (The Unified Modeling Language) Objektno-orijentisano modeliranje … · 2011. 12. 20. · modeliranje Tradicionalni pristup:algoritamski: gradivni blokovi softvera su procedure

Baza podataka i SUBP - sistemi za upravljenje bazama podataka

40

Dijagram stanja: primer

Page 41: UML (The Unified Modeling Language) Objektno-orijentisano modeliranje … · 2011. 12. 20. · modeliranje Tradicionalni pristup:algoritamski: gradivni blokovi softvera su procedure

Baza podataka i SUBP - sistemi za upravljenje bazama podataka

41

Dijagrami (nast.)

6. Dijagram aktivnosti� Varijanta dijagrama stanja� Tok od jedne do druge aktivnosti� Značajni u modeliranju funkcije

sistema� Naglašava tok kontrole izmeñu

objekata

Page 42: UML (The Unified Modeling Language) Objektno-orijentisano modeliranje … · 2011. 12. 20. · modeliranje Tradicionalni pristup:algoritamski: gradivni blokovi softvera su procedure

Baza podataka i SUBP - sistemi za upravljenje bazama podataka

42

Dijagram aktivnosti: primer

� Bezuslovni prelaz

Izabrati mesto

Angazovati arhitektu

Page 43: UML (The Unified Modeling Language) Objektno-orijentisano modeliranje … · 2011. 12. 20. · modeliranje Tradicionalni pristup:algoritamski: gradivni blokovi softvera su procedure

Baza podataka i SUBP - sistemi za upravljenje bazama podataka

43

Dijagram aktivnosti: grananje

Page 44: UML (The Unified Modeling Language) Objektno-orijentisano modeliranje … · 2011. 12. 20. · modeliranje Tradicionalni pristup:algoritamski: gradivni blokovi softvera su procedure

Baza podataka i SUBP - sistemi za upravljenje bazama podataka

44

Dijagram aktivnosti: razdvajanje i spajanje

Page 45: UML (The Unified Modeling Language) Objektno-orijentisano modeliranje … · 2011. 12. 20. · modeliranje Tradicionalni pristup:algoritamski: gradivni blokovi softvera su procedure

Baza podataka i SUBP - sistemi za upravljenje bazama podataka

45

Dijagrami (nast.)

7. Dijagram komponenti� Odnosi u skupu komponenti� Statički pogled implementacije� Komponenta obično implementira

jednu ili više klasa ili interfejsa

Page 46: UML (The Unified Modeling Language) Objektno-orijentisano modeliranje … · 2011. 12. 20. · modeliranje Tradicionalni pristup:algoritamski: gradivni blokovi softvera su procedure

Baza podataka i SUBP - sistemi za upravljenje bazama podataka

46

Dijagram komponenti: primer

Page 47: UML (The Unified Modeling Language) Objektno-orijentisano modeliranje … · 2011. 12. 20. · modeliranje Tradicionalni pristup:algoritamski: gradivni blokovi softvera su procedure

Baza podataka i SUBP - sistemi za upravljenje bazama podataka

47

Dijagrami (nast.)

8. Dijagrami razmeštaja� Skup čvorova i njihovih odnosa� Konfiguracija čvorova obrade u

vreme izvršavanja� Statički pogled razmeštaja

arhitekture� U vezi sa dijagramima komponenti

(čvor obično sadrži komponente)

Page 48: UML (The Unified Modeling Language) Objektno-orijentisano modeliranje … · 2011. 12. 20. · modeliranje Tradicionalni pristup:algoritamski: gradivni blokovi softvera su procedure

Baza podataka i SUBP - sistemi za upravljenje bazama podataka

48

Dijagrami razmeštaja: primer

Page 49: UML (The Unified Modeling Language) Objektno-orijentisano modeliranje … · 2011. 12. 20. · modeliranje Tradicionalni pristup:algoritamski: gradivni blokovi softvera su procedure

Baza podataka i SUBP - sistemi za upravljenje bazama podataka

49

UML – opšti mehanizmi

�Specifikacija�Označavanje (ukrašavanje)�Opšte podele�Mehanizmi proširivosti

Page 50: UML (The Unified Modeling Language) Objektno-orijentisano modeliranje … · 2011. 12. 20. · modeliranje Tradicionalni pristup:algoritamski: gradivni blokovi softvera su procedure

Baza podataka i SUBP - sistemi za upravljenje bazama podataka

50

Opšti mehanizmi: specifikacija

� UML – više od grafičkog jezika� Iza svakog grafičkog elementa – specifikacija:

tekstualni zapis sintakse i semantike tog elementa

� Ikona za klasu: specifikacija sa punim skupomatributa, operacija (sa punom signaturom) i ponašanjem

� Ikona – samo deo specifikacije� Drugi pogled iste klase – različit deo

specifikacije� Detalji sistema� Generisanje koda i modela (direktno i inverzno)

Page 51: UML (The Unified Modeling Language) Objektno-orijentisano modeliranje … · 2011. 12. 20. · modeliranje Tradicionalni pristup:algoritamski: gradivni blokovi softvera su procedure

Baza podataka i SUBP - sistemi za upravljenje bazama podataka

51

Opšti mehanizmi: ukrašavanje

� Dodaci osnovnom simbolu� Grafički i tekstualni� Primer: klasa

� apstraktna� vidljivost

Transaction

<<+>> execute()<<+>> rollback()<<#>> priority()<<->> timestamp()

Page 52: UML (The Unified Modeling Language) Objektno-orijentisano modeliranje … · 2011. 12. 20. · modeliranje Tradicionalni pristup:algoritamski: gradivni blokovi softvera su procedure

Baza podataka i SUBP - sistemi za upravljenje bazama podataka

52

Opšti mehanizmi: opšte podele

� Apstraktno / konkretno� klasa / objekat� Primer:

� Slučaj korišćenja / instanca slučaja korišćenja

� komponenta / instanca komponente, itd.

Jelena

Customer

nameaddresstelephone

:Customer

Marko:Customer

Page 53: UML (The Unified Modeling Language) Objektno-orijentisano modeliranje … · 2011. 12. 20. · modeliranje Tradicionalni pristup:algoritamski: gradivni blokovi softvera su procedure

Baza podataka i SUBP - sistemi za upravljenje bazama podataka

53

Opšti mehanizmi: opšte podele (nast.)

� interfejs / implementacija� ugovor / realizacija ugovora� operacija / metoda

Page 54: UML (The Unified Modeling Language) Objektno-orijentisano modeliranje … · 2011. 12. 20. · modeliranje Tradicionalni pristup:algoritamski: gradivni blokovi softvera su procedure

Baza podataka i SUBP - sistemi za upravljenje bazama podataka

54

Opšti mehanizmi: mehanizmi proširivosti

� Stereotipi� Proširuju rečnik UML-a� Primer: izuzetak – specijalna vrsta

klase

� Označene vrednosti values� Ograničenja

Page 55: UML (The Unified Modeling Language) Objektno-orijentisano modeliranje … · 2011. 12. 20. · modeliranje Tradicionalni pristup:algoritamski: gradivni blokovi softvera su procedure

Baza podataka i SUBP - sistemi za upravljenje bazama podataka

55

Opšti mehanizmi: mehanizmi proširivosti: primer

Overflow<<exception>>

EventQueue {vers ion = 3.2}

add()remove()

{ordered}

Page 56: UML (The Unified Modeling Language) Objektno-orijentisano modeliranje … · 2011. 12. 20. · modeliranje Tradicionalni pristup:algoritamski: gradivni blokovi softvera su procedure

Baza podataka i SUBP - sistemi za upravljenje bazama podataka

56

Proces (metodologija) razvoja softvera: RUP

� UML NIJE proces razvoja softvera(SDP)

� Nezavisan od izabranog SDP� UML – Najprilagoñeniji procesu koji je

� Voñen slučajevima korišćenja� Orijentisan prema arhitekturi� Iterativan i inkrementalan

� RUP (Rational Unified Process)

Page 57: UML (The Unified Modeling Language) Objektno-orijentisano modeliranje … · 2011. 12. 20. · modeliranje Tradicionalni pristup:algoritamski: gradivni blokovi softvera su procedure

Baza podataka i SUBP - sistemi za upravljenje bazama podataka

57

Proces razvoja softvera: RUP(nast.)

� Voñen slučajevima korišćenja� Željeno ponašanje sistema

� Verifikovanje i validacija arhitekturesistema

� Testiranje

� Komuniciranje

Page 58: UML (The Unified Modeling Language) Objektno-orijentisano modeliranje … · 2011. 12. 20. · modeliranje Tradicionalni pristup:algoritamski: gradivni blokovi softvera su procedure

Baza podataka i SUBP - sistemi za upravljenje bazama podataka

58

Proces razvoja softvera: RUP(nast.)

� Orijentisan prema arhitekturi� Izbor strukturnih elemenata od kojih

se sistem sastoji, i njihovih interfejsa� Izbor elemenata ponašanja� Grupisanje strukturnih elemenata i

elemenata ponašanja u podsisteme koji progresivno rastu

� Ponovna upotreba

Page 59: UML (The Unified Modeling Language) Objektno-orijentisano modeliranje … · 2011. 12. 20. · modeliranje Tradicionalni pristup:algoritamski: gradivni blokovi softvera su procedure

Baza podataka i SUBP - sistemi za upravljenje bazama podataka

59

Proces razvoja softvera: RUP(nast.)

� Iterativan i inkrementalan� Kontinualna integracija sistemske

arhitekture� Prototipovi, verzije� Voñen procenom rizika

Page 60: UML (The Unified Modeling Language) Objektno-orijentisano modeliranje … · 2011. 12. 20. · modeliranje Tradicionalni pristup:algoritamski: gradivni blokovi softvera su procedure

Baza podataka i SUBP - sistemi za upravljenje bazama podataka

60

Proces razvoja softvera: RUP(nast.)� Faze životnog ciklusa razvoja razvoja

Page 61: UML (The Unified Modeling Language) Objektno-orijentisano modeliranje … · 2011. 12. 20. · modeliranje Tradicionalni pristup:algoritamski: gradivni blokovi softvera su procedure

Baza podataka i SUBP - sistemi za upravljenje bazama podataka

61

Modeliranje arhitekture

� Arhitektura softverskog sistema� Pogledi: samostalni / interaguju

USE CASE VIEW

LOGICAL (DESIGN) VIEW

PROCESS VIEW

IMPLEMENTATION VIEW

DEPLOYMENT VIEW

Page 62: UML (The Unified Modeling Language) Objektno-orijentisano modeliranje … · 2011. 12. 20. · modeliranje Tradicionalni pristup:algoritamski: gradivni blokovi softvera su procedure

Baza podataka i SUBP - sistemi za upravljenje bazama podataka

62

Modeliranje arhitekture: pogled slučajeva korišćenja

� Krajnji korisnici, analitičari, testeri� Statički aspekt sistema:

� Dijagrami slučajeva upotrebe

� Dinamički aspekti sistema� Dijagrami interakcije� Dijagrami stanja� Dijagrami aktivnosti

Page 63: UML (The Unified Modeling Language) Objektno-orijentisano modeliranje … · 2011. 12. 20. · modeliranje Tradicionalni pristup:algoritamski: gradivni blokovi softvera su procedure

Baza podataka i SUBP - sistemi za upravljenje bazama podataka

63

Modeliranje arhitekture: logički pogled

� Klase, interfejsi� Funkcionalni zahtevi� Statički aspekt:

� Dijagrami klasa, objekata

� Dinamički aspekti:� Dijagrami interakcije� Dijagrami stanja, aktivnosti

Page 64: UML (The Unified Modeling Language) Objektno-orijentisano modeliranje … · 2011. 12. 20. · modeliranje Tradicionalni pristup:algoritamski: gradivni blokovi softvera su procedure

Baza podataka i SUBP - sistemi za upravljenje bazama podataka

64

Modeliranje arhitekture: pogled procesa

� Konkurentnost i sinhronizacija� Procesi� Performanse� Propusnost (throughput ) sistema� Dijagrami kao u logičkom pogledu� Aktivne klase� Multitasking okruženje

Page 65: UML (The Unified Modeling Language) Objektno-orijentisano modeliranje … · 2011. 12. 20. · modeliranje Tradicionalni pristup:algoritamski: gradivni blokovi softvera su procedure

Baza podataka i SUBP - sistemi za upravljenje bazama podataka

65

Modeliranje arhitekture: pogled implementacije

� Komponente� Datoteke� Fizički sistem� Statički aspekt: dijagram komponenti� Dinamiški aspekt: kao u prethodnim

pogledima

Page 66: UML (The Unified Modeling Language) Objektno-orijentisano modeliranje … · 2011. 12. 20. · modeliranje Tradicionalni pristup:algoritamski: gradivni blokovi softvera su procedure

Baza podataka i SUBP - sistemi za upravljenje bazama podataka

66

Modeliranje arhitekture: pogled razmeštaja

� Čvorovi

� Hardverska topologija sistema� Distribucija

� Isporuka� Instalacija delova fizičkog sistema

� Statićki aspekt: dijagrami razmeštaja� Dinamički aspekt: dijagrami interakcije,

stanja i aktivnosti

Page 67: UML (The Unified Modeling Language) Objektno-orijentisano modeliranje … · 2011. 12. 20. · modeliranje Tradicionalni pristup:algoritamski: gradivni blokovi softvera su procedure

Baza podataka i SUBP - sistemi za upravljenje bazama podataka

67

Modeliranje sistema korišćenjem UML-a

� Produktivnost, efikasnost, kvalitet� Informacioni sistemi velikih preuzeća� Bankarstvo i finansije� Transport� Odbrana / vazdušni prostor� Maloprodaja� Medicinska elektronika� Nauka� Distribuirane Web usluge, itd.

Page 68: UML (The Unified Modeling Language) Objektno-orijentisano modeliranje … · 2011. 12. 20. · modeliranje Tradicionalni pristup:algoritamski: gradivni blokovi softvera su procedure

Baza podataka i SUBP - sistemi za upravljenje bazama podataka

68

Modeliranje sistema korišćenjem UML-a: primeri

� Integralni komorski informacioni sistem

� PKJ / regionalne komore� Sagledavanje, elaboracija I deo

faze konstrukcije� UML notacija

Page 69: UML (The Unified Modeling Language) Objektno-orijentisano modeliranje … · 2011. 12. 20. · modeliranje Tradicionalni pristup:algoritamski: gradivni blokovi softvera su procedure

Baza podataka i SUBP - sistemi za upravljenje bazama podataka

69

Modeliranje sistema korišćenjem UML-a: primer

� Trinaest podsistema, npr. ekonomski odnosi sainostranstvom, poslovnipodsistem, pravni podsistem, itd.

Page 70: UML (The Unified Modeling Language) Objektno-orijentisano modeliranje … · 2011. 12. 20. · modeliranje Tradicionalni pristup:algoritamski: gradivni blokovi softvera su procedure

Baza podataka i SUBP - sistemi za upravljenje bazama podataka

70

Modeliranje sistema korišćenjem UML-a: primer (nast.)

� Specifikacija zahteva, analiza:� Pogled slučajeva korišćenja (dijagrami

slučajeva korišćenja, sekvenci, aktivnosti)� Logički pogled

� Projektovanje� Logički pogled (dijagrami klasa, saradnje)

� Implementacija (dijagrami komponenti, saradnje)

Page 71: UML (The Unified Modeling Language) Objektno-orijentisano modeliranje … · 2011. 12. 20. · modeliranje Tradicionalni pristup:algoritamski: gradivni blokovi softvera su procedure

Baza podataka i SUBP - sistemi za upravljenje bazama podataka

71

Modeliranje sistema korišćenjem UML-a: primer (nast.)

u s a g la s a v a n je i s t a n d a rd iza c ija

m e d ju n a ro d n is u bj e k at

d o m a c i s u b je k a t

in te rn o f u n k c io n is a n je

ra zm e n a p o d a ta k a

za k o n s k a re g u la t iv a

d o k u m e n t a c ija

in t e rn i s u b je k a t

Page 72: UML (The Unified Modeling Language) Objektno-orijentisano modeliranje … · 2011. 12. 20. · modeliranje Tradicionalni pristup:algoritamski: gradivni blokovi softvera su procedure

Baza podataka i SUBP - sistemi za upravljenje bazama podataka

72

Modeliranje sistema korišćenjem UML-a: primer (nast.)

<<inc l>> <<inc l>>

<<inc l>>

<<inc l>>

<<inc l>>>

vodjenje pos l.s is tema

rukovods tvous luge za

r ukovo ds tv o

iz rada aplikac ija

rad sa bazama

obukaazur.sajtaizves tavanje

op re ma

dokument.

udr.odbor

s is t.odbor

u.o.savet

Informac ioni centar

adminis tr iranjemreze

us luge za odbore<<uses>>

Page 73: UML (The Unified Modeling Language) Objektno-orijentisano modeliranje … · 2011. 12. 20. · modeliranje Tradicionalni pristup:algoritamski: gradivni blokovi softvera su procedure

Baza podataka i SUBP - sistemi za upravljenje bazama podataka

73

Modeliranje sistema korišćenjem UML-a: primer (nast.)

� Spoljna trgovina� Izdavanje sertifikata da je kompanija

registrovana za posao� Analiza:

� Pogled slučajeva korišćenja(dijagrami slučajeva korišćenja, sekvenci, aktivnosti)

� Logički pogled

Page 74: UML (The Unified Modeling Language) Objektno-orijentisano modeliranje … · 2011. 12. 20. · modeliranje Tradicionalni pristup:algoritamski: gradivni blokovi softvera su procedure

Baza podataka i SUBP - sistemi za upravljenje bazama podataka

74

Modeliranje sistema korišćenjem UML-a: use case view – use case dijagram

p re trazivan je b .p .

reg is trovan je zah teva

p rove ra dokum en a ta

ko ris n ik

izdava n je uve ren ja

zah tevuve ren je

s luzba

<<include>><<inc lude>>

<<include >>

Page 75: UML (The Unified Modeling Language) Objektno-orijentisano modeliranje … · 2011. 12. 20. · modeliranje Tradicionalni pristup:algoritamski: gradivni blokovi softvera su procedure

Baza podataka i SUBP - sistemi za upravljenje bazama podataka

75

Modeliranje sistema korišćenjem UML-a: use case view - dijagram sekvenci

: k o r is n ik: R eg _ p r ed u z e c

a : Z a h t ev

: s lu z b a

P r im i (z a h t e v)

P ro ve r iD o k u m e n t a ()

P re t ra z i (m . b ro j )i f d o k . O K

Z iva ( t e k u c i)i f p o s t o j i

. . . . . . . . . . .

Page 76: UML (The Unified Modeling Language) Objektno-orijentisano modeliranje … · 2011. 12. 20. · modeliranje Tradicionalni pristup:algoritamski: gradivni blokovi softvera su procedure

Baza podataka i SUBP - sistemi za upravljenje bazama podataka

76

Modeliranje sistema korišćenjem UML-a: use case view – dijagram aktivnosti

p ro ve ri t i d o ku m e n t o n a m e n i

i m a u p l atn i c u ?

i m a m a ti cn i b ro j ?

D A

n a m e n a = " xxx"

O K

.... . . . . .

. . . . . . . . . .

. . . . . . . . . . .

Page 77: UML (The Unified Modeling Language) Objektno-orijentisano modeliranje … · 2011. 12. 20. · modeliranje Tradicionalni pristup:algoritamski: gradivni blokovi softvera su procedure

Baza podataka i SUBP - sistemi za upravljenje bazama podataka

77

Modeliranje sistema korišćenjem UML-a: logical view – dijagram klasa Z a h t e v

m B ro j : S t r in gn a z iv : S t r in gm e s t o : S t r in ga d re s a : S t r in gn a m e n a : E n u m e ra t eu p la t a : In tn o va : B o o le a nd a t u m : D a t e. . .

o t vo r iN o vi (m . b ro j ) : z a h t e vu n e s i (p o d a c i ) : vo idu n e s iN ( ) : vo ids t a m p a ( ) : b o o le a ng e n U ve re n je (m . b ro j , n a z iv, . . . )s t a m p a jU ve re n je (m . b ro j . n a z iv, . . . )a d d N a z iv( ) : S t r in ga d d M e s t o ( ) : S t r in g. . . ( )a d d N a m e n a ( ) : E n u m e ra t ea d d U p la t a ( ) : In tg e t N o va ( ) : B o o le a na d d D a t u m ( ) : D a t e. . . ( )

R e g P re d u z e c a

m B ro j : S t r in gn a z iv : S t r in gm e s t o : S t r in ga d re s a : S t r in g. . .

p re t ra z i (m . b ro j ) : * s lo gz iva ( t e k u c i ) : b o o le a n. . . ( )

0 . . n

0 .. 1

0 . . n

0 .. 1

Page 78: UML (The Unified Modeling Language) Objektno-orijentisano modeliranje … · 2011. 12. 20. · modeliranje Tradicionalni pristup:algoritamski: gradivni blokovi softvera su procedure

Baza podataka i SUBP - sistemi za upravljenje bazama podataka

78

Modeliranje sistema korišćenjem UML-a: primer (nast.)

� Projektovanje� Logički pogled (dijagrami

saradnje, klasa)

Page 79: UML (The Unified Modeling Language) Objektno-orijentisano modeliranje … · 2011. 12. 20. · modeliranje Tradicionalni pristup:algoritamski: gradivni blokovi softvera su procedure

Baza podataka i SUBP - sistemi za upravljenje bazama podataka

79

UML – ZAKLJU ČAK

� Vizuelizacija� Laka komunikacija� Grafički jezik� Dobro definisana semantika

� Specifikacija� Zahtevi� Odluke u analizi, projektovanju i

implementaciji

Page 80: UML (The Unified Modeling Language) Objektno-orijentisano modeliranje … · 2011. 12. 20. · modeliranje Tradicionalni pristup:algoritamski: gradivni blokovi softvera su procedure

Baza podataka i SUBP - sistemi za upravljenje bazama podataka

80

UML – ZAKLJU ČAK (nast.)

� Konstrukcija� NIJE vizuelni programski jezik� Direktna veza modela i raznih jezika

(Java, C++, Visual Basic, RDB, OO DB)

� Generisanje koda (Forward engineering)

� Generisanje modela (Reverse engineering)

Page 81: UML (The Unified Modeling Language) Objektno-orijentisano modeliranje … · 2011. 12. 20. · modeliranje Tradicionalni pristup:algoritamski: gradivni blokovi softvera su procedure

Baza podataka i SUBP - sistemi za upravljenje bazama podataka

81

UML – ZAKLJU ČAK (nast.)

� Dokumentovanje� Izvršni kod� Zahtevi, arhitektura, projekat, izvorni

kod;� Prototipovi, verzije, projektni planovi