Transcript Stan

Diagramy stanu
Daniel Stefaniak s3734
Diagram Stanu -wstęp
 Służy do prezentowania dynamicznych
(zmiennych w czasie) aspektów systemu
 Pozwala także przedstawić sposób realizacji
funkcji systemu
 Jest uzupełnieniem diagramu klas
 Nie jest tworzony dla każdej klasy; tylko
dla tych, które mają wiele dobrze
zdefiniowanych stanów wpływających na jej
zachowanie
 Może również zostać narysowany dla całego
systemu
Pojęcia
 Zdarzenie – zjawisko zachodzące w
pewnym punkcie czasu , wpływające na
system np. Wprowadzenie danych
 Stan – jest to okres czasu ograniczony
przez zdarzenia (atrybuty + powiązania
składają się na stan)
 Przejście – Zmiana stanu wskutek
zdarzenia na inny stan
 Akcja – czynność wykonana w momencie
zajścia zdarzenia
 Operacja – czynność wykonywana w trakcie
gdy system jest w jakimś stanie
Zdarzenie





Wydarzenie następujące w jednym punkcie czasowym i
warte analizowania z punktu widzenia celów
projektowanego systemu
Samo zdarzenie nie trwa w czasie, ale fakt zaistnienia
zdarzenia jest rejestrowany i trwa aż do momentu, gdy
jakiś podmiot go “skonsumuje”
Wszystko, co wywołuje pewne skutki w systemie może być
modelowane jako zdarzenie
Zdarzenie może posiadać atrybuty, np. zdarzenie odlot
samolotu może mieć datę i godz. odlotu jako swoje
atrybuty, co zapisujemy następująco: odlot samolotu
(data, godz.)
Zdarzenia mogą być:


uporządkowane w czasie (synchroniczne), np. odlot
samolotu z Warszawy i przylot tego samolotu do Paryża,
współbieżne, np. naciśnięcie klawisza myszy i odlot samolotu
Zdarzenia - rodzaje
 Wołanie – operacja (parametr1,
parametr2)
 Zmiana – when(warunek)
 Sygnał – nazwa_syg(a:T)
 Czas – after(czas)
Stan
Stan, w podstawowym znaczeniu, dotyczy
pewnego fragmentu historii życia obiektu i
można go charakteryzować na trzy
uzupełniające się sposoby:
 jako zbiór wartości obiektu (atrybutów i
powiązań) w pewnym aspekcie podobnych
(rozważane jest tu podobieństwo
jakościowe)
 jako okres czasu w którym obiekt oczekuje
na zdarzenie
 jako okres w którym obiekt przetwarza
Stany - notacja
Rodzaj stanu
Opis
prosty
Stan nie posiadający podstanów
złożony sekwencyjny
Stan złożony z jednego lub więcej podstanów
złożony współbieżny
Stan podzielony na dwa lub więcej współbieżnych
podstanów; wszystkie podstany są jednocześnie
aktywne, gdy jako całość aktywny jest stan złożony
początkowy
Pseudostan służący do oznaczenia punktu startowego
końcowy
Pseudostan służący do oznaczenia punktu finalnego
Notacja
Stany – notacja cd.
Rodzaj stanu
węzeł
historyczny
odnośnikowy
pniak
Opis
Pseudostan służący do łączenia łańcucha przejść w
jedno przejście
Pseudostan, którego aktywacja uaktywnia stan
poprzednio aktywny (w ramach stanu złożonego)
Pseudostan., do którego występuje odwołanie na
diagramie; podmieniany przez stan wyspecyfikowany
w odwołaniu
Pseudostan, do którego występuje odwołanie na
diagramie, pniak wchodzi w skład innego stanu
złożonego
Notacja
H
include S
S
Stan złożony - rodzaje
 Sekwencyjny - złożony z jednego lub
więcej podstanów, z których tylko
jeden jest aktywny, gdy aktywny jest
stan złożony
 Współbieżny - podzielony na co
najmniej dwa współbieżne podstany,
które są jednocześnie aktywne, gdy
aktywny jest stan złożony (jako
całość)
Przejście
 Przejście zewnętrzne
zdarzenie [warunek] /akcja
Stan 1
Stan 2
 Przejście wewnętrzne
zdarzenie [warunek] /akcja
 Samo-przejście
• Przejście Automatyczne
[warunek] /akcja
Stan 1
Stan
zdarzenie [warunek] /akcja
Stan 2
Przykład – zapalanie pojazdu
Przekręcenie kluczyka w prawo
Spoczynek
Chcek[nie zaskoczyl]
Zapłon
kluczyk
max w prawo
[Biegi w pozycji 0]
Wył.
chceck[Silnik nie
Zaskoczył]
Zapalanie
Włącz.
Przekrecenie kluczyka w lewo
kluczyk do poz. Wył.
check[zaskoczyl]
Przekręcenie kluczyka w lewo
Praca
Przykład – wysyłanie maila
Wyślij
Okno dialogowe
do/wyświetl
logowanie
Podanie
loginu i hasła
Użytkownik
zalogowany
Hasło lub login
nieprawidłowy
Wyloguj
Napisz maila
do/wyświetl okno
wiadomości
Zadanie 1
 Diagram stanu dla rozmowy przez
telefon komórkowy
 Liczenie czasu rozmowy
 Wyświetlenie informacji po zakończeniu
rozmowy (widoczne 3 sekundy)
 Wyświetlanie ekranu powitalnego
Zadanie 1 - rozwiązanie
Wyświetlanie sieci
Wcisnięcie klawisza num.
Wcisnięcie kolejnego
klawisza
OFF
Wrowadzanie numeru
Do: zapisz cyfry
Zatwierdzenie
numeru
After(3 sek)
Rozmowa
Do: licz czas
Wyświetlanie inf.
Do: wyświetl
Enter : Rozłacz
Zakonczenie rozmowy
Enter : Połącz
Zadanie 2
 Bankomat 
 3-krotne wprowadzenie złego PIN-u
podobnie jak wlożenie nieważnej karty
kończy się jej zatrzymaniem
 Można wielokrotnie wypłacać
gotówkę/sprawdzać stan konta
 Karta jest oddawana klientowi po
wybraniu „Zakończ”
Zadanie 2 - rozwiązanie
Gotowość
Do:Wyswietlaj
Zaproszenie
Włożona Karta
Sprawdzanie Karty
Do: Sprawdz Karte
Karta OK
PIN zly
[liczba<3]
Koniec operacji/Wysuń karte
Polecenie
Wydruku
Sprawdzanie saldo
Do:Wydrukuj
informację
Wpisywanie PIN
Do: Wczytuj PIN
Gotowość
Do:wyświetl
polecenia
Polecenie
Wypłaty
Wypłacanie Gotówki
Do:Wypłać
gotówke
PIN OK
Wprowadzony PIN
Wczytywanie PIN
Do: Wczytuj PIN
Karta NOT OK
PIN zly
[liczba=3]
Alarmowwanie
Do:połknij karte