Projektowanie obiektowe Role, odpowiedzialnosc i wspolpraca.pdf

(791 KB) Pobierz
Projektowanie obiektowe. Role, odpowiedzialność i współpraca
IDZ DO
PRZYK£ADOW Y ROZDZIA£
Projektowanie obiektowe.
SPIS TREŒCI
Role, odpowiedzialnoϾ
i wspó³praca
KATALOG KSI¥¯EK
KATALOG ONLINE
Autorzy: Rebecca Wirfs-Brock, Alan McKean
T³umaczenie: Przemys³aw Kowalczyk
ISBN: 83-246-0046-9
Tytu³ orygina³ u: Object Design: Roles,
Format: B5, stron: 352
ZAMÓW DRUKOWANY KATALOG
TWÓJ KOSZYK
DODAJ DO KOSZYKA
Projektowanie i programowanie obiektowe to dziœ standard w produkcji
oprogramowania. Jêzyk UML, powszechnie stosowane narzêdzie opisu projektów
i architektury oprogramowania, systematyzuje i upraszcza proces projektowania.
Projektowanie systemów w oparciu o przypadki u¿ycia oraz role, odpowiedzialnoœæ
i wspó³pracê obiektów, pozwala na skoncentrowanie siê na tym, jak powinien dzia³aæ
system, bez zbyt wczesnego zag³êbiania siê w szczegó³y implementacyjne.
Dopiero po opracowaniu prawid³owego projektu mo¿na zacz¹æ zastanawiaæ siê,
jak zaimplementowaæ projekt przy u¿yciu klas, interfejsów i hierarchii dziedziczenia.
Ksi¹¿ka „Projektowanie obiektowe. Role, odpowiedzialnoœæ i wspó³praca” przedstawia
metodykê projektowania obiektowego nosz¹c¹ nazwê „Projektowania Sterowanego
Odpowiedzialnoœci¹”. Przedstawia praktyczne zasady projektowania obiektów bêd¹cych
integralnymi elementami systemu, w którym ka¿dy obiekt ma specyficzn¹ rolê i zakres
odpowiedzialnoœci. Autorzy prezentuj¹ najnowsze praktyki i techniki „Projektowania
Sterowanego Odpowiedzialnoœci¹”, a tak¿e przedstawiaj¹ sposoby ich stosowania
w rozwoju nowoczesnych aplikacji obiektowych. Ksi¹¿ka przedstawia strategie
znajdowania kandydatów na obiekty i zawiera praktyczne przyk³ady oraz porady,
dziêki którym bez problemu wykorzystasz opisywane w niej metody.
Stereotypy ról obiektów
Analiza opisu systemu
Model biznesowy systemu
Wyszukiwanie kandydatów na obiekty
Przydzielanie odpowiedzialnoœci obiektom
Definiowanie wspó³pracy pomiêdzy obiektami
Przekazywanie sterowania w obiektach i systemie
CENNIK I INFORMACJE
ZAMÓW INFORMACJE
ONOWOŒCIACH
ZAMÓW CENNIK
CZYTELNIA
FRAGMENTY KSI¥¯EK ONLINE
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
319787323.001.png 319787323.002.png 319787323.003.png 319787323.004.png
Spis treści
Przedsłowie autorstwa Ivara Jacobsona....................................................9
Przedsłowie autorstwa Johna Vlissidesa .................................................11
Przedmowa ...........................................................................................13
Rozdział 1. Pojęcia używane w projektowaniu .........................................................17
Maszyneria obiektowa ...........................................................................................................17
Role ........................................................................................................................................ 19
Stereotypy ról obiektów ......................................................................................................... 20
Rola, odpowiedzialność i współpraca .................................................................................... 21
Kontrakty obiektów ................................................................................................................ 23
Gwarancje warunków użycia i następstw ........................................................................ 23
Obiekty dziedzinowe .............................................................................................................. 24
Obiekty specyficzne dla aplikacji ........................................................................................... 25
Interfejsy ................................................................................................................................ 27
Klasy ...................................................................................................................................... 28
Dwie role ......................................................................................................................... 28
Złożenie ................................................................................................................................. 30
Dziedziczenie ......................................................................................................................... 31
Organizacje obiektów ............................................................................................................ 32
Komponenty ........................................................................................................................... 33
Wzorce ................................................................................................................................... 33
Zastosowanie wzorca podwójnego rozdziału ................................................................... 34
Rzeczywiste korzyści z używania wzorców .................................................................... 38
Schematy, sp. z o.o. ................................................................................................................ 38
Architektura ........................................................................................................................... 40
Style architektoniczne ............................................................................................................ 41
Sterowanie scentralizowane ............................................................................................. 43
Sterowanie rozproszone — brak centrów ........................................................................ 43
Sterowanie delegowane ................................................................................................... 44
Badanie interakcji — przykład architektury warstwowej ................................................ 44
Umieszczanie obiektów w warstwach ............................................................................. 46
Opis projektu .......................................................................................................................... 47
Podsumowanie ....................................................................................................................... 48
Zalecane lektury ..................................................................................................................... 48
 
4
Projektowanie obiektowe. Role, odpowiedzialność i współpraca
Rozdział 2. Projektowanie sterowane odpowiedzialnością ........................................51
Proces widzenia, opisywania i projektowania ........................................................................ 52
Uruchamianie produkcji — definicja i planowanie .......................................................... 55
Przygotowanie sceny — wstępny opis ............................................................................. 55
Przystępujemy do produkcji — projekt ........................................................................... 57
„Widzenie” z wielu perspektyw ....................................................................................... 59
Pisanie scenariusza — analiza opisów ................................................................................... 59
Opisy użytkowania .......................................................................................................... 60
Inne specyfikacje ............................................................................................................. 67
Słowniki ........................................................................................................................... 67
Obiekty konceptualne ...................................................................................................... 68
Obsadzanie ról — projektowanie badawcze .......................................................................... 69
Karty CRC ....................................................................................................................... 70
Rozwiązania — używanie wzorców ................................................................................ 72
Poszukiwanie rozwiązania ............................................................................................... 75
Przeskakiwanie od pomysłów do szczegółów .................................................................. 76
Przed premierą — dopracowywanie projektu ........................................................................ 77
Projektowanie a elastyczność i rozszerzalność ................................................................ 79
Projektowanie a niezawodność ........................................................................................ 80
Tworzenie przewidywalnych, spójnych i zrozumiałych projektów ................................. 80
Podsumowanie ....................................................................................................................... 81
Zalecane lektury ..................................................................................................................... 82
Rozdział 3. Szukanie obiektów ...............................................................................85
Strategia odkrywania .............................................................................................................. 86
Szukanie obiektów i ról, a następnie klas ............................................................................... 87
Po co opis projektu? ............................................................................................................... 88
Strategie poszukiwań ............................................................................................................. 91
Czymże jest nazwa? ............................................................................................................... 93
Opisywanie kandydatów ........................................................................................................ 98
Charakteryzowanie kandydatów .......................................................................................... 102
Łączenie kandydatów ........................................................................................................... 103
Poszukiwanie wspólnych cech ............................................................................................. 105
Obrona kandydatów ............................................................................................................. 107
Podsumowanie ..................................................................................................................... 109
Zalecana lektura ................................................................................................................... 109
Rozdział 4. Odpowiedzialność ...............................................................................111
Czym jest odpowiedzialność? .............................................................................................. 111
Skąd bierze się odpowiedzialność? ...................................................................................... 113
Strategie przydzielania odpowiedzialności .......................................................................... 124
Zapisywanie odpowiedzialności .................................................................................... 125
Wstępne przypisywanie odpowiedzialności ................................................................... 127
Wychodzenie z kłopotów ............................................................................................... 136
Implementacja obiektów i odpowiedzialności ..................................................................... 138
Obiekt może grać wiele ról ............................................................................................ 138
Projektowanie metod obsługujących odpowiedzialność ................................................ 140
Testowanie jakości kandydatów ........................................................................................... 141
Podsumowanie ..................................................................................................................... 142
Zalecane lektury ................................................................................................................... 143
Rozdział 5. Współpraca ........................................................................................145
Czym jest współpraca między obiektami? ........................................................................... 145
Przygotowanie do współpracy ....................................................................................... 146
Opisywanie współpracy kandydatów ............................................................................. 146
Spis treści
5
Opis projektu aplikacji „Mów za mnie” ............................................................................... 147
Warianty współpracy ........................................................................................................... 148
Kto steruje? .................................................................................................................... 149
Na ile obiekty mogą sobie ufać? .................................................................................... 150
Strategie identyfikacji współpracy ....................................................................................... 152
Badanie roli każdego obiektu — stereotypy implikują współpracę ............................... 153
Zakresy odpowiedzialności implikują współpracę ......................................................... 159
Projektowanie szczegółów złożonego zakresu odpowiedzialności ................................ 160
Projektowanie współpracy dla konkretnych zadań ........................................................ 162
Identyfikowanie pasujących wzorców projektowych .................................................... 162
Jak architektura wpływa na współpracę? ....................................................................... 164
Rozwiązywanie problemów we współpracy .................................................................. 164
Symulacja współpracy ......................................................................................................... 167
Planowanie symulacji .................................................................................................... 168
Przeprowadzanie symulacji ........................................................................................... 170
Projektowanie dobrej współpracy ........................................................................................ 173
Prawo Demeter — studium przypadku .......................................................................... 174
Umożliwianie współpracy .................................................................................................... 176
Wskazówki dotyczące nawiązywania połączeń ............................................................. 177
Projektowanie niezawodnej współpracy ........................................................................ 178
Kiedy możemy uznać, że skończyliśmy? ............................................................................. 179
Podsumowanie ..................................................................................................................... 180
Zalecane lektury ................................................................................................................... 181
Rozdział 6. Styl sterowania ..................................................................................183
Czym jest styl sterowania? ................................................................................................... 183
Warianty stylów sterowania ................................................................................................. 184
Kompromisy ........................................................................................................................ 185
Centralizowanie sterowania ........................................................................................... 186
Delegowanie sterowania ................................................................................................ 187
Ograniczenia decyzji sterujących ................................................................................... 188
Tworzenie centrów sterowania ............................................................................................. 191
Studium przypadku — styl sterowania dla zdarzeń użytkownika ........................................ 192
Centralizowanie sterowania w BudowniczymKomunikatu ........................................... 195
Przenoszenie podejmowania decyzji do metod stanu w BudowniczymKomunikatu ..... 203
Abstrahowanie od decyzji .............................................................................................. 204
Delegowanie kolejnych zakresów odpowiedzialności ................................................... 206
Projektowanie stylu sterowania dla sąsiedztwa Podpowiadacza .................................... 208
Projektowanie podobnego centrum sterowania — jak zachować spójność? .................. 211
Podsumowanie ..................................................................................................................... 217
Rozdział 7. Opisywanie współpracy .......................................................................219
Opowiadanie o współpracy .................................................................................................. 219
Strategia tworzenia historii o współpracy ............................................................................ 220
Ustalanie zakresu, poziomu i tonu historii ........................................................................... 221
Lista opisywanych aspektów ................................................................................................ 222
Określenie poziomu szczegółowości .................................................................................... 223
Widok z lotu ptaka ......................................................................................................... 223
Uczestnicy przypadku współpracy ................................................................................. 225
Sekwencja interakcji pomiędzy współpracownikami .................................................... 227
Widok szczegółowy ....................................................................................................... 229
Widok skoncentrowany na interakcji ............................................................................. 230
Widok implementacyjny ................................................................................................ 231
Widok ilustrujący adaptację współpracy ........................................................................ 232
Gdy nie wystarczają diagramy sekwencji ...................................................................... 234
6
Projektowanie obiektowe. Role, odpowiedzialność i współpraca
Wybór odpowiedniej formy ................................................................................................. 237
Opowiedzmy, narysujmy, opiszmy — wskazówki .............................................................. 239
Organizowanie pracy ........................................................................................................... 244
Wyróżnianie ................................................................................................................... 244
Odsłanianie historii ........................................................................................................ 245
Przekazywanie podstawowych informacji ..................................................................... 246
Składanie wszystkiego w całość .................................................................................... 247
Konserwacja historii ............................................................................................................ 247
Podsumowanie ..................................................................................................................... 248
Zalecane lektury ................................................................................................................... 249
Rozdział 8. Niezawodna współpraca ......................................................................251
Zrozumienie konsekwencji awarii ........................................................................................ 251
Zwiększanie niezawodności systemu ................................................................................... 253
Określanie zaufanych współpracowników ........................................................................... 254
Współpraca zaufana i niepewna ..................................................................................... 254
Konsekwencje zaufania ................................................................................................. 257
Gdzie zwiększać niezawodność? ......................................................................................... 258
Co wynika z przypadków użycia ................................................................................... 258
Rozróżnianie wyjątków i błędów ................................................................................... 259
Wyjątki obiektowe a wyjątki z przypadków użycia ....................................................... 260
Podstawy wyjątków obiektowych .................................................................................. 260
Strategie obsługi wyjątków i błędów ............................................................................. 265
Określanie obiektu odpowiedzialnego za podjęcie działań ............................................ 267
Projektowanie rozwiązania .................................................................................................. 269
Burza mózgów na temat wyjątków ................................................................................ 270
Ograniczmy zakres ........................................................................................................ 271
Opisywanie strategii obsługi wyjątków ......................................................................... 273
Dokumentowanie projektu obsługi wyjątków ...................................................................... 273
Określanie formalnych kontraktów ................................................................................ 277
Przegląd projektu ................................................................................................................. 279
Podsumowanie ..................................................................................................................... 281
Zalecane lektury ................................................................................................................... 281
Rozdział 9. Elastyczność ......................................................................................283
Co oznacza „bycie elastycznym”? ....................................................................................... 283
Stopnie elastyczności ........................................................................................................... 285
Konsekwencje elastycznego rozwiązania ............................................................................. 286
Określanie wymagań elastyczności ...................................................................................... 287
Opisywanie zmienności ....................................................................................................... 291
Warianty i ich realizacja ....................................................................................................... 293
Identyfikacja wpływu zmienności ................................................................................. 294
Badanie strategii realizacji elastyczności ....................................................................... 294
Użycie szablonów i punktów zaczepienia do zapewnienia elastyczności ...................... 295
Rola wzorców w elastycznych projektach ........................................................................... 302
Zmiana działania obiektu — wzorzec Strategii ............................................................. 302
Ukrycie współpracujących obiektów — wzorzec Mediatora ......................................... 303
Dopasowywanie istniejących obiektów — wzorzec Adaptera ....................................... 303
W jaki sposób wzorce zwiększają elastyczność? ........................................................... 305
Jak dokumentować elastyczność projektu? .......................................................................... 305
Pamiętajmy o czytelnikach ............................................................................................ 309
Opisywanie sposobu wprowadzania zmian .................................................................... 310
Zmiana projektu działającego systemu ................................................................................ 312
Podsumowanie ..................................................................................................................... 314
Zalecane lektury ................................................................................................................... 314
Zgłoś jeśli naruszono regulamin