Diagramy stanów i diagramy aktywności Jarosław Kuchta Dokumentacja i Jakość Oprogramowania Diagramy stanów i diagramy aktywności
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. Dokumentacja i Jakość Oprogramowania Diagramy stanów i diagramy aktywności
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. Dokumentacja i Jakość Oprogramowania Diagramy stanów i diagramy aktywności
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. Dokumentacja i Jakość Oprogramowania Diagramy stanów i diagramy aktywności
Elementy diagramu stanów sygnatura przejścia (zdarzenie) przejście stanów Włącz ● Wyłączone Włączone stan początkowy Zamknij stan Wyłącz ◉ stan końcowy Dokumentacja i Jakość Oprogramowania Diagramy stanów i diagramy aktywności
Diagramy stanów i diagramy aktywności Opis przejścia sygnatura zdarzenia [warunek strzegący] / wyrażenie akcji Dokumentacja i Jakość Oprogramowania Diagramy stanów i diagramy aktywności
Diagramy stanów i diagramy aktywności Rodzaje zdarzeń Zdarzenie wywołania Zdarzenie sygnałowe Zdarzenie zmiany Zdarzenie czasowe Dokumentacja i Jakość Oprogramowania Diagramy stanów i diagramy aktywności
Zdarzenie wywołania Zdarzenie polegające na wywołaniu operacji nazwa operacji (lista parametrów) Dokumentacja i Jakość Oprogramowania Diagramy stanów i diagramy aktywności
Diagramy stanów i diagramy aktywności Zdarzenie sygnałowe «signal» Mouse pos: Point «signal» «signal» «signal» «signal» MouseDown MouseUp MouseMove MouseRoll btn: Button btn: Button dist: Point Dokumentacja i Jakość Oprogramowania Diagramy stanów i diagramy aktywności
Zdarzenie zmiany oznacza wystąpienie sytuacji, w której warunek zostaje spełniony when wyrażenie logiczne Dokumentacja i Jakość Oprogramowania Diagramy stanów i diagramy aktywności
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 Dokumentacja i Jakość Oprogramowania Diagramy stanów i diagramy aktywności
Diagramy stanów i diagramy aktywności 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 Dokumentacja i Jakość Oprogramowania Diagramy stanów i diagramy aktywności
Diagramy stanów i diagramy aktywności 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. Dokumentacja i Jakość Oprogramowania Diagramy stanów i diagramy aktywności
Diagramy stanów i diagramy aktywności Przykład przejścia MouseDown (btn, loc) [loc in Window] / object := Window.FindObject (loc); object.Select () Dokumentacja i Jakość Oprogramowania Diagramy stanów i diagramy aktywności
Akcje wejściowe i wyjściowe entry/ akcja wejściowa exit/ akcja wyjściowa do/ aktywność include/ wewnętrzna maszyna stanów zdarzenie/ akcja wewnętrzna Transakcja entry/ połącz z bazą danych exit/ rozłącz z bazą danych do/ przekazuj dane stan/ podaj stan Dokumentacja i Jakość Oprogramowania Diagramy stanów i diagramy aktywności
Diagramy stanów i diagramy aktywności Stany złożone podstany rozłączne (sekwencyjne) podstany równoległe Dokumentacja i Jakość Oprogramowania Diagramy stanów i diagramy aktywności
Diagramy stanów i diagramy aktywności Podstany rozłączne Wybieranie numeru Numer kierunkowy Numer błędny Cyfra (n) [n=0] Oczekiwanie ● ◉ entry / Akceptuj Cyfrę (n) do / Sprawdź numer Cyfra (n)/ Akceptuj Cyfrę (n) Błąd entry / Włącz sygnał błędu exit / Wyłącz sygnał błędu entry / Włącz sygnał centrali exit / Wyłącz sygnał centrali Cyfra (n) [n≠0] Numer kompletny Błąd Numer lokalny Błąd Numer zdalny 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 ◉ Dokumentacja i Jakość Oprogramowania Diagramy stanów i diagramy aktywności
Diagramy stanów i diagramy aktywności Stany równoległe Diagnostyka Diagnostyka w toku ● ◉ Diagnostyka Układu1 Pass Diagnostyka Układu2 Pass ● Passed Fail Fail ● ◉ Diagnostyka Układu3 Pass Diagnostyka Układu4 Pass Failed Fail Fail Dokumentacja i Jakość Oprogramowania Diagramy stanów i diagramy aktywności
Synchronizacja stanów równoległych Stan A1 Stan A2 Inicjalizacja Finalizacja Stan B1 Stan B2 belka synchronizacji Dokumentacja i Jakość Oprogramowania Diagramy stanów i diagramy aktywności
Diagramy stanów i 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 Dokumentacja i Jakość Oprogramowania Diagramy stanów i diagramy aktywnoś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 Dokumentacja i Jakość Oprogramowania Diagramy stanów i diagramy aktywności
Diagramy stanów i diagramy aktywności 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 Dokumentacja i Jakość Oprogramowania Diagramy stanów i diagramy aktywności