OOAD - Diagramy strukturalne UML
Diagramy strukturalne UML są podzielone na następujące kategorie: diagram klas, diagram obiektów, diagram komponentów i diagram wdrożenia.
Diagram klas
Diagram klas modeluje statyczny widok systemu. Obejmuje klasy, interfejsy i współpracę systemu; i relacje między nimi.
Diagram klas systemu
Rozważmy uproszczony system bankowy.
Bank ma wiele oddziałów. W każdej strefie jeden oddział jest wyznaczony jako strefowa centrala, która nadzoruje pozostałe oddziały w tej strefie. Każdy oddział może mieć wiele kont i pożyczek. Konto może być kontem oszczędnościowym lub rachunkiem bieżącym. Klient może otworzyć zarówno rachunek oszczędnościowy, jak i rachunek bieżący. Jednak klient nie może mieć więcej niż jednego rachunku oszczędnościowego lub rachunku bieżącego. Klient może również zaciągnąć kredyt w banku.
Poniższy rysunek przedstawia odpowiedni diagram klas.
Zajęcia w systemie
Bank, oddział, konto, konto oszczędnościowe, konto bieżące, pożyczka i klient.
Relacje
A Bank “has–a” number of Branches - kompozycja, jeden do wielu
A Branch with role Zonal Head Office supervises other Branches - asocjacja jednoargumentowa, jeden do wielu
A Branch “has–a” number of accounts - agregacja, jeden do wielu
Z klasy Konto odziedziczyły dwie klasy, a mianowicie Rachunek Oszczędnościowy i Rachunek Bieżący.
A Customer can have one Current Account - skojarzenie, jeden do jednego
A Customer can have one Savings Account - skojarzenie, jeden do jednego
A Branch “has–a” number of Loans - agregacja, jeden do wielu
A Customer can take many loans - stowarzyszenie, jeden do wielu
Diagram obiektów
Diagram obiektów modeluje grupę obiektów i ich połączeń w określonym momencie. Pokazuje instancje rzeczy na diagramie klas. Diagram obiektowy to statyczna część diagramu interakcji.
Example - Poniższy rysunek przedstawia diagram obiektów części diagramu klas systemu bankowego.
Schemat elementów
Diagramy komponentów pokazują organizację i zależności między grupami komponentów.
Schematy komponentów obejmują -
- Components
- Interfaces
- Relationships
- Pakiety i podsystemy (opcjonalnie)
Schematy komponentów są używane do -
konstruowanie systemów poprzez inżynierię naprzód i odwrotną.
modelowanie zarządzania konfiguracją plików kodu źródłowego podczas tworzenia systemu z wykorzystaniem obiektowego języka programowania.
reprezentowanie schematów w modelowaniu baz danych.
modelowanie zachowań systemów dynamicznych.
Example
Poniższy rysunek przedstawia diagram komponentów służący do modelowania kodu źródłowego systemu, który został opracowany przy użyciu języka C ++. Pokazuje cztery pliki z kodem źródłowym, a mianowicie myheader.h, otherheader.h, priority.cpp i other.cpp. Wyświetlane są dwie wersje myheader.h, od najnowszej do jej przodka. Plik priority.cpp ma zależność kompilacji od other.cpp. Plik other.cpp ma zależność kompilacji od otherheader.h.
Diagram wdrożenia
Diagram wdrożenia kładzie nacisk na konfigurację węzłów przetwarzania środowiska wykonawczego i ich komponentów, które na nich żyją. Zwykle składają się z węzłów i zależności lub skojarzeń między węzłami.
Diagramy rozmieszczenia służą do -
modelować urządzenia w systemach wbudowanych, które zazwyczaj obejmują kolekcję sprzętu wymagającego dużego oprogramowania.
reprezentują topologie systemów klient / serwer.
modelować systemy w pełni rozproszone.
Example
Poniższy rysunek przedstawia topologię systemu komputerowego zgodnego z architekturą klient / serwer. Rysunek przedstawia węzeł stereotypowy jako serwer składający się z procesorów. Rysunek wskazuje, że w systemie wdrożono cztery lub więcej serwerów. Do serwera podłączone są węzły klienckie, przy czym każdy węzeł reprezentuje urządzenie końcowe, takie jak stacja robocza, laptop, skaner lub drukarka. Węzły są reprezentowane za pomocą ikon, które wyraźnie przedstawiają ich odpowiednik w świecie rzeczywistym.