Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

OMT - Modele dynamiczne.

Podobne prezentacje


Prezentacja na temat: "OMT - Modele dynamiczne."— Zapis prezentacji:

1 OMT - Modele dynamiczne.

2 OMT - modelowanie dynamiczne
Zdarzenia i stany Scenariusze Trop zdarzeń Diagram stanów, operacje Współbieżność Zalecenia praktyczne

3 Modele dynamiczne Modele, które uwzględniają:
czas, zdarzenia, następstwo czynności, synchronizację czynności, transakcje, stany procesów, spontaniczne akcje, interakcję z otoczeniem systemu, dialogi. Zwykle są notacjami opartymi na diagramach przepływu sterowania, diagramach automatów skończonych, sieciach Petri’ego, sieciach PERT, Model dynamiczny jest zwykle związany z modelem funkcjonalnym i modelem danych wspólnymi oznaczeniami (obiektów, procesów).

4 Stany Stan obiektu Ile obiekt może mieć stanów?
states Stan obiektu Zestaw wszystkich wartości atrybutów tego obiektu oraz jego aktualnych powiązań z innymi obiektami w danej chwili czasowej. Stan obiektu trwa w czasie aż do momentu zajścia zdarzenia lub operacji, które zmienia stan na inny. Np. stanem obiektu OSOBA jest zestaw wartości (NAZWISKO: Kowalski, IMIĘ: Adam, ZATRUDNIONY_W: Firma ) Ile obiekt może mieć stanów? Bardzo dużo. Jeżeli np. może być nazwisk, imion i firm, to liczba stanów wynosi Normalnie, nawet dla niedużego obiektu liczba stanów jest nie do przeliczenia. Ile stanów ma cała baza danych? Bardzo, bardzo dużo: iloczyn wszystkich ilości stanów dla wszystkich obiektów i powiązań. Niemniej pojęcie stanu jest bardzo istotne, gdyż jest to “zdjęcie migawkowe” jednej sytuacji w której znalazł się nasz system informacyjny. Często abstrahuje się od pewnych składników stanu, lub “zlepia się” wiele stanów w jeden. Przy analizie i projektowaniu najbardziej istotne są stany związane z: - sterowaniem pewną akcją: stan oznacza w fazę przetwarzania - statusem pewnych obiektów: np. dokument może być przygotowywany, napisany, zatwierdzony, zarchiwizowany, zniszczony

5 Zdarzenia events Zdarzeniem jest coś, co następuje w jednym punkcie czasowym (z punktu widzenia naszej percepcji czasu) i warte jest analizowania z punktu widzenia celów projektowanego systemu informacyjnego. Samo zdarzenie nie trwa w czasie, ale fakt zaistnienia zdarzenia jest zarejestrowany i trwa aż do momentu, gdy jakiś podmiot go “skonsumuje”. Np. zdarzeniem jest naciśnięcie przez użytkownika lewego klawisza myszy, lub odlot samolotu w dniu 20 stycznia 1997 o godz. 19:00 z Warszawy do Paryża. Zdarzenia mogą być uporządkowane w czasie, ale możemy także rozpatrywać zdarzenia jak współbieżne. Zdarzenia mogą być grupowane w klasy i mogą im być przypisane atrybuty. Zdarzenia warto rozpatrywać w okreslonym kontekście, np. czym innym będzie naciśnięcie klucza Esc jeżeli użytkownik ogląda Pomoc, a czym innym będzie w głównym menu. Zwykle wystąpienie zdarzenia wywołuje pewną przyporzadkowaną mu akcję systemu, która najcześciej zmienia stan (obiektu lub sterowania).

6 Przykłady klas zdarzeń
samolot odlatuje( linia lotnicza, nr lotu, miasto ) naciśnięty klawisz myszy ( klawisz, lokacja kursora ) wprowadzono ciąg znaków ( tekst ) podniesiono słuchawkę telefonu wybrano cyfrę numeru telefonu (cyfra) obroty silnika wkroczyły w niebezpieczną strefę Zdarzenia włączają błedy jako szczególny przypadek. Np. silnik się zatarł, transakcja została zerwana, czas upłynął są normalnymi wystąpieniami zdarzeń.

7 Scenariusze scenario Scenariusz jest sekwencją zdarzeń, które występują podczas przebiegu systemu. Scenariusz może abstrahować od zdarzeń, które są nieistotne lub drugorzędne dla tego przebiegu. Dzwoniący podnosi słuchawkę Uruchomienie tonu w słuchawce Dzwoniący wybiera cyfrę(5) Ton w słuchawce znika Dzwoniący wybiera cyfrę(6) Dzwoniący wybiera cyfrę(4) Dzwoniący wybiera cyfrę(9) Dzwonek w telefonie odbiorcy Ton dzwonka u dzwoniącego Odbiorca podnosi słuchawkę Telefon odbiorcy przestaje dzwonić Ton dzwonka u dzwoniącego znika Telefony są połączone Odbiorca kładzie słuchawkę Telefony są rozłączone Dzwoniący kładzie słuchawkę Np. scenariusz dla rozmowy telefonicznej:

8 Trop zdarzeń Dzwoniący Linia telefoniczna Odbiorca event trace
Sekwencję zdarzeń oraz zdarzeń występujących między obiektami można pokazać w rozszerzonym diagramie zwanym tropem zdarzeń. Dzwoniący Linia telefoniczna Odbiorca Dzwoniący podnosi słuchawkę Uruchomienie tonu w słuchawce Dzwoniący wybiera cyfrę(5) Ton w słuchawce znika Dzwoniący wybiera cyfrę(6) Dzwoniący wybiera cyfrę(4) Dzwoniący wybiera cyfrę(9) Ton dzwonka u dzwoniącego Ton dzwonka u dzwoniącego znika Telefony są połączone Telefony są rozłączone Dzwoniący kładzie słuchawkę Dzwonek w telefonie odbiorcy Odbiorca podnosi słuchawkę Telefon odbiorcy przestaje dzwonić Telefony są połączone Odbiorca kładzie słuchawkę Telefony są rozłączone

9 Inny przykład tropu zdarzeń
Czerwony Kapturek Domek babci Wilk Babcia Leśniczy Opuszcza dom Spotyka Przychodzi do Połyka Spotyka Przychodzi do Pyta Odpowiada Połyka Przychodzi Rozpoznaje Rozpruwa Uwalnia Uwalnia

10 Diagram stanów Przejścia na diagramie stanów mogą być warunkowe.
położenie słuchawki położenie słuchawki Stan spoczynku podniesienie słuchawki czas się skończył Koniec limitu Sygnał ciągły czasu cyfra(n) czas się skończył cyfra(n) Przekazanie komunikatu o błędnym numerze Wybieranie numeru błędny numer prawidłowy numer Przejścia na diagramie stanów mogą być warunkowe. Warunek umieszcza się w nawiasach za odpowiednim zdarzeniem. Łączenie Sygnał zajętości linia zajęta koniec komunikatu Dzwonek podniesienie słuchawki przez odbiorcę Połączenie Uwaga terminologiczna: wprowadzony “diagram stanów” jest w istocie raczej diagramem przepływu sterowania (flowchart). Pojęcie “stanu” zwykle włącza więcej elementów niż tylko sterowanie. położenie słuchawki przez odbiorcę Rozłączenie

11 Operacje Zdarzenia mogą wyzwalać operacje. Nazwę operacji
położ_sł położ_sł Stan spoczynku podniesienie słuchawki czas się skończył położ_sł Koniec limitu Sygnał ciągły czasu cyfra(n) czas się skończył cyfra(n) Przekazanie komunikatu o błędnym numerze do: odegraj komunikat położ_sł Wybieranie numeru błędny numer prawidłowy numer położ_sł Łączenie koniec komunikatu Sygnał zajętości linia zajęta położ_sł Dzwonek Zdarzenia mogą wyzwalać operacje. Nazwę operacji umieszcza się za zdarzeniem i warunkim, poprzedzając ją znakiem /, lub po znakach do: wewnątrz stanów. podniesienie słuchawki przez odbiorcę/łącz linie położ_sł/rozłącz linie Połączenie położenie słuchawki przez odbiorcę/rozłącz linie położ_sł Rozłączenie

12 Przykład: model automatu sprzedającego
wrzucona moneta(wartość) / zainicjuj bilans Stan spoczynku Zliczanie pieniędzy wrzucone monety(wartość) /dodaj do bilansu kasowanie / zwróć monety [brak pozycji] wybór(pozycja) [reszta < 0] [reszta = 0] do: wydaj pozycję do: sprawdź wybraną pozycję i oblicz resztę do: wydaj resztę [reszta > 0] ramię gotowe ramię gotowe wypchnięta do: przesuń ramię do właściwego wiersza do: przesuń ramię do właściwej kolumny do: wypchnij pozycję

13 Generalizacja zdarzeń
Zdarzenia mogą być traktowane jak obiekty, ewentualnie z atrybutami. zdarzenie czas Zdarzenia związane z akcjami użytkownika: info_wejściowe urządzenie klik_klawisza_myszy lokalizacja naciśnięcie_klawisza_klawiatury kod_znaku naciśnięcie_klawisza_myszy sterujący znakowy puszczenie_klawisza_myszy spacja alfanumeryczny interpunkcyjny

14 Wewnętrzne akcje Zdarzenie może powodować akcję, która nie powoduje zmiany stanu. Taką akcję umieszcza się za nazwą zdarzenia i znakiem /. Podsumowanie notacji: Stan1 do: aktywność1 entry / akcja2 exit / akcja3 zdarzenie / akcja4 Stan2 ..... zdarzenie1(atryb1) [warunek1] / akcja1 zdarzenie2(atryb2) } do entry exit słowa zastrzeżone Klasa obiektów

15 Współbieżność concurrency
Model dynamiczny opisuje zbiór obiektów, które działają współbieżnie; każdy z nich posiada własny stan i diagram stanów. Samochód Hamulec hamulec naciśnięty Zapłon Biegi Hamulce Gaz Wył Włącz hamulec puszczony Zapłon kluczyk do max w prawo [Biegi w pozycji 0] Wył Zapala Włącz kluczyk do poz wył Uwaga: podejście OMT do kwestii współbieżności jest nieco naiwne - słabo uwzględnia synchronizację i dostęp do dzielonych zasobów. Biegi .... Gaz ....

16 Synchronizacja współbieżnych akcji
Obiekt może wykonywać współbieżnie dowolną liczbę akcji. Automat do wypłacania pieniędzy Wypłata gotówka wydana gotowy do: wydaj gotówkę Włączenie automatu Gotowy do działania AND do: oddaj kartę karta oddana Synchronizacja: wszystkie współbieżne procesy muszą się zakończyć aby kontynuować Podział na współbieżne procesy

17 Diagramy zagnieżdżone
Diagramy stanów mogą być rozrysowane na różnych poziomach abstrakcji. Czynność przedstawiona na diagramie może być dalej bardziej szczegółowo rozpisana na pod-diagramie. Zakup Przygotowanie wniosku Akceptacja kierownika Informacja o odrzuceniu Akceptacja prezesa Akceptacja księgowości Dokonanie zakupu Zakup

18 Przykład wymagań dla diagramu stanów: Zakupy dla firmy
Pracownik firmy zgłasza wniosek o zakup (np. paczki pinesek) do kierownika zaopatrzenia. Kierownik uruchamia procedurę zakupu i wyznacza odpowiedzialnego za to swojego pracownika. Ten pracownik przygotowuje informację o zakupie (ceny, jakość, dostawcy) i swój wybór. Kierownik przegląda informację i zatwierdza wniosek lub nie. Jeżeli zatwierdza, to dalsze postępowanie zależy od szacunkowego kosztu zakupu. Jeżeli koszt jest poniżej 1000 ECU, to wniosek musi zaakceptować dział finansowy. Pracownik zaopatrzenia przekazuje wniosek do działu finasowego. Dział finansowy może wniosek zaakceptować, odrzucić lub mieć wątpliwości i skierować do prezesa. Wniosek dla prezesa przekazuje pracownik zaopatrzenia odpowiedzialny za zakup. Jeżeli zakup jest powyżej 1000 ECU, to akceptacji musi dokonać prezes. Prezes może wniosek zaakceptować lub odrzucić. Po akceptacji prezesa wniosek musi jeszcze przejść procedurę w dziale finansowym, j.w. Jeżeli wniosek jest odrzucony w dowolnej fazie, to pracownik zaopatrzenia musi o tym pisemnie poinformować wnioskodawcę Jeżeli wniosek jest zakceptowany, to pracownik zaopatrzenia musi równocześnie pisemnie poinformować wnioskodawcę i dokonać zakupu.

19 Przykład: diagram stanów
Zakupy dla firmy Startuj wystąpienie procesu Przygotuj info o zakupie Wniosek Pracownik Kierownik dekretuj_na utwórz Info o zakupie Info o odrzuceniu Formularz wniosku utwórz Przygotuj info o odrzuceniu Akceptacja [odrzucony] Pracownik Kierownik [zaakceptowany] [odrzucony] [odrzucony] Przygotuj info o akceptacji Akceptacja (przez prezesa) Rejestruj akcept. prezesa [koszt >= 1000ECU] Pracownik Pracownik [koszt < 1000ECU] Info o akceptacji [zaakceptowany] utwórz [wątpliwości] Akceptacja (przez dział finansowy) Rejestruj akcept. dzialu finansowego Zakup AND [zaakceptowany] Pracownik

20 Przykład: diagram tropów komunikatów
Zakupy dla firmy Kierownik Dokumentacja Budżet zakupu Formularz wniosku Info o zakupie Katalogi produktów sprawdź budżet info o budżecie daj dane o zakupie daj info o wniosku info o wniosku daj info o zakupie daj info katalogowe info katalogowe info o zakupie dane o zakupie decyzja akceptacyjna

21 Zalecenia praktyczne (1)
Konstruuj diagram stanów tylko dla obiektów z istotnym dynamicznym zachowaniem. Nie wszystkie obiekty wymagają modelu stanów. Sprawdzaj różne diagramy stanów na spójność wspólnych zdarzeń, tak aby pełny model dynamiczny był poprawny. Używaj scenariuszy dla wspomożenia początku konstruowania diagramu stanów. Definiując stan rozpatruj tylko relewantne atrybuty. Nie wszystkie atrybuty muszą być użyte w diagramie stanów. Dla danej aplikacji rozważ odpowiednią granulowośczdarzeń i stanów. Rozróżniaj pomiędzy aktywnościami i akcjami. Aktywności trwają dłuższy czas, natomiast akcje są chwilowe w rozważanej skali czasowej.

22 Zalecenia praktyczne (2)
Kiedy stan ma wiele wchodzących strza łek i wszystkie są opatrzone tą samą akcją, zamiast powtarzać ją przy wszystkich strzałkach włóż tę akcję wewnątrz oznaczenia stanu poprzedzając ją zdarzeniem entry. Podobnie rób dla zdarzeń wychodzących. Jeżeli ta sama transakcja ma zastosowanie do wielu stanów użyj zagnieżdżonego diagramu stanów. W większości współbieżność wynika z agregacji obiektu i nie musi być wyrażana explicite w diagramie stanów. Użyj składanego stanu dla pokazania niezależnych czynników zachowania się pojedyńczego obiektu. Staraj się uczynić diagram stanu odnoszący się do podklasy niezależny od diagramów stanów dla jej superklas. Diagram stanów podklasy powinien koncentrować się prawie wyłącznie na jej atrybutach. Uważaj na niepożądane gonitwy warunków. Mogą one powstać wtedy, gdy dany stan może zaakceptować zdarzenia pochodzące z więcej niż jednego obiektu.

23 Podsumowanie terminologii modelu dynamicznego (1)
Akcja Pojedyncza operacja. Akcje są zazwyczaj powodowane przez zdarzenia, mogą powodować zdarzenia i mają swój formalny opis. Aktywność Operacja, której wykonanie wymaga pewnego czasu. Aktywności są związane ze zmianą stanu. Diagram stanów Graf zorientowany, którego węzły oznaczają stany, zaś łuki oznaczają przejścia pomiędzy stanami. Diagram stanów może pomijać (abstrahować) od pewnych składników stanu. Zagnieżdżony diagram stanów Diagram stanów, którego węzły są rozwinięte jako pod-diagramy. Model dynamiczny Opis tych aspektów systemu, które dotyczą sterowania, włączając w to czas, następstwo operacji, zdarzenia i interakcje obiektów. Operacja Funkcja lub transformacja, która może być zastosowana do obiektu.

24 Podsumowanie terminologii modelu dynamicznego (2)
Przejście Zmiana stanu spowodowana przez zdarzenie Scenariusz Sekwencja zdarzeń powodowana przez pewien konkretny przebieg systemu. Stan Wartości atrybutów i powiązań obiektu w pewnym momencie czasowym. Sterowanie Aspekt systemu opisujący sekwencję kolejnych operacji. Trop zdarzeń Diagram pokazujący obiekty wysyłające i odbierające zdarzenia oraz sekwencję zdarzeń. Warunek Funkcja Boolowska, zwykle na wartościach atrybutów, od której może zależeć przejście pomiędzy stanami Współbieżność Możliwość niezależnego, równoległego przebiegu pewnych zadań, aktywności; niezależne pojawianie się zdarzeń i niezalezna reakcja na zdarzenia. Zdarzenie Zarejestrowany fakt pojawiający się w pewnym punkcie czasowym.


Pobierz ppt "OMT - Modele dynamiczne."

Podobne prezentacje


Reklamy Google