background image

(ZD6

WHPSRV]-

]

\N

P

RG

HORZDQLDGDQ

\FK80/6OD

MG

II Seminarium PLOUG, 

29 maja 2001

Ewa Stemposz

{ewag@ipipan.waw.pl, ewag@pjwstk.waw.pl}

Instytut Podstaw Informatyki PAN

Polsko-

-DSR

VND:

\*

V]D6]NRáD7HFKQLN.RPSXWHURZ

\FK

-

]\NPRGHORZDQLDGDQ\FK80/

background image

(ZD6

WHPSRV]-

]

\N

P

RG

HORZDQLDGDQ

\FK80/6OD

MG

II Seminarium PLOUG, 

29 maja 2001

Zagadnienia

Krótka charakterystyka UML

Diagramy przypadków 

X*

\FLD

Diagramy klas

Diagramy dynamiczne

ƒ

interakcji

ƒ

stanu

ƒ

DNW\ZQR

FL

Diagramy implementacyjne

ƒ

diagramy komponent

ó

w

ƒ

GLDJUDP\ZGUR

*HQLRZH

Diagramy pakiet

ó

w

0HFKDQL]P\UR]V]HU]DOQR

FL

Podsumowanie

background image

(ZD6

WHPSRV]-

]

\N

P

RG

HORZDQLDGDQ

\FK80/6OD

MG

II Seminarium PLOUG, 

29 maja 2001

UML 0.8-0.9

VW

\F]H

-ZU]HVLH

UML 1.0

VW

\F]H

SU]HVáDQ

\GR20*

UML 1.1

NRQLHF]DWZLHUG]RQ

\

MDNRVNáDGQLNVWDQGDUGX20*

UML 1.3

NZLHFLH

PyZLVL

RZHUV

MLDOHEUDNGDQ

\FK

3Rá

F]RQHVLá\WU]HFK]QDQ\FKPHWRGRORJyZRSURJUDPRZDQLD

Grady Booch           Ivar

Jacobson               James

Rumbaugh

Unified Modeling Language (UML)

³80/

MHVW

M

]\NLHP

RJyOQHJR

SU]H]QDF]HQLD

GR

VSHF\ILNDFML

NRQVW

rukcji, 

ZL]XDOL]DFML

L

GRNXPHQWRZDQLD

Z\WZRUyZ

]ZL

]DQ\FK

]

V\VWHPDPL

LQWHQV\ZQLHZ\NRU]\VWXM

F\PLRSURJUDPRZDQLH´

background image

(ZD6

WHPSRV]-

]

\N

P

RG

HORZDQLDGDQ

\FK80/6OD

MG

II Seminarium PLOUG, 

29 maja 2001

Zalety i wady poprzednik

ó

w UML

.D

*GD]PHWRG\NSRSU]HGQLNyZ80/SRVLDGDVZRMH]DOHW\LZD

dy. 

OMT (Rumbaugh)

: dobry do modelowania dziedziny przedmiotowej. Nie 

SU]

\NU

\ZD

GRVWDWHF]QLH

GRNáDGQLH

]DUyZQR

DVSHNWX

X*

\WNRZQLNyZ

V\

stemu, jak i 

aspektu implementacji. 

OOSE (Jacobson)

GREU]H

SRGFKRG]L

GR

NZHVWLL

P

RGHORZDQLD

X*

\WNRZQLNyZ

L

F\

NOX

*\

FLRZH

JR

V\

VWHPX

1

LH

SU]

\NU

\ZD

GRNáDGQLH

PRGHORZDQLD

Gziedziny 

przedmiotowej, jak i aspektu implementacji. 

OOAD (Booch):

dobrze podchodzi do kwestii projektowania, implementacji 

RUD]

]

ZL

]NyZ

]H

URGRZLVNLHP

LPSOHPHQWDF

ML

1

LH

SU]

\NU

\ZD

GRVW

atecznie 

GREU]HID]

\UR]SR]QDZDQLDLDQDOL]

\Z

\PD

JD

X

*\

WNRZQLNyZ

,VWQLH

MH

ZLHOH

DVSHNWyZ

V\

VWHPyZ

N

WyUH

SR]RVWDá

\

Z

áD

FLZLH

QL

e przykryte przez 

*DGQH

]

Z

\*

HM

Z

\PLHQLRQ

\F

KS

RG

HM

ü

Q

S

S

U]

\VWRVRZDQLH

QRWDF

ML

do preferencji 

SUR

MHNWDQWyZ&HOHP80/E

\áRSU]

\NU

\FLHUyZQLH

*W

\FKDVSHNWyZ

background image

(ZD6

WHPSRV]-

]

\N

P

RG

HORZDQLDGDQ

\FK80/6OD

MG

II Seminarium PLOUG, 

29 maja 2001

Nowe elementy wprowadzone w UML

-DVQHRGUy

*QLHQLHNODV\W\SX

i  

Z\VW

SLHQLDNODV\

8V]F]HJyáRZLHQLD

(refinements

GODRE

M

FLD]ZL

]NyZSRPL

G]

\

HOHPHQWDPLRWH

MVDPH

MVHPDQW

\FHDUy

*Q

\PSR]LRPLHDEVWU

akcji

2GSRZLHG]LDOQR

FL

(responsibilities

)

Kompozycja 

jako silniejsza forma agregacji

Interfejsy 

i  

]DOH

*QR

FL

dependencies)

typu: dostawca i  klient pewnej

LQIRUPDF

MLZ

\VW

SX

M

FHPL

G]

\HOHPHQWDPLPRGHOL

:VSyáELH

*QR

ü

:]RUFHZVSyáSUDFD

'LDJUDP\DNW\ZQR

FL

(dla  

UHLQ

*\

QLHULL

procesów biznesowych)

Komponenty

Pakiety

0HFKDQL]P\UR]V]HU]DOQR

FL

: stereotypy (stereotypes

ZDUWR

FL

etykietowane (

tagged values

), ograniczenia (

constraints

)

background image

(ZD6

WHPSRV]-

]

\N

P

RG

HORZDQLDGDQ

\FK80/6OD

MG

II Seminarium PLOUG, 

29 maja 2001

Diagramy definiowane w UML

'LDJUDP\SU]\SDGNyZX

*\FLD

Diagramy klas

Diagramy dynamiczne:

ƒ

Diagramy stan

ó

w

ƒ

'LD

JUDP

\DNW

\ZQR

FL

Diagramy implementacyjne:

ƒ

Diagramy komponent

ó

w

ƒ

'LD

JUDP

\ZGUR

*HQLRZH

'LDJUDP\

WH

]DSHZQLDM

X]\VNDQLH

ZLHOX

S

HUVSHNW\Z

SURMHNWRZDQ

ego 

systemu w trakcie  jego budowy.

Diagramy pakiet

ó

w

Œ

Diagramy sekwencji

Œ

'LD

JUDP

\ZVSyáSUDF

\NRODERUDF

ML

ƒDiagramy interakcji: 

background image

(ZD6

WHPSRV]-

]

\N

P

RG

HORZDQLDGDQ

\FK80/6OD

MG

II Seminarium PLOUG, 

29 maja 2001

'LDJUDP\SU]\SDGNyZX

*\FLD

(1)

3U]\SDGHN

X*

\FLD

:

3RZLQLHQ

PLHü

XQLNDOQ

QD]Z

RSLVX

M

F

SU]

\SDGHN

X*

\FLD

z

p

unktu widzenia jego 

zasadniczych

cel

ó

w.

 Czy lepiej

jest 

VWRVRZDü

QD]Z

RSLVX

M

F

F

]\

QQR

ü

(“

Z

\SáDWD

SLHQL

G]

\”

) czy 

polecenie

(“

Z

\SáDü

SLHQL

G]H´

-

zdania

V

podzielone.

Aktor:  

3RZLQLHQPLHü

XQLNDOQ

QD]Z

.

Interakcja: 

3RND]X

MH

LQWHUDNF

M

SRPL

G]

\S

U]

\SDGNLHP

X*

\FLD

a aktorem.

%ORN

SRQRZQHJR

X*

\FLD

Pokazuje fragment systemu,

kt

ó

ry

jest 

X*

\ZDQ

\

SU]H]

NLOND

SU]

\SDGNyZ

X*

\FLD

PR

*H

E\

üR]QDF]RQ

\

MDNRVDPRG]LHOQ

\SU]

\SDGHNX

*\

FLD

.

Relacja 

typu

«

include

»

lub

«

extend

»

Pokazuje

]ZL

]HN

]DFKRG]

F

\P

L

G]

\

dwoma

p

rzypadkami

X*

\FLD

lub 

SU]

\SDGNLHPX

*\

FLD

a

EORNLHPSRQRZQH

JRX

*\

FLD

.  

Nazwa systemu wraz

z otoczeniem systemu: 

Pokazuje 

JUDQLF

SRPL

G]

\V

\VWHPHP

a jego otoczeniem.

weryfikacja

klienta

Z\SáDWD SLHQL

G]\

System

REVáXJLNOLHQWD

«

include

»

ZQ

WU]HV\VWHPX

klient

background image

(ZD6

WHPSRV]-

]

\N

P

RG

HORZDQLDGDQ

\FK80/6OD

MG

II Seminarium PLOUG, 

29 maja 2001

'LDJUDP\SU]\SDGNyZX

*\FLD

(2)

klient

banku

ZSáDWD SLHQL

G]\

Z\SáDWD SLHQL

G]\

kasjer

VSUDZG

(

stan konta

ZH

(

SR

*\F]N

]DU]

G

banku

klient

banku

ZSáDWD SLHQL

G]\

Z\SáDWD SLHQL

G]\

kasjer

VSUDZG

(

stan konta

ZH

(

SR

*\F]N

]DU]

G

banku

«

include

»

uaktualnianie 

stanu konta

«

include

»

«

extend

»

*áyZQH

]DGDQLH

PRGHOX

SU]

\SDGNyZ

X*

\FLD

to

SUDZLGáRZH

RNUH

OHQLH

Z\PDJD

funkcjonalnych

na projektowany

system.

background image

(ZD6

WHPSRV]-

]

\N

P

RG

HORZDQLDGDQ

\FK80/6OD

MG

II Seminarium PLOUG, 

29 maja 2001

Klasa; oznaczenia

(1)

Cztery pola: nazwy, atrybut

ó

w, 

metod 

i czwarte pole, kt

ó

rego zaw

DUWR

ü

]DOH

*\RGX

*\WNRZQLND

np

PR

*HWRE\üOLVWDRGSRZLHG]LDOQR

FLGDQHMNODV\

0R

*OLZHV

Uy

*QHSR]LRP\V]F]HJyáRZR

FL

Okno

Okno

rozmiar

czy_widoczne

Okno

rozmiar

czy_widoczne

Z

\

ZLHWO

schowaj()

Okno

rozmiar: Obszar

czy_widoczne:

Boolean

Z

\

ZLHWO

schowaj()

stereotyp  nazwa_

klasy  lista_wart_etyk

Pole atrybut

ó

w:

VWHUHRW

\SGRVW

SQR

üQD]ZD

_atrybutu

: typ 

 ZDUW

BSRF]

WNRZD

lista_wart_etyk

Pole metod:

VWHUHRW

\SGRVW

SQR

üQD]ZD

_metody (lista_arg) : 

typ_wart_zwracanej  

lista_wart_etykt

Pole

nazwy klasy:

background image

(ZD6

WHPSRV]-

]

\N

P

RG

HORZDQLDGDQ

\FK80/6OD

MG

II Seminarium PLOUG, 

29 maja 2001

Klasa; oznaczenia

(2)

gdzie:

rodzaj

definiuje

spos

ó

b, w jaki

metoda

korzysta

z danego

argumentu

in: 

PHWRGDPR

*HF]

\WDü

argument, ale 

QLHPR

*H

go 

]PLHQLDü

out: 

PR

*H]PLHQLDü

, QLHPR

*HF]

\WDü

inout: 

PR

*HF]

\WDü

i ]PLHQLDü

Wszystkie elementy specyfikacji  klasy za 

Z\M

WNLHP

nazwy  klasy  

V

opcjonalne. Nazwa klasy to z 

UHJXá\U]HF]RZQLN

w liczbie pojedynczej.

GRVW

SQR

ü

jest 

RNUH

ODQD

przez

trzy

symbole

+

publiczna

-

prywatna

chroniona

lista_arg:

rodzaj nazwa_arg

:

typ

 ZDUW

BSRF]

WNRZD

background image

(ZD6

WHPSRV]-

]

\N

P

RG

HORZDQLDGDQ

\FK80/6OD

MG

II Seminarium PLOUG, 

29 maja 2001

3U]\NáDG\NODV

Okno

{

abstrakcyjna,

autor=Kowalski

status=przetestowane

}

+rozmiar: Obszar = (100,100)

#czy_widoczne:

Boolean

=

false

UR]PLDU

BGRP

\

OQ

\3URVWRN

W

UR]PLDU

BPDNV

\PDOQ

\3URVWRN

W

-[ZVND

(QLN

:

X

Window*

Z

\

ZLHWO

+schowaj()

+utw

ó

rz()

-GRá

F];:LQGRZ

(xwin:

XWindow*)

©WUZDáDª

3URVWRN

W

punkt1: Punkt

punkt2: Punkt

«

konstruktor

»

3URVWRN

WS3XQNWS3XQNW

«

zapytania

»

obszar (): Real

aspekt(): Real

.

.

.

«

aktualizacje

»

SU]HVX

GHOWD3XQNW

SU]HVNDOX

MZVSyáF]

\QQLN

Real)

background image

(ZD6

WHPSRV]-

]

\N

P

RG

HORZDQLDGDQ

\FK80/6OD

MG

II Seminarium PLOUG, 

29 maja 2001

Dziedziczenie

Dziedziczenie  pozwala na tworzenie drzewa klas lub 

LQQ\FKVWUXNWXUEH]S

WOL

specjalizacja

generalizacja

Pracownik

Osoba

Asystent

Adiunkt

Profesor

Docent

Asystent

Adiunkt

Profesor

Docent

Pracownik

Osoba

Dziedziczenie jednoaspektowe

background image

(ZD6

WHPSRV]-

]

\N

P

RG

HORZDQLDGDQ

\FK80/6OD

MG

II Seminarium PLOUG, 

29 maja 2001

Dziedziczenie wieloaspektowe

{overlapping}

disjont

(GRP

\

OQH

) -

SRG]LDá

UR]á

F]Q

\

overlapping

-SRG]LDá

QLHUR]á

F]Q

\

SU]HFL

FLH

zbior

ó

w obiekt

ó

w klas, np. 

Pojazd 

O

GRZ\

i  

Pojazd wodny, 

nie

jest zbiorem pustym; 

complete

(GRP

\

OQH

) -

SRG]LDáFDáNRZLW

\

incomplete

-n

ie

k

re klasy,

np.

nieistotne dla

UR]ZD

*DQH

JRSUREOHPX

, ]RVWDá

\SRPLQL

WH

Pojazd

{overlapping}

Pojazd 

wiatrowy

Pojazd

silnikowy

Pojazd

O

GRZ\

Pojazd

wodny

QDS

G

teren

teren

Drzewo

'

E

Brzoza

Sosna

{disjoint,

incomplete}

gatunek drzewa

Dwa aspekty dziedziczenia:

QDS

G

i  

teren

.

background image

(ZD6

WHPSRV]-

]

\N

P

RG

HORZDQLDGDQ

\FK80/6OD

MG

II Seminarium PLOUG, 

29 maja 2001

Dziedziczenie wielokrotne

Dziedziczenie wielokrotne  (wielodziedziczenie) ma  miejsce, gdy klasa 

G]LHG]LF]\LQZDULDQW\]ZL

FHMQL

*MHGQHMEH]SR

UHGQLHMQDGNODV\

.

Nazwisko

Osoba

3UDFXM

F\B

student

Pracownik

Zarobek

Student

Nr_indeksu

background image

(ZD6

WHPSRV]-

]

\N

P

RG

HORZDQLDGDQ

\FK80/6OD

MG

II Seminarium PLOUG, 

29 maja 2001

Dziedziczenie dynamiczne

Manager

,Q

*\QLHU

Sprzedawca

Osoba

{mandatory}

SáHü

«

dynamic

»

zaw

ó

d

Dyskryminator (aspekt specjalizacji)

zawód

]RVWDáWXRSDWU]RQ

\

stereotypem 

«

dynamic

»

.

Kobieta

0

*

F]\]QD

background image

(ZD6

WHPSRV]-

]

\N

P

RG

HORZDQLDGDQ

\FK80/6OD

MG

II Seminarium PLOUG, 

29 maja 2001

Klasa  parametryzowana

Klasy  parametryzowane

V

X*

\WHF]QH

z dw

ó

ch zasadniczych  powod

ó

w

SRGQRV]

poziom abstrakcji

LZSá

\ZD

M

QD]PQLH

MV]HQLHGáX

JR

FLNRGX

(UyGáRZH

JRSUR

JUDPX

.ODVDSDUDPHWU\]RZDQDPR

*HE\üZVWDZLDQD

do diagram

ó

w UML na dwa 

sposoby:

Zbi

ó

r <Pracownik>

Aktualny  parametr parametryzacji

Zbi

ó

r

wstaw

(T)

XVX

(T)

T

Zbi

ó

r Pracownik

ó

w

«

bind

»

<Pracownik>

Podstawowe zastosowanie klas parametryzowanych polega na 

wykorzystaniu ich 

do definiowania zbior

ó

w (szerzej -

kolekcji). 

.D

*G

\

RELHNW

N

ODV

\

Zbi

ó

<Pracownik>

,

czy analogicznie 

Zbi

ó

rP

ra

co

w

n

ik

ó

w

, jest zbiorem.

szablon

background image

(ZD6

WHPSRV]-

]

\N

P

RG

HORZDQLDGDQ

\FK80/6OD

MG

II Seminarium PLOUG, 

29 maja 2001

Rozszerzenia i ograniczenia w podklasie

ƒ

3RGNODVDQLHPR

*HRPL

MDüOXE]PLHQLDüDWU

\EXWyZQDGNODV

\

ƒ

3RGNODVDPR

*H]PLHQLüFLDáRPHWRG

\]QDGNODV

\DOHEH]]PLDQ

y jej

specyfikacji. 

ƒ

3RGNODVDPR

*HGRZROQLHGRGDZDüQRZHDWU

\EXW

\LPHWRG

\UR]V]HU

]Dü]ELyU

ZáDVQR

FLQDGNODV

\

ƒ

3RGNODVDPR

*HR

JUDQLF]DüZDUWR

FLDWU

\EXWyZ

Np. 

.RáR

MHVWSRGNODV

NODV

\

Elipsa

JG]LHRELH

UHGQLFHHOLSV

\V

VRELHUyZQH2

JUDQLF]HQLDPR

J

VSRZRGRZDü

*HF]

üPHWRGSU]HVWDQLHE

\üSRSUDZQD

Np. zmiana jednej  ze

UHGQLFRELHNWX

-

d

ozwolona dla obiektu  klasy 

Elipsa

-

jest  niedopuszczalna w

obiekcie podklasy 

.RáR

JG

\*

PXV]

WDPE

\ü]PLHQLDQHRELH

UHGQLFH

MHGQRF]H

QLH

background image

(ZD6

WHPSRV]-

]

\N

P

RG

HORZDQLDGDQ

\FK80/6OD

MG

II Seminarium PLOUG, 

29 maja 2001

:\VW

SLHQLH

klasy

3R

M

FLH

Z\VW

SLHQLH

klasy 

(instancja klasy

) oznacza obiekt, kt

ó

ry jest 

³SRGá

F]RQ

\´GR

danej  klasy, jest 

MH

MF]áRQNLHP

:

\VW

SLHQLDPR

J

E

: EH]SR

UHGQLH

i SR

UHGQLH

.

Obiekt 

MHVWZ

\VW

SLHQLHP

EH]SR

UHGQLPVZR

MH

MNODV

\L

Z

\VW

SLHQLHP

SR

UHGQLPZV]

\VWNLFK

MH

MQDGNODV

.

nazwa_obiektu

: nazwa_klasy

nazwa_atrybutu = wart_atrybutu

...

:

n

azwa_klasy

nazwa_atrybutu = wart_atrybutu

...

nazwa_obiektu

: nazwa_klasy

: nazwa_klasy

0R

*OLZHR]QDF]HQLDQDZ\VW

SLHQLH

klasy

background image

(ZD6

WHPSRV]-

]

\N

P

RG

HORZDQLDGDQ

\FK80/6OD

MG

II Seminarium PLOUG, 

29 maja 2001

Klasa abstrakcyjna a klasa konkretna

Klasyczne klasyfikacje w 

ELROR

JLL

W\

ONR

OL

FLH

Z

GU]HZLH

NODV

PR

J

E

klasami  konkretnymi.

Osoba prawna

Osoba fizyczna

Firma

Sekwencja

pierwszy

QDVW

SQ

\

Sekwencja

int

... 

implementacje

Sekwencja

char

.

..

implementacje

Klasa abstrakcyjna

QLHPDQLHPR

*HPLHüEH]SR

UHGQLFKZ

\VW

SLH

LVáX

*\

Z

F]QLH

MDNRQDGNODVDGODLQQ

\FKNODV6WDQRZL

MDNE

\ZVSyOQ

F]

ü

definicji  grupy  klas o podobnej  semantyce. 

Klasa konkretna

PR

*HPLHüPDSUDZRPLHüZ

\VW

SLHQLDEH]SR

UHGQLH

background image

(ZD6

WHPSRV]-

]

\N

P

RG

HORZDQLDGDQ

\FK80/6OD

MG

II Seminarium PLOUG, 

29 maja 2001

Metoda abstrakcyjna

Metoda  abstrakcyjna 

jest  to  metoda  wyspecyfikowana  w  nadklasie, kt

ó

rej 

LPSOHPHQWDF

MDPXVL]QDOH

(üVL

ZNWyUH

M

]SRGNODV

Pracownik godzinowy

stawka godzinowa

VWDZND

ZL

WHF]QD

REOLF]Z

\SáDW

Pracownik etatowy

zarobek tygodniowy

REOLF]Z

\SáDW

Pracownik na zlecenie

]DUREHNPLHVL

F]Q

\

REOLF]Z

\SáDW

Pracownik 

{abstract}

MX

*]DURELáZW

\PURNX

REOLF]Z

\SáDW

^abstract}

Klasa abstrakcyjna  

PR

*H

]DZLHUDüDEVWUDNF

\M

QHPHWRG

\, ale 

nie  musi

. Klasa 

konkretna 

musi

]DZLHUDü

LPSOHPHQWDF

MH

W\

FK

P

HWRG

DEVWUDNF

\M

Q\

FK

, kt

ó

re nie 

]RVWDá

\]DLPSOHPHQWRZDQH

*DGQH

M

z  nadklas

d

anej

klasy  konkretnej.

background image

(ZD6

WHPSRV]-

]

\N

P

RG

HORZDQLDGDQ

\FK80/6OD

MG

II Seminarium PLOUG, 

29 maja 2001

Interfejs, realizacja, 

]DOH

*QR

ü

(1) 

Stereotyp

«

interface

»

SRSU]HG]D

QD]Z

N

OD

V\

, kt

ó

ra zawiera jedynie specyfikacje 

metod, bez implementacji. W  UML interfejs  nie 

zawiera 

atrybut

ó

w. Wszystkie 

metody 

V

tu  publiczne. 

Implementacje metod wyspecyfikowanych 

 

interfejsie 

IPracownik

zawiera klasa 

Pracownik, 

co oznaczane

jest za

SRPRF

relacji  typu

realizacja

(realization),

o

n

otacji podobnej

d

o

d

ziedziczenia. 

=DOH

*QR

ü

(dependency

)RSLVX

MHUHODF

M

W\

SXNOLHQW

-dostawca pewnej informacji.

Pracownik

pensja

stanowisko

]PLH

SHQVM

dependency

Firma

realization

Osoba

{abstract}

LPL

nazwisko

data ur.

policz wiek

IPracownik

«

interface

»

+

]PLH

SHQVM

background image

(ZD6

WHPSRV]-

]

\N

P

RG

HORZDQLDGDQ

\FK80/6OD

MG

II Seminarium PLOUG, 

29 maja 2001

Interfejs,

]DOH

*QR

ü

(2)

'ODSRSU]HGQLHJRGLDJUDPXPR

*QD]DVWRVRZDüLQQH

EDUG]LHM]ZL

]áH

oznaczenie.

Pracownik

IPracownik

Osoba

Firma

Klasa  abstrakcyjna

i interfejs

]RVWDá

\W

X

potraktowane

w podobny spos

ó

b-j

ak

o

d

ef

in

ic

je

 

interfejs

ó

w do klasy 

Pracownik. 

-HGQDN

*H

,  istnieje 

PL

G]

\

QLPL

SHZQD

Uy

*QLFD

: klasa 

abstrakcyjna, 

 

SU]HFLZLH

VWZLH

do interfejsu, 

PR

*H

]DZLHUDü

atrybuty i

implementacje metod.

background image

(ZD6

WHPSRV]-

]

\N

P

RG

HORZDQLDGDQ

\FK80/6OD

MG

II Seminarium PLOUG, 

29 maja 2001

Ekstensja klasy

Ekstensja

klasy (

class extent

)     = 

aktualny (zmienny w czasie) zbi

ó

r  

ZV]

\VWNLFKZ

\VW

SLH

WH

MNODV

\

Ekstensja klasy w  implementacji  oznacza 

VSHF

MDOQ

VWUXNWXU

G

DQ

\FK

,

k

onkretny byt programistyczny

GRá

F]RQ

\G

R

klasy. Ta struktura przechowuje wszystkie obiekty

E

G

FH

F

]áRQNDPL

GDQH

M

klasy.

1LHNWyUHPHWRG

\Z

\VSHF

\ILNRZDQHZGDQH

MNODVLHRGQRV]

VL

GR

MH

j Z\VW

SLH

:   

1LHNWyUHPHWRG

\Z

\VSHF

\ILNRZDQHZGDQH

MNODVLHRGQRV]

VL

GR

MH

j Z\VW

SLH

:   

pracownik.

wiek

pracownik.

zwolnij

KONTO

.

Oblicz_procent

1LHNWyUHPHWRG

\Z

\VSHF

\ILNRZDQHZGDQH

MNODVLHRGQRV]

VL

GR

MH

j

ekstensji

:     

1LHNWyUHPHWRG

\Z

\VSHF

\ILNRZDQHZGDQH

MNODVLHRGQRV]

VL

GR

MH

j

ekstensji

:     

KL_pracownik.

nowy

KL_pracownik.

zlicz

KL_KONTO.

2EOLF]BVXP

.ODVDPR

*HPLHüQLHMHGQ

lecz wiele ekstensji.

background image

(ZD6

WHPSRV]-

]

\N

P

RG

HORZDQLDGDQ

\FK80/6OD

MG

II Seminarium PLOUG, 

29 maja 2001

3RZL

]DQLHD

asocjacja (binarne)

Fizyczny

lub

SRM

FLRZ\

]ZL

]HN

PL

G]

\G

Z

RP

DR

EL

HN

WD

P

L,  

RGZ]RURZ

\ZX

M

F\

]

Z

L

]HN

LVWQLH

M

F\

P

L

G]

\

RGSRZLHGQLPL

bytami

w analizowanej 

 dziedzinie

przedmiotowej.

Grupa 

SRZL

]D

SRVLDGD

M

F\

FK

ZVSyOQ

VWUXNWXU

LVHPDQW

\N

3RZL

]DQLH

jest  

Z\VW

SLHQLHP

asocjacji. 

:Osoba

Kasia

:Firma

Krawiecka

pracuje_w

:Osoba

Jasio

:Firma

Szewska

:Osoba

Ewa

pracuje_w

pracuje_w

2ELHNW

\LSRZL

]DQLD

na diagramie obiekt

ó

w

Osoba

LPL

Firma

rodzaj

pracuje_w

Klasy i asocjacja

na diagramie  klas

3RZL

]DQLH

binarne

Asocjacja

binarna

background image

(ZD6

WHPSRV]-

]

\N

P

RG

HORZDQLDGDQ

\FK80/6OD

MG

II Seminarium PLOUG, 

29 maja 2001

/LF]QR

üDVRFMDFML

/LF]QR

üMHVWR]QDF]DQDQDREXNR

FDFKDVRFMDFML

1

1, 2, 3, ...

2, 3, 4, ...

3, 4, 5

2, 4, 18

1, ?

0, 1

0, 1, 2, ...

0, 1, 2, ...

1

1..*

2..*

3-5

2,4,18 

0..1

0..*

znaczenie

3D

VWZR

Stolica

Firma

Pracownik

Osoba

Adres

1*

0..*

0..1

2]QDF]DüF]\QLHR]QDF]DüOLF]QR

ü

1?

3U]\NáDG\

:

background image

(ZD6

WHPSRV]-

]

\N

P

RG

HORZDQLDGDQ

\FK80/6OD

MG

II Seminarium PLOUG, 

29 maja 2001

Asocjacje skierowane

Zam

ó

wienie

GDWD=áR

*HQLD

F]

\=DSáDFRQH

VXPD'R=DSáDW

\

realizuj()

zamknij()

Klient

nazwisko

adres

ZLDU

\J

RGQR

ü

*1

Produkt

*1

1

*

1D

GLD

JUDPDFK

8

0/

P

R*

QD

]D]QDF]Dü

NLHUXQHN

QDZL

JDF

ML

Z]GáX

*G

DQ

HM

D

VR

FM

DF

ML

:

WDNLP

przypadku asocjacja jest rysowana w postaci 

VWU]DáNL

Q

DZL

JDF

MD

MHVW

PR

*OLZD

]J

RGQLH

]

MH

M

kierunkiem, ale nie odwrotnie.

PozycjaZam

ó

wienia

LOR

ü

cena

czyZrealizowana

background image

(ZD6

WHPSRV]-

]

\N

P

RG

HORZDQLDGDQ

\FK80/6OD

MG

II Seminarium PLOUG, 

29 maja 2001

Atrybuty asocjacji

Plik

8

*\WNRZQLN

3UDZRGRVW

SX

GRVW

S

GRVW

SQ\ dla

GRVW

SR]QDF]D

czytanie lub

czytanie-pisanie}

*

*

-H

OL

NODVD

DVRF

MDF

ML

QLH

]DZLHUD

metod  ani asocjacji

do 

innych 

klas, 

to 

MH

MQ

D]

Z

D

P

R*

H

E\

ü

RSXV]F]RQD

GOD

SRGNUH

OHQLD

IDNWX

*

H

chodzi tu 

Z

F]QLHR

atrybuty asocjacji.

Firma

nazwa

adres

Zatrudnienie

zarobek

stanowisko

szef

pracownik

zatrudnia

2FHQDZ\GDMQR

FL

ocena

kieruje

0..1

*

0..1

1..*

Osoba

nazwisko

pesel

adres

background image

(ZD6

WHPSRV]-

]

\N

P

RG

HORZDQLDGDQ

\FK80/6OD

MG

II Seminarium PLOUG, 

29 maja 2001

Atrybuty i asocjacje pochodne

&HFKD

SRFKRGQD

MHVW

]GHILQLRZDQD

SRSU]H]

I

XQNF

M

G]LDáD

M

F

Q

D

jednym lub 

ZL

FH

ME

\WDFK

P

RGHOX

N

WyUH

WH

*P

RJ

E

SRFKRGQH

&HFKD

SRFKR

dna 

R]QDF]DQD

MHVWXNR

QLNLHP

Asocjacja 

pracuje_w

jest 

DVRFMDFM

S

RF

KR

GQ

N

WyU

P

R*

QD

Z

\]QDF]

SRSU]H]

asocjacje 

zatrudnia

zlokalizowana

_

w

$VRF

MDF

M

S

RFKRGQ

P

R*

QD

R]QDF]

SRSU]HG]D

M

FXNR

QLNLHPQD]Z

OXEURO

DVRF

MDF

ML

data_urodzenia

/wiek

^ZLHN GDWDBELH

*

FD

-

d

ata_urodzenia} 

atrybut pochodny: /wiek

:\G]LDá

Sekcja

Pracownik

Budynek

zatrudnia

zlokalizowana_w

/pracuje_w

*

*

*

*

Osoba

asocjacja pochodna: /

pracuje_w

background image

(ZD6

WHPSRV]-

]

\N

P

RG

HORZDQLDGDQ

\FK80/6OD

MG

II Seminarium PLOUG, 

29 maja 2001

3U]\NáDGRZ\

diagram klas

poprzedza

QDVW

SXMHBSR

zawiera

zapisany_na

prowadzi

Pracownik

Student

Osoba

Kurs

Profesor

:\NáDG

1..*

*

1..*

1..*

*

0..1

1

1

background image

(ZD6

WHPSRV]-

]

\N

P

RG

HORZDQLDGDQ

\FK80/6OD

MG

II Seminarium PLOUG, 

29 maja 2001

$JUHJDFMD

MHVW

V]F]HJyOQ\P

SU]\SDGNLHP

DVRFMDFML

Z\UD

*DM

F\P

]ZL

]HN

F]

ü-

FDáR

ü

Np

VLOQLN

MHVWF]

FL

VDPRFKRGX

Nie istnieje jednak powszechnie akceptowana definicja agregacji.

P.

Coad

SRGD

MH

SU]

\NáDG

DJ

UH

JDF

ML

MDNR

]ZL

]HN

SRPL

G]

\R

UJ

DQL]DF

M

L

MH

pracownikami; dla odmiany J.

Rumbaugh

WZLHUG]L

*H

ILUPD

QLH

MHVW

DJ

UH

JDF

M

MH

M

pracownik

ó

w. 

:

ZLHOX

SU]

\SDGNDFK

]ZL

]NL

DJ

UH

JDF

ML

V

R

F]

\ZLVWH

-HGQDN

*H

Z

WSOLZR

FL

SRZVWD

M

Q

DZ

HW

Z

S

U]

\SDGNX

VDPRFKRGX

L

VLOQLND

ER

np

VLOQLN

P

R*

H

E\

ü

WRZDUHP

Z

VNOHSLH

QLH

]ZL

]DQ

\P

]

*DGQ

\P

VDPRFKRGHP

0

WOLN

GRRN

RáD

SR

M

FLD

DJ

UH

JDF

ML

Z

\QLND

UyZQLH

*]

W

HJ

R

*H

MHVW

RQD

QDGX

*\

ZDQD

w celu 

XVSUDZLHGOLZLHQLDSHZQ

\FKR

JUDQLF]H

PRGHOXRELHNWRZH

JR

Np

SRSXODUQH

Z

\M

D

QLHQLH

SRZRGyZ

EUDNX

np.  dziedziczenia 

wielokrotnego 

WR

*H

PR

*QD

MH

ÄREH

M

ü

SU]H]

DJ

UH

JDF

M

´

FR

MHVW

QRQVHQVHP

]

SX

nktu widzenia 

FHOyZ

PRGHORZDQLD

SR

M

FLRZH

JR

W

DN

V

DP

R

MDN

]GDQLH

ÄDVRF

MDF

MH

V

]

E

GQH

ER

PR

*QD

MHREH

M

üSU]H]DWU

\EXW

Wszysto

PR

*QDREHM

üZ

assemblerze!

Agregacja

background image

(ZD6

WHPSRV]-

]

\N

P

RG

HORZDQLDGDQ

\FK80/6OD

MG

II Seminarium PLOUG, 

29 maja 2001

3RM

FLHDJUHJDFMLMHVWUR]XPLDQHQDGZDVSRVRE\

:

8

0

/

W

H

GZ

LH

V

\WXDF

MH

]RVWDá

\

UR]G]LHORQH

3LHUZV]

I

RU

P

Q

D]

wano 

NRPSR]\FM

.RPSR]

\F

MD

R]QDF]D

*H

F\NO

*\

FL

RZ

\V

DG

RZ

HM

]

DZ

LH

UD

V

L

Z

F\NOX

*\FLRZ\PFDáR

FLRUD]

*HVNáDGRZDQLHPR

*HE\üZVSyáG]LH

lona

.

ƒ-DNR]ZL

]HNF]

ü-

FDáR

üSRPL

G]

\RELHNWDPL

ZLDWDU]HF]

\ZLVWH

JR

np. 

VLOQLN

MHVWF]

FL

VDPRFKRGX

ƒ-DNRSRPRFQLF]

\

URGHNGRPRGHORZDQLDGRZROQH

MLQQH

MV

\WXDF

MLN

iedy 

WU]HEDZ

\G]LHOLü

podobiekty

w

 pewnych obiektach.

np. informacja o 

XEH]SLHF]HQLDFKZHZQ

WU]RELHNWyZSUDFRZQLNyZ

.RPSR]\FMDMDNRPRFQDSRVWDüDJUHJDFML

K

C

K

S

*

*

agregacja

kompozycja

K

C

K

S

*

background image

(ZD6

WHPSRV]-

]

\N

P

RG

HORZDQLDGDQ

\FK80/6OD

MG

II Seminarium PLOUG, 

29 maja 2001

Agregacja a kompozycja; 

SU]\NáDG

W przedstawionym 

UR]ZL

]DQLX

punkt

n

a

SáDV]F]

\(

QLH

, w kt

ó

rym

SU]HFLQD

M

V

L

RNU

J

L

wielobok

,

jest odwzorowywany

w

 dwa (?)

o

biekty 

klasy

P

unkt.

Wielobok

Punkt

Styl

kolor

F]

\:

\SHáQLRQ

\

2NU

J

SURPLH

{

ordered

}

3..*

*

*

0..1

0..1

background image

(ZD6

WHPSRV]-

]

\N

P

RG

HORZDQLDGDQ

\FK80/6OD

MG

II Seminarium PLOUG, 

29 maja 2001

Asocjacja kwalifikowana

Katalog

Plik

nazwa

1

*

nazwa pliku jest unikatowa

w ramach katalogu } 

Katalog

Plik

nazwa pliku

0..1

1

3HUVSHNW\ZDSRM

FLRZD

-

p

lik jes

t w  ramach  katalogu jednoznacznie

LGHQW

\ILNRZDQ

\SU]H]QD]Z

.

Perspektywa projektowa

-

w

skazanie na 

WR

*HNDWDOR

JSOLNyZPR

*QD

]RU

JDQL]RZDü

MDNR

WDEOLF

DVRF

MDF

\M

Q

lub 

VáRZQLN

(przeeszukiwanie za

SRPRF

nazwy 

pliku).

background image

(ZD6

WHPSRV]-

]

\N

P

RG

HORZDQLDGDQ

\FK80/6OD

MG

II Seminarium PLOUG, 

29 maja 2001

Asocjacja

n

-arna

Asocjacja n-arna 

to asocjacja, kt

ó

rej 

Z

\VW

SLHQLD

á

F]

n

obiekt

ó

w

E

G

F

\FK

instancjami co 

QD

MZ

\*

HM

n  klas. Dana 

NODVD

PR

*H

SR

MDZLü

VL

Q

D

Z

L

FH

MQ

L*

jednej pozycji

w

asocjacji. 

Asocjacja binarna ze

VZR

M

XSURV]F]RQ

QRWDF

M

L

pewnymi dodatkowymi

ZáDVQR

FLDPL

(WDNLPL

MDNPR

*OLZR

üXVWDODQLDNLHUXQNXQDZL

JRZDQLD

kwalifikator

ó

w

]ZL

]NyZ

agregacji czy kompozycji) jest specjalnym rodzajem 

asocjacji n-arnej (dla

n=2). 

K1

K2

K3

A

K1

K2

K3

asocjacja

3-arna

asocjacja

4-arna

background image

(ZD6

WHPSRV]-

]

\N

P

RG

HORZDQLDGDQ

\FK80/6OD

MG

II Seminarium PLOUG, 

29 maja 2001

Diagramy interakcji

Diagramy interakcji (

ZVSyáSUDF

\

i sekwencji) 

MDNR

JáyZQH

]DGDQLH

P

DM

ZVSRPR

*HQLH

SUR

MHNWDQWD

w procesie konstruowania modelu 

obiektowego 

(diagramu 

klas). 

Pomoc 

polega na analizie zachowania systemu w trakcie realizacji 

MH

JR

]DGD

i LGHQW

\ILNRZDQLX

QRZ

\FK

F]

\W

H*

N

RUHNFLH

MX

*

LVWQLH

M

F\

FK

element

ó

modelu,   np.: klas, 

LFKDWU

\EXWyZF]

\PHWRGRUD]DVRF

MDF

MLPL

G]

\NODVDPL

'LD

JUDP

\

Z

VSyáSUDF

\

VWDQRZL

FH

Z

pewnym sensie

Z

\VW

SLHQLD

fragmentu 

diagramu klas, 

 lepiej

SU]HGVWDZLD

M

]

Z

L

]NL

PL

G]

\

RELHNWDPL

ELRU

F

\PL

XG]LDá

UHDOL]DF

ML

GDQH

JR

SU]

\SDGNX

X*

\FLD

àDWZLH

MW

H*

P

R*

QD

WX

RGZ]RURZDü

HIHNW

\

RGG]LDá

\ZDQLDQDSR

MHG

\QF]

\RELHNW

.

Diagramy sekwencji lepiej 

SU]HGVWDZLD

M

]

DO

H*

QR

FL

F]DVRZH

EDUG]LH

MQ

L*

diagramy kolaboracji

QDGD

M

V

L

do modelowania system

ó

w czasu rzeczywistego i 

]áR

*RQ

\FKVFHQDULXV]

\.

Oba rodzaje diagram

ó

SU]HGVWDZLD

M

bardzo 

SRGREQ

LQIRUPDF

M

, w  nieco 

inny spos

ó

b.

Diagramy sekwencji 

GRVWDUF]D

M

URGNyZ

do modelowania przetwarzania 

ZVSyáELH

*QH

JR

.

background image

(ZD6

WHPSRV]-

]

\N

P

RG

HORZDQLDGDQ

\FK80/6OD

MG

II Seminarium PLOUG, 

29 maja 2001

,QWHUDNFMDQDGLDJUDPDFKZVSyáSUDF\

Komunikaty

PR

J

E\

üQXPHURZDQH

,

albo kolejnymi liczbami naturalnymi

,

albo

VWRVX

M

FQXPHUDF

M

]D

JQLH

*G

*RQ

1XPHUDF

MD]D

JQLH

*G

*RQDR]QDF]D

:  

MH

OLRELHNW

O

otrzyma komunikat o numerze

np. 7.3 to ten  

QXPHUE

G]LH

GRá

F]DQ

\

jako 

prefix do 

ND

*GH

JRNRPXQLNDWXZ

\V

\áDQH

JR

w trakcie realizacji  komunikatu

7.3

przez

O

.

:Personel

bibl.

:&]áRQHN

bibl.

.VL

*

ND

:Egzemplarz

.VL

*

NL

3R

*\F]

(W\WXá

)

1:  a:=

&]\0R

*QD3R

*\F]\ü

2: [a] b:=

&]\'RVW

SQ\

2.1: [b]

=D]QDF]:\SR

*\F]HQLH

specyfikacja

warunku

background image

(ZD6

WHPSRV]-

]

\N

P

RG

HORZDQLDGDQ

\FK80/6OD

MG

II Seminarium PLOUG, 

29 maja 2001

Interakcja na diagramach sekwencji

Dwa sposoby opisywania 

czasu: 

R]QDF]DQLH

VNDOL

F]DVRZH

M

OXE

QDNáDGDQLH

RJ

UDQLF]H

QDXSá

\ZF]DVX

.

:Personel

bibl.

.VL

*

ND

:&]áRQHN

bibl.

:Egzemplarz

.VL

*

NL

3R

*\F]

(W\WXá

)

1:  a :=

&]\0R

*QD3R

*\F]\ü

2: [a] b := 

&]\'RVW

SQ\

2.1: [b]

=D]QDF]:\SR

*\F]HQLH

A

C

{C-A < 5 sek.}

{

=D]QDF]:\SR

*\F]HQLH

-

&]\'RVW

SQ\

< 1 sek.}

background image

(ZD6

WHPSRV]-

]

\N

P

RG

HORZDQLDGDQ

\FK80/6OD

MG

II Seminarium PLOUG, 

29 maja 2001

Generyczne diagramy interakcji

Generyczny  diagram interakcji

ma z 

]DáR

*HQLD

VSHF

\ILNRZDü

wszystkie

sekwencje

interakcji

dla danego

przypadku

X*

\FLD

, a nie tylko dla

jednego

PR

*OLZ

\FK

VFHQDULXV]

\.  UML dostarcza

URGNL

]DUyZQR

do modelowania 

]DFKRZD

ZDUXQNRZ

\FK

, jak i iteracji. 

:K1

:K2

:K3

3.1: *[i := 1..2] x

3.1.1: *[j := 1..3] y

xyyyxyyy

Komunikat, kt

ó

ry

ma

E\

üZ

\VáDQ

\ZLHOHUD]

\, 

PXVLE

\üSRSU]HG]RQ

\V

\PEROHP

*

.

2F]

\ZL

FLHPXVLE

\üWH

*Z

\VSHF

\ILNRZDQ

\ZDUXQHN

RNUH

OD

M

F\

]DNR

F]HQLH

iteracji.

background image

(ZD6

WHPSRV]-

]

\N

P

RG

HORZDQLDGDQ

\FK80/6OD

MG

II Seminarium PLOUG, 

29 maja 2001

2]QDF]DQLHZVSyáELH

*QR

FL

Rodzaj  interakcji

Symbol

Znaczenie

synchroniczna

“Normalna

” proceduralna sytuacja. Nadawca 

]DZLHV]D

G]LDáDQLH

, dop

ó

ki odbiorca nie 

SU]HND

*H

VWHURZDQLD

, co 

PR

*QD

R]QDF]

Z

\NRU]

\VWX

M

FV

\PERO

powrotu.

powr

ó

t

Powr

ó

t nie jest komunikatem. 

Oznacza 

]DNR

F]HQLH

NRPXQLNDWX

i przekazanie sterowania 

do nadawcy.

SáDVND (flat)

Nadawca komunikatu przekazuje sterowanie 

do 

odbiorcy

NR

F]

F

MHGQRF]H

QLH

Z

áDVQ

G]LDáDOQR

ü

.

asynchroniczna

Nadawca komunikatu odbiorcy nie

o

czekuje na 

RGSRZLHG

(RGELRUF

\, ale 

WH

*

in

ie

NR

F]

\

ZáDVQH

MDNW

\ZQR

FL

, co oznacza

*

H

nadal

przetwarza

iPR

*HZ

\V

\áDü

komunikaty.

background image

(ZD6

WHPSRV]-

]

\N

P

RG

HORZDQLDGDQ

\FK80/6OD

MG

II Seminarium PLOUG, 

29 maja 2001

Diagramy stanu (1)

Maszyna stanu

jest grafem

skierowanym,,

NWyUH

JR

ZLHU]FKRáNL

VWDQRZL

stany 

obiektu, a

áXNL

RSLVX

M

SU]H

M

FLD

PL

G]

\

VWDQDPL

3U]H

M

FLH

PL

G]

\

VWDQDPL

jest 

RGSRZLHG]L

na zdarzenie.

Z

wykle, maszyna stanu

jest przypisana

do klasy

VWDQRZL

F

PRGHO

K

LVWRULL

*\

FLD

dla obiektu tej klasy.

0R

*QD

SU]

\SLVDü

PDV]

\Q

stanu do przypadku

w) 

X*

\FLD

, operacji, kolaboracji, ale dla opisu

SU]HSá

\ZX

VWHURZDQLDF]

FLH

MZ

\NRU]

\VWX

MHVL

LQQH

URGNL

, np. 

GLD

JUDP

\DNW

\ZQR

FL

.

Stan

obiektu

PR

*H

E\

ü

FKDUDNWHU

\]RZDQ

\

QD

NLOND

VSRVREyZ

: jako okres czasu, 

wk

rym obiekt oczekuje na zdarzenie albo jako okres czasu, w

k

rym obiekt 

SU]HWZDU]D

DOER

MDNR

]ELyU

ZDUWR

FL

RELHNWX

(atrybut

ó

w

LSRZL

]D

-

w

pewnym 

aspekcie podobnych.

Nazwa stanu

entry/akcja1/akcja2/

GRDNW

\ZQR

üDNW

\ZQR

ü«

exit/akcja1/akcja2/...

akcja -

operacja atomowa

lista akcji

-

akcja1/akcja2/

  -

traktowana jest, 

jak pojedyncza operacja,

DNW\ZQR

ü

-

operacja

NWyU

PR

*QDSU]HUZDü

,

OLVWDDNW\ZQR

FL

-

podobnie, jak lista akcji,

entry

do

exit

-

VáRZD

NOXF]RZH

do specyfikowania operacji wykonywanych  na 

ZH

M

FLX

, w trakcie i 

QDZ

\M

FLX]HVWDQX

background image

(ZD6

WHPSRV]-

]

\N

P

RG

HORZDQLDGDQ

\FK80/6OD

MG

II Seminarium PLOUG, 

29 maja 2001

Diagramy stanu

(2)

Typ zdarzenia

ZRáDQLH

Opis

6NáDGQLD

zmiana

V\JQDá

czas

otrzymanie przez obiekt synchronicznego

*

GDQLD

wykonania operacji -

n

ajbardziej

podstawowy rodzaj zdarzenia

zdarzenie typu 

zmiana

jest

X*

\WHF]QHQS

do modelowania  sytuacji, gdy obiekt 

zmienia stan po otrzymaniu odpowiedzi na 

Z

\VáDQ

\SU]H]VLHELHNRPXQLNDW

otrzymania przez obiekt asynchronicznego

*

GDQLD

wykonania operacji; 

X*

\WHF]QH

do 

PRGHORZDQLD]GDU]H

SU]

\FKRG]

F

\FK

]]HZQ

WU]

systemu

XSá

\QL

FLHF]DVXRNUH

ORQH

JR

w spos

ó

EH]Z]

JO

GQ

\OXEZ]

JO

GQ

\, np. after (5 sec.)

op

(a : T)

when

(Z

\UD

*HQLH

)

nazwa_syg

(a : T)

after

(czas)

background image

(ZD6

WHPSRV]-

]

\N

P

RG

HORZDQLDGDQ

\FK80/6OD

MG

II Seminarium PLOUG, 

29 maja 2001

Diagramy stanu

(3)

SU]HM

FLH]HZQ

WU]QH

(external transition)

SU]HM

FLHZHZQ

WU]QH

(internal transition)

samo-

SU]HM

FLH

(selftransition)

zdarzenie

[warunek] /akcja

S 1

S 2

zdarzenie

[warunek] /akcja

bez zmiany stanu

zdarzenie

[warunek] /akcja

S

SU]HM

FLHDXWRPDW\F]QH

(completion transition)

[warunek] /akcja

S1

S2

ZV]

\VWNLH

RSHUDF

MH

Z

\VSHF

\ILNRZDQH

SR

VáRZDFK

kluczowych entry, exit i do

]RVWDá

\XNR

F]RQH

background image

(ZD6

WHPSRV]-

]

\N

P

RG

HORZDQLDGDQ

\FK80/6OD

MG

II Seminarium PLOUG, 

29 maja 2001

Diagramy stanu

(4)

8U]

G]HQLH

niesprzedane

8U]

G]HQLH

sprzedane

kupno 

XU]

G]HQLD

przez klienta

NOLHQW]ZUyFLá

XU]

G]HQLH

after (data gwarancji)

Kolejka

ELDá\FK

Kolejka

czarnych

UXFKELDá\FK

ruch czarnych

czarne

Z\JU\ZDM

remis

ELDáH

Z

\JU\ZDM

when (szach

m

at)

when (pat)

when (pat)

when (szach

m

at)

Diagram typu: 

F\NO

*\FLDRELHNWX

Diagram typu: 

SU]HSá\ZVWHURZDQLD

VWDQNR

FRZ

\

stan 

SRF]

WNRZ

\

background image

(ZD6

WHPSRV]-

]

\N

P

RG

HORZDQLDGDQ

\FK80/6OD

MG

II Seminarium PLOUG, 

29 maja 2001

Diagramy stanu

(5)

Stan 

prosty  nie posiada substruktury, jest specyfikowany przez zbi

ó

r operacji

o

raz 

SU]H

M

ü. 

Stan 

]áR

*RQ\

SRZVWDá

\

HIHNFLH

]D

JQLH

*G

*DQLD

VWDQyZ

PR

*H

E\

ü

zdekomponowany 

na 

stany bardziej proste, a dekompozycja

jest  tu rodzajem 

specjalizacji. 

.D

*G

\

SRGVWDQyZ

G]LHG]LF]

\S

U]

HM

FLD

nadstanu. Tylko jeden z 

SRGVWDQyZPR

*HE

\üDNW

\ZQ

\

w danym  momencie. 

S

S1

S2

S3

zd2

zd3

zd5

zd4

zd4

zd4

zd1

ZF]H

QLH

MV]HSUDFH5XPEDX

JKD

S1

S2

s3

S

zd4

zd5

zd3

zd1

zd2

D.

Harel, OMT, UML

background image

(ZD6

WHPSRV]-

]

\N

P

RG

HORZDQLDGDQ

\FK80/6OD

MG

II Seminarium PLOUG, 

29 maja 2001

'LDJUDP\DNW\ZQR

FL

(1)

*UDI

DNW\ZQR

FL

to  maszyna stanu,  

kt

ó

rej  podstawowym zadaniem nie jest 

analiza stan

ó

w obiektu, ale modelowanie przetwarzania (

SU]HSá

\ZyZ

operacji). 

6WDQ

\

JUDIX

DNW

\ZQR

FL

, zwane 

DNW\ZQR

FLDPL

RGSRZLDGD

M

stanom 

Z

\Uy

*QLDOQ

\P

w trakcie przetwarzania, a nie stanom obiektu.

$NW

\ZQR

ü

PR

*H

E\

ü

LQWHUSUHWRZDQD

Uy

*QLH

, w 

]DOH

*QR

FL

RG

S

HUVSHNW

\Z

\: jako zadanie

do 

wykonania 

i  to 

]DUyZQRSU]H]F]áRZLHND

,

jak

i

p

rzez komputer

(z perspektywy

SR

M

FLRZH

M) 

F]

\WH

*QS

. jako pojedyncza metoda (z perspektywy  projektowej). 

Podobnie,

SU]H

M

FLD

PL

G]

\

VWDQDPL

UDF]H

MQ

LH

V

tu

]ZL

]DQH

]

QDGH

M

FLHP

zdarzenia, ale z 

]DNR

F]HQLHP

SU]HWZDU]DQLD

Z

\VSHF

\ILNRZDQH

JR

GOD

GDQH

JR

stanu. 

'OD

VNRPSOHWRZDQLD

SUR

MHNWX

ND

*GD

DNW

\ZQR

ü

SRZLQQD

E\

ü

UR]SLVD

na na szereg 

operacji, z

k

rych

ND

*G

WU]HED

E

G]LH

QD

Sy

(QLH

MV]

\P

HWDSLH

SU]

\G]LHOLü

do

odpowiedniej klasy.

'LD

JUDP

\D

NW

\ZQR

FL

V

V]F]H

JyOQLH

X*

\WHF]QH

SU]

\

PRGHORZDQLX

S

U]HSá

\ZyZ

RSHUDF

ML

F]

\W

H*

w

RSLVLH

]DFKRZD

]

SU]HZD

J

SU]HWZDU]DQLDZVSyáELH

*QH

JR

.

background image

(ZD6

WHPSRV]-

]

\N

P

RG

HORZDQLDGDQ

\FK80/6OD

MG

II Seminarium PLOUG, 

29 maja 2001

'LDJUDP\DNW\ZQR

FL

(2)

nazwa

DNW\ZQR

FL

DNW\ZQR

ü

SU]HM

FLH

, z zasady  nie

opisywane; 

PR

*H

E\

ü

RSDWU]RQH

warunkiem,  

PR

*H

WH

*E

R]QDF]RQH

V\

PEROHP

LWHUDF

ML; akcje 

RSLVX

M

FH

SU]H

M

FLD

SRZLQQ

\E

UDF]H

M

GRá

F]RQH

GR

NWyUH

M

z

DNW

\ZQR

FL

;

romb

, NWyU

\PR

*HUR]G]LHODü

MHGQRSU]H

MFLHQDNLONDLQQ

\FK

(opatrzonych warunkami) lub 

á

F]

NLONDDOWHUQDW

\ZQ

\FKSU]H

w jedno

sztabka

synchronizujaca

(synchronization

b

ar); 

PR

*H

E\

ü

typu 

fork

” 

 

(rozdzielenie jednej operacji na kilka 

SU]HELH

JD

M

F\

FK

r

ó

wnolegle) lub typu 

join

” (synchronizacja 

NLONXRSHUDF

MLUyZQROH

\FK

Z

MHGQ

DNW

\ZQR

üSRF]

WNRZD

DNW

\ZQR

üNR

FRZD

Oznaczenia:

background image

(ZD6

WHPSRV]-

]

\N

P

RG

HORZDQLDGDQ

\FK80/6OD

MG

II Seminarium PLOUG, 

29 maja 2001

'LDJUDP\DNW\ZQR

FL

(3)

Pobierz

zam

ó

wienie

:\

OLM

to, co

zam

ó

wiono

3DPL

WDM

, co

NLHG\Z\VáDQR

Skompletuj

zam

ó

wienie

3áDü

Klient

']LDá6SU]HGD

*\

Magazyn

:Zam

ó

wienie

{wprowadzone}

:Zam

ó

wienie

{skompletowane}

:Zam

ó

wienie

{Z

\VáDQH

}

:Zam

ó

wienie

{umieszczone}

Wystaw

zam

ó

wienie

background image

(ZD6

WHPSRV]-

]

\N

P

RG

HORZDQLDGDQ

\FK80/6OD

MG

II Seminarium PLOUG, 

29 maja 2001

Diagramy implementacyjne

ƒ

Diagramy komponent

ó

w

SRND]X

M

FH

]DUyZQR

LPSOHPHQWDF

M

HOHPHQWyZ

projektu (np

NODV

SU]H]

NRPSRQHQW

\

MDN

LL

QWHUIH

MV

\R

UD

]

]D

OH*

QR

F

LP

L

Gzy 

NRPSRQHQWDPL

LQQ

\PL

VáRZ

\

SRND]X

M

FH

VWUXNWXU

NRGX

N

RQVWUXR

wanego 

SI.

ƒ

'LDJUDP\

ZGUR

*HQLRZH

SRND]X

M

FH

NRQIL

JXUDF

M

V

\VWHPX

F]DVX

wykonania, czyli rozmieszczenie komponent

ó

w i

 obiekt

ó

w  na 

REOLF]HQLRZ

\FK

]DVREDFK

F]DVX

Z

\NRQDQLD

]ZDQ

\F

KW

XZ

]áDPL

Taka  

NRQIL

JXUDF

MD

PR

*H

E\

ü

]DUyZQR

VWDW

\F]QD

MD

NL

G

\QDPLF]QD

-

i  komponenty 

LRELHNW

\PR

J

PL

JURZDüPL

G]

\Z

]áDPLZF]DVLHZ

\NRQDQLD

'LD

JUDP

\

LPSOHPHQWDF

\M

QH

SRND]X

M

QLHNWyUH

DVSHNW

\

LPSOHPHQWDF

ML

SI, 

F]D

M

F

Z

WR

VWUXNWXU

NRGX

(UyGáRZH

JR

RUD]

VWUXNWXU

NRGX

F]D

su  wykonania 

(run-time

.RQVWUXRZDQLH

WDNLFK

GLD

JUDPyZ

MHVW

X*

\WHF]QH

]DUyZQR

]H

Z

]J

O

GX

QD

SRQRZQH

X*

\FLH

MDN

L

]H

Z]

JO

GX

QD

P

R*

OLZR

ü

RVL

J

DQLD

]

LFK

SRPRF

RGSRZLHGQLFKSDUDPHWUyZZ

\GD

MQR

FLRZ

\FK

UML wprowadza dwa  rodzaje  takich diagram

ó

w: 

background image

(ZD6

WHPSRV]-

]

\N

P

RG

HORZDQLDGDQ

\FK80/6OD

MG

II Seminarium PLOUG, 

29 maja 2001

Diagramy komponent

ó

w

Komponent

MHVW

MHGQRVWN

LPSOHPHQWDF

ML

]

GREU]H

]GHILQLRZDQ

\P

LQWHUIH

MVHP

GREU]HZ

\L]RORZDQ

\]NRQWHNVWXQDGD

M

F\

VL

GRZLHORNURWQH

JR

wykorzystania. 

Diagram komponent

ó

w j

es

przedstawiany 

jako graf, gdzie 

Z

]áDPL

V

NRPSRQHQW

\

]D

]DOH

*QR

F

LS

UR

Z

DG

]

R

G

N

OLH

QW

D

pewnej 

informacji do jej 

dostawcy.

Program do

harmonogram

ó

w

Program 

SODQXM

F\

Interfejs

graficzny

rezerwacje

aktualizacje

background image

(ZD6

WHPSRV]-

]

\N

P

RG

HORZDQLDGDQ

\FK80/6OD

MG

II Seminarium PLOUG, 

29 maja 2001

'LDJUDP\ZGUR

*HQLRZH

'LD

JUDP

\ZGUR

*HQLRZHSRND]X

M

NRQIL

JXUDF

M

HOHPHQWyZF]DVXZ

\N

onania: 

NRPSRQHQWyZVSU]

WRZ

\FKIL]

\F]Q

\FK

MHGQRVWHNSRVLDGD

M

F\

FKFR

najmniej 

SDPL

üDF]

VWRLPR

*OLZR

FLREOLF]HQLRZHNRPSRQHQWyZRSUR

Jramowania 

RUD]]ZL

]DQ

\FK]QLPLRELHNWyZ

'LD

JUDPZGUR

*HQLRZ

\

MHVW

JUDIHP

JG]LH

Z

LHU]FKRáNL

]ZDQH

Z

]áDP

L

SRá

F]RQH

V

SU]H]

OLQLH

RGZ]RURZ

\ZX

M

FH

SRá

F]HQLD

NRPXQLNDF

\M

QH

NRPSRQHQWyZ

VSU]

WRZ

\FK

:

\

SRGREQLH

MDN

SRá

F]HQLD

NRPXQLNDF

\M

QH

PR

J

E

opatrzone stereotypami,

n

p

©&38ª

©SDPL

üª

©XU]

G]HQLH

MDNLH

ª

:

\

SU]HFKRZX

M

Z

\VW

SLHQLDRELHNWyZLNRPSRQHQWyZ

AdminServer:KomputerHost

:Program do

harmonogram

ó

w

rezerwacje

KomputerJacka:PC

:Program 

SODQXM

F\

SRá

F]HQLH

komunikacyjne

background image

(ZD6

WHPSRV]-

]

\N

P

RG

HORZDQLDGDQ

\FK80/6OD

MG

II Seminarium PLOUG, 

29 maja 2001

Diagramy pakiet

ó

w (1)

Pakiety 

VWDQRZL

zgrupowanie element

ó

w modelu

6

URGNLHP

RJ

yOQH

JR

zastosowania przeznaczonym

do budowania struktur hierarchicznych.

.D

*G

\

element modelu musi

E\

ü

przypisany

do jednego

pakietu

(home 

package). Model 

PR

*HE

\üRSLVDQ

\SU]H]]ELyUSDNLHWyZ

.

3DNLHW

RSUyF]

HOHPHQWyZ

PRGHOX

P

R*

H

WH

*

]DZLHUDü

LQQH

SDNLHW

\

(]D

JQLH

*G

*DQLH

). 

Stosowanie pakiet

ó

]QDF]

FR

XáDWZLD

]DU]

G]DQLH

przechowywaniem, 

konfiguracjami czy modyfikowaniem element

ó

w systemu.

'REU]HSU]HSURZDG]RQ

\SRG]LDáQDSDNLHW

\PR

*H]QDF]

FR

XáDWZLü

]DU]

G]DQLH

procesem  konstrukcji  produktu programistycznego.

6

pakiety specjalnego rodzaju: fasada (facade), model, podsystem, system.

background image

(ZD6

WHPSRV]-

]

\N

P

RG

HORZDQLDGDQ

\FK80/6OD

MG

II Seminarium PLOUG, 

29 maja 2001

Diagramy pakiet

ó

w(

2

)

=áR

*RQDNRODERUDFMD

Ukrywanie detali, jest 

X*

\WHF]QH

MDN

ND

*GD

DEVWUDNF

MD

7HPX

FHORZL

PR

*H

QS

VáX

*\

ü

Z

\RGU

EQLHQLH

VXENRODERUDF

ML

, a 

QDVW

SQLH

]DPLDQD

MH

MQ

D

SDNLHW

. Pakiet nie 

SRVLDGD

ZáDVQH

JR

LQWHUIH

MVX

, w

tym 

sensie

*

H

SU]HVáDQLH

NRPXQLNDWX

do pakietu, 

R]QDF]DSU]HVáDQLHNRPXQLNDWX

do obiektu 

ZHZQ

WU]

pakietu. 

W UML, 

sparametryzowana kolaboracja 

jest

traktowana jako

wzorzec 

projektowy

(design pattern)

.

:\Uy

*QLDQLHVXENRODERUDFML

Zamiana  subkolaboracji

na pakiet

background image

(ZD6

WHPSRV]-

]

\N

P

RG

HORZDQLDGDQ

\FK80/6OD

MG

II Seminarium PLOUG, 

29 maja 2001

Diagramy pakiet

ó

w(

3

)

Edytor

Elementy 

diagram

ó

w

graficznych

Elementy 

dziedziny

]DVWRVRZD

Sterownik

5G]H

JUDILNL

5G]H

JUDILNL

Motif

5G]H

JUDILNL

Windows

System

okienkowy

Motif

MS

Windows

background image

(ZD6

WHPSRV]-

]

\N

P

RG

HORZDQLDGDQ

\FK80/6OD

MG

II Seminarium PLOUG, 

29 maja 2001

Diagramy pakiet

ó

w(

4

)

«

facade

»

 (

«

fasada

»

)  Zawiera

Z

F]QLH

RGZRáDQLD

do element

ó

zdefiniowanych

w

 innych pakietach.

«

model

»

6WDQRZLPQLH

MOXEZL

FH

MNRPSOHWQ

DEVWUDNF

M

V\

VWHPX

(na pewnym 

SR]LRPLHV]F]H

JyáRZR

FLZLG]LDQ

]

pewnej perspektywy. Zwykle zawiera

drzewo pakiet

ó

w. 

«

subsytem

»

 (

«

 podsystem

»

)  Jest  rodzajem pakietu, kt

ó

ry reprezentuje pewien 

sp

ó

jny,  logiczny, dobrze wyizolowany fragment systemu. Posiada dobrze 

wyspecyfikowany zbi

ó

r interfejs

ó

w,  do interakcji z otoczeniem. Podsystem 

podzielony jest 

QDGZLHF]

FLVSHF

\ILNDF

\M

Q

LUHDOL]DF

\M

Q

&]

ü

specyfikacyjna zawiera opis interakcji z otoczeniem, z 

UH

JXá

\]D

SRPRF

SU]

\SDGNyZX

*\

FLD

. &]

üUHDOL]DF

\M

QD

SRVáX

JX

M

FVL

NRODERUDF

MDPL

, podaje

sposoby realizacji przypadk

ó

w przez podsystem. Podsytemy

PR

J

E

]EXGRZDQH

z innych podsystem

ó

w, 

ZWHG

\W

H

QD

MQL

*V]H

JR

SR]LRPX

P

XV]

MX

*

]DZLHUDü

elementy modelu.

Podsytem stanowi zgrupowanie element

ó

w modelu logicznego. Komponent jest 

zgrupowaniem element

ó

w modelu implementacyjnego. Zwykle,  podsystemy 

V

implementowane jako komponenty. 

7DNLH

SRGH

MFLH

XSUDV]F]D

PDSRZDQLH

modelu logicznego na implementacyjny.

background image

(ZD6

WHPSRV]-

]

\N

P

RG

HORZDQLDGDQ

\FK80/6OD

MG

II Seminarium PLOUG, 

29 maja 2001

0HFKDQL]P\UR]V]HU]DOQR

FL

w UML

UML 

SRVLDGDWU]\URG]DMHPHFKDQL]PyZUR]V]HU]DOQR

FL

:

ƒ

stereotypy,

ƒ

ZDUWR

FLHW

\NLHWRZDQH

,

ƒ

ograniczenia.

Stereotypy

ƒ

6WHUHRW

\S

\XPR

*OLZLD

M

PHWDNODV

\ILNDF

M

element

ó

w modelu.

ƒ

Istnieje 

lista

VWHUHRW

\SyZ

GOD

ND

*GH

JR

rodzaju

element

ó

w modelu (elementu 

 

metamodelu  UML), 

np

UHODF

MLPL

G]

\SU]

\SDGNDPLX

*\

FLDNODVF]

\PHWRG

ƒ

Dany  element  modelu (np

NRQNUHWQDNODVDF]

\PHWRGDPR

*HE

oznaczona co 

QDMZ\

*HMMHGQ\P

stereotypem.

ƒ

6

VWHUHRW

\S

\SUHGHILQLRZDQHDOHX

*\

WNRZQLF

\PR

J

WH

*GHILQLRZ

DüZáDVQH

ƒ

6WHUHRW

\S

\UR]V]HU]D

M

VHPDQW

\N

PHWDPRGHOX

background image

(ZD6

WHPSRV]-

]

\N

P

RG

HORZDQLDGDQ

\FK80/6OD

MG

II Seminarium PLOUG, 

29 maja 2001

Stereotypy; notacja

Notacja: 

zwykle

«

nazwa stereotypu

»

lub  

ikona

, ale 

PR

*QDWH

*X

*\

ZDü

koloru

czy  

tekstury

FKRü

Uy

*Q

\FK

Z

]J

O

GyZ

QLH

jest to polecane (ograniczenia ludzkie lub 

VSU]

WX

).

,NRQD

PR

*H

E\

ü

X*

\ZDQDQD

2 sposoby: zamiast symbolu stereotypu (

c

d

lub razem z 

nim (

b

). W przypadkach 

a

b

c

]DZDUWR

ü

HOHPHQWX

P

RGHOX

RSDWU]RQH

JR

VWHUHRW

\SHP

(tu:

klasy 

3LyUR

ZLHWOQH

jest widoczna. W przypadku 

d

]RVWDáDRSXV]F]RQD

.

«

sterowanie

»

3LyUR

ZLHWOQH

lokacja: Punkt

uruchom (Tryb)

3LyUR

ZLHWOQH

«

sterowanie

»

3LyUR

ZLHWOQH

lokacja: Punkt

uruchom (Tryb)

ikona

(a

)(

b

)

(c

)

(d

)

«

 »

guillemets

-

jeden znak -

X*

\ZDQ

\

FKDUDNWHU]HFXG]

\VáRZLD

M

]. francuskim

3LyUR

ZLHWOQH

lokacja: Punkt

uruchom (Tryb)

background image

(ZD6

WHPSRV]-

]

\N

P

RG

HORZDQLDGDQ

\FK80/6OD

MG

II Seminarium PLOUG, 

29 maja 2001

Stereotypy; 

SU]\NáDG\

«

WUZ

DáD

»

3URVWRN

W

punkt1: Punkt

punkt2: Punkt

«

konstruktory

»

3URVWRN

WS3XQNWS3XQNW

«

zapytania

»

obszar () : Real

aspekt

() :

 Real

...

«

aktualizacje

»

SU]HVX

GHOWD3XQNW

SU]HVNDOX

MZVSyáF]

\QQLN

Real)

P1

P2

«

include

»

P3

P4

«

extend

»

rodzaj element

ó

w modelu: 

UHODF

MHPL

G]

\SU]

\SDGNDPLX

*\

FLD

lista stereotyp

ó

w dla tego rodzaju:

«

include

»

«

extend

»

.D

*GDUHODF

MDPL

G]

\SU]

\SDGNDPLX

*\

FLD

(element modelu) jest opatrzona 

jednym z dw

ó

ch  stereotyp

ó

wz

 SRZ

\*

V]H

MOLVW

\.

«

WUZ

DáD

»

3URVWRN

W

punkt1: Punkt

punkt2: Punkt

«

konstruktory

»

3URVWRN

WS3XQNWS3XQNW

«

zapytania

»

obszar () : Real

aspekt () : Real

...

«»

SU]HVX

GHOWD3XQNW

SU]HVNDOX

MZVSyáF]

\QQLN

Real)

Jednym stereotypem 

PR

*QD

RSDWU]

FDá

OLVW

HOHPHQWyZ

P

RGHOX

.RQLHF

OLVW

\P

R*

H

E\

ü

oznaczony przez

«»

.

background image

(ZD6

WHPSRV]-

]

\N

P

RG

HORZDQLDGDQ

\FK80/6OD

MG

II Seminarium PLOUG, 

29 maja 2001

ƒ

:DUWR

üH

W\

NLHWRZDQ

stanowi

FL

J

znak

ó

w

o

postaci: 

VáRZRNOXF]RZH ZDUWR

ü

'RZROQ

\áD

FXFK]QDNyZPR

*HE

\üX

*\

W\

MDNRVáRZRNOXF]RZH

ƒ

6

VáRZDNOXF]RZHSUHGHILQLRZDQHDOHX

*\

WNRZQLNPR

*HWH

*GHILQ

LRZDüZáDVQH

ƒ

/LVW

ZDUWR

FLHW

\NLHWRZDQ

\FK

(oddzielonych przecinkami)

XPLHV]F]DVL

w  

{}

ƒ

'RZROQ

\HOHPHQWPRGHOXPR

*HE

\üVNR

MDU]RQ

\QLHW

\ONR]OLVW

ZDUWR

FL

HW

\NLHWRZDQ

\FKDOHZEDUG]LH

MR

JyOQ

\PVHQVLH]áD

FXFKHPZáDV

QR

FLZSRVWDFL

^GRZROQ

\áD

FXFK]QDNyZ

`

:DUWR

FLHW\NLHWRZDQH

:DUWR

FL

HW\NLHWRZDQH

V

X

*\

ZDQH

GR

VNR

MDU]HQLD

arbitralnej informacji z 

pojedynczym elementem modelu.

{autor = 

“Jan

N

owak

´WHUPLQ]DNR

F]HQLD ³0D

MD´VWDWXV DQDOL]D

`

3U]\NáDG

:

:DUWR

FL

HW

\NLHWRZDQH

V

szczeg

ó

lnie przydatne do przechowywania 

zar

ó

wno 

informacji

]ZL

]DQ

\FK

]

]DU]

G]DQLHP

projektem (jak w 

SU]

\NáDG]LH

SRZ

\*

HM

), jak i 

do 

SU]HFKRZ

\ZDQLDV]F]H

JyáyZ

implementacyjnych.

background image

(ZD6

WHPSRV]-

]

\N

P

RG

HORZDQLDGDQ

\FK80/6OD

MG

II Seminarium PLOUG, 

29 maja 2001

Ograniczenia

Ograniczenia

VSHF

\ILNX

M

U

HV

WU\

NF

MH

QDNáDGDQH

QD

HOHPHQW

\P

RG

HO

X

0

RJ

VWDQRZLü

Z

\UD

*HQLD

M

]\

ND

QDWXUDOQH

JR

F]

\

M

]\

ND

IRUPDOQH

JR

(np. OCL w UML), 

PR

J

WH

*S

U]

\M

PRZDü

SRVWDü

IRUPXá

\

P

DWHPDW

\F]QH

MO

XE

I

UD

JPHQWX

NRGX

(F]

\W

H*

pseudokodu). 

Notacja: 

V

zawarte 

ZHZQ

WU]

{}

umieszczane 

za elementem w klasie, lub poza 

NODV

0R

J

WH

*E

\üXPLHV]F]DQH

w komentarzu.

Pracownik

LPL

nazwisko

pensja {<=10 000}

Pracownik

LPL

nazwisko

pensja

{pensja

<=10 000}

{pensja nie wzrasta o

ZL

FH

MQL

*

300}

ograniczenie

statyczne

ograniczenie

dynamiczne

]PLH

SHQV

M

(nowa)

background image

(ZD6

WHPSRV]-

]

\N

P

RG

HORZDQLDGDQ

\FK80/6OD

MG

II Seminarium PLOUG, 

29 maja 2001

Ograniczenia; 

SU]\NáDG\

Konto

Firma

Osoba

{xor}

QDOH

*\

do

0..1

0..1

*

*

Symbole, takie jak 

----

oraz 

---->

PR

J

E

X*

\ZDQH

do wskazywania 

element

ó

w, 

QDNWyUH]RVWDá

\QDáR

*RQHR

JUDQLF]HQLD

.

Firma

0..1

1..*

pracownik

p

racodawca

SRGZáDGQ\

szef

0..1

*

Osoba

ograniczenie zapisane

w komentarzu

{Osoba.pracodawca = 

Osoba.szef.pracodawca}

background image

(ZD6

WHPSRV]-

]

\N

P

RG

HORZDQLDGDQ

\FK80/6OD

MG

II Seminarium PLOUG, 

29 maja 2001

&]\NRU]\VWDü

PHFKDQL]PyZUR]V]HU]DOQR

FL

?

UML 

GRVWDUF]

\áD

NLONX

PHFKDQL]PyZ

UR]V]HU]DOQR

FL

DE

\X

P

R*

OLZLü

SUR

MHNWDQWRP

Z

SURZDG]DQLH

P

RG

\ILNDF

ML

EH]

NRQLHF]QR

FL

]PLDQ

\V

DP

HJ

R

M

]\

ND

modelowania. Tw

ó

rcy

U

ML 

VWDUDOL

VL

w ten spos

ó

b (

FKRFLD

*E

\

w pewnym 

stopniu) 

]DVSRNRLü

SRWU]HE

\

VSHF

\ILF]Q

\FK

G]LHG]LQ

SUREOHPRZ

\FK

F]

\

URGR

wi

sk 

programowych.

1DU]

G]LD

PR

J

S

U]HFKRZ

\ZDü

ZSURZDG]RQH

P

RG

\ILNDF

MH

RUD]

PDQLSXORZDü

QL

P

LE

H]

N

RQ

LH

F]

QR

FL

Z

QLNDQLD

LFK

VHPDQW

\N

-

m

odyfikacje

UH

JXá

\

V

przechowywane w 

SRVWDFLáD

FXFKyZ]QDNRZ

\FK

.

1DU]

G]LD

P

RJ

XVWDQRZLü

Z

áDVQ

VNáDGQL

VHPDQW

\N

G

OD

R

EV

áX

JL

PHFKDQL]PyZUR]V]HU]DOQR

FL

.

1DOH

*\

S

DP

L

WDü

*H

rozszerzenia 

VWDQRZL

]

G

HI

LQ

LF

ML

RGVW

SVWZR

RG

standard

ó

w

80

/

L

*H

Z

naturalny spos

ó

SURZDG]

G

R

utworzenia pewnego 

dialektu UML, a 

to 

NROHL

P

R*

H

SURZDG]Lü

do

problem

ó

w

]

SU]HQDV]DOQR

FL

7U]HED

]DZV]H

GREU]H

UR]ZD

*\

ü

]\

VNL

i straty, kt

ó

re 

PR

J

E

SRQLHVLRQH

G]L

NL

korzystaniu z tych mechanizm

ó

w, szczeg

ó

lnie

wtedy,  

gdy

“stare

” standardowe 

mechanizmy

SUDFX

M

Z

\VWDUF]D

M

FR

dobrze. 

background image

(ZD6

WHPSRV]-

]

\N

P

RG

HORZDQLDGDQ

\FK80/6OD

MG

II Seminarium PLOUG, 

29 maja 2001

Podsumowanie UML

80/

SRZVWDá

Z

UH]XOWDFLH

SRá

F]RQ

\FK

Z

\VLáNyZ

WU]HFK

]QDQ

\FK

P

Htodolog

ó

w: 

G.

Booch

’a, I.

Jacobson

’a

i J. Rumbaugh

’a,  

NWyU

\FK

P

HWRG

\NL

RSDQRZDá

\R

NR

áR

U

\QNX

]DVWRVRZD

P

HW

RG

\N

RELHNWRZ

\FK

80/

]\

VNX

MH

FRUD]

ZL

NV]

SRSXODUQR

ü

MDNR

VNáDGRZD

QDU]

G]L

&$6(

L

SUDZGRSRGREQLH

E

G]LH

GRPLQRZDá

SU]H]ZLHOHQD

MEOL

*V]

\FKODWZREV]DU]HDQDOL]

\LSUR

MHNWRZDQLD

SI.

80

/

]J

RGQLH

]

GHNODUDF

M

W

Z

yU

Fy

Z

Q

LH

P

D

DP

EL

FM

L

E\

ü

PHWRG

\N

SUR

MHNWRZDQLD

-HVW

]HVWDZHP

SR

M

ü

R]QDF]H

L

G

LD

JUDPyZ

NWyU

\P

RJ

E

X*

\Z

DQ

HZ

G

RZ

RO

QH

MP

HW

RG

\FH

RSDUW

\FK

R

SRGVWDZRZH

SR

MFLD

RELHNW

RZR

FL

3R

M

FLD

80/

Z

]

DáR

*HQLX

WZyUFyZ

PD

M

S

U]

\NU

ZL

NV]R

ü

LVWRWQ

ych aspekt

ó

modelowanych system

ó

w.

Kwestia semantyki i pragmatyki tej notacji pozostaje mglista, co

jest 

QLHXFKURQQ

\P

VNXWNLHP

VSU]HF]QR

FL

SRPL

G]

\Q

DW

XU

S

UR

FH

Vy

Z

W

Z

yU

czych a ich 

IRUPDOL]DF

M

80

/

MHVWVNáDGRZ

VWDQGDUGX20*&25%$

1LH

ZV]

\VF

\V

]

DF

KZ

\FHQL

80/

1

LHNWyU]

\V

SH

FM

DOL

FL

XZD

*D

M

J

R

za tw

ó

QLHVWDELOQ

\

]E

\W

FL

*

NL

SU]HUHNODPRZDQ

\L

(OH

]GHILQLRZDQ

\

8

ML ma 

NRQNXUHQWyZZSRVWDFLFDáH

JR]HVWDZXLQQ

\FKPHWRG

\NRELHNWRZ

\FK

.


Document Outline