Modelowanie behawioralne
Transkrypt
Modelowanie behawioralne
Jarosław Kuchta Inżynieria Oprogramowania Modelowanie behawioralne Pojęcia podstawowe (1/3) • behawioryzm – ogół zachowania obiektów, reakcje obiektów na zdarzenia. • stan – sytuacja w czasie życia obiektu, w którym spełniony jest pewien warunek, wykonywana jest pewna aktywność lub obiekt czeka na pewne zdarzenie. Pojęcia podstawowe (2/3) • akcja – wykonanie operacji w niepodzielnym na danym poziomie abstrakcji momencie czasu. • aktywność – wykonywanie operacji przez obiekt w czasie, gdy znajduje się on w określonym stanie. Zakończenie aktywności jest wyznaczane przez zdarzenie zewnętrzne względem danej aktywności lub wewnętrzne. Pojęcia podstawowe (3/3) • przejście stanów – zmiana stanu wywołana określonym zdarzeniem, uzależniona od warunku strzegącego, powiązana z wykonywaną podczas przejścia akcją. • maszyna stanów – abstrakcyjna maszyna reprezentowana przez zbiór stanów, przez które obiekt przechodzi w czasie, powiązanych przejściami stanów. Prezentowana przez diagram przejść stanów. Elementy diagramu stanów sygnatura przejścia (zdarzenie) przejście stanów Włącz ● stan początkowy Wyłączone Włączone Zamknij stan Wyłącz ◉ stan końcowy Opis przejścia sygnatura zdarzenia [warunek strzegący] / wyrażenie akcji Rodzaje zdarzeń • • • • Zdarzenie wywołania Zdarzenie sygnałowe Zdarzenie zmiany Zdarzenie czasowe Zdarzenie wywołania • Zdarzenie polegające na wywołaniu operacji nazwa operacji (lista parametrów) Zdarzenie sygnałowe «signal» Mouse pos: Point «signal» «signal» «signal» «signal» MouseDown MouseUp MouseMove MouseRoll btn: Button btn: Button dist: Point Zdarzenie zmiany • oznacza wystąpienie sytuacji, w której warunek zostaje spełniony when wyrażenie logiczne Zdarzenie czasowe • upłynięcie określonego czasu od określonego innego zdarzenia (najczęściej momentu wejścia w dany stan): after wyrażenie czasowe • wystąpienie określonego czasu: when wyrażenie czasowe Wyrażenie strzegące • wyrażenie logiczne, w którym występują: – parametry zdarzenia wyzwalającego – atrybuty i powiązania obiektu – właściciela maszyny stanów – może występować test stanu (in nazwa stanu) • wyrażenie strzegące jest sprawdzane po wystąpieniu zdarzenia, a przed „odpaleniem” (firing) przejścia Wyrażenie akcji • Ciąg operacji oddzielonych średnikami • Operacje są wykonywane sekwencyjnie. Rozpoczęcie następnej po zakończeniu poprzedniej. • Mogą występować parametry zdarzenia. Przykład przejścia MouseDown (btn, loc) [loc in Window] / object := Window.FindObject (loc); object.Select () Akcje wejściowe i wyjściowe Transakcja entry/ połącz z bazą danych exit/ rozłącz z bazą danych do/ przekazuj dane stan/ podaj stan • • • • • entry/ akcja wejściowa exit/ akcja wyjściowa do/ aktywność include/ wewnętrzna maszyna stanów zdarzenie/ akcja wewnętrzna Stany złożone • podstany rozłączne (sekwencyjne) • podstany równoległe Podstany rozłączne Wybieranie numeru Numer kierunkowy Oczekiwanie ● Cyfra (n) [n=0] entry / Włącz sygnał centrali exit / Wyłącz sygnał centrali Błąd Numer kompletny Cyfra (n) [n≠0] Numer lokalny entry / Akceptuj Cyfrę (n) do / Sprawdź numer Cyfra (n)/ Akceptuj Cyfrę (n) Numer błędny Błąd entry / Akceptuj Cyfrę (n) do / Sprawdź numer Cyfra (n)/ Akceptuj Cyfrę (n) Błąd Numer zdalny entry / Akceptuj Cyfrę (n) do / Sprawdź numer Cyfra (n)/ Akceptuj Cyfrę (n) Numer kompletny Numer kompletny ◉ entry / Włącz sygnał błędu exit / Wyłącz sygnał błędu ◉ Stany równoległe Diagnostyka Diagnostyka w toku ● ● Diagnostyka Układu1 Pass Fail ● Diagnostyka Układu3 Fail Diagnostyka Pass Układu2 ◉ Fail Pass Diagnostyka Pass Układu4 ◉ Fail Passed Failed Synchronizacja stanów równoległych Stan A1 Stan A2 Inicjalizacja Finalizacja Stan B1 Stan B2 belka synchronizacji Diagramy aktywności • Specjalna postać diagramu stanów, w którym: – stany reprezentują wykonanie akcji lub podaktywności – przejścia stanów są wyzwalane przez zakończenie akcji lub podaktywności Przykład diagramu aktywności [operacja = Podaj saldo] ● Wprowadzanie PIN’u Wybór operacji Podanie salda [operacja = Wypłać] [operacja = Zakończ] ◉ Wprowadzenie kwoty Sprawdzenie salda Czy saldo wystarczające? [nie] [tak] Odliczanie kwoty Drukowanie potwierdzenia Odbiór kwoty Aktywności równoległe Obiekt 1 Obiekt 2 Obiekt 3 Inicjalizacja Aktywność A1 Aktywność B1 Aktywność C2 Aktywność A2 Finalizacja "tory pływackie" Aktywność C1 Literatura • Booch G, Rumbaugh J, Jacobson I: UML. Przewodnik użytkownika, WNT, Warszawa 2002 • Dennis A., Haley Wixom B., Tegarden D.: System Analysis & Design. An Object-Oriented Approach with UML, John Wiley & Sons, Inc., USA 2001