You are on page 1of 22

IDZ DO

PRZYKADOWY ROZDZIA
SPIS TRECI

KATALOG KSIEK
KATALOG ONLINE
ZAMW DRUKOWANY KATALOG

UML dla kadego


Autor: Joseph Schmuller
Tumaczenie: Krzysztof Masowski
ISBN: 83-7361-107-X
Tytu oryginau: Teach Yourself UML in 24 Hours
Format: B5, stron: 372

TWJ KOSZYK
DODAJ DO KOSZYKA

CENNIK I INFORMACJE
ZAMW INFORMACJE
O NOWOCIACH
ZAMW CENNIK

UML jest jednym z najbardziej ekscytujcych narzdzi do tworzenia obiektowo


zorientowanych systemw. Jest to jzyk modelowania wizualnego, pozwalajcy
budowniczym systemw na tworzenie planw, w ktrych ich wizje zostan uchwycone
i wyraone w standardowy, atwy do zrozumienia sposb. UML dostarcza te mechanizmy
uatwiajce efektywn wymian informacji i przekazywanie projektw innym.
Podczas 24 sesji zawartych w ksice UML dla kadego nauczysz si tworzenia
diagramw za pomoc zunifikowanego jzyka modelowania. Proste wyjanienia i metoda
prowadzenia za rk krok po kroku w kadym rozdziale, pozwalaj na poznanie podstaw
tego jzyka i zrozumienie jego zastosowa.
Poznasz:

CZYTELNIA
FRAGMENTY KSIEK ONLINE

Podstawy projektowania obiektowego, zwizki UML-a z projektowaniem


obiektowym
Powizania, agregacje, agregacje cakowite, interfejsy i realizacje
Przypadki uycia i diagramy przypadkw uycia
Diagramy: stanw, przebiegu, kooperacji, czynnoci, komponentw, wdroenia
Tworzenie systemw za pomoc UML-a
Studium przypadku, pokazujce kolejne etapy tworzenia zoonego systemu
Przyszo i rozszerzenia jzyka UML
Autor Joseph Schmuller, ekspert w tej dziedzinie, tumaczy UML-a za pomoc
odpowiednio dobranych i interesujcych przykadw. Dziki tej ksice w szybkim tempie
opanujesz sztuk operowania jzykiem UML i przekonasz si, jak bardzo porzdkuje on
proces projektowania oprogramowania.

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

Spis treci
O Autorze ........................................................................................ 15
Wstp ............................................................................................. 17

Cz I

Zaczynamy ...................................................................... 19

Rozdzia 1. Co to jest UML ................................................................................ 21


Dodanie metody do szalestwa ................................................................................22
Jak si narodzi UML ..............................................................................................23
Komponenty UML-a...............................................................................................24
Diagram klas ....................................................................................................24
Diagram obiektw.............................................................................................25
Diagram przypadkw uycia ..............................................................................26
Diagram stanw................................................................................................26
Diagram przebiegu ............................................................................................27
Diagram czynnoci............................................................................................27
Diagram kooperacji ...........................................................................................28
Diagram komponentw .....................................................................................29
Diagram wdroenia ...........................................................................................29
Kilka innych skadnikw .........................................................................................29
Pakiety.............................................................................................................29
Notatki.............................................................................................................30
Stereotypy........................................................................................................30
Po co tyle rnych diagramw?................................................................................31
Podsumowanie .......................................................................................................31
Warsztaty...............................................................................................................31
Test .................................................................................................................32
wiczenia ........................................................................................................32

Rozdzia 2. Co to jest obiektowo.................................................................... 33


Obiekty, obiekty, wszdzie obiekty...........................................................................34
Kilka poj.............................................................................................................35
Abstrakcja ........................................................................................................35
Dziedziczenie ...................................................................................................36
Polimorfizm .....................................................................................................37
Kapsukowanie (hermetyzacja)...........................................................................38
Wysyanie komunikatw....................................................................................39
Powizania .......................................................................................................39
Agregacja.........................................................................................................41

UML dla kadego


Korzyci ................................................................................................................43
Podsumowanie .......................................................................................................43
Warsztaty...............................................................................................................44
Test .................................................................................................................44

Rozdzia 3. UML i obiektowo .......................................................................... 45


Wizualizacja klas ....................................................................................................45
Atrybuty ................................................................................................................46
Operacje ................................................................................................................47
Atrybuty, operacje i wizualizacja..............................................................................48
Zobowizania i ograniczenia....................................................................................50
Doczone notatki ...................................................................................................51
Klasy do czego su i gdzie ich szuka................................................................51
Podsumowanie .......................................................................................................53
Warsztaty...............................................................................................................54
Test .................................................................................................................54
wiczenia ........................................................................................................54

Rozdzia 4. Zwizki............................................................................................ 55
Powizania.............................................................................................................55
Ograniczenia powiza......................................................................................57
Klasy powiza.................................................................................................57
Wizania ..........................................................................................................58
Liczebno .............................................................................................................58
Powizania kwalifikowane.......................................................................................60
Powizanie zwrotne ................................................................................................60
Dziedziczenie i uoglnienie .....................................................................................61
Poznawanie dziedziczenia..................................................................................62
Klasy abstrakcyjne ............................................................................................62
Zalenoci..............................................................................................................63
Podsumowanie .......................................................................................................64
Warsztaty...............................................................................................................64
Test .................................................................................................................65
wiczenia ........................................................................................................65

Rozdzia 5. Agregacje, agregacje cakowite, interfejsy i realizacje ...................... 67


Agregacje...............................................................................................................67
Ograniczenia agregacji ......................................................................................68
Agregacje cakowite................................................................................................69
Otoczenia...............................................................................................................69
Interfejsy i realizacje ...............................................................................................71
Widoczno......................................................................................................72
Zasig ..............................................................................................................73
Podsumowanie .......................................................................................................73
Warsztaty...............................................................................................................74
Test .................................................................................................................74
wiczenia ........................................................................................................74

Rozdzia 6. Informacje wstpne o przypadkach uycia......................................... 75


Przypadki uycia co to takiego? ...........................................................................76
Przypadki uycia dlaczego s wane?...................................................................76
Przykad: automat do sprzeday napojw gazowanych ...............................................77
Przypadek uycia Kup napj...........................................................................77
Dodatkowy przypadek uycia ............................................................................78

Spis treci

7
Zawieranie przypadkw uycia ................................................................................79
Rozszerzanie przypadkw uycia .............................................................................80
Rozpoczcie analizy przypadkw uycia...................................................................80
Podsumowanie .......................................................................................................81
Warsztaty...............................................................................................................81
Test .................................................................................................................81
wiczenia ........................................................................................................82

Rozdzia 7. Diagramy przypadkw uycia............................................................ 83


Prezentacja modelu przypadkw uycia ....................................................................84
Wracamy do przypadku automatu do sprzeday napojw gazowanych...................84
ledzenie krokw scenariuszy ............................................................................84
Zwizki midzy przypadkami uycia ........................................................................86
Zawieranie .......................................................................................................86
Rozszerzenie ....................................................................................................86
Uoglnienie......................................................................................................88
Grupowanie......................................................................................................88
Stosowanie przypadkw uycia w procesie analizy ....................................................89
Stosowanie modeli przypadkw uycia przykad ...................................................89
Poznanie domeny..............................................................................................89
Zrozumienie uytkownikw ...............................................................................90
Zrozumienie przypadkw uycia ........................................................................90
Drc w gb...................................................................................................91
Remanent rzeczy poznanych....................................................................................93
Elementy strukturalne........................................................................................94
Zwizki............................................................................................................94
Grupowanie......................................................................................................94
Przypisy...........................................................................................................95
Rozszerzenie ....................................................................................................95
I inne ...............................................................................................................95
Obraz oglny..........................................................................................................95
Podsumowanie .......................................................................................................96
Warsztaty...............................................................................................................96
Test .................................................................................................................96
wiczenia ........................................................................................................97

Rozdzia 8. Diagramy stanw............................................................................. 99


Diagram stanw.................................................................................................... 100
Zestaw symboli............................................................................................... 100
Podawanie szczegw w ikonie stanu .............................................................. 101
Dodawanie szczegw transmisji zdarzenia i akcje....................................... 101
Dodawanie szczegw transmisji warunki dozoru ........................................ 103
Podstany.............................................................................................................. 103
Podstany sekwencyjne..................................................................................... 104
Podstany wspbiene ..................................................................................... 104
Stany wznowienia ................................................................................................. 105
Komunikaty i sygnay ........................................................................................... 106
Znaczenie diagramw stanw ................................................................................ 107
Obraz oglny UML-a ............................................................................................ 108
Podsumowanie ..................................................................................................... 109
Warsztaty............................................................................................................. 109
Test ............................................................................................................... 109
wiczenia ...................................................................................................... 110

UML dla kadego

Rozdzia 9. Diagramy przebiegu........................................................................ 111


Co to jest diagram przebiegu? ................................................................................ 111
Obiekty .......................................................................................................... 112
Komunikaty.................................................................................................... 112
Czas .............................................................................................................. 112
GUI..................................................................................................................... 113
Kolejno ....................................................................................................... 113
Pokazanie kolejnoci na diagramie przebiegu .................................................... 114
Przypadek uycia ............................................................................................ 114
Automat do sprzeday napojw diagramy przebiegu: egzemplarzowy i oglny ...... 115
Egzemplarzowy diagram przebiegu .................................................................. 116
Oglny diagram przebiegu ............................................................................... 116
Tworzenie obiektw podczas przebiegu .................................................................. 119
Rekurencja........................................................................................................... 121
Obraz oglny UML-a ............................................................................................ 121
Podsumowanie ..................................................................................................... 121
Warsztaty............................................................................................................. 123
Test ............................................................................................................... 123
wiczenia ...................................................................................................... 123

Rozdzia 10. Diagramy kooperacji ...................................................................... 125


Co to jest diagram kooperacji? ............................................................................... 126
GUI..................................................................................................................... 126
Zmiany stanu.................................................................................................. 127
Automat do sprzeday napojw ............................................................................. 128
Tworzenie obiektw.............................................................................................. 129
Kilka dodatkowych koncepcji ................................................................................ 131
Obiekty wielokrotne ........................................................................................ 131
Zwracanie wyniku........................................................................................... 131
Obiekty aktywne............................................................................................. 132
Synchronizacja ............................................................................................... 132
Obraz oglny UML-a ............................................................................................ 133
Podsumowanie ..................................................................................................... 133
Warsztaty............................................................................................................. 134
Test ............................................................................................................... 135
wiczenia ...................................................................................................... 135

Rozdzia 11. Diagramy czynnoci ....................................................................... 137


Co to jest diagram czynnoci? ................................................................................ 137
Decyzje.......................................................................................................... 138
cieki wspbiene (rozwidlone)..................................................................... 139
Sygnay.......................................................................................................... 140
Stosowanie diagramw czynnoci .......................................................................... 140
Operacja: wyrazy cigu Fibonacciego ............................................................... 140
Proces: tworzenie dokumentu........................................................................... 141
Tory .................................................................................................................... 143
Diagramy hybrydowe............................................................................................ 143
Obraz oglny UML-a ............................................................................................ 144
Podsumowanie ..................................................................................................... 145
Warsztaty............................................................................................................. 146
Test ............................................................................................................... 147
wiczenia ...................................................................................................... 147

Spis treci

Rozdzia 12. Diagramy komponentw................................................................. 149


Co to jest komponent?........................................................................................... 149
Komponenty i interfejsy ........................................................................................ 150
Zastpstwo i wielokrotne uycie ....................................................................... 151
Rodzaje komponentw.......................................................................................... 151
Co to jest diagram komponentw?.......................................................................... 152
Reprezentacja komponentu .............................................................................. 152
Sposoby przedstawiania interfejsw.................................................................. 153
Zastosowanie diagramw komponentw ................................................................. 154
Strona WWW z apletem Java........................................................................... 154
Strona WWW z kontrolkami ActiveX ............................................................... 155
PowerToys..................................................................................................... 156
Diagramy komponentw w oglnym obrazie UML-a ............................................... 157
Podsumowanie ..................................................................................................... 158
Warsztaty............................................................................................................. 159
Test ............................................................................................................... 159
wiczenia ...................................................................................................... 159

Rozdzia 13. Diagramy wdroenia....................................................................... 161


Czym jest diagram wdroenia?............................................................................... 161
Stosowanie diagramw wdroenia.......................................................................... 163
Domowy system komputerowy ........................................................................ 163
Sie token-ring................................................................................................ 164
Sie ARCnet................................................................................................... 164
Cienki Ethernet............................................................................................... 166
Sie bezprzewodowa Metricom Ricochet .......................................................... 167
Diagramy wdroenia w oglnym obrazie UML-a..................................................... 168
Podsumowanie ..................................................................................................... 168
Warsztaty............................................................................................................. 169
Test ............................................................................................................... 169
wiczenia ...................................................................................................... 169

Rozdzia 14. Podstawowe koncepcje UML-a....................................................... 171


Struktura UML..................................................................................................... 172
Spojrzenie z bliska na warstw metamodelu ............................................................ 173
Pakiet Podstawy ............................................................................................. 174
Pakiet Elementy zachowania ............................................................................ 175
Pakiet Model zarzdzania ................................................................................ 176
Rozszerzanie UML-a ............................................................................................ 176
Stereotypy............................................................................................................ 177
Zaleno ....................................................................................................... 177
Klasyfikator.................................................................................................... 178
Klasa ............................................................................................................. 178
Uoglnienie.................................................................................................... 178
Pakiety........................................................................................................... 179
Komponent .................................................................................................... 179
Kilka dodatkowych stereotypw....................................................................... 179
Stereotypy graficzne........................................................................................ 179
Ograniczenia ........................................................................................................ 180
Metki................................................................................................................... 181
Podsumowanie ..................................................................................................... 181
Warsztaty............................................................................................................. 182
Test ............................................................................................................... 182

10

UML dla kadego

Rozdzia 15. UML jako narzdzie tworzenia systemw ........................................ 183


Metodologie: stara i nowa...................................................................................... 184
Stara metoda .................................................................................................. 184
Nowa metoda ................................................................................................. 185
Co trzeba zrobi podczas tworzenia oprogramowania? ............................................. 185
GRAPPLE ........................................................................................................... 187
RAD3 : struktura GRAPPLE................................................................................... 187
Zbieranie wymaga ......................................................................................... 188
Analiza .......................................................................................................... 191
Projekt........................................................................................................... 192
Budowa kodu ................................................................................................. 193
Wdroenie...................................................................................................... 194
Spojrzenie wstecz na GRAPPLE............................................................................ 195
Podsumowanie ..................................................................................................... 195
Warsztaty............................................................................................................. 196
Test ............................................................................................................... 196

Cz II

Studium przypadku ........................................................ 197

Rozdzia 16. Studium przypadku informacje wstpne...................................... 199


GRAPPLE-owanie problemu ................................................................................. 200
Poznanie procesw biznesowych............................................................................ 200
Obsuga klienta ............................................................................................... 201
Przygotowanie posiku..................................................................................... 206
Sprztanie stou............................................................................................... 208
Czego si nauczylicie? ......................................................................................... 210
Podsumowanie ..................................................................................................... 212
Warsztaty............................................................................................................. 212
Test ............................................................................................................... 213
wiczenia ...................................................................................................... 213

Rozdzia 17. Analiza domeny.............................................................................. 215


Analiza wywiadu dotyczcego procesw biznesowych............................................. 215
Tworzenie wstpnego diagramu klas....................................................................... 217
Grupowanie klas ................................................................................................... 217
Tworzenie powiza ............................................................................................. 219
Powizania z klientem ..................................................................................... 219
Powizania z kelnerem .................................................................................... 223
Powizania z szefem kuchni............................................................................. 225
Powizania z sprztaczem................................................................................ 225
Powizania menadera .................................................................................... 225
Dygresja......................................................................................................... 226
Tworzenie agregacji i agregacji cakowitych ........................................................... 227
Wypenianie klas .................................................................................................. 227
Klient............................................................................................................. 227
Pracownik ...................................................................................................... 229
Rachunek ....................................................................................................... 230
Oglne zagadnienia modelowania .......................................................................... 231
Sownik modelu.............................................................................................. 231
Organizacja diagramu...................................................................................... 231
Przerobiony materia ............................................................................................. 231
Podsumowanie ..................................................................................................... 232
Warsztaty............................................................................................................. 232
Test ............................................................................................................... 232
wiczenia ...................................................................................................... 233

Spis treci

11

Rozdzia 18. Poznawanie wymaga systemu ...................................................... 235


Tworzenie wizji .................................................................................................... 237
Zanim zaczniemy zbiera wymagania systemu ........................................................ 244
Sesja JAD powicona wymaganiom systemu ......................................................... 245
Rezultaty.............................................................................................................. 248
Co dalej?.............................................................................................................. 251
Podsumowanie ..................................................................................................... 251
Warsztaty............................................................................................................. 251
Test ............................................................................................................... 251
wiczenie ...................................................................................................... 251

Rozdzia 19. Praca nad przypadkami uycia........................................................ 253


Efektywne wykorzystanie przypadkw uycia......................................................... 254
Analiza przypadku uycia...................................................................................... 254
Pakiet Kelner........................................................................................................ 255
Przyjmij zamwienie ....................................................................................... 256
Przeka zamwienie do kuchni......................................................................... 256
Zmie zamwienie .......................................................................................... 257
led stan realizacji zamwienia....................................................................... 258
Informuj szefa o statusie klientw..................................................................... 259
Wystaw rachunek ........................................................................................... 260
Drukuj rachunek ............................................................................................. 261
Wezwij pomocnika.......................................................................................... 262
Pozostae przypadki uycia .............................................................................. 263
Komponenty systemu............................................................................................ 263
Podsumowanie ..................................................................................................... 264
Warsztaty............................................................................................................. 264
Test ............................................................................................................... 264
wiczenia ...................................................................................................... 264

Rozdzia 20. Poznawanie interakcji i zmian stanu ............................................... 265


Robocze czci systemu ........................................................................................ 265
Pakiet Kelner.................................................................................................. 266
Pakiet SzefKuchni........................................................................................... 266
Pakiet Sprztacz ............................................................................................. 267
Pakiet Pomocnik Kelnera................................................................................. 267
Pakiet Pomocnik Szefa Kuchni......................................................................... 267
Pakiet Barman ................................................................................................ 267
Pakiet Szatniarz .............................................................................................. 268
Interakcje wystpujce w systemie ......................................................................... 268
Przyjmij zamwienie ....................................................................................... 268
Zmie zamwienie .......................................................................................... 271
led stan realizacji zamwienia....................................................................... 272
Implikacje ............................................................................................................ 273
Podsumowanie ..................................................................................................... 274
Warsztaty............................................................................................................. 274
Test ............................................................................................................... 275
wiczenia ...................................................................................................... 275

Rozdzia 21. Oglne spojrzenie na projektowanie i wdraanie.............................. 277


Kilka oglnych zasad projektowania GUI ............................................................... 277
Sesja JAD powicona GUI ................................................................................... 280
Od przypadkw uycia do interfejsw uytkownika................................................. 281
Diagramy UML-owe projektowanych GUI ............................................................. 283

12

UML dla kadego


Planowanie wdraania systemu .............................................................................. 284
Sie ............................................................................................................... 284
Wzy i diagram wdroenia.............................................................................. 285
Nastpne kroki.................................................................................................. 286
i kilka sw od zleceniodawcy ............................................................................ 287
Zwikszanie zdolnoci sprzeday ..................................................................... 287
Ekspansja restauracyjnego imperium ................................................................ 288
Podsumowanie ..................................................................................................... 289
Warsztaty............................................................................................................. 290
Test ............................................................................................................... 290
wiczenia ...................................................................................................... 290

Rozdzia 22. Wzorce projektowe ........................................................................ 291


Parametryzacja..................................................................................................... 291
Wzorce projektowe............................................................................................... 293
acuch odpowiedzialnoci ................................................................................... 294
acuch odpowiedzialnoci: domena restauracji ................................................ 295
acuch odpowiedzialnoci: Modele zdarze przegldarki sieciowej ................... 297
Nasze wasne wzorce projektowe ........................................................................... 298
Korzyci ze stosowania wzorcw ........................................................................... 300
Podsumowanie ..................................................................................................... 300
Warsztaty............................................................................................................. 301
Test ............................................................................................................... 301
wiczenia ...................................................................................................... 301

Cz III Spojrzenie w przyszo ................................................. 303


Rozdzia 23. Modelowanie systemw wbudowanych ........................................... 305
Potrzeba jest matk wynalazkw ............................................................................ 306
Narodziny PoprawiaczaChwytu ............................................................................. 307
Czym jest system wbudowany?.............................................................................. 309
Pojcia dotyczce systemw wbudowanych ............................................................ 309
Czas .............................................................................................................. 310
Wtki............................................................................................................. 310
Przerwania ..................................................................................................... 310
System operacyjny.......................................................................................... 311
Modelowanie PoprawiaczaChwytu......................................................................... 313
Klasy ............................................................................................................. 314
Przypadki uycia............................................................................................. 315
Interakcje ....................................................................................................... 316
Oglne zmiany stanu ....................................................................................... 317
Wdroenie...................................................................................................... 318
Poprawianie muskuw.......................................................................................... 318
Podsumowanie ..................................................................................................... 319
Warsztaty............................................................................................................. 320
Test ............................................................................................................... 320
wiczenia ...................................................................................................... 320

Rozdzia 24. Co dalej z UML-em? ....................................................................... 321


Rozszerzenia dla biznesu ....................................................................................... 321
Nauki pynce z rozszerze biznesowych ................................................................ 323
Interfejsy graficzne uytkownika............................................................................ 323
Poczenie z przypadkami uycia...................................................................... 323
Modelowanie GUI .......................................................................................... 324

Spis treci

13
Systemy ekspertowe ............................................................................................. 325
Komponenty systemu ekspertowego ................................................................. 325
Przykad......................................................................................................... 327
Modelowanie bazy wiedzy............................................................................... 328
Aplikacje sieci WWW........................................................................................... 331
To ju wszystko ................................................................................................... 333
Podsumowanie ..................................................................................................... 333
Warsztaty............................................................................................................. 334
Test ............................................................................................................... 334
wiczenia ...................................................................................................... 334

Dodatki.......................................................................................... 335
Dodatek A Rozwizania testw ....................................................................... 337
Dodatek B Narzdzia modelowania w UML-u .................................................... 349
Cechy wsplne ..................................................................................................... 349
Rational Rose ....................................................................................................... 350
Select Enterprise ................................................................................................... 352
Visual UML ......................................................................................................... 354
Idealne narzdzie do tworzenia modeli.................................................................... 355

Dodatek C Podsumowanie w rysunkach........................................................... 357


Diagram czynnoci................................................................................................ 357
Diagram klas ........................................................................................................ 358
Diagram kooperacji............................................................................................... 359
Diagram komponentw ......................................................................................... 360
Diagram wdroenia ............................................................................................... 360
Diagram przebiegu................................................................................................ 360
Diagram stanw.................................................................................................... 361
Diagram przypadkw uycia.................................................................................. 361

Skorowidz...................................................................................... 363

Rozdzia 1.

Co to jest UML
UML (ang. Unified Modeling Language zunifikowany jzyk modelowania) jest
jednym z najbardziej ekscytujcych narzdzi do tworzenia obiektowo zorientowanych
systemw. Dlaczego? Poniewa UML jest jzykiem modelowania wizualnego, pozwalajcym budowniczym systemw na tworzenie planw, na ktrych ich wizje zostaj uchwycone i wyraone w standardowy, atwy do zrozumienia sposb. Dostarcza
te mechanizmw uatwiajcych efektywn wymian informacji i przekazywanie projektw innym.
W tym rozdziale dowiemy si:
 dlaczego UML jest nieodzowny,
 jak powsta UML,
 czym s diagramy UML-a,
 dlaczego wane jest stosowanie kilku rodzajw diagramw.

Najwaniejsze jest przekazanie wizji innym. Przed pojawieniem si UML-a rozwj


systemw by zawsze mniej lub bardziej udan prb trafienia do celu. Analitycy
systemowi starali si oceni potrzeby klientw, nastpnie tworzyli analiz wymaga
i warunkw zapisan w notacji jasnej dla nich, ale nie zawsze zrozumiaej dla klientw. Przekazywali t analiz zespoowi programistw i mieli nadziej, e produktem
kocowym bdzie system, ktrego klient oczekiwa.
Kilka poj:
W tej ksice przez system rozumiemy tak kombinacj oprogramowania i sprztu, ktra
jest rozwizaniem problemu biznesowego. Budowanie systemu to tworzenie systemu dla
klienta, czyli osoby, ktra ma problem do rozwizania. Analityk tworzy dokumentacj problemu klienta i przedstawia j deweloperom, czyli programistom, ktrzy tworz oprogramowanie rozwizujce problem i wdraaj je do uytku na sprzcie komputerowym.

Poniewa budowanie systemu jest dzieem ludzi, na kadym etapie dziaania istnieje
potencjalne niebezpieczestwo powstania bdu. Analitycy mog le zrozumie klienta

22

Cz I Zaczynamy

lub stworzy dokument, ktrego klient nie bdzie w stanie poj. Wynik pracy analitykw moe nie by jasny dla programistw, ktrzy z kolei mog stworzy program
trudny do obsugi i nierozwizujcy rzeczywistego problemu klienta.
C wic dziwnego, e wikszo dziaajcych od dawna systemw jest le skonstruowana i trudna do uycia?

Dodanie metody do szalestwa


We wczesnym okresie komputeryzacji nieliczni wwczas programici polegali na
rcznej analizie problemw. Jeeli w ogle co analizowali, robili to zwykle na drugiej stronie serwetki niadaniowej. Zwykle pisali programy jednym cigiem, tworzc
kod w miar poznawania problemu. Miao to sw romantyczn atmosfer i miao
spojrzenia, ale cakowicie nie pasowao do obecnego, stawiajcego wysokie wymagania, wiata biznesu.
Dzisiaj dobrze przemylany plan to podstawa. Klient musi rozumie, co robi grupa
tworzca oprogramowanie, i musi umie wskaza, w ktrym miejscu realizujcy zamwienie nie w peni zrozumieli jego potrzeby (moe to by take konieczne, gdy
klient zmieni swoje dania). Ponadto tworzenie systemu jest wysikiem grupowym,
wic kady czonek grupy musi wiedzie, ktr cz caoci tworzy (i jak wielka jest
ta cao).
W miar jak wiat staje si coraz bardziej skomplikowany, systemy bdce czci tego
wiata i korzystajce z komputerw rwnie staj si bardziej skomplikowane. W skad
takich systemw wchodzi czsto wiele elementw sprztowych, rnych programw,
sieci rozcignite na due odlegoci, poczenia z bazami danych, w ktrych zostay
zmagazynowane cae gry informacji. Jeeli chcecie, aby Wasze systemy sprawnie
i skutecznie dziaay, musicie si pogodzi z tym, e s one skomplikowane.
Kluczem do osignicia sukcesu jest odpowiednie zorganizowanie procesu projektowania, by analitycy, klienci i programici zaangaowani w tworzenie systemu rozumieli si nawzajem i potrafili si pogodzi. UML zapewnia tak organizacj.
Tak jak nie mona zbudowa skomplikowanej struktury biurowca bez wczeniejszego
nakrelenia szczegowego rysunku technicznego, tak bez stworzenia szczegowego
projektu nie mona stworzy systemu, ktry ma w tym biurowcu funkcjonowa. Jego
plan musi by tak czytelny dla klienta jak projekt architektoniczny dla zleceniodawcy
budowy. Musi on by rezultatem szczegowej analizy potrzeb klienta.
Krtkie terminy wykonania s kolejnym problemem, z ktrym naley sobie radzi
przy tworzeniu wspczesnych systemw. Jeeli terminy depcz sobie po pitach,
solidne projektowanie jest absolutn koniecznoci.
Kolejnym aspektem wspczesnego ycia wymagajcym porzdnego projektowania
s przejcia firm. Jeeli jedna firma przejmuje inn, moe dokona wanych zmian
we wanie realizowanym projekcie (zmieni narzdzia implementacyjne, jzyk ko-

Rozdzia 1. Co to jest UML

23

dowania i wiele innych rzeczy). Dobrze skonstruowany plan bdzie odporny na


uszkodzenia i uatwi dokonywanie niezbdnych poprawek. Jeeli jest solidny, zmiany implementacyjne przebiegn gadko.
Potrzeba solidnego projektowania zrodzia potrzeb istnienia notacji, ktr analitycy,
twrcy oprogramowania i klienci zaakceptuj jako standardow tak jak zostaa
powszechnie zaakceptowana inynierska notacja uywana przy kreleniu diagramw
obwodw elektronicznych oraz notacja diagramw Feynmana powszechnie przyjta
przez fizykw. UML jest tak notacj.

Jak si narodzi UML


UML zosta wymylony przez Gradyego Boocha, Jamesa Rumbaugha i Ivara Jacobsona. Ci trzej dentelmeni, nazwani Three Amigos1, w latach 80 i 90 XX wieku
pracowali w trzech rnych organizacjach, niezalenie rozwijajc wasne metodologie
obiektowo zorientowanej analizy i projektowania. Ich osignicia przewyszyy jakoci dziea licznych wspzawodnikw. W poowie lat 90 zaczli od siebie nawzajem
poycza pomysy, a wreszcie zdecydowali si poczy swoje wysiki.
Rozdzia 2 Co to jest obiektowo i rozdzia 4 Zwizki dotycz spraw obiektowoci. W naszej ksice te koncepcje odgrywaj podstawow rol.

W roku 1994 Rumbaugh przenis si do Rational Software Corporation, gdzie Booch


ju wczeniej pracowa. Po roku doczy do nich Jacobsen.
Reszta, jak mwi, jest histori. Szkicowe wersje UML-a zaczy kry w wiecie
informatycznym i spotkay si z odzewem, pod wpywem ktrego wersja ostateczna
ulega znacznym zmianom. Wiele korporacji uznao, e UML moe dobrze suy ich
strategicznym celom, wic powstao UML-owe konsorcjum.
Wrd jego czonkw znalazy si takie firmy jak DEC, Hewlett-Packard, Intellicorp,
Microsoft, Oracle, Texas Instruments, Rational i inne. Dziki temu wspdziaaniu w roku 1997 stworzono wersj 1.0 UML-a i przedstawiono j do oceny OMG (ang. Object
Management Group)2 organizacji, ktra sformuowaa dania stworzenia standardowego jzyka modelowania.

Three Amigos to nazwa parodii westernu z roku 1986, w ktrej trzech pataachw przeywa na prerii
przerne przygody. Nazwa ta rzeczywicie przylgna do trjki twrcw UML-a, o czym mona si
przekona choby na stronie internetowej http://c2.com/cgi/wiki?ThreeAmigos przyp. tum.
OMG (Object Management Group) to organizacja utworzona w 1989 r. przez 13 liczcych si
przedsibiorstw z brany softwareowej. Jej celem jest promowanie teorii oraz praktyki technologii
obiektowych. Obecnie do OMG naley ponad 750 firm-producentw oprogramowania oraz sprztu
komputerowego. Organizacja zajmuje si opracowywaniem standardw pomagajcych w tworzeniu
aplikacji obiektowych przyp. tum.

Cz I Zaczynamy

24

Konsorcjum rozwino si i wyprodukowao wersj 1.1, ktra w kocu roku 1997


poddana ocenie OMG uzyskaa aprobat tej organizacji. OMG przeja trud rozwijania UML-a, czego rezultatem byo wypuszczenie dwch kolejnych wersji w roku
1998. UML sta si de facto standardem w przemyle informatycznym i wci jest
rozwijany.

Komponenty UML-a
UML zawiera wiele elementw graficznych grupowanych w postaci diagramw. Poniewa jest jzykiem, okrela zasady czenia tych elementw. Zamiast wyliczania
elementw i zasad, lepiej przejdmy od razu do diagramw, poniewa wanie one
bd Wam suy do analizowania systemw.
To podejcie jest zblione do uczenia si obcego jzyka przez praktyk, zamiast
wkuwania teorii. Jeeli przez pewien czas bdziecie uywa obcego jzyka, atwiej
Wam bdzie potem poj jego zasady gramatyczne.

Celem diagramw jest pokazanie wielu perspektyw systemu; ten zestaw perspektyw
to model. UML-owy model systemu to co w rodzaju wykonanego w skali modelu
budynku wraz z jego artystyczn interpretacj. Naley podkreli, e model opisuje,
co system ma robi, ale nie okrela, jak system ten ma zosta zaimplementowany.
W kolejnych podrozdziaach zostan krtko opisane najpowszechniej uywane diagramy UML-owe i koncepcje, ktre reprezentuj. Dalej w czci pierwszej kademu z nich
przyjrzymy si dokadniej. Pamitajcie, e jest moliwe tworzenie diagramw hybrydowych i e UML dostarcza sposobw organizowania i rozszerzania diagramw.
Modele:
Model jest pojciem przydatnym w nauce i inynierii. W najoglniejszym sensie, tworzc model, uywamy czego, co dobrze znamy, do zrozumiaego objanienia czego, o czym wiemy
niewiele. W niektrych dziedzinach wiedzy modelem moe by ukad rwna, w innych model
to symulacja komputerowa. Istnieje wiele rnych modeli.
Dla nas modelem bdzie zestaw diagramw UML-owych, ktre bdziemy mogli sprawdza,
ocenia i modyfikowa w celu poznania i rozwinicia systemu.

Diagram klas
Pomylcie o czym nalecym do otaczajcego Was wiata (przyznaj, e to do niesprecyzowane danie, ale sprbujcie). Wikszo rzeczy ma swoje atrybuty (waciwoci) i zachowuje si w szczeglny sposb. O tych zachowaniach moemy myle
jako o zbiorze operacji.

Rozdzia 1. Co to jest UML

25

Zauwaycie take, e rzeczy w sposb naturalny mona przypisa do rnych kategorii (samochody, meble, pralki). Te kategorie nazywamy klasami. Klasa to kategoria
lub grupa rzeczy, ktre maj podobne atrybuty i wsplne zachowania. Oto przykad.
Cokolwiek nalecego do klasy pralek ma takie atrybuty jak nazwa firmowa, model,
numer fabryczny i pojemno. Czynnoci waciwe dla rzeczy z tej klasy to midzy
innymi dziaania opisane przez polecenia w ubrania, dodaj detergenty, wcz
i usu ubrania.
Na rysunku 1.1 mamy przykad notacji UML-owej. Jest to prostoktna ikona reprezentujca klas. W jej trzech polach oprcz nazwy klasy zostay zapisane jej atrybuty
i dziaania. W czci najwyszej mamy nazw klasy, w rodkowej atrybuty, a w najniszej dziaania. Diagram klas skada si z pewnej liczby takich prostoktw poczonych liniami wskazujcymi zalenoci midzy klasami.
Rysunek 1.1.
Ikona klasy

Dlaczego w ogle mamy si zajmowa klasami rzeczy, ich atrybutami i dziaaniami?


W celu osignicia interakcji ze zoonym wiatem zewntrznym wikszo programw symuluje niektre jego aspekty. Dowiadczenie dziesitkw lat wskazuje, e
atwiej jest tworzy oprogramowanie, gdy reprezentuje ono klasy rzeczy ze wiata realnego. Diagramy klas dla tworzcych oprogramowanie s tak reprezentacj.
Diagramy klas uatwiaj rwnie wykonywanie analizy. Umoliwiaj rozmawianie
z klientami ich jzykiem, za pomoc przyjtych przez nich okrele. Pozwala to na
odkrycie wanych szczegw problemu, ktry naley rozwiza.

Diagram obiektw
Obiekt to egzemplarz nalecy do klasy szczeglna rzecz, ktra ma szczeglne atrybuty i operacje. Na przykad Wasza pralka moe mie nazw firmow Laundatorium,
nazw modelu Washmeister, numer fabryczny: GL57774 i pojemno 5 kg.
Na rysunku 1.2 widzimy UML-ow reprezentacj obiektu. Zauwa, e ikona jest prostoktna jak w przypadku klasy, ale nazwa jest podkrelona. Nazwa egzemplarza
jest podana przed dwukropkiem, a nazwa klasy po dwukropku.
Rysunek 1.2.
UML-owa ikona
obiektu

Cz I Zaczynamy

26

Diagram przypadkw uycia


Przypadek uycia to opis zachowania systemu z punktu widzenia uytkownika. Dla
tworzcych oprogramowanie jest to bardzo przydatne narzdzie: suy do uchwycenia
metod prb i bdw zaoe systemu z punktu widzenia uytkownika. Jest to istotne, jeeli system ma suy zwykym ludziom, a nie cyborgom.
O przypadkach uycia bdziemy szczegowo mwi w dalszej czci ksiki. Teraz
tylko jeden przykad. Pralki uywasz, oczywicie, do prania ubra. Na rysunku 1.3
zostao to pokazane na diagramie UML.
Rysunek 1.3.
Diagram
przypadkw uycia

Maa schematyczna figurka, w tym przykadzie odpowiadajca uytkownikowi pralki,


to aktor. Elipsa reprezentuje przypadek uycia. Zauwa, e aktor inicjuje przypadek
uycia. Moe to by osoba lub inny system.

Diagram stanw
Obiekt zawsze jest w jakim stanie. Czowiek moe by noworodkiem, niemowlciem, dzieckiem, nastolatkiem lub dorosym. Mamy tu do czynienia ze wznoszeniem,
zatrzymaniem lub spadkiem. Pralka moe pobiera wod, pra, puka, wirowa lub
by wyczona.
UML-owy diagram stanw pokazany na rysunku 1.4 reprezentuje ten fragment rzeczywistoci. Na rysunku zostay pokazane przejcia od jednego stanu do drugiego.
Rysunek 1.4.
Diagram stanw

Symbol na grze reprezentuje stan pocztkowy, a symbol na dole stan kocowy.

Rozdzia 1. Co to jest UML

27

Diagram przebiegu
Diagram klas i diagram obiektw przedstawiaj informacj statyczn. Jednake w dziaajcym systemie obiekty wpywaj na siebie wzajemnie i trwa to w okrelonym czasie. Diagram przebiegu ukazuje dynamik interakcji w zalenoci od czasu.
Wracajc do przykadu z pralk, zauwamy, e jej komponenty to rura (do doprowadzenia wody), bben (cz, w ktrej umieszczamy ubrania) i rura odprowadzajca
wod. Oczywicie, jest tam wiele innych obiektw (jak widzicie, jeden obiekt moe
si skada z wielu innych).
Co si stanie, gdy przystpicie do realizacji przypadku uycia Upierz ubrania? Zamy, e wykonalicie wszystkie operacje w ubrania, dodaj detergent i wcz.
Kolejno nastpnych krokw powinna by nastpujca:
1. Woda wpywa do bbna przez rur.
2. Bben pozostaje nieruchomy przez pi minut.
3. Woda przestaje wpywa do bbna.
4. Bben obraca si tam i z powrotem przez pitnacie minut.
5. Woda z mydem spywa do cieku.
6. Woda zaczyna ponownie napywa.
7. Bben ponownie obraca si tam i z powrotem.
8. Woda przestaje napywa.
9. Woda spukujca spywa do cieku.
10. Bben zaczyna coraz szybciej obraca si w jedn stron i wiruje

przez pi minut.
11. Bben przestaje si obraca pranie jest skoczone.

Na rysunku 1.5 widzimy diagram przebiegu ukazujcy interakcje midzy napywajc


wod, bbnem i ciekiem (reprezentowanymi przez prostokty pokazane na grze)
nastpujce w czasie. O czasu na tym diagramie jest skierowana z gry na d.
A wracajc do stanw kroki 1 i 2 moemy okreli jako stan namaczania, kroki 3
i 4 jako stan prania, kroki 5 i 6 jako stan pukania, za kroki od 8 do 10 jako
stan wirowania.

Diagram czynnoci
Czynnoci, ktre wystpuj w przypadku uycia lub jako operacje obiektu, zwykle nastpuj w okrelonej kolejnoci jak w jedenastu krokach w poprzednim podrozdziale. Kroki od 4 do 6 na rysunku 1.6 zostay pokazane w postaci diagramu czynnoci.

Cz I Zaczynamy

28
Rysunek 1.5.
Diagram przebiegu

Rysunek 1.6.
Diagram czynnoci

Diagram kooperacji
Elementy systemu wsppracuj ze sob w celu zrealizowania celw i jzyk modelowania musi to wyrazi. W UML-u suy temu diagram kooperacji pokazany na rysunku 1.7. Na tym rysunku do zbioru klas tworzcego pralk zosta dodany zegar wewntrzny. Po upywie odpowiednio dugiego czasu zegar zatrzymuje nabieranie wody
i nakazuje rozpoczcie obracania bbna tam i z powrotem.
Rysunek 1.7.
Diagram kooperacji

Rozdzia 1. Co to jest UML

29

Diagram komponentw
Ten i nastpny diagram nie maj nic wsplnego z pralkami, poniewa diagram komponentw i diagram wdroenia dotycz systemw komputerowych.
W procesie tworzenia wspczesnego oprogramowania uywamy komponentw, co jest
szczeglnie wane przy oparciu pracy na dziaaniu grup. Nie bdziemy si zbytnio rozwodzi nad tym zagadnieniem. Diagram komponentw zosta pokazany na rysunku 1.8.
Rysunek 1.8.
Diagram
komponentw

Diagram wdroenia
Diagram wdroenia pokazuje fizyczn architektur systemu komputerowego (rysunek 1.9). Moe obrazowa komputery i inne przyrzdy oraz poczenia midzy nimi
i oprogramowanie na nich zainstalowane. Kady komputer jest reprezentowany przez
prostopadocian, a poczenia midzy komputerami s widoczne w postaci linii czcych te prostopadociany.
Rysunek 1.9.
Diagram wdroenia

Kilka innych skadnikw


Wspomniaem poprzednio, e UML dostarcza skadnikw sucych do organizowania i rozszerzania diagramw.

Pakiety
Czasami zechcecie poczy elementy diagramu w grup. Na przykad kilka klas lub
kilka komponentw tworzy podsystem. Do tego suy grupowanie w pakiecie reprezentowanym przez rysunek teczki z zakadk. Patrz rysunek 1.10.

Cz I Zaczynamy

30
Rysunek 1.10.
Pakiet pozwala
na zgrupowanie
elementw diagramu

Notatki
Czasami nie jest jednoznacznie okrelone, dlaczego jaki element diagramu znajduje
si dokadnie w tym miejscu lub co naley z nim robi. W takim przypadku pomocne
jest uycie notatki. Uwaaj notatk za odpowiednik tej karteczki z objanieniem
przylepianej gdzie w widocznym miejscu. Reprezentuje j ikona w postaci prostokta z zagitym rogiem. Wewntrz prostokta zapisujemy tekst objaniajcy. Przykad zosta pokazany na rysunku 1.11. Notatk dodajemy do diagramu, czc j przerywan lini z elementem, do ktrego si odnosi.
Rysunek 1.11.
Za pomoc notatki
moesz umieci
objanienia na
dowolnym diagramie

Stereotypy
UML dostarcza wielu poytecznych elementw, ale nie jest to zestaw wyczerpujcy
moliwoci. Wczeniej czy pniej bdziecie projektowa system wymagajcy uycia blokw konstrukcyjnych specjalnie przystosowanych do jego potrzeb. Stereotypy
pozwalaj na przeksztacenie istniejcych elementw UML-owych w inne. To tak
jakby kupowa gotowy garnitur po to, by go przerobi na wasny rozmiar (zamiast
uszy nowy z kuponu materiau). Uwaajcie stereotyp za przykad tego rodzaju zmiany. Jest przedstawiany w postaci nazwy zawartej w podwjnych nawiasach ktowych
zwanych francuskimi.
Dobrym przykadem jest interfejs. Interfejs obejmuje tylko operacje, bez atrybutw.
Jest to zestaw operacji, ktre chcecie wielokrotnie wykonywa w modelu. Zamiast
wymyla nowy element reprezentujcy interfejs, moecie uy ikony klasy z napisem Intefejs umieszczonym nad nazw klasy. Zostao to pokazane na rysunku 1.12.
Rysunek 1.12.
Stereotyp pozwala
na tworzenie nowych
elementw na podstawie
istniejcych

Rozdzia 1. Co to jest UML

31

Po co tyle rnych diagramw?


Jak widzicie, diagramy UML-a pozwalaj spojrze na system z wielu rnych punktw widzenia. Warto zauway, e nie wszystkie diagramy musz pojawia si we
wszystkich modelach. Jednake wikszo modeli zawiera diagramy, ktre zostay
wyliczone.
Do czego s potrzebne rne perspektywy systemu? Zwykle w procesie tworzenia
bierze udzia wielu uczestnikw ludzi zainteresowanych rnymi aspektami systemu. Wrmy do naszego przykadu z pralk. Z innej perspektywy patrzycie na system, projektujc silnik pralki, z innej, gdy piszecie instrukcj jej uywania. Zupenie inaczej patrzycie na pralk, projektujc jej wygld, inaczej, gdy chcecie upra
ubranie.
Sumienne projektowanie wymaga spojrzenia na system ze wszystkich moliwych
punktw widzenia, a kady diagram UML-a pokazuje system z innej perspektywy.
Celem jest usatysfakcjonowanie kadego uczestnika procesu.

Podsumowanie
Systemy buduj ludzie. Bez uycia atwej do zrozumienia notacji proces tworzenia
systemw zawiera wiele potencjalnych moliwoci popenienia bdw.
UML to notacja systemowa, ktra staa si wiatowym standardem stosowanym w procesach tworzenia systemw. Jest to rezultat pracy Gradyego Boocha, Jamesa Rumbaugha i Ivara Jacobsona. Korzystanie z diagramw UML-a pozwala analitykom budowa plany ukazujce rne oblicza systemu zrozumiae dla klientw, programistw
i wszystkich innych osb zwizanych z procesem twrczym. Tworzenie wszystkich
tych diagramw jest konieczne, poniewa kady z nich przeznaczony jest dla innego
typu uczestnikw owego procesu.
Model przygotowany za pomoc UML-a pokazuje, co system ma robi, ale nie wyjania, jak to ma by wykonane.

Warsztaty
Wiecie ju, czym jest UML. Czas na sprawdzenie nabytej wiedzy o tym doskonaym
narzdziu. W tym celu wykonajcie wiczenia i odpowiedzcie na pytania zawarte w tecie. Rozwizania znajdziecie w dodatku A Rozwizania testw.

Cz I Zaczynamy

32

Test
1. Dlaczego do tworzenia modeli systemw potrzebujemy tak wielu rodzajw

diagramw?
2. Ktre diagramy przedstawiaj statyczny obraz systemu?
3. Ktre diagramy przedstawiaj dynamiczny obraz systemu (tzn. ktre ilustruj

zmiany zachodzce w czasie)?

wiczenia
1. Zamy, e budujesz system komputerowy, ktry ma gra w szachy

z uytkownikiem. Ktrych diagramw powiniene uy i dlaczego?


2. Przygotuj list pyta, ktre zadaby potencjalnemu uytkownikowi systemu

z poprzedniego wiczenia? Zastanw si, dlaczego wanie te pytania


powiniene zada.

You might also like