====== Diagram ARD i jemu pochodne - podejście drugie ====== W związku z [[pl:miw:miw08_umlandardxtt:umlandard:approach1#zagadnienia_problematyczne|zaganieniami problematycznymi z podejścia pierwszego]] postanowiłem zmodyfikować tamten model UML\\ grupując klasy w podsystemy. W diagramach zostały użyte następujące 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. | | {{:pl:miw:miw08_umlandardxtt:umlandard:ab_zaleznosc.png|:pl:miw:miw08_umlandardxtt:umlandard:ab_zaleznosc.png}} | Zależność | B używa A (lub ma dotyczące A informacje). | | {{:pl:miw:miw08_umlandardxtt:umlandard:ab_trace.png|:pl:miw:miw08_umlandardxtt:umlandard:ab_trace.png}} | Zależność \\ <> | A jest wcześniejszą czasowo wersją B.((powyższa czasowa interpretacja stereotypu została zaczerpnięta z poniższego diagramu z książki Arlow J. & Neustadt I. //UML 2 and the Unified Process//: {{:pl:miw:miw08_umlandardxtt:umlandard:scan_wesley.png|:pl:miw:miw08_umlandardxtt:umlandard:scan_wesley.png}}\\ Na diagramie przedstawiono tę samą klasę w dwóch różnych fazach projektu. Powiązanie między nimi to właśnie powiązanie <>.))| ^ diagram THP ^ model UML (shi) ^ | | {{:pl:miw:miw08_umlandardxtt:umlandard:ard2_hist2.png|:pl:miw:miw08_umlandardxtt:umlandard:ard2_hist2.png}} | | | {{:pl:miw:miw08_umlandardxtt:umlandard:ard2_hist3.png|:pl:miw:miw08_umlandardxtt:umlandard:ard2_hist3.png}} | | | {{:pl:miw:miw08_umlandardxtt:umlandard:ard2_hist4.png|:pl:miw:miw08_umlandardxtt:umlandard:ard2_hist4.png}} | | | {{:pl:miw:miw08_umlandardxtt:umlandard:ard2_hist5.png|:pl:miw:miw08_umlandardxtt:umlandard:ard2_hist5.png}} | | | {{:pl:miw:miw08_umlandardxtt:umlandard:ard2_hist6.png|:pl:miw:miw08_umlandardxtt:umlandard:ard2_hist6.png}} | | | {{:pl:miw:miw08_umlandardxtt:umlandard:ard2_hist7.png|:pl:miw:miw08_umlandardxtt:umlandard:ard2_hist7.png}} | | | {{:pl:miw:miw08_umlandardxtt:umlandard:ard2_hist8.png|:pl:miw:miw08_umlandardxtt:umlandard:ard2_hist8.png}} | | | {{:pl:miw:miw08_umlandardxtt:umlandard:ard2_hist9pop.png|:pl:miw:miw08_umlandardxtt:umlandard:ard2_hist9pop.png}} | ^ diagram ARD ^ diagram THP ^ model UML diagramu THP+ARD (sha) ^ | | | {{:pl:miw:miw08_umlandardxtt:umlandard:ard1_hist1.png|:pl:miw:miw08_umlandardxtt:umlandard:ard1_hist1.png}} | | | | {{:pl:miw:miw08_umlandardxtt:umlandard:ard2_hist2.png|:pl:miw:miw08_umlandardxtt:umlandard:ard2_hist2.png}} | | | | {{:pl:miw:miw08_umlandardxtt:umlandard:ard2_hist3s.png|:pl:miw:miw08_umlandardxtt:umlandard:ard2_hist3s.png}} | | | | {{:pl:miw:miw08_umlandardxtt:umlandard:ard2_hist4s.png|:pl:miw:miw08_umlandardxtt:umlandard:ard2_hist4s.png}} | | | | {{:pl:miw:miw08_umlandardxtt:umlandard:ard2_hist5s.png|:pl:miw:miw08_umlandardxtt:umlandard:ard2_hist5s.png}} | | | | {{:pl:miw:miw08_umlandardxtt:umlandard:ard2_hist6s.png|:pl:miw:miw08_umlandardxtt:umlandard:ard2_hist6s.png}} | | | | {{:pl:miw:miw08_umlandardxtt:umlandard:ard2_hist7s.png|:pl:miw:miw08_umlandardxtt:umlandard:ard2_hist7s.png}} | | | | {{:pl:miw:miw08_umlandardxtt:umlandard:ard2_hist8s.png|:pl:miw:miw08_umlandardxtt:umlandard:ard2_hist8s.png}} | | | | {{:pl:miw:miw08_umlandardxtt:umlandard:ard2_hist9s.png|:pl:miw:miw08_umlandardxtt:umlandard:ard2_hist9s.png}} | Zatem ostateczny model UML dla diagramu sha: | {{:pl:miw:miw08_umlandardxtt:umlandard:sha.png|:pl:miw:miw08_umlandardxtt:umlandard:sha.png}} | | {{:pl:miw:miw08_umlandardxtt:umlandard:poziom_sha.png|:pl:miw:miw08_umlandardxtt:umlandard:poziom_sha.png}} | ===== Zależności trace, use i derive ===== FIXME ^ Notacja UML ^ Nazwa stereotypu ^ Znaczenie powiązania ^ | {{:pl:miw:miw08_umlandardxtt:umlandard:c_trace.png| Zależność trace}} | trace | Definiuje związek trace pomiędzy elementami modelu (lub zbiorami elementów), które reprezentują to samo pojęcie (tę samą abstrakcję) w różnych modelach. Głównie używane dla śledzenia zmian między modelami. | | {{:pl:miw:miw08_umlandardxtt:umlandard:c_use.png| Zależność use}} | use | Zależność use to związek, w którym jeden element wymaga drugiego elementu (lub zbioru elementów) dla swojej pełnej implementacji lub operacji. \\ W metamodelu use definiuje zależność, w której klient (B) wymaga obecności dostawcy (A). Taka zależność nie określa w jaki sposób klient wykorzystuje dostawcę, jedynie określa, że dostawca jest używany w definicji bądź implementacji klienta. | | {{:pl:miw:miw08_umlandardxtt:umlandard:c_derive.png| Zależność derive}} | derive | Określa związek pochodzenia między elementami, będącymi często (ale nie koniecznie) tego samego typu. Związek pochodzenia specyfikuje, że klient (B) może być wyznaczony (obliczony) na podstawie dostawcy (A). |