Diagram pakietów (ang. package diagram) jest strukturalnym diagramem, który prezentuje pakiety i relacje zachodzące pomiędzy nimi. Diagram pakietów służy do modelowania agregatów bytów, jakimi są pakiety. Diagramy pakietów pozwalają na modelowanie systemu na wysokim stopniu abstrakcji, gdyż pakiety reprezentują ogromną liczbę klas, interfejsów, diagramów i innych bytów – pozwala to wyeksponować tylko zasadnicze funkcje systemu.

Diagram pakietów – notacja i semantyka

Pakiet

najczesciej_stosowana_notacja_UML_2011_html_m6e1ce49b

Rysunek 24. Pakiet – notacja

Pakiet (ang. package) jest uniwersalnym mechanizmem służącym do organizowania elementów w grupy. Pakiet grupuje elementy modelu i diagramy.

Pakiet stanowi obszar nazw, co pozwala na oznaczenie przynależności (właściciela) bytu, a w konsekwencji umożliwia lepsze i skuteczniejsze zarządzanie elementami systemu. W związku z tym byty należące do tego samego pakietu muszą mieć unikatowe nazwy. Jednocześnie dopuszcza się, by byty przynależące do różnych pakietów miały tą samą nazwę.Pakiety, jako agregaty systemu, umożliwiają podział systemu na grupy, w celu lepszego zrozumienia złożoności systemu. W skomplikowanych systemach pakiety mogą zwierać w sobie inne pakiety.

Należy zauważyć, że diagram jest typem pakietu.

Na rysunku 25 przedstawiono diagram pakietów, który prezentuje zagregowane byty tworzące system wspomagający zarządzanie wypożyczalnią samochodów. Na diagramie tym umieszczono trzy przestrzenie nazw: Warstwa interfejsu, Warstwa biznesowa, Warstwa danych. Z racji tego,
że te trzy pakiety należą do tego samego pakietu, jakim jest diagram pakietów, mają różne nazwy. Natomiast nazwy elementów zagnieżdżonych niżej
(tzn. Funkcje administracyjne, Obsługa pojazdów, Obsługa wypożyczeń) mogą
się powtarzać, gdyż mają różnych właścicieli.

image

Rysunek 25. Agregacja pakietów

Zagnieżdżenie

najczesciej_stosowana_notacja_UML_2011_html_7c4e7f75

Rysunek 26. Zagnieżdżenie – notacja

Zagnieżdżenie (ang. nesting) jest alternatywną formą przedstawienia przynależności elementu do pakietu.

W taki sam sposób, jak to przedstawiono na rysunku 27, można zaprezentować przynależność innych elementów języka UML, takich jak: klasy, komponenty lub przypadki użycia.

image

Rysunek 27. Przykład zagnieżdżenia pakietów

Generalizacja

najczesciej_stosowana_notacja_UML_2011_html_6d09185

Generalizacja – notacja

Generalizacja (ang. generalization), zwana także uogólnieniem,
jest związkiem pomiędzy minimum dwoma pakietami, w którym jeden z nich jest bytem ogólnym, a drugi bytem szczegółowym. Byt szczegółowy może zastąpić byt uszczegóławiany. Na zamieszczonym przykładzie (rys. 29) bytem ogólnym (przodkiem) jest pakiet Pojazdy, a bytami szczegółowymi (potomkami) są pakiety Dwuśladowe i Jednośladowe. Zgodnie z omawianym rysunkiem (grot strzałki skierowany jest na byt ogólny) można stwierdzić, że każdy pojazd Dwuśladowy lub pojazd Jednośladowy może być Pojazdem, ale nie każdy Pojazd może być
na przykład pojazdem Jednośladowym.

najczesciej_stosowana_notacja_UML_2011_html_m1d61bc10

Rysunek 29. Przykład zastosowania generalizacji na pakietach

Zależność

najczesciej_stosowana_notacja_UML_2011_html_77c7f6d3

Rysunek 30. Zależność – notacja

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 pakietów zależność oznacza, że elementy zawarte w pakiecie korzystają z elementów zagnieżdżonych w innym pakiecie.

image

Rysunek 31. Przykładowe użycie zależności pomiędzy pakietami

Zależność zaprezentowana na tym przykładzie oznacza, że wewnętrzne elementy pakietu Warstwa interfejsu (np. klasa formularza DodajNowySamochód) korzystają z elementów zagnieżdżonych w pakiecie Warstwa biznesowa
(np. z klasy odpowiedzialnej za obsługę formularza CTR_ DodajNowySamochód).

Zależność ze stereotypem Import

najczesciej_stosowana_notacja_UML_2011_html_m226ff04b

Rysunek 32. Zależność <<import>> – notacja

Zależność ze stereotypem <<import>> umożliwia dostęp bytom z jednego pakietu do bytów drugiego pakietu. Zależność ta znajduje zastosowanie
w sytuacjach, gdy byty z różnych pakietów współpracują ze sobą.

Diagram pakietów – przykładowe zastosowanie

Diagramy pakietów, jako agregaty różnych składników modelu, znajdują zastosowanie na każdym etapie modelowanego systemu. Największą rolę odgrywają w początkowej fazie definiowania systemu, na wysokim poziomie abstrakcji. Przykładem może być diagram pakietów, na którym pokazano najważniejsze moduły systemu wspomagającego obsługę wypożyczalni samochodów.

Na rysunku 33 pakietami zaznaczono cztery działy w wypożyczalni samochodów. Pakiety nie prezentują funkcjonalności, jaką będzie pełnił system, dają jedynie pogląd, w jakich komórkach wypożyczalni system będzie funkcjonował.

image

Rysunek 33. Przykładowy diagram pakietów

Z diagramu można wywnioskować, że pakiet Biuro jest składnikiem wewnętrznym pakietu, jakim jest Wypożyczalnia. Zależność <<import>> wskazuje, że składniki pakietu Biuro mają dostęp do składników pakietu Serwis (np. w sprawie napraw usterek lub posprzątania samochodu). Z diagramu wynika również, że wewnętrzne elementy pakietu Biuro korzystają z elementów zawartych w pakiecie Rezerwacje (np. planowanych rezerwacji dokonanych przez klientów on-line).

Pakiety to jeden z najczęściej stosowanych elementów dzięki któremu staram się utrzymać porządek w repozytorium projektu.

Pozostałe diagramy UML:

Chcę otrzymywać powiadomienia o nowych wpisach na tym blogu

Wyrażam zgodę na przetwarzanie powyższych danych. Potwierdzam zapisanie się na newsletter w celu otrzymywania powiadomień o nowych wpisach. (Mogę wypisać się w dowolnym momencie)

FreshMail.pl
 
Close