45. UML, jego struktura i przeznaczenie

Transkrypt

45. UML, jego struktura i przeznaczenie
45. UML, jego struktura i przeznaczenie.
Przeznaczenie
UML (Unified Modeling Language jest to sposób formalnego opisu modeli
reprezentujących projekty informatyczne.
Pozwala obrazować, specyfikować, tworzyć i dokumentować elementy systemu, takie
jak jego funkcje, typy użytkowników i ich zachowania, procesy biznesowe, schematy bazy
danych, obiekty, komponenty systemu.
Wysoki poziom abstrakcji gwarantuje całkowitą niezależność od platformy i języka
programowania projektu.
Ułatwia wymianę informacji pomiędzy przyszłymi użytkownikami systemu,
menadżerami, analitykami, projektantami, programistami i testerami
UML jest jedynie językiem modelowania używanym w procesie analizy i
projektowania systemów komputerowych, nie jest językiem programowania, nie pozwala też
na zdefiniowanie procesu wytwarzania oprogramowania.
Zakres zastosowania: tworzenie systemów informacyjnych przedsiębiorstw, usługi
bankowe i finansowe, telekomunikacja, transport, przemysł obronny i lotniczy, sprzedaż
detaliczna, elektronika i medycyna, rozproszone usługi internetowe…
Struktura
Najnowsza wersja to wersja 2.2
UML składa się z pewnych elementów graficznych, i słów kluczowych powiązanych
ze sobą w diagramy, które pokazują modele rzeczywistości, które później zostaną
oprogramowane.
Diagram to uproszczona reprezentacja graficzna pewnych pomysłów, idei,
konstrukcji, zależności, danych statystycznych.
1
Rodzaje diagramów:
Diagramy strukturalne
Diagramy dynamiki
Diagram klas
Diagram czynności
Diagram obiektów
Diagram przypadków użycia
Diagram pakietów
Diagram maszyny stanowej
Diagramy wdrożeniowe: (rodzaje: diagram Diagram interakcji (rodzaje: diagram
komponentów, diagram rozlokowania).
sekwencji, komunikacji, diagram sterowania
interakcją, diagram harmonogramowania)
Diagram struktur połączonych
Diagram profili
Diagram klas
Przedstawia strukturę systemu
struktury klas i zależności między nimi.
w
modelach obiektowych przez
ilustrację
Pola i notacja:
•
Nazwa klasy. Sposób zapisu nazwy - NazwaKlasy, Nazwa.
•
Atrybutów. Sposób zapisu: [dostępność]
nazwaAtrybutu/nazwa/nazwaKolejnegoAtrybutu [: typ][liczebność][ =
wart_poczatkowa][właściwość].
2
Właściwość:
changeable – bez ograniczeń
addOnly – gdy liczebność jest większa niż jeden, można dodawać nowe
wartości, ale raz dodane nie mogą być zmieniane
readOnly, frozen – nie ma możliwości zmiany.
Np.: # suma: Integer[0..*] = 750{changeable}.
•
Metod. Sposób zapisu: [dostępność]
nazwa()/nazwaMetody()/nazwaKolejnejMetody()[(lista_parametrów)][ :
typ_wartosci_zwracanej][właściwość]
Właściwość:
leaf – funkcja niepolimorfliczna (nie może być nadpisana)
isQuerry – funkcja nie zmieniająca obiektu
sequential, guarded, concurrent – mają zastosowania przy operacjach
współbieżnych
Np.: + obliczPlatnosc(pozycja :Byte = 50, obnizka :Boolean) : Long – publiczna
metoda obliczPlatnosc typu Long, zawiera atrybuty pozycja typu Byte o wartości
początkowej 50 oraz obnizka typu Boolean.
Dostępność:
+ publiczna
- prywatna
# chroniona
~ zakres pakietu
Obowiązkowe jest jedynie pole nazwy klasy. Jeśli już zdecydujemy się na pola
atrybutów i metod to obowiązkową pozycją są jedynie ich nazwy, reszta jest opcjonalna.
Dwie lub więcej klas może być połączonych ze sobą w związki zwane asocjacjami,
opisującymi powiązania między klasami:
a) asocjacja binarna:
3
b) asocjacja n-arna:
Diagram obiektów
Przedstawia egzemplarze elementów z diagramu klas odwzorowujące strukturę
systemu w wybranym momencie jego działania. Stosuje się go np. wtedy, gdy diagram klas
jest bardzo skomplikowany.
Diagram pakietów
W miarę wzrostu wielkości modelowanego systemu, rośnie liczba wykorzystywanych
elementów (klas, interfejsów, komponentów...). Można grupować modelowane byty w
pakietach powiązanych znaczeniowo.
Składnikami pakietu mogą być różne elementy, przykładowo klasy, interfejsy,
operacje, przypadki użycia, diagramy, inne pakiety, komponenty itd., lecz najczęściej są to
klasy.
4
Diagram komponentów
Komponent, to hermetyczny, wymienny, wykonywalny fragment systemu,
realizujący określone jego usługi, za pośrednictwem interfejsów. Komponent reprezentuje
jeden fizyczny moduł kodu. Często jest to jeden pakiet, ale nie zawsze istnieje taka
jednoznaczna odpowiedniość. Komponenty z natury służą do ponownego wykorzystania
poprzez połączenie ich z innymi komponentami, zwykle poprzez ich skonfigurowanie, bez
potrzeby rekompilacji.
Interfejs – zestaw operacji, które wyznaczają usługi oferowane przez klasę lub
komponent.
Interfejsy udostępniające – przez które komponenty oferują swoje usługi (IRaporty,
IPrzelewy, IListaPłac)
Interfejsy pozyskujące – przez które komponenty korzystają z usług innych
komponentów (IGodzinyWykonane, IPracownik).
Powyżej komponent Płace.exe, będący częścią większego systemu księgowego,
umożliwiające rozliczanie płac. Pozyskuje od innych komponentów informacje o
przepracowanych godzinach i danych pracowników a umożliwia tworzenie raportów, list płac
i zlecanie przelewów.
5
W UML zdefiniowane są następujące stereotypy komponentów:
executable - określa komponent, który można wykonać na węźle;
library - określa dynamiczną lub statyczną bibliotekę obiektów;
table - określa komponent reprezentujący tabelę bazy danych;
subsystem - podsystemy
service – komponent przetwarzający
Diagram rozlokowania
Po wykonaniu w języku UML logicznej specyfikacji systemu niezbędne jest
udokumentowanie jego fizycznego rozlokowania.
Diagramy wdrożenia przedstawiają powiązania między oprogramowaniem
(artefaktami) i sprzętem (węzłami). Dzięki diagramom rozlokowania język UML pozwala
na wyspecyfikowanie rozmieszczenia modułów użytkowanej aplikacji (artefaktów) na
poszczególnych węzłach.
Stronę sprzętową reprezentują węzły, czyli poszczególne urządzenia obliczeniowe,
komunikacyjne i przechowujące, powiązane ścieżkami komunikacyjnymi (serwery,
urządzenia wejścia-wyjścia takie jak drukarki czy monitory, routery, bramy, switche i inne
urządzenia sieciowe).
Artefakty: pakiety oprogramowania, bazy danych, arkusze kalkulacyjne, skrypty.
6
Diagram struktur połączonych
Diagram struktur połączonych pokazuje związki istniejące pomiędzy częściami
systemu, które współpracując dostarczają pewnej funkcjonalności.
Na poniższym rysunku wspomnianą funkcjonalnością jest możliwość licytacji
towarów na portalu aukcyjnym:
Diagram konceptualny:
W praktyce w systemie:
•
Rolę Lictującego spełnia obiekt klasy Kupujący,
•
rolę Oferującego – obiekt klasy Sprzedający,
•
rolę ListyAsortymentu – interfejs IOfertaAukcji
Diagram implementacyjny:
7
Diagram czynności
Diagram czynności to graficzne przedstawienie sekwencyjnych i/lub współbieżnych
przepływów sterowania pomiędzy ciągami akcji bądź obiektów składających się na
wykonanie pewnej czynności. Pokazują aktywności bez pokazywania bytów, realizujących
daną aktywność.
Diagramy czynności umożliwiają określenie tego, w jaki sposób system będzie osiągał
zamierzony cel, czyli wykonywał daną czynność: jakie będzie wykonywał akcje i jak te akcje
są ze sobą połączone.
Czynność – rodzaj zachowania systemu, składający się z przynajmniej jednej akcji.
Akcja – pojedyncza, niepodzielna operacja.
Na powyższym rysunku czynnością jest Przetwarzanie sprzedaży a akcjami Pobranie
opłaty i Wysyłka.
Diagram przypadków użycia
Określają wymagania funkcjonalne danego systemu oraz sposób komunikowania się
użytkowników i klientów (tzw. aktorów) z systemem.
Przypadek użycia to specyfikacja ciągu akcji i ich wariantów, które system (lub inna
jednostka), może wykonać poprzez interakcje z aktorami tego systemu.
Aktor jest to spójny zbiór ról odgrywanych przez użytkowników danego przypadku
użycia w czasie interakcji z tym przypadkiem użycia. Mogą być osobowi (osoba, zespół,
dział, instytucja) bądź nieosobowi (np. inny system, czas, urządzenia).
Aktorzy i przypadki użycia połączeni są ze sobą związkiem zwanym asocjacją, który
opisuje powiązania między nimi.
Przedstawiają usługi świadczone aktorom bez skazywania konkretnych rozwiązań
technicznych.
8
Diagram przypadków użycia systemu obsługi hurtowni:
Diagram maszyny stanowej
Maszyna stanowa to zachowanie określające sekwencję stanów, przez które
przechodzi dany obiekt w odpowiedzi na dane zachowania.
Diagram maszyny stanowej przedstawia skokowo takie stany i przejścia między nimi.
9
Diagram sekwencji
Diagramy sekwencji - opisują interakcje pomiędzy częściami systemu w postaci
sekwencji komunikatów wymienianych między nimi.
Sprawdzanie stanu konta za pośrednictwem bankomatu:
Diagram komunikacji
Diagram komunikacji również przedstawia sposób wymiany komunikatów pomiędzy
obiektami uczestniczącymi w interakcji.
Diagramy sekwencji pokazywały sekwencję komunikatów wymienianych między
obiektami, umieszczoną w odpowiedniej kolejności na osi czasu, diagramy komunikacji
pokazują zaś jak te obiekty są połączone (co może pomóc zrozumieć interakcje), dlatego, by
pokazać ich kolejność, konieczne jest numerowanie.
10
Diagram sterowania interakcją
Diagramy sterowania interakcją udostępniają wysokiego poziomu widok wzajemnej
współpracy kilku interakcji wykorzystywanych w celu implementacji pewnej części systemu,
na przykład danego przypadku użycia.
Diagramy sekwencji, komunikacji oraz harmonogramowania koncentrują się na
określonych szczegółach związanych z komunikatami, które tworzą interakcję. Natomiast
diagramy sterowania interakcją wiążą ze sobą kilka różnych interakcji w pojedynczy
kompletny obraz interakcji obejmujących pewien określony obszar systemu
Taki diagram wygląda bardzo podobnie do diagramu czynności, z tą różnicą, że każda
z akcji została zastąpiona samą interakcją.
ref – przywoływane wystąpienie interakcji, czyli odwołanie do jednego z diagramów
interakcji, oznaczonego nazwą wymienioną w przywołaniu.
sd – diagram sekwencji
11
Diagram harmonogramowania
Prezentuje na osi czas zmiany dopuszczalnych stanów, w jakie wchodzi obiekt biorący
udział w interakcji.
12

Podobne dokumenty