Transcript
Page 1: 10 Vezba Dijagram sekvenci

Projektovanje informacionih sistema

mr Rade Matić

Beogradska poslovna škola

Visoka škola strukovnih studija

UML 2.0 Dijagrami interakcije

Page 2: 10 Vezba Dijagram sekvenci

MODELI ZA OPIS DINAMIČKOG PONAŠANJA

1. Dijagrami slučajeva korišćenja

DIJAGRAMI INTERAKCIJE

2. Dijagrami sekvenci

3. Dijagrami komunikacije

4. Dijagrami promene stanja

5. Dijagrami aktivnosti

Page 3: 10 Vezba Dijagram sekvenci

ASPEKT PROJEKTOVANJA

• Aspekt projektovanja predstavlja realizaciju sistema u "objektnom prostoru stanja".

• Statički opis ovoga aspekta daje se preko Dijagram klasa i Dijagrama objekata.

• Dinamički opis se daje preko dijagrama interakcija, dijagrama promene stanja i dijagrama aktivnosti.

Page 4: 10 Vezba Dijagram sekvenci

DIJAGRAMI INTERAKCIJE

• Slučaj korišćenja nam omogućava da opiše ono što naš sistem treba da uradi.

• Klase nam opisuju različite tipove delova koji sačinjavaju strukturu našeg sistema. Iz ovih dijagrama se i dalje ne vidi kako će naš sistem ovo sve da uradi. Ovde dolaze do izražaja dijagrami interakcije.

Page 5: 10 Vezba Dijagram sekvenci

DIJAGRAMI INTERAKCIJE

• U svakom sistemu objekti su u interakciji preko poruka koje razmenjuju. Dijagrami interakcije opisuju ovaj aspekt modela nekog sistema.

• Dobro struktuirana interakcija objekata je slična dobro struktuiranom algoritmu (programu): efikasna, jednostavna, lako izmenljiva i razumljiva.

• Dijagrami interakcije se koriste da modeluju tok neke operacije, slučaj korišćenja, ponašanje komponente, ili pak dinamiku celokupnog sistema

Page 6: 10 Vezba Dijagram sekvenci

DIJAGRAMI SEKVENCI IDIJAGRAMI KOMUNIKACIJE

Interakcije se mogu modelovati na dva načina:

Prikazujući vremenski redosled poruka: DIJAGRAMI SEKVENCI (DS)

Prikazujući interakciju u kontekstu neke organizacije (strukture) objekata: DIJAGRAMI KOMUNIKACIJE (DK)

Moguće je automatski prevesti jedan obliik u drugi.

Page 7: 10 Vezba Dijagram sekvenci

DIJAGRAMI INTERAKCIJEOSNOVNI POJMOVI

• Interakcija opisuje ponašanje nekog dela sistema u kome se skup poruka razmenjuje između skupa objekata da bi se ostvarilo željeno ponašanje

• Poruka specificira komunikaciju između objekata i prenosi informacije koje na objektu primaocu treba da prouzrokuju neku akciju (operaciju)

• Objekti koji učestvuju u interakciji su ili konkretna pojavljivanja ili prototipovi koji predstavljaju bilo koje pojavljivanje neke klase.

• U svakoj kolaboraciji prikazani objekti igraju specifične uloge

Page 8: 10 Vezba Dijagram sekvenci

DIJAGRAMI SEKVENCI

učesnik:UcesnikKlasa učesnik1:UcesnikKlasa1

Poruka (argumenti)Pošiljalac poruke

Primalac poruke

Aktivaciona linija (opciono)

Potpis poruke

PorukaPovratna strelica (opciona)

učesnik2:UcesnikKlasa2

Ugneždene poruke

Primalac i pošiljalac poruke V

REME

Životna linija

Page 9: 10 Vezba Dijagram sekvenci

DIJAGRAMI SEKVENCI

• "Link ili veza" je pojavljivanje asocijacije dve klase objekata. Kad god jedna klasa ima asocijaciju sa drugom, u nekom Dijagramu klasa, tada se može ostvariti veza (link) između dva pojavljivanja tih klasa i preko nje preneti odgovarajuća poruka

• U UML-u postoji nekoliko vrsta poruka:

– Call : poziva operaciju na drugom objektu

– Return: vraća vrednost i kontrolu toka pošiljaocu

– Send: šalje signal objektu

– Create: kreira objekat

– Destroy: uništava objekat

Page 10: 10 Vezba Dijagram sekvenci

NOTACIJA PORUKA

Page 11: 10 Vezba Dijagram sekvenci

Primer

Prijavljivanje jednog ispita

:frmPrijavljivaIspita prijava : Prijava

ubaciPredmet(šifraPredmeta, StudentID)

Prijavljivanje ispita

prijavaID=Zapamti()

IzvršenaPrijavaIspita

student : Student

p=PretragaStudenta(brojIndeksa)

StudentID, Predmeti

Izaberi predmet za prijavu

Salje se nazad StudentID I spisak predmeta koji mogu da se prijave

Page 12: 10 Vezba Dijagram sekvenci

DIJAGRAM SEKVENCIKoristeći dijagram sekvenci možemo opisati koje interakcije

se okidaju kad je u pitanju izvršavanje odgovarajućeg slučaja korišćenja i u kom redosledu.

Page 13: 10 Vezba Dijagram sekvenci

:Nardz :StavkaNar Proizvod

init( )init ( )

dajStanje ( )

(stanje)

dajCenu ( )

Dijagram sekvenci za: “Izrada Narudzbenice”loop – iteracija, [uslov]

(cena)

(ukcena)

Interfejs

zapamti( )

(narudz br)

loop [for each line item]

Page 14: 10 Vezba Dijagram sekvenci

Dijagram sekvenci – kratak zaključak

• UML dijagram sekvenci predstavlja ponašanje kroz interakciju

• Koristan da se otkriju nedostajući objekti

• Dopunjuje dijagram klasa

Page 15: 10 Vezba Dijagram sekvenci

DIJAGRAM KOMUNIKACIJE• Koristeći dijagram komunikacije možemo opisati

organizaciju objekata koji učestvuju u nekoj interakciji.

Page 16: 10 Vezba Dijagram sekvenci

RAZLIKE U DIJAGRAMIMA

• DS ima životnu liniju i fokus na kontroli. Životna linija je vertikalna isprekidana linija koja predstavlja postojanje objekta u tom periodu. Fokus se prikazuje kao pravougaonik a on predstavlja period u kojem objekat izvršava akciju (operaciju).

• DK ima putanju koja predstavlja izvor znanja nekog objekta i putanju neke asocijacije. Druga razlika je sekvencni broj koji pokazuje redosled izvršavanja poruke sa brojem kao prefiksom poruke.

Page 17: 10 Vezba Dijagram sekvenci

VrstaGodina

Delovodnik

RedniBrojNazivPredmeta

Predmet

PodbrojPredmetDatumPrijemaVrstaAktaPodnosilac

Akt

SifraNaziv

Klasifikacija

SifraNaziv

OrganizacionaJedinica

0..1 **

Pripada*

1..*

Dijagram klasa

Page 18: 10 Vezba Dijagram sekvenci

Pisar s : System

UnosUDelovodnik(Godina, Vrsta)

NoviPredmet(Klasifikacija, OrgJed, Naziv, VrstaAkta, Podnosilac)

SISTEMSKI DIJAGRAM SEKVENCI

Page 19: 10 Vezba Dijagram sekvenci

Pisar p : Pisarnica

d : Delovodnik u : Unos tekPred :

Predmet

UnosUDelovodnik(Godina, Vrsta)

d=DajDelovodnik(Godina, Vrsta)

NoviPredmet(Klasif, OrgJed, Naziv,VrstaAkta, Podnosilac,)

TekuciDelovodnik(d)

TekPred=NoviPredmet(Klasif, OrgJed, Naziv)

NoviAkt(VrstaAkta, Podnosilac, Naziv)

create()

create()

Page 20: 10 Vezba Dijagram sekvenci

:interfejs :prodaja :stavka :artikal

novaOtp(br)

novaStavka(prkod,kol)provera(prkod,kol)

potvrda(kol)

:stavkaNar

novaStavkaNar(prkod,kol)krajOtpr(br)

PRIMER DIJAGRAMA SEKVENCI