Modelowanie z wykorzystaniem UML

background image

Modelowanie

Modelowanie

z wykorzystaniem UML

z wykorzystaniem UML

background image

© 2001-2005 Bartosz Walt
er

2

Plan dnia

Plan dnia

Plan dnia

Plan dnia

A1. Wprowadzenie do UML

A1. Wprowadzenie do UML

A2. Modelowanie struktury statycznej

A2. Modelowanie struktury statycznej

A3. Implementacja w Rational Rose

A3. Implementacja w Rational Rose

B1. Modelowanie zachowań i podziału

B1. Modelowanie zachowań i podziału

B2. Zaawansowane elementy UML

B2. Zaawansowane elementy UML

B3. Implementacja w Rational Rose

B3. Implementacja w Rational Rose

background image

© 2001-2005 Bartosz Walt
er

3

Wprowadzenie do UML

Wprowadzenie do UML

Wprowadzenie do UML

Wprowadzenie do UML

Obiektowe spojrzenie na świat

Obiektowe spojrzenie na świat

czyli o modelowaniu, obiektach i języku

czyli o modelowaniu, obiektach i języku

background image

© 2001-2005 Bartosz Walt
er

4

Czym jest model?

Czym jest model?

Czym jest model?

Czym jest model?

Świat

rzeczywisty

Świat

rzeczywisty

System

komputero

wy

System

komputero

wy

Model to „

układ (...) możliwie mało

skomplikowany, działający analogicznie
do oryginału

” -

Słownik Języka Polskiego,

PWN 1998

Model

Model

background image

© 2001-2005 Bartosz Walt
er

5

Analiza i modelowanie

Analiza i modelowanie

systemów

systemów

Analiza i modelowanie

Analiza i modelowanie

systemów

systemów

Elementy świata i modelu

Elementy świata i modelu

– użytkownicy, systemy zewnętrzne;
– dane, ich struktura, sposób przetwarzania, zależności

statyczne i dynamiczne;

– procesy, ich struktura i rozmieszczenie;
– ....

Metodyka modelowania

Metodyka modelowania

jest opisem

czynności, sposobu i kolejności

ich

realizacji; czynności te mają prowadzić ku

MODELOWI

,

zapewniając jednocześnie metody utrzymania wysokiej
jakości (

spełnienia wymagań użytkownika

)

background image

© 2001-2005 Bartosz Walt
er

6

Istota modelowania

Istota modelowania

Istota modelowania

Istota modelowania

Czym jest analiza?

Czym jest analiza?

„analiza to

studium problemu

przed podjęciem działania”

Tom DeMarco, 1978

Sposoby zarządzania złożonością:

Sposoby zarządzania złożonością:

– abstrakcja:

omijanie rzeczy nieistotnych

– hermetyzacja:

ukrywanie rzeczy złożonych

– dziedziczenie:

uogólnianie wspólnych cech

– kojarzenie:

porównywanie analogii

– komunikacja:

jak porozumiewają się elementy modelu

– skalowanie:

dopasowanie optyki do rozmiaru problemu

– klasyfikacja:

grupowanie zachowań elementów modelu.

background image

© 2001-2005 Bartosz Walt
er

7

Cele modelowania

Cele modelowania

Cele modelowania

Cele modelowania

1.

1.

divide et impera

divide et impera

, czyli

, czyli

dekompozycja

dekompozycja

2.

2.

łatwiejsze

łatwiejsze

wyobrażenie systemu

wyobrażenie systemu

3.

3.

specyfikacja

specyfikacja

struktury i zachowania

struktury i zachowania

4.

4.

dokumentacja decyzji

dokumentacja decyzji

podjętych w

podjętych w

trakcie realizacji

trakcie realizacji

background image

© 2001-2005 Bartosz Walt
er

8

Cztery zasady modelowania

Cztery zasady modelowania

Cztery zasady modelowania

Cztery zasady modelowania

1.

1.

wybrany model

wybrany model

determinuje

determinuje

rozwiązanie

rozwiązanie

2.

2.

modelować można na

modelować można na

różnych

różnych

poziomach szczegółowości

poziomach szczegółowości

3.

3.

najlepsze modele

najlepsze modele

odpowiadają

odpowiadają

rzeczywistości

rzeczywistości

4.

4.

żaden model

żaden model

nie jest wystarczający

nie jest wystarczający

background image

© 2001-2005 Bartosz Walt
er

9

W świecie obiektowym

W świecie obiektowym

W świecie obiektowym

W świecie obiektowym

Elementy świata

Elementy świata

– świat składa się z

obiektów

– procesy i dane są

zintegrowane

Komunikacja między nimi

Komunikacja między nimi

– obiekty komunikują się za pomocą

przekazywania zdarzeń

Ten model jest łatwy do zrozumienia!

Ten model jest łatwy do zrozumienia!

background image

© 2001-2005 Bartosz Walt
er

10

Klasy i obiekty

Klasy i obiekty

Klasy i obiekty

Klasy i obiekty

Cel:

Cel:

reprezentacja za pomocą pewnego

elementu

świata
zmiana cyklu rozwoju na bardziej elastyczny
dostosowanie metod analizy do języków OOP

Obiekt:

Obiekt:

reprezentacja

konkretnego elementu

świata,

posiadająca pewne

cechy

i oferująca pewne

usługi

Klasa:

Klasa:

zbiór

obiektów podobnych lub o wspólnych

cechach

background image

© 2001-2005 Bartosz Walt
er

11

Czym jest UML?

Czym jest UML?

Czym jest UML?

Czym jest UML?

UML jest językiem

wizualizacji,

specyfikacji, konstrukcji i
dokumentacji

artefaktów

związanych z tworzeniem
oprogramowania

UML oznacza

Zunifikowany Język

Modelowania

(Unified Modelling

Language)

UML abstrahuje od

obiektu

modelowania

i

metodologii

modelowania

Model UML jest wypadkową wielu

widoków

różnych aspektów

systemu.

background image

© 2001-2005 Bartosz Walt
er

12

Unifikować, czyli łączyć

Unifikować, czyli łączyć

Unifikować, czyli łączyć

Unifikować, czyli łączyć

UML łączy najlepsze cechy:

UML łączy najlepsze cechy:

– modelowania

danych (EER)

czyli - jak przedstawić informację?

– modelowania

czynności (DFD)

czyli - co się dzieje w systemie?

– modelowania

obiektowego (OOA)

czyli - jak zrozumiale przedstawiać świat?

– zarządzania złożonością (komponenty)

czyli - divide et impera!

background image

© 2001-2005 Bartosz Walt
er

13

UML w skrócie

UML w skrócie

UML w skrócie

UML w skrócie

• 9 typów diagramów - perspektyw

– modelowanie wymagań
– modelowanie struktury statycznej koncepcji
– modelowanie zależności dynamicznych i

zachowań

– modelowanie struktury fizycznej

• mechanizm rozszerzeń

– stereotypy (ang. stereotypes)
– metki (ang. tags)
– ograniczenia (ang. constraints)

background image

© 2001-2005 Bartosz Walt
er

14

UML: typy diagramów

UML: typy diagramów

UML: typy diagramów

UML: typy diagramów

– przypadków użycia

(use-case diagram)

– klas i obiektów

(class diagram)

– stanu obiektów

(statechart diagram)

– współpracy

(collaboration diagram)

– sekwencji

(sequence diagram)

– czynności

(activity diagram)

– komponentów

(component diagram)

– rozmieszczenia

(deployment diagram)

background image

© 2001-2005 Bartosz Walt
er

15

Historia UML

Historia UML

Historia UML

Historia UML

Dawno temu...

Dawno temu...

– różnorodne, niespójne metodyki obiektowe

(OMT, OOSE, Fusion, OOA/OOD)

Początki UML i

Początki UML i

Trzej Amigos

Trzej Amigos

– 1994 - prace nad Metodą Zunifikowaną
– 1995 - wersja 0.9 UML

J. Rumbaugh

J. Rumbaugh

G. Booch

G. Booch

I. Jacobson

I. Jacobson

background image

© 2001-2005 Bartosz Walt
er

16

Historia UML (cd.)

Historia UML (cd.)

Historia UML (cd.)

Historia UML (cd.)

Rozwój UML

Rozwój UML

– I.1997 - wersja 1.0 UML
– XI.1997 - standaryzacja przez OMG

Obecnie

Obecnie

– wersja 1.4 UML
– prace nad 2.0 UML

http://www.omg.org/uml/

http://www.omg.org/uml/

http://www.rational.com/u

http://www.rational.com/u

ml/

ml/

background image

© 2001-2005 Bartosz Walt
er

17

Wsparcie ze strony

Wsparcie ze strony

przemysłu SW

przemysłu SW

Wsparcie ze strony

Wsparcie ze strony

przemysłu SW

przemysłu SW

UML Partners Consortium

UML Partners Consortium

udział największych firm
produkujących oprogramowanie:

– DEC, HP, Microsoft, IBM, Oracle, Texas

Instruments

oraz producenci CASE

– Rational Software

background image

© 2001-2005 Bartosz Walt
er

18

Cykl tworzenia

Cykl tworzenia

oprogramowania

oprogramowania

Cykl tworzenia

Cykl tworzenia

oprogramowania

oprogramowania

UML jest

niezależny od procesu

ale twórcy sugerują proces;

– ukierunkowany na

przypadki użycia

zorientowany na

architekturę

– iteracyjny i przyrostowy

background image

© 2001-2005 Bartosz Walt
er

19

Przykład

Przykład

Przykład

Przykład

Biblioteka

Biblioteka

prowadzi wypożyczalnię wydawnictw:

prowadzi wypożyczalnię wydawnictw:

książek i czasopism

książek i czasopism

. Korzystają z niej

. Korzystają z niej

czytelnicy.

czytelnicy.

Wszystkie wydawnictwa mogą występować

Wszystkie wydawnictwa mogą występować

w

w

wielu egzemplarzach

wielu egzemplarzach

.

.

Czytelnicy mogą

Czytelnicy mogą

rezerwować i odwoływać

rezerwować i odwoływać

rezerwacje

rezerwacje

na wydawnictwa.

na wydawnictwa.

Książka może być

Książka może być

dostępna, wypożyczona,

dostępna, wypożyczona,

zaginiona, lub zniszczona.

zaginiona, lub zniszczona.

background image

© 2001-2005 Bartosz Walt
er

20

Statyczne zachowanie

Statyczne zachowanie

systemu

systemu

Statyczne zachowanie

Statyczne zachowanie

systemu

systemu

Jak modelować funkcjonalność

Jak modelować funkcjonalność

czyli o przypadkach użycia

czyli o przypadkach użycia

background image

© 2001-2005 Bartosz Walt
er

21

Aktor, czyli działacz

Aktor, czyli działacz

Aktor, czyli działacz

Aktor, czyli działacz

Aktor

Aktor

Aktor

to

to

ktoś (coś),

ktoś (coś),

kto (co) musi

kto (co) musi

współdziałać z modelowanym

współdziałać z modelowanym

systemem.

systemem.

background image

© 2001-2005 Bartosz Walt
er

22

Aktor w UMLu

Aktor w UMLu

Aktor w UMLu

Aktor w UMLu

Aktor

Aktor

w UMLu jest klasą

w UMLu jest klasą

(nie

(nie

obiektem!)

obiektem!)

o nadanym stereotypie

o nadanym stereotypie

Actor.

Actor.

Można go oznaczać poprzez

Można go oznaczać poprzez

ikonę

ikonę

klasę ze stereotypem

klasę ze stereotypem

Czytelnik

Czytelnik

<< Actor >>

background image

© 2001-2005 Bartosz Walt
er

23

Przypadek użycia

Przypadek użycia

Przypadek użycia

Przypadek użycia

Przypadek użycia (

Przypadek użycia (

use-case

use-case

)

)

– jest sposobem

, w jaki aktorzy używają (chcą

używać) systemu

– jest podstawową jednostką funkcjonalności

.

– definiuje

wymagania

Czego potrzebują
użytkownicy?

Bibliotekarz...

Czytelnik...

background image

© 2001-2005 Bartosz Walt
er

24

Diagram

Diagram

use-case

use-case

Diagram

Diagram

use-case

use-case

Definiuje

Definiuje

– granice

systemu,

czyli jak daleko sięga model

– jego

kontekst

,

czyli co pozostaje na zewnątrz

– użytkowników

systemu,

czyli aktorów

– funkcje

systemu,

– zależności

między użytkownikami i

funkcjami

... i jest czytelny dla odbiorcy!

... i jest czytelny dla odbiorcy!

background image

© 2001-2005 Bartosz Walt
er

25

Przykład diagramu

Przykład diagramu

use-case

use-case

Przykład diagramu

Przykład diagramu

use-case

use-case

dodanie tytułu

aktualizacja tytułu

dodanie

administracja

Bibliotekarz

dodanie czasopisma

dodanie książki

<<extends>>

<<extends>>

<<uses>>

<<uses>>

<<uses>>

background image

© 2001-2005 Bartosz Walt
er

26

Użycie funkcji

Użycie funkcji

Użycie funkcji

Użycie funkcji

Aktor używa funkcji (wykonuje

Aktor używa funkcji (wykonuje

funkcję)

funkcję)

– domyślny stereotyp

<<communicates>>

– od

użytkownika do funkcji

Bibliotekarz

rezerwacja

background image

© 2001-2005 Bartosz Walt
er

27

Zależności między funkcjami

Zależności między funkcjami

(cd.)

(cd.)

Zależności między funkcjami

Zależności między funkcjami

(cd.)

(cd.)

Funkcja uszczegóławia funkcję

Funkcja uszczegóławia funkcję

– relacja dziedziczenia

– stereotyp

<<extends>>

– funkcje abstrakcyjna
– od

funkcji szczegółowej

do

funkcji

ogólnej

dodanie czasopisma

dodanie tytułu

<<extends>>

background image

© 2001-2005 Bartosz Walt
er

28

Zależności między funkcjami

Zależności między funkcjami

(cd.)

(cd.)

Zależności między funkcjami

Zależności między funkcjami

(cd.)

(cd.)

Funkcja wywołuje inną funkcję

Funkcja wywołuje inną funkcję

– relacja zależności

funkcji

– ponowne użycie funkcji/komponentu
– stereotyp

<<uses>>

– od

funkcji wołającej

do

funkcji wołanej

dodanie

<<uses>>

administracja

background image

© 2001-2005 Bartosz Walt
er

29

Statyczne zachowanie

Statyczne zachowanie

systemu

systemu

Statyczne zachowanie

Statyczne zachowanie

systemu

systemu

Modelowanie struktury danych

Modelowanie struktury danych

czyli o diagramach klas i obiektów

czyli o diagramach klas i obiektów

background image

© 2001-2005 Bartosz Walt
er

30

Klasa w UML

Klasa w UML

Klasa w UML

Klasa w UML

Klasa

Klasa

przedstawia elementy świata o

przedstawia elementy świata o

podobnej semantyce i podobnym

podobnej semantyce i podobnym

zachowaniu

zachowaniu

.

.

Posiada

Posiada

nazwę

nazwę

,

,

operacje

operacje

i

i

atrybuty

atrybuty

.

.

– nazwa pochodzi z dziedziny zastosowania

– standard nazywania

klas

Jak wyodrębnić klasy?

Jak wyodrębnić klasy?

background image

© 2001-2005 Bartosz Walt
er

31

Zakres widoczności

Zakres widoczności

operacji i atrybutów

operacji i atrybutów

Zakres widoczności

Zakres widoczności

operacji i atrybutów

operacji i atrybutów

+ publiczne

+ publiczne

(public)

(public)

– widoczne dla wszystkich

# chronione

# chronione

(protected)

(protected)

– widoczne dla potomków

prywatne

prywatne

(private)

(private)

– widoczne wewnątrz klasy (kontenera)

implementacyjne

implementacyjne

(implementation)

(implementation)

– widoczne wewnątrz pakietu

(nadkontenera)

background image

© 2001-2005 Bartosz Walt
er

32

Operacje

Operacje

Operacje

Operacje

Operacje to usługi oferowane przez

Operacje to usługi oferowane przez

klasę

klasę

– argumenty i typ wartości

– interfejs i deklaracja

a

definicja

– operacje statyczne

ich zakres obejmuje

klasę

a nie

obiekt

– operacje abstrakcyjne

posiadają tylko

deklarację operacji

, definicje

są w klasach potomnych

background image

© 2001-2005 Bartosz Walt
er

33

Atrybuty

Atrybuty

Atrybuty

Atrybuty

Atrybuty to

Atrybuty to

informacje

informacje

zawarte

zawarte

w

w

klasie/obiekcie

klasie/obiekcie

– cechy

klasy/obiektu

– relacje

z innymi klasami/obiektami

– atrybuty

statyczne

– atrybuty

wywiedzione

(derived)

‘/’

– typy atrybutów

Jak odróżnić klasę od atrybutu?

Jak odróżnić klasę od atrybutu?

background image

© 2001-2005 Bartosz Walt
er

34

Asocjacje

Asocjacje

Asocjacje

Asocjacje

Reprezentują

Reprezentują

relacje

relacje

, w jakich

, w jakich

znajdują się klasy/obiekty

znajdują się klasy/obiekty

– posiadają

liczność (krotność)

– wiążą

1 lub więcej

klas

– mogą być

nazwane

i posiadać

role

– mogą mieć

własności i ograniczenia

Książka

ID : String

podaj ID()

Tytuł

tytuł : String
ISBN : String

podaj tytuł()

1..1

1..*

+posiada

1..1

1..*

background image

© 2001-2005 Bartosz Walt
er

35

Krotność asocjacji

Krotność asocjacji

Krotność asocjacji

Krotność asocjacji

Oznacza

Oznacza

liczbę obiektów

liczbę obiektów

(nie klas!)

(nie klas!)

,

,

które są ze sobą skojarzone

które są ze sobą skojarzone

– określone przez

dolny i górny zakres

– określane

liczbą naturalną

(0, 1, 2, ...)

lub

gwiazdką

(* - dowolna liczba)

– mają duże znaczenie na etapie projektu

Jaka jest różnica między oznaczeniami:

Jaka jest różnica między oznaczeniami:

*

*

i

i

1..*

1..*

?

?

background image

© 2001-2005 Bartosz Walt
er

36

Agregacje

Agregacje

Agregacje

Agregacje

Modelują relację

Modelują relację

część-całość

część-całość

– agregacja współdzielona

(shared) -

część

może

należeć do wielu całości

– agregacja składowa

(composition) -

część jest ściśle

uzależniona

od

całości

Tom

ID tomu : int

Książka
ID : String

podaj ID()

1..1

1..*

+składa się

1..1

1..*

background image

© 2001-2005 Bartosz Walt
er

37

Zależność

Zależność

Zależność

Zależność

Jest ogólnym określeniem

Jest ogólnym określeniem

zależności

zależności

(

(

dependency

dependency

)

)

dwóch klas/obiektów

dwóch klas/obiektów

– od klasy zależnej do nadrzędnej
– często używane

ze stereotypem

– powiązanie elementów

na różnych

poziomach abstrakcji

Tom

ID tomu : int

Książka
ID : String

podaj ID()

<<friend>>

background image

© 2001-2005 Bartosz Walt
er

38

Dziedziczenie

Dziedziczenie

Dziedziczenie

Dziedziczenie

Potomek dziedziczy cechy przodka

Potomek dziedziczy cechy przodka

– ułatwia

zarządzanie złożonością

– zakres widoczności

w dziedziczeniu

– klasa abstrakcyjna

jako przodek

dostarcza tylko definicji operacji

– polimorfizm

operacji

– tryby dziedziczenia:

overlapping,

disjoint, complete, incomplete

background image

© 2001-2005 Bartosz Walt
er

39

Dziedziczenie (cd.)

Dziedziczenie (cd.)

Dziedziczenie (cd.)

Dziedziczenie (cd.)

Książka

podaj ID()

Wydawnictwo

ID : String

podaj ID()

Czasopismo

podaj ID()

{complete}

przykładowy diagram dziedziczenia

przykładowy diagram dziedziczenia

background image

© 2001-2005 Bartosz Walt
er

40

Przykład diagramu klas

Przykład diagramu klas

Przykład diagramu klas

Przykład diagramu klas

Tytuł książki

ISBN : String

Tytuł czasopisma

ISSN : String

Wydawnictwo

ID : String

Tytuł

nazwa
/ liczba rezerwacji

1..1

0..*

1..1

+jest kopią

0..*

Rezerwacja

data : Date

1..1

0..*

+jest rezerwowany przez

1..1

0..*

Dane czytelnika

imię
nazwisko
adres

0..*

1..1

0..*

+składa

1..1

Wypożyczenie

data : Date

1..1

0..1

1..1

+dotyczy

0..1

1..1

0..*

+jest związane

1..1

0..*

background image

© 2001-2005 Bartosz Walt
er

41

Diagram klas (cd.)

Diagram klas (cd.)

Diagram klas (cd.)

Diagram klas (cd.)

Tytuł

Tytuł

jest klasą abstrakcyjną

jest klasą abstrakcyjną

Książka

Książka

i

i

Czasopismo

Czasopismo

są specjalizacjami

są specjalizacjami

Tytułu

Tytułu

Czytelnik

Czytelnik

może mieć wiele

może mieć wiele

Wypożyczeń

Wypożyczeń

Wypożyczenie

Wypożyczenie

dotyczy jednego

dotyczy jednego

Czytelnika

Czytelnika

background image

© 2001-2005 Bartosz Walt
er

42

Case Study

Case Study

Case Study

Case Study

Biblioteka:

Biblioteka:

opis na załączonych kartkach

opis na załączonych kartkach

background image

© 2001-2005 Bartosz Walt
er

43

Case Study

Case Study

Case Study

Case Study

wypożyczenie czasopisma

wypożyczenie książki

wypożyczenie

<<extends>>

<<extends>>

wyszukanie obiektu

<<uses>>

rezerwacja

<<uses>>

rozliczenie

Bibliotekarz

Czytelnik

udostępnienie

background image

© 2001-2005 Bartosz Walt
er

44

Case Study

Case Study

Case Study

Case Study

Katalog

Katalog rzeczowy

Katalog alfabetyczny

Katalog autorski

Katalog czytelników

Rozliczenia

kwota
data

Autor

imię
nazwisko

Katalog wydawnictw

Wypożyczenia

data

Karta czytelnicza

imię
nazwisko
adres
wiek

1..*

1..*

0..*

1

1

0..*

Tytuł

autor
tytuł
ISBN

1..*

1..*

Rezerwacje

data początkowa

1..*

1

0..*

1

Egzemplarz

sygnatura

0..1

1..*

0..1

1..*

0..*

1

0..*

1

1

0..*

1..*

1

0..*

1

0..*

1

1..*

1..*

0..*

1

0..*

1

background image

© 2001-2005 Bartosz Walt
er

45

Case Study

Case Study

Case Study

Case Study

Nowa

zniszczona

wypożyczona

dostępna

zagubiona

zwrot

[ czas > 3 mies. ]

naprawa

zarezerwowana

wypożyczenie

przegląd[ uszkodzenie > 30% ]

rezerwacja

odwołanie rezerwacji

background image

© 2001-2005 Bartosz Walt
er

46

Case Study

Case Study

Case Study

Case Study

: Bibliotekarz

: Katalog

: Tytuł

: Rezerwacje

: Katalog

czytelników

: Karta

czytelnicza

zamówienie

sprawdź

sprawdź

wypożycz

sprawdź stan

wypożycz

sprawdź

background image

© 2001-2005 Bartosz Walt
er

47

Literatura

Literatura

Literatura

Literatura

G. Booch i in. "UML –

przewodnik użytkownika", WNT
2001

M. Fowler „UML w kropelce”,

LT&P 2002

S.S. Alhir “UML in a nutshell”,

O’Reilly, 1998

P. Coad, E. Yourdon “Analiza

obiektowa”, Read Me, 1991

H. E. Eriksson, M. Penker “UML

Toolkit”, Wiley, 1998

background image

© 2001-2005 Bartosz Walt
er

48

Dynamiczne zachowanie

Dynamiczne zachowanie

obiektu

obiektu

Dynamiczne zachowanie

Dynamiczne zachowanie

obiektu

obiektu

Diagramy stanu obiektu

Diagramy stanu obiektu

czyli z życia (obiektów) wzięte

czyli z życia (obiektów) wzięte

background image

© 2001-2005 Bartosz Walt
er

49

Diagram stanu

Diagram stanu

Diagram stanu

Diagram stanu

Modeluje

Modeluje

cykl (fazy) życia

cykl (fazy) życia

obiektu

obiektu

– określa

dozwolone stanu

obiektu

– definiuje

dopuszczalne przejścia

– określa

zdarzenia

, na które obiekt reaguje

– określa

akcje

, jakie zachodzą podczas

przejścia

krojenie [nóż jest

ostry]

background image

© 2001-2005 Bartosz Walt
er

50

Stany obiektu i przejścia

Stany obiektu i przejścia

Stany obiektu i przejścia

Stany obiektu i przejścia

Dopuszczalne stany

Dopuszczalne stany

– stany

początkowy

i

końcowy

– jeden ze

stanów pośrednich

Przejście jest opisane przez

Przejście jest opisane przez

– zdarzenie

, które

wyzwala

przejście

– warunek

, który weryfikuje

dopuszczalność

przejścia

– akcję

, która jest wykonywana

w

momencie

przejścia

background image

© 2001-2005 Bartosz Walt
er

51

Stany obiektów w UML

Stany obiektów w UML

Stany obiektów w UML

Stany obiektów w UML

Reprezentacja stanu

Reprezentacja stanu

– nazwa
– zmienne stanu
– czynności

Reprezentacja przejścia

Reprezentacja przejścia

zdarzenie

[warunek] /

akcja

^ nowe-zdarzenie

zniszczona

entry: usuń z rejestru

zapisz [operacja dozwolona] / ^dysk.zapisz()

background image

© 2001-2005 Bartosz Walt
er

52

Zdarzenia w UMLu

Zdarzenia w UMLu

Zdarzenia w UMLu

Zdarzenia w UMLu

Cztery rodzaje zdarzeń w UMLu

Cztery rodzaje zdarzeń w UMLu

– warunek

staje się prawdziwy

– odbiór sygnału

od innego obiektu

– wywołanie operacji

przez inny obiekt

– upływ określonego czasu

– błędy (poza definicją UML)

background image

© 2001-2005 Bartosz Walt
er

53

Obsługa zdarzeń

Obsługa zdarzeń

Obsługa zdarzeń

Obsługa zdarzeń

Wywołania operacji

Wywołania operacji

– wywołujący obiekt jest

aktywny

– wywoływany obiekt jest

pasywny

Obsługa sygnałów

Obsługa sygnałów

– wywoływany i wywołujący

obiekt muszą

być

aktywne

– sygnał jest obiektem ze

stereotypem

<<signal>>

background image

© 2001-2005 Bartosz Walt
er

54

Stany i podstany

Stany i podstany

Stany i podstany

Stany i podstany

Stan może mieć podstany

Stan może mieć podstany

– typu or

- aktywny jest

jeden

podstan

– typu and

- aktywnych może być

kilka

podstanów

zarezerwowana

wypożyczona

zarezerwowana

wypożyczona

zarezerwowana

zwrot

wypożyczenie

background image

© 2001-2005 Bartosz Walt
er

55

Dynamiczne zachowanie

Dynamiczne zachowanie

obiektu

obiektu

Dynamiczne zachowanie

Dynamiczne zachowanie

obiektu

obiektu

Diagramy zachowania obiektu

Diagramy zachowania obiektu

czyli z system w działaniu

czyli z system w działaniu

background image

© 2001-2005 Bartosz Walt
er

56

Modelowanie dynamiczne w

Modelowanie dynamiczne w

UMLu

UMLu

Modelowanie dynamiczne w

Modelowanie dynamiczne w

UMLu

UMLu

Diagramy modelowania zachowania

Diagramy modelowania zachowania

– czynności

(activity diagram)

odwzorowują

akcje

wykonywane na obiektach

dokonują podziału

odpowiedzialności

za akcje

– współpracy

(collaboration diagram)

wiążą

współpracujące obiekty

z uwzględnieniem

kolejności

pokazują

zależności

między obiektami

słabo lub wcale wspierane przez Rational

Rose!

– sekwencji

(sequence diagram)

background image

© 2001-2005 Bartosz Walt
er

57

Modelowanie dynamiczne

Modelowanie dynamiczne

w UMLu (cd.)

w UMLu (cd.)

Modelowanie dynamiczne

Modelowanie dynamiczne

w UMLu (cd.)

w UMLu (cd.)

Diagram sekwencji

Diagram sekwencji

– jak obiekty współdziałają

ze sobą

– sposób

wysyłania i odbioru zdarzeń

– składowa

czasu

: Bibliotekarz

: Wydawnictwo

: Czytelnik

czy istnieje?

pobierz liczbę

zarezerwuj

background image

© 2001-2005 Bartosz Walt
er

58

Typy zdarzeń

Typy zdarzeń

Typy zdarzeń

Typy zdarzeń

UML rozróżnia typy zdarzeń

UML rozróżnia typy zdarzeń

– synchroniczne

, np. wywołania metod

– asynchroniczne

, np. sygnały

– proste

, np. przekazanie kontroli

– synchroniczne z natychmiastowym

powrotem

background image

© 2001-2005 Bartosz Walt
er

59

Istnienie obiektu

Istnienie obiektu

Istnienie obiektu

Istnienie obiektu

Prostokąt na linii życia obiektu

Prostokąt na linii życia obiektu

początek

- aktywacja obiektu

koniec

- dezaktywacja obiektu

usunięcie obiektu

- znak X

iteracja

- prostokąt obejmujący zdarzenia

rekursja

- wywołanie własnych operacji

background image

© 2001-2005 Bartosz Walt
er

60

Fizyczna struktura systemu

Fizyczna struktura systemu

Fizyczna struktura systemu

Fizyczna struktura systemu

Podział na komponenty

Podział na komponenty

czyli małe jest piękne

czyli małe jest piękne

background image

© 2001-2005 Bartosz Walt
er

61

Pakiety

Pakiety

Pakiety

Pakiety

Czym jest pakiet?

Czym jest pakiet?

– podsystemem
– organizuje

związane ze sobą elementy

– jak

importować

z obcych pakietów

background image

© 2001-2005 Bartosz Walt
er

62

Pakiety (cd.)

Pakiety (cd.)

Pakiety (cd.)

Pakiety (cd.)

Podział - i co dalej?

Podział - i co dalej?

– relacje między pakietami

zależność, generalizacja, import elementów

– widoczność elementów w pakiecie

analogicznie do

widoczności cech klas

GUI

Obsługa

wypożyczeń

Baza danych

Usługi

katalogowe

background image

© 2001-2005 Bartosz Walt
er

63

Komponenty

Komponenty

Komponenty

Komponenty

Komponenty systemu

Komponenty systemu

– są

fizyczną reprezentacją

elementu modelu

– relacja

zależności

komponentów

– relacje ze znacznikiem

{location}

przyporządkowanie

komponentów

do

zasobów

– dostęp do usług poprzez

interfejsy

relacja wywołania

(stereotyp <<calls>>)

Dialog
logowania

Menedżer
okien

background image

© 2001-2005 Bartosz Walt
er

64

Diagram rozmieszczenia

Diagram rozmieszczenia

Diagram rozmieszczenia

Diagram rozmieszczenia

Rozmieszczenie

Rozmieszczenie

(deployment)

(deployment)

fizyczna architektura

systemu

przyporządkowanie

modułów do urządzeń

zależności

między zasobami

Serwer

aplikacji

Usługi

katalogowe

Usługi

katalogowe

background image

© 2001-2005 Bartosz Walt
er

65

Zaawansowane elementy

Zaawansowane elementy

UML

UML

Zaawansowane elementy

Zaawansowane elementy

UML

UML

Stereotypy

Stereotypy

czyli szablony myślenia

czyli szablony myślenia

background image

© 2001-2005 Bartosz Walt
er

66

Po co stereotypy?

Po co stereotypy?

Po co stereotypy?

Po co stereotypy?

Odpowiednie dać rzeczy - słowo...

Odpowiednie dać rzeczy - słowo...

brak elementu o

precyzyjnym znaczeniu

nie wiem, jak ci to wytłumaczyć...

zbyt ogólne znaczenia

istniejących

elementów

zegar

zegar

background image

© 2001-2005 Bartosz Walt
er

67

Nowe znaczenia

Nowe znaczenia

Nowe znaczenia

Nowe znaczenia

Dawniej...

Dawniej...

dodajmy

nowy element

języka

– dużo symboli, dużo znaczeń

UML

UML

wykorzystajmy

stary element

o

nowym znaczeniu

+ mało symboli, dużo znaczeń!

background image

© 2001-2005 Bartosz Walt
er

68

Dlaczego stereotypy?

Dlaczego stereotypy?

Dlaczego stereotypy?

Dlaczego stereotypy?

Same zalety...

Same zalety...

potężny

mechanizm rozszerzeń

stosowane do

wszystkich elementów

dowolna precyzja

znaczenia

proste i czytelne

diagramy

<<odkrycie>>

<<odkrycie>>

background image

© 2001-2005 Bartosz Walt
er

69

Jak wygląda stereotyp?

Jak wygląda stereotyp?

Jak wygląda stereotyp?

Jak wygląda stereotyp?

Przedstawianie stereotypu

Przedstawianie stereotypu

sam łańcuch

<<stereotyp>>

łańcuch <<stereotyp>>

w/przy elemencie

ikona

stereotypu

Czytelnik

Czytelnik

<< Actor >>

background image

© 2001-2005 Bartosz Walt
er

70

Standardowe stereotypy

Standardowe stereotypy

Standardowe stereotypy

Standardowe stereotypy

UML ma kilkadziesiąt gotowych

UML ma kilkadziesiąt gotowych

stereotypów

stereotypów

<<actor>>

ta klasa reprezentuje aktora

<<import>>

ta zależność definiuje import elementu

<<signal>>

ten obiekt jest sygnałem

<<uses>>

przypadek użycia korzysta z innego

background image

© 2001-2005 Bartosz Walt
er

71

Zaawansowane elementy

Zaawansowane elementy

UML

UML

Zaawansowane elementy

Zaawansowane elementy

UML

UML

Własności i znaczniki

Własności i znaczniki

czyli jak być precyzyjnym

czyli jak być precyzyjnym

background image

© 2001-2005 Bartosz Walt
er

72

Atrybuty elementów

Atrybuty elementów

Atrybuty elementów

Atrybuty elementów

Jak opisać atrybut elementu modelu?

Jak opisać atrybut elementu modelu?

...klasa ma status ‘draft’...
...ten atrybut nie może zostać zmieniony...

Rodzaje atrybutów

Rodzaje atrybutów

logiczne (true lub false)

{abstract}, {invariant}

o podanej wartości

{status = ‘draft’}

background image

© 2001-2005 Bartosz Walt
er

73

Własności

Własności

Własności

Własności

Własność

Własność

(tagged value)

(tagged value)

definicja własności elementu w postaci

wartość

zapis

łańcuch przy elemencie
komentarz

Bibliotekarz

chory

background image

© 2001-2005 Bartosz Walt
er

74

Znaczniki

Znaczniki

Znaczniki

Znaczniki

Znacznik

Znacznik

(tagged value)

(tagged value)

definicja własności elementu w postaci

nazwa = wartość

zapis

{nazwa1 = wartość1, nazwa2 = wartość2}
{nazwa1}

Są też znaczniki standardowe...

Są też znaczniki standardowe...

np.

abstract, precondition...

background image

© 2001-2005 Bartosz Walt
er

75

Ograniczenia

Ograniczenia

Ograniczenia

Ograniczenia

Ograniczenie

Ograniczenie

(constraint)

(constraint)

jest

własnością o wartości logicznej

jest określone w

pewnym języku

Obiektowy Język Ograniczeń (OCL)

Obiektowy Język Ograniczeń (OCL)

propozycja

formalnego języka

dla UML

bibliotekarz.wiek > 25 AND bibliotekarz.wiek < 65

bibliotekarz.wiek > 25 AND bibliotekarz.wiek < 65

background image

© 2001-2005 Bartosz Walt
er

76

Zaawansowane elementy

Zaawansowane elementy

UML

UML

Zaawansowane elementy

Zaawansowane elementy

UML

UML

Relacyjne bazy danych

Relacyjne bazy danych

czyli łączenie światów

czyli łączenie światów

background image

© 2001-2005 Bartosz Walt
er

77

Relacyjnie czy obiektowo?

Relacyjnie czy obiektowo?

Relacyjnie czy obiektowo?

Relacyjnie czy obiektowo?

Relacyjne bazy danych

Relacyjne bazy danych

dobrze rozwinięte
szeroko stosowane
wiele rozwiązań

Obiektowe bazy danych

Obiektowe bazy danych

mało rozwiązań
niepopularne

A

A

UML?

UML?

background image

© 2001-2005 Bartosz Walt
er

78

RBD w UMLu

RBD w UMLu

RBD w UMLu

RBD w UMLu

Baza danych

Baza danych

komponent z stereotypem

<<database>>

Schemat

Schemat

przestrzeń użytkownika w bazie danych
pakiet ze stereotypem <<schema>>

Oracle

<<database>>

background image

© 2001-2005 Bartosz Walt
er

79

RBD w UMLu (cd.)

RBD w UMLu (cd.)

RBD w UMLu (cd.)

RBD w UMLu (cd.)

Tabela

Tabela

klasa ze stereotypem <<table>>

Klucze podstawowe

Klucze podstawowe

znacznik {PK}

na atrybucie

ograniczenie integralnościowe

jako operacja

UŻYTKOWNIK

ID : INTEGER

OGR_INT_ID()

<<RelationalTable>>

background image

© 2001-2005 Bartosz Walt
er

80

RBD w UMLu (cd.)

RBD w UMLu (cd.)

RBD w UMLu (cd.)

RBD w UMLu (cd.)

Klucze obce

Klucze obce

znacznik {FK}

na atrybucie

ograniczenie integralnościowe

jako

operacja

Ograniczenia

Ograniczenia

operacje ze odpowiednim stereotypem

,

np. <<check>>, <<unique>>

Wyzwalacze

Wyzwalacze

operacje ze stereotypem

<<trigger>>

background image

© 2001-2005 Bartosz Walt
er

81

RBD w UMLu (cd.)

RBD w UMLu (cd.)

RBD w UMLu (cd.)

RBD w UMLu (cd.)

Relacje nie identyfikujące

Relacje nie identyfikujące

FK potomka

jest podzbiorem

PK rodzica

relacja ze stereotypem

<<not-identifying>>

Relacje identyfikujące

Relacje identyfikujące

FK potomka

jest równy

PK rodzica

potomek jest

ściśle zależny

od rodzica

relacja ze stereotypem

<<identifying>>

background image

© 2001-2005 Bartosz Walt
er

82

Podsumowanie

Podsumowanie

Podsumowanie

Podsumowanie

Unifikacja postępuje

Unifikacja postępuje

czyli czy warto się przyłączyć?

czyli czy warto się przyłączyć?

background image

© 2001-2005 Bartosz Walt
er

83

Podsumowanie

Podsumowanie

Podsumowanie

Podsumowanie

+ Potęga

+ Potęga

metod obiektowych

metod obiektowych

+ UML jest

+ UML jest

de facto

de facto

standardem

standardem

+ Wsparcie ze strony

+ Wsparcie ze strony

producentów

producentów

SW

SW

+ Możliwości

+ Możliwości

rozszerzeń

rozszerzeń

background image

© 2001-2005 Bartosz Walt
er

84

Literatura

Literatura

Literatura

Literatura

H. E. Eriksson, M. Penker

“UML Toolkit”, Wiley, 1998

S.S. Alhir “UML in a

nutshell”, O’Reilly, 1998

Rational Software “Rational

Rose Documentation”, 2000

http://www.rational.com/uml/


Document Outline


Wyszukiwarka

Podobne podstrony:
Ewa St�posz J�zyk modelowania danych UML
Realizacja w Javie rodzajów dziedziczenia wykorzystywanych w UML
Język Modelowania Danych UML
L2 PAA Modelowanie układu regulacji automatycznej z wykorzystaniem pakietu MATLAB Simulink(1)
MODELOWANIE ENERGETYCZNEGO WYKORZYSTANIA BIOMASY
MOFS 3 Modelowanie funkcjonowania systemu w UML DPU
Modelowanie UML
Modelowanie przedsięwzięć budowlanych z wykorzystaniem sieci Petriego
Modelowanie i analiza generatora samowzbudnego, Na laboratorium korzystaliśmy z programu wykorzystuj
Zrozumiec UML 2 0 Metody modelowania obiektowego zrouml
2007 08 UML – modelowanie statycznych aspektów oprogramowania [Inzynieria Oprogramowania]
modelowanie układów przełączających z wykorzystaniem elementów pneumatycznych i elektrycznychx
2007 07 Wykorzystanie przypadków użycia do modelowania zachowania [Inzynieria Oprogramowania]
helion jezyk uml 2 0 w modelowa Nieznany
W5 UML jezyk modelowania
2007 11 UML – modelowanie dynamicznych aspektów oprogramowania [Inzynieria Oprogramowania]
Modelowanie oświetlenia z wykorzystaniem OpenGL

więcej podobnych podstron