Diagram stanów
Transkrypt
Diagram stanów
Diagram maszyny stanowej - POJĘCIA Stan : sytuacja w cyklu życia bytu (obiektu, PU, podsystemu, aktora, operacji itp), kiedy spełnia on pewne warunki, realizuje pewną czynność lub czeka na pewne zdarzenie. Stan zmienia się w czasie, ale każdy punkt w czasie jest określony przez: wartości atrybutów; związki z innymi obiektami; czynność, którą realizuje; Zbiór rozpatrywanych stanów bytu i ich zmian nazywa się maszyną stanów lub maszyną stanową. Byt jest właścicielem swojej maszyny stanów. NazwaStanu Entry / AkcjaWejścia Do / Czynność Zdarzenie 1/Akcja 1 Zdarzenie 2 / Akcja 2 Exit / Akcja Wyjścia zdarzenie(param) [warunek]Akcja S2 1 Diagram maszyny stanowej - POJĘCIA Zdarzenie:- zmiana w otoczeniu lub wewnątrz bytu na którą ten byt reaguje przejściem w inny stan i/lub podjęciem akcji. Rodzaje zdarzeń: 1) po upływie pewnego czasu; after 2) po spełnieniu pewnego warunku;when 3) wywołania (call) - nazwa koresponduje z odpowiednią nazwą operacji; 4) sygnał. Przejście związek między dwoma stanami wskazujący, że byt będąc w stanie żródłowym w wyniku wyspecyfikowanego zdarzenia przejdzie w stan docelowy wykonując wyspecyfikowane akcje jeśli będą spełnione wyspecyfikowane warunki.Diagram stanów opisuje zachowanie bytów poprzez określenie ich reakcji na zdarzenia. Diagram stanów opisuje zachowanie bytów poprzez określenie ich reakcji na zdarzenia. Zazwyczaj są tworzone w celu pokazania calego cyklu życia bytu 2 Diagram maszyny stanowej - wykorzystanie Diagram typu: "cykl życia obiektu" Urządzenie kupno urządzenia przez klienta Urządzenie sprzedane Urządzenie niesprzedane numer: string status: statusUrzadzenia after (data gwarancji) klient zwrócił urządzenie 3 Przykład /pobierz perwszą pozycję [Nie wszystkie pozycje sprawdzone] /pobierz następną Sprawdzanie [Wszystkie pozycję są] do/ sprawdź pozycje Wysyłka do/ inicjuj dostawę [Nie wszystkie pozycje sprawdzone i niektórych brak] Pozycja otrzymana Dostarczone [Wszystkie pozycje są] Pozycja otrzymana [Niektórych brak] Oczekiwanie Dostarczone Przykład: diagram przedstawia stany, w ktorych może przebywać realizowane zamówienie i możliwe przejścia między tymi stanami. Oczekiwanie: nie występuje żadna czynność, oba przejścia są oznaczone zdarzeniami. Wysyłka: czynność, po zakonczeniu której zamówienie pozostaje w stanie "wysyłka" i pezechodzi w stan "Dostarczone" zawsze po 4 zdarzeniu (otrzymaniu sygnału) – Dostarczone „Zamówienie” może znajdować się w tym samym czasie tylko w jednym ze stanów! Stany złożone Zamówienie jest w stanie „aktywne” a jednocześnie w jednym ze stanów: „sprawdzanie”, „oczekiwanie”.. Aktywne [Nie wszystkie pozycje sprawdzone] /pobierz następną /pobierz perwszą pozycję Sprawdzanie [Wszystkie pozycję są] do/ sprawdź pozycje Wysyłka do/ inicjuj dostawę [Nie wszystkie pozycje sprawdzone i niektórych brak] Po zycja otrzymana [Niektórych brak] Pozycja otrzymana [Wszystkie pozycje są] Dostarczon e Oczekiwanie Anulowane Anulowane Dostarczone 5 Diagram stanów ze stanami złożonymi Realizacja Kompletowanie Fakturowanie Dostarczenie [Wszystkie pozycję są] Rozliczenie Zamówienie równolegle jest kompletowane i dostarczane oraz fakturowane i rozliczane. Realizacja jest agregatem dwóch stanów. 6 Diagram maszyny stanowej dla klasy Książka W_Przygotowaniu Do/ zarejestruj Do_Wypożyczenia Wypożyczenie/odn otuj W_konserwacji Zwrot [O’K]/odnotuj Zwrot [not O’K]/odnotuj Wypożyczona W_terminie Entry/zaznacz date Zwrot [nie nadaje się]/ukaranie Wycofana © Dr inż. Ludmiła Rekuć When (.. Po_terminie Ponaglenie/wyslij /ukaranie Zagubiona 7 Podsumowanie Cel diagramu maszyny stanowej: Skontrolować „kompletność” odpowiedzialności klas Odkryć operacje w wyniku analizy zdarzeń zewnętrznych Uwaga! Cykl życia klasy opisywanej diagramem stanów jest wynikiem analizy wszystkich PU, w których klasa uczestniczy. © Dr inż. Ludmiła Rekuć 8 Pytania kontrolne: Jak jest oznaczane przejście między stanami? Czy każdy element oznaczenia jest opcjonalny? Jak może być wyspecyfikowana akcja następująca zawsze przy wejściu do danego stanu? ...przy wyjściu? Czym się różni diagram stanów od diagramu czynności? Czy między stanami może zachodzić związek uogólnienia? Czy miedzy stanami może zachodzić związek agregacji? Co jest powodem przejścia z jednego stanu w drugi? Czym mogą się różnić stany tego samego bytu? Diagram stanów pokazuje stany obiektów jednej klasy czy wielu klas? 9