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