You are on page 1of 18

IDZ DO

PRZYKADOWY ROZDZIA
SPIS TRECI

KATALOG KSIEK
KATALOG ONLINE
ZAMW DRUKOWANY KATALOG

TWJ KOSZYK
DODAJ DO KOSZYKA

CENNIK I INFORMACJE
ZAMW INFORMACJE
O NOWOCIACH
ZAMW CENNIK

CZYTELNIA
FRAGMENTY KSIEK ONLINE

Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl

Jzyk UML 2.0 w modelowaniu


systemw informatycznych
Autorzy: Stanisaw Wrycza, Bartosz
Marcinkowski, Krzysztof Wyrzykowski
ISBN: 83-7361-892-9
Format: B5, stron: 448

Poznaj uniwersalne narzdzie projektowania obiektowego


Diagramy jzyka UML
Modelowanie biznesowe
Metodyki projektowe oparte na UML
Narzdzia CASE
Rosnca popularno programowania obiektowego zmienia rwnie metody
modelowania systemw informatycznych. Modelowanie strukturalne zostao zastpione
przez modelowanie obiektowe. Standardem w tej dziedzinie sta si jzyk UML
(Unified Modelling Language) graficzny system wizualizacji, specyfikowania oraz
dokumentowania skadnikw systemw informatycznych. Opis systemu wykonany
za pomoc jzyka UML jest jednoznaczny, co bardzo uatwia napisanie kodu
rdowego w oparciu o modele. Narzdzia do modelowania obiektowego umoliwiaj
wygenerowanie szkieletu klas i obiektw, a po odpowiednim zintegrowaniu ze
rodowiskiem programistycznym pozwalaj na dwukierunkow synchronizacj
modelu z kodem rdowym. W oparciu o jzyk UML stworzona zostaa metodyka
projektowania oprogramowania noszca nazw RUP (Rational Unified Process)
zyskujca coraz wiksze uznanie. Znajomo jzyka UML i metodologii RUP jest dzi
istotnym elementem kwalifikacji kierownika projektw informatycznych. Znajomo
jzyka UML i metodyki RUP jest aktualnie istotnym elementem kwalifikacji analitykw,
projektantw i kierownikw projektw informatycznych a take skadnikiem
nowoczesnych programw studiw informatycznych.
Definiowanie wymaga funkcjonalnych systemu za pomoc diagramw
przypadkw uycia
Strukturyzacja przypadkw uycia i tworzenie diagramw klas
Opis dziaania systemu w postaci diagramu czynnoci i diagramu stanw
Prezentacja komunikacji pomidzy elementami systemu za pomoc
diagramu interakcji
Tworzenie diagramw wdroeniowych
Modelowanie biznesowe i analityczne w metodyce RUP
Narzdzia CASE
Plakat syntetycznie ujmujcy notacj UML 2.0
Modelowanie obiektowe to technologia przyszoci. Poznaj j ju dzi

Spis treci
Wstp .............................................................................................. 9

Cz I

Podstawy jzyka UML 2.0 .............................................13

Rozdzia 1. Jzyk UML rozwj, struktura, pojcia .......................................... 15


Znaczenie obiektowoci w modelowaniu systemw informatycznych .......................... 15
Geneza i ewolucja jzyka UML ..................................................................................... 17
Diagramy UML 2.0 ........................................................................................................ 21
Perspektywy w opisie architektury systemu ................................................................... 25
Mechanizmy rozszerzalnoci .......................................................................................... 27
Stereotyp .................................................................................................................. 27
Ograniczenie ............................................................................................................ 28
Metka ....................................................................................................................... 28
Podstawowe pojcia ....................................................................................................... 29
Pytania i zadania ............................................................................................................. 30

Rozdzia 2. Diagramy przypadkw uycia ........................................................... 33


Znaczenie diagramw przypadkw uycia ..................................................................... 33
Podstawowe kategorie pojciowe oraz notacja graficzna ............................................... 34
Przypadek uycia ..................................................................................................... 34
Aktor ........................................................................................................................ 35
Zwizek .................................................................................................................... 36
Zaawansowane skadniki diagramu ................................................................................ 39
Rozbudowa DPU poprzez rnicowanie zwizkw ................................................. 40
Zalenoci zawierania .............................................................................................. 40
Zalenoci rozszerzania ........................................................................................... 41
Uoglnienia .............................................................................................................. 43
Rodzaje aktorw ...................................................................................................... 45
Liczebno ............................................................................................................... 46
Nawigacja ................................................................................................................ 47
Realizacja ................................................................................................................. 49
Przypadki uycia typu CRUD .................................................................................. 49
Stosowanie nazw ciekowych ................................................................................ 50
Diagram kontekstowy .............................................................................................. 50
Dokumentacja przypadkw uycia .......................................................................... 51
Proces tworzenia diagramu przypadkw uycia ............................................................. 54
Studium diagramu przypadkw uycia .......................................................................... 55
Podstawowe pojcia ....................................................................................................... 56
Pytania i zadania ............................................................................................................. 57

Jzyk UML 2.0 w modelowaniu systemw informatycznych

Rozdzia 3. Diagramy klas ................................................................................ 61


Znaczenie diagramw klas ............................................................................................. 61
Podstawowe kategorie pojciowe oraz notacja graficzna ............................................... 61
Asocjacja .................................................................................................................. 64
Nazwy asocjacji ....................................................................................................... 65
Role .......................................................................................................................... 66
Nawigacja ................................................................................................................ 66
Liczebno ............................................................................................................... 66
Agregacja ................................................................................................................. 67
Zaawansowane skadniki diagramu ................................................................................ 70
Rodzaje diagramw klas .......................................................................................... 71
Zobowizania ........................................................................................................... 71
Widoczno .............................................................................................................. 72
Atrybuty i operacje statyczne ................................................................................... 73
Nazwy klas, atrybutw i operacji ............................................................................. 73
Notacja atrybutw i skadnia operacji ...................................................................... 74
Klasy asocjacyjne ..................................................................................................... 77
Asocjacje zwrotne i wielokrotne .............................................................................. 79
Kwalifikacja ............................................................................................................. 79
Uoglnienia, klasy abstrakcyjne oraz konkretne ...................................................... 80
Zaleno ................................................................................................................. 83
Realizacja ................................................................................................................. 83
Diagramy obiektw ........................................................................................................ 85
Proces tworzenia diagramu klas ..................................................................................... 86
Studium diagramu klas ................................................................................................... 87
Podstawowe pojcia ....................................................................................................... 89
Pytania i zadania ............................................................................................................. 91

Rozdzia 4. Diagramy czynnoci ........................................................................ 95


Znaczenie diagramw czynnoci .................................................................................... 95
Podstawowe kategorie pojciowe oraz notacja graficzna ............................................... 96
Czynnoci a akcje ..................................................................................................... 96
Zaawansowane skadniki diagramu ................................................................................ 99
Przepywy sterowania .............................................................................................. 99
Znacznik sterowania ................................................................................................ 99
Przepywy decyzyjne ............................................................................................. 100
Decyzja .................................................................................................................. 100
cznik ................................................................................................................... 104
Zczenie ................................................................................................................ 104
Przepywy wspbiene .......................................................................................... 106
Akcje ...................................................................................................................... 107
Przepywy danych .................................................................................................. 111
Przekaniki danych ................................................................................................ 112
Parametr czynnoci ................................................................................................ 116
Wagi ....................................................................................................................... 117
Sygnay .................................................................................................................. 118
Bufor centralny ...................................................................................................... 118
Skadnica danych ................................................................................................... 120
Partycje diagramw czynnoci ............................................................................... 121
Obszar rozszerzenia ............................................................................................... 127
Obszar przerwania .................................................................................................. 130
Manipulator wyjtkw ........................................................................................... 131

Spis treci

5
Proces tworzenia diagramu czynnoci .......................................................................... 132
Studium diagramu czynnoci ....................................................................................... 133
Podstawowe pojcia ..................................................................................................... 135
Pytania i zadania ........................................................................................................... 136

Rozdzia 5. Diagramy maszyny stanowej .......................................................... 143


Znaczenie diagramw maszyny stanowej ..................................................................... 143
Podstawowe kategorie pojciowe oraz notacja graficzna ............................................. 144
Zaawansowane skadniki diagramu .............................................................................. 146
Sekcje symbolu graficznego stanu ......................................................................... 146
Klasyfikacja stanw ............................................................................................... 148
Obszary wspbiene ............................................................................................. 150
Pseudostany ............................................................................................................ 152
Rodzaje przej ...................................................................................................... 157
Protokoowe maszyny stanowe .............................................................................. 158
Maszyny stanowe zachowania ............................................................................... 161
Zdarzenia ............................................................................................................... 163
Proces tworzenia diagramu maszyny stanowej ............................................................ 164
Studium diagramu maszyny stanowej .......................................................................... 165
Podstawowe pojcia ..................................................................................................... 168
Pytania i zadania ........................................................................................................... 169

Rozdzia 6. Diagramy interakcji ....................................................................... 173


Interakcje ...................................................................................................................... 173
Diagramy interakcji ...................................................................................................... 173
Skadnia komunikatu .................................................................................................... 174
Podstawowe pojcia ..................................................................................................... 177
Pytania i zadania ........................................................................................................... 177

Rozdzia 7. Diagramy sekwencji ...................................................................... 179


Znaczenie diagramw sekwencji .................................................................................. 179
Podstawowe kategorie pojciowe oraz notacja graficzna ............................................. 180
Rodzaje diagramw sekwencji ............................................................................... 180
Klasyfikator, komunikat i linia ycia ..................................................................... 181
Rodzaje klasyfikatorw .......................................................................................... 183
Orodek sterowania ................................................................................................ 184
Zaawansowane skadniki diagramu .............................................................................. 185
Rodzaje komunikatw ............................................................................................ 187
Tworzenie i niszczenie obiektw ........................................................................... 190
Warunki ................................................................................................................. 191
Samowywoanie ..................................................................................................... 192
Iteracja ................................................................................................................... 192
Rozgazienie ......................................................................................................... 194
Fragmenty wyodrbnione i operatory interakcji ..................................................... 196
Przywoywane wystpienia interakcji .................................................................... 214
Bramy ..................................................................................................................... 216
Proces tworzenia diagramu sekwencji .......................................................................... 219
Studium diagramu sekwencji ....................................................................................... 219
Podstawowe pojcia ..................................................................................................... 223
Pytania i zadania ........................................................................................................... 224

Jzyk UML 2.0 w modelowaniu systemw informatycznych

Rozdzia 8. Diagramy komunikacji ................................................................... 231


Znaczenie diagramw komunikacji .............................................................................. 231
Podstawowe kategorie pojciowe oraz notacja graficzna ............................................. 232
Numerowanie komunikatw .................................................................................. 233
Zasady wprowadzania komunikatw do diagramu ................................................ 234
Zaawansowane skadniki diagramu .............................................................................. 235
Izomorfizm ............................................................................................................. 235
Zagniedenie ........................................................................................................ 235
Poprzednik ............................................................................................................. 239
Wspbieno ....................................................................................................... 239
Obiekty wielokrotne ............................................................................................... 240
Klasy aktywne ........................................................................................................ 241
Inne kategorie zaawansowane ................................................................................ 242
Proces tworzenia diagramu komunikacji ...................................................................... 244
Studium diagramu komunikacji .................................................................................... 245
Podstawowe pojcia ..................................................................................................... 247
Pytania i zadania ........................................................................................................... 247

Rozdzia 9. Diagramy harmonogramowania ...................................................... 251


Znaczenie diagramw harmonogramowania ................................................................ 251
Podstawowe kategorie pojciowe oraz notacja graficzna ............................................. 252
Zaawansowane skadniki diagramu .............................................................................. 253
Zdarzenia i ograniczenia czasowe .......................................................................... 253
Alternatywne sposoby prezentacji stanw ............................................................. 254
Harmonizacja linii zmiany stanw ......................................................................... 254
Przesyanie komunikatw ...................................................................................... 256
Diagramy sekwencji a harmonogramowanie ......................................................... 258
Proces tworzenia diagramu harmonogramowania ........................................................ 259
Podstawowe pojcia ..................................................................................................... 260
Pytania i zadania ........................................................................................................... 260

Rozdzia 10. Diagramy sterowania interakcj .................................................... 263


Znaczenie diagramw sterowania interakcj ................................................................ 263
Podstawowe kategorie pojciowe oraz notacja graficzna ............................................. 264
Zaawansowane skadniki diagramu .............................................................................. 266
Proces tworzenia diagramu sterowania interakcj ........................................................ 268
Studium diagramu sterowania interakcj ...................................................................... 268
Podstawowe pojcia ..................................................................................................... 270
Pytania i zadania ........................................................................................................... 271

Rozdzia 11. Diagramy wdroeniowe .................................................................. 273


Znaczenie diagramw wdroeniowych ........................................................................ 273
Diagramy komponentw .............................................................................................. 273
Interfejsy ................................................................................................................ 277
Specyfikacja komponentw ................................................................................... 278
Porty ....................................................................................................................... 280
Konektory .............................................................................................................. 280
Implementacyjny diagram komponentw .............................................................. 281
Diagramy rozlokowania ............................................................................................... 282
Wzy ..................................................................................................................... 284
cieki komunikowania ......................................................................................... 285
Osadzone artefakty i komponenty .......................................................................... 286
Manifestowanie ...................................................................................................... 287
Specyfikacja rozlokowania .................................................................................... 289
Diagramy rozlokowania na poziomie fizycznym ................................................... 290

Spis treci

7
Proces tworzenia diagramw wdroeniowych ............................................................. 291
Podstawowe pojcia ..................................................................................................... 292
Pytania i zadania ........................................................................................................... 293

Rozdzia 12. Diagramy struktur poczonych ..................................................... 299


Znaczenie diagramw struktur poczonych ................................................................ 299
Podstawowe kategorie pojciowe oraz notacja graficzna ............................................. 300
Proces tworzenia diagramu struktur poczonych ........................................................ 302
Podstawowe pojcia ..................................................................................................... 303
Pytania i zadania ........................................................................................................... 303

Rozdzia 13. Diagramy pakietw ....................................................................... 305


Znaczenie diagramw pakietw ................................................................................... 305
Podstawowe kategorie pojciowe oraz notacja graficzna ............................................. 305
Pakiet ..................................................................................................................... 306
Zaleno ............................................................................................................... 307
Zagniedenie pakietw ......................................................................................... 308
Zaawansowane skadniki diagramu .............................................................................. 309
Stereotypowanie pakietw ..................................................................................... 310
Stereotypowanie zalenoci ................................................................................... 311
Proces tworzenia diagramu pakietw ........................................................................... 312
Studium diagramu pakietw ......................................................................................... 312
Podstawowe pojcia ..................................................................................................... 314
Pytania i zadania ........................................................................................................... 314

Cz II

Metodyki, modele i narzdzia wspomagajce UML 2 ....317

Rozdzia 14. Metodyka RUP ............................................................................. 319


Znaczenie iteracyjno-przyrostowego procesu projektowania systemw ...................... 319
Struktura RUP .............................................................................................................. 321
Dyscypliny ............................................................................................................. 323
Fazy ........................................................................................................................ 325
Podstawowe pojcia ..................................................................................................... 327
Pytania i zadania ........................................................................................................... 328

Rozdzia 15. Modelowanie biznesowe ................................................................ 329


Znaczenie modelowania biznesowego ......................................................................... 329
Podstawowe kategorie pojciowe oraz notacja graficzna ............................................. 330
Studium modelu biznesowego ...................................................................................... 331
Podstawowe pojcia ..................................................................................................... 341
Pytania i zadania ........................................................................................................... 341

Rozdzia 16. Modelowanie analityczne .............................................................. 343


Znaczenie modelowania analitycznego ........................................................................ 343
Podstawowe kategorie pojciowe oraz notacja graficzna ............................................. 344
Proces tworzenia modelu analitycznego ....................................................................... 346
Studium modelu analitycznego .................................................................................... 349
Podstawowe pojcia ..................................................................................................... 350
Pytania i zadania ........................................................................................................... 350

Rozdzia 17. Komputerowe wspomaganie modelowania systemu ........................ 353


Pakiety CASE wspomagajce UML i RUP .................................................................. 353
Zakres wspomagania diagramw UML ................................................................. 355
Generowanie szkieletowego kodu rdowego ...................................................... 356
Inynieria zwrotna .................................................................................................. 357
Obsugiwane platformy .......................................................................................... 358

Jzyk UML 2.0 w modelowaniu systemw informatycznych


Sparx Systems Enterprise Architect ............................................................................. 359
Narzdzia CASE firmy IBM pod mark Rational ........................................................ 362
IBM Software Development Platform .................................................................... 362
Zastosowanie IBM Rational Software Modeler ..................................................... 363
Poseidon for UML ........................................................................................................ 366
Platforma Eclipse ......................................................................................................... 366
UML i RUP w zasobach Internetu ............................................................................... 368
Podstawowe pojcia ..................................................................................................... 369
Pytania i zadania ........................................................................................................... 369

Dodatki ......................................................................................371
Dodatek A Definicje i pojcia ......................................................................... 373
Dodatek B Notacja graficzna .......................................................................... 381
Dodatek C Diagramy ...................................................................................... 389
Dodatek D UML 2.0 w liczbach ...................................................................... 399
Dodatek E Sownik polsko-angielski ............................................................... 401
Dodatek F

Sownik angielsko-polski ............................................................... 409

Dodatek G Spis rysunkw .............................................................................. 417


Dodatek H Spis tabel ..................................................................................... 423
Dodatek I

Literatura ..................................................................................... 425


Contents ...................................................................................... 431
Skorowidz ..................................................................................... 437

Rozdzia 9.

Diagramy
harmonogramowania
Znaczenie diagramw
harmonogramowania
Analizowane i projektowane interakcje w systemie realizowane s w okrelonym czasie. Spenienie kryterium czasu przez interakcj jest wanym czynnikiem oceny tych
systemw zwaszcza systemw wbudowanych i systemw czasu rzeczywistego. Wychodzc naprzeciw tym oczekiwaniom, zaproponowano diagramy harmonogramowania.
Diagram harmonogramowania jest rodzajem diagramu interakcji, reprezentujcym
na osi czasu zmiany dopuszczalnych stanw, jakie moe przyjmowa instancja
klasyfikatora uczestniczca w interakcji.

Diagramy te stosuje si w celu sporzdzenia harmonogramw interakcji, a wic specyfikacji interakcji instancji klasyfikatorw w aspekcie zmian czasu trwania ich stanw. Punktem wyjcia tych diagramw s podstawowe kategorie diagramw sekwencji oraz maszyn stanowych. Terminowa realizacja interakcji wymaga niekiedy wielkiej
dokadnoci czasowej. W zwizku z tym na diagramach harmonogramowania mona
przedstawia kolejno wystpowania stanw instancji klasyfikatorw oraz czas ich
trwania. Wprowadzenie diagramw harmonogramowania w UML 2.0 jest istotn zmian w stosunku do poprzednich wersji. Ich tworzenie i uytkowanie jest szczeglnie
zalecane w systemach o rozbudowanej dynamice.

Cz I Podstawy jzyka UML 2.0

252

Podstawowe kategorie pojciowe


oraz notacja graficzna
Diagramy harmonogramowania dokumentuj aspekt czasu interakcji. Std w diagramie harmonogramowania na osi poziomej zaznacza si skal czasu w postaci ustalonych odcinkw. Natomiast na osi pionowej przedstawia si poszczeglne instancje
klasyfikatorw biorce udzia w interakcji, a przy kadej z nich jej stany. Z zasady
diagramy harmonogramowania tworzy si po opracowaniu diagramw sekwencji lub
komunikacji. Na diagramach tych bowiem precyzyjnie wskazane s instancje klasyfikatorw wystpujce w systemie, a wyszczeglnienie linii ycia, orodkw sterowania
i komunikatw uatwia ustalenie jednostek na skali czasu. W ten sposb osiga si
harmonizacj interakcji pomidzy instancjami klasyfikatorw w ukadzie czasowym.
Akceptowalne jest rwnie autonomiczne podejcie do tworzenia wspomnianych diagramw, bez uwzgldniania powizanych diagramw sekwencji czy komunikacji, na
podstawie innych posiadanych specyfikacji systemu.
W podstawowej postaci diagramu harmonogramowania ilustrowane s jego podstawowe kategorie pojciowe (por. rysunek 9.1):
klasyfikator,
nazwa stanu,
linia zmiany stanw instancji klasyfikatora.

Pojcie klasyfikatora wprowadzono i omwiono w rozdziale 1., podczas gdy powszechnie stosowane rodzaje klasyfikatorw jzyka UML 2 wskazano w rozdziale 7.
Lista moliwych stanw jest specyficzna dla kadej instancji klasyfikatora, jednak
mona wyrni kilka typowych stanw (ang. states), takich jak:
bezczynno,
czuwanie,
oczekiwanie,
wykonywanie,
obliczanie.

Linia zmiany stanw (ang. timeline) moe przedstawia stany instancji klasyfikatora
lub okrelonej, mierzalnej zmiennej np. natenia haasu lub poziomw wybranego
indeksu giedowego. Diagram harmonogramowania w odniesieniu do instancji klasyfikatora Rezerwacja ze stanami sporzdzanie, potwierdzanie, opacanie oraz wysyanie
przedstawia rysunek 9.1.

Rozdzia 9. Diagramy harmonogramowania


td Obsuga Rezerwacji

wysyanie
Rezerwacja

Rysunek 9.1.
Diagram
harmonogramowania
dla obiektu klasy
Rezerwacja

253

opacanie
potwierdzanie
sporzdzanie

Kwadrans

10

Zaawansowane skadniki diagramu


Przedstawiony na rysunku 9.1 diagram harmonogramowania jest uyteczny w dokumentowaniu stosunkowo prostych interakcji. Istnieje jednak moliwo jego rozszerzenia
o szereg zaawansowanych kategorii, takich jak:
zdarzenia,
ograniczenia czasowe,
alternatywne sposoby prezentacji stanw,
harmonizacja linii zmiany stanw dla kilku instancji klasyfikatorw biorcych

udzia w interakcji,
przesyanie komunikatw.

Zdarzenia i ograniczenia czasowe


Zaamanie linii zmiany stanw instancji klasyfikatora oznacza wystpienie zdarzenia
powodujcego zainicjowanie nowego stanu tej instancji. Zdarzenia w harmonogramie
rezerwacji przedstawia rysunek 9.2. Sprecyzowano na nim stany instancji klasyfikatora
Rezerwacja i czas ich trwania poprzez okrelenie ogranicze czasowych (ang. constraints) w odniesieniu do stanw:
potwierdzanie {<30 min},
sporzdzanie {30 min +/- 15 min},
opacanie {<=1 godzina}.

Jeli skala czasu w sposb jednoznaczny okrela dugo trwania stanu, nie zaznacza
si ogranicze czasowych, co zilustrowano na rysunku 9.2 dla stanu wysyanie.

Cz I Podstawy jzyka UML 2.0

254
td Obsuga Rezerwacji
{< 30 min}

{<= 1 godzina}

{30 min +/- 15 min}


wydrukPotwierdzenia

Rezerwacja

wysyanie

opacanie
sporzdzenieFaktury
potwierdzanie

sporzdzanie
nadejciePotwierdzenia

Kwadrans

10

Rysunek 9.2. Diagram harmonogramowania ze zdarzeniami i ograniczeniami czasowymi

Alternatywne sposoby prezentacji stanw


Poza podstawow form prezentacji diagramw harmonogramowania istnieje alternatywna konwencja ich dokumentowania. Obie notacje mog by stosowane zamiennie
i wzajemnie przeksztacane. Diagram harmonogramowania utworzony z wykorzystaniem alternatywnej konwencji, bdcy odpowiednikiem rysunku 9.2, zaprezentowano
na rysunku 9.3.
td Obsuga Rezerwacji
{< 30 min}

{<= 1 godzina}

{30 min +/- 15 min}

Rezerwacja

sporzdzenieFaktury
potwierdzanie

Kwadrans 0

sporzdzanie

nadejciePotwierdzenia

opacanie

wysyanie

wydrukPotwierdzenia

10

Rysunek 9.3. Alternatywna notacja diagramw harmonogramowania

Harmonizacja linii zmiany stanw


W interakcji w praktyce uczestniczy kilka, kilkanacie, a w niektrych sytuacjach
nawet wicej instancji klasyfikatorw. Kada z nich moe przyjmowa okrelone stany. Diagramy harmonogramowania umoliwiaj przedstawienie interakcji w penym

Rozdzia 9. Diagramy harmonogramowania

255

wymiarze, tzn. ze wszystkimi wsppracujcymi instancjami klasyfikatorw w horyzoncie czasowym harmonogramu. W tak opracowanym diagramie harmonogramowania osiga si nie tylko specyfikacj zmian stanu instancji klasyfikatora. Umoliwia on
rwnie przedstawienie interakcji instancji klasyfikatorw, ktre bior udzia w tej interakcji w kadym momencie okresu, dla ktrego jest opracowany harmonogram. Stwarza
to moliwo harmonizacji wspdziaania instancji klasyfikatorw w czasie. Harmonizacja poszczeglnych instancji klasyfikatorw i ich stanw na osi czasu moe by
waciwie oddana wycznie z wykorzystaniem podstawowej notacji. Diagram na rysunku 9.4 jest przykadem harmonizacji instancji klasyfikatorw. Przedstawia przypadek rejestrowania rezerwacji w bazie danych hotelu.
td Rezerwacja Hotelowa

IRezerwacja

Recepcjonista

bezczynno
wprowadzanie
oczekiwanie

wywietlanie
sprawdzanie
danych
rezerwowanie
potwierdzanie

BazaDanych

oczekiwanie
przetwarzanie

odpowiadanie

Sekunda

10

15

20

25

30

Rysunek 9.4. Harmonogramowanie rejestrowania rezerwacji hotelowej

Przypadek rejestrowania rezerwacji w bazie danych hotelu jest elementem scenariusza


wyspecyfikowanego na diagramie sekwencji przedstawionym na rysunku 7.5. W przypadku tym wystpuj trzy instancje klasyfikatorw:
Recepcjonista,
IRezerwacja,
BazaDanych.

Cz I Podstawy jzyka UML 2.0

256

Na wstpie instancje te s odpowiednio w stanach: bezczynnoci, wywietlania oraz


oczekiwania. W wyniku wystpienia konkretnego zdarzenia, tj. przyjcia zgoszenia
klienta, recepcjonista otwiera rezerwacj. Posuguje si w tym celu wywietlan na ekranie formatk IRezerwacja. Recepcjonista wprowadza dane, ktrych kompletno oraz
poprawno formalna jest sprawdzana przez IRezerwacj. Nastpnie realizowana jest
operacja przetwarzania danych fakt dokonania rezerwacji pokoju albo pokoi jest odnotowywany w BazieDanych. W ramach IRezerwacji wywietlane jest potwierdzenie
dokonania rezerwacji. W efekcie zakoczenia realizacji caej transakcji poszczeglne
instancje klasyfikatorw przechodz do stanw wyjciowych.
Prezentowanie stanw kilku instancji klasyfikatorw w systemie jest moliwe take
z wykorzystaniem opisanej notacji alternatywnej. Notacja ta pozwala na specyfikacj
stanw poszczeglnych instancji wzgldem czasu trwania tych stanw. Nie zawiera ona
jednak elementu harmonizacji poszczeglnych instancji klasyfikatorw i ich stanw
na osi czasu (rysunek 9.5).

Recepcjonista

td Rezerwacja Hotelowa

IRezerwacja

bezczywprow. oczekiwanie
nno

BazaDanych

wywietlanie

sprawdzanie
danych

oczekiwanie wprow.

rezerwowanie

wywietlanie

prze- odpow.
twarz.

oczekiwanie

Sekunda

wprowadzanie

prze- odpow.
twarz.

oczekiwanie

potw.

10

11

bezczynno

wywietlanie

oczekiwanie

12

13

14

15

Rysunek 9.5. Rejestrowanie rezerwacji w bazie danych hotelu notacja alternatywna

Przesyanie komunikatw
Diagramy harmonogramowania mona wzbogaci o dokumentowanie interakcji w postaci komunikatw przesyanych midzy instancjami klasyfikatorw. rdem tej informacji s odpowiednie diagramy sekwencji lub komunikacji. W zwizku z tym na
diagramach harmonogramowania mona przedstawi wszystkie rodzaje komunikatw

Rozdzia 9. Diagramy harmonogramowania

257

omwionych w punkcie Zaawansowane skadniki diagramu z wyjtkiem komunikatu


utraconego oraz znalezionego. Na podstawie diagramu harmonogramowania przedstawionego na rysunku 9.4 wyspecyfikowano nastpujce komunikaty:
otwrzRezerwacj,
sprawdDostpnoPokoi,
wprowadDane,
dokonajRezerwacji,
potwierdRezerwacj,
zamknij.

Zostay one wprowadzone do diagramu harmonogramowania zilustrowanego na rysunku 9.6.

IRezerwacja

Recepcjonista

td Rezerwacja Hotelowa

przyjcieZgoszenia

bezczynno

zamknicieAplikacji
wprowadzanie
oczekiwanie
otwrzRezerwacj

wprowadDane

zamknij

wywietlanie
sprawdzanie
danych
rezerwowanie
sprawdDostpnoPokoi
potwierdzanie

dokonajRezerwacji

potwierdRezerwacj
BazaDanych

oczekiwanie
przetwarzanie
odpowiadanie

Sekunda

10

15

Rysunek 9.6. Komunikaty na diagramach harmonogramowania

20

25

30

Cz I Podstawy jzyka UML 2.0

258

Diagramy sekwencji a harmonogramowanie


Pewne elementy harmonogramowania, w szczeglnoci ograniczenia czasowe, mona
przedstawi na diagramach sekwencji. Wprowadza si je:
nad symbolem komunikatu pomidzy dwoma instancjami klasyfikatorw

w przypadku wskazywania czasu wykonania operacji inicjowanej przez


komunikat;
rwnolegle do linii ycia instancji klasyfikatora pomidzy dwoma komunikatami

w przypadku wskazywania przedziau czasowego pomidzy tymi


komunikatami.
Okrelanie ogranicze czasowych w wersjach 1.x jzyka UML byo moliwe przede
wszystkim na diagramach sekwencji. Na diagramach harmonogramowania ograniczenia
przedstawia si w sposb jawny. Jednak powanym, technicznym utrudnieniem zapisu wspomnianych ogranicze na diagramie sekwencji jest stosowanie przy ich tworzeniu penej, obszernej skadni komunikatu. W poczeniu z zapisem ogranicze czasowych nadmiernie komplikuje to diagram, czynic go tym samym mao przejrzystym.
W zwizku z wprowadzeniem diagramw harmonogramowania poprzednia forma zapisu ogranicze czasowych moe mie jedynie charakter wstpny lub uproszczony. Ograniczenia czasowe na diagramach sekwencji przedstawia rysunek 9.7.
IHarmonogram

BazaDanych

Kierownik
inicjujNoweSpotkanie(data, uczestnicy)
utwrzPoczenie {0..5s}
wywietl("Poczenie nawizane")

zapisz(data, uczestnicy) {0..3s}

{t = czasBiecy}

wywietl("Spotkanie zarejestrowane")
weryfikujPotwierdzenia(dataSpotkania)

{t = czasBiecy+15}
pobierzDane(potwierdzenie) {0..3s}

wywietl(potwierdzenie) {0..1s}

Rysunek 9.7. Ograniczenia czasowe w systemie harmonogramowania spotka

Rysunek ten ilustruje harmonogramowanie projektw. I tak Kierownik, chcc zainicjowa nowe spotkanie zespou projektowego, okrela dat oraz uczestnikw spotkania z wykorzystaniem interfejsu IHarmonogram. W momencie, gdy Kierownik potwierdzi wybr, instancja klasyfikatora IHarmonogram tworzy poczenie z BazDanych.
Zastosowane ograniczenie czasowe wskazuje, e wykonanie operacji utwrzPoczenie moe potrwa maksymalnie 5 sekund. W momencie uzyskania poczenia na interfejsie IHarmonogram wywietlane jest stosowne potwierdzenie. Nastpnie realizowana
jest operacja zapisz. Jej wykonanie powoduje zapisanie w BazieDanych daty spotkania

Rozdzia 9. Diagramy harmonogramowania

259

i jego skadu osobowego, wczeniej okrelonego przez Kierownika. Limit czasu wykonania wspomnianej operacji wynosi 3 sekundy. Z kolei pomidzy wywoaniem operacji utwrzPoczenie oraz zapisz upywa w systemie 15 sekund.
Po zapisaniu danych wywietlane jest potwierdzenie zarejestrowania spotkania. Asynchronicznie w stosunku do inicjowania przez siebie nowych spotka, Kierownik moe
weryfikowa potwierdzenia obecnoci uczestnikw na innych spotkaniach projektowych. W tym celu Kierownik okrela konkretn dat spotkania. Nastpnie IHarmonogram pobiera potwierdzenia zarejestrowane tego dnia. W efekcie realizowana jest operacja wywietl, udostpniajca Kierownikowi potwierdzenia poszczeglnych uczestnikw
spotka projektowych. Na wywietlenie potwierdze przewidziano 1 sekund.

Proces tworzenia
diagramu harmonogramowania
Informacje przedstawiane na diagramach harmonogramowania s w znacznej mierze
pochodn kategorii pojciowych diagramw sekwencji, komunikacji oraz diagramw
maszyny stanowej. Std w procesie tworzenia diagramw harmonogramowania wykorzystywane mog by inne diagramy jzyka UML. Kluczowymi etapami tego procesu s:
1. identyfikacja interakcji udokumentowanej diagramem sekwencji lub diagramem

komunikacji,
2. przeniesienie lub dobr klasyfikatorw,
3. identyfikacja stanw kadej instancji klasyfikatora z wykorzystaniem

diagramw maszyny stanowej,


4. ustalenie horyzontu czasowego diagramu,
5. wyspecyfikowanie linii zmiany stanu instancji klasyfikatorw,
6. wprowadzenie ogranicze czasowych dla poszczeglnych stanw instancji

klasyfikatora,
7. nazwanie i wprowadzenie odpowiednich zdarze na podstawie diagramw

maszyny stanowej,
8. harmonizacja linii zmiany stanu wszystkich instancji klasyfikatorw interakcji

prezentowanych na diagramie,
9. przeniesienie lub wprowadzenie komunikatw przesyanych pomidzy

instancjami klasyfikatorw uczestniczcymi w interakcji.


Ze wzgldu na wykorzystywanie w procesie tworzenia diagramw harmonogramowania szeregu kategorii pojciowych innych diagramw, bardzo istotne jest zachowywanie spjnoci pomidzy nimi. Proces tworzenia diagramw harmonogramowania
podlega reguom iteracyjno-przyrostowego cyklu ycia systemu.

Cz I Podstawy jzyka UML 2.0

260

Podstawowe pojcia
Diagram harmonogramowania

Harmonizacja

Definicja

Interakcja

Klasyfikator

Iteracja

Linia zmiany stanw

Komunikat

Nazwa stanu

Przesyanie

Notacja

Asynchroniczny

Klasyczna

Oczekujcy

Alternatywna

Opcjonalny

Proces tworzenia

Synchroniczny

Diagram komunikacji

Zwrotny

Izomorfizm

Ograniczenie czasowe

Stan

Skala czasu
Bezczynno

Stan

Czuwanie

System

Obliczanie

Czasu rzeczywistego

Oczekiwanie

Wbudowany

Wykonywanie
Diagram maszyny stanowej

Warunek
Zdarzenie

Diagram sekwencji
Orodek sterowania
Linia ycia

Pytania i zadania
1. Wyjanij zalenoci pomidzy poszczeglnymi diagramami interakcji.
2. Uzasadnij potrzeb sporzdzania harmonogramw interakcji.
3. Jakie rodzaje diagramw jzyka UML mona uzna za rdowe dla diagramw

harmonogramowania? Wyjanij dlaczego.


4. Wymie przykady instancji klasyfikatorw, ktrych stany mog by

odzwierciedlane na diagramie harmonogramowania. Wska typowe stany


dla kadego z nich.

Rozdzia 9. Diagramy harmonogramowania

261

5. Czym jest linia zmiany stanu instancji klasyfikatora? Co oznaczaj jej

zaamania?
6. Opierajc si na diagramach 7.24 oraz 5.13, sporzd diagram

harmonogramowania opisujcy funkcjonowanie:

Licytacji,

Egzaminu.

7. Jakich aspektw dotycz zaawansowane kategorie pojciowe diagramw

harmonogramowania?
8. Na diagramie harmonogramowania instancji klasyfikatora Licytacja (pytanie 6.)

zaznacz i nazwij zdarzenia.


9. Uzupenij tak sporzdzony diagram o ograniczenia czasowe. Przekszta

stosowan na nim notacj w alternatywn.


10. W jakim celu stosuje si harmonizacj? Jakie warunki musz by spenione,

aby zaprezentowanie harmonizacji na diagramie byo moliwe?


11. Opierajc si na rysunku 7.17, sporzd diagram harmonogramowania.

Obligatoryjnie uwzgldnij komunikaty.


12. Odwoaj si do strony internetowej www.bankier.pl. Wybierz produkty

finansowe o notowaniach skokowych. Na ich podstawie opracuj stosowny


diagram harmonogramowania.
13. Porwnaj uyteczno i przejrzysto zapisu ogranicze czasowych

na diagramach harmonogramowania i diagramach sekwencji. Zilustruj wnioski


graficznie, korzystajc z diagramu zamieszczonego na rysunku 9.2.
14. Jak przebiega proces tworzenia diagramw harmonogramowania? Uzasadnij

jego poszczeglne etapy.

You might also like