170 likes | 340 Views
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
E N D
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 Opis Notacja Rodzaj stanu prosty Stan nieposiadający podstanów złożony sekwencyjny Stan złożony z jednego lub więcej podstanów 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 złożony współbieżny Pseudostan służący do oznaczenia punktu startowego początkowy końcowy Pseudostan służący do oznaczenia punktu finalnego
Stany – notacja cd. Opis Notacja Rodzaj stanu Pseudostan służący do łączenia łańcucha przejść w jedno przejście węzeł Pseudostan, którego aktywacja uaktywnia stan poprzednio aktywny (w ramach stanu złożonego) historyczny H odnośnikowy Pseudostan., do którego występuje odwołanie na diagramie; podmieniany przez stanwyspecyfikowany w odwołaniu include S pniak Pseudostan, do którego występuje odwołanie na diagramie, pniak wchodzi w skład innego stanu złożonego 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ść)
Stan zdarzenie [warunek] /akcja Przejście • Przejście zewnętrzne • Przejście wewnętrzne • Samo-przejście zdarzenie [warunek] /akcja Stan 1 Stan 2 zdarzenie [warunek] /akcja • Przejście Automatyczne [warunek] /akcja Stan 2 Stan 1
Przykład – zapalanie pojazdu Przekręcenie kluczyka w prawo Spoczynek Zapłon chceck[Silnik nie Zaskoczył] kluczyk max w prawo [Biegi w pozycji 0] Chcek[nie zaskoczyl] Wył. Zapalanie Włącz. Przekrecenie kluczyka w lewo kluczyk do poz. Wył. check[zaskoczyl] Przekręcenie kluczyka w lewo Praca
Wyślij Okno dialogowe do/wyświetl Podanie loginu i hasła Wyloguj Użytkownik zalogowany Przykład – wysyłanie maila Napisz maila do/wyświetl okno wiadomości logowanie Hasło lub login nieprawidłowy
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 Wcisnięcie klawisza num. Wrowadzanie numeru Do: zapisz cyfry Wyświetlanie sieci Wcisnięcie kolejnego klawisza OFF Zatwierdzenie numeru After(3 sek) Rozmowa Do: licz czas Enter : Połącz Wyświetlanie inf. Do: wyświetl Enter : Rozłacz Zakonczenie rozmowy
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 Sprawdzanie Karty Do: Sprawdz Karte Wpisywanie PIN Do: Wczytuj PIN Włożona Karta Karta OK Wprowadzony PIN PIN zly [liczba<3] Koniec operacji/Wysuń karte Gotowość Do:wyświetl polecenia Wczytywanie PIN Do: Wczytuj PIN PIN OK Polecenie Wydruku Sprawdzanie saldo Do:Wydrukuj informację Polecenie Wypłaty PIN zly [liczba=3] Karta NOT OK Wypłacanie Gotówki Do:Wypłać gotówke Alarmowwanie Do:połknij karte