Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
OpublikowałTymoteusz Kłodziński Został zmieniony 11 lat temu
1
Tomasz Andrejczuk Łukasz Razmuk gr. 620
Diagram Stanów Tomasz Andrejczuk Łukasz Razmuk gr. 620
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
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
Notacja w UML’u dotycząca diagramów stanów
entry/ akcja1/ akcja2/ ... do/ aktywność1/ aktywność2/... exit/ akcja1/ akcja2/ ... Nazwa stanu 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. 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
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
Stan początkowy jest pseudostanem służącym do
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
Zdarzenia Zdarzeniem jest coś, co następuje w jednym punkcie czasowym
i warte jest analizowania z punktu widzenia celów projektowanego systemu wołanie Opis Skł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
Akcje Rodzaj akcji Opis Składnia przypisanie (assignment)
przypisanie wartości do zmiennej zmienna := wyrażenie wywołanie operacji na obiekcie; czeka się na zakończenie operacji; może być zwracana wartość wołanie (call) nazwa_op (arg, …) nowy (create) utworzenie nowego obiektu nowy nazwa_klasy (arg, …) usuń (destroy) usunięcie obiektu usuń () wyślij (send) utworzenie wystąpienia sygnału i wysłanie do obiektu (ów) nazwa_sygnału (arg, …) zakończ (terminate) samodestrukcja obiektu zakończ powrót (return) specyfikuje instrukcję powrotu powrót wartość_zwracana
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 zdarzenie [warunek] /akcja stan [warunek] /akcja stan 1 stan 2
10
Przejścia - przykłady Przetwarzanie Oczekiwanie zamówienia
otrzymanie zamówienia (suma) [suma < =100 zł.] przejścia zewnętrzne: otrzymanie zamówienia (suma) [suma > 100 zł.] kredyt zatwierdzony/ licz debet () Zatwierdzenie kredytu kredyt odrzucony Anulowanie zamówienia Wprowadzanie hasła entry/ ustaw echo na gwiazdkę/ haslo_zeruj() exit/ ustaw normalne echo znak/ obsłuż znak czyść/ haslo_zeruj() pomoc/ wyświetl pomoc przejścia wewnętrzne:
11
Przykłady Diagramów Diagram typu: cykl życia obiektu
kupno urządzenia przez klienta Urządzenie niesprzedane Urządzenie sprzedane klient zwrócił urządzenie after (data gwarancji) Diagram typu: przepływ sterowania when (szach mat) Kolejka białych czarne wygrywają when (pat) ruch czarnych ruch białych remis when (pat) Kolejka czarnych białe wygrywają when (szach mat)
12
Diagram stanu dla bankomatu
włożono kartę(nr karty) stan spoczynku Weryfikacja karty odmowa / zwróć kartę Sprawdzenie salda rachunku [kwota <= saldo ] [kwota > saldo ] do / drukuj potwierdzenia do / wypłacić
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. Zapłon kluczyk do max w prawo [Biegi w pozycji 0] Samochód Wył. Zapala Włącz. kluczyk do poz wył Zapłon Bieg Hamulec Gaz Hamulec Biegi .... Gaz .... hamulec naciśnięty 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). Wył. Włącz. hamulec puszczony
14
Przykład 2 - telefon
15
Stan złożony sekwencyjny
Instalacja oprogramowania Uruchomienie systemu Restart systemu Uruchomienie systemu Instalacja entry/wpisanie katalogu do/instalacja oprogramowania H powtórz=true Błąd dysku powtórz = false entry/napraw dysk do/pokaż okno dialogowe do/spytaj czy powtórzyć
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. rozwiazanie 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). rozwiazanie
17
Zadanie 1 find_sys=true Szukanie systemu na dyskach find_sys=false
Rozruch systemu Powrot
18
Zadanie 2 Powrot wybrano pierwszy bieg jazda jazda do przodu na 1
biegu wybrano poprzedni bieg wybrano następny bieg Wciśnięto hamulec jazda do przodu na 2 biegu Samochód zatrzymany Jazda do tyłu Wybrano bieg wsteczny
19
Dziękujemy
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.