Diagramy czasowe - harmonogramowanie interakcji
Analizowane i projektowane interakcje w systemie realizowane są w określonym czasie. Spełnienie kryterium czasu przez interakcję jest ważnym czynnikiem oceny tych systemów - zwłaszcza systemów wbudowanych i systemów czasu rzeczywistego. Wychodząc naprzeciw tym oczekiwaniom, zaproponowano diagramy harmonogramowania.
Diagram harmonogramowania jest rodzajem diagramu interakcji, reprezentującym na osi czasu zmiany dopuszczalnych stanów, jakie może przyjmować instancja klasyfikatora uczestnicząca w interakcji.
Diagramy te stosuje się w celu sporządzenia harmonogramów interakcji, a więc specyfikacji interakcji instancji klasyfikatorów w aspekcie zmian czasu trwania ich stanów. Punktem wyjścia tych diagramów są podstawowe kategorie diagramów sekwencji oraz maszyn stanowych. Terminowa realizacja interakcji wymaga niekiedy wielkiej dokładności czasowej. W związku z tym na diagramach harmonogramowania można przedstawiać kolejność występowania stanów instancji klasyfikatorów oraz czas ich trwania. Wprowadzenie diagramów harmonogramowania w UML 2.0 jest istotną zmianą w stosunku do poprzednich wersji. Ich tworzenie i użytkowanie jest szczególnie zalecane w systemach o rozbudowanej dynamice.
Diagramy harmonogramowania dokumentują aspekt czasu interakcji. Stąd w diagramie harmonogramowania na osi poziomej zaznacza się skalę czasu w postaci ustalonych odcinków. Natomiast na osi pionowej przedstawia się poszczególne instancje klasyfikatorów biorące udział w interakcji, a przy każdej z nich jej stany. Z zasady diagramy harmonogramowania tworzy się po opracowaniu diagramów sekwencji lub komunikacji.
Kategorie pojęciowe
W podstawowej postaci diagramu harmonogramowania ilustrowane są jego podstawowe kategorie pojęciowe:
- klasyfikator,
- nazwa stanu,
- linia zmiany stanów instancji klasyfikatora.
Lista możliwych stanów jest specyficzna dla każdej instancji klasyfikatora, jednak można wyróżnić kilka typowych stanów (ang. states), takich jak:
- bezczynność,
- czuwanie,
- oczekiwanie,
- wykonywanie,
- obliczanie.
Linia zmiany stanów (ang. timeline) może przedstawiać stany instancji klasyfikatora lub określonej, mierzalnej zmiennej
Zaawansowane składniki diagramu
Zaawansowane kategorie:
- zdarzenia,
- ograniczenia czasowe,
- alternatywne sposoby prezentacji stanów,
- harmonizacja linii zmiany stanów dla kilku instancji klasyfikatorów biorących udział w interakcji,
- przesyłanie komunikatów.
Zdarzenia i ograniczenia czasowe
Załamanie linii zmiany stanów instancji klasyfikatora oznacza wystąpienie zdarzenia powodującego zainicjowanie nowego stanu tej instancji. Sprecyzowano na nim stany instancji klasyfikatora Rezerwacja i czas ich trwania poprzez określenie ograniczeń czasowych (ang. constraints) w odniesieniu do stanów:
- potwierdzanie - {<30 min},
- sporządzanie - {30 min +/- 15 min},
- opłacanie - {<=1 godzina}.
Alternatywne sposoby prezentacji stanów
Poza podstawową formą prezentacji diagramów harmonogramowania istnieje alternatywna konwencja ich dokumentowania. Obie notacje mogą być stosowane zamiennie i wzajemnie przekształcane.
Przesyłanie komunikatów
Diagramy harmonogramowania można wzbogacić o dokumentowanie interakcji w postaci komunikatów przesyłanych między instancjami klasyfikatorów. Źródłem tej informacji są odpowiednie diagramy sekwencji lub komunikacji.
Proces tworzenia diagramu harmonogramowania
Informacje przedstawiane na diagramach harmonogramowania są w znacznej mierze pochodną kategorii pojęciowych diagramów sekwencji, komunikacji oraz diagramów maszyny stanowej. Stąd w procesie tworzenia diagramów harmonogramowania wykorzystywane mogą być inne diagramy języka UML. Kluczowymi etapami tego procesu są:
- identyfikacja interakcji udokumentowanej diagramem sekwencji lub diagramem komunikacji,
- przeniesienie lub dobór klasyfikatorów,
- identyfikacja stanów każdej instancji klasyfikatora z wykorzystaniem diagramów maszyny stanowej,
- ustalenie horyzontu czasowego diagramu,
- wyspecyfikowanie linii zmiany stanu instancji klasyfikatorów,
- wprowadzenie ograniczeń czasowych dla poszczególnych stanów instancji klasyfikatora,
- nazwanie i wprowadzenie odpowiednich zdarzeń na podstawie diagramów maszyny stanowej,
- harmonizacja linii zmiany stanu wszystkich instancji klasyfikatorów interakcji prezentowanych na diagramie,
- przeniesienie lub wprowadzenie komunikatów przesyłanych pomiędzy instancjami klasyfikatorów uczestniczącymi w interakcji.
Ze względu na wykorzystywanie w procesie tworzenia diagramów harmonogramowania szeregu kategorii pojęciowych innych diagramów, bardzo istotne jest zachowywanie spójności pomiędzy nimi. Proces tworzenia diagramów harmonogramowania podlega regułom iteracyjno-przyrostowego cyklu życia systemu.
Zobacz przykład Zobacz przykładPrzykład diagramu czasowego - Aukcja internetowa
Diagram czasowy