Title: Oblikovanje programske potpore
1Oblikovanje 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.
2Modeli i dijagrami
- Model je pojednostavljeni opis sustava iz
odredene perspektive. - Dokumentira se dijagramima.
- Obilježja dijagrama
- Dijagram je pogled u model predstavljen s aspekta
odredenog dionika. - Dijagram je djelomican opis sustava.
- Dijagram mora biti semanticki konzistentan s
ostalim pogledima. - U okviru UML standarda (v 1.3) postoji
- devet standardnih dijagrama
- Staticki pogledi (5 dijagrama)
- dijagram obrazaca uporabe, dijagram razreda,
dijagram objekata, dijagram komponenata,
dijagram razmještaja - Dinamicki pogledi (4 dijagrama)
- sekvencijski dijagram, komunikacijski
(kolaboracijski) dijagram, dijagram stanja
(statechart), dijagram aktivnosti
3UML dijagrami
- U UML v 2.2 postoji 14 dijagrama
- Staticki pogledi
- obrasci uporabe, razredi, objekti, komponente,
razmještaj, - profili, složeni (engl. composite), paketi
- Dinamicki pogledi
- sekvencijski, komunikacijski, stanja, aktivnosti
- pregledni interakcijski (engl. interaction
overview), vremenski (engl. timing) - (5 dodatnih dijagrama iz UML 2.2 nije potrebno
detaljno poznavati)
4Modeli, pogledi i dijagrami
State Diagrams
State Diagrams
Class Diagrams
Use Case Diagrams
Use Case Diagrams
State Diagrams
Use Case Diagrams
State Diagrams
Use Case Diagrams
Object Diagrams
Use Case Diagrams
Sequence Diagrams
Scenario Diagrams
State Diagrams
Scenario Diagrams
State Diagrams
Komunikacijski
Collaboration Diagrams
Component Diagrams
Models
Component Diagrams
Scenario Diagrams
Component Diagrams
Scenario Diagrams
Deployment Diagrams
Statechart Diagrams
Activity Diagrams
5UML dijagrami
- Dijagrami interakcija
- (dijagrami uzajamnog djelovanja)
- Sekvencijski dijagrami
- Komunikacijski dijagrami
6Dijagrami interakcija
- Pokazuju interakcije izmedu instanci razreda u
objektno usmjerenom modelu sustava. - Mogu se koristiti i za prikaz interakcija izmedu
entiteta u drugim modelima arhitekture programske
potpore. - To su grafovi instanci (vjerojatno s meduvezama)
i izvorima poruka (podražaji). - Pokazuju postojece instance.
- Pokazuju stvaranje i brisanje instanci.
- Vrste dijagrama interakcija (sintaksno i
semanticki povezani) - Sekvencijski dijagrami (fokus na vremenske
odnose). - Komunikacijski (kolaboracijski) dijagrami (fokus
na strukturne odnose). Oba naziva su u uporabi.
7Dijagrami interakcija
- Interakcije se modeliraju ako se želi
- specificirati kako instance uzajamno djeluju.
- identificirati sucelja (engl. interfaces).
- raspodijeliti zahtjeve (engl. distribute
requirements). - Sekvencijski dijagrami
- pokazuju eksplicitnu vremensku uredenost izmedu
podražaja. - nužni u modeliranju npr. sustava za rad u
stvarnom vremenu (engl. real time). - Komunikacijski dijagrami
- pokazuju strukturu interakcija.
- fokusiraju se na djelovanje pojedinih instanci.
8Interakcijski dijagrami
- Sekvencijski Komunikacijski
- (analizirano ranije) (kolaboracijski)
Stari naziv
Instance (objekti)
Odgovaraju na pitanje Kada poruke ?
Tko kome šalje poruke ?
9Komunikacijski dijagram
- Prikazuje dinamicko ponašanje (usredotocenost na
poruke). - Prikazuje tko šalje kome poruke. Ureden
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
10Primjer_1 Promjena plana leta (engl. Change
flight itinerary)
- Funkcionalni zahtjevi
- Obrazac uporabe (tekstni oblik)
- Aktori putnik, racun klijenta u bazi,
rezervacijski sustav. - Preduvjeti putnik se prijavio na sustav.
- Temeljni tijek
- Putnik odabire opciju promjena plana leta.
- Sustav dohvaca putnikov racun i plan leta iz
baze. - Sustav pita putnika da odabere segment leta koji
želi promijeniti putnik to i ucini. - Sustav pita putnika da odredi novu polaznu i
krajnju tocku leta putnik to i ucini. -
- Alternativni tijek
- ...
11Primjer_1 Promjena plana leta (engl. Change
flight itinerary)
12Primjer_1 Promjena plana leta (engl. Change
flight itinerary)
- Komunikacijski dijagram
- (najviša razina apstrakcije)
13Primjer_1 Promjena plana leta (engl. Change
flight itinerary)
- Komunikacijski dijagram
- (niža razina apstrakcije)
14Primjer_2 Rezervacija hotela
15Primjer_2 Rezervacija hotela
objekt
poruka
redoslijed u sekvenci poruka
objekt
refleksivna veza
iteracija
objekt
objekt
objekt
16Modeli, pogledi i dijagrami
State Diagrams
State Diagrams
Class Diagrams
Use Case Diagrams
Use Case Diagrams
State Diagrams
Use Case Diagrams
State Diagrams
Use Case Diagrams
Object Diagrams
Use Case Diagrams
Sequence Diagrams
Scenario Diagrams
State Diagrams
Scenario Diagrams
State Diagrams
Komunikacijski
Collaboration Diagrams
Component Diagrams
Models
Component Diagrams
Scenario Diagrams
Component Diagrams
Scenario Diagrams
Deployment Diagrams
Statechart Diagrams
Activity Diagrams
17UML dijagrami
- Dijagrami stanja
- (UML naziv Statecharts)
18Dijagrami stanja Stroj stanja
- Automat je stroj cije ponašanje ne ovisi samo o
trenutnom ulaznom poticaju vec i o nekoj
prošlosti ulaza. - Automat je karakteriziran internim stanjem koje
predstavlja njegovu prošlost. Automat ima
memoriju. - Automat mijenja stanje na poticaj ulaznih signala
okidanja. - Stanje oznacujemo pravokutnikom
- ali zaobljenih kutova.
- Npr. paljenje žarulje
Graficki prikaz ponašanja automata
stanje
ulazni signal
Pocetno stanje
prijelaz
19Dijagrami stanja Izlazi i akcije
- Kako Automat mijenja stanje, može generirati
izlazne akcije, - na slici oznaceno print(on).
- izlaz je funkcija ulaza i stanja
izlaz je funkcija stanja
20Dijagrami stanja Prošireni stroj stanja
- Stanje se proširuje dodatnim varijablama (npr.
ctr Integer). Promjena vrijednosti varijable
ctr ctr 1. - Prijelazom u stanje Lamp On, izlazna akcija
varijabla ctr se inkrementira.
21Dijagrami stanja Prošireni stroj stanja
- Prošireni Mealy stroj stanja je definiran
- Skupom ulaznih signala (ulazni alfabet)
- Skupom izlaznih signala (izlazni alfabet)
- Skupom stanja
- Skupom prijelaza (tranzicija)
- Signalima okidanja
- Akcijama koje se izvode pri prijelazu
- Skupom proširenih varijabli stanja
- Pocetnim stanjem
- Skupom konacnih stanja (ako je terminirajuci
automat)
22Dijagrami stanja UML graficki izgled
Stanje više razine naziva top
Stanje niže razine
Pocetno pseudo stanje
Poticaj, okidac, ulazni signal
Prijelaz
Akcija koja se izvodi pri prijelazu
Završno stanje
23Dijagrami stanja
- Dijagram stanja modelira ponašanje sustava (engl.
behavior) - Ponašanje je upravljano dogadajima (engl. event
driven). - Dijagram stanja nije pogodan za opis
kontinuiranog ponašanja. UML nema (za sada)
mogucnost modeliranja kontinuiranog ponašanja. - Dijagram stanja se odnosi u najvecem broju
slucajeva na ponašanje objekta. - Dogadaj
- Dogadaj je vrsta vidljive pojave. Moguci su
dogadaji - Interakcija
- Sinkroni poziv operacije objekta (dogadaj
poziva). - Asinkroni prihvat signala (dogadaj signala).
- Pojava vremenskih dogadaja
- Istek vremenskog intervala.
- Vremenski dogadaj takta ili unaprijed definiranog
trenutka. - Promjena vrijednosti nekog entiteta u sustavu
- Instanca dogadaja pojavljuje se u odredenom
trenutku i nema trajanje.
24Dijagrami stanja
- Preslikavanje stroja stanja u tijek ponašanja
objekta
(dogadaj)
(dogadaj)
(dogadaj)
25Dijagrami stanja
- Na vanjski poticaj neki objekt može inicirati i
dijagramom predstaviti vlastitu nit izvodenja
objekt
ponašanje objekta opisano strojem stanja
poruka, dogadaj
poruka, dogadaj
26Dijagrami 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 dogadaj off
Ako je bio u LampOn
Ako je bio u LampOff
27Dijagrami stanja uvjetno izvodenje prijelaza
- Uvjeti za izvodenje akcija (engl. guards) su
Booleovi predikati (mogu biti samo istiniti ili
lažni) bez popratnih efekata.
dogadaj akcija
U uglatoj zagradi uvjeti povezani logickim
vezicama
28Dijagrami stanja
- Staticko uvjetovanje grananja - crni krug
- graficki prikaz odlucivanja
- - uvjeti su poznati prije grananja
dogadaj
staticko grananje nakon bid (koji ne potice neki
izracun)
29Dijagrami stanja
- Dinamicko uvjetovanje grananja bijeli krug
- Uvjeti se izracunavaju pri izlasku iz stanja.
- Uvjeti nisu poznati unaprijed.
izracunavanje
dinamicko grananje
30Dijagrami stanja hijerarhija stanja
UML dijagram stanja omogucuje prikaz hijerarhije
stanja. To je proširenje klasicnog FSM (engl.
finite state machine) stroja stanja.
stanje LampFlashing dekomponirano u stroj s dva
interna podstanja
Ako je stanje LampOff dogadaj flash inicira ulaz
u stanje LampFlashing
Ako je stanje LampFlashing dogadaj on inicira
Izlaz iz bilo kojeg podstanja od stanja
LampFlashing
31Dijagrami stanja prijelaz završetka
- UML dijagram stanja omogucuje oznacavanje
prijelaza u završno stanje nakon što na nižoj
hijerarhijskoj razini stroj stanja završi u
krajnjem stanju. - Taj prijelaz nije iniciran nekim asinkronim
dogadajem (engl. trigger) vec se dogada
automatski pri ulazu u završno podstanje.
pocetno podstanje
završno podstanje
nema posebnog okidaca za prijelaz
32Dijagrami stanja redoslijed prijelaza
- Jedan dogadaj (na slici on) može inicirati više
prijelaza unutar stanja (na nižoj hijerarhijskoj
razini) i prijelaze na višoj hijerarhijskoj
razini. - Prednost imaju prijelazi na najnižoj, unutarnjoj
hijerarhijskoj razini.
33Dijagrami stanja redoslijed akcija
Ako je sustav u unutarnjem stanju S11, odredi
redoslijed zbivanja nakon pojave dogadaja
E Pretpostavka akcija enS2 generira dogadaj
initS2.
34Dijagrami stanja paralelna stanja
(ortogonalnost)
- UML dijagram stanja omogucuje prikaz paralelnih
stanja. - To je još jedno proširenje klasicnog FSM (engl.
finite state machine) stroja stanja. -
- Primjer strojeva stanja istog entiteta iz dvije
razlicite (ortogonalne) perspektive (dob i
financijski status)
35Dijagrami stanja paralelna stanja
Dva simultana opisa mogu se kombinirati u jedan
dijagram
36Dijagrami stanja paralelna stanja
- Regije mogu detektirati isti zajednicki dogadaj
(na slici robBank) i reagiraju na njega
simultano. - To najcešce rezultira u ispreplitanju akcija.
37Dijagrami stanja interakcija paralelnih stanja
Interakcija izmedu paralelnih stanja odvija se
preko zajednickih (dijeljenih) varijabli.
zajednicke varijable
Ovaj dogadaj (zahtjev) znaci da si zdrav
38Dijagrami stanja racvanje i skupljanje
Prikaz racvanja i skupljanja paralelnih
prijelaza koristi se za opis prijelaza u i iz
paralelnih regija.
39Dijagrami stanja pogrešno modeliranje
- Pogrešno je modelirati neovisne objekte
ortogonalnim regijama. - Paralelna stanja koristimo u modeliranju istog
objekta ali promatrano iz razlicitih
(ortogonalnih) perspektiva.
40Dijagrami stanja primjer
- Prijava na bankarski sustav dogadaji i akcije
- Unos valjanog broja socijalnog osiguranja (SSN) i
unos valjanog osobnog identifikacijskog broja
(PIN). - Zatim provjera (validacija) upisane informacije.
-
pocetno stanje
dogadaj uvjet akcija
završna stanja
dogadaj
aktivnost
prijelaz
41Dijagrami stanja sažetak
- UML koristi varijantu statechart dijagrama
(David Harel, 1980) prilagodenu modeliranju
programske potpore. - Dijagrami stanja koriste se za modeliranje
dogadajima poticanog ponašanja sustava (engl.
event driven behavior). - U objektno usmjerenoj arhitekturi dijagrami
stanja pogodni su za opis ponašanja aktivnih
objekata. Sustavi se prikazuju kao mreža
medusobnog djelovanja (kolaboracije) strojeva
stanja. - U okviru UML sustava dijagrami stanja sadrže
napredne znacajke - Hijerarhijsko modeliranje stanja.
- Modeliranje paralelnih (ortogonalnih) stanja.
- Aktivnosti u stanjima.
- Akciju pri ulasku/izlasku iz stanja.
- Staticko i dinamicko uvjetno grananje.
42Modeli, pogledi i dijagrami
State Diagrams
State Diagrams
Class Diagrams
Use Case Diagrams
Use Case Diagrams
State Diagrams
Use Case Diagrams
State Diagrams
Use Case Diagrams
Object Diagrams
Use Case Diagrams
Sequence Diagrams
Scenario Diagrams
State Diagrams
Scenario Diagrams
State Diagrams
Komunikacijski
Collaboration Diagrams
Component Diagrams
Models
Component Diagrams
Scenario Diagrams
Component Diagrams
Scenario Diagrams
Deployment Diagrams
Statechart Diagrams
Activity Diagrams
43UML dijagrami
- Dijagrami aktivnosti
- (UML naziv Activity diagrams)
44Dijagrami aktivnosti - proširenje klasicnih flow
dijagrama
- Primjenjuju se za opis modela toka upravljanja
(engl. control flow) ili toka podataka
(objekata). - Ne primjenjuju se za modeliranje dogadajima
poticanog ponašanja. - Tipicna primjena opis poslovnog modela u kojem
želimo modelirati tijek zadataka i poslova. - Temeljna razlika izmedu dijagrama aktivnosti i
komunikacijskih dijagrama te dijagrama stanja je
nacin iniciranja pojedinog koraka a posebice kako
koraci dobivaju ulazni signal ili podatke (u
komunikacijskom dijagramu to su poruke, u
dijagramu stanja to su dogadaji). - U modeliranju toka upravljanja svaki novi korak
poduzima se nakon završenog prethodnog (neovisno
da li su ulazi dostupni, ispravni ili potpuni u
tom casu). To je tzv. pull nacin djelovanja
(povlacenje). - U modeliranju toka podataka (objekata) sljedeci
korak se poduzima kada su svi ulazni podaci
dostupni. To je tzv. push nacin djelovanja
(guranje). - Dijagrami aktivnosti vrlo su slicni dijagramima
stanja, ali s drugacijom semantikom elemenata s
kojima se modelira.
45Dijagrami aktivnosti
- Koraci u dijagramu aktivnosti slicni su stanjima
u dijagramu stanja osim što se prijelazi izvode
nakon završetka prethodnog koraka. - Temeljni elementi u dijagramu aktivnosti su
aktivnosti (akcije). - Realizacija neke aktivnosti može se opisati s
jednom ili više podaktivnosti na nižoj
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
46Dijagrami aktivnosti u objektnom okruženju
- Primjer Objekt iz razreda POEmployee izvodi
operacije sortMail() i deliverMail(). - Operacije opisujemo slijedom dviju aktivnosti
- Aktivnost Deliver Mail ima podaktivnosti koje se
razjašnjavaju novim dijagramom
deliverMail()
ima podaktivnosti
ima daljnje podaktivnosti
47Dijagrami 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.
48Dijagrami aktivnosti dinamicki paralelizam
- Neka aktivnost ili podaktivnost može se izvoditi
više puta. - Broj izvodenja ovisi o rezultatu evaluacije nekog
izraza tijekom izvodenja. - Unutar simbola aktivnosti/podaktivnosti može se
umetnuti UML oznaka brojnost koja odreduje
dopustiv maksimalan broj paralelnog izvodenja
(npr. osiguranje od beskonacne petlje). - Nakon završetka svih paralelnih aktivnosti
inicira se prijelaz na novi korak.
ovdje 0.., odnosno
49Dijagrami aktivnosti objekt kao uvjet prijelaza
- Katkad je potrebno prijelaz s jedne aktivnosti na
drugu aktivnost uvjetovati postojanjem odredene
vrste objekta (npr. ulazno/izlaznih parametara).
U prijelaz se umece simbol - U tom stanju nema nikakve aktivnosti. Tok se
nastavlja do sljedeceg koraka nakon zadovoljenja
uvjeta. - Npr. aktivnost Take Order mora generirati izlazni
parametar (objekt odredenog tipa), a aktivnost
Fill Order mora imati ulazni parametar (objekt
odredenog tipa). - U modeliranju uvjetnog prijelaza koriste se
crtkane oznake.
50Dijagrami aktivnosti koordiniranje koraka
- Za opis koordinacije koraka preuzete su oznake iz
dijagrama stanja. - Pocetno stanje
- Završno stanje
- Racvanje i skupljanje
- (engl. fork and join)
- Tocka odlucivanja
- Stanje u kojem se ova se oznaka ne
- odvija sinkronizacija uporablja cesto
- paralelnih aktivnosti
51Dijagrami aktivnosti koordiniranje koraka
- Primjer dijagrama aktivnosti gradnje kuce.
- Oznacena su pocetna stanja, završna stanja,
dvije paralelne sekvence aktivnosti, tocke
racvanja i skupljanja te sinkronizacije (cekanje
na završetak neke aktivnosti. -
- U ovom dijagramu aktivnosti preuzeta je sintaksa
dijagrama stanja.
paralelne aktivnosti
52Dijagrami aktivnosti koordiniranje koraka
- U koordinaciji koraka mogu sudjelovati i neki
objekti (vidi objekt kao uvjet prijelaza)
53Dijagrami aktivnosti koordiniranje koraka
- Uvjetovanje toka aktivnosti može se izvesti na
dva nacina u tockama odlucivanja ili na
racvanju. Prikazana su dva dijagrama aktivnosti
koji imaju jednako znacenje. Prvi je opširniji, a
drugi sažetiji.
tocka odlucivanja
54Dijagrami aktivnosti particije
- Particije su mehanizam grupiranja aktivnosti.
- Particije se odjeljuju plivackim stazama (engl.
swimlanes). - Plivacke staze ne nose nikakvu posebnu semantiku
osim organizacijske, gdje se istice koji dio
sustava izvodi koje aktivnosti. - Uobicajeno je plivacke staze oznaciti.
55Dijagrami aktivnosti izlaz i ulaz signala
- U dijagramu aktivnosti katkada je potrebno
poslati ili primiti signal. - Pošalji (engl. send) signal preslikava se u
prijelaz i akciju slanja signala. - Primi (engl. receive) signal preslikava se u
stanje cekanja na signal bez akcije.
56Dijagrami aktivnosti Primjer povrat kupljene
robe
- kupac prodavatelj racunovodstvo
skladište
57Dijagrami aktivnosti Primjer gradnja kuce
pocetno stanje
stanja aktivnosti
tocka odlucivanja
racvanje skupljanje
završno stanje
tok objekta (kreiranje)
58Dijagrami aktivnosti Primjer bankomat
59Dijagrami aktivnosti savjeti u modeliranju
- Dijagrami aktivnosti naslijedili su iz dijagrama
stanja potrebu za dobrom strukturom i
ugnježdivanjem složenih stanja. - Dobro ugnježdivanje
- Loše ugnježdivanje
60Dijagrami aktivnosti sažetak
- Dijagrami aktivnosti koriste se za modeliranje
ponašanja koje nije jako ovisno o vanjskim
dogadajima. Primarno za modeliranje poslovnog
procesa (a ne na npr. oblikovanje ugradenih
sustava zasnovanih na racunalima). - Dijagrami aktivnosti slicni 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 završetka (nisu prekidani dogadajima). - Dijagrami aktivnosti izraduju se u slucaju kad je
usredotocenost ponašanja na pojedinim
aktivnostima i njihovom slijedu a ne na to koji
objekti su odgovorni za te aktivnosti. - Izmedu koraka postoji tok objekata.
- Upravljacki tok i podatkovni/objektni tok nemaju
razlicitu vec jedinstvenu semantiku.
61Modeli, pogledi i dijagrami
State Diagrams
State Diagrams
Class Diagrams
Use Case Diagrams
Use Case Diagrams
State Diagrams
Use Case Diagrams
State Diagrams
Use Case Diagrams
Object Diagrams
Use Case Diagrams
Sequence Diagrams
Scenario Diagrams
State Diagrams
Scenario Diagrams
State Diagrams
Komunikacijski
Collaboration Diagrams
Component Diagrams
Models
Component Diagrams
Scenario Diagrams
Component Diagrams
Scenario Diagrams
Deployment Diagrams
Statechart Diagrams
Activity Diagrams
62UML dijagrami
- Dijagrami komponenata
- (UML naziv Component diagrams)
63Dijagrami komponenata
- Dijagrami komponenata predstavljaju staticki
pogled na sustav. - Opisuju organizaciju i meduovisnost (fizicku
strukturu) izmedu 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
- Staticke ili dinamicke knjižnice programskih
komponenata - Izvršne (aka also known as exe) komponente
programske potpore. - Tablice, druge datoteke, baze podataka
- Ovisnost komponenata oznacuje se crtkanom
strelicom.
64Dijagrami komponenata
izvršna datoteka
ovisnost
ovisnost (engl. dependency) strelica prema
entitetu o kome promatrani entitet ovisi. Npr.
find.exe ovisi o dvije dll komponente.
65(No Transcript)
66Dijagrami komponenata - UML 2.0
- Osim ovisnosti komponenta uobicajeno ima sucelje
preko koje definira svoje ponašanje i preko
kojega se povezuje s drugim komponentama. - Sucelje je samo definicija skupa operacija.
- Preko sucelja komponenta daje (engl. provides)
ili traži (zahtijeva) (engl. requires) uslugu od
drugih komponenata. - Postoje dva nacina predstavljanja komponente i
sucelja
oznaka izvršne komponente
67Dijagrami komponenata - UML 2.0
- Primjer
- Program za rukovanje studentskom anketom o
predmetima. - Student može citati, upisivati, unositi izmjene
i zakljucati podatke. - Studentski program je instaliran kao klijent na
osobnom racunalu. - Prodekanski (manager) program je instaliran kao
klijent na osobnom racunalu u njegovom uredu. - Postoji jedan ili više poslužitelja s bazom
podataka i komponentama za upravljanje pojedinim
predmetima.
68Dijagrami komponenata - UML 2.0
69Modeli, pogledi i dijagrami
State Diagrams
State Diagrams
Class Diagrams
Use Case Diagrams
Use Case Diagrams
State Diagrams
Use Case Diagrams
State Diagrams
Use Case Diagrams
Object Diagrams
Use Case Diagrams
Sequence Diagrams
Scenario Diagrams
State Diagrams
Scenario Diagrams
State Diagrams
Komunikacijski
Collaboration Diagrams
Component Diagrams
Models
Component Diagrams
Scenario Diagrams
Component Diagrams
Scenario Diagrams
Deployment Diagrams
Statechart Diagrams
Activity Diagrams
70UML dijagrami
- Dijagrami razmještaja
- (UML naziv Deployment diagrams)
71Dijagrami razmještaja
- Dijagrami razmještaja prikazuju topologiju
sustava i usredotoceni su na odnos sklopovskih i
programskih dijelova. - Dijagrami razmještaja pripadaju statickom pogledu
na sustav. - Posebice su znacajni u raspodijeljenim sustavima
gdje je narocito važno prikazati razmještaj
komponenata. - Sklopovske komponente sadrže
- Cvorove (engl. nodes), koji pokazuju sklopovske
naprave. - Vezice (engl. connections), koje pokazuju kako
cvorovi komuniciraju. - Programske komponente
- Predstavljaju implementacijske module
- Ovisnosti opisuju odnose izmedu tih komponenata
- Vezice i ovisnosti oznacuju se na dijagramu
razmještaja razlicito (vezice punom crtom a
ovisnost crtkanom strelicom).
72Dijagrami razmještaja sklopovskih elemenata
vezica
cvor
73Dijagrami komponenata sklopovlje i programske
komponente
Primjer kupnja nekretnine
cvor
sklopovska komponenta Real Estate Server
ovisnost
sucelje komponente
vezica
baza podataka
sklopovska komponenta aPC
programska komponenta
ovisnost (engl. dependency) strelica prema
entitetu o kome promatrani entitet ovisi.
74UML dijagrami (v 2.2)
- Taksonomija dijagrama.
- Dijagrami paketa.
- Dijagrami profila.
- Dijagrami složene strukture.
- Vremenski dijagrami.
- Pregledni interakcijski dijagrami.
75UML dijagrami (v 2.2)
76UML dijagrami
- Dijagrami paketa
- Opisuju odnose (ovisnosti) izmedu paketa koji
cine model. - Paket omogucuje grupiranje elemenata modela (npr.
dijagrama) ali i drugih paketa (hijerarhija !).
77UML dijagrami
"nešto posebno"
- Dijagrami profila
- Dijagrami profila su pomocni UML dijagrami koji
omogucuju definiranje novih i specificnih
stereotipova, oznaka i ogranicenja. - Profili omogucuju da se izvorni model prilagodi
za razlicite 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 može proširiti sa specificnim,
- jednim ili više, stereotipom
78UML dijagrami
- Dijagrami složene strukture razreda ili
komponente (engl. composite) - Opisuju internu strukturu razreda ili komponente
i kolaboracije koje ta struktura omogucuje. - Ukljucuju interne dijelove i vrata (engl. ports)
za medusobnu interakciju dijelova i interakciju s
vanjskim svijetom, te sucelja.
Sucelje koje pruža uslugu
79UML dijagrami
- Dijagrami složene strukture komponenata
- Primjer komponenta Store sadrži druge
komponente.
sucelje traži ili prihvaca uslugu
suceljedaje uslugu
vrata (engl. port)
80UML dijagrami
- Vremenski dijagrami (engl. timing)
- Opisuju ponašanje jednog ili više objekata kroz
odreden vremenski razmak. - To je poseban oblik sekvencijskih dijagrama (osi
dijagrama su invertirane).
Diskretna stanja objekta
81UML dijagrami
- Pregledni interakcijski
- (engl. interaction overview) dijagrami
- To je varijanta UML dijagrama
- aktivnosti s umetnutim dijelovima
- sekvencijskih, komunikacijskih ili
- vremenskih dijagrama.
- Omogucuje na višoj razini
- hijerarhije prikaz puta izvodenja
- programa (razbijanje složenog
- scenarija na manje dijelove).
82Modeli, pogledi i dijagrami, UML v1.3
State Diagrams
State Diagrams
Class Diagrams
Use Case Diagrams
Use Case Diagrams
State Diagrams
Use Case Diagrams
State Diagrams
Use Case Diagrams
Object Diagrams
Use Case Diagrams
Sequence Diagrams
Scenario Diagrams
State Diagrams
Scenario Diagrams
State Diagrams
Komunikacijski
Collaboration Diagrams
Component Diagrams
Models
Component Diagrams
Scenario Diagrams
Component Diagrams
Scenario Diagrams
Deployment Diagrams
Statechart Diagrams
Activity Diagrams