Co to jest diagram komponentów?

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.

Component Diagram Hierarchy

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.
Component Diagram Overview
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:
  1. Prostokąt z nazwą komponentu
  2. Prostokąt z ikoną komponentu
  3. Prostokąt z tekstem stereotypu i/lub ikoną
Appearance of a Component

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).
Required and Provided Interfaces

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

Component Diagram Example with Interfaces

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”.
Component Diagram with Subsystem

Porty

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

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:

  • Asocjacja określa relację semantyczną, która może występować między instancjami typowymi.
  • Ma co najmniej dwa końce, każdy reprezentowany przez atrybut, a każdy koniec jest połączony z typem drugiego końca. Wiele końców może mieć ten sam typ.

Component Diagram: Association




Kompozycja:

  • Kompozycja to silna forma agregacji, wymagająca, by instancja była zawarta w co najwyżej jednym złożonym.
  • Jeśli złożony jest usunięty, jego części są zazwyczaj również usuwane.

Component Diagram: Composition




Agregacja:

  • Forma asocjacji, w której jeden koniec jest oznaczony jako agregacja współdzielona, co oznacza, że ma agregację współdzieloną.

Component Diagram: Aggregation




Ograniczenie:

  • Warunek lub ograniczenie wyrażone w tekście naturalnym lub języku czytelnym przez maszynę, aby zadeklarować pewne semantyki elementu.

Component Diagram: Constraint




Zależność:

  • Relacja wskazująca, że jeden lub więcej elementów modelu wymaga innego elementu modelu do jego specyfikacji lub implementacji.
  • Oznacza to, że pełne semantyki elementu zależnego są semantycznie lub strukturalnie zależne od definicji elementu dostarczającego.

Component Diagram: Dependency




Uogólnienie:

  • Relacja klasyfikacji między klasifikatorem ogólniejszym a klasifikatorem szczegółowszym.
  • Każdy egzemplarz klasifikatora szczegółowego jest również egzemplarzem pośrednim klasifikatora ogólniejszego.
  • W związku z tym klasifikator szczegółowy dziedziczy cechy od klasifikatora ogólniejszego.

Component Diagram: Generalization




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
Component Diagram Example: Java Source Code
Przykład diagramu składników – kod C++ z wersjonowaniem
Component Diagram Example: C++ Code with Versioning

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.
Component Diagram for Modeling Executable Release

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.
Component Diagram for Modeling Physical Database


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.
  1. Co to jest Unified Modeling Language?
  2. Profesjonalne narzędzia UML
  3. Visual Paradigm. (brak daty). Jak narysować diagram komponentu? Visual Paradigm. https://www.visual-paradigm.com/support/documents/vpuserguide/94/2581/7292_drawingcompo.html 42.
  4. 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.
  5. 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.
  6. 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.
  7. Visual Paradigm. (brak daty). Diagram komponentu w Visual Paradigm. Visual Paradigm. https://www.visual-paradigm.com/support/documents/vpuserguide/94/2581_componentdia.html 46.
  8. Visual Paradigm Community Circle. (2018, 11 maja). 7. Diagram komponentu. Visual Paradigm. https://circle.visual-paradigm.com/docs/uml-and-sysml/component-diagram/ 47.
  9. 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.
  10. Visual Paradigm Online. (brak daty). Poradnik dotyczący diagramu komponentu. Visual Paradigm. https://online.visual-paradigm.com/tutorials/component-diagram-tutorial/ 49.
  11. 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.
  12. 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.

Leave a Reply