Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

1 Diagram Stanów Tomasz Andrejczuk Łukasz Razmuk gr. 620.

Podobne prezentacje


Prezentacja na temat: "1 Diagram Stanów Tomasz Andrejczuk Łukasz Razmuk gr. 620."— Zapis prezentacji:

1 1 Diagram Stanów Tomasz Andrejczuk Łukasz Razmuk gr. 620

2 2 Wprowadzenie Diagram stanów (State diagram) jest uzupełnieniem diagramu klas. Pokazuje on wszystkie stany jakie obiekt klasy może mieć oraz zdarzenia, które powodują przejście między tymi stanami. Diagram stanów w swojej idei nawiązuje do automatu skończonego. Opisuje on stany pewnego procesu, które są istotne z punktu widzenia modelu pojęciowego tego procesu, oraz przejścia pomiędzy stanami. W swojej pierwotnej idei diagram stanów miał odwzorowywać stany obiektów pewnej klasy podczas ich cyklu życiowego oraz przejścia (transitions) pomiędzy tymi stanami powodowane przez zdarzenia lub komunikaty. Diagramy stanów nie są tworzone dla każdej klasy; tylko dla tych, które mają wiele dobrze zdefiniowanych stanów wpływających na jej zachowanie.

3 3 Diagram stanu: Pokazuje stany obiektu i przejścia pomiędzy jego stanami przez cały cykl życia obiektu. Kompletny diagram stanów systemu jest zbiorem subdiagramów, które komunikują się ze sobą przy pomocy zdarzeń Diagram stanu jednej klasy może odnosić się do stanu innej klasy Jest użyteczny dla ukazania cyklu życiowego pojedynczego obiektu Specyfikuje zachowania wystąpień klasy,zwłaszcza: -stany -zdarzenia -przejścia

4 4 Notacja w UMLu dotycząca diagramów stanów Stan – Oznaczany za pomocą prostokąta z zaokrąglonymi rogami.Stan może mieć nazwę, ale często jest charakteryzowany jedynie poprzez wewnętrzne operacje. entry/ akcja1/ akcja2/... do/ aktywność1/ aktywność2/... exit/ akcja1/ akcja2/... Nazwa stanu akcja atomowa operacja, która nie może zostać przerwana lista akcji akcja1/akcja2...- jest traktowana jak pojedyncza akcja aktywność operacja, która może być przerwana lista aktywności podobnie jak lista akcji entry słowo kluczowe określające operacje wykonywane po wejściu obiektu w dany stan exit słowo kluczowe określające operacje wykonywane przy wyjściu obiektu ze stanu do operacje wykonywane gdy stan jest aktywny

5 5 Stan złożony sekwencyjny – składa się z jednego lub więcej podstanów, z których tylko jeden jest aktywny, gdy aktywny jest stan złożony super state sub state1 sub state Stan złożony współbieżny – jest podzielony na dwa lub więcej współbieżnych podstanów, wszystkie podstany są jednocześnie aktywne, gdy aktywny jest stan złożony(jako całość)

6 6 Stan początkowy jest pseudostanem służącym do oznaczenia punktu startowego( początku życia) Stan końcowy jest pseudostanem służącym do oznaczenia punktu finalnego ( końca życia) Węzeł to pseudostan służący do łączenia łańcucha przejść w jedno przejście Stan historyczny to pseudostan,którego aktywacja uaktywnia stan poprzednio aktywny ( w ramach stanu złożonego ) Stan odnośnikowy to pseudostan, do którego występuje odwołanie na diagramie; podmieniany przez stan wyspecyfikowany w odwołaniu. Pniak to pseudostan, do którego występuje odwołanie na diagramie, wchodzący w skład innego, złożonego stanu H include S S

7 7 Zdarzenia Zdarzeniem jest coś, co następuje w jednym punkcie czasowym i warte jest analizowania z punktu widzenia celów projektowanego systemu wołanie OpisSkładnia zmiana sygnał czas otrzymanie przez obiekt synchronicznego żądania wykonania operacji - najbardziej podstawowy rodzaj zdarzenia spełnienie warunku typu Boolean, np. when (x =10); zdarzenie typu zmiana jest użyteczne np. do modelowania sytuacji, gdy obiekt zmienia stan po otrzymaniu odpowiedzi na wysłany przez siebie komunikat otrzymania przez obiekt asynchronicznego żądania wykonania operacji; użyteczne do modelowania zdarzeń przychodzących z zewnątrz systemu upłynięcie czasu określonego w sposób bezwzględny lub względny, np. after (5 sec.) op (a : T) when(wyrażenie) nazwa_syg (a : T) after (czas) Typ zdarzenia

8 8 Akcje powrót (return) przypisanie (assignment) wołanie (call) nowy (create) usuń (destroy) wyślij (send) zakończ (terminate) Rodzaj akcjiOpisSkładnia zmienna := wyrażenie nazwa_op (arg, …) nowy nazwa_klasy (arg, …) usuń () nazwa_sygnału (arg, …) zakończ przypisanie wartości do zmiennej wywołanie operacji na obiekcie; czeka się na zakończenie operacji; może być zwracana wartość utworzenie nowego obiektu usunięcie obiektu utworzenie wystąpienia sygnału i wysłanie do obiektu (ów) samodestrukcja obiektu specyfikuje instrukcję powrotupowrót wartość_zwracana

9 9 Przejścia W ogólności, przejście może być opisane przez zdarzenie, które je odpaliło (wywołało), warunek oraz akcję (akcje), która jest wykonywana przed ewentualną zmianą stanu. Wyróżniamy cztery rodzaje przejść: 1. przejście zewnętrzne (external transition) 2. przejście wewnętrzne (internal transition) 3. samo-przejście (selftransition) 4. przejście automatyczne (completion transition) zdarzenie [warunek] /akcja stan 1 stan 2 przejście zdarzenie [warunek] /akcja stan [warunek] /akcja stan 1 stan 2

10 10 Przejścia - przykłady przejścia wewnętrzne: entry/ ustaw echo na gwiazdkę/ haslo_zeruj() exit/ ustaw normalne echo znak/ obsłuż znak czyść/ haslo_zeruj() pomoc/ wyświetl pomoc otrzymanie zamówienia (suma) [suma > 100 zł.] Wprowadzanie hasła przejścia zewnętrzne: otrzymanie zamówienia (suma) [suma < =100 zł.] Oczekiwanie Przetwarzanie zamówienia Zatwierdzenie kredytu Anulowanie zamówienia kredyt zatwierdzony/ licz debet () kredyt odrzucony

11 11 Przykłady Diagramów Diagram typu: cykl życia obiektu Urządzenie niesprzedane Urządzenie sprzedane kupno urządzenia przez klienta klient zwrócił urządzenie after (data gwarancji) Diagram typu: przepływ sterowania Kolejka białych Kolejka czarnych ruch białych ruch czarnych czarne wygrywają remis białe wygrywają when (szach mat) when (pat) when (szach mat)

12 12 Diagram stanu dla bankomatu włożono kartę(nr karty) odmowa / zwróć kartę stan spoczynkuWeryfikacja karty Sprawdzenie salda rachunku [kwota > saldo ] [kwota <= saldo ] do / wypłacićdo / drukuj potwierdzenia

13 13 Współbieżność - obiekty zagregowane Współbieżność ma źródło w trzech sytuacjach: obiekty mogą być zagregowane, pewne operacje w ramach jednego obiektu można wykonywać współbieżnie, a także obiekty mogą działać asynchronicznie. hamulec puszczony Hamulec Włącz. Wył. hamulec naciśnięty Samochód ZapłonBiegHamulecGaz Zapłon Wył.Włącz.Zapala kluczyk do max w prawo [Biegi w pozycji 0] kluczyk do poz wył Biegi.... Gaz.... Każdy obiekt wchodzący w skład agregatu posiada tu własny diagram stanu. Można je łączyć, tworząc diagram dla agregatu samochód (uwzględniając współbieżność operacji).

14 14 Przykład 2 - telefon

15 15 Stan złożony sekwencyjny Instalacja oprogramowania Uruchomienie systemu Restart systemu Uruchomienie systemu Instalacja entry/wpisanie katalogu do/instalacja oprogramowania Błąd dysku entry/napraw dysk do/pokaż okno dialogowe do/spytaj czy powtórzyć H powtórz=true powtórz = false

16 16 Zadania do rozwiązania Zadanie 1. Narysować diagram stanów dla bootowania systemu, który będzie zawierał wyszukiwanie systemu, a następnie rozruch. Jeżeli nie znajdzie systemu to szuka aż do skutku.rozwiazanierozwiazanie Zadanie 2. Narysować diagram stanów dla jazdy samochodem na pierwszych dwóch biegach oraz wstecznym. Pamiętaj, aby wrzucić wsteczny samochód musi zostać zatrzymany (zahamowany).rozwiazanierozwiazanie

17 17 Zadanie 1 Szukanie systemu na dyskach find_sys=false find_sys=true Rozruch systemu Powrot

18 18 Zadanie 2 wybrano pierwszy bieg jazda do przodu na 1 biegu jazda do przodu na 2 biegu wybrano następny bieg Samochód zatrzymany Wciśnięto hamulec Wybrano bieg wsteczny jazda Jazda do tyłu wybrano poprzedni bieg Powrot

19 19 Dziękujemy


Pobierz ppt "1 Diagram Stanów Tomasz Andrejczuk Łukasz Razmuk gr. 620."

Podobne prezentacje


Reklamy Google