Kopia Diagram stanów..
Download
Report
Transcript Kopia Diagram stanów..
Diagram maszyny stanowej
maszyna stanowa to zachowanie określające
sekwencje stanów, przez które przechodzi
obiekt bądź interakcja w odpowiedzi na
zdarzenia zachodzące w czasie swojego
cyklu życia wraz z ich reakcjami na te
zdarzenia
diagram maszyny stanowej to graficzne
odzwierciedlenie dyskretnego, skokowego
zachowania skończonych systemów stanprzejście
Stan1
Stan2
Stan3
Podstawowe elementy
Stan
A
k Przepływ
c
j
a
Włączony
Stan okoliczności lub sytuacja w jakiej się
obiekt znajduje w cyklu swojego życia,
kiedy spełnia warunek, wykonuje
czynność lub czeka na zdarzenie
Przejście to relacja między dwoma
stanami, wskazująca, że obiekt
znajdujący się w pierwszym stanie
wykona pewne akcje i przejdzie do
drugiego stanu, ilekroć zajdzie określone
zdarzenie i będą spełnione określone
warunki
Stan
początkowy
Stan początkowy to zainicjowanie
maszyny lub podmaszyny stanowej
Stan
końcowy
Stan końcowy to zakończenie maszyny
lub podmaszyny stanowej
Przykładowy system elektronicznego
egzaminowania
Zapisany
Zaakceptowany
Egzaminowany
Oceniany
Zaawansowane elementy diagramu
sekcje symbolu graficznego stanu
klasyfikacja stanów
obszary współbieżne
pseudostany
rodzaje przejść
protokołowe maszyny stanowe
maszyny stanowe zachowania
zdarzenia
Zaawansowane elementy diagramu cd ..
sekcje symbolu graficznego stanu
sekcja nazwy
sekcja czynności wew.
sekcja przejść wew.
sekcja dekompozycji
• entry – identyfikuje czynność automatycznie wykonywaną na
obiekcie w momencie jego przejścia na dany stan. Dla danego
stanu może wystąpić jedna taka czynność
• do – identyfikuje czynność wykonywaną w sposób ciągły na
obiekcie znajdującym się w danym stanie, jest wykonywana po
czynności entry, może wystąpić wiele takich czynność dla danego
stanu, które są realizowane niezależnie
•exit –identyfikuje czynność wykonywaną w momencie wyjścia
obiektu z danego stanu. Dla danego stanu może wystąpić jedna
taka czynność
Edytowany
entry / wyświetlFormularz
do / wypełnij Formularz
do / aktualizujPasekStanu
exit / zachowajDane
wskazuje szczególne przypadki przejść, których wykonanie nie prowadzi do
zmiany danego stanu
Zaawansowane elementy diagramu cd ..
klasyfikacja stanów
• proste
• złożone, to takie które:
– zawiera podmaszynę stanową, albo
– jest podzielony na dwa lub więcej obszarów
współbieżnych
• podstany
Przyjmowane
Przyjmowanie
Zgłoszone
Przetwarzane
Potwierdzone
Zrealizowane
Anulowane
Zaawansowane elementy diagramu cd ..
pseudostany
• Pseudostany to abstrakcyjna kategoria
modelowania diagramu maszyny stanowej,
umożliwiająca organizowanie złożonych ścieżek
przejść
Historia skrócona,
Płytkie wznowienie
Historia szczegółowa,
Głębokie wznowienie
H
H*
Wskazuje na ostatni aktywny stan obiektu przed
wznowieniem. Nie przechowuje informacji o podstanach
tego stanu. W przypadku pierwszej aktywacji pseudostanu
wznowienia domyślnie aktywowany jest stan bezpośrednio
powiązany z nim za pośrednictwem przejścia
Odpowiada ostatniej konfiguracji aktywnej stanu
złożonego. Wskazuje na ostatni aktywny stan obiektu przed
wznowieniem, przechowując zarazem informacje o
podstanach tego stanu.
Przykład pseudostanów w maszynie stanowej
systemu elektronicznego egzaminowania
Tworzony
Monitorowany
H
Planowany
H
Przeprowadzany
Edytowany
Wstrzymany
Zatwierdzony
Akceptowany
Przerwany
Zakończony
Anulowany
Rozliczany
Zaawansowane elementy diagramu cd ..
protokołowe maszyny stanowe
Maszyny stanowe można podzielić na:
maszyny stanowe zachowania – przedstawiają
przejścia między stanami wielu obiektów w
szerszym kontekście zachowania systemu,
podsystemu, czy przypadku użycia
[sygnatura-zdarzenia][warunek]/[wyrażenie
czynności]
protokołowe maszyny stanowe – przestawiają
dozwolone przejścia pomiędzy stanami tego
obiektu
[warunek-wstępny] nazwa operacji/[warunekkońcowy]
Diagram protokołowej maszyny
stanowej
[[porzednia sesja rozliczona] planujSesję/[sesja otwarta]]
Tworzony
[edytuj]
[zatwierdź/[zakres egzaminu zdefinowany]]
[[liczba studentów >0] rozpocznijEgzamin/[logowanie zablokowane]]
Zatwierdzony
[anuluj /[egazmin usunięty z listy dostępnych]]
Aktywowan
[[czas egzaminuy upłynął]zakończ/[egzamin usunięty z listy dostępnych]]
Anulowany
Zakończony
[[upłynęło 7 dni] usuń(id)]
[oblicz(liczbaPunktów, ocena)/[protokół wygenerowany]]
[[upłynęło 6 miesięcy] usuń(id)]
Rozliczony
Diagram maszyny stanowej
zachowania
[noweZlecenie [nadawca autoryzowany]/przydzielPiorytet]
Bezczynność
[zakończeniePrzetwarzaniaZlecenia]
Kolejkowanie
Zaawansowane elementy diagramu cd ..
zdarzenia
Nazwa zdarzenia
Sygnał
Charakterystyka
Przykład
Asynchroniczny bodziec przesyłany
PrzciążenieSieci
pomiędzy dwoma obiektami
NadejścieWiadomośći
OdebranieSygnałuCzujnika
Zdarzenie
Wywołanie przez obiekt operacji
Zaloguj(egzaminator)
wywołania
innego obiektu, z którym skojarzona
GenerujFakturę
jest maszyna stanowa.
Zarejestruj(kwota, data)
Zdarzenie
Zdarzenie, które występuje po upływie
After(3 godz)
czasowe
określonego czasu. Opisane słowem
After(tydzień)
after
After(2 sek since exiting Rozliczany)
Zdarzenie zmiany
Zdarzenie, które występuje w
When(dzień=12 październik)
stany
określonym momencie. Opisane
When(dataSystemowa=03.00)
słowem when
When(cena<cenaMinimalna)
Zdarzenie
Zdarzenie nieobsługiwane w ramach
ZmianaZasadPunktacji/defer
odroczone
danego stanu i dopisane do kolejki
ZmianaAlgorytmuLosowania/defer
zdarzeń odroczonych. Opisane słowem
podsumowanieNależności/defer
defer
Maszyna stanowa systemu aukcji
internetowej
[wyszukanieArtykułu(idArtykułu)]
[przystąpienie(login,hasło,kwota)[dane poprawne]/przypisz]
Wyszukiwanie licytacji
[licytowanie[kwotaProponowana>kwotaPoprzednia]]
[wycofanieArtykułu/usuńKatalog]
Licytowanie
Rejestrowanie kupującego
[artykułSprzdamy/zablokujLicytację
UsuńKatalog]
[after(3mies)/usuń]
[pełnaRejestracja]
[szczegółyUStalone/usuń]
Anulowanie sprzedaży
Zamykanie licytacji
[wycofanieArtykułu/usuń(dataStart)]
[when(dataSystemowa=dataStart)/aktywujLicytację]
Rejestrowanie sprzedającego
[nowyTermin(dataStart)/aktualizuj(dataStart)]
[wystawienieArtykułuNaAukcję(kodSprzedaży)[zgodny kodSprzedaży]]
[/utwórzLicytację]
Rejestrowanie artykułu
[zarejestrowanieKolejnegoArtykułu]
Oczekiwanie na licytację