de_DEen_USes_ESfa_IRfr_FRid_IDjapl_PLpt_PTru_RUvizh_CNzh_TW

Diagram struktury złożonej UML: modelowanie architektury wewnętrznej i współpracy

Diagram struktury złożonej UML to potężny diagram strukturalny używany do badania architektury wewnętrznej klasyfikatora strukturalnego, takiego jak klasa, komponent lub system. Skupia się na tym, jak jednostka jest zbudowana z połączonych ze sobą Części i jak współdziała z zewnętrznym światem poprzez swoje Porty.

UML Composite Structure Diagram for a Payment Processing Component

Ten diagram jest niezbędny do definiowania widoków czarnego i białego pudełka komponentu systemu, zapewniając jasne granice i umożliwiając ponowne wykorzystanie komponentów.

Podstawowa struktura i kontekst

Diagram jest rysowany w kontekście Klasyfikatora (pudełka granicznego), który definiuje ogólny system lub komponent analizowany.

A. Rola klasyfikatora (granica)

  • Oznaczenie: Duży prostokątny pudełko.
  • Cel: Reprezentuje ogólną klasę, komponent lub system, którego struktura wewnętrzna jest definiowana. Wszystkie inne elementy na diagramie znajdują się wewnątrz tej granicy.

Podstawowe elementy widoku wewnętrznego

Struktura wewnętrzna jest definiowana przez trzy kluczowe elementy: Części, Porty i Połączenia.

B. Części

Część reprezentuje rolę, którą odgrywa instancja klasyfikatora (takiej jak klasa lub komponent) w całym strukturze złożonej. W istocie, część to element budowlany wewnętrzny.

  • Oznaczenie: Prostokątne pudełko wewnątrz granicy, oznaczone jego nazwą i typem.
  • Składnia: nazwaCzęści: TypCzęści (np. buforDanych: ModułBuforowania).
  • Kluczowa różnica: Część nie jest samym obiektem, ale rola jaką odgrywa ten obiekt w kontekście klasifikatora zawierającego. Część może sama być strukturą złożoną, umożliwiając głębokie zagnieżdżanie.

C. Porty

Port to odrębny punkt interakcji między strukturą złożoną (granica) a jej środowiskiem lub między jej wewnętrznymi częściami. Porty formalizują interfejsy, które komponent używa lub oferuje.

  • Oznaczenie: Mały kwadrat przytwierdzony do krawędzi granicy lub krawędzi wewnętrznej części.
  • Rodzaje portów:
    • Port publiczny: Przytwierdzony do zewnętrznej granicy; dostępny dla środowiska.
    • Port zaszyfrowany: Przytwierdzony do wewnętrznej części; łączy tę część tylko z innymi wewnętrznymi częściami lub granicą systemu.
  • Cel: Porty jawnie definiują wymagane i oferowane interfejsy, pozwalając ukryć wewnętrzną strukturę (widok pudełka czarnego), jednocześnie definiując punkty kontraktowej interakcji.

D. Połączenia

Połączenie modeluje łącze komunikacyjne lub przepływ informacji/sygnałów między dwoma elementami (dwa porty, dwie części lub port i część).

  • Oznaczenie: Linia łącząca dwa połączone elementy.
  • Cel: Reprezentuje implementację połączenia komunikacyjnego, pokazując, jak dane lub komunikaty są przesyłane wewnętrznie.

Modelowanie interfejsów: oferowane i wymagane

Interfejsy definiują zobowiązania kontraktowe portów i są kluczowe dla przejrzystości architektury.

A. Interfejs oferowany (notacja lollipop)

  • Oznaczenie: Okrąg (lub „lollipop”) połączony z portem.
  • Cel: Pokazuje usługi lub operacje, które klasifikator (lub część) oferuje środowisku lub wewnętrznym komponentom.

B. Interfejs wymagany (notacja gniazdo)

  • Oznaczenie: Półokrąg (lub „gniazdo”) połączony z portem.
  • Cel: Pokazuje usługi lub operacje, które klasifikator (lub część) potrzebuje od środowiska lub innych wewnętrznych składników, aby poprawnie funkcjonować.

Połączenie montażowe: Linia połączeniowa często łączy Interfejs wymagany (gniazdo) jednej części z Interfejs dostarczany (lollipop) drugiej części, ilustrując, jak składniki wewnętrzne są połączone, aby spełnić funkcję systemu.

Modelowanie współpracy: role i współprace

Diagramy struktury złożonej mogą również modelować dynamiczneWspółprace—konkretne zbiory ról i połączeń, które współpracują, aby wykonać zadanie.

A. Użycie współpracy

  • Oznaczenie:Przerywana elipsa zawierająca nazwy współpracujących ról.
  • Cel: Reprezentuje wystąpienie wzorca współpracy (np. konkretną implementację wzorca Obserwatora), używanego w większym składniku.

Przykład modelowania krok po kroku: sterownik inteligentnego domu

Zamodelujmy strukturę wewnętrzną składnikaHomeAutomationSystem składnika.

  1. Granica klasyfikatora: Zdefiniuj zewnętrzny prostokąt jakoHomeAutomationSystem.
  2. Porty zewnętrzne: Dodaj port oznaczonyapiPort do granicy. PrzyłączInterfejs dostarczany (Lollipop) dla ICommandReceiver (co może wysyłać świat zewnętrzny) i Wymagane interfejsy (Gniazdo) dla IExternalWeatherService (co potrzebuje system).
  3. Części wewnętrzne:
    • scheduler: TaskScheduler (Obsługuje zdarzenia czasowe).
    • deviceManager: DeviceCoordinator (Komunikuje się z hardwarem).
  4. Połączenia wewnętrzne:
    • Połącz apiPort z deviceManager część za pomocą połączenia.
    • Połącz scheduler port wyjściowy części deviceManager port wejściowy części, pokazując, że scheduler informuje menadżera urządzeń, kiedy ma działać.
  5. Struktura zagnieżdżona (opcjonalna): Pokaż, że deviceManager sam zawiera części takie jak zigbeeAdapter i wifiAdapter.

Ten diagram jasno pokazuje, że HomeAutomationSystem składa się z dwóch głównych części wewnętrznych, używa określonego interfejsu API i wymaga zewnętrznego serwisu pogodowego, aby działać.

Podsumowanie

Poniższy diagram struktury złożonej UMLidzie dalej poza widok pudełka czarnego klasy lub komponentu, aby ujawnić jego architekturę pudełka białego. Poprzez używanie Częścido definiowania ról, Portydo definiowania punktów interakcji, i Połączeniado definiowania komunikacji wewnętrznej, pozwala architektom i programistom dokładnie zrozumieć i zaprojektować złożone, ponownie używalne i jasno zaszyfrowane komponenty.

Więcej informacji na temat UML i wizualizacji AI znajdziesz w naszym centrum zasobów UML.

Ten post dostępny jest również w Deutsch, English, Español, فارسی, Français, Bahasa Indonesia, 日本語, Portuguese, Ру́сский, Việt Nam, 简体中文 and 繁體中文