21
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Dijagram sekvence Informacioni sistemi - mini seminarski rad Nemanja Mićović [email protected] Matematički fakultet, Univerzitet u Beogradu 21. decembar 2017

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

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

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

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

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

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

▶ 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

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

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

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

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

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

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

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

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

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

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

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

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

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

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

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

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

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

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

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

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

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

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

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

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

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

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

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

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

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

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

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

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

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

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

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

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

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

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.