Diagramy komponentów opisują logiczne relacje między komponentami.
Diagramy wdrożeniowe idą o krok dalej, opisując fizyczną topologię sprzętu systemu oraz oprogramowanie działające w tej strukturze.
Diagramy komponentów, znane również jako diagramy konstrukcji, to modele służące do przedstawiania relacji między komponentami w systemie oraz między komponentami a interfejsami. Diagramy komponentów są ważne w modelowaniu systemów opartych na komponentach i mogą pomóc użytkownikom zrozumieć strukturę systemu.
Rola diagramów komponentów:
1. umożliwiają testerom i deweloperom systemu zrozumienie wszystkich fizycznych elementów systemu jako całości;
2. opisują główne funkcje systemu z perspektywy architektury oprogramowania;
3. ułatwiają członkom zespołu projektowego zrozumienie struktury i funkcji systemu;
4. sprzyjają ponownemu wykorzystaniu oprogramowania.
Współpraca wielu użytkowników w czasie rzeczywistym z linkami do udostępniania
Automatyczne generowanie grafiki z tekstu z ulepszaniem stylu
Wbudowane motywy z pełną personalizacją
Obsługa ikon, obrazów, etykiet, formuł LaTeX, bloków kodu, linków, załączników
Eksport: PNG, VISIO, PDF, SVG | Import: VISIO, Mermaid
Przechowywanie w chmurze w czasie rzeczywistym, synchronizacja wielourządzeniowa, historia wersji i bezpieczeństwo danych
Diagramy komponentów opisują logiczne relacje między komponentami.
Diagramy wdrożeniowe idą o krok dalej, opisując fizyczną topologię sprzętu systemu oraz oprogramowanie działające w tej strukturze.
Komponent: Komponent to jednostka fizyczna o dobrze zdefiniowanym interfejsie, którą można zastąpić. Zazwyczaj reprezentuje rzeczywiste, fizyczne obiekty i jest przedstawiany jako prostokąt z dwoma małymi prostokątami wystającymi z lewej strony.
Interfejs: Dostarczony interfejs, zwany także interfejsem eksportowym, to zbiór usług oferowanych przez komponent. Można go przedstawić za pomocą relacji implementacji między interfejsem a komponentem; interfejs wymagany, zwany także interfejsem importowym, to interfejs, który komponent musi spełniać, aby żądać odpowiednich usług od innych komponentów, przedstawiany za pomocą relacji zależności.
Relacje: Między komponentami --> relacja zależności. Jeśli klasy w dwóch komponentach mają relację generalizacji lub użycia, można dodać zależność; między komponentem a interfejsem --> zależność lub implementacja.
Prosty diagram komponentów: Organizuje klasy współpracujące ze sobą w jeden komponent.
Zagnieżdżony diagram komponentów: Używa zagnieżdżonych diagramów komponentów do przedstawienia wewnętrznej struktury komponentu.
Komponenty są połączone za pomocą portów, a porty między sobą za pomocą łączników, choć zazwyczaj nie są często używane.
Łączniki dzielą się na trzy rodzaje: bezpośrednie, interfejsowe i delegujące.
1. Współpraca wielu zespołów deweloperskich
2. Architektura mikroserwisów lub modułowa
3. Systemy z wyraźnymi ograniczeniami interfejsów
4. Komponenty wymagające oddzielnego wdrożenia (np. frontend, backend, baza danych)
1. Skup się na modularności i rozdzielaniu, ponieważ główną wartością diagramów komponentów jest klarowne przedstawienie warstw i zależności w systemie;
2. Używaj standardowych symboli i oznaczeń interfejsów, aby poprawić czytelność i spójność diagramów;
3. Używaj w połączeniu z diagramami klas/wdrożeniowymi, aby zapewnić pełny widok struktury, zachowań i wdrożenia;
4. Unikaj przedstawiania diagramów komponentów jako diagramów klas, diagramy komponentów wyrażają „strukturę” systemu, a nie „szczegóły implementacyjne”.
Diagram komponentów odpowiada na pytanie „kto co robi, kto od kogo zależy”, a diagram klas odpowiada na pytanie „jak to zrobić”.
1, Klasa jest abstrakcją jednostki, natomiast komponent jest abstrakcją fizycznych elementów istniejących w komputerze.
2, Komponenty należą do modułów oprogramowania, a nie modułów logicznych; w porównaniu z klasami znajdują się na innym poziomie abstrakcji.
3, Klasy mogą bezpośrednio posiadać operacje i atrybuty, podczas gdy komponenty mają jedynie operacje dostępne poprzez ich interfejsy.
Komponenty są klasyfikowane według ról w systemie na 3 rodzaje:
1, Komponenty wdrożeniowe: niezbędne komponenty tworzące system wykonywalny.
Na przykład Java Virtual Machine, systemy zarządzania bazami danych, pliki EXE, pliki DLL.
2, Komponenty produktów pracy: produkty pośrednie procesu rozwoju, które nie uczestniczą bezpośrednio w systemie wykonywalnym.
Na przykład pliki źródłowe, pliki danych.
3, Komponenty wykonawcze: komponenty tworzone w czasie wykonywania.
Na przykład zainstancjonowane Servlety, obiekty COM+, dokumenty XML.
Komponenty i komponenty: relacja zależności
Komponenty i interfejsy: relacja zależności lub realizacji
Aby kontrolować odpowiednią granulację komponentów, ogólnie moduł funkcjonalny można ustawić jako komponent, nie projektuj pojedynczej klasy jako komponentu.
Przeciągnij „interfejs” z lewej strony obszaru symboli na prawą stronę obszaru roboczego, a następnie kliknij na jednym końcu komponentu, przytrzymaj lewy przycisk myszy i przeciągnij do odpowiedniego interfejsu, puść przycisk myszy, aby przypisać komponentowi interfejs do realizacji.
Nie, proste komponenty mogą nie mieć jawnego interfejsu.
Interfejs dostarczany jest oznaczony okręgiem, wskazuje funkcję ujawnianą przez komponent (może być wywoływana).
Interfejs wymagany jest oznaczony półkolem, wskazuje usługi, od których komponent zależy, dostarczane przez inne komponenty.
Tak. Między komponentami mogą istnieć zależności jeden do wielu, zależności dwukierunkowe lub można je rozdzielić za pomocą komponentu pośredniczącego, używając wielu przerywanych linii do przedstawienia wielu zależności.