Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Both sides previous revision Poprzednia wersja
Nowa wersja
Poprzednia wersja
pl:miw:miw08_umlandardxtt:activity_diagrams [2008/03/03 02:56]
miw
pl:miw:miw08_umlandardxtt:activity_diagrams [2019/06/27 15:50] (aktualna)
Linia 4: Linia 4:
 > W diagramach aktywności można zaprezentować zdarzenia zachodzące równolegle. ([[pl:​miw:​miw08_umlandardxtt#​literatura|Graessle 2006]], s. 66) > W diagramach aktywności można zaprezentować zdarzenia zachodzące równolegle. ([[pl:​miw:​miw08_umlandardxtt#​literatura|Graessle 2006]], s. 66)
  
-===== wersja z 08.02.26 =====+===== 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: W tabelach poniżej przedstawiłem próbę zamodelowania dwóch prostych diagramów XTT przy pomocy diagramów aktywności UMLa:
Linia 30: Linia 30:
  
 :!: Drugi diagram aktywności mimo stosunkowo niewielkiej liczby reguł, stał się już mało czytelny. :!: 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ć, 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... 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).\\ \\ \\ \\ \\ \\ |  {{:​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}} ​ |
 + 
 +Tak zaprojektowanym algorytmem diagramy aktywności dla termostatu będą wyglądały następująco:​
 +
 +^Diagram aktywności dla diagramu XTT ms:^^
 +|{{:​pl:​miw:​miw08_umlandardxtt:​xtt_ms.png|:​pl:​miw:​miw08_umlandardxtt:​xtt_ms.png}}|{{:​pl:​miw:​miw08_umlandardxtt:​ms_3.png|:​pl:​miw:​miw08_umlandardxtt:​ms_3.png}}|
 +
 +^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_3.png|:​pl:​miw:​miw08_umlandardxtt:​dt_3.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_3.png?​528|:​pl:​miw:​miw08_umlandardxtt:​th_3.png}}|
 +
 +^Diagram aktywności dla diagramu XTT os:^^
 +|{{:​pl:​miw:​miw08_umlandardxtt:​xtt_os.png?​303|:​pl:​miw:​miw08_umlandardxtt:​xtt_os.png}}|{{:​pl:​miw:​miw08_umlandardxtt:​os_3.png?​528|:​pl:​miw:​miw08_umlandardxtt:​os_3.png}}|
 +
 +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:​^
 +|{{:​pl:​miw:​miw08_umlandardxtt:​uml_activity_xtt_3.png|:​pl:​miw:​miw08_umlandardxtt:​uml_activity_xtt_3.png}}|
 +
 +Powyższy diagram powstał przez analogię do diagramu 12.54 ze str. 338 oraz diagramu 12.36 ze str. 323 [[pl:​miw:​miw08_umlandardxtt#​zrodla_internetowe|specyfikacji OMG UML 2.1.2]] (por. również 12.64 ze strony 349 i 12.110 ze str. 389).
 +
  
pl/miw/miw08_umlandardxtt/activity_diagrams.1204509389.txt.gz · ostatnio zmienione: 2019/06/27 15:59 (edycja zewnętrzna)
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0