Diagramy implementacyjne Diagramy komponentw Diagramy wdroenia Halina Taska

  • Slides: 23
Download presentation
Diagramy implementacyjne: Diagramy komponentów Diagramy wdrożenia Halina Tańska

Diagramy implementacyjne: Diagramy komponentów Diagramy wdrożenia Halina Tańska

Diagramy implementacyjne • UML definiuje dwa rodzaje diagramów implementacyjnych: – Diagramy komponentów – ilustrują

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.

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

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

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ć

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

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 (ang. connector), z których korzysta komponent.

Interfejsy W UML 2. 0 wprowadzono rozróżnienie pomiędzy interfejsami: Øinterfejs dostarczany (ang. provided interface)

Interfejsy W UML 2. 0 wprowadzono rozróżnienie pomiędzy interfejsami: Øinterfejs dostarczany (ang. provided interface) Øinterfejs wymagany (ang. required interface)

Interfejs dostarczany są to usługi które klasa implementuje. Klasa umożliwia innym elementom systemu korzystanie

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 dostarczany Interfejs jest definicją usług oferowanych przez klasę lub komponent.

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

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

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 wymagany i dostarczany Program. Studiów wykonaj. Raport. Końcowy

Interfejs wymagany i dostarczany Program. Studiów wykonaj. Raport. Końcowy

Port • Port jest cechą komponentu, która określa jego punkt interakcji pomiędzy wewnętrznymi elementami

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:

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

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.

Przykładowy diagram komponentów

Przykładowy diagram komponentów

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

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

Diagramy wdrożeniowe • Diagramy wdrożeniowe przedstawiają konfigurację następujących elementów czasu wykonania: – Komponentów sprzętowych,

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.

Diagram wdrożenia • Środowisko wykonania (ang. execution enviroment) to element prezentujący wybrany rodzaj platformy

Diagram wdrożenia • Środowisko wykonania (ang. 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.

Diagram wdrożenia - węzeł • Urządzenie (ang. Device) które stanowi fizyczne zasoby komputerowe, na

Diagram wdrożenia - węzeł • Urządzenie (ang. 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.

Diagram wdrożenia - powiązanie • Powiązanie, zwane asocjacją to związek strukturalny określany jako zbiór

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

Diagram wdrożenia - zależności • Zależność (ang. Dependence) to związek użycia, który oznacza, że

Diagram wdrożenia - zależności • Zależność (ang. 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.