Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

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

Podobne prezentacje


Prezentacja na temat: "OMT - Modele dynamiczne.. OMT - modelowanie dynamiczne Zdarzenia i stany Scenariusze Trop zdarzeń Diagram stanów, operacje Współbieżność Zalecenia praktyczne."— 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 Petriego, 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 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. states 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 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. scenario Np. scenariusz dla rozmowy telefonicznej: 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ę

8 Trop zdarzeń event trace Sekwencję zdarzeń oraz zdarzeń występujących między obiektami można pokazać w rozszerzonym diagramie zwanym tropem zdarzeń. 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 Dzwoniący Linia telefoniczna Odbiorca

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

10 Diagram stanów Stan spoczynku Sygnał ciągły Wybieranie numeru Łączenie Dzwonek Sygnał zajętości Koniec limitu czasu Przekazanie komunikatu o błędnym numerze Rozłączenie Połączenie położenie słuchawki podniesienie słuchawki położenie słuchawki cyfra(n) czas się skończył błędny numer koniec komunikatu linia zajęta prawidłowy numer podniesienie słuchawki przez odbiorcę położenie słuchawki przez odbiorcę cyfra(n) czas się skończył Przejścia na diagramie stanów mogą być warunkowe. Warunek umieszcza się w nawiasach za odpowiednim zdarzeniem. 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.

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

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

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 puszczenie_klawisza_myszy sterującyznakowy spacjaalfanumerycznyinterpunkcyjny

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 Stan zdarzenie1(atryb1) [warunek1] / akcja1 Klasa obiektów zdarzenie2(atryb2) do entry exit } słowa zastrzeżone

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. 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. Samochód ZapłonBiegiHamulceGaz Zapłon WyłWłączZapala kluczyk do max w prawo [Biegi w pozycji 0] hamulec puszczony kluczyk do poz wył Biegi.... Gaz.... Hamulec Włącz Wył hamulec naciśnięty

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

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

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

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.. OMT - modelowanie dynamiczne Zdarzenia i stany Scenariusze Trop zdarzeń Diagram stanów, operacje Współbieżność Zalecenia praktyczne."

Podobne prezentacje


Reklamy Google