You are on page 1of 82

Oblikovanje programske potpore

Arhitektura programske potpore i UML (2.dio)


Izvori:

Sommerville, I., Software engineering, 8th ed., Addison-Wesley,


2007.
G. Booch, J. Rumbaugh, I. Jacobson: Unified Modeling Language
User Guide, 2nd Ed., 2005.
Simon Bennett, John Skelton, Ken Lunn: Schaum's Outline of UML,
2nd Ed., 2005.
RATIONAL Software (IBM) prezentacija.
OMG Tutorial Series prezentacija.
Gunnar Overgaard, Bran Selic, Conrad Bock, Cris Kobryn
prezentacija.

Modeli i dijagrami
Model je pojednostavljeni opis sustava iz odreene perspektive.
Dokumentira se dijagramima.
Obiljeja dijagrama:

Dijagram je pogled u model predstavljen s aspekta odreenog


dionika.

Dijagram je djelomian opis sustava.

Dijagram mora biti semantiki konzistentan s ostalim pogledima.


U okviru UML standarda (v 1.3) postoji
devet standardnih dijagrama:
Statiki pogledi (5 dijagrama):

dijagram obrazaca uporabe, dijagram razreda, dijagram objekata,


dijagram komponenata, dijagram razmjetaja

Dinamiki pogledi (4 dijagrama):

sekvencijski dijagram, komunikacijski (kolaboracijski) dijagram,


dijagram stanja (statechart), dijagram aktivnosti
2

UML dijagrami
U UML v 2.2 postoji 14 dijagrama:

Statiki pogledi:

obrasci uporabe, razredi, objekti, komponente, razmjetaj,

profili, sloeni (engl. composite), paketi


Dinamiki pogledi:

sekvencijski, komunikacijski, stanja, aktivnosti

pregledni interakcijski (engl. interaction overview),


vremenski (engl. timing)

(5 dodatnih dijagrama iz UML 2.2 nije potrebno detaljno poznavati)

Modeli, pogledi i dijagrami

Statiki pogledi

Razmatrano ranije

Use Case
Use Case
Diagrams
Sequence
Diagrams
Diagrams

Scenario
Komunikacijski
Scenario
Diagrams
Collaboration
Diagrams
Diagrams

Scenario
Scenario
Diagrams
Statechart
Diagrams
Diagrams

Dijagrami
interakcija

Use Case
Use Case
Diagrams
Use Case
Diagrams
Diagrams

State
State
Diagrams
Class
Diagrams
Diagrams

State
State
Diagrams
Object
Diagrams
Diagrams

State
State
Diagrams
Component
Diagrams
Diagrams

Models

Component
Component
Diagrams
Deployment
Diagrams

Activity
Diagrams

Diagrams

Dinamiki pogledi

UML dijagrami

Dijagrami interakcija
(dijagrami uzajamnog djelovanja)
Sekvencijski dijagrami
Komunikacijski dijagrami

Dijagrami interakcija

Pokazuju interakcije izmeu instanci razreda u objektno


usmjerenom modelu sustava.
Mogu se koristiti i za prikaz interakcija izmeu entiteta u drugim
modelima arhitekture programske potpore.

To su grafovi instanci (vjerojatno s meuvezama) i izvorima


poruka (podraaji).

Pokazuju postojee instance.

Pokazuju stvaranje i brisanje instanci.

Vrste dijagrama interakcija (sintaksno i semantiki povezani):

Sekvencijski dijagrami (fokus na vremenske odnose).


Komunikacijski (kolaboracijski) dijagrami (fokus na
strukturne odnose). Oba naziva su u uporabi.
6

Dijagrami interakcija
Interakcije se modeliraju ako se eli:

specificirati kako instance uzajamno djeluju.

identificirati suelja (engl. interfaces).

raspodijeliti zahtjeve (engl. distribute requirements).


Sekvencijski dijagrami:

pokazuju eksplicitnu vremensku ureenost izmeu


podraaja.

nuni u modeliranju npr. sustava za rad u stvarnom vremenu


(engl. real time).
Komunikacijski dijagrami:

pokazuju strukturu interakcija.

fokusiraju se na djelovanje pojedinih instanci.


7

Interakcijski dijagrami
Sekvencijski
(analizirano ranije)

Stari naziv

Komunikacijski
(kolaboracijski)

Instance
(objekti)

Odgovaraju na pitanje:

Kada poruke ?

Tko kome alje poruke ?

Komunikacijski dijagram

Prikazuje dinamiko ponaanje (usredotoenost na poruke).


Prikazuje tko alje kome poruke. Ureen redoslijed.
Ne prikazuje kada se alje pojedina poruka. To je uloga
sekvencijskog dijagrama.

Objekt: c
Razred:
Client
veza
poruka

Anoniman
objekt
redoslijed u
sekvenci poruka

Primjer_1: Promjena plana leta


(engl. Change flight itinerary)
Funkcionalni zahtjevi:

Obrazac uporabe (tekstni oblik):

Aktori:
putnik, raun klijenta u bazi, rezervacijski sustav.
Preduvjeti:
putnik se prijavio na sustav.
Temeljni tijek:

Putnik odabire opciju promjena plana leta.

Sustav dohvaa putnikov raun i plan leta iz baze.

Sustav pita putnika da odabere segment leta koji eli


promijeniti; putnik to i uini.

Sustav pita putnika da odredi novu polaznu i krajnju toku


leta; putnik to i uini.

Alternativni tijek :
...

10

Primjer_1: Promjena plana leta


(engl. Change flight itinerary)
Sekvencijski dijagram:

11

Primjer_1: Promjena plana leta


(engl. Change flight itinerary)
Komunikacijski dijagram:
(najvia razina apstrakcije)

12

Primjer_1: Promjena plana leta


(engl. Change flight itinerary)
Komunikacijski dijagram:
(nia razina apstrakcije)

13

Primjer_2: Rezervacija hotela


Sekvencijski dijagram:

14

Primjer_2: Rezervacija hotela


Komunikacijski dijagram:
objekt
poruka

objekt

redoslijed u
sekvenci poruka
refleksivna veza
iteracija

objekt

objekt
objekt
15

Modeli, pogledi i dijagrami

Statiki pogledi

Razmatrano ranije

Use Case
Use Case
Diagrams
Sequence
Diagrams
Diagrams

Scenario
Komunikacijski
Scenario
Diagrams
Collaboration
Diagrams
Diagrams

Scenario
Scenario
Diagrams
Statechart
Diagrams
Diagrams

Dijagrami
interakcija

Use Case
Use Case
Diagrams
Use Case
Diagrams
Diagrams

State
State
Diagrams
Class
Diagrams
Diagrams

State
State
Diagrams
Object
Diagrams
Diagrams

State
State
Diagrams
Component
Diagrams
Diagrams

Models

Component
Component
Diagrams
Deployment
Diagrams

Activity
Diagrams

Diagrams

Dinamiki pogledi

UML dijagrami

Dijagrami stanja
(UML naziv: Statecharts)

17

Dijagrami stanja Stroj stanja

Automat je stroj ije ponaanje ne ovisi samo o trenutnom


ulaznom poticaju ve i o nekoj prolosti ulaza.
Automat je karakteriziran internim stanjem koje predstavlja
njegovu prolost. Automat ima memoriju.
Automat mijenja stanje na poticaj ulaznih signala okidanja.
Grafiki prikaz
Stanje oznaujemo pravokutnikom
ponaanja automata
ali zaobljenih kutova.

Npr. paljenje arulje:

stanje
ulazni
signal

Poetno stanje

prijelaz

18

Dijagrami stanja Izlazi i akcije

Kako Automat mijenja stanje, moe generirati izlazne akcije,


na slici oznaeno print(on).

izlaz je funkcija ulaza i stanja

izlaz je funkcija stanja


19

Dijagrami stanja Proireni stroj stanja

Stanje se proiruje dodatnim varijablama (npr. ctr: Integer).


Promjena vrijednosti varijable: ctr := ctr + 1.
Prijelazom u stanje Lamp On, izlazna akcija: varijabla ctr se
inkrementira.

20

Dijagrami stanja Proireni stroj stanja


Proireni Mealy stroj stanja je definiran:

Skupom
Skupom
Skupom
Skupom

ulaznih signala (ulazni alfabet)


izlaznih signala (izlazni alfabet)
stanja
prijelaza (tranzicija)

Signalima okidanja
Akcijama koje se izvode pri prijelazu

Skupom proirenih varijabli stanja


Poetnim stanjem
Skupom konanih stanja (ako je terminirajui automat)

21

Dijagrami stanja UML grafiki izgled


Stanje vie razine naziva top

Stanje nie razine

Poetno
pseudo
stanje

Prijelaz

Zavrno stanje

Poticaj, okida,
ulazni signal

Akcija
koja se
izvodi pri
prijelazu22

Dijagrami stanja

Dijagram stanja modelira ponaanje sustava (engl. behavior)


Ponaanje je upravljano dogaajima (engl. event driven).
Dijagram stanja nije pogodan za opis kontinuiranog ponaanja. UML
nema (za sada) mogunost modeliranja kontinuiranog ponaanja.
Dijagram stanja se odnosi u najveem broju sluajeva na ponaanje
objekta.

Dogaaj
Dogaaj je vrsta vidljive pojave. Mogui su dogaaji:

Interakcija

Pojava vremenskih dogaaja

Sinkroni poziv operacije objekta (dogaaj poziva).


Asinkroni prihvat signala (dogaaj signala).
Istek vremenskog intervala.
Vremenski dogaaj takta ili unaprijed definiranog trenutka.

Promjena vrijednosti nekog entiteta u sustavu

Instanca dogaaja pojavljuje se u odreenom trenutku i nema


trajanje.
23

Dijagrami stanja
Preslikavanje stroja stanja u tijek ponaanja objekta

(dogaaj)

(dogaaj)

(dogaaj)

24

Dijagrami stanja
Na vanjski poticaj neki objekt moe inicirati i
dijagramom predstaviti vlastitu nit izvoenja:
objekt

poruka,
dogaaj

ponaanje
objekta
opisano
strojem stanja

poruka,
dogaaj

25

Dijagrami stanja slijed akcija


Akcije pri izlazu iz stanja (izlazne akcije, engl. exit) izvode se
prije akcije prijelaza. Npr.: exit/print("exiting").

Akcije pri ulazu u stanje (ulazne akcije, engl. entry) izvode se


nakon akcija prijelaza. Npr. entry/lamp.off().
Primjer: pojavi se dogaaj off:

Ako je bio u

LampOn

Ako je bio u

LampOff

26

Dijagrami stanja uvjetno izvoenje prijelaza

Uvjeti za izvoenje akcija (engl. guards) su Booleovi predikati


(mogu biti samo istiniti ili lani) bez popratnih efekata.
dogaaj
akcija

U uglatoj zagradi
uvjeti povezani
logikim vezicama
27

Dijagrami stanja
Statiko uvjetovanje grananja - crni krug
grafiki prikaz odluivanja
- uvjeti su poznati prije grananja

dogaaj

statiko
grananje
nakon bid
(koji ne
potie neki
izraun)

28

Dijagrami stanja
Dinamiko uvjetovanje grananja bijeli krug
Uvjeti se izraunavaju pri izlasku iz stanja.
Uvjeti nisu poznati unaprijed.
izraunavanje

dinamiko
grananje

29

Dijagrami stanja hijerarhija stanja


UML dijagram stanja omoguuje prikaz hijerarhije stanja. To je
proirenje klasinog FSM (engl. finite state machine) stroja stanja.
Ako je stanje LampOff
dogaaj flash inicira ulaz u
stanje LampFlashing

stanje LampFlashing
dekomponirano u stroj s
dva interna podstanja

Ako je stanje LampFlashing dogaaj on inicira Izlaz iz


bilo kojeg podstanja od stanja LampFlashing

30

Dijagrami stanja prijelaz zavretka

UML dijagram stanja omoguuje oznaavanje prijelaza u


zavrno stanje nakon to na nioj hijerarhijskoj razini stroj
stanja zavri u krajnjem stanju.

Taj prijelaz nije iniciran nekim asinkronim dogaajem


(engl. trigger) ve se dogaa automatski pri ulazu u zavrno
podstanje.

poetno
podstanje

zavrno
podstanje

nema posebnog
okidaa za prijelaz

31

Dijagrami stanja redoslijed prijelaza

Jedan dogaaj (na slici on) moe inicirati vie prijelaza:


unutar stanja (na nioj hijerarhijskoj razini) i prijelaze na
vioj hijerarhijskoj razini.

Prednost imaju prijelazi na najnioj, unutarnjoj


hijerarhijskoj razini.

32

Dijagrami stanja redoslijed akcija


Ako je sustav u unutarnjem stanju S11, odredi redoslijed
zbivanja nakon pojave dogaaja E:
Pretpostavka: akcija enS2 generira dogaaj initS2.

33

Dijagrami stanja paralelna stanja

(ortogonalnost)

UML dijagram stanja omoguuje prikaz paralelnih stanja.

To je jo jedno proirenje klasinog FSM (engl. finite state


machine) stroja stanja.
Primjer strojeva stanja istog entiteta iz dvije razliite
(ortogonalne) perspektive (dob i financijski status):

34

Dijagrami stanja paralelna stanja


Dva simultana opisa mogu se kombinirati u jedan dijagram:

35

Dijagrami stanja paralelna stanja

Regije mogu detektirati isti zajedniki dogaaj (na slici


robBank) i reagiraju na njega simultano.

To najee rezultira u ispreplitanju akcija.

36

Dijagrami stanja interakcija paralelnih stanja


Interakcija izmeu paralelnih stanja odvija se preko
zajednikih (dijeljenih) varijabli.
zajednike
varijable

Ovaj dogaaj
(zahtjev) znai
da si zdrav

37

Dijagrami stanja ravanje i skupljanje


Prikaz ravanja i skupljanja paralelnih prijelaza koristi se za
opis prijelaza u i iz paralelnih regija.

38

Dijagrami stanja pogreno modeliranje

Pogreno je modelirati neovisne objekte ortogonalnim


regijama.

Paralelna stanja koristimo u modeliranju istog objekta ali


promatrano iz razliitih (ortogonalnih) perspektiva.

39

Dijagrami stanja primjer


Prijava na bankarski sustav dogaaji i akcije

dogaaj
uvjet
akcija

Unos valjanog broja socijalnog osiguranja (SSN) i unos valjanog


osobnog identifikacijskog broja (PIN).
Zatim provjera (validacija) upisane informacije.
poetno
stanje

zavrna
stanja

dogaaj
aktivnost
prijelaz

40

Dijagrami stanja saetak

UML koristi varijantu statechart dijagrama (David Harel,


1980) prilagoenu modeliranju programske potpore.
Dijagrami stanja koriste se za modeliranje dogaajima
poticanog ponaanja sustava (engl. event driven behavior).
U objektno usmjerenoj arhitekturi dijagrami stanja pogodni su
za opis ponaanja aktivnih objekata. Sustavi se prikazuju
kao mrea meusobnog djelovanja (kolaboracije) strojeva
stanja.
U okviru UML sustava dijagrami stanja sadre napredne
znaajke:

Hijerarhijsko modeliranje stanja.


Modeliranje paralelnih (ortogonalnih) stanja.
Aktivnosti u stanjima.
Akciju pri ulasku/izlasku iz stanja.
Statiko i dinamiko uvjetno grananje.
41

Modeli, pogledi i dijagrami

Statiki pogledi

Razmatrano ranije

Use Case
Use Case
Diagrams
Sequence
Diagrams
Diagrams

Scenario
Komunikacijski
Scenario
Diagrams
Collaboration
Diagrams
Diagrams

Scenario
Scenario
Diagrams
Statechart
Diagrams
Diagrams

Dijagrami
interakcija

Use Case
Use Case
Diagrams
Use Case
Diagrams
Diagrams

State
State
Diagrams
Class
Diagrams
Diagrams

State
State
Diagrams
Object
Diagrams
Diagrams

State
State
Diagrams
Component
Diagrams
Diagrams

Models

Component
Component
Diagrams
Deployment
Diagrams

Activity
Diagrams

Diagrams

Dinamiki pogledi

UML dijagrami

Dijagrami aktivnosti
(UML naziv: Activity diagrams)

43

Dijagrami aktivnosti - proirenje klasinih flow dijagrama

Primjenjuju se za opis modela toka upravljanja (engl. control flow) ili


toka podataka (objekata).
Ne primjenjuju se za modeliranje dogaajima poticanog ponaanja.
Tipina primjena: opis poslovnog modela u kojem elimo modelirati tijek
zadataka i poslova.
Temeljna razlika izmeu dijagrama aktivnosti i komunikacijskih dijagrama
te dijagrama stanja je nain iniciranja pojedinog koraka a posebice
kako koraci dobivaju ulazni signal ili podatke (u komunikacijskom
dijagramu to su poruke, u dijagramu stanja to su dogaaji).
U modeliranju toka upravljanja svaki novi korak poduzima se nakon
zavrenog prethodnog (neovisno da li su ulazi dostupni, ispravni ili
potpuni u tom asu). To je tzv. pull nain djelovanja (povlaenje).
U modeliranju toka podataka (objekata) sljedei korak se poduzima kada
su svi ulazni podaci dostupni. To je tzv. push nain djelovanja
(guranje).
Dijagrami aktivnosti vrlo su slini dijagramima stanja, ali s drugaijom
semantikom elemenata s kojima se modelira.
44

Dijagrami aktivnosti
Koraci u dijagramu aktivnosti slini su stanjima u dijagramu stanja osim
to se prijelazi izvode nakon zavretka prethodnog koraka.

Temeljni elementi u dijagramu aktivnosti su aktivnosti (akcije).

Realizacija neke aktivnosti moe se opisati s jednom ili vie


podaktivnosti na nioj hijerarhijskoj razini.

Podaktivnost se koristi za funkcionalnu dekompoziciju.


Temeljne oznake za aktivnost:
Bez oznaka pre i post uvjeta:
S tekstom o pre i post uvjetima:

45

Dijagrami aktivnosti u objektnom okruenju


Primjer:

Objekt iz razreda POEmployee izvodi operacije


sortMail() i deliverMail().

deliverMail()

Operacije opisujemo slijedom dviju aktivnosti:


ima
podaktivnosti

Aktivnost Deliver Mail ima podaktivnosti koje se razjanjavaju novim


dijagramom:

ima daljnje
podaktivnosti
46

Dijagrami aktivnosti

dijagram aktivnosti kao metoda

Programska potpora opisana dijagramima aktivnosti je potpuno


objektno usmjerena ako svi dijagrami aktivnosti realiziraju metode
(procedure) kao implementaciju pojedinih operacija.
Na slici dijagram aktivnosti realizira (oznaka realize) operaciju
deliverMail().
Pokazuje se povezivanje dijagrama razreda i dijagrama aktivnosti.

47

Dijagrami aktivnosti dinamiki paralelizam

Neka aktivnost ili podaktivnost moe se izvoditi vie puta.


Broj izvoenja ovisi o rezultatu evaluacije nekog izraza tijekom
izvoenja.
Unutar simbola aktivnosti/podaktivnosti moe se umetnuti UML
oznaka brojnost koja odreuje dopustiv maksimalan broj
paralelnog izvoenja (npr. osiguranje od beskonane petlje).
Nakon zavretka svih paralelnih aktivnosti inicira se prijelaz na
novi korak.
ovdje 0..*, odnosno *

48

Dijagrami aktivnosti objekt kao uvjet prijelaza

Katkad je potrebno prijelaz s jedne aktivnosti na drugu aktivnost


uvjetovati postojanjem odreene vrste objekta (npr.
ulazno/izlaznih parametara). U prijelaz se umee simbol:

U tom stanju nema nikakve aktivnosti. Tok se nastavlja do


sljedeeg koraka nakon zadovoljenja uvjeta.
Npr. aktivnost Take Order mora generirati izlazni parametar
(objekt odreenog tipa), a aktivnost Fill Order mora imati
ulazni parametar (objekt odreenog tipa).
U modeliranju uvjetnog prijelaza koriste se crtkane oznake.

49

Dijagrami aktivnosti koordiniranje koraka


Za opis koordinacije koraka preuzete su oznake iz dijagrama stanja.

Poetno stanje
Zavrno stanje
Ravanje i skupljanje
(engl. fork and join)

Toka odluivanja
Stanje u kojem se
odvija sinkronizacija
paralelnih aktivnosti

ova se oznaka ne
uporablja esto
50

Dijagrami aktivnosti koordiniranje koraka


Primjer dijagrama aktivnosti gradnje kue.
Oznaena su poetna stanja, zavrna stanja, dvije paralelne
sekvence aktivnosti, toke ravanja i skupljanja te sinkronizacije
(ekanje na zavretak neke aktivnosti.
paralelne
aktivnosti

U ovom dijagramu aktivnosti preuzeta je sintaksa dijagrama


stanja.
51

Dijagrami aktivnosti koordiniranje koraka


U koordinaciji koraka mogu sudjelovati i neki objekti (vidi objekt
kao uvjet prijelaza):

52

Dijagrami aktivnosti koordiniranje koraka


Uvjetovanje toka aktivnosti moe se izvesti na dva naina: u
tokama odluivanja ili na ravanju. Prikazana su dva dijagrama
aktivnosti koji imaju jednako znaenje. Prvi je opirniji, a drugi
saetiji.
toka odluivanja

53

Dijagrami aktivnosti particije

Particije su mehanizam grupiranja aktivnosti.


Particije se odjeljuju plivakim stazama (engl. swimlanes).
Plivake staze ne nose nikakvu posebnu semantiku osim
organizacijske, gdje se istie koji dio sustava izvodi koje aktivnosti.
Uobiajeno je plivake staze oznaiti.

54

Dijagrami aktivnosti izlaz i ulaz signala


U dijagramu aktivnosti
katkada je potrebno poslati
ili primiti signal.

Poalji (engl. send) signal


preslikava se u prijelaz i
akciju slanja signala.
Primi (engl. receive) signal
preslikava se u stanje
ekanja na signal bez akcije.

55

Dijagrami aktivnosti Primjer: povrat kupljene robe


kupac

prodavatelj

raunovodstvo skladite

56

Dijagrami aktivnosti Primjer: gradnja kue

poetno stanje

stanja
aktivnosti

toka
odluivanja
ravanje
skupljanje

zavrno stanje

tok objekta (kreiranje)

57

Dijagrami aktivnosti Primjer: bankomat

58

Dijagrami aktivnosti savjeti u modeliranju

Dijagrami aktivnosti naslijedili su iz dijagrama stanja potrebu za dobrom


strukturom i ugnjeivanjem sloenih stanja.

Dobro ugnjeivanje:

Loe ugnjeivanje:

59

Dijagrami aktivnosti saetak

Dijagrami aktivnosti koriste se za modeliranje ponaanja koje nije jako


ovisno o vanjskim dogaajima. Primarno za modeliranje poslovnog
procesa (a ne na npr. oblikovanje ugraenih sustava zasnovanih na
raunalima).
Dijagrami aktivnosti slini su dijagramima stanja (do UML v1.3 nisu bili
posebno deklarirani, u UML v2.0 potpuno su odvojeni).
Dijagrami aktivnosti posjeduju korake koji se izvode do zavretka (nisu
prekidani dogaajima).
Dijagrami aktivnosti izrauju se u sluaju kad je usredotoenost
ponaanja na pojedinim aktivnostima i njihovom slijedu a ne na to koji
objekti su odgovorni za te aktivnosti.
Izmeu koraka postoji tok objekata.
Upravljaki tok i podatkovni/objektni tok nemaju razliitu ve jedinstvenu
semantiku.

60

Modeli, pogledi i dijagrami

Statiki pogledi

Razmatrano ranije

Use Case
Use Case
Diagrams
Sequence
Diagrams
Diagrams

Scenario
Komunikacijski
Scenario
Diagrams
Collaboration
Diagrams
Diagrams

Scenario
Scenario
Diagrams
Statechart
Diagrams
Diagrams

Dijagrami
interakcija

Use Case
Use Case
Diagrams
Use Case
Diagrams
Diagrams

State
State
Diagrams
Class
Diagrams
Diagrams

State
State
Diagrams
Object
Diagrams
Diagrams

State
State
Diagrams
Component
Diagrams
Diagrams

Models

Component
Component
Diagrams
Deployment
Diagrams

Activity
Diagrams

Diagrams

Dinamiki pogledi

UML dijagrami

Dijagrami komponenata
(UML naziv: Component diagrams)

62

Dijagrami komponenata

Dijagrami komponenata predstavljaju statiki pogled na sustav.


Opisuju organizaciju i meuovisnost (fiziku strukturu) izmeu
implementacijskih komponenata programske potpore.
Dijagrami komponenata dio su specifikacije arhitekture programske
potpore.
Dijagrame komponenata oblikuju arhitekti programske potpore i
programeri.
Vrste komponenata:

Izvorni kod

Binarni (objektni) kod

Statike ili dinamike knjinice programskih komponenata

Izvrne (aka also known as exe) komponente programske


potpore.

Tablice, druge datoteke, baze podataka


Ovisnost komponenata oznauje se crtkanom strelicom.

63

Dijagrami komponenata
izvrna datoteka

ovisnost

ovisnost (engl. dependency) strelica prema entitetu o kome promatrani entitet


ovisi. Npr.: find.exe ovisi o dvije dll komponente.
64

Dijagrami komponenata - UML 2.0

Osim ovisnosti komponenta uobiajeno ima suelje preko koje definira


svoje ponaanje i preko kojega se povezuje s drugim komponentama.
Suelje je samo definicija skupa operacija.
Preko suelja komponenta daje (engl. provides) ili trai (zahtijeva) (engl.
requires) uslugu od drugih komponenata.
Postoje dva naina predstavljanja komponente i suelja:

oznaka izvrne
komponente
66

Dijagrami komponenata - UML 2.0


Primjer:

Program za rukovanje studentskom anketom o predmetima.


Student moe: itati, upisivati, unositi izmjene i zakljuati
podatke.
Studentski program je instaliran kao klijent na osobnom
raunalu.
Prodekanski (manager) program je instaliran kao klijent na
osobnom raunalu u njegovom uredu.
Postoji jedan ili vie posluitelja s bazom podataka i
komponentama za upravljanje pojedinim predmetima.

67

Dijagrami komponenata - UML 2.0

68

Modeli, pogledi i dijagrami

Statiki pogledi

Razmatrano ranije

Use Case
Use Case
Diagrams
Sequence
Diagrams
Diagrams

Scenario
Komunikacijski
Scenario
Diagrams
Collaboration
Diagrams
Diagrams

Scenario
Scenario
Diagrams
Statechart
Diagrams
Diagrams

Dijagrami
interakcija

Use Case
Use Case
Diagrams
Use Case
Diagrams
Diagrams

State
State
Diagrams
Class
Diagrams
Diagrams

State
State
Diagrams
Object
Diagrams
Diagrams

State
State
Diagrams
Component
Diagrams
Diagrams

Models

Component
Component
Diagrams
Deployment
Diagrams

Activity
Diagrams

Diagrams

Dinamiki pogledi

UML dijagrami

Dijagrami razmjetaja
(UML naziv: Deployment diagrams)

70

Dijagrami razmjetaja

Dijagrami razmjetaja prikazuju topologiju sustava i


usredotoeni su na odnos sklopovskih i programskih dijelova.
Dijagrami razmjetaja pripadaju statikom pogledu na sustav.
Posebice su znaajni u raspodijeljenim sustavima gdje je naroito
vano prikazati razmjetaj komponenata.
Sklopovske komponente sadre:

vorove (engl. nodes), koji pokazuju sklopovske naprave.

Vezice (engl. connections), koje pokazuju kako vorovi


komuniciraju.
Programske komponente

Predstavljaju implementacijske module

Ovisnosti opisuju odnose izmeu tih komponenata


Vezice i ovisnosti oznauju se na dijagramu razmjetaja razliito
(vezice punom crtom a ovisnost crtkanom strelicom).
71

Dijagrami razmjetaja sklopovskih elemenata

vezica

vor

72

Dijagrami komponenata sklopovlje i programske komponente


Primjer: kupnja nekretnine

vor

sklopovska komponenta:
Real Estate Server

ovisnost

baza
podataka
programska
komponenta

vezica

suelje
komponente

sklopovska
komponenta: aPC
ovisnost (engl. dependency) strelica prema entitetu
o kome promatrani entitet ovisi.

73

UML dijagrami (v 2.2)

Taksonomija dijagrama.

Dijagrami paketa.

Dijagrami profila.

Dijagrami sloene strukture.

Vremenski dijagrami.

Pregledni interakcijski dijagrami.

74

UML dijagrami (v 2.2)

75

UML dijagrami
Dijagrami paketa:

Opisuju odnose (ovisnosti) izmeu paketa koji ine model.

Paket omoguuje grupiranje elemenata modela (npr. dijagrama)


ali i drugih paketa (hijerarhija !).

76

UML dijagrami
= "neto posebno"

Dijagrami profila:

Dijagrami profila su pomoni UML dijagrami koji omoguuju


definiranje novih i specifinih stereotipova, oznaka i ogranienja.

Profili omoguuju da se izvorni model prilagodi za razliite


platforme (npr. .NET, Java) i domene primjene (npr. sustavi za rad
u stvarnom vremenu, modeliranje poslovnih procesa)

Koriste oznaku kao i paket.

Profili mogu definirati razrede,


stereotipove,
tipove podataka, primitivne
tipove, enumeracije i sl.

Metaclass je razred profila koji


se moe proiriti sa specifinim,
jednim ili vie, stereotipom
77

UML dijagrami
Dijagrami sloene strukture razreda ili komponente (engl.
composite):

Opisuju internu strukturu razreda ili komponente i kolaboracije


koje ta struktura omoguuje.

Ukljuuju interne dijelove i vrata (engl. ports) za meusobnu


interakciju dijelova i interakciju s vanjskim svijetom, te suelja.

Suelje koje
prua uslugu

78

UML dijagrami
Dijagrami sloene strukture komponenata
Primjer: komponenta Store sadri druge komponente.

suelje:
daje
uslugu

suelje:
trai ili
prihvaa
uslugu

vrata (engl.
port)
79

UML dijagrami
Vremenski dijagrami (engl. timing)

Opisuju ponaanje jednog ili vie objekata kroz odreen


vremenski razmak.

To je poseban oblik sekvencijskih dijagrama (osi dijagrama su


invertirane).

Diskretna
stanja
objekta

80

UML dijagrami
Pregledni interakcijski
(engl. interaction overview) dijagrami

To je varijanta UML dijagrama


aktivnosti s umetnutim dijelovima
sekvencijskih, komunikacijskih ili
vremenskih dijagrama.

Omoguuje na vioj razini


hijerarhije prikaz puta izvoenja
programa (razbijanje sloenog
scenarija na manje dijelove).

81

Modeli, pogledi i dijagrami, UML v1.3

Use Case
Use Case
Diagrams
Sequence
Diagrams
Diagrams

Scenario
Komunikacijski
Scenario
Diagrams
Collaboration
Diagrams
Diagrams

Scenario
Scenario
Diagrams
Statechart
Diagrams
Diagrams

Use Case
Use Case
Diagrams
Use Case
Diagrams
Diagrams

State
State
Diagrams
Class
Diagrams
Diagrams

State
State
Diagrams
Object
Diagrams
Diagrams

State
State
Diagrams
Component
Diagrams
Diagrams

Models

Component
Component
Diagrams
Deployment
Diagrams

Activity
Diagrams

Diagrams

82

You might also like