====== Diagram ARD i jemu pochodne - podejście pierwsze ======
Poniżej próba zamodelowania diagramów THP przy pomocy diagramów klas UMLa.
W diagramach zostały użyte 2 rodzaje powiązań:
^ UML ^ Nazwa powiązania ^ Znaczenie powiązania ^
| {{:pl:miw:miw08_umlandardxtt:umlandard:ab_agregacja.png|:pl:miw:miw08_umlandardxtt:umlandard:ab_agregacja.png}} | Agregacja | A posiada (agreguje, przechowuje dane dotyczące) B, w takim przypadku B może istnieć samodzielnie czy być współdzielone przez różne klasy |
| {{:pl:miw:miw08_umlandardxtt:umlandard:ab_kompozycja.png|:pl:miw:miw08_umlandardxtt:umlandard:ab_kompozycja.png}} | Kompozycja| B jest częścią A, czas życia B bezpośrednio zależy od A |
W tabeli poniżej znajdują się zamodelowane diagramy:
^ diagram THP ^ model UML ^
| | {{:pl:miw:miw08_umlandardxtt:umlandard:ard1_hist1.png|:pl:miw:miw08_umlandardxtt:umlandard:ard1_hist1.png}} |
| | {{:pl:miw:miw08_umlandardxtt:umlandard:ard1_hist2.png|:pl:miw:miw08_umlandardxtt:umlandard:ard1_hist2.png}} |
| | {{:pl:miw:miw08_umlandardxtt:umlandard:ard1_hist3.png|:pl:miw:miw08_umlandardxtt:umlandard:ard1_hist3.png}} |
| | {{:pl:miw:miw08_umlandardxtt:umlandard:ard1_hist4.png|:pl:miw:miw08_umlandardxtt:umlandard:ard1_hist4.png}} |
| | {{:pl:miw:miw08_umlandardxtt:umlandard:ard1_hist5.png|:pl:miw:miw08_umlandardxtt:umlandard:ard1_hist5.png}} |
| | {{:pl:miw:miw08_umlandardxtt:umlandard:ard1_hist6pop.png|:pl:miw:miw08_umlandardxtt:umlandard:ard1_hist6pop.png}} |
| | {{:pl:miw:miw08_umlandardxtt:umlandard:ard1_hist6.png|:pl:miw:miw08_umlandardxtt:umlandard:ard1_hist6.png}} |
| | {{:pl:miw:miw08_umlandardxtt:umlandard:ard1_hist7.png|:pl:miw:miw08_umlandardxtt:umlandard:ard1_hist7.png}} |
| | {{:pl:miw:miw08_umlandardxtt:umlandard:ard1_hist9.png|:pl:miw:miw08_umlandardxtt:umlandard:ard1_hist9.png}} |
=== Zagadnienia problematyczne ===
:!: Naruszenie syntaksy języka UML.\\
W języku UML poniższe 2 diagramy UML (z lewej) są semantycznie równoważne:\\
|{{:pl:miw:miw08_umlandardxtt:umlandard:problem_syntaktyka2a.png|:pl:miw:miw08_umlandardxtt:umlandard:problem_syntaktyka2a.png}}|
|{{:pl:miw:miw08_umlandardxtt:umlandard:problem_syntaktyka2b.png|:pl:miw:miw08_umlandardxtt:umlandard:problem_syntaktyka2b.png}}|
Natomiast w diagramach THP tak narysowane kompozycje znaczyłyby zupełnie coś innego. Nie jest to jednak tylko prosta zmiana semantyczna (która byłaby dopuszczalna w przypadku przedefiniowania jakiegoś elementu diagramu), ale zostały tu nadane nowe znaczenia w zależności od sposobu narysowania elementu.
:!: Problem z modelowaniem połączonych diagramów THP z ARD.\\
Problem wynika stąd, że na diagramach ARD może następować przepływ informacji np. ze złożonych obiektów, a na zamodelowanych diagramach UML obiekty złożone są prezentowane w postaci odrębnych obiektów, a ich złożenie ma symbolizować kompozycja. Wobec tego brak możliwości zaczepienia przepływu z obiektu złożonego.