10 Vezba Dijagram sekvenci

Preview:

Citation preview

Projektovanje informacionih sistema

mr Rade Matić

Beogradska poslovna škola

Visoka škola strukovnih studija

UML 2.0 Dijagrami interakcije

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

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.

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.

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

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.

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

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

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

NOTACIJA PORUKA

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

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.

: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]

Dijagram sekvenci – kratak zaključak

• UML dijagram sekvenci predstavlja ponašanje kroz interakciju

• Koristan da se otkriju nedostajući objekti

• Dopunjuje dijagram klasa

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

organizaciju objekata koji učestvuju u nekoj interakciji.

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.

VrstaGodina

Delovodnik

RedniBrojNazivPredmeta

Predmet

PodbrojPredmetDatumPrijemaVrstaAktaPodnosilac

Akt

SifraNaziv

Klasifikacija

SifraNaziv

OrganizacionaJedinica

0..1 **

Pripada*

1..*

Dijagram klasa

Pisar s : System

UnosUDelovodnik(Godina, Vrsta)

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

SISTEMSKI 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()

:interfejs :prodaja :stavka :artikal

novaOtp(br)

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

potvrda(kol)

:stavkaNar

novaStavkaNar(prkod,kol)krajOtpr(br)

PRIMER DIJAGRAMA SEKVENCI