22
[email protected] [email protected] Diagramy stanów Diagramy stanów i diagramy i diagramy aktywności aktywności Jarosław Kuchta Jarosław Kuchta Dokumentacja i Jakość Dokumentacja i Jakość Oprogramowania Oprogramowania

Diagramy stanów i diagramy aktywności

  • Upload
    devika

  • View
    63

  • Download
    0

Embed Size (px)

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 Presentation

Citation preview

Page 1: Diagramy stanów i diagramy aktywności

[email protected]

[email protected]

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

Page 2: Diagramy stanów i diagramy aktywności

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.

Page 3: Diagramy stanów i diagramy aktywności

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.

Page 4: Diagramy stanów i diagramy aktywności

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.

Page 5: Diagramy stanów i diagramy aktywności

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

Page 6: Diagramy stanów i diagramy aktywności

Dokumentacja i Jakość Oprogramowania

6Diagramy stanów i diagramy aktywności

Opis przejściaOpis przejścia

sygnatura zdarzenia [warunek strzegący]/ wyrażenie akcji

Page 7: Diagramy stanów i diagramy aktywności

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

Page 8: Diagramy stanów i diagramy aktywności

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)

Page 9: Diagramy stanów i diagramy aktywności

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

Page 10: Diagramy stanów i diagramy aktywności

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

Page 11: Diagramy stanów i diagramy aktywności

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

Page 12: Diagramy stanów i diagramy aktywności

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

Page 13: Diagramy stanów i diagramy aktywności

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.

Page 14: Diagramy stanów i diagramy aktywności

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 ()

Page 15: Diagramy stanów i diagramy aktywności

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

Page 16: Diagramy stanów i diagramy aktywności

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

Page 17: Diagramy stanów i diagramy aktywności

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

Page 18: Diagramy stanów i diagramy aktywności

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

Page 19: Diagramy stanów i diagramy aktywności

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

Page 20: Diagramy stanów i diagramy aktywności

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

Page 21: Diagramy stanów i diagramy aktywnoś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

Page 22: Diagramy stanów i diagramy aktywności

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