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
Recommended