230 likes | 458 Views
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.
E N D
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. 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. 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. 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 Diagramy stanów i diagramy aktywności
Opis przejścia sygnatura zdarzenia [warunek strzegący] / wyrażenie akcji Diagramy stanów i diagramy aktywności
Rodzaje zdarzeń • Zdarzenie wywołania • Zdarzenie sygnałowe • Zdarzenie zmiany • Zdarzenie czasowe Diagramy stanów i diagramy aktywności
Zdarzenie wywołania • Zdarzenie polegające na wywołaniu operacji nazwa operacji (lista parametrów) Diagramy stanów i diagramy aktywności
Zdarzenie sygnałowe «signal» Mouse pos: Point «signal» «signal» «signal» «signal» MouseDown MouseMove MouseRoll MouseUp dist: Point btn: Button btn: Button Diagramy stanów i diagramy aktywności
Zdarzenie zmiany • oznacza wystąpienie sytuacji, w której warunek zostaje spełniony whenwyrażenie logiczne 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): afterwyrażenie czasowe • wystąpienie określonego czasu: whenwyrażenie czasowe 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 (innazwa stanu) • wyrażenie strzegące jest sprawdzane powystąpieniu zdarzenia, a przed „odpaleniem” (firing) przejścia 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. Diagramy stanów i diagramy aktywności
Przykład przejścia MouseDown (btn, loc) [loc in Window] / object := Window.FindObject (loc); object.Select () 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 Diagramy stanów i diagramy aktywności
Stany złożone • podstany rozłączne (sekwencyjne) • podstany równoległe 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 Numer kompletny Cyfra (n) [n≠0] Błąd Błąd Numer lokalny 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 ◉ Diagramy stanów i diagramy aktywności
Stany równoległe Diagnostyka Diagnostyka w toku ● ◉ Pass Pass Diagnostyka Układu1 Diagnostyka Układu2 ● Passed Fail Fail ● ◉ Pass Pass Diagnostyka Układu3 Diagnostyka Układu4 Failed Fail Fail Diagramy stanów i diagramy aktywności
Synchronizacja stanów równoległych Stan A2 Stan A1 Inicjalizacja Finalizacja Stan B1 Stan B2 belka synchronizacji Diagramy stanów i diagramy aktywności
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
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 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 Diagramy stanów i diagramy aktywności