background image

 

 

Modelowanie UML

Karol Grudziński

Uniwersytet Kazimierza Wielkiego i 

Wyższa Szkoła Gospodarki

E-Mail: karol_grudzinski@o2.pl

<Zawiera obszerne cytaty z książek. Do użytku wewnętrznego.>

Krótko o UML.

Narzędzia do Modelowania UML.

Co nowego w UML 2.0?

Przegląd i diagramy UML.

1

background image

 

 

Krótko o UML

UML (Unified Modelling Language) to 

graficzny język do obrazownia, specyfikowania 
i dokumentowania elementów systemów 

informatycznych. Umożliwia standaryzację 
sposobu opracowania przekrojów systemu, 
obejmujących obiekty pojęciowe, takie jak 

procesy przedsiębiorstwa i funkcje systemowe, 
a także obiekty konkretne, takie jak klasy 
zaprogramowane w konkretnym języku, 

schematy baz danych i komponenty 
programowe nadające się do ponownego 
użycia.  2

background image

 

 

Narzędzia do Modelowania UML

`Together [Community Edtion]' Borlanda 

(Java)  

'Umbrello'. (Linux, KDE-Cygwin: Windows)

Poseidon [Community Edition]: (Java)

gModeler (online przez WWW) 

Pluginy do Środowisk wielo-językowych IDE 

Eclipse i NetBeans (cross-platform) (głównie 
Java)

Więcej na 

http://plg.uwaterloo.ca/~migod/uml.html

background image

 

 

Together Designer Community Edition

4

background image

 

 

KDE-Cygwin i Umbrello UML Modeller

5

background image

 

 

Co nowego w UML 2.0?

Activity Diagram (zupełnie nowy diagram, jest 

kombinacją data and object flow diagram)

Deployment Diagram (zupełnie nowy diagram)

Statechart Diagram (pozwala modelować zachowanie 

systemu) 

Component Diagram (pozwala modelować system 

softwareowy o dowolnym stopniu kompilkacji i jego 
komponnty)

Class diagram (modelowanie klas, ich usług (interfejsów) 

i ich instancji)

Composite structure diagram (pokazuje wewnętrzną 

strukturę klasyfikatora i oddziaływanie z innymi elemenami 
systemu).

6

background image

 

 

Przegląd UML

UML: język i notacja do specyfikowania, 

wizualizowania i dokumentowania modeli systemów 

obiektowych.

 UML nie jest narzędziem rozwojowym, więc nie 

dostarcza informacji co zrobić najpierw a co potem ale 

pomaga zwizualizować projekt i komunikować się z 

innymi użytkownikami/projektantami.

 UML jest kontrolowany przez OMG (Object 

Management Group) i jest standardem przemysłowym 

dla graficznej reprezentacji oprogramowania.

UML jest dostosowany do systemów 

obiektowych/komponentowych i ma ograniczone 

zastosowania w innym (starszym) typie 

oprogramowania.

7

background image

 

 

Diagramy UML

UML składa się z wielu elementów składających się na model 

systemu softwareowego (składa się z diagramów do 
reprezentowania różnych części systemu lub sposobu patrzenia 
na system).

Niektóre Diagramy (wspierane przez umbrello 1.2):

Use Case Diagrams 

Classes Diagrams 

Sequence Diagrams 

Collaboration Diagrams

State Diagrams

Activity Diagrams

Component Diagrams

Deployment Diagrams

8

background image

 

 

Use Case Diagrams (Przypadki 

Użycia)

9

background image

 

 

Diagramy Przypadków Użycia

Diagramy Przypadków użycia ilustrują zależności i relacje 

pomiędzy grupą przypadków użycia (use cases) a użytkownikami 
systemu (aktorami – actors).

Te diagramy nie reprezentują projektu ani szczegółów systemu. 

Te diagramy mają na celu zilustrować komunikację między 

przyszłymi użytkownikami systemu i klientami i są bardzo 
przydatne do określenia jakie cechy system powinien mieć.

Przypadki użycia mówią co system powinien zapewniać i robić 

ale nie pokazują (i nie mogą) jak dane cechy zrealizować.

Diagramy Przypadków Użycia składają się z:

1) Przypadków Użycia

2) Aktorów

3) Opisów przypadków użycia.

10 

background image

 

 

Przypadek Użycia

Przypadek użycia, z punktu widzenia aktorów, reprezentuje 

grupę czynności prowadzących do wymiernego  rezultatu 
(efektu).

Przypadki użycia reprezentują typowe interakcje użytkowników 

systemu z samym systemem.

Stanowią zewnętrzny interfejs systemu i określają co system 

powinien zapewniać (robić) ale nie jak to robić.

Reguły

1) Każdy przypadek użycia jest powiązany z co najmniej 
jednym aktorem.

2) Każdy przypadek użycia ma swojego inicjatora, który jest 
aktorem. 

3) Każdy przypadek użycia prowadzi do pewnego rezultatu (o 
określonej wartości biznesowej). 

11

background image

 

 

Aktor i Opis Przypadku Użycia

Aktor to zewnętrzna jednostka (z poza systemu), która 

oddziałuje z systemem, uczestnicząc w przypadku użycia i 

często go początkując. 

Aktorami mogą być ludzie (użytkownicy), zewnętrzne 

systemy komputerowe lub zewnętrzne zdarzenia.

Aktorzy nie reprezentują fizycznych, konkretnych 

użytkowników czy systemów lecz ich rolę. Dlatego, jeśli jedna 

fizyczna osoba będzie spełniała w systemie różne role, to 

będzie reprezentowana przez wielu różnych aktorów.

Opis przypadku użycia to tekstowa notatka dokumentująca 

czynności mające miejsce w Przypadku Użycia. 12

background image

 

 

Diagramy Klas

Diagramy klas ilustrują klasy składające się na system i 

powiązania miedzy nimi.

Diagramy klasowe zwane są diagramami 'statycznymi' jako, że 

pokazują klasy, metody i atrybuty jak i statyczne powiązania 
między klasami (tj. które klasy wiedzą o których lub są ich 
częściami) lecz nie są zilustrowane wywołania metod pomiędzy 
klasami.

Na diagramy klas składają się

Klasy

Atrybuty

Operacje (Metody)

Wzorce (Szablony)

Powiązania między klasami

13

background image

 

 

Przykładowy Diagram Klasowy

14

background image

 

 

Klasy

Klasy definiują atrybuty (zmienne) i metody 

grupy obiektów. Obiekty są instancjami klas, tj. 
mają te same metody i własny zestaw 

atrybutów czyli mają wspólne zachowanie 
narzucone przez klasę. 

Termin Typ jest często stosowany zamiennie z 

klasą ale typ jest zasadniczo terminem bardziej 

ogólnym.

Klasy są reprezentowane przez prostokąty 

zawierające nazwę klasy oraz atrybuty i metody 
(funkcje, operacje na atrybutach), które 
stanowią dwa pod-prostokąty zawarte w klasie.  

15  

background image

 

 

Przykładowa Klasa

16

background image

 

 

Atrybuty i Metody

Atrybuty (zmienne klasowe) są w UML reprezentowane 

przynajmniej przez nazwę, ale często też przez typ, wartość 

początkową i widoczność (zasięg).

Metody to funkcje (operacje) klasowe operujące na danych 

klasy. Są w UML reprezentowane przez nazwę jak i zasięg, 

argumenty i zwracaną wartość. 

Zasięg:

+ - atrybuty/metody publiczne (public).

# - atrybuty/metody chronione (protected).

- - atrybuty/metody prywatne (private).

17

background image

 

 

Wzorce (Szablony)

Klasy mogą być parametryzowane typem (np. 

macierz lub wektor liczb całkowitych, 
rzeczywistych). Wzorce/Szablony (Templates

są w C++ już od dłuższego czasu i pojawiły się 
też w Javie (po raz pierwszy w Java 1.5), gdzie 
nazywane są Generics.

Ustalanie typu zparemetryzowanej klasy 

nazywamy jej konkretyzowaniem. Ma to 
miejsce podczas tworzenia instancji klasy czyli 

obiektu. 18

background image

 

 

Powiązania między klasami

Generalizacja. Dziedzicznie jest jednym z 

fundamentalnych pojęć programowania obiektowego. 

Klasa może zdobyć (odziedziczyć) po klasie bazowej 

wszystkie metody i atrybuty, i przesłonić/przeciążyć je 

oraz można dodać nową funkcjonalność w postaci 

nowych atrybutów i metod. W UML do reprezentacji 

dziedziczenia stosuje się powiązanie zwane właśnie 

generalizacją.

19

background image

 

 

Powiązania między klasami

Asocjacja reprezentuje takie powiązanie między 

klasami, które nakłada wspólną strukturę i semantykę 

na połączenia między obiektami powiązanych klas. 

Asocjacja umożliwia komunikację miedzy obiektami 

różnych klas. Konkretne połączenie między obiektami 

nazywa się dowiązaniem (link). Asocjacja może być 

jedno lub dwu kierunkowa (czyli określa się czy obiekty 

wiedzą o sobie nawzajem czy nie). Na końcu 

połączenia podaje się (ilustruje) wartość ile obiektów  z 

każdej ze stron jest związanych z jednym obiektem z 

drugiej ze stron.

20

background image

 

 

Modelowanie UML

Karol Grudziński

Uniwersytet Kazimierza Wielkiego i 

Wyższa Szkoła Gospodarki

E-Mail: karol_grudzinski@o2.pl

Krótko o UML.

Narzędzia do Modelowania UML.

Co nowego w UML 2.0?

Przegląd i diagramy UML.

21

background image

 

 

Krótko o UML

UML (Unified Modelling Language) to 

graficzny język do obrazownia, specyfikowania 
i dokumentowania elementów systemów 

informatycznych. Umożliwia standaryzację 
sposobu opracowania przekrojów systemu, 
obejmujących obiekty pojęciowe, takie jak 

procesy przedsiębiorstwa i funkcje systemowe, 
a także obiekty konkretne, takie jak klasy 
zaprogramowane w konkretnym języku, 

schematy baz danych i komponenty 
programowe nadające się do ponownego 
użycia.  22

background image

 

 

Narzędzia do Modelowania UML

`Together [Community Edtion]' Borlanda 

(Java)  

'Umbrello'. (Linux, KDE-Cygwin: Windows)

Poseidon [Community Edition]: (Java)

gModeler (online przez WWW) 

Pluginy do Środowisk wielo-językowych IDE 

Eclipse i NetBeans (cross-platform) (głównie 
Java)

Więcej na 

http://plg.uwaterloo.ca/~migod/uml.html

23 

background image

 

 

Together Designer Community Edition

24

background image

 

 

KDE-Cygwin i Umbrello UML Modeller

25

background image

 

 

Co nowego w UML 2.0?

Activity Diagram (zupełnie nowy diagram, jest 

kombinacją data and object flow diagram)

Deployment Diagram (zupełnie nowy diagram)

Statechart Diagram (pozwala modelować zachowanie 

systemu) 

Component Diagram (pozwala modelować system 

softwareowy o dowolnym stopniu kompilkacji i jego 
komponnty)

Class diagram (modelowanie klas, ich usług (interfejsów) 

i ich instancji)

Composite structure diagram (pokazuje wewnętrzną 

strukturę klasyfikatora i oddziaływanie z innymi elemenami 
systemu).

26

background image

 

 

Przegląd UML

UML: język i notacja do specyfikowania, 

wizualizowania i dokumentowania modeli systemów 

obiektowych.

 UML nie jest narzędziem rozwojowym, więc nie 

dostarcza informacji co zrobić najpierw a co potem ale 

pomaga zwizualizować projekt i komunikować się z 

innymi użytkownikami/projektantami.

 UML jest kontrolowany przez OMG (Object 

Management Group) i jest standardem przemysłowym 

dla graficznej reprezentacji oprogramowania.

UML jest dostosowany do systemów 

obiektowych/komponentowych i ma ograniczone 

zastosowania w innym (starszym) typie 

oprogramowania.

27

background image

 

 

Diagramy UML

UML składa się z wielu elementów składających się na model 

systemu softwareowego (składa się z diagramów do 
reprezentowania różnych części systemu lub sposobu patrzenia 
na system).

Niektóre Diagramy (wspierane przez umbrello 1.2):

Use Case Diagrams 

Classes Diagrams 

Sequence Diagrams 

Collaboration Diagrams

State Diagrams

Activity Diagrams

Component Diagrams

Deployment Diagrams

28

background image

 

 

Use Case Diagrams (Przypadki 

Użycia)

29

background image

 

 

Diagramy Przypadków Użycia

Diagramy Przypadków użycia ilustrują zależności i relacje 

pomiędzy grupą przypadków użycia (use cases) a użytkownikami 
systemu (aktorami – actors).

Te diagramy nie reprezentują projektu ani szczegółów systemu. 

Te diagramy mają na celu zilustrować komunikację między 

przyszłymi użytkownikami systemu i klientami i są bardzo 
przydatne do określenia jakie cechy system powinien mieć.

Przypadki użycia mówią co system powinien zapewniać i robić 

ale nie pokazują (i nie mogą) jak dane cechy zrealizować.

Diagramy Przypadków Użycia składają się z:

1) Przypadków Użycia

2) Aktorów

3) Opisów przypadków użycia.

30 

background image

 

 

Przypadek Użycia

Przypadek użycia, z punktu widzenia aktorów, reprezentuje 

grupę czynności prowadzących do wymiernego  rezultatu 
(efektu).

Przypadki użycia reprezentują typowe interakcje użytkowników 

systemu z samym systemem.

Stanowią zewnętrzny interfejs systemu i określają co system 

powinien zapewniać (robić) ale nie jak to robić.

Reguły

1) Każdy przypadek użycia jest powiązany z co najmniej 
jednym aktorem.

2) Każdy przypadek użycia ma swojego inicjatora, który jest 
aktorem. 

3) Każdy przypadek użycia prowadzi do pewnego rezultatu (o 
określonej wartości biznesowej). 

31

background image

 

 

Aktor i Opis Przypadku Użycia

Aktor to zewnętrzna jednostka (z poza systemu), która 

oddziałuje z systemem, uczestnicząc w przypadku użycia i 

często go początkując. 

Aktorami mogą być ludzie (użytkownicy), zewnętrzne 

systemy komputerowe lub zewnętrzne zdarzenia.

Aktorzy nie reprezentują fizycznych, konkretnych 

użytkowników czy systemów lecz ich rolę. Dlatego, jeśli jedna 

fizyczna osoba będzie spełniała w systemie różne role, to 

będzie reprezentowana przez wielu różnych aktorów.

Opis przypadku użycia to tekstowa notatka dokumentująca 

czynności mające miejsce w Przypadku Użycia. 32

background image

 

 

Diagramy Klas

Diagramy klas ilustrują klasy składające się na system i 

powiązania miedzy nimi.

Diagramy klasowe zwane są diagramami 'statycznymi' jako, że 

pokazują klasy, metody i atrybuty jak i statyczne powiązania 
między klasami (tj. które klasy wiedzą o których lub są ich 
częściami) lecz nie są zilustrowane wywołania metod pomiędzy 
klasami.

Na diagramy klas składają się

Klasy

Atrybuty

Operacje (Metody)

Wzorce (Szablony)

Powiązania między klasami

33

background image

 

 

Przykładowy Diagram Klasowy

34

background image

 

 

Klasy

Klasy definiują atrybuty (zmienne) i metody 

grupy obiektów. Obiekty są instancjami klas, tj. 
mają te same metody i własny zestaw 

atrybutów czyli mają wspólne zachowanie 
narzucone przez klasę. 

Termin Typ jest często stosowany zamiennie z 

klasą ale typ jest zasadniczo terminem bardziej 

ogólnym.

Klasy są reprezentowane przez prostokąty 

zawierające nazwę klasy oraz atrybuty i metody 
(funkcje, operacje na atrybutach), które 
stanowią dwa pod-prostokąty zawarte w klasie.  

35  

background image

 

 

Przykładowa Klasa

36

background image

 

 

Atrybuty i Metody

Atrybuty (zmienne klasowe) są w UML reprezentowane 

przynajmniej przez nazwę, ale często też przez typ, wartość 

początkową i widoczność (zasięg).

Metody to funkcje (operacje) klasowe operujące na danych 

klasy. Są w UML reprezentowane przez nazwę jak i zasięg, 

argumenty i zwracaną wartość. 

Zasięg:

+ - atrybuty/metody publiczne (public).

# - atrybuty/metody chronione (protected).

- - atrybuty/metody prywatne (private).

37

background image

 

 

Wzorce (Szablony)

Klasy mogą być parametryzowane typem (np. 

macierz lub wektor liczb całkowitych, 
rzeczywistych). Wzorce/Szablony (Templates

są w C++ już od dłuższego czasu i pojawiły się 
też w Javie (po raz pierwszy w Java 1.5), gdzie 
nazywane są Generics.

Ustalanie typu zparemetryzowanej klasy 

nazywamy jej konkretyzowaniem. Ma to 
miejsce podczas tworzenia instancji klasy czyli 

obiektu. 38

background image

 

 

Powiązania między klasami

Generalizacja. Dziedzicznie jest jednym z 

fundamentalnych pojęć programowania obiektowego. 

Klasa może zdobyć (odziedziczyć) po klasie bazowej 

wszystkie metody i atrybuty, i przesłonić/przeciążyć je 

oraz można dodać nową funkcjonalność w postaci 

nowych atrybutów i metod. W UML do reprezentacji 

dziedziczenia stosuje się powiązanie zwane właśnie 

generalizacją.

39

background image

 

 

Powiązania między klasami

Asocjacja reprezentuje takie powiązanie między 

klasami, które nakłada wspólną strukturę i semantykę 

na połączenia między obiektami powiązanych klas. 

Asocjacja umożliwia komunikację miedzy obiektami 

różnych klas. Konkretne połączenie między obiektami 

nazywa się dowiązaniem (link). Asocjacja może być 

jedno lub dwu kierunkowa (czyli określa się czy obiekty 

wiedzą o sobie nawzajem czy nie). Na końcu 

połączenia podaje się (ilustruje) wartość ile obiektów  z 

każdej ze stron jest związanych z jednym obiektem z 

drugiej ze stron.

40