====== 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.