1 / 39

UML pagrindai

UML pagrindai. Elgsenos modeliavimas Lekt. dr. Agnius Liutkevičius. Elgseną aprašančios diagramos. Būsenų ( angl. state, statechart) Sekų ( angl. sequence ) Bendradarbiavimo ( angl. collaboration) Apžvelgta anksčiau: scenarijų (activity). Būsenų diagrama.

yule
Download Presentation

UML pagrindai

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. UML pagrindai Elgsenos modeliavimas Lekt. dr. Agnius Liutkevičius

  2. Elgseną aprašančios diagramos • Būsenų (angl. state, statechart) • Sekų (angl. sequence) • Bendradarbiavimo (angl. collaboration) • Apžvelgta anksčiau: scenarijų (activity)

  3. Būsenų diagrama • Aprašo visas įmanomas pasirinkto objekto būsenas. • Aprašo perėjimus tarp būsenų. • Yra orientuota į vidinius objekto būsenos kitimus. • Naudojama sudėtingiems (elgesio požiūriu) objektams aprašyti.

  4. Būsenų diagrama • Specifikuoja objekto gyvavimo ciklą, nusakantį visus įmanomus elgesio variantus. • Formalus modelis – automatas (angl. state machine). Aprašomas orientuotu grafu, kurio viršūnės žymi būsenas, o briaunos – perėjimus. • Būsenų diagrama – šio modelio grafinė reprezentacija.

  5. Objekto būsena (1) • Aprašo konkrečią objekto būseną. • Yra prieš tai įvykusių įvykių ir veiksmų rezultatas. • Žymima:

  6. Objekto būsena (2) • Pvz.: užklausa (objektas) yra apdorojama (būsena). • Aktyvi (angl. active). • Neaktyvi (angl. inactive). • Objekto būsenų kitimus nusako perėjimai.

  7. Baigėsi duomenys Perėjimas (angl. transition) • Objektas keičia būseną kai kas nors įvyksta. • Perėjimas aprašo pilną objekto reakciją į tam tikrą įvykį. • Žymima rodykle iš vienos būsenos į kitą:

  8. Pradinė, galinė būsena • Pradinė būsena (angl. initial state): • Nurodo pradinę būseną po objekto sukūrimo; • Gali būti tik viena pradinė būsena. • Galinė būsena (angl. final state): • Žymi objekto sunaikinimą; • Arba bendradarbiavimo (collaboration) pabaigą.

  9. Pradinė, galinė būsena

  10. Būsenos elementai • Pavadinimas • Būsenos atributai • Veiksmai (angl. activities) ir įvykiai (angl. events)

  11. Veiksmai ir įvykiai • Formalus aprašas: event_name argument list ‘/’ action_expression • Standartiniai įvykiai: • entry • exit • do • kiti

  12. Perėjimo aprašas • Perėjimas tarp būsenų paprastai yra susietas su įvykiu. • Jei įvykis nenurodytas, perėjimas įvyksta, kai įvykdomi vidiniai būsenos veiksmai (automatinis perėjimas). • Formalus aprašas: [event_siganture] [‘[‘ guard_condition ‘]’] [‘/’ action_expression ‘^’ send_clause]

  13. Perėjimo įvykis • Aprašo įvykį, kuris aktyvuoja perėjimą. • Gali aprašyti papildomą informaciją – įvykio parametrai. • Pvz.: • Draw(f:Figure, c:Color)

  14. Perėjimo sąlyga • guard_condition • Boolean išraiška. • Turi būti tenkinama, kad perėjimas įvyktų. • Pvz.: [t = 20] [balance >= amount]

  15. Veiksmai • action_expression– aprašo veiksmus objekto viduje. • Pvz.: increase() / n := n + 1 • send_clause– aprašo veiksmus susijusius su išoriniais objektais. • Pvz.: out_of_fuel()^engine.stop()

  16. <= <= Diagramos pavyzdys

  17. Sudėtinės būsenos • Būsena gali turėti keletą vidinių būsenų. • Tokia būsena vadinama sudėtine būsena (angl. superstate), o vidinės būsenos – sub-būsenomis (angl. substates).

  18. Sudėtinės būsenos

  19. Sudėtiniai perėjimai (angl. compound transitions) • Sujungimo taškas (angl. junction point) –perėjimo sąlygos yra tikrinamos prieš pereinant į naują būseną. • Dinaminis išsišakojimas (angl. dynamic choice point) – perėjimo sąlygos yra tikrinamos perėjus į išsišakojimo tašką.

  20. Sujungimo taškas Išsišakojimas Sudėtiniai perėjimai UML 2

  21. Papildomai • Rekursyvūs perėjimai • Lygiagrečios sub-būsenos • Sub-būsenų sinchronizavimas

  22. Sekų diagramos • Sekų diagramos parodo kaip objektai bendrauja tarpusavyje laike. • Naudojama sudėtingų vartojimo atvejų ar veiksmų detalizavimui. • Vertikali ašis žymi laiką, horizontalioje išdėstomi objektai. • Skaitoma iš kairės į dešinę iš viršaus į apačią.

  23. Sekų diagramos elementai • Objektai (dalyviai): • Klasių, aprašytų klasių diagramose egzemplioriai; • Vartotojai; • Išoriniai objektai. • Aprašoma nurodant: • Vardą; • Klasę; • Klasę ir vardą.

  24. Sekų diagramos elementai • Pranešimai: • Žymi informacijos perdavimą iš vieno objekto į kitą. • Pranešimų pavyzdžiai: • Metodo iškvietimas; • Signalo perdavimas; • Objekto sukūrimas ar sunaikinimas. • Pranešimai numeruojami.

  25. Pranešimų tipai (1) • Asinchroninis • Sinchroninis • Reikšmės gražinimas

  26. Pranešimų tipai (2) • Sinchroninis – tai pranešimas, kuomet kviečiantysis objektas laukia, kol kviečiamas objektas atliks veiksmus, susijusius su pranešimu. • Asinchroninis – tai pranešimas, kuomet kviečiantysis objektas nelaukia, kol kviečiamas objektas atliks veiksmus, susijusius su pranešimu.

  27. Sekų diagramos pavyzdys

  28. Objekto “gyvavimo linija” (lifeline) • Aktyvi / neaktyvi būsena • Blokuotas objektas • Pranešimas sau • Rekursyvus pranešimas • Aktyvūs objektai

  29. Objekto sukūrimas Objekto sunaikinimas Objekto “gyvavimo linija” (lifeline)

  30. Laiko įvertinimas

  31. Sąlyginis modeliavimas (išsišakojimai, ciklai ir pan.)

  32. Lygiagretus vykdymas

  33. Sekų diagramų tipai • Egzemplioriaus (angl. instace) diagrama – skirta aprašyti vieną galimą vykdymo variantą. • Bendra (angl. generic) – aprašo visus galimus vykdymo variantus. • Bendrą diagrama galima gauti apjungiant aibę instance diagramų. • Du lygiai – egzempliorinis (angl. instance) ir specifikavimo (angl. specification).

  34. Bendradarbiavimo diagramos • Aprašo kaip elementai sąveikauja laike ir kaip jie yra susieti tarpusavyje. • Labiau pabrėžiama struktūra ir sąryšiai. • Pateikiama ta pati informacija kaip ir sekų diagramoje, tik kitu aspektu.

  35. Diagramos elementai • Tokie patys kaip ir sekų diagramoje: • Objektai; • Pranešimai. • Taip pat pateikiama papildoma informacija: • Sąryšiai (asociacijų egzemplioriai).

  36. Pranešimo perdavimas • Žymima rodykle šalia sąryšio: • Žingsniai numeruojami – taip perteikiama veiksmų vykdymo seka.

  37. Bendradarbiavimo diagramos pavyzdys

  38. Papildomai • Multiobjektai – atvaizduojama keletas objekto egzempliorių. • Pranešimas į save • Asociacijos • Rolės

  39. Ačiū už dėmesį

More Related