bazirano na materijalima iz [fowler,...
TRANSCRIPT
![Page 1: Bazirano na materijalima iz [Fowler, 2003]poincare.matf.bg.ac.rs/~asimic/2017/is/UMLSeminarski/... · 2018. 1. 18. · Dijagram sekvence Informacioni sistemi - mini seminarski rad](https://reader035.vdocuments.mx/reader035/viewer/2022081619/60f8ca874930021fe51be223/html5/thumbnails/1.jpg)
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Dijagram sekvenceInformacioni sistemi - mini seminarski rad
Nemanja Mićović[email protected]
Matematički fakultet, Univerzitet u Beogradu
21. decembar 2017
![Page 2: Bazirano na materijalima iz [Fowler, 2003]poincare.matf.bg.ac.rs/~asimic/2017/is/UMLSeminarski/... · 2018. 1. 18. · Dijagram sekvence Informacioni sistemi - mini seminarski rad](https://reader035.vdocuments.mx/reader035/viewer/2022081619/60f8ca874930021fe51be223/html5/thumbnails/2.jpg)
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
▶ Bazirano na materijalima iz [Fowler, 2003]
![Page 3: Bazirano na materijalima iz [Fowler, 2003]poincare.matf.bg.ac.rs/~asimic/2017/is/UMLSeminarski/... · 2018. 1. 18. · Dijagram sekvence Informacioni sistemi - mini seminarski rad](https://reader035.vdocuments.mx/reader035/viewer/2022081619/60f8ca874930021fe51be223/html5/thumbnails/3.jpg)
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
UML dijagrami
Slika: Shema UML dijagrama
![Page 4: Bazirano na materijalima iz [Fowler, 2003]poincare.matf.bg.ac.rs/~asimic/2017/is/UMLSeminarski/... · 2018. 1. 18. · Dijagram sekvence Informacioni sistemi - mini seminarski rad](https://reader035.vdocuments.mx/reader035/viewer/2022081619/60f8ca874930021fe51be223/html5/thumbnails/4.jpg)
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Dijagrami interakcije
▶ Opisuju kako grupa objekata sarađuje u nekom procesu/ponašanju▶ Često je to jedan slučaj upotrebe
▶ Pružaju vizuelizaciju interaktivnosti nekih delova sistema
![Page 5: Bazirano na materijalima iz [Fowler, 2003]poincare.matf.bg.ac.rs/~asimic/2017/is/UMLSeminarski/... · 2018. 1. 18. · Dijagram sekvence Informacioni sistemi - mini seminarski rad](https://reader035.vdocuments.mx/reader035/viewer/2022081619/60f8ca874930021fe51be223/html5/thumbnails/5.jpg)
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Dijagram sekvence
▶ Predstavlja jedan od dijagrama interakcije▶ Opisuje redosled razmenjivanja poruka između učesnika▶ Jedan od korisnijih UML dijagrama za fazu implementacije
▶ Poruke se često mogu preslikati u metode klasa▶ (A)sinhronost poruka se takođe preslikava u kod▶ Prikazuje odgovornost objekata (učesnika)▶ Aktivnost učesnika se može preslikati na postojanje metoda klase na steku
![Page 6: Bazirano na materijalima iz [Fowler, 2003]poincare.matf.bg.ac.rs/~asimic/2017/is/UMLSeminarski/... · 2018. 1. 18. · Dijagram sekvence Informacioni sistemi - mini seminarski rad](https://reader035.vdocuments.mx/reader035/viewer/2022081619/60f8ca874930021fe51be223/html5/thumbnails/6.jpg)
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Elementi dijagrama
Osnovni elementi dijagrama su:▶ Poruke
▶ Sinhrone▶ Asinhrone
▶ Linije toka (eng. lifeline)▶ Popularan naziv u engleskoj terminologiji - swim lane
▶ Učesnici (eng. participant) tj. objekti▶ Okviri toka (opt, loop, alt, ...)▶ Aktivnost učesnika (vertikalni pravougaonici na isprekidanim linijama)
![Page 7: Bazirano na materijalima iz [Fowler, 2003]poincare.matf.bg.ac.rs/~asimic/2017/is/UMLSeminarski/... · 2018. 1. 18. · Dijagram sekvence Informacioni sistemi - mini seminarski rad](https://reader035.vdocuments.mx/reader035/viewer/2022081619/60f8ca874930021fe51be223/html5/thumbnails/7.jpg)
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Primer dijagrama - centralizovana kontrola
Slika: Dijagram sekvence
![Page 8: Bazirano na materijalima iz [Fowler, 2003]poincare.matf.bg.ac.rs/~asimic/2017/is/UMLSeminarski/... · 2018. 1. 18. · Dijagram sekvence Informacioni sistemi - mini seminarski rad](https://reader035.vdocuments.mx/reader035/viewer/2022081619/60f8ca874930021fe51be223/html5/thumbnails/8.jpg)
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Primer dijagrama - distribuirana kontrola
![Page 9: Bazirano na materijalima iz [Fowler, 2003]poincare.matf.bg.ac.rs/~asimic/2017/is/UMLSeminarski/... · 2018. 1. 18. · Dijagram sekvence Informacioni sistemi - mini seminarski rad](https://reader035.vdocuments.mx/reader035/viewer/2022081619/60f8ca874930021fe51be223/html5/thumbnails/9.jpg)
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Dijagram sekvence
▶ Primetimo da prethodna dva dijagrama opisuju suštinski isti proces▶ No sa dijagrama je jasno da se interakcija učesnika drastično razlikuje
(centralizovana i distribuirana kontrola)▶ Dijagram sekvence detaljno i jasno opisuje redosled i odgovornost pri interakciji
učesnika
![Page 10: Bazirano na materijalima iz [Fowler, 2003]poincare.matf.bg.ac.rs/~asimic/2017/is/UMLSeminarski/... · 2018. 1. 18. · Dijagram sekvence Informacioni sistemi - mini seminarski rad](https://reader035.vdocuments.mx/reader035/viewer/2022081619/60f8ca874930021fe51be223/html5/thumbnails/10.jpg)
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Centralni protiv distribuiranog dizajna
▶ Martin Fauler1 preferira distribuirani dizajn (DD) [Fowler, 2003]▶ DD lokalizuje efekte promene▶ DD prirodno vodi ka polimorfizmu umesto ka uslovnoj logici
„Generalno, OO stil se ogleda u tome da se koristi veliki broj malih objekata sa punojednostavnih metoda koje nude veliki broj priključaka za nasleđivanje i varijaciju.Ovakav stil ume da bude konfuzan ljudima koji su naviknuti na duge procedure i ovakvapromena predstavlja suštinu pri procesu promenu paradigme u objektnu paradigmu.”
Martin Fauler
1eng. Martin Fowler
![Page 11: Bazirano na materijalima iz [Fowler, 2003]poincare.matf.bg.ac.rs/~asimic/2017/is/UMLSeminarski/... · 2018. 1. 18. · Dijagram sekvence Informacioni sistemi - mini seminarski rad](https://reader035.vdocuments.mx/reader035/viewer/2022081619/60f8ca874930021fe51be223/html5/thumbnails/11.jpg)
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Kreiranje i brisanje učesnika
▶ Učesnike pravimo strelicomkoja ulazi u njihovpravougaonik
▶ Poruka new je opciona▶ Učesnike brišemo koristeći x
▶ Učesnik može da obrišesam sebe ili ga možeobrisati drugi učesnik
Slika: Kreiranje i brisanje učesnika [Fowler, 2003]
![Page 12: Bazirano na materijalima iz [Fowler, 2003]poincare.matf.bg.ac.rs/~asimic/2017/is/UMLSeminarski/... · 2018. 1. 18. · Dijagram sekvence Informacioni sistemi - mini seminarski rad](https://reader035.vdocuments.mx/reader035/viewer/2022081619/60f8ca874930021fe51be223/html5/thumbnails/12.jpg)
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Kreiranje i brisanje učesnika
▶ U nekim jezicima se vrši automatsko oslobađanje memorije▶ To potencira da nije neophodno u dijagramu označavati kada se učesnik briše▶ No dobra je praksa na dijagramu prikazati kada učesnik više nije potreban
![Page 13: Bazirano na materijalima iz [Fowler, 2003]poincare.matf.bg.ac.rs/~asimic/2017/is/UMLSeminarski/... · 2018. 1. 18. · Dijagram sekvence Informacioni sistemi - mini seminarski rad](https://reader035.vdocuments.mx/reader035/viewer/2022081619/60f8ca874930021fe51be223/html5/thumbnails/13.jpg)
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Kontrolna logika - grananje i iteracija
▶ Dijagram sekvenci omogućava prikaz iteracije, opcionog izvršavanja i slično▶ Iako podržava, nije namenjen za vizuelizaciju algoritama ili kontrolne logike▶ Ukoliko je potrebna njihova intenzivna prezentacija bolje je koristiti pseudo kod ili
dijagrame aktivnosti
![Page 14: Bazirano na materijalima iz [Fowler, 2003]poincare.matf.bg.ac.rs/~asimic/2017/is/UMLSeminarski/... · 2018. 1. 18. · Dijagram sekvence Informacioni sistemi - mini seminarski rad](https://reader035.vdocuments.mx/reader035/viewer/2022081619/60f8ca874930021fe51be223/html5/thumbnails/14.jpg)
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Kontrolna logika - grananje i iteracija
def dispatch():for product in lineitem:
if product.value > 10 000:careful.dispatch
else:regular.dispatch
if (needsConfirmation):messenger.confirm
Slika: Uslovi, grananje i petlje
![Page 15: Bazirano na materijalima iz [Fowler, 2003]poincare.matf.bg.ac.rs/~asimic/2017/is/UMLSeminarski/... · 2018. 1. 18. · Dijagram sekvence Informacioni sistemi - mini seminarski rad](https://reader035.vdocuments.mx/reader035/viewer/2022081619/60f8ca874930021fe51be223/html5/thumbnails/15.jpg)
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Kontrolna logika - grananje i iteracija
Operator Opisalt Izvršava se okvir čiji je uslov zadovoljen (eng. alternative)opt Okvir se izvršava ako i samo ako je uslov zadovoljen (eng. optional)par Okvir se izvršava paralelno (eng. parallel)loop Okvir se izvršava dokle god je zadovoljen uslovregion Kritični region - okvir sme biti izvršen istovremeno samo od strane jedne nitineg Fragment ilustruje nevalidnu interakciju (eng. negative)ref Referiše na interakciju definisanu na drugom dijagramu (eng. reference)sd Predstavlja dijagram sekvence i koristi se
da okruži ceo dijagram (eng. sequence diagram)Tabela: Oznake za okvire
![Page 16: Bazirano na materijalima iz [Fowler, 2003]poincare.matf.bg.ac.rs/~asimic/2017/is/UMLSeminarski/... · 2018. 1. 18. · Dijagram sekvence Informacioni sistemi - mini seminarski rad](https://reader035.vdocuments.mx/reader035/viewer/2022081619/60f8ca874930021fe51be223/html5/thumbnails/16.jpg)
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Stara notacija za kontrolnu logiku
Slika: Stara notacija za kontrolnu logiku
![Page 17: Bazirano na materijalima iz [Fowler, 2003]poincare.matf.bg.ac.rs/~asimic/2017/is/UMLSeminarski/... · 2018. 1. 18. · Dijagram sekvence Informacioni sistemi - mini seminarski rad](https://reader035.vdocuments.mx/reader035/viewer/2022081619/60f8ca874930021fe51be223/html5/thumbnails/17.jpg)
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Sinhrone i asinhrone poruke
▶ UML2 definiše poruke kao asinhrone i sinhrone▶ Sinhrone poruke označavamo popunjenom strelicom▶ Asinhrone poruke označavamo nepopunjenom strelicom▶ Kada učesnik emituje sinhronu poruku, mora sačekati na povratnu poruku kako bi
nastavio sa radom▶ Emitovanje asinhrone poruke omogućava da učesnik nastavi sa svojim radom▶ Sinhronost poruka može biti od pomoću u fazi implementacije▶ Asinhronost povećava responzivnost i povećava stepen spregnutosti
![Page 18: Bazirano na materijalima iz [Fowler, 2003]poincare.matf.bg.ac.rs/~asimic/2017/is/UMLSeminarski/... · 2018. 1. 18. · Dijagram sekvence Informacioni sistemi - mini seminarski rad](https://reader035.vdocuments.mx/reader035/viewer/2022081619/60f8ca874930021fe51be223/html5/thumbnails/18.jpg)
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Kada koristiti dijagram sekvence?
▶ Kada posmatramo ponašanje više učesnika unutar slučaja upotrebe▶ Dijagram sekvence je dobar u prikazivanju saradnje između učesnika
▶ Ali nije previše dobar u detaljnom definisanju ponašanja učesnika
![Page 19: Bazirano na materijalima iz [Fowler, 2003]poincare.matf.bg.ac.rs/~asimic/2017/is/UMLSeminarski/... · 2018. 1. 18. · Dijagram sekvence Informacioni sistemi - mini seminarski rad](https://reader035.vdocuments.mx/reader035/viewer/2022081619/60f8ca874930021fe51be223/html5/thumbnails/19.jpg)
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Alternative dijagramu sekvence
▶ Ako je potrebno posmatrati ponašanje jednog objekta u više slučajeva upotreberazmotriti korišćenje dijagram stanja.
▶ Ako je potrebno posmatranje ponašanja u više slučajeva upotrebe ili niti,razmotriti korišćenje dijagram aktivnosti.
![Page 20: Bazirano na materijalima iz [Fowler, 2003]poincare.matf.bg.ac.rs/~asimic/2017/is/UMLSeminarski/... · 2018. 1. 18. · Dijagram sekvence Informacioni sistemi - mini seminarski rad](https://reader035.vdocuments.mx/reader035/viewer/2022081619/60f8ca874930021fe51be223/html5/thumbnails/20.jpg)
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Hvala na pažnji!
![Page 21: Bazirano na materijalima iz [Fowler, 2003]poincare.matf.bg.ac.rs/~asimic/2017/is/UMLSeminarski/... · 2018. 1. 18. · Dijagram sekvence Informacioni sistemi - mini seminarski rad](https://reader035.vdocuments.mx/reader035/viewer/2022081619/60f8ca874930021fe51be223/html5/thumbnails/21.jpg)
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Bibliography IFowler, M. (2003).UML Distilled: A Brief Guide to the Standard Object Modeling Language.Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 3 edition.