Za pomocą diagramu komponentów można przedstawić konstrukcję systemu z najwyższego poziomu abstrakcji. Po co? Aby rozpocząć projektowanie struktury i główne wytyczne przekazać programistom, a project managerowi zaprezentować złożoność systemu oraz możliwy podział na etapy wdrażania.
Komponenty
Komponenty reprezentują części systemu wydzielone podczas projektowania. Grupują one wykonywane często wspólnie funkcje i oddzielają te, które współpracują rzadziej. Komponenty wymieniają dane między sobą za pomocą interfejsów. Nie mają możliwości komunikacji w żaden inny sposób. Ich wewnętrzna struktura, dane i operacje pozostają ukryte (enkapsulacja). Pozwala to na wprowadzanie zmian w komponencie, które są niewidoczne dla pozostałych i dalsze komunikowanie się w ten sam sposób za pomocą niezmienionych interfejsów. Dzięki temu podziałowi można także ponownie wykorzystywać komponenty w innych systemach.
Interfejsy
Interfejsy służą komponentom do komunikacji – definiują formaty dostarczanych i wymaganych danych.
- Interfejs dostarczany – umożliwia pozyskanie danych z komponentu
- Interfejs wymagany – wymaga dostarczenia określonych danych do wykonania operacji
Widoki
- Zewnętrzny (external, black box) – przedstawia komponenty z ukrytymi szczegółami
- Wewnętrzny (internal, white box) -przedstawia komponenty wraz z ich wewnętrzną budową
Poniższy diagram przedstawia widok zewnętrzny – szczegóły komponentów są ukryte, widać tylko ich powiązania.
Widok wewnętrzny to kolejny stopień wtajemniczenia, kiedy zaznajomisz się już z widokiem zewnętrznym. Zainteresowanym szczegółami polecam lekturę specyfikacji UML 🙂 – http://www.omg.org/spec/UML/2.4.1/.
Źródła:
- Object Management Group: Unified Modeling Language version 2.4.1 [on-line]. Dostępne: http://www.omg.org/spec/UML/2.4.1/