(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/
(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
(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´
(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
(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
)
(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:
(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
(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.
(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:
(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
(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)
(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
(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
tó
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
.
(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
(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
(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
ó
r
<Pracownik>
,
czy analogicznie
Zbi
ó
rP
ra
co
w
n
ik
ó
w
, jest zbiorem.
szablon
(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
(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
(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
(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
w
*DGQH
M
z nadklas
d
anej
klasy konkretnej.
(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
w
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
(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,
w
SU]HFLZLH
VWZLH
do interfejsu,
PR
*H
]DZLHUDü
atrybuty i
implementacje metod.
(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.
(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
(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\
:
(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
(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
(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
i
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
(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
(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
j
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
(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
Ná
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
*
(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
(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).
(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
(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
ó
w
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á
w
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
ó
w
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
.
(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
(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.}
(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
z
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.
(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.
(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
tó
rym obiekt oczekuje na zdarzenie albo jako okres czasu, w
k
tó
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
(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
ó
b
EH]Z]
JO
GQ
\OXEZ]
JO
GQ
\, np. after (5 sec.)
op
(a : T)
when
(Z
\UD
*HQLH
)
nazwa_syg
(a : T)
after
(czas)
(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
(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
\
(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á
\
w
HIHNFLH
]D
JQLH
*G
*DQLD
VWDQyZ
,
PR
*H
E\
ü
zdekomponowany
na
stany bardziej proste, a dekompozycja
jest tu rodzajem
specjalizacji.
.D
*G
\
z
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
(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
tó
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
.
(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
Mü
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
Já
\FK
Z
MHGQ
DNW
\ZQR
üSRF]
WNRZD
DNW
\ZQR
üNR
FRZD
Oznaczenia:
(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
i 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
(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,
Zá
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:
(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
t
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
(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
(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
ó
w
]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.
(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
(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
(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
ó
w
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.
(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
(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ü
z
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
\
w
FKDUDNWHU]HFXG]
\VáRZLD
w
M
]. francuskim
3LyUR
ZLHWOQH
lokacja: Punkt
uruchom (Tryb)
(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
»
i
«
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
«»
.
(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.
(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]
{}
i
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)
(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}
(ZD6
WHPSRV]-
]
\N
P
RG
HORZDQLDGDQ
\FK80/6OD
MG
II Seminarium PLOUG,
29 maja 2001
&]\NRU]\VWDü
z
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
w
LFK
VHPDQW
\N
-
m
odyfikacje
z
UH
JXá
\
V
przechowywane w
SRVWDFLáD
FXFKyZ]QDNRZ
\FK
.
1DU]
G]LD
P
RJ
XVWDQRZLü
Z
áDVQ
VNáDGQL
i
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
ó
b
SURZDG]
G
R
utworzenia pewnego
dialektu UML, a
to
z
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.
(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
ó
w
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
ó
r
QLHVWDELOQ
\
]E
\W
FL
*
NL
SU]HUHNODPRZDQ
\L
(OH
]GHILQLRZDQ
\
8
ML ma
NRQNXUHQWyZZSRVWDFLFDáH
JR]HVWDZXLQQ
\FKPHWRG
\NRELHNWRZ
\FK
.