Oblikovanje programske potpore - PowerPoint PPT Presentation

About This Presentation
Title:

Oblikovanje programske potpore

Description:

Title: Software Architecture Author: Grady Booch Last modified by: NB Created Date: 7/10/1998 8:57:29 PM Document presentation format: Overhead Company – PowerPoint PPT presentation

Number of Views:39
Avg rating:3.0/5.0
Slides: 83
Provided by: Grady3
Category:

less

Transcript and Presenter's Notes

Title: Oblikovanje programske potpore


1
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.

2
Modeli 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

3
UML 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)

4
Modeli, 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
5
UML dijagrami
  • Dijagrami interakcija
  • (dijagrami uzajamnog djelovanja)
  • Sekvencijski dijagrami
  • Komunikacijski dijagrami

6
Dijagrami 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.

7
Dijagrami 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.

8
Interakcijski dijagrami
  • Sekvencijski Komunikacijski
  • (analizirano ranije) (kolaboracijski)

Stari naziv
Instance (objekti)
Odgovaraju na pitanje Kada poruke ?
Tko kome šalje poruke ?
9
Komunikacijski 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
10
Primjer_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
  • ...

11
Primjer_1 Promjena plana leta (engl. Change
flight itinerary)
  • Sekvencijski dijagram

12
Primjer_1 Promjena plana leta (engl. Change
flight itinerary)
  • Komunikacijski dijagram
  • (najviša razina apstrakcije)

13
Primjer_1 Promjena plana leta (engl. Change
flight itinerary)
  • Komunikacijski dijagram
  • (niža razina apstrakcije)

14
Primjer_2 Rezervacija hotela
  • Sekvencijski dijagram

15
Primjer_2 Rezervacija hotela
  • Komunikacijski dijagram

objekt
poruka
redoslijed u sekvenci poruka
objekt
refleksivna veza
iteracija
objekt
objekt
objekt
16
Modeli, 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
17
UML dijagrami
  • Dijagrami stanja
  • (UML naziv Statecharts)

18
Dijagrami 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
19
Dijagrami 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

20
Dijagrami 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.

21
Dijagrami 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)

22
Dijagrami 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
23
Dijagrami 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.

24
Dijagrami stanja
  • Preslikavanje stroja stanja u tijek ponašanja
    objekta

(dogadaj)
(dogadaj)
(dogadaj)
25
Dijagrami 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
26
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 dogadaj off

Ako je bio u LampOn
Ako je bio u LampOff
27
Dijagrami 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
28
Dijagrami stanja
  • Staticko uvjetovanje grananja - crni krug
  • graficki prikaz odlucivanja
  • - uvjeti su poznati prije grananja

dogadaj
staticko grananje nakon bid (koji ne potice neki
izracun)
29
Dijagrami stanja
  • Dinamicko uvjetovanje grananja bijeli krug
  • Uvjeti se izracunavaju pri izlasku iz stanja.
  • Uvjeti nisu poznati unaprijed.

izracunavanje
dinamicko grananje
30
Dijagrami 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
31
Dijagrami 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
32
Dijagrami 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.

33
Dijagrami stanja redoslijed akcija
Ako je sustav u unutarnjem stanju S11, odredi
redoslijed zbivanja nakon pojave dogadaja
E Pretpostavka akcija enS2 generira dogadaj
initS2.

34
Dijagrami 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)

35
Dijagrami stanja paralelna stanja

Dva simultana opisa mogu se kombinirati u jedan
dijagram
36
Dijagrami stanja paralelna stanja
  • Regije mogu detektirati isti zajednicki dogadaj
    (na slici robBank) i reagiraju na njega
    simultano.
  • To najcešce rezultira u ispreplitanju akcija.

37
Dijagrami stanja interakcija paralelnih stanja

Interakcija izmedu paralelnih stanja odvija se
preko zajednickih (dijeljenih) varijabli.
zajednicke varijable
Ovaj dogadaj (zahtjev) znaci da si zdrav
38
Dijagrami stanja racvanje i skupljanje

Prikaz racvanja i skupljanja paralelnih
prijelaza koristi se za opis prijelaza u i iz
paralelnih regija.
39
Dijagrami 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.

40
Dijagrami 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
41
Dijagrami 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.

42
Modeli, 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
43
UML dijagrami
  • Dijagrami aktivnosti
  • (UML naziv Activity diagrams)

44
Dijagrami 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.

45
Dijagrami 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

46
Dijagrami 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
47
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.

48
Dijagrami 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
49
Dijagrami 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.

50
Dijagrami 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

51
Dijagrami 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
52
Dijagrami aktivnosti koordiniranje koraka
  • U koordinaciji koraka mogu sudjelovati i neki
    objekti (vidi objekt kao uvjet prijelaza)

53
Dijagrami 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
54
Dijagrami 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.

55
Dijagrami 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.

56
Dijagrami aktivnosti Primjer povrat kupljene
robe
  • kupac prodavatelj racunovodstvo
    skladište

57
Dijagrami aktivnosti Primjer gradnja kuce

pocetno stanje
stanja aktivnosti
tocka odlucivanja
racvanje skupljanje
završno stanje
tok objekta (kreiranje)
58
Dijagrami aktivnosti Primjer bankomat
59
Dijagrami 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

60
Dijagrami 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.

61
Modeli, 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
62
UML dijagrami
  • Dijagrami komponenata
  • (UML naziv Component diagrams)

63
Dijagrami 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.

64
Dijagrami 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)
66
Dijagrami 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
67
Dijagrami 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.

68
Dijagrami komponenata - UML 2.0
69
Modeli, 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
70
UML dijagrami
  • Dijagrami razmještaja
  • (UML naziv Deployment diagrams)

71
Dijagrami 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).

72
Dijagrami razmještaja sklopovskih elemenata
vezica
cvor
73
Dijagrami 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.
74
UML dijagrami (v 2.2)
  • Taksonomija dijagrama.
  • Dijagrami paketa.
  • Dijagrami profila.
  • Dijagrami složene strukture.
  • Vremenski dijagrami.
  • Pregledni interakcijski dijagrami.

75
UML dijagrami (v 2.2)
76
UML dijagrami
  • Dijagrami paketa
  • Opisuju odnose (ovisnosti) izmedu paketa koji
    cine model.
  • Paket omogucuje grupiranje elemenata modela (npr.
    dijagrama) ali i drugih paketa (hijerarhija !).

77
UML 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

78
UML 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
79
UML dijagrami
  • Dijagrami složene strukture komponenata
  • Primjer komponenta Store sadrži druge
    komponente.

sucelje traži ili prihvaca uslugu
suceljedaje uslugu
vrata (engl. port)
80
UML 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
81
UML 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).

82
Modeli, 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
Write a Comment
User Comments (0)
About PowerShow.com