Diagramy implementacyjne:
Diagramy komponentów Diagramy wdrożenia
Halina Tańska
Diagramy implementacyjne
• UML definiuje dwa rodzaje diagramów implementacyjnych:
– Diagramy komponentów – ilustrują strukturę kodu
projektowanego systemu poprzez specyfikowanie implementacji elementów projektu (np. klas czy podsystemów) za pomocą
komponentów i ich interfejsów, a także przez wskazanie zależności występujących pomiędzy komponentami. Celem
identyfikacji komponentów jest szybkie wytwarzanie systemów o odpowiednio wysokiej jakości, spełniających wymagania
biznesowe. Taki sposób pracy, oparty na składaniu z gotowych części, jest korzystny dla budowy.
– Diagramy wdrożeniowe – przedstawiają konfigurację systemu czasu wykonania, czyli rozmieszczenie komponentów i obiektów w węzłach. Węzły modelują obliczeniowe zasoby czasu
wykonania. Taka konfiguracja może być statyczna jak i
dynamiczna.
Znaczenie diagramów wdrożenia
Pełny projekt informatyczny musi zawierać opis struktury i dynamiki systemów obiektowych. Aspekty fizyczne struktury systemu specyfikuje się z wykorzystaniem diagramów
wdrożeniowych. Wyróżnia się dwa rodzaje tych diagramów:
Diagramy komponentów, Diagramy rozlokowania.
Użyteczność diagramów wdrożeniowych przejawia się w możliwości modelowania konfiguracji tworzonego systemu.
Diagramy komponentów pozwalają na modelowanie elementów oprogramowania i związków między nimi.
Diagramy rozlokowania pozwalają na modelowanie rozmieszczenia
infrastruktury sprzętowej oraz platform użytkowania systemu.
Komponent
• Komponent to hermetyczny, wymienny moduł oprogramowania systemu, realizujący określone jego usługi za pośrednictwem interfejsów.
• Komponent stanowi nietrywialną, dobrze wyizolowaną z kontekstu jednostkę implementacji, spójną ze względu na wypełniane funkcje (wysoka kohezja, słabe sprzężenia) i posiadającą dobrze zdefiniowane interfejsy. Komponent nadaje się do wielokrotnego użycia.
• Prawidłowo skonstruowany komponent korzysta z innych komponentów wyłącznie za pośrednictwem ich interfejsów, co ułatwia przyszłe
modyfikacje.
• Podstawowe rodzaje komponentów:
– Komponenty z perspektywy jednego projektu
– Komponenty z perspektywy całości rozwoju oprogramowania w danej organizacji – Komponenty biznesowe np. do obsługi zamówień, sprzedaży
• Komponenty mogą istnieć w różnym czasie: niektóre w czasie kompilacji (komponenty kodu źródłowego), niektóre w czasie konsolidacji (komponenty kodu binarnego), niektóre tylko w czasie wykonania (komponenty kodu
wykonywalnego).
Komponent
• Komponent opisuje modularny – logiczny bądź fizyczny – fragment systemu, który stanowi bardziej zwięzły opis obrazu zachowania systemu niż jego implementacja.
• Komponenty mogą być stosowane w dwóch aspektach:
definiują zewnętrzne oblicze systemu oraz stanowią implementację funkcjonalności systemu.
• Komponent jest agregatem dla podsystemów we wszystkich częściach/poziomach systemu. Gdy stosowany jest ze stereotypem <<subsystem>>,
oznacza to, że jest agregatem dla komponentów dużej
skali.
Komponenty – sposoby ilustracji
• Zbiór komponentów składających się na kod systemu może być opisany na dwa sposoby:
– Poprzez utworzenie listy komponentów wraz ze
specyfikacją występujących między nimi zależności – jest to tzw. biblioteka komponentów.
– Poprzez diagram komponentów ilustrujący sieć ich
wzajemnych zależności. Diagram komponentów
pokazuje także, za realizację jakiego interfejsu jest
odpowiedzialny każdy z komponentów.
Interfejs
• Interfejs jest to zestaw operacji, które wyznaczają usługi oferowane przez
komponent (lub klasę). Interfejsy służą do prezentowania komunikacji pomiędzy
komponentami.
• Język UML w wersji 2.0 rozszerza notację interfejsów o dwa interfejsy zwane
łącznikami (connector), z których korzysta
komponent.
Interfejsy
W UML 2.0 wprowadzono rozróżnienie pomiędzy interfejsami:
interfejs dostarczany (provided interface)
interfejs wymagany (required interface)
Interfejs dostarczany
Interfejs dostarczany są to usługi które klasa implementuje.
Klasa umożliwia innym elementom systemu korzystanie z obsługiwanych przez daną klasę usług.
Dwie postacie interfejsu dostarczanego:
Interfejs dostarczany
Interfejs jest definicją usług oferowanych przez
klasę lub komponent.
Interfejs wymagany
Interfejs wymagany są to usługi, które inne klasy muszą dostarczyć w celu zapewnienia
odpowiedniego funkcjonowania klasy w
środowisku.
Interfejs wymagany
Klasa wymaga tych interfejsów do poprawnej pracy.
Komunikator internetowy nie udostępnia pełnej
funkcjonalności użytkownikowi bez połączenie z
Internetem.
Interfejs
Interfejs wymagany i dostarczany
ProgramStudiów wykonajRaport RaportKońcowy
Port
• Port jest cechą komponentu, która określa jego punkt interakcji pomiędzy
wewnętrznymi elementami komponentu lub wewnętrznymi elementami a
środowiskiem zewnętrznym w jakim
funkcjonuje komponent.
Artefakt
• Artefakt jest to fizycznie istniejący zasób informatyczny w postaci takich bytów jak:
model, plik lub tabela.
• Artefakt jest używany lub wytwarzany w czasie wdrażania oprogramowania.
• Artefakt może posiadać atrybuty i operacje i może być połączony asocjacją z innym
artefaktem.
Diagram komponentów
• W języku UML komponenty dokumentowane są na diagramach komponentów.
• Diagram komponentów to rodzaj diagramu wdrożeniowego, który wskazuje organizację i zależności między komponentami (elementami składowymi oprogramowania).
• Diagram komponentów prezentuje system na wyższym poziomie abstrakcji niż diagram klas, gdyż każdy z komponentów może być implementacją jednej lub większej liczby klas.
• Diagram komponentów służy do określania szczegółów niezbędnych do budowy systemu.
• Diagram ten jest przedstawiany w postaci grafu skierowanego, gdzie węzłami są komponenty, a łuki w postaci strzałek z przerywaną linią
modelują zależności występujące pomiędzy komponentami występującymi w roli klientów i dostawców pełnej informacji.
• Bezpośrednia specyfikacja klientów i dostawców ma duże znaczenie dla przeprowadzenia ewentualnych modyfikacji elementów systemu: zmiany wprowadzane do elementu modelującego dostawcę informacji mogą
skutkować koniecznością wprowadzania zmian do elementów modelujących
jej klienta.
cmp Component View
Rezerw acj a biletu
Interfej s użytkow nika
Aktualizacj a repertuaru
rezerwacje
«interface»
aktualizacje
«use»
Przykładowy diagram komponentów
cmp Component View
Obsługa osób
Interfej s użytkow nika
Obsługa spraw
Interface1 Interface2
Interface3