diagramy stanów i diagramy aktywności
DESCRIPTION
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. - PowerPoint PPT PresentationTRANSCRIPT
Diagramy stanów Diagramy stanów i diagramy i diagramy aktywnościaktywności
Jarosław KuchtaJarosław Kuchta
Dokumentacja i Jakość Dokumentacja i Jakość OprogramowaniaOprogramowania
Dokumentacja i Jakość Oprogramowania
2Diagramy stanów i diagramy aktywności
Pojęcia podstawowe Pojęcia podstawowe (1/3)(1/3)
behawioryzmbehawioryzm – ogół zachowania – ogół zachowania obiektów, reakcje obiektów na obiektów, reakcje obiektów na zdarzenia.zdarzenia.
stanstan – sytuacja w czasie życia – sytuacja w czasie życia obiektu, w którym spełniony jest obiektu, w którym spełniony jest pewien warunek, wykonywana jest pewien warunek, wykonywana jest pewna aktywność lub obiekt czeka pewna aktywność lub obiekt czeka na pewne zdarzenie.na pewne zdarzenie.
Dokumentacja i Jakość Oprogramowania
3Diagramy stanów i diagramy aktywności
Pojęcia podstawowe Pojęcia podstawowe (2/3)(2/3)
akcjaakcja – wykonanie operacji w – wykonanie operacji w niepodzielnym na danym poziomie niepodzielnym na danym poziomie abstrakcji momencie czasu. abstrakcji momencie czasu.
aktywnośćaktywność – wykonywanie operacji – wykonywanie operacji przez obiekt w czasie, gdy znajduje się przez obiekt w czasie, gdy znajduje się on w określonym stanie. Zakończenie on w określonym stanie. Zakończenie aktywności jest wyznaczane przez aktywności jest wyznaczane przez zdarzenie zewnętrzne względem danej zdarzenie zewnętrzne względem danej aktywności lub wewnętrzne.aktywności lub wewnętrzne.
Dokumentacja i Jakość Oprogramowania
4Diagramy stanów i diagramy aktywności
Pojęcia podstawowe Pojęcia podstawowe (3/3)(3/3)
przejście stanówprzejście stanów – zmiana stanu wywołana – zmiana stanu wywołana określonym zdarzeniem, uzależniona od określonym zdarzeniem, uzależniona od warunku strzegącego, powiązana z warunku strzegącego, powiązana z wykonywaną podczas przejścia akcją.wykonywaną podczas przejścia akcją.
maszyna stanówmaszyna stanów – abstrakcyjna maszyna – abstrakcyjna maszyna reprezentowana przez zbiór stanów, przez reprezentowana przez zbiór stanów, przez które obiekt przechodzi w czasie, które obiekt przechodzi w czasie, powiązanych przejściami stanów. powiązanych przejściami stanów. Prezentowana przez diagram przejść Prezentowana przez diagram przejść stanów.stanów.
Dokumentacja i Jakość Oprogramowania
5Diagramy stanów i diagramy aktywności
Elementy diagramu Elementy diagramu stanówstanów
Wyłączone Włączone
Włącz
Wyłącz
stan
sygnatura przejścia (zdarzenie)
przejście stanów
stan początkowy
Zamknij
stan końcowy
●
◉
Dokumentacja i Jakość Oprogramowania
6Diagramy stanów i diagramy aktywności
Opis przejściaOpis przejścia
sygnatura zdarzenia [warunek strzegący]/ wyrażenie akcji
Dokumentacja i Jakość Oprogramowania
7Diagramy stanów i diagramy aktywności
Rodzaje zdarzeńRodzaje zdarzeń
Zdarzenie wywołaniaZdarzenie wywołania Zdarzenie sygnałoweZdarzenie sygnałowe Zdarzenie zmianyZdarzenie zmiany Zdarzenie czasoweZdarzenie czasowe
Dokumentacja i Jakość Oprogramowania
8Diagramy stanów i diagramy aktywności
Zdarzenie wywołaniaZdarzenie wywołania
Zdarzenie polegające na wywołaniu Zdarzenie polegające na wywołaniu operacjioperacji
nazwa operacji (lista parametrów)nazwa operacji (lista parametrów)
Dokumentacja i Jakość Oprogramowania
9Diagramy stanów i diagramy aktywności
Zdarzenie sygnałoweZdarzenie sygnałowe
«signal»
«signal» «signal»
MouseDown
btn: Button
MouseMove
Mouse
pos: Point
«signal»
MouseUp
btn: Button
«signal»
MouseRoll
dist: Point
Dokumentacja i Jakość Oprogramowania
10Diagramy stanów i diagramy aktywności
Zdarzenie zmianyZdarzenie zmiany
oznacza wystąpienie sytuacji, w oznacza wystąpienie sytuacji, w której warunek zostaje spełnionyktórej warunek zostaje spełniony
whenwhen wyrażenie logicznewyrażenie logiczne
Dokumentacja i Jakość Oprogramowania
11Diagramy stanów i diagramy aktywności
Zdarzenie czasoweZdarzenie czasowe
upłynięcie określonego czasu od upłynięcie określonego czasu od określonego innego zdarzenia określonego innego zdarzenia (najczęściej momentu wejścia w (najczęściej momentu wejścia w dany stan):dany stan):
afterafter wyrażenie czasowewyrażenie czasowe wystąpienie określonego czasu:wystąpienie określonego czasu:
whenwhen wyrażenie czasowewyrażenie czasowe
Dokumentacja i Jakość Oprogramowania
12Diagramy stanów i diagramy aktywności
Wyrażenie strzegąceWyrażenie strzegące
wyrażenie logiczne, w którym wyrażenie logiczne, w którym występują:występują: parametry zdarzenia wyzwalającegoparametry zdarzenia wyzwalającego atrybuty i powiązania obiektu – właściciela atrybuty i powiązania obiektu – właściciela
maszyny stanówmaszyny stanów może występować test stanu (może występować test stanu (inin nazwa nazwa
stanustanu)) wyrażenie strzegące jest sprawdzane wyrażenie strzegące jest sprawdzane
popo wystąpieniu zdarzenia, a wystąpieniu zdarzenia, a przedprzed „odpaleniem” („odpaleniem” (firingfiring) przejścia) przejścia
Dokumentacja i Jakość Oprogramowania
13Diagramy stanów i diagramy aktywności
Wyrażenie akcjiWyrażenie akcji
Ciąg operacji oddzielonych Ciąg operacji oddzielonych średnikamiśrednikami
Operacje są wykonywane Operacje są wykonywane sekwencyjnie. Rozpoczęcie sekwencyjnie. Rozpoczęcie następnej po zakończeniu następnej po zakończeniu poprzedniej.poprzedniej.
Mogą występować parametry Mogą występować parametry zdarzenia.zdarzenia.
Dokumentacja i Jakość Oprogramowania
14Diagramy stanów i diagramy aktywności
Przykład przejściaPrzykład przejścia
MouseDown (btn, loc) [loc in Window] / object := Window.FindObject (loc); object.Select ()
Dokumentacja i Jakość Oprogramowania
15Diagramy stanów i diagramy aktywności
Akcje wejściowe i Akcje wejściowe i wyjściowewyjściowe
entryentry// akcja wejściowa akcja wejściowa exit/ akcja wyjściowaexit/ akcja wyjściowa do/ aktywnośćdo/ aktywność include/ wewnętrzna include/ wewnętrzna
maszyna stanówmaszyna stanów zdarzenie/ akcja zdarzenie/ akcja
wewnętrznawewnętrzna
Transakcjaentry/ połącz z bazą danychexit/ rozłącz z bazą danychdo/ przekazuj danestan/ podaj stan
Dokumentacja i Jakość Oprogramowania
16Diagramy stanów i diagramy aktywności
Stany złożoneStany złożone
podstany rozłączne podstany rozłączne (sekwencyjne)(sekwencyjne)
podstany równoległepodstany równoległe
Dokumentacja i Jakość Oprogramowania
17Diagramy stanów i diagramy aktywności
Podstany rozłącznePodstany rozłączne
Cyfra (n) [n=0]
Wybieranie numeru
Oczekiwanie
◉●
Cyfra (n) [n≠0]
Numer kierunkowy
entry / Akceptuj Cyfrę (n)do / Sprawdź numerCyfra (n)/ Akceptuj Cyfrę (n)
entry / Włącz sygnał centraliexit / Wyłącz sygnał centrali
Numer błędny
entry / Włącz sygnał błęduexit / Wyłącz sygnał błędu
Błąd
Numer zdalny
entry / Akceptuj Cyfrę (n)do / Sprawdź numerCyfra (n)/ Akceptuj Cyfrę (n)
Numer kompletny
BłądNumer lokalny
entry / Akceptuj Cyfrę (n)do / Sprawdź numerCyfra (n)/ Akceptuj Cyfrę (n)
Numer kompletny Numer kompletny
Błąd
◉
Dokumentacja i Jakość Oprogramowania
18Diagramy stanów i diagramy aktywności
Stany równoległeStany równoległe
Diagnostyka
Diagnostyka w toku
DiagnostykaUkładu1
Passed
Failed
Pass
◉●
● DiagnostykaUkładu2
Pass
DiagnostykaUkładu3
Pass
◉● DiagnostykaUkładu4
Pass
Fail Fail
Fail Fail
Dokumentacja i Jakość Oprogramowania
19Diagramy stanów i diagramy aktywności
Synchronizacja Synchronizacja stanów równoległychstanów równoległych
belka synchronizacji
Stan A1 Stan A2
Stan B1 Stan B2
Inicjalizacja Finalizacja
Dokumentacja i Jakość Oprogramowania
20Diagramy stanów i diagramy aktywności
Diagramy aktywnościDiagramy aktywności
Specjalna postać diagramu stanów, Specjalna postać diagramu stanów, w którym:w którym: stany reprezentują wykonanie akcji lub stany reprezentują wykonanie akcji lub
podaktywnościpodaktywności przejścia stanów są wyzwalane przez przejścia stanów są wyzwalane przez
zakończenie akcji lub podaktywnościzakończenie akcji lub podaktywności
Dokumentacja i Jakość Oprogramowania
21Diagramy stanów i diagramy aktywności
Przykład diagramu aktywnościPrzykład diagramu aktywności
◉
● WprowadzaniePIN’u
Wybór operacji
Podanie salda
Sprawdzenie salda
[operacja = Podaj saldo]
[operacja = Zakończ]
[operacja = Wypłać]
Czy saldo wystarczające?
Wprowadzeniekwoty
[tak]
[nie]
Odliczanie kwotyDrukowanie
potwierdzenia
Odbiór kwoty
Dokumentacja i Jakość Oprogramowania
22Diagramy stanów i diagramy aktywności
LiteraturaLiteratura
Booch G, Rumbaugh J, Jacobson I: Booch G, Rumbaugh J, Jacobson I: UML. Przewodnik użytkownikaUML. Przewodnik użytkownika, , WNT, Warszawa 2002WNT, Warszawa 2002
Dennis A., Haley Wixom B., Dennis A., Haley Wixom B., Tegarden D.: Tegarden D.: System Analysis & System Analysis & Design. An Object-Oriented Design. An Object-Oriented Approach with UMLApproach with UML, John Wiley & , John Wiley & Sons, Inc., USA 2001Sons, Inc., USA 2001