Your SlideShare is downloading. ×
0
 T 3.5 modelovanje stanja koriscenjem uml statechart dijagrama
 T 3.5 modelovanje stanja koriscenjem uml statechart dijagrama
 T 3.5 modelovanje stanja koriscenjem uml statechart dijagrama
 T 3.5 modelovanje stanja koriscenjem uml statechart dijagrama
 T 3.5 modelovanje stanja koriscenjem uml statechart dijagrama
 T 3.5 modelovanje stanja koriscenjem uml statechart dijagrama
 T 3.5 modelovanje stanja koriscenjem uml statechart dijagrama
 T 3.5 modelovanje stanja koriscenjem uml statechart dijagrama
 T 3.5 modelovanje stanja koriscenjem uml statechart dijagrama
 T 3.5 modelovanje stanja koriscenjem uml statechart dijagrama
 T 3.5 modelovanje stanja koriscenjem uml statechart dijagrama
 T 3.5 modelovanje stanja koriscenjem uml statechart dijagrama
 T 3.5 modelovanje stanja koriscenjem uml statechart dijagrama
 T 3.5 modelovanje stanja koriscenjem uml statechart dijagrama
 T 3.5 modelovanje stanja koriscenjem uml statechart dijagrama
 T 3.5 modelovanje stanja koriscenjem uml statechart dijagrama
 T 3.5 modelovanje stanja koriscenjem uml statechart dijagrama
 T 3.5 modelovanje stanja koriscenjem uml statechart dijagrama
 T 3.5 modelovanje stanja koriscenjem uml statechart dijagrama
 T 3.5 modelovanje stanja koriscenjem uml statechart dijagrama
 T 3.5 modelovanje stanja koriscenjem uml statechart dijagrama
 T 3.5 modelovanje stanja koriscenjem uml statechart dijagrama
 T 3.5 modelovanje stanja koriscenjem uml statechart dijagrama
 T 3.5 modelovanje stanja koriscenjem uml statechart dijagrama
 T 3.5 modelovanje stanja koriscenjem uml statechart dijagrama
 T 3.5 modelovanje stanja koriscenjem uml statechart dijagrama
 T 3.5 modelovanje stanja koriscenjem uml statechart dijagrama
 T 3.5 modelovanje stanja koriscenjem uml statechart dijagrama
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

T 3.5 modelovanje stanja koriscenjem uml statechart dijagrama

495

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
495
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Modelovanje stanja korišćenjem Statechartdijagrama (dijagrama stanja)Analiza i specifikacija informacionih sistema dr Zoran Jeremić zoran.jeremic@gmail.com 1
  • 2. Sadržaj Uvod u statechart dijagrame Statechart gradivni blokovi  Stanja  Promene Napredne karakteristike  Složena stanja  Paralelna stanja
  • 3. Proces razvoja sistema Faza Aktivnost Izlaz BiznisZapočinjanje Utvrđivanje poslovnih potreba dokumenta Intervjuisanje stejkholdera, istraživanje OrganizovanaAnaliza sistemskog okruženja dokumentacija Analiza inženjerskih aspekata sistema, Logički modelSpecifikacija definisanje koncepata sistema sistema Programiranje, testiranje jedinica, ProverljivImplementacija integrisanje, dokumentovanje sistem ResultatiTestiranje & Integrisanje svih komponenti, verifikacija, testiranja,Integracija validacija, instalacija, obuka funkcionalan sistem Popravljanje bagova, modifikacije,Održavanje adaptacija Verzije sistema
  • 4. Šta nedostaje u modelovanju ponašanja? p : Product : ShooppingCartcustomer display() getPrice() addProduct (p) checkout () U dijagramu sekvence ne znamo kako se stanje šoping karte menja.
  • 5. Modelovanje stanja ShoppingCart Product dateCreated : Date dateUpdated : Date * * productId : String name : String addNewProduct(p : Product, photo : Picture quantity : int) removeProduct(p : Product) Item quantity Kako možemo modelovati stanje šoping karte? Zavisi od:  Stanja objekta (npr. kreiran, ugašen)  Dodeljivanja vrednosti promenljivima  Stanja relacije (npr. broj artikala)  Operativnih metoda i procesa  Istorije
  • 6. Automata Mašina čije izlazno ponašanje nije samo direktna posledica trenutnog ulaza, već i nekih ranijih ulaza. Karakteriše ga interno stanje koje predstavlja njegovo ranije iskustvo. Ako je telefon uključen, pritisak na dugme će ga isključiti Ako je telefon uključen, pritisak na dugme će ga uključiti
  • 7. Sadržaj Uvod u statechart dijagrame Statechart gradivni blokovi  Stanja  Promene Napredne karakteristike  Složena stanja  Paralelna stanja
  • 8. Stanja i klase Pogled klase Pogled stanja Stanje created Order Tranzicija status: {created, sent, in gathering received} hasProblems : boolean gatherItems() sent updateInventory() sendOrder() received(customer) sendReciept() is received in problem
  • 9. Aktivnosti Dok se nalazi u određenom in gathering stanju, komponenta može izvršavati aktivnosti. do: gatherItems()  Može biti neprekidna u do: updateInventory() određenom ili neograničenom vremenu  Aktivnosti unutar stanja su created sekvencijalne  Aktivnosti mogu biti prekinute enter: set hasProblems to false do: init gathering list Postoje specijalni tipovi exit: clean log file aktivnosti, klasifikovanih kao ulazne, izlazne i događaji
  • 10. Tranzicije događaj [uslov] | akcija x y Akcija koja će se desiti kada dođe Događaj koji Uslov koji se mora do tranzicije pokreće ispuniti da bi došlo tranziciju do tranzicije
  • 11. Događaji Osnovni događaji  Pozivi metoda: received(customer)  Signali događaja: inventoryReady created Vremenski događaji: inventoryReady  Istek intervala; in gathering tm(3 days), tm(1000 ms)  kalendar/sat vreme; when(11:50) false(hasProblems) Događaji promene: sent  Promena vrednosti nekog received() tm(3 days) entiteta; false(hasProblems) true(hasProblems) in problem is received
  • 12. Uslovi gatheringFinished [all items were gathered] sent in gathering in problem gatheringFinished [items are not found] Boolean iskazi. Proveravaju se kada je tranzicija aktivirana Tipovi uslova:  Jednostavan: [hasProblems], [x > 0]  Kombinovani: [¬hasProblems ∨ (hasProblems ∧ order.sum < 100]  Uslovi nad aktivnostima: [active(gatherItems)]
  • 13. Uslovi - primerbid [value < 100] bid [value >= 200] Selling Happy bid [(value >= 100) AND (value < 200)] Unhappy
  • 14. Grananje statičkih uslova  Grafička prečica predstavljanje stabla odlučivanja Selling Happy bid [value >= 200] [value < 100] [(value >= 100) & (value < 200)] Unhappy
  • 15. Prazne tranzicije Tranzicija može imati bilo kakvu kombinaciju događaja, uslova i akcija (uključujući i ništa) Kada tranzicija nema događaj, ona se dešava kada su sve aktivnosti završene Prazna Employee tranzicija rest[break] Cleaning Working do: put water do: put soap doing nothing do: shovel work do: wash soap do: drain work
  • 16. Uslovi i događaji Koja je razlika između dve mašine? E1 true(C) S1 S2 S3 E1 [C] S1 S2 S3 Šta se dešava ako C promeni stanje u True ili False pre E1?
  • 17. AkcijeTipovi akcija  Dodeljivanje promenljive: received() | status := received sent is received  Slanje signala: received() | throw(InventoryUpdate) sent is received  Aktivnosti započinjanja ili zaustavljanja: | start(sendBill); stop(delivery); x := x+1 sent is received
  • 18. Kako mašina za veš funkcioniše?  On / Off dugme. Start dugme (Nema stop dugmeta.)  Povratna poruka se daje o trenutnom stanju (potapanje, ispiranje, ceđenje, sušenje)  Tri plana:  Regularni  Osetljivi (bez potapanja)  Super osetljivi (bez potapanja, bez sušenja)  Off se može pritisnuti samo pre početka ili nakon završetka
  • 19. Mašina za pranje idle-prazan hod, soak-potapanje, off rinse-ispiranje, drain-ceđenje. dry- sušenje, delicate-fino stir-mešanje click(power) click(power) idle Tm(10 mins) | light(off) click(start) [plan=regular] soakclick(start) [plan=delicate Do: light(soak) or super delicate] Do: pump(in) Tm(5 mins) [plan=super delicate] | light(off) tm(30 mins) rinse drain dry tm(5 mins) Do: light(rinse) tm(30 mins) Do: light(drain) [plan=not super Do: light(dry) Do: stir() Do: pump(out) delicate] Do: stir()
  • 20. Sadržaj Uvod u statechart dijagrame Statechart gradivni blokovi  Stanja  Promene Napredne karakteristike  Složena stanja  Paralelna stanja
  • 21. Eksplozija stanja: Primer off Šta ukoliko bi se off dugme moglo pritisnuti bilo kad? click(power) click(power) idle Tm(10 mins) | light(off) click(start) [plan=regular] soakclick(start) [plan=delicate Do: light(soak) or super delicate] Do: pump(in) Tm(5 mins) [plan=super delicate] | light(off) tm(30 mins) rinse drain dry tm(5 mins) Do: light(rinse) tm(30 mins) Do: light(drain) [plan=not super Do: light(dry) Do: stir() Do: pump(out) delicate] Do: stir() Šta ukoliko želimo da se vratimo u isto stanje iz koga smo izašli?
  • 22. Apstrakcija u statechart dijagramima Pronalaženje zajedničkog Odvajanje nezavisnih regiona ponašanja Kompozitna stanja Paralelna stanja
  • 23. Kompozitna stanja off click(power) click(power) On idle Tm(10 mins) | light(off) click(start) [plan=regular] soakclick(start) [plan=delicate Do: light(soak) or super delicate] Do: pump(in) Tm(5 mins) [plan=super delicate] | light(off) tm(30 mins) rinse drain dry tm(5 mins) Do: light(rinse) tm(30 mins) Do: light(drain) [plan=not super Do: light(dry) Do: stir() Do: pump(out) delicate] Do: stir()
  • 24. Kompozitna stanja + istorija off click(power) click(power) On H idle Tm(10 mins) | light(off) click(start) [plan=regular] soakclick(start) [plan=delicate Do: light(soak) or super delicate] Do: pump(in) Tm(5 mins) [plan=super delicate] | light(off) tm(30 mins) rinse drain dry tm(5 mins) Do: light(rinse) tm(30 mins) Do: light(drain) [plan=not super Do: light(dry) Do: stir() Do: pump(out) delicate] Do: stir()
  • 25. Duboka(deep) i plitka(shallow) istorija Shift ended | clh() Stop pause Diagnosing return H Diagnostic1 Diagnostic2 return-full H* setup Find a veinclh() – brisanje Check bloodistorije Draw Blood pressure
  • 26. Paralelna stanja Ponekad su određeni aspekti entiteta nezavisni od drugih aspekata employee Marital single Staff Member married Manager divorced
  • 27. Označavanje paralelnih stanja Kombinovanje višestrukih simultanih opisa Martial employee single Staff Member married Martial employee single Manager divorced Staff Member married divorced Manager
  • 28. Račvanje (fork) i spajanje (join) tranzicija shipping Processing Sent Confirmed Credit Card [ok] verification Receipt Sent račvanje spajanje [not ok] charging In problem

×