• Nie Znaleziono Wyników

Diagramy implementacyjne: Diagramy komponentów Diagramy wdrożenia

N/A
N/A
Protected

Academic year: 2021

Share "Diagramy implementacyjne: Diagramy komponentów Diagramy wdrożenia"

Copied!
23
0
0

Pełen tekst

(1)

Diagramy implementacyjne:

Diagramy komponentów Diagramy wdrożenia

Halina Tańska

(2)

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.

(3)

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.

(4)

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).

(5)

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.

(6)

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.

(7)

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.

(8)

Interfejsy

W UML 2.0 wprowadzono rozróżnienie pomiędzy interfejsami:

interfejs dostarczany (provided interface)

interfejs wymagany (required interface)

(9)

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:

(10)

Interfejs dostarczany

Interfejs jest definicją usług oferowanych przez

klasę lub komponent.

(11)

Interfejs wymagany

Interfejs wymagany są to usługi, które inne klasy muszą dostarczyć w celu zapewnienia

odpowiedniego funkcjonowania klasy w

środowisku.

(12)

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.

(13)

Interfejs

Interfejs wymagany i dostarczany

ProgramStudiów wykonajRaport RaportKońcowy

(14)

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.

(15)

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.

(16)

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.

(17)

cmp Component View

Rezerw acj a biletu

Interfej s użytkow nika

Aktualizacj a repertuaru

rezerwacje

«interface»

aktualizacje

«use»

Przykładowy diagram komponentów

(18)

cmp Component View

Obsługa osób

Interfej s użytkow nika

Obsługa spraw

Interface1 Interface2

Interface3

Diagram komponentów dla systemu wspierającego pracę kancelarii prawniczej

(19)

Diagramy wdrożeniowe

• Diagramy wdrożeniowe przedstawiają konfigurację następujących elementów czasu wykonania:

– Komponentów sprzętowych, czyli fizycznych jednostek

posiadających pamięć, a często również moc obliczeniową.

– Komponentów oprogramowania (kod wykonywalny).

– Obiektów związanych z komponentami.

• Diagram wdrożeniowy jest grafem, którego wierzchołki, zwane węzłami, połączone są liniami odwzorowującymi połączenia komunikacyjne komponentów sprzętowych.

Węzły, podobnie jak połączenia komunikacyjne, mogą być opatrzone stereotypami, np. <<CPU>>,

<<pamięć>>. Węzły przechowują obiekty i wystąpienia

komponentów; węzły mogą brać udział w związkach

generalizacji.

(20)

Diagram wdrożenia

• Środowisko wykonania (execution

enviroment) to element prezentujący wybrany rodzaj platformy np. system operacyjny, silnik bazy danych i inne.

• Środowisko wykonania jest zazwyczaj

częścią innego węzła, który modeluje

sprzęt.

(21)

Diagram wdrożenia - węzeł

• Urządzenie (Device) które stanowi

fizyczne zasoby komputerowe, na których mogą być wykonane wdrażane artefakty.

• W urządzeniu zagnieżdżone jest, do specyfikowania oprogramowania,

środowisko wykonania.

(22)

Diagram wdrożenia - powiązanie

• Powiązanie, zwane asocjacją to związek strukturalny określany jako zbiór połączeń między obiektami.

• Powiązanie, na diagramach wdrożenia, jest stosowane zasadniczo do

modelowania połączeń (linii

komunikacyjnych) pomiędzy węzłami, po których węzły mogą się ze sobą

komunikować.

(23)

Diagram wdrożenia - zależności

• Zależność (Dependence) to związek użycia, który oznacza, że zmiany w

jednym elemencie mają wpływ na inny element, który używa tego pierwszego.

• Na diagramach wdrożenia zależność

oznacza, że elementy zawarte w węźle

korzystają z innych elementów.

Cytaty

Powiązane dokumenty

początkowy Pseudostan służący do oznaczenia punktu startowego końcowy Pseudostan służący do oznaczenia punktu finalnego złożony współbieżny Stan podzielony na dwa lub

Diagramy aktywności opisują przepływy operacji, ale nie specyfikują, kto jest odpowiedzialny za ich wykonanie, np., którzy ludzie czy które komórki organizacyjne (z

Diagramy sekwencji lepiej przedstawiają zależności czasowe, bardziej niż diagramy kolaboracji nadają się do modelowania systemów czasu rzeczywistego i złożonych

Przejście zewnętrzne – zdarzenie powoduje zmianę stanu obiektu ze stanu Stan1 na stan Stan2, o ile jest spełniony warunek oraz przed przejściem obiektu do stanu Stan2. wykonywana

Usługi uzupełniające to przeglądanie aktywnych aukcji, przeglądanie historii zawartych transakcji, a także finalizacja transakcji, związana z odnotowaniem zapłaty oraz

przebiegu) Modelowanie czasowej sekwencji wymiany komunikatów podczas współpracy obiektów, pakietów lub komponentów. Diagram komunikacji Modelowanie przepływu komunikatów

Zatem żadna konfiguracja czterech okręgów na płaszczyźnie nie tworzy diagramu Venna.. Oczywiście, czwarty zbiór możemy dorysować do trzech

Związku zawierania używa się wówczas, gdy z kilku innych przypadków użycia można. wydzielić pewną