|
|
pl:miw:miw08_umlandardxtt:activity_diagrams [2008/03/17 21:58] miw |
pl:miw:miw08_umlandardxtt:activity_diagrams [2019/06/27 15:50] |
====== 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. ([[pl:miw:miw08_umlandardxtt#literatura|Graessle 2006]], s. 66) | |
| |
===== 08.02.26 ===== | |
| |
W tabelach poniżej przedstawiłem próbę zamodelowania dwóch prostych diagramów XTT przy pomocy diagramów aktywności UMLa: | |
| |
^Diagram aktywności dla diagramu XTT dt:^^ | |
|{{:pl:miw:miw08_umlandardxtt:xtt_dt.png|:pl:miw:miw08_umlandardxtt:xtt_dt.png}}|{{:pl:miw:miw08_umlandardxtt:dt_aktiv1.png|:pl:miw:miw08_umlandardxtt:dt_aktiv1.png}}| | |
| |
^Diagram aktywności dla diagramu XTT th:^^ | |
|{{:pl:miw:miw08_umlandardxtt:xtt_th.png?303|:pl:miw:miw08_umlandardxtt:xtt_th.png}}|{{:pl:miw:miw08_umlandardxtt:th_activ1.png?528|:pl:miw:miw08_umlandardxtt:th_activ1.png}}| | |
| |
Objaśnienie podstawowych symboli dla diagramów aktywności: | |
| |
^ Symbol ^Opis pseudostanu (na podstawie: [[pl:miw:miw08_umlandardxtt#literatura|Graessle 2006]], ss. 69-71) ^ | |
|{{:pl:miw:miw08_umlandardxtt:workday.png|:pl:miw:miw08_umlandardxtt:workday.png}}|//**Akcja** - pojedynczy krok aktywności. (...) Strzałka wpływająca do aktywnosci rozpoczyna jej działanie, po którego zakończeniu przepływ jest kontynuowany przez strzałkę wychodzącą.//| | |
|{{:pl:miw:miw08_umlandardxtt:ico_romb.png|:pl:miw:miw08_umlandardxtt:ico_romb.png}}|//**Węzeł decyzyjny** składa się w wejścia i dwóch lub większej liczby wyjść. Każde wyjście z węzła ma zdefiniowany warunek zapisany w nawiasach kwadratowych. Jeśli jest on spełniony, przepływ jest kontynuowany przez związane z nim wyjście.//| | |
|{{:pl:miw:miw08_umlandardxtt:ico_romb_end.png|:pl:miw:miw08_umlandardxtt:ico_romb_end.png}}|//**Węzeł łączący** posiada kilka wejść i jedno wyjście. Zadaniem węzła łączącego jest łączenie kilku przepływów. Wejścia nie są zsynchronizowane - **jeśli jeden przepływ dotrze do węzła, przechodzi do wyjścia niezależnie od tego czy do pozostałych wejść dotarły inne przepływy**.//| | |
|{{:pl:miw:miw08_umlandardxtt:ico_rozgalezienie.png|:pl:miw:miw08_umlandardxtt:ico_rozgalezienie.png}}|//**Rozgałęzienie** pozwala definiować równoległe przepływy w ramach aktywności. Posiada ono jedno wejście i dwa lub większą liczbę wyjść.//| | |
|{{:pl:miw:miw08_umlandardxtt:ico_rozdzielacz.png|:pl:miw:miw08_umlandardxtt:ico_rozdzielacz.png}}|//**Złączenie** służy do konsolidacji dwóch lub większej liczby równoległych przepływów. W przypadku konsolidacji **przepływy są synchronizowane, a więc proces przechodzi do wyjścia dopiero wówczas, gdy dotrą one do wszystkich wejść**.//| | |
|{{:pl:miw:miw08_umlandardxtt:ico_partycje.png|:pl:miw:miw08_umlandardxtt:ico_partycje.png}}|//Poszczególne elementy diagramu aktywności mogą być podzielone na indywidualne obszary zwane **partycjami**.// | | |
|{{:pl:miw:miw08_umlandardxtt:ico_par_aktiv.png|:pl:miw:miw08_umlandardxtt:ico_par_aktiv.png}}|//Parametry można do aktywności przekazywać lub z niej wysyłać w postaci **parametrów czynności**. | |
Parametr czynności prezentuje się w postaci prostokąta umieszczanego na granicy aktywności. | |
Nazwa lub opis parametru powinny znajdować się wewnątrz tego prostokąta.// ([[pl:miw:miw08_umlandardxtt#literatura|Pilone 2007]], s. 137)| | |
| |
==== 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 ===== | |
| |
FIXME! | |
| |
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).\\ \\ \\ \\ \\ \\ | {{:pl:miw:miw08_umlandardxtt:algorithm_step1.png|:pl:miw:miw08_umlandardxtt:algorithm_step1.png}} | | |
|**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.| {{:pl:miw:miw08_umlandardxtt:algorithm_step2.png|:pl:miw:miw08_umlandardxtt:algorithm_step2.png}} | | |
|**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.\\ |{{:pl:miw:miw08_umlandardxtt:algorithm_step3.png|:pl:miw:miw08_umlandardxtt:algorithm_step3.png}}| | |
|**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.\\ \\ \\ \\ \\ \\ \\ | {{:pl:miw:miw08_umlandardxtt:algorithm_step4.png|:pl:miw:miw08_umlandardxtt:algorithm_step4.png}} | | |
| |
| |
| |
| |
| |