Diagram aktywności
Diagramy aktywności mają związek z diagramami przepływu i służą do ilustrowania działań zachodzących w systemie. (…)
W diagramach aktywności można zaprezentować zdarzenia zachodzące równolegle. (
Graessle 2006, s. 66)
08.02.26
Zagadnienia problematyczne
Drugi diagram aktywności mimo stosunkowo niewielkiej liczby reguł, stał się już mało czytelny.
Przy większej liczbie reguł i atrybutów diagram stanie się zupełnie nieczytelny oraz rozrośnie się do znacznych rozmiarów.
Zagadnienia do rozważenia: Czy da się coś na to poradzić? Jeśli tak, to w jaki sposób to zmienić,
co dodać, jakimi jeszcze diagramami się wspomóc…
08.03.18
Diagram ARD jest dekomponowany na kolejne diagramy stopniowo, przez co diagramy XTT utworzone na tej podstawie nie powinny posiadać zbyt wielu atrybutów. Zatem niweluje to częściowo problem rozrastania się diagramu.
Poniżej proponuję algorytm przekształcania diagramów XTT na diagramy aktywności:
Opis kroku algorytmu | Przykładowe przekształcenie |
1) Wszystkie atrybuty wejściowe stają się parametrami wejściowymi czynności, zaś atrybut wyjściowy staje się parametrem wyjściowym czynności (dla rozgraniczenia można podzielić diagram na partycje).
| |
2) Dla każdego takiego atrybutu (parametru czynności), jeśli w XTT istnieje więcej niż 1 unikalna jego wartość dodajemy węzeł decyzyjny oraz dla każdej unikalnej wartości atrybutu:
a) prowadzimy z niego przepływ sterowania opatrzony warunkiem w postaci tej unikalnej wartości,
b) jeśli dana wartość występuje wielokrotnie kończymy przepływ rozgałęzieniem z liczbą wyjść równą liczbie krotności występowania danej wartości w tablicy XTT. | |
3) Dla każdej reguły (wiersza w XTT) rysujemy złączenie o liczbie wejść równej liczbie parametrów wejściowych i jednym wyjściu. Każdemu złączeniu:
a) do wejść doprowadzamy odpowiednie przepływy sterowania (zgodnie z wartościami atrybutów w danej regule),
b) z wyjścia prowadzimy przepływ sterowania do akcji odpowiadającej wartości atrybutu wyjściowego w danej regule:
- bezpośrednio, jeśli wartość atrybutu występowała w XTT tylko raz,
- poprzez węzeł łączący (scalenie) w przeciwnym wypadku.
| |
4) Wyjścia z wszystkich akcji scalamy w węźle łączącym (scalającym) i doprowadzamy przepływ sterowania do parametru wyjściowego czynności.
| |
Tak zaprojektowanym algorytmem diagramy aktywności dla termostatu będą wyglądały następująco:
Diagram aktywności dla diagramu XTT ms: |
| |
Diagram aktywności dla diagramu XTT dt: |
| |
Diagram aktywności dla diagramu XTT th: |
| |
Diagram aktywności dla diagramu XTT os: |
| |
Dla przejrzystości, modelując diagram całego termostatu, powyższe aktywności przedstawiamy w postaci zagnieżdżonych (aktywność przedstawiona w postaci zagnieżdżonej odwołuje się do szeregu akcji tej aktywności, których jednak w celach przejrzystości nie przedstawia się bezpośrednio na danym diagramie).
Diagram dla całego termostatu: |
|
Powyższy diagram powstał przez analogię do diagramu 12.54 ze str. 338 oraz diagramu 12.36 ze str. 323 specyfikacji OMG UML 2.1.2 (por. również 12.64 ze strony 349 i 12.110 ze str. 389).