1
1
Wprowadzenie do UML
Wprowadzenie do UML
UML-
Unified Modeling Language
Ujednolicony Język Modelowania
2
2
Plan wykładu
Plan wykładu
Cele UML
Cele UML
Co to jest UML?
Co to jest UML?
Elementy składowe UML
Elementy składowe UML
Diagramy UML
Diagramy UML
3
3
Cele UML
Cele UML
4
4
Cele UML’a
Cele UML’a
Wyposażenie użytkowników
Wyposażenie użytkowników
w
w
graficzny język modelowania
graficzny język modelowania
;
;
Dostarczenie mechanizmów
Dostarczenie mechanizmów
rozszerzania i specjalizacji
rozszerzania i specjalizacji
(do
(do
koncepcji bazowej):
koncepcji bazowej):
•
Budowanie modeli
Budowanie modeli
dla standardowych
dla standardowych
aplikacji;
aplikacji;
•
Dodawanie
Dodawanie
nowych pojęć
nowych pojęć
i notacji do
i notacji do
koncepcji podstawowej;
koncepcji podstawowej;
•
Wybór pomiędzy różnymi
Wybór pomiędzy różnymi
wariantami
wariantami
.
.
5
5
Cele UML’a
Cele UML’a
Wspomaganie specyfikacji
Wspomaganie specyfikacji
niezależnych od języka
niezależnych od języka
programowania i metod tworzenia;
programowania i metod tworzenia;
Wspomaganie koncepcji
Wspomaganie koncepcji
: wzorców,
: wzorców,
komponentów, współpracy,
komponentów, współpracy,
programów ramowych.
programów ramowych.
6
6
Co to jest UML?
Co to jest UML?
7
7
Na co położono nacisk w UML’u?
●
Paradygmat obiektowy
, ponieważ tworzy
podstawy języka UML.
●
Modelowanie strukturalne i
behawioralne
, ponieważ pozwalają
zrozumieć wymogi stawiane systemowi i
jego architekturę.
8
8
Co to jest UML?
Co to jest UML?
UML jest językiem
modelowania
wizualnego
, pozwalającym budowniczym
systemów na
tworzenie planów
, na
których ich wizje zostają uchwycone i
wyrażone
w standardowy, łatwy do
zrozumienia
sposób.
Dostarcza też mechanizmów
ułatwiających
wymianę informacji
i przekazywanie
projektów innym.
9
9
Czym jest UML?
Czym jest UML?
UML jest
UML jest
językiem modelowania
językiem modelowania
a nie metodą
a nie metodą
J
J
ęzyk modelowania jest
ęzyk modelowania jest
najważniejszą częścią metody
najważniejszą częścią metody
Język modelowania jest zwykle
Język modelowania jest zwykle
graficzną, notacją, którą
graficzną, notacją, którą
metody
metody
wykorzystują do wyrażania
wykorzystują do wyrażania
modeli
modeli
10
10
UML- Unified Modeling Language
Ujednolicony Język Modelowania
UML jest standardowym językiem
UML jest standardowym językiem
do
do
specyfikacji, wizualizacji, budowy i
specyfikacji, wizualizacji, budowy i
dokumentowania
dokumentowania
wszystkich artefaktów
wszystkich artefaktów
(wytworów) dowolnego systemu.
(wytworów) dowolnego systemu.
UML nadaje się do
UML nadaje się do
opisu systemów
opisu systemów
programowych i nieprogramowych
programowych i nieprogramowych
(
(
tzw.
tzw.
systemów biznesowych) w różnych
systemów biznesowych) w różnych
dziedzinach i branżach, np. w
dziedzinach i branżach, np. w
produkcji, bankowości, handlu
produkcji, bankowości, handlu
elektronicznym itd.
elektronicznym itd.
11
11
UML jest tylko zestawem
pojęć i
notacji
12
12
UML wspomaga
specyfikowanie decyzji
analitycznych,
projektowych,
implementacyjnych,
które muszą być podejmowane w trakcie
wytwarzania i wdrażania systemu
informatycznego
13
13
UML Obejmuje następujące
UML Obejmuje następujące
dyscypliny:
dyscypliny:
–
zarządzanie wymaganiami;
zarządzanie wymaganiami;
–
analizę i projektowanie;
analizę i projektowanie;
–
programowanie;
programowanie;
–
testowanie.
testowanie.
14
14
Można przekształcić model UML w taki język,
jak
Java, C++, Visual Basic
UML jest językiem do dokumentowania:
Wymagań,
Architektury,
Projektu,
Kodu źródłowego,
Planu projektu,
Testu,
Prototypu,
Kolejnej wersji.
15
15
Elementy składowe UML
Elementy składowe UML
16
16
Konstrukcje graficzne
Konstrukcje graficzne
używane w notacji UML
używane w notacji UML
Ikona
Ikona
Symbol
Symbol
Połączenie
Połączenie
Tekst
Tekst
17
17
UML językiem programowania
UML jest językiem wizualnym, służącym do
modelowania i opisywania systemów za
pomocą bloków konstrukcyjnych:
elementów, związków między nimi i
diagramów.
diagram
diagram
elementy
elementy
związki
związki
18
18
Elementy w UML.1/4
Strukturalne
–
wyrażone
rzeczownikami.
Najbardziej statyczne elementy
modelu.
Reprezentują składniki pojęciowe albo
fizyczne.
Klasy
Interfejsy
Kooperacje
Przypadki użycia
Komponenty
Węzły
Hierarchia
odpowiedzialności
19
19
Elementy w UML. 2/4
Czynnościowe
–
dynamiczna część modelu w
UML. Wyrażone czasownikami. Opisują
zachowanie w czasie i w przestrzeni.
Powiązane z elementami strukturalnymi
.
Interakcja
Maszyna stanowa
Zachowanie polegające
na wymianie
komunikatów między
obiektami.
●
komunikaty
●
ciągi akcji w odpowiedzi
na komunikaty
●
połączenia między
obiektami
wyświetl
Określa ciąg stanów jakie obiekt
lub interakcja może przyjąć.
●
stany
●
przejścia między stanami
●
zdarzenia powodujące przejścia
●
czynności – odpowiedzi na zdarzenia
komunikat
stan
20
20
Elementy w UML. 3/4
Grupujące
– bloki na
które może być dany
model rozłożony.
Rola organizacyjna.
Pakiety
Komentujące
–
objaśnienia
pisane w celu uwypuklenia
lub zaznaczenia dowolnych
składników systemu.
●
elementy strukturalne
●
elementy czynnościowe
●
inne pakiety
●
Modele
●
Pakiety
●
Podsystemy
-
rodzaje pakietów
●
Notatka
●
Wymagania
Notatka
21
21
Zależność
Powiązanie
Uogólnienie
Realizacja
Elementy w UML.4/4
Związki
– służą do łączenia elementów. Używane
do budowy poprawnych modeli.
22
22
Diagramy UML
Diagramy UML
23
23
Diagram
– schemat przedstawiający
zbiór bytów.
Najczęściej jest grafem, w którym
wierzchołkami są elementy, a
krawędziami związki.
•
Diagram
– rysunek pokazujący różne
elementy modelu w odpowiedniej
konfiguracji.
•
Diagramy są podstawowym sposobem
wyrażania treści modelu.
•
Elementy na diagramach przedstawiane
są zgodnie ze składnią języka
modelowania (tu: języka UML).
24
24
Klasyfikacja diagramów UML 2.0
Klasyfikacja diagramów UML 2.0
1. Diagramy struktury
1. Diagramy struktury
Diagram klas (class diagram)
Diagram klas (class diagram)
Diagram komponentów (component diagram)
Diagram komponentów (component diagram)
Diagram struktur złożonych, diagram składowych, (composite
Diagram struktur złożonych, diagram składowych, (composite
structure diagram)
structure diagram)
Diagram wdrożenia (deployment diagram)
Diagram wdrożenia (deployment diagram)
Diagram obiektów (object diagram)
Diagram obiektów (object diagram)
Diagram pakietów (package diagram)
Diagram pakietów (package diagram)
2. Diagramy zachowania
2. Diagramy zachowania
Diagram czynności (activity diagram)
Diagram czynności (activity diagram)
Diagram przypadków użycia (use case diagram)
Diagram przypadków użycia (use case diagram)
Diagram maszyny stanów (state machine diagram)
Diagram maszyny stanów (state machine diagram)
Diagramy interakcji
Diagramy interakcji
- Diagram sekwencji (sequence diagram
- Diagram sekwencji (sequence diagram
- Diagram komunikacji, diagram kooperacji (communication
- Diagram komunikacji, diagram kooperacji (communication
diagram)
diagram)
- Diagram przeglądu interakcji; diagram opisu interakcji (interaction
- Diagram przeglądu interakcji; diagram opisu interakcji (interaction
overview diagram)
overview diagram)
- Diagram czasowy,diagram następstwa (timing diagram)
- Diagram czasowy,diagram następstwa (timing diagram)
25
25
26
26
1. Diagramy struktury
1. Diagramy struktury
27
27
Diagram klas –
Diagram klas –
(
(
ang. Class diagram
ang. Class diagram
). Diagram
). Diagram
przedstawiający klasy
przedstawiający klasy
powiązane relacjami
powiązane relacjami
asocjacji,
asocjacji,
generalizacji lub zależności. Diagram klas związanych z
generalizacji lub zależności. Diagram klas związanych z
jakąś dziedziną modelowania. Opisuje
jakąś dziedziną modelowania. Opisuje
statyczne cechy
statyczne cechy
zasobów niezbędnych do funkcjonowania tej dziedziny.
zasobów niezbędnych do funkcjonowania tej dziedziny.
28
28
Diagram komponentów –
Diagram komponentów –
(
(
ang. Component
ang. Component
diagram
diagram
). Diagram pokazujący
). Diagram pokazujący
komponenty
komponenty
udostępniające interfejsy
udostępniające interfejsy
oraz zależności między nimi.
oraz zależności między nimi.
Na diagramie komponentów pokazywana najczęściej
Na diagramie komponentów pokazywana najczęściej
jest statyczna struktura architektury systemu.
jest statyczna struktura architektury systemu.
29
29
Diagram struktur złożonych (składowych)
Diagram struktur złożonych (składowych)
(
(
ang.
ang.
Composite structure diagram
Composite structure diagram
). Diagram
). Diagram
pokazujący
pokazujący
składniki jakiegoś klasyfikatora
składniki jakiegoś klasyfikatora
. Na diagramie
. Na diagramie
składniki są odpowiednio połączone powiązaniami
składniki są odpowiednio połączone powiązaniami
między sobą oraz z portami zapewniającymi
między sobą oraz z portami zapewniającymi
komunikację ze światem zewnętrznym.
komunikację ze światem zewnętrznym.
30
30
Diagram wdrożenia –
Diagram wdrożenia –
(
(
ang. Deployment diagram
ang. Deployment diagram
).
).
Diagram przedstawiający
Diagram przedstawiający
węzły fizycznego systemu
węzły fizycznego systemu
wraz z ich zawartością w postaci artefaktów
wraz z ich zawartością w postaci artefaktów
. Diagramy
. Diagramy
wdrożenia pokazują również
wdrożenia pokazują również
asocjacje oznaczające
asocjacje oznaczające
komunikację między węzłami
komunikację między węzłami
i tworzące strukturę
i tworzące strukturę
środowiska uruchomieniowego systemu.
środowiska uruchomieniowego systemu.
31
31
Diagram obiektów –
Diagram obiektów –
(
(
ang. Object diagram
ang. Object diagram
). Diagram
). Diagram
przedstawiający
przedstawiający
obiekty oraz relacje między nimi
obiekty oraz relacje między nimi
(łączniki) w określonym momencie. Diagramy takie
(łączniki) w określonym momencie. Diagramy takie
tworzy się najczęściej w celu wyjaśnienia celu i
tworzy się najczęściej w celu wyjaśnienia celu i
znaczenia diagramów klas.
znaczenia diagramów klas.
32
32
Diagram pakietów –
Diagram pakietów –
(
(
ang. Package diagram
ang. Package diagram
).
).
Diagram pokazujący
Diagram pokazujący
strukturę podziału modelu na
strukturę podziału modelu na
pakiety
pakiety
. Na diagramie można również pokazać
. Na diagramie można również pokazać
zależności między pakietami.
zależności między pakietami.
33
33
2. Diagramy zachowania
2. Diagramy zachowania
34
34
Diagram czynności -
Diagram czynności -
(
(
ang. Activity diagram
ang. Activity diagram
).
).
Diagram opisujący
Diagram opisujący
sieć węzłów czynności połączonych
sieć węzłów czynności połączonych
przepływami sterowania
przepływami sterowania
. Diagram czynności
. Diagram czynności
najczęściej jest związany z jakimś zachowaniem.
najczęściej jest związany z jakimś zachowaniem.
35
35
Diagram przypadków użycia –
Diagram przypadków użycia –
(
(
ang. Use case
ang. Use case
diagram
diagram
). Diagram przedstawiający
). Diagram przedstawiający
zachowanie się
zachowanie się
jakiegoś systemu w interakcjach z aktorami
jakiegoś systemu w interakcjach z aktorami
. Diagramy
. Diagramy
te pokazują uczestnictwo aktorów w przypadkach
te pokazują uczestnictwo aktorów w przypadkach
użycia.
użycia.
36
36
Diagram maszyny stanów –
Diagram maszyny stanów –
(
(
ang. State machine
ang. State machine
diagram
diagram
). Diagram pokazujący sekwencję stanów, jakie
). Diagram pokazujący sekwencję stanów, jakie
może przyjmować obiekt lub interakcja w trakcie swojego
może przyjmować obiekt lub interakcja w trakcie swojego
życia. Na diagramie pokazywane są
życia. Na diagramie pokazywane są
przejścia między
przejścia między
poszczególnymi stanami
poszczególnymi stanami
symbolizujące różne zdarzenia.
symbolizujące różne zdarzenia.
37
37
Diagramy interakcji
Diagramy interakcji
38
38
Diagram sekwencji –
Diagram sekwencji –
(
(
ang. Sequence diagram
ang. Sequence diagram
).
).
Diagram pokazujący
Diagram pokazujący
interakcje w formie ciągu
interakcje w formie ciągu
komunikatów między liniami życia uporządkowanych
komunikatów między liniami życia uporządkowanych
chronologicznie
chronologicznie
. Diagramy sekwencji mogą pokazywać
. Diagramy sekwencji mogą pokazywać
pojedynczy scenariusz przebiegu lub uwidaczniać
pojedynczy scenariusz przebiegu lub uwidaczniać
różne możliwości.
różne możliwości.
39
39
Diagram komunikacji –
Diagram komunikacji –
(
(
ang. Communication diagram
ang. Communication diagram
).
).
Diagram pokazujący
Diagram pokazujący
interakcje w formie sieci powiązań
interakcje w formie sieci powiązań
między obiektami, między którymi przesyłane są
między obiektami, między którymi przesyłane są
komunikaty.
komunikaty.
40
40
Diagram opisu interakcji
Diagram opisu interakcji
(
(
ang. Interaction overview
ang. Interaction overview
diagram
diagram
). Diagram pokazujący następstwo interakcji
). Diagram pokazujący następstwo interakcji
stanowiących ciąg określonych czynności. Diagramy te
stanowiących ciąg określonych czynności. Diagramy te
są pewnym
są pewnym
wariantem diagramów czynności, w
wariantem diagramów czynności, w
których węzłami są interakcje
których węzłami są interakcje
.
.
41
41
Diagram czasowy (następstwa)
Diagram czasowy (następstwa)
(
(
ang. Timing diagram
ang. Timing diagram
).
).
Diagram pokazujący zmiany stanów linii życia w miarę
Diagram pokazujący zmiany stanów linii życia w miarę
upływu czasu. Na diagramie uwidaczniamy najczęściej
upływu czasu. Na diagramie uwidaczniamy najczęściej
następujące po sobie zmiany stanów pod wpływem
następujące po sobie zmiany stanów pod wpływem
odpowiednich zdarzeń i uwarunkowane odpowiednimi
odpowiednich zdarzeń i uwarunkowane odpowiednimi
odcinkami czasu.
odcinkami czasu.
42
42
Literatura:
1. Booch G., Raumbaugh J., Jacobson I.,
1. Booch G., Raumbaugh J., Jacobson I.,
UML:
UML:
Przewodnik
użytkownika,
Przewodnik
użytkownika,
Wydawnictwa
Wydawnictwa
Naukowo- Techniczne
Naukowo- Techniczne
,
,
Warszawa 2001
Warszawa 2001
2. Cheesman J., Daniels J.,
2. Cheesman J., Daniels J.,
Komponenty w UML,
Komponenty w UML,
Wydawnictwa Naukowo- Techniczne
Wydawnictwa Naukowo- Techniczne
,
,
Warszawa
Warszawa
2004
2004