10 vezba dijagram sekvenci
TRANSCRIPT
![Page 1: 10 Vezba Dijagram sekvenci](https://reader033.vdocuments.net/reader033/viewer/2022061305/551427d8497959f81d8b45a1/html5/thumbnails/1.jpg)
Projektovanje informacionih sistema
mr Rade Matić
Beogradska poslovna škola
Visoka škola strukovnih studija
UML 2.0 Dijagrami interakcije
![Page 2: 10 Vezba Dijagram sekvenci](https://reader033.vdocuments.net/reader033/viewer/2022061305/551427d8497959f81d8b45a1/html5/thumbnails/2.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022061305/551427d8497959f81d8b45a1/html5/thumbnails/3.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022061305/551427d8497959f81d8b45a1/html5/thumbnails/4.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022061305/551427d8497959f81d8b45a1/html5/thumbnails/5.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022061305/551427d8497959f81d8b45a1/html5/thumbnails/6.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022061305/551427d8497959f81d8b45a1/html5/thumbnails/7.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022061305/551427d8497959f81d8b45a1/html5/thumbnails/8.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022061305/551427d8497959f81d8b45a1/html5/thumbnails/9.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022061305/551427d8497959f81d8b45a1/html5/thumbnails/10.jpg)
NOTACIJA PORUKA
![Page 11: 10 Vezba Dijagram sekvenci](https://reader033.vdocuments.net/reader033/viewer/2022061305/551427d8497959f81d8b45a1/html5/thumbnails/11.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022061305/551427d8497959f81d8b45a1/html5/thumbnails/12.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022061305/551427d8497959f81d8b45a1/html5/thumbnails/13.jpg)
: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](https://reader033.vdocuments.net/reader033/viewer/2022061305/551427d8497959f81d8b45a1/html5/thumbnails/14.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022061305/551427d8497959f81d8b45a1/html5/thumbnails/15.jpg)
DIJAGRAM KOMUNIKACIJE• Koristeći dijagram komunikacije možemo opisati
organizaciju objekata koji učestvuju u nekoj interakciji.
![Page 16: 10 Vezba Dijagram sekvenci](https://reader033.vdocuments.net/reader033/viewer/2022061305/551427d8497959f81d8b45a1/html5/thumbnails/16.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022061305/551427d8497959f81d8b45a1/html5/thumbnails/17.jpg)
VrstaGodina
Delovodnik
RedniBrojNazivPredmeta
Predmet
PodbrojPredmetDatumPrijemaVrstaAktaPodnosilac
Akt
SifraNaziv
Klasifikacija
SifraNaziv
OrganizacionaJedinica
0..1 **
Pripada*
1..*
Dijagram klasa
![Page 18: 10 Vezba Dijagram sekvenci](https://reader033.vdocuments.net/reader033/viewer/2022061305/551427d8497959f81d8b45a1/html5/thumbnails/18.jpg)
Pisar s : System
UnosUDelovodnik(Godina, Vrsta)
NoviPredmet(Klasifikacija, OrgJed, Naziv, VrstaAkta, Podnosilac)
SISTEMSKI DIJAGRAM SEKVENCI
![Page 19: 10 Vezba Dijagram sekvenci](https://reader033.vdocuments.net/reader033/viewer/2022061305/551427d8497959f81d8b45a1/html5/thumbnails/19.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022061305/551427d8497959f81d8b45a1/html5/thumbnails/20.jpg)
:interfejs :prodaja :stavka :artikal
novaOtp(br)
novaStavka(prkod,kol)provera(prkod,kol)
potvrda(kol)
:stavkaNar
novaStavkaNar(prkod,kol)krajOtpr(br)
PRIMER DIJAGRAMA SEKVENCI