Diagramy stanów i aktywności Jarosław Kuchta
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. Diagramy stanów i diagramy aktywności 2
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. Diagramy stanów i diagramy aktywności 3
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. Diagramy stanów i diagramy aktywności 4
Elementy diagramu stanów sygnatura przejścia (zdarzenie) przejście stanów Włącz stan początkowy Wyłączone Włączone stan Wyłącz stan końcowy Zamknij Diagramy stanów i diagramy aktywności 5
Opis przejścia sygnatura zdarzenia [warunek strzegący] / wyrażenie akcji Diagramy stanów i diagramy aktywności 6
Rodzaje zdarzeń Zdarzenie wywołania Zdarzenie sygnałowe Zdarzenie zmiany Zdarzenie czasowe Diagramy stanów i diagramy aktywności 7
Zdarzenie wywołania Zdarzenie polegające na wywołaniu operacji nazwa operacji (lista parametrów) Diagramy stanów i diagramy aktywności 8
Zdarzenie sygnałowe «signal» Mouse pos: Point «signal» MouseDown «signal» MouseUp «signal» MouseMove «signal» MouseRoll btn: Button btn: Button dist: Point Diagramy stanów i diagramy aktywności 9
Zdarzenie zmiany oznacza wystąpienie sytuacji, w której warunek zostaje spełniony when wyrażenie logiczne Diagramy stanów i diagramy aktywności 10
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 Diagramy stanów i diagramy aktywności 11
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 Diagramy stanów i diagramy aktywności 12
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. Diagramy stanów i diagramy aktywności 13
Przykład przejścia MouseDown (btn, loc) [loc in Window] / object := Window.FindObject (loc); object.select () Diagramy stanów i diagramy aktywności 14
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 Diagramy stanów i diagramy aktywności 15
Stany złożone podstany rozłączne (sekwencyjne) podstany równoległe Diagramy stanów i diagramy aktywności 16
Podstany rozłączne Wybieranie numeru Oczekiwanie entry / Włącz sygnał centrali exit / Wyłącz sygnał centrali Cyfra (n) [n=0] Numer kierunkowy entry / Akceptuj Cyfrę (n) do / Sprawdź numer Cyfra (n)/ Akceptuj Cyfrę (n) Błąd Numer błędny entry / Włącz sygnał błędu exit / Wyłącz sygnał błędu Cyfra (n) [n 0] Numer kompletny Numer lokalny Błąd Numer zdalny Błąd entry / Akceptuj Cyfrę (n) do / Sprawdź numer Cyfra (n)/ Akceptuj Cyfrę (n) entry / Akceptuj Cyfrę (n) do / Sprawdź numer Cyfra (n)/ Akceptuj Cyfrę (n) Numer kompletny Numer kompletny Diagramy stanów i diagramy aktywności 17
Stany równoległe Diagnostyka Diagnostyka w toku Diagnostyka Pass Diagnostyka Układu1 Układu2 Fail Fail Diagnostyka Pass Diagnostyka Układu3 Układu4 Fail Fail Pass Pass Failed Passed Diagramy stanów i diagramy aktywności 18
Synchronizacja stanów równoległych Stan A1 Stan A2 Inicjalizacja Finalizacja Stan B1 Stan B2 belka synchronizacji Diagramy stanów i diagramy aktywności 19
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 Diagramy stanów i diagramy aktywności 20
Przykład diagramu aktywności Wprowadzanie PIN u [operacja = Zakończ] Wybór operacji [operacja = Podaj saldo] [operacja = Wypłać] Wprowadzenie kwoty Podanie salda Sprawdzenie salda Czy saldo wystarczające? [nie] [tak] Odliczanie kwoty Drukowanie potwierdzenia Odbiór kwoty Diagramy stanów i diagramy aktywności 21
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 Diagramy stanów i diagramy aktywności 22