uml pagrindai

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

Upload: yule

Post on 10-Feb-2016

123 views

Category:

Documents


0 download

DESCRIPTION

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. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: UML pagrindai

UML pagrindai

Elgsenos modeliavimasLekt. dr. Agnius Liutkevičius

Page 2: UML pagrindai

Elgseną aprašančios diagramos

Būsenų (angl. state, statechart) Sekų (angl. sequence) Bendradarbiavimo (angl. collaboration)

Apžvelgta anksčiau: scenarijų (activity)

Page 3: UML pagrindai

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.

Page 4: UML pagrindai

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.

Page 5: UML pagrindai

Objekto būsena (1)

Aprašo konkrečią objekto būseną. Yra prieš tai įvykusių įvykių ir veiksmų

rezultatas. Žymima:

Page 6: UML pagrindai

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.

Page 7: UML pagrindai

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ą:

Baigėsi duomenys

Page 8: UML pagrindai

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ą.

Page 9: UML pagrindai

Pradinė, galinė būsena

Page 10: UML pagrindai

Būsenos elementai

Pavadinimas Būsenos atributai Veiksmai (angl.

activities) ir įvykiai (angl. events)

Page 11: UML pagrindai

Veiksmai ir įvykiai

Formalus aprašas:event_name argument list ‘/’ action_expression

Standartiniai įvykiai:entryexitdokiti

Page 12: UML pagrindai

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]

Page 13: UML pagrindai

Perėjimo įvykis

Aprašo įvykį, kuris aktyvuoja perėjimą. Gali aprašyti papildomą informaciją –

įvykio parametrai. Pvz.:

Draw(f:Figure, c:Color)

Page 14: UML pagrindai

Perėjimo sąlyga

guard_condition Boolean išraiška. Turi būti tenkinama, kad perėjimas įvyktų. Pvz.:

[t = 20][balance >= amount]

Page 15: UML pagrindai

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()

Page 16: UML pagrindai

Diagramos pavyzdys

<=

<=

Page 17: UML pagrindai

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).

Page 18: UML pagrindai

Sudėtinės būsenos

Page 19: UML pagrindai

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ą.

Page 20: UML pagrindai

Sudėtiniai perėjimai

Sujungimo taškas Išsišakojimas

UML 2

Page 21: UML pagrindai

Papildomai

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

Page 22: UML pagrindai

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ą.

Page 23: UML pagrindai

Sekų diagramos elementai Objektai (dalyviai):

Klasių, aprašytų klasių diagramose egzemplioriai;

Vartotojai; Išoriniai objektai.

Aprašoma nurodant: Vardą; Klasę; Klasę ir vardą.

Page 24: UML pagrindai

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.

Page 25: UML pagrindai

Pranešimų tipai (1)

Asinchroninis

Sinchroninis

Reikšmės gražinimas

Page 26: UML pagrindai

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.

Page 27: UML pagrindai

Sekų diagramos pavyzdys

Page 28: UML pagrindai

Objekto “gyvavimo linija” (lifeline)

Aktyvi / neaktyvi būsena Blokuotas objektas Pranešimas sau Rekursyvus pranešimas Aktyvūs objektai

Page 29: UML pagrindai

Objekto “gyvavimo linija” (lifeline)

Objekto sukūrimas Objekto sunaikinimas

Page 30: UML pagrindai

Laiko įvertinimas

Page 31: UML pagrindai

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

Page 32: UML pagrindai

Lygiagretus vykdymas

Page 33: UML pagrindai

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).

Page 34: UML pagrindai

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.

Page 35: UML pagrindai

Diagramos elementai

Tokie patys kaip ir sekų diagramoje:Objektai;Pranešimai.

Taip pat pateikiama papildoma informacija:Sąryšiai (asociacijų egzemplioriai).

Page 36: UML pagrindai

Pranešimo perdavimas

Žymima rodykle šalia sąryšio:

Žingsniai numeruojami – taip perteikiama veiksmų vykdymo seka.

Page 37: UML pagrindai

Bendradarbiavimo diagramos pavyzdys

Page 38: UML pagrindai

Papildomai

Multiobjektai – atvaizduojama keletas objekto egzempliorių.

Pranešimas į save Asociacijos Rolės

Page 39: UML pagrindai

Ačiū už dėmesį