UMLDiagramy komponentów są używane do modelowania aspektów fizycznych systemu zorientowanego obiektowo. Są one używane do wizualizacji, specyfikacji i dokumentowania systemów opartych na komponentach, a także do tworzenia systemów wykonywalnych poprzez inżynierię wsteczną i wsteczną. Diagram komponentów to zasadniczo specjalizowany diagram klas, który skupia się na komponentach systemu i służy do modelowania statycznego widoku implementacji systemu.

Przegląd diagramów komponentów
Diagram komponentów dzieli rzeczywisty system being rozwojowy na różne funkcjonalności najwyższego poziomu. Każdy komponent odpowiada za jasno zdefiniowane cele w ramach systemu i komunikuje się wyłącznie z innymi kluczowymi elementami, gdy to konieczne.

Powyższy przykład pokazuje wewnętrzne komponenty większego komponentu:
- Dane (identyfikatory kont i czeków) wpływają do komponentu przez porty po prawej stronie i są przekształcane w format używany przez wewnętrzne komponenty. Interfejs po prawej stronie nazywa sięinterfejs dostarczany, reprezentujący usługi, które komponent wymaga do spełnienia swoich obowiązków.
- Dane są następnie przekazywane przez różne połączenia do i przez inne komponenty, a wyjście odbywa się przez porty po lewej stronie. Interfejsy po lewej stronie nazywane sąinterfejsy wymagane, reprezentujące usługi, które komponent dostarcza.
- Ważne jest, aby zauważyć, że komponenty wewnętrzne są zamknięte w większym „pudełku” — może to być cały system (wtedy żaden symbol komponentu nie pojawia się w prawym górnym rogu) lub podsystem/komponent systemu (wtedy „pudełko” reprezentuje sam komponent).
Podstawowe pojęcia diagramów komponentów
Komponent reprezentuje część modułową systemu, hermetycznie zawierającą swoje treści, a jego zachowanie może być zastąpione w środowisku. W UML 2 komponent jest rysowany jako prostokąt z opcjonalnym kompartmentem ułożonym pionowo. Wysoki poziom abstrakcyjny komponentu w UML 2 może być modelowany jako:
- Prostokąt z nazwą komponentu
- Prostokąt z ikoną komponentu
- Prostokąt z tekstem stereotypu i/lub ikoną

Interfejsy
W poniższym przykładzie pokazane są dwa typy interfejsów komponentów:
Znakinterfejs dostarczanysymbol z pełnym okręgiem na końcu wskazuje interfejs, który komponent dostarcza — symbol „lollipop” to skrócona notacja relacji implementacji klasyfikatora interfejsu.
Znakinterfejs wymaganysymbol z półokręgiem (znany również jako gniazdo) na końcu wskazuje interfejs, który komponent wymaga (w obu przypadkach nazwa interfejsu umieszczona jest w pobliżu samego symbolu).

Przykład diagramu komponentów – korzystanie z interfejsów (system zamówień)

Podsystemy
Klasyfikator podsystemu to specjalizowana wersja klasyfikatora komponentu. Dlatego element notacji podsystemu dziedziczy wszystkie zasady takie same jak notacja komponentu. Jedyna różnica polega na tym, że element symbolu podsystemu używa słowa kluczowego „podsystem” zamiast „komponent”.

Porty
Porty są reprezentowane jako kwadraty wzdłuż krawędzi komponentu lub systemu. Zazwyczaj służą do ujawniania wymaganych i dostarczanych interfejsów komponentu.

Relacje
Graficznie diagram komponentów to zbiór wierzchołków i łuków, zazwyczaj zawierający komponenty, interfejsy oraz relacje takie jak zależność, agregacja, ograniczenie, uogólnienie, asociacja i realizacja. Może również zawierać notatki i ograniczenia.
| Relacja | Symbol |
|---|---|
Asocjacja:
|
|
Kompozycja:
|
|
Agregacja:
|
|
Ograniczenie:
|
|
Zależność:
|
|
Uogólnienie:
|
Modelowanie kodu źródłowego
- Zidentyfikuj zbiór plików kodu źródłowego, które są interesujące, poprzez inżynierię wsteczną lub wsteczną, i modeluj je jako składniki zbudowane jako pliki.
- W przypadku większych systemów użyj pakietów do wyświetlania grup plików kodu źródłowego.
- Zastanów się nad dodaniem wartości oznaczonej w celu przedstawienia informacji takich jak numer wersji, autor i data ostatniej modyfikacji pliku kodu źródłowego. Użyj narzędzi do zarządzania wartościami tych wartości oznaczonych.
- Użyj zależności do modelowania zależności kompilacji między tymi plikami. Podobnie, użyj narzędzi, aby pomóc w generowaniu i zarządzaniu tymi zależnościami.
Przykład składnika – kod źródłowy Java

Przykład diagramu składników – kod C++ z wersjonowaniem

Modelowanie wydanych wersji wykonywalnych
- Zidentyfikuj zbiór składników, które chcesz zamodelować. Zazwyczaj dotyczy to niektórych lub wszystkich składników na węźle, albo rozkładu tych składników na wszystkich węzłach w systemie.
- Zastanów się nad stereotypem dla każdego składnika w tym zbiorze. W większości systemów znajdziesz niewielką liczbę różnych typów składników (np. pliki wykonywalne, biblioteki, tabele, pliki i dokumenty). Możesz użyć mechanizmu rozszerzalności UML, aby zapewnić wskazówki wizualne (podpowiedzi) dla tych stereotypów.
- Dla każdego składnika w tym zbiorze rozważ jego relacje z sąsiadami. Najczęściej dotyczy to interfejsów eksportowanych przez niektóre składniki (zaimplementowanych) i następnie importowanych przez inne (używanych). Jeśli chcesz ujawnić przestrzenie w systemie, jawnie modeluj te interfejsy. Jeśli chcesz wyższy poziom abstrakcji, usuń te relacje, pokazując tylko zależności między składnikami.

Modelowanie bazy danych fizycznej
- Zidentyfikuj klasy w modelu, które reprezentują schematy bazy danych logicznych.
- Wybierz strategię mapowania tych klas na tabele. Musisz również wziąć pod uwagę rozkład fizyczny bazy danych. Twoja strategia mapowania będzie zależeć od tego, gdzie chcesz, aby dane były trwale przechowywane w wdrożonym systemie.
- Aby wizualizować, określić, stworzyć i zaszyfrować mapowanie, utwórz diagram składników zawierający składniki zbudowane jako tabele.
- Tam, gdzie to możliwe, użyj narzędzi, aby pomóc Ci przekształcić projekt logiczny na projekt fizyczny.
Spróbuj narysować diagram składników UML teraz
Teraz już wiesz, czym jest diagram składników i jak go rysować. Przyszedł czas, aby stworzyć swój własny. Pobierz Wersję społecznościową Visual Paradigm, darmowy narzędzie UML, i użyj darmowego Diagram składników narzędzia, aby stworzyć swój własny. Jest łatwy w użyciu i intuicyjny.
Linki powiązane
- Co to jest Unified Modeling Language?
- Profesjonalne narzędzia UML
- Visual Paradigm. (brak daty). Jak narysować diagram komponentu? Visual Paradigm. https://www.visual-paradigm.com/support/documents/vpuserguide/94/2581/7292_drawingcompo.html 42.
- Visual Paradigm. (2018, 11 maja). Co to jest diagram komponentu? Visual Paradigm. https://www.visual-paradigm.com/guide/uml-unified-modeling-language/what-is-component-diagram/ 43.
- Visual Paradigm. (brak daty). Jak narysować diagram komponentu w UML? Visual Paradigm. https://www.visual-paradigm.com/tutorials/how-to-draw-component-diagram-in-uml/ 44.
- Visual Paradigm. (brak daty). Diagram komponentu – diagram UML 2 – narzędzie do modelowania UML. Visual Paradigm. https://www.visual-paradigm.com/VPGallery/diagrams/Component.html 45.
- Visual Paradigm. (brak daty). Diagram komponentu w Visual Paradigm. Visual Paradigm. https://www.visual-paradigm.com/support/documents/vpuserguide/94/2581_componentdia.html 46.
- Visual Paradigm Community Circle. (2018, 11 maja). 7. Diagram komponentu. Visual Paradigm. https://circle.visual-paradigm.com/docs/uml-and-sysml/component-diagram/ 47.
- Visual Paradigm Online. (brak daty). Bezpłatne narzędzie do rysowania diagramów komponentów. Visual Paradigm. https://online.visual-paradigm.com/diagrams/solutions/free-component-diagram-tool/ 48.
- Visual Paradigm Online. (brak daty). Poradnik dotyczący diagramu komponentu. Visual Paradigm. https://online.visual-paradigm.com/tutorials/component-diagram-tutorial/ 49.
- Visual Paradigm. (2022, 2 września). Poradnik dotyczący diagramu klas UML. Visual Paradigm. https://www.visual-paradigm.com/guide/uml-unified-modeling-language/uml-class-diagram-tutorial/ 50.
- Visual Paradigm Online. (brak daty). Narzędzia online do rysowania diagramów UML. Visual Paradigm. https://online.visual-paradigm.com/diagrams/features/uml-tool/ 51.





