background image

 

M.Okoniewski 2002

Projektowanie systemów 

informatycznych

Cz. 4

UML

background image

 

M.Okoniewski 2002

UML

• Unified (universal) Modelling Language
• Porozumienie twórców 

najpopularniejszych metodyk

• Ivar Jacobson, Grady Booch, James 

Rumbaugh

• Rational.com
• Rational Rose - uniwersalne narzedzie 

CASE

background image

 

M.Okoniewski 2002

Obiektowość - podstawy

• Definiowanie klas - będących 

enkapsulacją (opakowaniem) danych i 
metod na nich operujących

• Klasa : samochód 
• Dane: nr rejestracyjny, ilość paliwa, 

ciśnienie w oponach

• Metody: pokaż dane rejestracyjne, 

zatankuj do pełna, napompuj koła

background image

 

M.Okoniewski 2002

Obiektowość - podstawy

• Powoływanie instancji klas (obiektów)

• Obiekt : Skoda ZNA 6362 - instancja klasy 

Samochód

• Dziedziczenie

• Klasa Ciężarówka dziedziczy z klasy Samochód

• Polimorfizm - możliwość dziedziczenia z wielu 

klas

• Klasa SprzedażAuta dziedziczy z klas Samochód

i UmowaSprzedaży

background image

 

M.Okoniewski 2002

Typy diagramów

Diagram klas - podstawowy diagram
opisujący statyczną strukturę systemu

Diagram obiektów - przedstawia 
statyczną strukturę systemu w określonym
momencie

Diagram pakietów - szczególny przypadek 
opisu klas - za pomocą pakietów minimalizując
zależności między nimi - max. enkapsulacji

background image

 

M.Okoniewski 2002

Typy diagramów

Diagram użycia - modeluje funkcjonalność
systemu pokazując aktorów i przypadki użycia

Diagram współpracy - pokazuje zależności
między obiektami i sekwencje komunikatów
między nimi. Modeluje statyczne i dynamiczne
 zachowanie systemu.

Diagram sekwencji - zależności 
pomiędzy klasami i wymiana
komunikatów w czasie

background image

 

M.Okoniewski 2002

Typy diagramów

Diagram komponentów - organizacja fizycznych 
komponentów oprogramowania (kod, dll, exe, ...)

Diagram rozmieszczenia (deployment) -
rozmieszczenie komponentów w systemie

Diagram stanów - dynamiczne reakcje obiektów
na zdarzenia zewnętrzne

Diagram aktywności - dynamiczne 
zachowanie klasy. Opis procesów
 biznesowych.

background image

 

M.Okoniewski 2002

Diagram klas

Klasa - składa się z nazwy, atrybutów i metod 

Aktywna klasa - grubsze obramowanie 
dla klas, które inicjują i kontolują działania - 
a nie tylko służą do przechowywania danych

Widoczność - atrybutów i metod. Publiczne, 
prywatne lub chronione. Chronione są widoczne 
tylko w klasach dziedziczących

background image

 

M.Okoniewski 2002

Diagram klas

Związki - jak w ER, mogą być skierowane, 
i uzupełnione o opisy ról

Krotności - jak w ER, zapisywane 
liczbami + gwiazdka

Ograniczenia (constraints) między klasami 
lub związkami 

background image

 

M.Okoniewski 2002

Diagram klas

Kompozycja -  związek typu „całość - część”.
Wypełniony romb gdy zależność jest silna.
Zwykła agregacja gdy klasy mogą istnieć
oddzielnie.

W agregacji klasa „całość” widzi tylko dane i metody publiczne, 
zaś w dziedziczeniu podklasa widzi także chronione. 

Generalizacja -  reprezentacja 
dziedziczenia lub związku typu 
„is a”

background image

 

M.Okoniewski 2002

background image

 

M.Okoniewski 2002

Diagram pakietów

Pakiety - podobnie jak w klasach 
możemy dopisywać do nich atrybuty

Zależności między pakietami - gdy zmiany
w jednym pakiecie pociągają konieczność 
zmian w drugim. Np. <<import>> daje pakietom 
dostęp do innych

Widzialność - jak w klasach

background image

 

M.Okoniewski 2002

background image

 

M.Okoniewski 2002

Diagram obiektów

Obiekt -  zawsze jest instancją klasy

Atrybuty -  w obiektach powinny
mieć przypisaną wartość

Aktywny obiekt - kontroluje
przebieg procesu - pogrubiony

background image

 

M.Okoniewski 2002

Diagram obiektów

Zwielokrotnienie  obiektu - kiedy 
nie są ważne indywidualne wartości
atrybutów

Połączenia -  instancje związków

Połączenie do samego siebie 
jest możliwe dla obiektów

background image

 

M.Okoniewski 2002

Diagram użycia

Przypadek użycia - pojedyncza procedura
biznesowa czy funkcja systemu

System -  można oznaczyć prostokątem.
Aktorzy są poza systemem

Aktor - użytkownicy. Jeśli aktorem jest 
system, należy go oznaczyć <<actor>>

background image

 

M.Okoniewski 2002

Diagram użycia

Związki -  dla związków między 
przypadkami użycia dopisujemy
stereotypy <<uses>>, <<extends>>

background image

 

M.Okoniewski 2002

background image

 

M.Okoniewski 2002

Diagram sekwencji

Rola klasy - obiekt w danym kontekście

Aktywności - reprezentują czas potrzebny 
do wykonania zadania

Komunikaty - przesyłane między obiektami

background image

 

M.Okoniewski 2002

Diagram sekwencji - typy 

komunikatów

background image

 

M.Okoniewski 2002

Diagram sekwencji

Linie życia obiektów  - na nich znajdują 
się aktywności

Wywołania destruktora
dla obiektów

Pętle - wraz z warunkami wyjścia
z nich

background image

 

M.Okoniewski 2002

background image

 

M.Okoniewski 2002

Diagram współpracy

Role klas - bez zapisu atrybutów, chodzi
tylko o opis zachowania klas

Role asocjacji - zachowanie
asocjacji, możliwe są stereotypy

Komunikaty -  numerujemy je, w [] są
warunki, zaś * oznacza pętlę

background image

 

M.Okoniewski 2002

background image

 

M.Okoniewski 2002

Diagram stanów

Stan - sytuacja w życiu obiektu

Przekształcenie - opisywane przez
zdarzenie wyzwalające je i wyzwalaną 
akcję

Stan początkowy...

...i końcowy.

Synchronizacja
i rozejście kontroli

background image

 

M.Okoniewski 2002

background image

 

M.Okoniewski 2002

background image

 

M.Okoniewski 2002

Diagram aktywności

Aktywność - nieprzerywalna czynność 
obiektu

Przepływy (action flow) - zależności 
między aktywnościami.

Przepływy obiektowe -  wpływ 
aktywności na obiekty - strzałki 
mogą być w obie strony

Stan początkowy...

...i końcowy.

background image

 

M.Okoniewski 2002

Diagram aktywności

Rozgałęzienia - decyzja z podanymi 
warunkami reprezentowana jest przez romb

Synchronizacja - przekaształcenia
równoległe - „fork & join”

„Tory pływackie” (swimlanes) - grupują
aktywności w kolumny

background image

 

M.Okoniewski 2002

background image

 

M.Okoniewski 2002

Diagram komponentów

Komponent - fizyczny blok budowy 
systemu

Interfejs -  pojedyncza 
udostępniana operacja komponentu

Zależności  między komponentami

background image

 

M.Okoniewski 2002

Diagram rozmieszczenia

Węzeł -  zasób fizyczny zawierający
komponenty

Połączenie -  fizyczne pomiędzy
węzłami - np. sieć

Komponenty -  można umieszczać
w węzłach

background image

 

M.Okoniewski 2002


Document Outline