41

UML i wzorce projektowe. Analiza - pdf.helion.plpdf.helion.pl/umwzo3/umwzo3-3.pdf · Na czym polegaj przyrostowe i ewolucyjne projektowanie oraz analiza? 53 ... 6.6. Definicja: jakie

  • Upload
    lamthu

  • View
    248

  • Download
    0

Embed Size (px)

Citation preview

Page 1: UML i wzorce projektowe. Analiza - pdf.helion.plpdf.helion.pl/umwzo3/umwzo3-3.pdf · Na czym polegaj przyrostowe i ewolucyjne projektowanie oraz analiza? 53 ... 6.6. Definicja: jakie
Page 2: UML i wzorce projektowe. Analiza - pdf.helion.plpdf.helion.pl/umwzo3/umwzo3-3.pdf · Na czym polegaj przyrostowe i ewolucyjne projektowanie oraz analiza? 53 ... 6.6. Definicja: jakie

Idź do

• Spis treści• Przykładowy rozdział• Skorowidz

• Katalog online

• Dodaj do koszyka

• Zamów cennik

• Zamów informacjeo nowościach

• Fragmenty książekonline

Helion SAul. Kościuszki 1c44-100 Gliwicetel. 32 230 98 63e-mail: [email protected]© Helion 1991–2011

Katalog książek

Twój koszyk

Cennik i informacje

Czytelnia

Kontakt

• Zamów drukowanykatalog

UML i wzorce projektowe. Analizai projektowanie obiektowe oraziteracyjny model wytwarzaniaaplikacji. Wydanie IIIAutor: Craig Larman

Tłumaczenie: Justyna Walkowska

ISBN: 978-83-246-2874-2

Tytuł oryginału: Applying UML and Patterns:

An Introduction to Object-Oriented Analysis and Design

and Iterative Development (3rd Edition)

Format: 172×245, stron: 754

Poznaj metodologię projektowania i wytwarzania systemów informatycznych!• Co to jest UML?

• Czym jest modelowanie zwinne?

• Jak wybrać narzędzia wspomagające proces projektowania?

Projektanci wielokrotnie podejmowali próby opracowania sposobu prezentacji struktury i zasad

działania systemów informatycznych. Poszukiwania metody, która zostałaby zaakceptowana przez

rynek i uznana za standard, trwały długo i nie były łatwe. Zakończyły się jednak sukcesem, a ich

efektem jest język UML. Z drugiej strony „banda czterech” (Erich Gamma, Richard Helm, Ralph

Johnson, John Vlissides) w 1995 roku opracowała metody rozwiązywania typowych problemów –

wzorce projektowe.

Craig Larman łączy znajomość języka UML z wiedzą na temat wzorców projektowych i przedstawia

w swojej książce sposoby projektowania systemów informatycznych z wykorzystaniem języka UML 2.

W trakcie lektury tego uznanego na całym świecie podręcznika dowiesz się, jak zbierać wymagania,

tworzyć przypadki użycia, modelować dziedzinę, tworzyć architektury wielowarstwowe, a co

najważniejsze, odkryjesz, jak wykorzystać przy tym wzorce projektowe. Najnowsze wydanie

wzbogacone zostało o nowe studia przypadków, omówienie zwinnych metod projektowania oraz

liczne dodatki ułatwiające naukę. Podręcznik ten jest niezastąpiony dla wszystkich osób mających

styczność z procesem projektowania i wytwarzania systemów informatycznych.

• Przypadki użycia, diagram przypadków użycia

• Wykorzystanie testów do identyfikacji przypadków użycia

• Metody przyrostowe i ewolucyjne

• Cykl życia projektu w modelu kaskadowym

• Praktyki zwinne, modelowanie zwinne

• Modelowanie dziedziny

• Wzorce projektowe „bandy czterech”

• Analiza i projektowanie obiektowe

• Zarządzanie projektem

• Diagramy klas

• Projektowanie warstw

• Diagramy sekwencji i komunikacji

• Programowanie sterowane testami

• Narzędzia wspomagające UML

Dołącz do grona najznamienitszych projektantów!

Page 3: UML i wzorce projektowe. Analiza - pdf.helion.plpdf.helion.pl/umwzo3/umwzo3-3.pdf · Na czym polegaj przyrostowe i ewolucyjne projektowanie oraz analiza? 53 ... 6.6. Definicja: jakie

9

SPIS TRE�CI

S�owo wst�pne 19Przedmowa 21

Cz� I Wprowadzenie1 Analiza i projektowanie obiektowe 29

1.1. Czego uczy ta ksi��ka? Czy to si� przyda? 291.2. Co jest g�ównym celem nauki? 321.3. Czym s� analiza i projektowanie? 331.4. Czym s� analiza i projektowanie obiektowe? 331.5. Krótki przyk�ad 341.6. Co to jest UML? 371.7. Modelowanie graficzne jest dobre 411.8. Historia 411.9. Polecane materia�y 43

2 Iteracyjno��, ewolucyjno�� i zwinno�� 45Wprowadzenie 452.1. Czym jest UP? Czy mo�na uzupe�nia� go innymi metodami? 462.2. Czym jest metoda iteracyjna i ewolucyjna? 472.3. Jak wygl�da cykl �ycia projektu w modelu kaskadowym? 512.4. Na czym polegaj� przyrostowe i ewolucyjne projektowanie oraz analiza? 532.5. Czym jest planowanie iteracyjne sterowane ryzykiem i sterowane

przez klienta? 562.6. Jakie metody i zasady sk�adaj� si� na podej�cie zwinne? 572.7. Czym jest modelowanie zwinne? 582.8. Czym jest zwinny UP? 602.9. Czy istniej� inne wa�ne praktyki UP? 622.10. Jakie s� fazy UP? 622.11. Czym s� dyscypliny UP? 632.12. Jak dostosowa� UP do w�asnych potrzeb? Przypadek wytwórczy 652.13. Symptomy braku zrozumienia UP 672.14. Historia 682.15. Polecane materia�y 69

3 Studia przypadków 71Wprowadzenie 713.1. Co zosta�o, a co nie zosta�o uwzgl�dnione w studiach przypadków? 713.2. Strategia studiów przypadków: iteracyjne wytwarzanie aplikacji

i iteracyjna nauka 733.3. Studium przypadku nr 1: system sprzeda�y NextGen 733.4. Studium przypadku nr 2: gra Monopoly 74

Cz� II Faza rozpocz�cia4 Faza rozpocz�cia nie jest faz� wymaga 77

Wprowadzenie 774.1. Czym jest faza rozpocz�cia? 784.2. Ile trwa faza rozpocz�cia? 794.3. Które artefakty pojawiaj� si� ju� w fazie rozpocz�cia? 794.4. Symptomy �wiadcz�ce o braku zrozumienia fazy rozpocz�cia 814.5. Ilo�� UML w fazie rozpocz�cia 82

Page 4: UML i wzorce projektowe. Analiza - pdf.helion.plpdf.helion.pl/umwzo3/umwzo3-3.pdf · Na czym polegaj przyrostowe i ewolucyjne projektowanie oraz analiza? 53 ... 6.6. Definicja: jakie

SPIS TRE�CI

10

5 Ewoluuj�ce wymagania 83Wprowadzenie 835.1. Definicja: wymagania 845.2. Wymagania kaskadowe a ewolucyjne 845.3. W jaki sposób umiej�tnie wskazywa� wymagania? 855.4. Jakie s� typy i kategorie wymaga? 865.5. W jaki sposób artefakty UP organizuj� wymagania? 875.6. Czy ta ksi��ka zawiera przyk�ady tych artefaktów? 885.7. Polecane zasoby 89

6 Przypadki u�ycia 91Wprowadzenie 916.1. Przyk�ad 926.2. Definicja: aktorzy, scenariusze, przypadki u�ycia 926.3. Przypadki u�ycia a Model Przypadków U�ycia 946.4. Motywacja: po co nam przypadki u�ycia? 956.5. Definicja: czy przypadki u�ycia to wymagania funkcjonalne? 956.6. Definicja: jakie s� typy aktorów? 966.7. Notacja: jakie s� trzy podstawowe formaty przypadków u�ycia? 976.8. Przyk�ad: pe�ny opis przypadku u�ycia Obs�u� sprzeda� 976.9. Co opisuj� poszczególne sekcje? 1036.10. Notacja: czy istniej� inne formaty zapisu przypadków u�ycia?

Wersja dwukolumnowa 1106.11. Wskazówka: opisuj sedno sprawy i odsu si� od interfejsu u�ytkownika 1116.12. Wskazówka: pisz zwi�z�e przypadki u�ycia 1136.13. Wskazówka: stosuj technik� czarnej skrzynki 1136.14. Wskazówka: przyjmij perspektyw� aktora i jego celu 1146.15. Wskazówka: jak znajdowa� przypadki u�ycia? 1146.16. Wskazówka: jakie testy mog� pomóc w identyfikacji przypadków u�ycia? 1196.17. Zastosowanie UML: diagramy przypadków u�ycia 1216.18. Zastosowanie UML: diagramy czynno�ci 1246.19. Motywacja: inne zyski ze stosowania przypadków u�ycia?

Kontekst dla wymaga 1246.20. Przyk�ad: gra Monopoly 1256.21. Proces: jak stosowa� przypadki u�ycia w ramach metod iteracyjnych? 1276.22. Historia 1326.23. Polecane zasoby 132

7 Inne wymagania 135Wprowadzenie 135Artefakty zwi�zane z innymi wymaganiami 1367.1. Czy przyk�ady s� kompletne? 1367.2. Czy te wymagania s� w pe�ni analizowane w fazie rozpocz�cia? 1367.3. Wskazówka: czy te artefakty powinny trafi� na stron� projektu? 1377.4. Przyk�ad NextGen: (niepe�na) Specyfikacja Dodatkowa 1387.5. Komentarz: Specyfikacja Dodatkowa 1417.6. Przyk�ad NextGen: (niepe�na) Wizja 1437.7. Komentarz: Wizja 1467.8. Przyk�ad NextGen: (niepe�ny) S�owniczek 1497.9. Komentarz: S�owniczek 1507.10. Przyk�ad NextGen: Regu�y Biznesowe (Dziedzinowe) 1517.11. Komentarz: Regu�y Dziedzinowe 1527.12. Proces: ewoluuj�ce wymagania w metodach iteracyjnych 1527.13. Polecane zasoby 155

Page 5: UML i wzorce projektowe. Analiza - pdf.helion.plpdf.helion.pl/umwzo3/umwzo3-3.pdf · Na czym polegaj przyrostowe i ewolucyjne projektowanie oraz analiza? 53 ... 6.6. Definicja: jakie

SPIS TRE�CI

11

Cz� III Faza opracowywania. Iteracja-1 — podstawy8 Iteracja-1 — podstawy 159

Wprowadzenie 1598.1. Wymagania w iteracji-1:

zastosowanie najwa�niejszych umiej�tno�ci z OOA/D 1608.2. Proces: fazy rozpocz�cia i opracowywania 1628.3. Proces: planowanie nast�pnej iteracji 165

9 Modele dziedziny 167Wprowadzenie 1679.1. Przyk�ad 1699.2. Czym jest model dziedziny? 1709.3. Motywacja: po co tworzy� model dziedziny? 1749.4. Wskazówka: jak stworzy� Model Dziedziny? 1759.5. Jak znale�� klasy konceptualne? 1759.6. Przyk�ad: znajdowanie i rysowanie klas konceptualnych 1799.7. Wskazówka: modelowanie zwinne — szkicowanie diagramu klas 1819.8. Wskazówka: modelowanie zwinne — czy korzysta� z narz�dzi? 1819.9. Wskazówka: obiekty raportuj�ce

— czy umieszcza� w modelu klas� Receipt? 1819.10. Wskazówka: my�l jak kartograf, pos�uguj si� terminami z dziedziny 1829.11. Wskazówka: jak modelowa� �wiat nierzeczywisty? 1829.12. Wskazówka: atrybuty a klasy 1839.13. Wskazówka: kiedy modelowa� z u�yciem klas opisowych? 1839.14. Asocjacje 1869.15. Asocjacje w modelach dziedziny 1939.16. Atrybuty 1949.17. Przyk�ad: atrybuty w modelu dziedziny 2019.18. Podsumowanie: czy model jest poprawny? 2049.19. Proces: iteracyjne i ewolucyjne modelowanie dziedziny 2049.20. Polecane zasoby 206

10 Systemowe diagramy sekwencji 207Wprowadzenie10.1. Przyk�ad: SSD dla NextGen 20910.2. Czym s� systemowe diagramy sekwencji? 20910.3. Motywacja: po co rysowa� SSD? 21010.4. Stosowanie UML: diagramy sekwencji 21110.5. Jak maj� si� SSD do przypadków u�ycia? 21110.6. Jak nazywa� zdarzenia i operacje systemowe? 21210.7. Jak uwzgl�dni� zewn�trzne systemy w SSD? 21210.8. Jakie informacje z SSD powinny trafi� do S�owniczka? 21310.9. Przyk�ad: SSD dla gry Monopoly 21310.10. Proces: iteracyjne i przyrostowe SSD 21410.11. Historia i polecane zasoby 214

11 Kontrakty operacji 215Wprowadzenie 21511.1. Przyk�ad 21711.2. Z jakich sekcji sk�ada si� kontrakt? 21711.3. Definicja: czym jest operacja systemowa? 21711.4. Warunki kocowe 21811.5. Przyk�ad: warunki kocowe operacji enterItem 22111.6. Wskazówka: czy aktualizowa� model dziedziny? 22211.7. Wskazówka: kiedy warto pisa� kontrakty operacji? 222

Page 6: UML i wzorce projektowe. Analiza - pdf.helion.plpdf.helion.pl/umwzo3/umwzo3-3.pdf · Na czym polegaj przyrostowe i ewolucyjne projektowanie oraz analiza? 53 ... 6.6. Definicja: jakie

SPIS TRE�CI

12

11.8. Wskazówka: tworzenie kontraktów 22311.9. Przyk�ad: kontrakty NextGen 22411.10. Przyk�ad: kontrakty Monopoly 22511.11. Stosowanie UML: operacje, kontrakty i OCL 22611.12. Proces: kontrakty operacji w UP 22711.13. Historia 22711.14. Polecane zasoby 228

12 Od wymaga do projektowania — iteracyjnie 229Wprowadzenie 22912.1. Zrobi� co nale�y i jak nale�y — iteracyjnie 23012.2. Prowokowanie zmian na wczesnym etapie 23012.3. Tylko czy analiza i modelowanie nie zaj��y nam ca�ych tygodni? 230

13 Architektura logiczna i diagramy pakietów UML 231Wprowadzenie 23113.1. Przyk�ad 23213.2. Czym jest architektura logiczna? Co to s� warstwy? 23213.3. Na której warstwie koncentruj� si� studia przypadków? 23413.4. Czym jest architektura oprogramowania? 23513.5. Stosowanie UML: diagramy pakietów 23513.6. Wskazówka: projektowanie warstw 23613.7. Wskazówka: zasada oddzielenia modelu od widoku 24213.8. Jaki jest zwi�zek pomi�dzy SSD, operacjami systemowymi i warstwami? 24413.9. Przyk�ad: architektura logiczna i diagram pakietów NextGen 24613.10. Przyk�ad: architektura logiczna Monopoly 24613.11. Polecane zasoby 246

14 Zaczynamy projektowa� 247Wprowadzenie 24714.1. Modelowanie zwinne i szkicowanie UML 24814.2. Narz�dzia UML CASE 24914.3. Ile czasu przeznaczy� na UML przed rozpocz�ciem kodowania? 25014.4. Projektowanie obiektów: czym s� modelowanie statyczne i dynamiczne? 25014.5. Umiej�tno�� projektowania obiektowego jest wa�niejsza

od znajomo�ci notacji UML 25214.6. Inne techniki projektowania obiektowego: karty CRC 252

15 Diagramy interakcji UML 255Wprowadzenie 25515.1. Diagramy sekwencji i komunikacji 25615.2. Pocz�tkuj�cy projektanci za rzadko u�ywaj� diagramów interakcji! 25915.3. Cz�sto stosowana notacja diagramów interakcji 25915.4. Podstawowa notacja diagramów sekwencji 26115.5. Podstawowa notacja diagramów komunikacji 273

16 Diagramy klas UML 281Wprowadzenie 28116.1. Stosowanie UML: notacja diagramów klas UML 28216.2. Definicja: projektowy diagram klas 28316.3. Definicja: klasyfikator 28316.4. Sposoby prezentacji atrybutów UML: tekst i linie asocjacji 28416.5. Symbol notatki: uwagi, komentarze, ograniczenia i cia�a metod 28716.6. Operacje i metody 28816.7. S�owa kluczowe 29016.8. Stereotypy, profile i znaczniki 29116.9. W�a�ciwo�ci i listy w�a�ciwo�ci UML 292

Page 7: UML i wzorce projektowe. Analiza - pdf.helion.plpdf.helion.pl/umwzo3/umwzo3-3.pdf · Na czym polegaj przyrostowe i ewolucyjne projektowanie oraz analiza? 53 ... 6.6. Definicja: jakie

SPIS TRE�CI

13

16.10. Generalizacja, klasy abstrakcyjne, operacje abstrakcyjne 29216.11. Zale�no�ci 29316.12. Interfejsy 29516.13. O przewadze kompozycji nad agregacj� 29616.14. Ograniczenia 29716.15. Asocjacja kwalifikowana 29816.16. Klasa asocjacyjna 29916.17. Klasy singletonowe 29916.18. Szablony klas i interfejsów 30016.19. Przegródki definiowane przez u�ytkownika 30016.20. Klasa aktywna 30116.21. Jaki jest zwi�zek pomi�dzy diagramami interakcji i klas? 301

17 GRASP: projektowanie obiektów i przydzia� odpowiedzialno�ci 303Wprowadzenie 30317.1. UML a zasady projektowania 30417.2. Projektowanie obiektowe: przyk�ad danych wej�ciowych,

czynno�ci i wyników 30417.3. Odpowiedzialno�� i projektowanie sterowane odpowiedzialno�ci� 30817.4. GRASP: metodyczne podej�cie do podstaw projektowania obiektowego 30917.5. Jaki jest zwi�zek pomi�dzy zobowi�zaniami, GRASP i diagramami UML? 31017.6. Czym s� wzorce? 31117.7. Co ju� wiemy? 31317.8. Krótki przyk�ad projektowania obiektowego z u�yciem GRASP 31417.9. Zastosowanie GRASP podczas projektowania obiektowego 32417.10. Twórca (Creator) 32517.11. Ekspert (Information Expert) 32717.12. Niskie Sprz��enie (Low Coupling) 33217.13. Kontroler (Controller) 33617.14. Wysoka Spójno�� (High Cohesion) 34817.15. Polecane zasoby 353

18 Projektowanie obiektowe z u�yciem GRASP — przyk�ady 355Wprowadzenie 35518.1. Czym jest realizacja przypadku u�ycia? 35618.2. Uwagi na temat artefaktów 35818.3. Co dalej? 36118.4. Realizacje przypadków u�ycia rozpatrywanych

w bie��cej iteracji NextGen 36118.5. Realizacje przypadków u�ycia rozpatrywanych

w bie��cej iteracji gry Monopoly 38218.6. Proces: iteracyjne i ewolucyjne projektowanie obiektowe 39218.7. Podsumowanie 394

19 Widoczno�� obiektów 395Wprowadzenie 39519.1. Wzajemna widoczno�� obiektów 39519.2. Czym jest widoczno��? 396

20 Odwzorowanie wyników projektowania w kodzie 401Wprowadzenie 40120.1. Programowanie w ewolucyjnym modelu przyrostowym 40220.2. Odwzorowanie wyników projektowania w kodzie 40320.3. Tworzenie definicji klas na podstawie DCD 40320.4. Tworzenie metod na podstawie diagramów interakcji 40420.5. Kolekcje 406

Page 8: UML i wzorce projektowe. Analiza - pdf.helion.plpdf.helion.pl/umwzo3/umwzo3-3.pdf · Na czym polegaj przyrostowe i ewolucyjne projektowanie oraz analiza? 53 ... 6.6. Definicja: jakie

SPIS TRE�CI

14

20.6. Wyj�tki i obs�uga b��dów 40720.7. Definicja metody Sale.makeLineItem 40720.8. Kolejno�� implementacji 40820.9. Programowanie sterowane testami 40820.10. Podsumowanie zasad odwzorowywania wyników projektowania

w kodzie 40920.11. Kod NextGen 40920.12. Kod Monopoly 412

21 Programowanie sterowane testami i refaktoryzacja 417Wprowadzenie 41721.1. Programowanie sterowane testami 41821.2. Refaktoryzacja 42121.3. Polecane zasoby 425

22 Narz�dzia UML i UML jako plan 427Wprowadzenie 42722.1. In�ynieria post�powa, wsteczna i wahad�owa 42822.2. Jaka jest opinia programistów na temat narz�dzi UML CASE? 42922.3. Na co zwróci� uwag� przy wyborze narz�dzia? 42922.4. Je�li UML traktowany jest jako szkic, to jak aktualizowa� diagramy

po zmianach w kodzie? 43022.5. Polecane zasoby 430

Cz� IV Faza opracowywania. Iteracja-2 — wi�cej wzorców23 Iteracja-2 — wymagania 433

Wprowadzenie 43323.1. Przej�cie z iteracji-1 do iteracji-2 43423.2. Iteracja-2: krótko o wymaganiach,

nacisk na projektowanie obiektowe i wzorce 43524 Szybka aktualizacja artefaktów analitycznych 439

Wprowadzenie 43924.1. Studium przypadku: NextGen 43924.2. Studium przypadku: Monopoly 441

25 GRASP: wi�cej obiektów, wi�cej zobowi�za 445Wprowadzenie 44525.1. Polimorfizm (Polymorphism) 44625.2. Czysty Wymys� (Pure Fabrication) 45325.3. Po�rednictwo (Indirection) 45825.4. Ochrona Zmienno�ci (Protected Variations) 459

26 Wzorce projektowe GoF 467Wprowadzenie 46726.1. GoF: Adapter 46826.2. Niektóre wzorce GRASP s� uogólnieniem innych wzorców 47026.3. Odkrycia „analityczne” na poziomie projektowania 47126.4. Fabryka (Factory) 47226.5. GoF: Singleton 47426.6. Podsumowanie problemu zewn�trznych us�ug o odmiennych interfejsach 47826.7. GoF: Strategia (Strategy) 47926.8. GoF: Kompozyt (Composite) i inne zasady projektowe 48326.9. GoF: Fasada (Facade) 49226.10. GoF: Obserwator, Wydawca-Prenumerator

lub Delegacja Obs�ugi Zdarze 49526.11. Wnioski 50226.12. Polecane zasoby 503

Page 9: UML i wzorce projektowe. Analiza - pdf.helion.plpdf.helion.pl/umwzo3/umwzo3-3.pdf · Na czym polegaj przyrostowe i ewolucyjne projektowanie oraz analiza? 53 ... 6.6. Definicja: jakie

SPIS TRE�CI

15

Cz� V Faza opracowywania. Iteracja-3 — rednio zaawansowane zagadnienia27 Iteracja-3 — wymagania 507

Wprowadzenie 50727.1. NextGen 50827.2. Monopoly 508

28 Diagramy czynno�ci (aktywno�ci) UML i modelowanie czynno�ci 509Wprowadzenie 50928.1. Przyk�ad 51028.2. Jak stosowa� diagramy czynno�ci? 51128.3. Diagramy czynno�ci: wi�cej notacji 51328.4. Wskazówki 51428.5. Przyk�ad: diagram czynno�ci NextGen 51528.6. Proces: diagramy czynno�ci w UP 51628.7. Historia 516

29 Diagramy stanów UML 517Wprowadzenie 51729.1. Przyk�ad 51829.2. Definicje: zdarzenia, stany, przej�cia 51829.3. Jak stosowa� diagramy stanów? 51929.4. Diagramy stanów UML: wi�cej notacji 52129.5. Przyk�ad: modelowanie nawigacji UI za pomoc� diagramów stanów 52229.6. Przyk�ad: diagram stanów dla przypadku u�ycia NextGen 52329.7. Proces: diagramy stanów w UP 52429.8. Polecane zasoby 524

30 Powi�zania pomi�dzy przypadkami u�ycia 525Wprowadzenie30.1. Relacja include 52630.2. Terminologia: konkretne, abstrakcyjne, bazowe

i dodatkowe przypadki u�ycia 52930.3. Relacja extend 53030.4. Relacja generalize 53230.5. Diagramy przypadków u�ycia 532

31 Udoskonalenie Modelu Dziedziny 535Wprowadzenie 53531.1. Nowe koncepty w Modelu Dziedziny NextGen 53631.2. Generalizacja 53831.3. Definiowanie konceptualnych nadklas i podklas 53931.4. Kiedy definiowa� podklasy konceptualne? 54231.5. Kiedy definiowa� nadklasy konceptualne? 54431.6. Hierarchie klas konceptualnych w NextGen 54531.7. Abstrakcyjne klasy konceptualne 54831.8. Modelowanie zmian stanów 54931.9. Hierarchie klas konceptualnych a dziedziczenie 55031.10. Klasy asocjacyjne 55031.11. Agregacja i kompozycja 55331.12. Przedzia�y czasowe i ceny produktów — naprawa „b��du” z iteracji-1 55631.13. Nazwy ról w asocjacjach 55731.14. Role jako koncepty a role w asocjacjach 55731.15. Elementy pochodne 55831.16. Asocjacje kwalifikowane 55931.17. Asocjacje zwrotne 560

Page 10: UML i wzorce projektowe. Analiza - pdf.helion.plpdf.helion.pl/umwzo3/umwzo3-3.pdf · Na czym polegaj przyrostowe i ewolucyjne projektowanie oraz analiza? 53 ... 6.6. Definicja: jakie

SPIS TRE�CI

16

31.18. Wykorzystanie pakietów w celu lepszej organizacji Modelu Dziedziny 56031.19. Przyk�ad: udoskonalenie Modelu Dziedziny Monopoly 566

32 Wi�cej SSD i kontraktów 569Wprowadzenie 56932.1. POS NextGen 569

33 Analiza architektoniczna 575Wprowadzenie 57533.1. Proces: kiedy zacz�� analiz� architektoniczn�? 57633.2. Definicja: punkty zmienno�ci i punkty ewolucji 57633.3. Analiza architektoniczna 57733.4. Etapy analizy architektonicznej 57833.5. Nauka �cis�a: identyfikacja i analiza czynników architektonicznych 57933.6. Przyk�ad: fragment tabeli czynników architektonicznych NextGen 58233.7. Sztuka: rozwi�zywanie problemów stwarzanych

przez czynniki architektoniczne 58233.8. Podsumowanie motywów przewodnich analizy architektonicznej 59133.9. Proces: architektura iteracyjna w UP 59233.10. Polecane zasoby 593

34 Udoskonalenie architektury logicznej 595Wprowadzenie 59534.1. Przyk�ad: architektura logiczna NextGen 59634.2. Wspó�praca oparta o wzorzec Warstwy 60134.3. Dodatkowe uwagi na temat wzorca Warstwy 60734.4. Oddzielenie modelu od widoku i komunikacja wzwy� 61234.5. Polecane zasoby 613

35 Projektowanie pakietów 615Wprowadzenie 61535.1. Wskazówki na temat organizacji pakietów 61635.2. Polecane zasoby 622

36 Wi�cej projektowania z zastosowaniem wzorców GoF 623Wprowadzenie 62336.1. Przyk�ad: POS NextGen 62436.2. Przej�cie do us�ug lokalnych.

Wydajno�� dzi�ki lokalnej pami�ci podr�cznej cache 62436.3. Obs�uga b��dów 62936.4. Przej�cie do us�ug lokalnych z wykorzystaniem Pe�nomocnika (GoF) 63536.5. Wp�yw wymaga niefunkcjonalnych na architektur� 63836.6. Dost�p do zewn�trznych urz�dze fizycznych za pomoc� adapterów 63936.7. Fabryka Abstrakcyjna dla rodzin powi�zanych obiektów 64136.8. Obs�uga p�atno�ci z wykorzystaniem wzorców Polimorfizm i Zrób To Sam 64436.9. Przyk�ad: Monopoly 64936.10. Podsumowanie 653

37 Projektowanie szkieletu (frameworku) trwa�ych danych w oparciu o wzorce 655Wprowadzenie 65537.1. Problem: trwa�e obiekty 65637.2. Rozwi�zanie: us�uga trwa�ych danych oparta o framework 65737.3. Szkielety (frameworki) 65737.4. Wymagania wobec us�ugi i szkieletu trwa�ych danych 65837.5. Najwa�niejsze idee 65937.6. Wzorzec Reprezentacja Obiektów w Postaci Tabel 65937.7. Profil modelowania danych w UML 660

Page 11: UML i wzorce projektowe. Analiza - pdf.helion.plpdf.helion.pl/umwzo3/umwzo3-3.pdf · Na czym polegaj przyrostowe i ewolucyjne projektowanie oraz analiza? 53 ... 6.6. Definicja: jakie

SPIS TRE�CI

17

37.8. Wzorzec Identyfikator Obiektu 66037.9. Dost�p do us�ugi trwa�ych danych poprzez fasad� 66137.10. Wzorzec Odwzorowywacz Bazodanowy

(Database Mapper, Database Broker) 66237.11. Projektowanie szkieletów z zastosowaniem wzorca Metoda Szablonowa 66437.12. Materializacja z zastosowaniem wzorca Metoda Szablonowa 66537.13. Konfiguracja odwzorowywaczy poprzez fabryk� MapperFactory 67037.14. Wzorzec Zarz�dzanie Cache 67137.15. Ukrycie kodu SQL wewn�trz jednej klasy 67137.16. Stany transakcyjne i wzorzec Stan 67237.17. Projektowanie transakcji w oparciu o wzorzec Polecenie 67637.18. Leniwa materializacja z zastosowaniem wzorca Pe�nomocnik Wirtualny 67837.19. Jak reprezentowa� asocjacje w tabelach bazodanowych? 68137.20. Nadklasa PersistentObject a zasada rozdzielenia zagadnie 68137.21. Pozosta�e problemy 682

38 Diagramy wdro�eniowe i diagramy komponentów 68338.1. Diagramy wdro�eniowe 68338.2. Diagramy komponentów 685

39 Dokumentacja architektury: UML i model N+1 widoków 687Wprowadzenie 68739.1. Dokument Architektura Aplikacji i widoki architektoniczne 68839.2. Notacja: struktura dokumentu Architektura Aplikacji 69139.3. Przyk�ad NextGen: Architektura Aplikacji 69239.4. Przyk�ad: dokument Architektura Aplikacji Jakarta Struts 69739.5. Proces: iteracyjna dokumentacja architektury 70139.6. Polecane zasoby 701

Cz� VI Dodatkowe zagadnienia 70340 Zwinne zarz�dzanie projektem 705

Wprowadzenie 70540.1. Jak zaplanowa� iteracj�? 70640.2. Planowanie adaptacyjne 70640.3. Plan Faz i Plan Iteracji 70840.4. Jak planowa� iteracje w oparciu o przypadki u�ycia i scenariusze? 70840.5. (Nie)wiarygodno�� wczesnych szacunków 71140.6. Organizacja artefaktów 71240.7. Symptomy braku zrozumienia planowania iteracyjnego 71340.8. Polecane zasoby 713

Bibliografia 715S�owniczek 723Skorowidz 727

Page 12: UML i wzorce projektowe. Analiza - pdf.helion.plpdf.helion.pl/umwzo3/umwzo3-3.pdf · Na czym polegaj przyrostowe i ewolucyjne projektowanie oraz analiza? 53 ... 6.6. Definicja: jakie

Rozdzia�

71

3STUDIA PRZYPADKÓW

Niewiele jest rzeczy równie irytuj�cych co dobry przyk�ad.

— Mark Twain

Wprowadzenie

Problemy poruszane w studiach przypadków, które po raz pierwszy pojawiaj�si� w�a�nie w tym rozdziale, zosta�y wybrane, poniewa� s� cz�sto spotykane,a przy tym z�o�one i interesuj�ce. W praktyczny sposób u�atwi� one zrozu-mienie podstaw OOA/D, analizy wymaga oraz wzorców projektowych.

Co dalej? Po przedstawieniu ogólnej idei metody przyrostowej w tym rozdzialenadszed� czas na wprowadzenie studiów przypadków i skoncentrowaniesi� na warstwie logicznej aplikacji. Nast�pny rozdzia� jest powi�conyfazie rozpocz�cia (dla studiów przypadków). Podkrelam w nim, �e fazarozpocz�cia absolutnie nie odpowiada znanej z modelu kaskadowegope�nej analizie wymaga .

3.1. Co zosta�o, a co nie zosta�o uwzgl�dnionew studiach przypadków?

Zasadniczo aplikacje sk�adaj� si� z: elementów interfejsu u�ytkownika (UI),warstwy logiki aplikacji, warstwy dost�pu do bazy danych i warstwy wspó�-pracy z zewn�trznym oprogramowaniem lub sprz�tem.

Mimo �e techniki obiektowe mog� by� stosowane na wszystkichpoziomach aplikacji, to niniejsze wprowadzenie do OOA/D

koncentruje si� na warstwie logiki aplikacji. W niektórych miejscachpojawiaj� si� równie� uwagi na temat innych warstw.

Page 13: UML i wzorce projektowe. Analiza - pdf.helion.plpdf.helion.pl/umwzo3/umwzo3-3.pdf · Na czym polegaj przyrostowe i ewolucyjne projektowanie oraz analiza? 53 ... 6.6. Definicja: jakie

3 — STUDIA PRZYPADKÓW

72

Projektowanie innych warstw (np. UI) z regu�y b�dzie ograniczone do ichinterfejsu (punktu styku) z warstw� logiki aplikacji. Ilo�� uwagi po�wi�conaw ksi��ce poszczególnym warstwom zosta�a zaznaczona na rysunku 3.1.

Rysunek 3.1. Przyk�adowe warstwy i komponenty w systemie obiektowymoraz wskazanie tematów, na które po�o�ono najwi�kszy nacisk w studiachprzypadków. Sale to obiekt reprezentuj�cy transakcj� sprzeda�y, Paymentto obiekt p�atno�ci

Dlaczego koncentrujemy si� na OOA/D w warstwie logiki aplikacji?

� Inne warstwy cz�sto s� silnie zwi�zane z technologi� i dan� platform�. Naprzyk�ad: w celu zrozumienia projektowania obiektowego sieciowychinterfejsów u�ytkownika lub ci��kich klientów w Javie musieliby�my naj-pierw szczegó�owo pozna� takie technologie, jak Struts czy Swing. Gdy-by�my jednak chcieli implementowa� to samo w .NET lub w Pythonie,szczegó�y wygl�da�yby zupe�nie inaczej.

� Projekt obiektowy warstwy logiki aplikacji jest podobny we wszystkichtechnologiach.

� Umiej�tno�ci obiektowe zdobyte podczas pracy nad warstw� logiki aplikacjimaj� zastosowanie równie� dla innych warstw i komponentów.

� Wzorce i podej�cia do projektowania innych warstw zmieniaj� si� do��szybko w miar� pojawiania si� nowych technologii. Na przyk�ad w po�owielat dziewi��dziesi�tych naturalne by�o, �e programi�ci sami pisali obiektowewarstwy dost�pu do relacyjnych baz danych. Jaki� czas pó�niej pojawi�ysi� wygodne, gotowe rozwi�zania open source, np. Hibernate (dla Javy).

definicja warstw,s. 232

Page 14: UML i wzorce projektowe. Analiza - pdf.helion.plpdf.helion.pl/umwzo3/umwzo3-3.pdf · Na czym polegaj przyrostowe i ewolucyjne projektowanie oraz analiza? 53 ... 6.6. Definicja: jakie

STUDIUM PRZYPADKU NR 1: SYSTEM SPRZEDA�Y NEXTGEN

73

3.2. Strategia studiów przypadków: iteracyjne wytwarzanie aplikacjii iteracyjna nauka

Ta ksi��ka ma prezentowa� iteracyjn� strategi� wytwarzania aplikacji. OOA/Dw studiach przypadków jest stosowane iteracyjnie, w pierwszej iteracji poja-wiaj� si� najwa�niejsze funkcje. Pó�niejsze iteracje rozszerzaj� zakres funk-cjonalno�ci (rysunek 3.2).

Rysunek 3.2. cie�ka nauki pod��a za iteracjami

W zgodzie z zasadami prezentowanej metody tematy zwi�zane z analiz� i pro-jektowaniem, notacj� UML i wzorcami s� wprowadzane iteracyjnie i przyro-stowo. W pierwszej iteracji pojawiaj� si� kluczowe zagadnienia OOA/D i UML,a w kolejnych ich rozszerzenia i nowe elementy

3.3. Studium przypadku nr 1: system sprzeda�y NextGen

Pierwsze studium przypadku to system sprzeda�y POS o nazwie NextGen.Oka�e si�, �e w tej pozornie prostej dziedzinie istniej� ciekawe problemyzwi�zane z wymaganiami i projektem. Dodatkow� zalet� jest to, �e problemjest rzeczywisty — takie systemy s� tworzone z wykorzystaniem technologiiobiektowych.

System POS (ang. point of sale) to system kompute-rowy s�u��cy (mi�dzy innymi) do odnotowywaniatransakcji i obs�ugi p�atno�ci. Systemy takie s� cz�stowykorzystywane w sprzeda�y detalicznej. Systemsk�ada si� z elementów sprz�towych, takich jak kom-puter i czytnik kodów kreskowych, oraz z oprogra-mowania. Za po�rednictwem rozmaitych interfejsów��czy si� z ró�nymi aplikacjami, np. z wytworzonymprzez inn� firm� licznikiem podatków czy aplikacj�kontroluj�c� stan magazynu. Systemy takie musz� by� stosunkowo odpornena b��dy: nawet je�li niektóre ze zdalnych us�ug (jak system magazynowy) s�niedost�pne, transakcje nadal musz� dzia�a�, chocia�by jedynie w oparciuo gotówk� (by nie sparali�owa� dzia�ania firmy).

Page 15: UML i wzorce projektowe. Analiza - pdf.helion.plpdf.helion.pl/umwzo3/umwzo3-3.pdf · Na czym polegaj przyrostowe i ewolucyjne projektowanie oraz analiza? 53 ... 6.6. Definicja: jakie

3 — STUDIA PRZYPADKÓW

74

System POS musi wspiera� ró�ne terminale i interfejsy klienckie. Terminalmo�e mie� posta� lekkiej aplikacji klienckiej obs�ugiwanej przez przegl�dark�internetow�, aplikacji desktopowej uruchamianej na zwyk�ym komputerzeosobistym, opartej np. o interfejs Java Swing, mo�e tak�e mie� posta� ekranudotykowego lub bezprzewodowego palmtopa.

Co wi�cej, w studium przypadku zajmiemy si� komercyjnym systemem POSprzeznaczonym dla klientów o odmiennych potrzebach biznesowych. Ka�dyz nich b�dzie wymaga� innej logiki, stosowanej w okre�lonych i przewidy-walnych punktach scenariuszy u�ycia systemu, takich jak inicjacja transakcjilub dodanie artyku�u nowego typu. Konieczne b�dzie znalezienie mechanizmu,który umo�liwi takie elastyczne dopasowanie si� do potrzeb klienta.

Przy u�yciu strategii iteracyjnej przejdziemy przez wymagania, analiz�, projek-towanie i implementacj�.

3.4. Studium przypadku nr 2: gra Monopoly

Poniewa� chc� pokaza�, �e te same praktyki OOA/Dmo�na stosowa� podczas rozwi�zywania bardzoró�nych problemów, jako drugie studium przy-padku wybra�em elektroniczn� wersj� gry Mono-poly®. Dziedzina problemu i wymagania s� ca�ko-wicie odmienne ni� w przypadku biznesowejaplikacji, jak� jest NextGen; modelowanie dzie-dziny, projektowanie obiektowe z u�yciem wzor-ców i stosowanie UML s� wci�� aktualne i przy-datne. Podobnie jak w przypadku systemu POS,komputerowe wersje gry rzeczywi�cie s� produ-kowane i sprzedawane zarówno w postaci ci��kichklientów, jak i gier przegl�darkowych.

Nie zamierzam powtarza� tutaj zasad Monopoly. Prawie ka�dy gra� w jaki�jej wariant (np. Eurobiznes). Je�li kto� ma w�tpliwo�ci, bez problemu znajdzieopis zasad w internecie.

Nasza wersja gry b�dzie symulacj�. U�ytkownik rozpoczyna gr�, wybiera list�symulowanych graczy, a nast�pnie obserwuje przebieg gry w kolejnych turach.

Page 16: UML i wzorce projektowe. Analiza - pdf.helion.plpdf.helion.pl/umwzo3/umwzo3-3.pdf · Na czym polegaj przyrostowe i ewolucyjne projektowanie oraz analiza? 53 ... 6.6. Definicja: jakie

727

SKOROWIDZ

{abstract}, 291, 293, 448, 549{leaf}, 293{List}, 287{new}, 274{ordered}, 287, 291{unique}, 287«actor», 123, 290, 291, 458«browser», 685«constructor», 666«create», 274«database», 685«destroy», 291«interface», 290, 291«method», 289, 372«OS», 685«server», 685«subsystem», 600

Aabstract, 291Abstrakcja Wyj�tku, 631abstrakcyjne klasy konceptualne, 548

UML, 549abstrakcyjny przypadek u�ycia, 529Action, 341ActionEvent, 500activity diagram, 509adapter, 458, 459Adapter, 457, 458, 459, 468, 469, 470, 471, 478, 626

GRASP, 471adapter zasobów, 469, 470affinity grouping, 147agile, 31, 57, 248agregacja, 296, 553

agregacja z�o�ona, 326agregaty pakietów, 621akcje, 510aktor, 92

aktor drugoplanowy, 96aktor pierwszoplanowy, 96, 104, 115, 117aktor zakulisowy, 96

aktualizacja artefaktów analitycznych, 439AlarmListener, 500ALGOL 60, 227

algorytmy równoleg�e, 512alt, 266analityczny model obiektów, 170analiza, 33analiza architektoniczna, 87, 575, 577

analiza czynników architektonicznych, 579cele, 577czynniki architektoniczne, 578, 579decyzje architektoniczne, 578definiowanie wymaga jako�ci, 579dokumentowanie alternatywnych rozwi�za

architektonicznych, 585etapy, 578identyfikacja czynników architektonicznych,

579in�ynieryjna przesada, 588in�ynieryjne niedostatki, 588koszty zakupionych komponentów, 577moment rozpocz�cia, 576motywy przewodnie, 591nazwa marki, 577priorytety decyzji architektonicznych, 586punkt ewolucji, 576, 588punkt zmienno�ci, 576rozdzielanie zagadnie, 590rozwi�zywanie problemów stwarzanych

przez czynniki architektoniczne, 582scenariusze jako�ci, 579techniki rozdzielania zagadnie, 590wymagania istotne z punktu widzenia

architektury, 579wymagania zwi�zane z niezawodno�ci�

i odporno�ci� na awarie, 577wymagania zwi�zane z przystosowalno�ci�

i konfigurowalno�ci�, 577wzorce architektoniczne, 591zagadnienia przecinaj�ce, 590zasady projektowania architektury, 588

Analiza Biznesowa, 81analiza czynników architektonicznych, 579analiza i projektowanie obiektowe, 21, 29, 41analiza lingwistyczna, 178analiza obiektowa, 33analiza wymaga, 33, 78analysis object model, 170

Page 17: UML i wzorce projektowe. Analiza - pdf.helion.plpdf.helion.pl/umwzo3/umwzo3-3.pdf · Na czym polegaj przyrostowe i ewolucyjne projektowanie oraz analiza? 53 ... 6.6. Definicja: jakie

SKOROWIDZ

728

architectural approach document, 585architectural drivers, 578architectural factors, 578architectural proposal, 585Architecture Based Design, 579Architektura, 130, 205, 585, 592architektura aplikacji, 231Architektura Aplikacji, 165, 668, 688

faza opracowywania, 701faza przekazania systemu, 701faza rozpocz�cia, 701Jakarta Struts, 697kolejne cykle ewolucji, 701motywacja, 688NextGen, 692struktura dokumentu, 691typy widoków architektonicznych, 689widok bezpieczestwa, 690widok danych, 690, 696widok implementacji, 690widok logiczny, 690, 694, 698widok procesów, 690widok programistyczny, 691widok przypadków u�ycia, 691, 697widok wdro�eniowy, 690, 695widoki architektoniczne, 688wzorce architektoniczne, 698

architektura dwuwarstwowa, 611architektura fizyczna, 683architektura iteracyjna, 592

faza opracowywania, 593faza przekazania systemu, 593faza rozpocz�cia, 593fazy, 593informacje na temat architektury w artefaktach

UP, 593kolejne cykle ewolucji, 593prototyp architektoniczny, 593synteza architektoniczna, 593

architektura logiczna, 231, 232Monopoly, 246NextGen, 246, 596powi�zania pomi�dzy warstwami i pakietami,

596scenariusze interakcji pomi�dzy warstwami

i pakietami, 599scenariusze istotne z punktu widzenia

architektury, 599udoskonalenie, 595Warstwy, 601

architektura logiczna aplikacji, 305architektura oprogramowania, 235

architektura oprogramowania opartana wzorcach, 348

architektura trójwarstwowa, 610interfejs, 611logika aplikacji, 611przechowywanie, 611

architektura warstwowa, 237Architektura Warstwowa, 612architektura wdro�eniowa, 232architekturocentryczno��, 56ArrayList, 300artefakty UML, 401artefakty UP, 63, 137, 358, 581

Architektura Aplikacji, 687faza opracowywania, 164faza rozpocz�cia, 79Glosariusz, 136Model Dziedziny, 63Model Projektowy, 63Model Przypadków U�ycia, 63, 87organizacja, 712przypadki u�ycia, 130Regu�y Biznesowe, 88, 136, 140, 151Regu�y Dziedzinowe, 136S�owniczek, 88, 136, 149Specyfikacja Dodatkowa, 87, 136, 141Specyfikacja Uzupe�niaj�ca, 136Wizja, 88, 136, 143, 587wymagania, 87

artefakty w�z�ów, 685asocjacja, 186

asocjacja jeden do jednego, 681asocjacja jeden do wielu, 681asocjacja kwalifikowana, 298, 559, 560asocjacja wiele do wielu, 681asocjacja zwrotna, 560implementacja, 188krotno�ci, 190lista popularnych asocjacji, 191model dziedziny, 193Monopoly, 194nazwy, 189nazwy ról, 557NextGen, 193notacja asocjacji, 188role, 189, 557ró�ne asocjacje pomi�dzy tymi samymi

klasami, 191stosowanie, 187UML, 188

ASP.NET, 341AspectJ, 591

Page 18: UML i wzorce projektowe. Analiza - pdf.helion.plpdf.helion.pl/umwzo3/umwzo3-3.pdf · Na czym polegaj przyrostowe i ewolucyjne projektowanie oraz analiza? 53 ... 6.6. Definicja: jakie

SKOROWIDZ

729

assertTrue, 419atrybuty, 183, 194

{readOnly}, 195atrybuty pochodne, 196klucze obce, 201kod programu, 199model dziedziny, 197, 201modelowanie ilo�ci, 201Monopoly, 202NextGen, 201sk�adnia opisu atrybutu, 195stosowanie, 194typy atrybutów, 196typy proste, 198typy wyliczeniowe, 197UML, 195

atrybuty b�d�ce kolekcjami, 287atrybuty jako�ci, 87, 142atrybuty pochodne, 559automatyczna weryfikacja, 418autoryzacja p�atno�ci, 644

p�atno�ci kart� kredytow�, 647awaria, 630AWT, 500

Bback-end, 125Banda Czterech, 312, 467bardzo niska spójno��, 350baza danych, 454, 656, 685bazowy przypadek u�ycia, 530BeanInfo, 461Beck Kent, 252biznesowe przypadki u�ycia, 104b��dy, 407, 630BOM, 170, 205, 206Booch Grady, 42, 228boundary class, 341brainstorming, 147brak operacji, 450brief, 92broker, 663Broker Bazodanowy, 663Brooks Frederick, 69brzydkie zapachy, 422burze mózgów, 147business case, 78, 80Business Object Model, 170, 205

CC#, 29, 402cache, 624, 625, 659, 671call-flow diagrams, 214CASE, 38, 39, 48, 428cele interesariuszy, 146ceny produktów, 556Choosing Message, 453chronione metody, 669cia�o metody, 287ci�g�a integracja, 46ci��ki interfejs u�ytkownika po stronie klienta, 343Class, 270Class, Responsibility, Collaboration, 252classifier, 40client tier, 241Coarse-Grained Remote Interface, 352COCOMO II, 214code smells, 422code stench, 422cofni�cie transakcji, 659cohesion, 323Command, 347, 348, 677Command Processor, 348Command-Query Separation Principle, 390commit, 659, 673, 674Composite, 483Computer Aided Software Engineering, 428conceptual entity relationship models, 170conceptual models, 170Constantine Larry, 112constraint, 297constraint objects, 226construction phase, 62control class, 341Controller, 314, 320, 322, 336Core/Misc, 563coupling, 293, 332CQS, 390CRC, 252create, 290Creator, 314, 315, 325CRUD, 119, 611CruiseControl, 419Crystal Methods, 31Cunningham Ward, 252cykl �ycia obiektu, 518cykl �ycia projektu, 47

model kaskadowy, 51czarna skrzynka, 113cz��ciowy model dziedziny, 35

Page 19: UML i wzorce projektowe. Analiza - pdf.helion.plpdf.helion.pl/umwzo3/umwzo3-3.pdf · Na czym polegaj przyrostowe i ewolucyjne projektowanie oraz analiza? 53 ... 6.6. Definicja: jakie

SKOROWIDZ

730

czynniki architektoniczne, 578, 579analiza, 579dokumentowanie alternatywnych rozwi�za

architektonicznych, 585hierarchia celów, 586identyfikacja, 579priorytety, 586rozwi�zywanie problemów, 582

czynno�ci, 305, 509, 514Czysty Wymys�, 348, 453, 455

Ddane wej�ciowe, 304data flow diagrams, 511data type, 285Database Broker, 662, 663Database Mapper, 662, 663datastore nodes, 511DBC, 228DCD, 283, 367, 401decyzje architektoniczne, 578definicja modelu dziedziny, 35definicja projektowych diagramów klas, 36definicja przypadków u�ycia, 34definiowanie klas z atrybutami i sygnaturami

metod, 403definiowanie konceptualnych nadklas, 539, 544definiowanie konceptualnych podklas, 539definiowanie typów danych, 199definiowanie wymaga jako�ci, 579dekompozycja reprezentacji, 456, 457dekompozycja zachowania, 456, 457Delegacja Obs�ugi Zdarze, 495, 499dematerializacja obiektów, 659, 682dependency, 293description class, 183design, 33Design by Contract, 228design class diagram, 283development case, 66, 80DFD, 511Diagnostic Logger, 633diagramy aktywno�ci, 124, 509diagramy czynno�ci, 124, 251, 509

akcje, 510algorytmy równoleg�e, 512czynno�ci, 513fork, 510join, 510modelowanie procesu biznesowego, 511

modelowanie przep�ywów danych, 511NextGen, 515notacja, 510partycje, 510programy wspó�bie�ne, 512przep�yw danych, 510przep�yw sterowania, 510rake, 513rozwidlenie, 510rozwini�cie czynno�ci, 513semantyka, 516stosowanie, 511sygna�y, 514symbol decyzji, 513symbol grabek, 513symbol scalenia, 513synchronizacja, 510Unified Process, 516w�z�y magazynowe, 511w�z�y obiektowe, 510

diagramy interakcji, 250, 251, 255, 256, 259, 358, 404diagramy klas, 301globalne diagramy interakcji, 256, 269iteracyjne przechodzenie przez kolekcj�, 267komunikaty, 261komunikaty asynchroniczne, 271komunikaty do self lub this, 263komunikaty polimorficzne, 270komunikaty warunkowe, 265, 266komunikaty wysy�ane do klas w celu

wywo�ania metod statycznych, 270linie �ycia, 261notacja, 259, 261obiekty singletonowe, 260odpowiedzi, 262paski specyfikacji wykonania, 262p�tle, 265przep�yw sterowania, 262ramki, 264sk�adnia opisu komunikatów, 260tworzenie instancji, 263uczestnicy interakcji, 259usuwanie obiektów, 263wady, 257warto�ci zwracane, 262wi�zanie ze sob� diagramów interakcji, 268wyj�tki, 633wyra�enia if-then-else, 266wywo�ania asynchroniczne, 271wywo�ania synchroniczne, 271zagnie�d�anie ramek, 268zalety, 257

Page 20: UML i wzorce projektowe. Analiza - pdf.helion.plpdf.helion.pl/umwzo3/umwzo3-3.pdf · Na czym polegaj przyrostowe i ewolucyjne projektowanie oraz analiza? 53 ... 6.6. Definicja: jakie

SKOROWIDZ

731

diagramy klas, 169, 171, 181, 281agregacja, 296asocjacja kwalifikowana, 298atrybuty, 284, 285atrybuty b�d�ce kolekcjami, 287cia�a metod, 287diagramy interakcji, 301etykiety zale�no�ci, 295generalizacja, 292interfejsy, 295klasa aktywna, 301klasy abstrakcyjne, 292klasy asocjacyjne, 299klasy finalne, 293klasy singletonowe, 299klasyfikator, 283komentarze, 287kompozycja, 296krotno��, 287linie asocjacji, 284, 285listy w�a�ciwo�ci, 292metody, 288, 289metody finalne, 293model dziedziny, 285nazwa koca asocjacji, 287nazwa roli, 285, 287notacja, 282notacja koca linii asocjacji, 287ograniczenia, 287, 297operacje, 288operacje abstrakcyjne, 292operacje dost�powe, 290prezentacja atrybutów, 284problematyczne operacje, 290profile, 291przegródki, 282przegródki definiowane przez u�ytkownika, 300s�owa kluczowe, 287, 290stereotypy, 291strza�ka nawigacji, 285symbol notatki, 287szablony interfejsów, 300szablony klas, 300tekst, 284tekstowy opis atrybutu, 284uwagi, 287widoczno��, 282, 284w�a�ciwo�ci, 287, 292zale�no�ci, 293, 294zasady rysowania diagramów klas w

zale�no�ci od perspektywy, 286znaczniki, 291, 292

diagramy komponentów, 683, 685diagramy komunikacji, 250, 257, 258

iteracje, 277iteracyjne przechodzenie przez kolekcj�, 277komunikaty, 273komunikaty do self lub this, 274komunikaty polimorficzne, 278komunikaty warunkowe, 276komunikaty wysy�ane do klas w celu

wywo�ania metod statycznych, 277linki, 273makePayment, 259notacja, 273numerowanie komunikatów, 274obs�uga operacji systemowych, 359p�tle, 277powi�zania, 273tworzenie instancji, 274wady, 257wyra�enia if-then-else, 276wywo�ania asynchroniczne, 278wywo�ania synchroniczne, 278zalety, 257

diagramy pakietów, 231, 232, 235, 251, 694linie zale�no�ci, 235NextGen, 246pakiety, 235pozyskiwanie diagramów pakietów z kodu, 236przestrze nazw, 235

diagramy Pareto, 147diagramy przebiegu, 36, 256diagramy przep�ywu danych, 511, 512diagramy przep�ywu rozmów, 214diagramy przypadków u�ycia, 94, 121, 123, 532diagramy rybiej o�ci, 147diagramy sekwencji, 36, 207, 210, 211, 250, 256,

258, 319makePayment, 258obs�uga operacji systemowych, 359p�tle, 211wady, 257zalety, 257

diagramy stanów, 251, 517, 518akcje, 521cykl �ycia obiektu, 518fizyczne urz�dzenia, 520kontrolery, 520modelowanie nawigacji UI, 520, 522modelowanie obiektów zale�nych od stanu,

519nawigacja przez strony, 520NextGen, 523

Page 21: UML i wzorce projektowe. Analiza - pdf.helion.plpdf.helion.pl/umwzo3/umwzo3-3.pdf · Na czym polegaj przyrostowe i ewolucyjne projektowanie oraz analiza? 53 ... 6.6. Definicja: jakie

SKOROWIDZ

732

diagramy stanównotacje, 521obiekty biznesowe, 520obiekty niezale�ne od stanu, 519obiekty trwa�e, 673obiekty zale�ne od stanu, 519obiekty zmieniaj�ce rol�, 520obs�uga zdarze w okienku UI, 521operacje systemowe w przypadkach u�ycia, 520protoko�y komunikacyjne, 520przej�cia, 518, 521sesje UI, 520stany, 518stosowanie, 519transakcje, 520Unified Process, 524warunki, 521zagnie�d�one stany, 521zdarzenia, 518z�o�one obiekty reakcyjne, 520

diagramy sterowania interakcj�, 256, 269diagramy UML, 252, 310diagramy Venna, 540diagramy wdro�eniowe, 251, 683

artefakty, 685instancje, 685�cie�ka komunikacji, 685w�ze�, 684w�ze� EEN, 685w�ze� sprz�towy, 684w�ze� �rodowiska uruchomieniowego, 684

dobry projekt obiektowy, 29dodatkowe wymagania, 108dodatkowy przypadek u�ycia, 530dodawanie kolekcji, 406dokument Architektura Aplikacji, 668, 688dokumentacja architektury, 585, 687dokumentowanie alternatywnych rozwi�za

architektonicznych, 585domain model, 35, 170domain object models, 170dostawca, 293dost�p do us�ugi trwa�ych danych, 661dost�p do zewn�trznych urz�dze fizycznych

za pomoc� adapterów, 639dostosowanie UP do w�asnych potrzeb, 65dot voting, 147drobnoziarniste klasy, 645dynamiczne modelowanie obiektowe, 250, 251dyscypliny UP, 63, 64, 65dziedziczenie, 293, 486, 550

hierarchia klas konceptualnych, 550

dziedzina wytwarzania nowego produktu, 52Dziennik Diagnostyczny, 633

EEBJ, 589EBP, 104, 120Eclipse, 247, 421EEN, 684, 685Eiffel, 228EJB, 341, 590Ekspert, 314, 317, 327, 330, 387, 644ekspert cz��ciowy, 386eksperymenty programistyczne, 305Ekstrakcja Metody, 423, 424Ekstrakcja Sta�ej, 423Ekstrakcja Zmiennej Lokalnej, 423elaboration phase, 62elementarny proces biznesowy, 120elementary business process, 104elementy pochodne, 558endSale, 368enterItem, 221, 360, 364, 367, 404, 405Enterprise JavaBeans, 38, 341Enterprise Resource Planning, 696entity class, 341ERP, 696error, 630etapy analizy architektonicznej, 578etykiety zale�no�ci, 295ewolucyjne modelowanie dziedziny, 204ewolucyjne projektowanie obiektowe, 392ewolucyjne projektowanie oraz analiza, 53ewolucyjny model przyrostowy, 402ewolucyjny model wytwarzania

oprogramowania, 46ewoluuj�ce wymagania, 83

metody iteracyjne, 152execution environment node, 684extend, 530

punkty rozszerze, 531warunek wywo�ania, 531

Ffabryka, 473Fabryka, 472, 473, 478, 626

tworzenie strategii, 480Fabryka Abstrakcyjna, 446, 472, 641

klasy abstrakcyjne, 641Fabryka Konkretna, 472

Page 22: UML i wzorce projektowe. Analiza - pdf.helion.plpdf.helion.pl/umwzo3/umwzo3-3.pdf · Na czym polegaj przyrostowe i ewolucyjne projektowanie oraz analiza? 53 ... 6.6. Definicja: jakie

SKOROWIDZ

733

Fabryka Obiektów Dziedzinowych, 621Fabryka Prosta, 472Facade, 492Factory, 472failure, 630Fasada, 348, 459, 477, 492, 493, 602, 612, 661

dost�p do us�ugi trwa�ych danych, 661fasada sesyjna, 602fault, 630faza elaboracji, 163faza konstrukcji, 62, 154, 393

przypadki u�ycia, 131faza opracowywania, 55, 62, 153, 163, 164, 393

artefakty UP, 164pierwsza iteracja, 159przypadki u�ycia, 131symptomy braku zrozumienia, 164

faza przekazania systemu, 62faza rozpocz�cia, 62, 77, 78, 153, 162, 392

artefakty, 79, 80cele, 78czas trwania, 79dokumentacja, 81ilo�� UML, 82przypadki u�ycia, 130symptomy �wiadcz�ce o braku zrozumienia, 81

fazy UP, 62, 65Feature-Driven Development, 31fishbone diagrams, 147fixture, 419fizyczne urz�dzenia, 520Flex, 610fork, 510formalny opis przypadku u�ycia, 93format danych, 109formaty przypadków u�ycia, 97, 110forward engineering, 428found message, 261framework, 30, 655, 657frazy rzeczownikowe, 178functional, 86funkcjonalno�ci, 147funkcjonalno�� systemu, 147FURPS, 86FURPS+, 86, 95, 141, 579

GGang of Four, 312, 446, 467garbage collector, 263General Responsibility Assignment Software

Patterns, 324

generalizacja, 292, 442, 538klasy konceptualne, 539zbiory klas, 540

generalize, 532generowanie nowych pomys�ów, 147Gilb Tob, 68globalne diagramy interakcji, 256, 269Glosariusz, 136g�ówny scenariusz sukcesu, 105, 106, 178, 369, 435GoF, 307, 312, 446, 467gor�ce punkty, 465gra Monopoly, 74Graficzny Interfejs U�ytkownika, 232graficzny s�ownik, 171granice systemu, 115GRASP, 33, 251, 303, 307, 309, 313, 489

Controller, 320, 322, 336Creator, 314, 315, 325Czysty Wymys�, 348, 453diagramy UML, 310Ekspert, 317, 327High Cohesion, 322Indirection, 458Information Expert, 317, 327Kontroler, 320, 322, 336Low Coupling, 318, 332Niskie Sprz��enie, 318, 332obiekty programistyczne, 315Ochrona Zmienno�ci, 459Polimorfizm, 446Polymorphism, 446Po�rednictwo, 458projektowanie obiektowe, 314, 324, 355Protected Variations, 459Pure Fabrication, 453Twórca, 314, 315, 325Wysoka Spójno��, 322, 350wzorce, 311, 312, 314zasady projektowe, 313zobowi�zania, 310

Gruboziarnisty Zdalny Interfejs, 352grupowanie w oparciu o podobiestwo, 147GUI, 232, 500gwarancje sukcesu, 105

HHashMap, 625hermetyzacja, 460hermetyzacja szczegó�ów, 672Hibernate, 72, 656, 696

Page 23: UML i wzorce projektowe. Analiza - pdf.helion.plpdf.helion.pl/umwzo3/umwzo3-3.pdf · Na czym polegaj przyrostowe i ewolucyjne projektowanie oraz analiza? 53 ... 6.6. Definicja: jakie

SKOROWIDZ

734

hierarchia klas, 442hierarchia klas oparta o relacj�

generalizacji – specjalizacja, 538hierarchia klas konceptualnych, 545

dziedziczenie, 550High Cohesion, 314, 322, 348HIGH-LOW, 661Hoare Tony, 227hot spots, 465HTTPS, 469

IIDE, 247identyfikacja czynników architektonicznych, 579identyfikacja fraz rzeczownikowych w tek�cie

przypadków u�ycia, 536identyfikacja przypadków u�ycia, 119identyfikator obiektu, 661Identyfikator Obiektu, 660if-then-else, 266, 276Implementacja, 64, 67implementacja oprogramowania, 40inception phase, 62include, 526

obs�uga zdarze asynchronicznych, 528Indirection, 458informacje zwrotne, 53Information Expert, 314, 317, 327inicjalizacja, 378, 391inicjalizacja warto�ci procentowej, 482inicjalizacyjne obiekty dziedzinowe, 379initialize, 391inne wymagania, 135, 136instancja adaptera, 470instancja metaklasy, 270instancja testowa, 419instancje, 685Integrated Development Environment, 247interaction overview diagram, 256interesariusze, 104interfejs systemu, 218interfejs u�ytkownika, 71Interfejs U�ytkownika, 232interfejsy, 295, 418, 452, 460

stosowanie, 452interfejsy nabyte, 295interfejsy programistyczne, 436interfejsy zewn�trznych us�ug, 478Interpreter Polece, 348, 678interpretery, 461in�ynieria post�powa, 428

in�ynieria u�yteczno�ci, 32, 112in�ynieria wahad�owa, 428in�ynieria wsteczna, 236, 428is – a, 541issue card, 585ITaxCalculatorAdapter, 460iteracja-1, 159

Monopoly, 160NextGen, 160przyrostowe rozwijanie tego samego

przypadku u�ycia, 161wymagania, 160, 161

iteracja-2, 433, 434Monopoly, 437NextGen, 435wymagania, 435

iteracja-3, 507wymagania, 507

iteracje, 47, 49, 57, 277iteracyjna dokumentacja architektury, 701iteracyjna nauka, 73iteracyjne modelowanie dziedziny, 204iteracyjne projektowanie obiektowe, 392iteracyjne przechodzenie przez kolekcj�, 267, 277iteracyjne SSD, 214iteracyjne wymagania, 83iteracyjne wytwarzanie aplikacji, 73iteracyjno��, 45iteracyjny model wytwarzania, 230Iterator, 267

JJ2EE, 335Jacobson Ivar, 42, 114Jakarta Struts, 697Java, 29, 402Java Database Connectivity, 331Java Messaging Service, 589, 686Java Struts, 341, 344Java Swing, 239, 338, 343, 634, 657java.beans.Introspector, 461java.util.Iterator, 267JavaPOS, 639, 640, 641, 643JButton, 321, 500JDBC, 483, 619JDBCUtilities, 619jeden do jednego, 681jeden do wielu, 406, 681jednolity dost�p, 461j�zyk ALGOL 60, 227j�zyk obiektowy, 41

Page 24: UML i wzorce projektowe. Analiza - pdf.helion.plpdf.helion.pl/umwzo3/umwzo3-3.pdf · Na czym polegaj przyrostowe i ewolucyjne projektowanie oraz analiza? 53 ... 6.6. Definicja: jakie

SKOROWIDZ

735

j�zyk OCL, 226j�zyk PLanguage, 579j�zyk specyfikacji ogranicze, 297j�zyk UML, 30, 37j�zyk zapisu ogranicze, 226JFrame, 239, 244, 321, 346JMS, 589JNDI, 461JNI, 640join, 510JTextField, 498JUnit, 419

metody testowe, 420tworzenie testów, 420

KKadry Przypadków U�ycia, 165kamienie milowe, 707karty CRC, 252karty problemowe, 585kaskadowa analiza wymaga, 85kaskadowy model wytwarzania

oprogramowania, 46kategorie warunków kocowych, 219kategorie wymaga, 86Kay Alan, 42, 610klasa aktywna, 271, 301klasy, 40, 183, 686

definiowanie typów danych, 199dziedziczenie, 550generalizacja, 538kolejno�� implementacji, 408tworzenie definicji na podstawie DCD, 403

klasy abstrakcyjne, 292, 293Fabryka Abstrakcyjna, 641UML, 549

klasy asocjacyjne, 282, 299, 550, 552UML, 552

klasy finalne, 293klasy graniczne, 341klasy implementacyjne, 41klasy kompozytowe, 484klasy konceptualne, 40, 41, 169, 172, 538, 539

analiza lingwistyczna, 178atrybuty, 194identyfikacja fraz rzeczownikowych, 178instrumenty finansowe, 178katalogi, 177lista kategorii, 176Monopoly, 180obiekty fizyczne, 177

odnajdywanie klas konceptualnych poprzezidentyfikacj� fraz rzeczownikowych, 178

opisy, 177podzia� na podklasy, 543pojemniki, 177przedmioty transakcji, 176rysowanie, 179strategie znajdowania klas, 176systemy wspó�pracuj�ce, 177transakcje biznesowe, 176znajdowanie klas, 175, 179

klasy kontrolne, 341klasy opisowe, 183, 185

motywacja, 184zastosowanie, 185

klasy programistyczne, 41klasy projektowe, 40klasy przechowuj�ce, 341klasy singletonowe, 299klasyczna architektura trójwarstwowa, 610klasyfikator, 40, 283klient, 104klucze obce, 201kod Monopoly, 412kod NextGen, 409kodowanie sterowane testami, 306kolaboracja, 308, 309kolejno�� implementacji, 408kolekcje, 406komentarze, 287komponenty, 685, 686kompozycja, 296, 297, 315, 327, 553

Model Dziedziny, 555rozpoznanie, 554zalety uwzgl�dnienia, 554

Kompozyt, 483, 484, 485komunikacja wzwy�, 612

komunikacja z wy�sz� warstw� UI, 606Komunikat Wybieraj�cy, 453komunikaty, 261, 273

komunikaty asynchroniczne, 271, 629, 632komunikaty do self lub this, 263, 274komunikaty odnalezione, 261komunikaty polimorficzne, 270, 278komunikaty warunkowe, 265, 266, 276komunikaty wysy�ane do klas w celu

wywo�ania metod statycznych, 270, 277konceptualne nadklasy, 539konceptualne podklasy, 539koncepty dziedzinowe, 40konfiguracja odwzorowywaczy, 670konkretny przypadek u�ycia, 529

Page 25: UML i wzorce projektowe. Analiza - pdf.helion.plpdf.helion.pl/umwzo3/umwzo3-3.pdf · Na czym polegaj przyrostowe i ewolucyjne projektowanie oraz analiza? 53 ... 6.6. Definicja: jakie

SKOROWIDZ

736

konstruktory, 666kontekst pisania przypadków u�ycia, 129kontekstowy diagram przypadków u�ycia, 126kontener EJB, 685kontener serwletów, 685kontrakty operacji, 215, 305, 360, 569

aktualizacja modelu dziedziny, 222b��dy, 223faza opracowywania, 227faza rozpocz�cia, 227historia, 227j�zyki programowania, 228Monopoly, 225NextGen, 224OCL, 226operacje systemowe, 217pisanie, 223realizacja przypadków u�ycia, 360sekcje, 217szablon kontraktu, 217tworzenie kontraktów, 223Unified Process, 227warunki kocowe, 217, 218zastosowanie, 222

kontrola wspó�bie�no�ci, 476Kontroler, 314, 320, 322, 336, 340, 363, 603

stosowanie po stronie serwera, 341kontroler fasadowy, 336, 340, 345, 362kontroler napuchni�ty, 345kontroler sesyjny, 340, 345krotno�� asocjacji, 190krytyczno��, 166kwalifikator, 298, 559

LLayers, 237, 591lazy initialization, 476LDAP, 242Lean Development, 31leniwa inicjalizacja, 476, 477leniwa materializacja, 659, 678LGP, 643Lieberherr Karl, 464linie asocjacji, 284linie zale�no�ci, 235linie �ycia, 261

usuwanie obiektów, 263linki, 273Liskov Substitution Principle, 462List, 300lista funkcjonalno�ci, 114, 125, 148

Lista Rodzajów Ryzyka, 80listy w�a�ciwo�ci, 292logika aplikacji, 72, 611Logika Aplikacji, 232lokalna pami�� podr�czna cache, 624Low Coupling, 314, 318, 332Lower Representational Gap, 174LRG, 174, 309, 363, 644LSP, 462lu�na architektura warstwowa, 233, 606

��adowanie danych do cache, 628��czenie obiektów UI z obiektami modelu, 500

MmakeLineItem, 407makeNewSale, 362makePayment, 258, 372MakeReservationHandler, 345ManageFaresHandler, 345ManageSchedulesHandler, 345manifest programowania zwinnego, 57Manufacturer, 679mapa my�li, 147mapa procesu iteracyjnego, 21mapowanie, 659, 660mapowanie bezpo�rednie, 662mapowanie niebezpo�rednie, 663mapowanie O-R, 657, 696mapowanie organizacji kodu na warstwy

i pakiety UML, 239mapowanie projektu na kod, 401mapowanie schematów, 659mapper bazodanowy, 659MapperFactory, 670maszyna wirtualna, 610, 684materializacja, 659, 665MDA, 38, 39mechanizm obs�ugi trwa�ych danych, 611mechanizm rozszerze, 291mechanizmy ochrony zmienno�ci, 460mechanizmy przechowywania, 656Mediator, 459mened�er widoku, 635metadane, 150, 664, 672metaklasy, 270metamodel, 38, 285metaprogramowanie, 461Metoda Boocha, 228

Page 26: UML i wzorce projektowe. Analiza - pdf.helion.plpdf.helion.pl/umwzo3/umwzo3-3.pdf · Na czym polegaj przyrostowe i ewolucyjne projektowanie oraz analiza? 53 ... 6.6. Definicja: jakie

SKOROWIDZ

737

metoda fuzji, 228metoda iteracyjna, 31, 45, 47

czas trwania iteracji, 51ewoluuj�ce wymagania, 152nieprzekraczalno�� terminów, 51przypadki u�ycia, 127termin zakoczenia iteracji, 51zyski, 50

metoda przyrostowa, 45, 47Metoda Szablonowa, 664, 665

materializacja, 665metodologia ewolucyjna, 47metodologia spiralna, 48metody, 226, 288, 289

metody abstrakcyjne, 486metody chronione, 669metody finalne, 293metody klasy, 270, 277metody statyczne, 270, 277tworzenie na podstawie diagramów

interakcji, 404metody zwinne, 57

Scrum, 57metodyczne podej�cie do podstaw

projektowania obiektowego, 309miara spójno�ci, 323Microsoft Transaction Service, 590MicroView, 634middleware, 125Mills Harlan, 68mind mapping, 147model, 242model danych, 173, 660Model Danych, 165, 205, 660model dziedziny, 35, 167, 170, 172, 285

asocjacje, 193atrybuty, 201diagramy klas, 171graficzny s�ownik, 171klasy konceptualne, 172LRG, 174Monopoly, 194, 202motywacja, 174NextGen, 193, 201tworzenie nowych typów danych, 199typy atrybutów, 196typy danych, 196

Model Dziedziny, 63, 130, 165, 168, 170, 171, 205,305, 328, 516, 535

asocjacja kwalifikowana, 559asocjacja zwrotna, 560BOM, 206

faza opracowywania, 205faza rozpocz�cia, 205generalizacja, 538identyfikacja fraz rzeczownikowych

w tek�cie przypadków u�ycia, 536klasy abstrakcyjne, 548kompozycja, 555lista kategorii konceptów, 536Model Obiektów Biznesowych, 205Monopoly, 566nadklasy, 539NextGen, 536pakiety, 560, 562podklasy, 539podzia� klasy na pakiety, 562programistyczne obiekty biznesowe, 171realizacja przypadków u�ycia, 360transakcje zwi�zane z autoryzacj� p�atno�ci, 537tworzenie, 175udoskonalenie, 535warunki kocowe, 219zmiany stanów, 549

model FURPS+, 86Model Implementacyjny, 128, 401, 616, 690model inicjatywy oddolnej, 612model kaskadowy, 46, 51

cykl �ycia projektu, 51dziedzina wytwarzania nowego produktu, 52informacje zwrotne, 53niepowodzenia, 52

model konceptualny, 35, 170model N+1 widoków, 687, 688, 689model nawigacji, 522Model Obiektów Biznesowych, 170, 205, 516model obiektów dziedziny, 170model OSI, 606model powi�za jednostek konceptualnych, 170Model Projektowy, 63, 128, 130, 165, 168, 205, 328,

357, 394artefakty, 402

Model Przypadków U�ycia, 63, 80, 87, 94, 128, 130,142, 147, 205, 214, 215, 357, 532, 712

Model Wdro�eniowy, 608Model-Driven Architecture, 38modele dynamiczne, 250modele obiektowe, 250modele statyczne, 250Modelowanie Biznesowe, 63, 67, 153, 170, 516modelowanie czynno�ci, 509, 514modelowanie dynamiczne, 250, 255modelowanie graficzne, 41, 313modelowanie ilo�ci, 202

Page 27: UML i wzorce projektowe. Analiza - pdf.helion.plpdf.helion.pl/umwzo3/umwzo3-3.pdf · Na czym polegaj przyrostowe i ewolucyjne projektowanie oraz analiza? 53 ... 6.6. Definicja: jakie

SKOROWIDZ

738

modelowanie nawigacji UI, 520, 522modelowanie obiektowe, 174modelowanie obiektów zale�nych od stanu, 519modelowanie procesu biznesowego, 511modelowanie przep�ywów danych, 511modelowanie przy u�yciu j�zyka naturalnego, 178modelowanie przyrostowe, 30modelowanie ról, 558modelowanie statyczne, 250modelowanie �wiata nierzeczywistego, 182modelowanie zmian stanów, 549modelowanie zwinne, 31, 39, 58, 59, 69, 181, 248, 257

szkice diagramów UML, 60szkicowanie diagramu klas, 181tworzenie kilku równoleg�ych modeli, 248wspólne modelowanie, 248

Model-View-Controller, 243, 341Model-Widok-Kontroler, 243, 341, 698Moment-Interval, 556Monopoly, 74, 649

algorytm p�tli gry, 384architektura logiczna, 246asocjacje, 194atrybuty, 202Board, 414diagram przypadków u�ycia, 126Die, 413dynamiczna wspó�praca zwi�zana

ze strategi� projektow� landedOn, 650dynamiczny projekt operacji playGame, 389Ekspert, 387gracz, 415Gracz, 651inicjalizacja, 391initialize, 391iteracja-1, 160, 382iteracja-2, 437, 442iteracja-3, 508, 567klasy konceptualne, 180kod, 412kontrakty operacji, 225kostka, 413model dziedziny, 194, 202, 316Model Dziedziny, 382, 442, 566Model Dziedziny w iteracji-3, 567MonopolyGame, 386, 416obs�uga kostki, 455obs�uga ró�nych typów pól, 448Piece, 413pionek, 413plansza, 414Player, 415, 651

playGame, 320, 383, 388pole, 412Polimorfizm, 449problem widoczno�ci, 388PropertySquare, 651próba zakupu, 651przebieg tury, 388przypadki u�ycia, 125, 126, 441realizacja przypadków u�ycia, 382Square, 412statyczny projekt operacji playGame, 390systemowe diagramy sekwencji, 213udoskonalenie Modelu Dziedziny, 566Uruchom system, 391wymagania, 437wymagania w iteracji-3, 508zale�no�ci kreacyjne, 392zasada rozdzielania polece i zapyta, 390

Most, 459multi-voting, 147MVC, 243, 341, 698my�lenie kaskadowe, 52

NN+1 widoków architektonicznych, 688nadklasy, 442, 538, 539

nadklasy abstrakcyjne, 486nadklasy konceptualne, 539, 544

definiowanie, 544najbardziej odpowiedzialny pakiet, 618nak�adanie modelu kaskadowego

na model iteracyjny, 51napuchni�ty kontroler, 345narz�dzia UML CASE, 249, 427, 428, 429natural language modeling, 178nawi�zywanie asocjacji, 219, 221, 223nawigacja przez strony, 520nawigacja UI, 520nazwa marki, 577nazwa �cie�ki, 600Nazwij Problem, Nie Rzucaj�cego, 631nazwy ról w asocjacjach, 557nazwy typów reprezentuj�cych adaptery, 469nazwy zdarze, 212NextGen, 66, 73

aktor pierwszoplanowy, 117Architektura Aplikacji, 692architektura logiczna, 246, 596asocjacje, 193atrybuty, 201Authorization Transactions, 564, 566

Page 28: UML i wzorce projektowe. Analiza - pdf.helion.plpdf.helion.pl/umwzo3/umwzo3-3.pdf · Na czym polegaj przyrostowe i ewolucyjne projektowanie oraz analiza? 53 ... 6.6. Definicja: jakie

SKOROWIDZ

739

ceny produktów, 556Core/Misc, 563diagramy czynno�ci, 515diagramy pakietów, 246diagramy stanów, 523endSale, 224, 368enterItem, 224, 364, 367fasada sesyjna, 602hierarchia klas konceptualnych, 545inicjalizacja, 378iteracja-1, 160iteracja-2, 435iteracja-3, 508kasa, 410katalog produktów, 409klasy p�atno�ci, 545klasy serwisu autoryzacji, 545klasy transakcji autoryzacyjnych, 545kod, 409kompozycja w Modelu Dziedziny, 555kontrakty operacji, 224, 572kontrakty operacji systemowych, 441kontrola urz�dze, 639kocowy DCD dla iteracji-1, 376makeCheckPayment, 573makeCreditPayment, 572makeNewSale, 224, 362makePayment, 225, 372model dziedziny, 193, 201, 326Model Dziedziny, 440, 536mo�liwo�� dzia�ania po awarii, 624nawi�zanie wspó�pracy z us�ug� informacji

o produktach, 627nieaktualne dane w cache, 628notatki techniczne, 585operacje systemowe, 224, 337, 358opis produktu, 410pakiety w Modelu Dziedziny, 562Payment, 409Payments, 563, 564p�atno�ci, 409, 564, 565p�atno�ci czekiem, 571p�atno�ci kart� kredytow�, 570pod��czanie warstwy UI do warstwy

dziedzinowej, 377powi�zania pomi�dzy warstwami i pakietami,

596pozyskiwanie informacji o produktach, 626ProductCatalog, 409ProductDescription, 410Products, 564, 565produkty, 565

przedzia�y czasowe, 556przypadki u�ycia, 98, 439przypadki u�ycia w fazie rozpocz�cia, 132realizacja przypadków u�ycia, 361Register, 410, 603Regu�y Biznesowe, 140, 151Sale, 411Sales, 564, 565SalesLineItem, 412scenariusze, 358scenariusze interakcji pomi�dzy warstwami

i pakietami, 599skasowany produkt, 412sklep, 412S�owniczek, 149Specyfikacja Dodatkowa, 138sprzeda�, 411SSD, 440Store, 412strategie �adowania danych do cache, 628systemowe diagramy sekwencji, 209, 358, 569tabela czynników architektonicznych, 582transakcje autoryzacyjne, 566trwa�e obiekty, 656Uruchom system, 361, 378uzasadnienie hierarchii serwisów autoryzacji,

546warstwy, 597Wizja, 143wsparcie dla zewn�trznych kalkulatorów

podatków, 447wspó�praca z podsystemem trwa�ych danych,

628wybór klasy kontrolera, 362wymagania w iteracji-3, 508wzorzec Pe�nomocnik, 635zapisywanie obiektu sprzeda�y

w bazie danych, 454zmiany w modelu dziedziny, 225

Nie rozmawiaj z obcymi, 462, 464nieaktualne dane w cache, 628nieformalny opis przypadku u�ycia, 92niska spójno��, 350, 352Niskie Sprz��enie, 314, 318, 332, 334, 380, 607, 612no operation, 450nominal group technique, 147NO-OP, 450no�niki danych, 607notacja asocjacji, 188notacja diagramów interakcji, 259notacja diagramów klas, 282notacja diagramów komunikacji, 273

Page 29: UML i wzorce projektowe. Analiza - pdf.helion.plpdf.helion.pl/umwzo3/umwzo3-3.pdf · Na czym polegaj przyrostowe i ewolucyjne projektowanie oraz analiza? 53 ... 6.6. Definicja: jakie

SKOROWIDZ

740

notacja diagramów sekwencji, 261notacja „gniazda”, 296notacja klas abstrakcyjnych, 549notacja klas asocjacyjnych, 282notacja opisu atrybutów, 195notacja rysowania diagramów, 37notatki techniczne, 585

motywacja, 585nowy wzorzec, 312numerowanie komunikatów, 274, 275NUnit, 419Nygaard Kristen, 42

Oobiekt aktywny, 271, 301obiekt wytwórczy, 473obiektowe bazy danych, 656obiektowo��, 34obiekty

identyfikator obiektu, 661tworzenie, 474widoczno��, 395

obiekty biznesowe, 520obiekty dziedzinowe, 172, 240Obiekty Dziedzinowe, 232obiekty graniczne, 341obiekty kontekstowe, 479obiekty kontrolne, 341obiekty niezale�ne od stanu, 519obiekty ograniczaj�ce, 226obiekty porównywane przez warto�ci, 199obiekty programistyczne, 315obiekty przechowuj�ce, 341obiekty raportuj�ce, 181obiekty singletonowe, 260obiekty UI, 346obiekty warto�ci, 607obiekty zale�ne od stanu, 519obiekty zmieniaj�ce rol�, 520Object Constraint Language, 222, 226, 297Object Management Group, 42Object-Oriented Analysis and Design, 29object-oriented programming, 42Objectory, 42, 341Obserwator, 244, 459, 495, 496, 497, 499, 605, 606,

612, 657implementacja, 500, 501zdarzenia, 500

obs�uga b��dów, 407, 629, 633obs�uga operacji systemowych, 359obs�uga p�atno�ci kart� kredytow�, 648

obs�uga ró�nych typów pól, 448obs�uga wyj�tków, 636obs�uga zdarze asynchronicznych, 528obs�uga zdarze systemowych, 346obs�uga zdarze w okienku UI, 521Obs�u� sprzeda�, 537ocena stopnia sprz��enia, 319Ochrona Zmienno�ci, 459, 460, 462, 465, 470, 576,

607, 612OCL, 222, 226, 297OCP, 466odczyt warto�ci procentowej, 482oddzielanie modelu od widoku, 239, 242, 243, 612odkrycia „analityczne” na poziomie

projektowania, 471odkrywanie wymaga, 230odpowiedzi, 262odpowiedzialno��, 308odpowiedzialno�� pomi�dzy klasami, 30odpytywanie z góry, 612od�miecacz, 263odwo�ania, 561odwzorowanie artefaktów projektowych

w kodzie, 401odwzorowanie wyników projektowania

w kodzie, 401, 403odwzorowywacz bazodanowy, 659Odwzorowywacz Bazodanowy, 662, 663odwzorowywacze oparte o metadane, 664ograniczanie zale�no�ci od niestabilnych

pakietów, 618ograniczenia, 287, 291, 297OID, 661, 681Okno B��du, 634okre�lanie

aktor pierwszoplanowy, 115granice systemu, 115

OMG, 42OMT, 42OOA/D, 21, 29, 32, 34, 41, 42, 54, 160OOD, 255open source, 139, 656Open-Closed Principle, 466operacje, 226, 288operacje abstrakcyjne, 292, 293operacje dost�powe, 290operacje SQL, 671operacje systemowe, 212, 217, 244, 358

przypadki u�ycia, 520systemowe diagramy sekwencji, 245warstwy, 245, 605

operacje transakcyjne, 659

Page 30: UML i wzorce projektowe. Analiza - pdf.helion.plpdf.helion.pl/umwzo3/umwzo3-3.pdf · Na czym polegaj przyrostowe i ewolucyjne projektowanie oraz analiza? 53 ... 6.6. Definicja: jakie

SKOROWIDZ

741

operation contracts, 215opis przypadku u�ycia, 92opisy klas reprezentuj�cych nowe typy danych,

200oprogramowanie wspieraj�ce in�ynieri�

i projektowanie oprogramowania, 428O-R, 657, 696organizacja artefaktów, 712organizacja pakietów, 616OS, 684OSI, 606otwarte – zamkni�te, 466outsourcing, 579

Ppakiety, 235, 239, 560, 601

najbardziej odpowiedzialny pakiet, 618niestabilne klasy, 617niezale�ne typy, 619ograniczanie zale�no�ci od niestabilnych

pakietów, 618organizacja pakietów, 616projektowanie, 615prze�amanie zale�no�ci cyklicznej, 622rodzina interfejsów, 617wewn�trzne sprz��enie pakietu, 617zale�no�ci cykliczne, 621zale�no�ci pomi�dzy pakietami, 561zmniejszanie zale�no�ci od pakietów

konkretnych, 620pami�� cache, 671pami�� podr�czna, 624parametryzacja, 461partycje, 241, 242, 510paski aktywacji, 262paski specyfikacji wykonania, 262Pattern-Oriented Software Architecture, 348patterns, 311PC, 42pe�ne przypadki u�ycia, 97Pe�nomocnik, 635, 636Pe�nomocnik Przekierowuj�cy, 635pe�nomocnik wirtualny, 678

implementacja, 680tworzenie, 679

Pe�nomocnik Wirtualny, 678Pe�nomocnik Zdalny, 635pe�ny opis przypadku u�ycia, 97performance, 87Persistence Framework, 657, 658PersistenceFacade, 662

PersistentObject, 673, 681, 682PersistentStorage, 459personal computing, 42perspektywa konceptualna, 169perspektywy stosowania UML, 39, 40p�tle, 265, 277pisanie kontraktów, 223pisanie tekstu, 526Plan Faz, 61, 80, 708, 709Plan Iteracji, 61, 80, 706, 708, 709Plan Wytwarzania Kodu, 80Plan Wytwarzania Oprogramowania, 128, 708Plan Zarz�dzania Ryzykiem, 80PLanguage, 579planowanie adaptacyjne, 706planowanie iteracji, 706

planowanie nast�pnej iteracji, 165przypadki u�ycia, 708scenariusze, 708symptomy braku zrozumienia, 713

planowanie iteracyjne sterowane przez klienta, 56planowanie iteracyjne sterowane ryzykiem, 56playGame, 383, 388pocz�tkowe obiekty dziedzinowe, 379podej�cie zwinne, 57podklasy, 442, 539podklasy konceptualne, 539

definiowanie, 542generalizacja, 539poprawne podklasy, 542powody wprowadzenia, 543regu�a 100%, 541regu�a is – a, 541zgodno�� definicji podklasy

konceptualnej, 541zgodno�� zbioru podklasy konceptualnej, 541

pod��czanie warstwy UI do warstwydziedzinowej, 377

podstawowe zasady projektowania architektury,588

podstawowy proces biznesowy, 104podstawowy przep�yw, 105, 106, 178, 369, 435, 709podsystem trwa�ych danych, 657podsystemy, 601podzia� klasy konceptualnej, 542pojemnik, 590pokrycie, 165polecenia bazodanowe, 677Polecenie, 347, 348, 457, 458, 676, 677polimorfizm, 270, 446, 452, 460Polimorfizm, 446, 447, 450, 483, 644Polymorphism, 446

Page 31: UML i wzorce projektowe. Analiza - pdf.helion.plpdf.helion.pl/umwzo3/umwzo3-3.pdf · Na czym polegaj przyrostowe i ewolucyjne projektowanie oraz analiza? 53 ... 6.6. Definicja: jakie

SKOROWIDZ

742

po��czenie warstwy UI z warstw� dziedzinow�,346, 347

ponowne wykorzystanie kodu, 457poprawa stopnia sprz��enia, 452poprawne podklasy konceptualne, 542POS, 73POSA, 348PostgreSQL, 684po�rednictwo, 460Po�rednictwo, 458, 612Potoki, 609powi�zania, 273powi�zania pomi�dzy przypadkami u�ycia, 525

abstrakcyjny przypadek u�ycia, 529bazowy przypadkiem u�ycia, 530diagramy przypadków u�ycia, 532dodatkowy przypadek u�ycia, 530konkretny przypadek u�ycia, 529obs�uga zdarze asynchronicznych, 528relacja extend, 530relacja generalize, 532relacja include, 526

poziomy celów u�ytkownika, 104pozyskiwanie diagramów pakietów z kodu, 236,

239praktyki zwinne, 45Prawo Demeter, 462, 464prezentacja atrybutów UML, 284priorytety zada, 166problem zewn�trznych us�ug

o odmiennych interfejsach, 478problemy interesariuszy, 146proces iteracyjny, 313proces wytwarzania oprogramowania, 46profil modelowania danych, 660profile, 291profile UML, 38, 660programistyczne obiekty biznesowe, 171programowanie ekstremalne, 46, 69, 417programowanie kontraktowe, 228programowanie obiektowe, 42programowanie sterowane funkcjonalno�ciami, 31programowanie sterowane testami, 46, 57, 306,

408, 417, 418JUnit, 419�rodowiska programistyczne, 421

programowanie sterowane wymaganiami, 84programowanie w ewolucyjnym modelu

przyrostowym, 402programowanie w parach, 57programowanie zwinne, 57programy wspó�bie�ne, 512

projekt fizyczny, 616projekt obiektowy, 29projekt przyrostowy, 51projekt UP, 62projektowanie, 33, 229, 247

dynamiczne modelowanie obiektowe, 251karty CRC, 252kodowanie, 247modelowanie dynamiczne, 250modelowanie statyczne, 250rysowanie, potem kodowanie, 247samo rysowanie, 247statyczne modelowanie obiektowe, 251UML, 252UML CASE, 249

Projektowanie, 63, 67, 153projektowanie baz danych, 33projektowanie inicjalizacji, 378projektowanie modu�owe, 351projektowanie obiektowe, 30, 33, 34, 255, 435

czynno�ci, 304, 305dane wej�ciowe, 304faza konstrukcji, 393faza opracowywania, 393faza rozpocz�cia, 392GRASP, 314, 324, 355spójno��, 348wyniki, 304, 307

projektowanie obiektów, 303projektowanie oparte o architektur�, 579projektowanie oparte o przypadki u�ycia, 127projektowanie pakietów, 615projektowanie refleksyjne, 461projektowanie sterowane danymi, 461projektowanie sterowane odpowiedzialno�ci�, 30,

251, 307, 308, 313, 353dzia�anie, 308GRASP, 309kolaboracja, 309odpowiedzialno��, 308wiedza, 308

projektowanie sterowane przez interpretery, 461projektowanie szkieletu, 655

Metoda Szablonowa, 664trwa�e obiekty, 656

projektowanie transakcji, 676projektowanie warstw, 236projektowy diagram klas, 37, 283, 367projekty ukrywaj�ce struktur�, 462property, 292property string, 292PropertyListener, 244

Page 32: UML i wzorce projektowe. Analiza - pdf.helion.plpdf.helion.pl/umwzo3/umwzo3-3.pdf · Na czym polegaj przyrostowe i ewolucyjne projektowanie oraz analiza? 53 ... 6.6. Definicja: jakie

SKOROWIDZ

743

propozycje architektoniczne, 585proste typy danych, 198Protected Variations, 459, 460protoko�y komunikacyjne, 520prototyp architektoniczny, 164, 593, 701Prototypy, 80Prototypy UI, 165przechowywanie, 611przedmioty transakcji, 176przedzia�y czasowe, 556przegl�darka internetowa, 684przegródki definiowane przez u�ytkownika, 300przej�cia, 518przej�cie do us�ug lokalnych, 624przej�cie do us�ug lokalnych po awarii zdalnego

serwisu, 635przekazywanie obiektu agreguj�cego jako

parametru, 491Przekszta�� Wyj�tek, 631przemieszanie widoku statycznego z

dynamicznym, 289przeno�ne komponenty programistyczne, 446przep�yw danych, 510przep�yw informacji, 124przep�yw sterowania, 262, 510przep�ywy alternatywne, 106, 710przestrze nazw, 235przydzia� odpowiedzialno�ci, 32, 36, 303przydzielanie zobowi�za, 327przynale�no�� do zbiorów rozmytych w ró�nych

warstwach, 608Przypadek Wytwórczy, 66, 80przypadki u�ycia, 31, 34, 91, 92, 93, 149, 525

aktor, 92, 96aktor pierwszoplanowy, 104analiza zdarze, 118artefakty UP, 130biznesowe przypadki u�ycia, 104diagramy przypadków u�ycia, 121, 532dodatkowe wymagania, 108EBP, 120elementarny proces biznesowy, 120faza konstrukcji, 131faza opracowywania, 131faza rozpocz�cia, 130, 132formalny opis, 93, 97format danych, 109formaty zapisu, 97, 110g�ówny scenariusz sukcesu, 105gwarancje sukcesu, 105identyfikacje przypadków u�ycia, 119Interesariusze, 104

kontekst pisania, 129lista funkcjonalno�ci systemu, 125metody iteracyjne, 127Model Przypadków U�ycia, 94Monopoly, 125, 126motywacja, 95, 124NextGen, 98nieformalny opis, 92, 97obs�uga zdarze asynchronicznych, 528Obs�u� sprzeda�, 98, 110, 537odst�pstwa od testów, 121okre�lanie aktorów pierwszoplanowych, 115okre�lanie granic systemu, 115opis, 92opis sedna sprawy, 112pe�ny opis, 97perspektywa aktora, 114planowanie iteracji, 708podstawowy proces biznesowy, 104podstawowy przep�yw, 105powi�zania pomi�dzy przypadkami u�ycia, 525poziom podprocedury, 104poziomy celów u�ytkownika, 104przej�cie do scenariusza z innego

przypadku u�ycia, 108przep�ywy alternatywne, 106realizacja, 356, 358relacja extend, 530relacja generalize, 532relacja include, 526rozszerzenia, 106rysowanie diagramów, 123scenariusz, 92sekcje, 103skrócony opis, 97sposoby odnajdywania aktorów i celów, 118styl konkretny, 113styl „sedna sprawy”, 112systemowe diagramy sekwencji, 211systemowe przypadki u�ycia, 103technika czarnej skrzynki, 113technologia, 109test EBP, 120test rozmiaru, 120test szefa, 119UML, 121Uruchom system, 361, 391warunki kocowe, 105warunki pocz�tkowe, 105wersja dwukolumnowa, 110wyró�nianie przypadków u�ycia, 119zakres, 103

Page 33: UML i wzorce projektowe. Analiza - pdf.helion.plpdf.helion.pl/umwzo3/umwzo3-3.pdf · Na czym polegaj przyrostowe i ewolucyjne projektowanie oraz analiza? 53 ... 6.6. Definicja: jakie

SKOROWIDZ

744

przypadki u�yciazakres odpowiedzialno�ci, 113znajdowanie przypadków u�ycia, 114zwi�z�o��, 113

Przypadki Zmian, 464przyrostowe oprogramowywanie przypadku

u�ycia na przestrzeni iteracji, 436przyrostowe projektowanie oraz analiza, 53przyrostowe SSD, 214przyrostowy model wytwarzania

oprogramowania, 46Publish-Subscribe, 499punkt ewolucji, 464, 576, 588punkt zmienno�ci, 464, 576punkty rozszerze, 531Pure Fabrication, 453PV, 460, 462, 465PWF, 658

Rramki, 264, 449

alt, 266ref, 269sd, 269zagnie�d�anie ramek, 268

ramki interakcji, 211Rational Unified Process, 46RDB, 350RDBInterface, 350, 351RDD, 307, 309, 313, 353realizacja interfejsu, 295realizacja przypadków u�ycia, 127, 356, 358

kontrakty operacji, 360Model Dziedziny, 360Monopoly, 382NextGen, 361

realizacja scenariusza, 356ref, 269refaktoryzacja, 46, 247, 417, 421

cele, 422czynno�ci, 422Ekstrakcja Metody, 423, 424Ekstrakcja Sta�ej, 423Ekstrakcja Zmiennej Lokalnej, 423�rodowiska programistyczne, 425Wprowadzenie Zmiennej Obja�niaj�cej, 423,

424Zamiana Wywo�ania Konstruktora

na Metod� Wytwórcz�, 423referencje, 561Register, 405

regu�a 100%, 541regu�a is – a, 541Regu�y Biznesowe, 88, 136, 140, 151, 152regu�y dziedzinowe, 126, 143, 436Regu�y Dziedzinowe, 88, 136, 151, 152relacja extend, 530, 533relacja generalize, 532relacja include, 526, 532relacje jeden do wielu, 406relacje pomi�dzy klasami, 186relacje zale�no�ci, 293relacyjne bazy danych, 656relaxed layered, 606relaxed layered architecture, 233reliability, 87Reprezentacja Asocjacji w Tabelach

Bazodanowych, 681Reprezentacja Obiektów w Postaci Tabel, 659resource adapters, 469Responsibility-Driven Design, 30, 307reverse engineering, 428rodziny powi�zanych obiektów, 641role, 189role jako koncepty, 557role w asocjacjach, 557rollback, 659, 673, 674round-trip engineering, 428rozdzia� problemów, 239rozdzielanie odpowiedzialno�ci

pomi�dzy obiekty, 32rozdzielanie zagadnie, 473, 590rozd�wi�k reprezentacji, 314rozk�ad reprezentacji, 456rozszerzenia, 106rozwi�zywanie problemów stwarzanych

przez czynniki architektoniczne, 582rozwidlenie, 510Rumbaugh Jim, 42Runnable.run, 271RUP, 46, 688rysowanie

diagramy, 248diagramy interakcji, 36klasy konceptualne, 179

ryzyko, 165rzucanie wyj�tków, 630

SSAD, 592, 687Sale.makeLineItem, 407SalePricingStrategy, 487

Page 34: UML i wzorce projektowe. Analiza - pdf.helion.plpdf.helion.pl/umwzo3/umwzo3-3.pdf · Na czym polegaj przyrostowe i ewolucyjne projektowanie oraz analiza? 53 ... 6.6. Definicja: jakie

SKOROWIDZ

745

scenariusz, 92, 105planowanie iteracji, 708

scenariusze interakcji pomi�dzy warstwamii pakietami, 599

scenariusze istotne z punktu widzeniaarchitektury, 599

scenariusze jako�ci, 579artefakty UP, 581opis czynników, 580tabele czynników, 580wybór bitw, które warto stoczy�, 580

Scentralizowane Raportowanie o B��dach, 633Scrum, 46, 57, 69, 84Secure Electronic Transaction, 647SEI, 579, 585sekcje krytyczne, 476selektory, 267separation of concerns, 473serwer, 685serwis trwa�ych danych, 657sesje UI, 520Session, 341SET, 647sieciowe interfejsy u�ytkownika, 341sie� Petriego, 516silnik bazodanowy, 684silnik przep�ywu pracy, 685Simula, 41Singleton, 260, 299, 400, 473, 474, 478, 633sk�adnia opisu komunikatów, 260s�owa kluczowe, 290S�owniczek, 80, 88, 130, 136, 149, 150, 168, 205, 305

metadane, 150s�ownik danych, 150systemowe diagramy sekwencji, 213

s�ownik danych, 150Smalltalk, 41, 174, 243, 610smrodki kodu, 422SOAP XML, 469socket, 296Software Architecture Document, 592, 687Specyfikacja Dodatkowa, 63, 80, 87, 130, 136, 138,

141, 142, 205, 305, 580, 582, 712atrybuty jako�ci, 142elementy, 141funkcjonalno�ci, 142regu�y dziedzinowe, 143

specyfikacja oprogramowania, 39Specyfikacja Uzupe�niaj�ca, 136specyfikacje, 184spójna odpowiedzialno��, 239spójno��, 238, 323, 348, 352spójno�� relacyjna, 617

sprz�t, 684sprz��enie, 332, 352SQL, 331, 352, 483, 671SQLCommand, 619Square, 314SSD, 207, 208Stan, 225, 672, 674stan transakcyjny obiektów, 659standardy, 460standaryzacja j�zyków, 462stany, 518stany transakcyjne, 672State, 672state machine diagram, 518statyczne modelowanie obiektowe, 250, 251, 281stereotypy, 274, 291

stereotypy podsystemów, 601stopie sprz��enia, 319, 332, 452stopnie spójno�ci funkcjonalnej, 350stosowanie interfejsów, 452Strategia, 446, 457, 458, 471, 479

tworzenie strategii przez fabryk�, 480strategia generacji kluczy HIGH-LOW, 661strategia kartografa, 182strategia kompozytowa, 488strategia �adowania danych do cache, 628strategia rozwi�zywania konfliktów, 484strategia studiów przypadków, 73Strategy, 479strict layered architecture, 232struktura dokumentu Architektura Aplikacji, 691Struts, 344, 609, 697

role MVC, 699studia przypadków, 31, 71, 234

iteracyjna nauka, 73iteracyjne wytwarzanie aplikacji, 73Monopoly, 74system sprzeda�y NextGen, 73

SuD, 96supplementary specification, 136supplier, 293supportability, 87Swing, 342, 500sygnalizacja awarii, 630symbol notatki, 287symptomy braku zrozumienia planowania

iteracyjnego, 713symptomy braku zrozumienia UP, 67synchronizacja, 510synchronized, 476, 669synchronizowane metody, 669synteza architektoniczna, 593, 701

Page 35: UML i wzorce projektowe. Analiza - pdf.helion.plpdf.helion.pl/umwzo3/umwzo3-3.pdf · Na czym polegaj przyrostowe i ewolucyjne projektowanie oraz analiza? 53 ... 6.6. Definicja: jakie

SKOROWIDZ

746

Syntropy, 39system informacyjny, 610system informatyczny, 96system operacyjny, 610, 684system POS, 73system sequence diagram, 207system sprzeda�y NextGen, 73system under discussion, 96systemowe diagramy sekwencji, 207, 209, 210, 244,

305, 358, 569artefakty UP, 208faza opracowywania, 214faza rozpocz�cia, 214iteracyjne SSD, 214Monopoly, 213motywacja, 210nazwy zdarze, 212NextGen, 209, 569operacje, 208, 210operacje systemowe, 212, 244, 245pokazywanie tre�ci przypadków u�ycia, 212przypadki u�ycia, 211przyrostowe SSD, 214S�owniczek, 213warstwy, 244zachowanie systemu, 210zdarzenia systemowe, 210zewn�trzne systemy, 212

systemowe przypadki u�ycia, 103systemy przetwarzaj�ce komunikaty, 347szablony, 300

algorytmy, 664interfejsy, 300karty CRC, 253klasy, 300

szkicowanie, 248diagramy klas, 181diagramy sekwencji, 61

szkielet, 657wielokrotne wykorzystanie, 658zasada Hollywood, 658zawarto��, 657

szkielet PWF, 658szkielet trwa�ych danych, 657, 658, 669

wymagania, 658

��cie�ka komunikacji, 685�cis�a architektura warstwowa, 232rodowisko, 64, 66�rodowisko testowe, 419

Ttabele czynników, 580tagged values, 274TaxCalculatorAdapter, 458TCP, 520TDD, 57, 408, 418technical memo, 585technika czarnej skrzynki, 113techniki oparte o g�osowanie, 147techniki projektowe, 247techniki rozdzielania zagadnie, 590technologia, 109technologie aspektowe, 591Template Method, 664test EBP, 120test rozmiaru, 120test szefa, 119test-driven development, 408, 418testy, 418testy jednostkowe, 418Thread, 272Thread.start, 271three-tier architecture, 610Throwable, 631timeboxing, 51to�samo�� obiektu, 659transakcje, 520, 676transakcje biznesowe, 176transakcje zwi�zane z autoryzacj� p�atno�ci, 537transition phase, 62transparent layered, 606tre�� przypadków u�ycia, 305trwa�e obiekty, 656, 674tworzenie

definicja klasy na podstawie DCD, 403instancje, 219, 221, 263, 274, 275kontrakty, 223metody na podstawie diagramów interakcji,

404Model Dziedziny, 175obiekty, 325, 327, 474równoleg�e modele, 251strategia kompozytowa, 488systemy w oparciu o modele, 38testy JUnit, 420wiele ró�nych strategii SalePricingStrategy, 487

Twórca, 314, 315, 325, 326Type, 270typy aktorów, 96typy danych, 200, 285, 542

Page 36: UML i wzorce projektowe. Analiza - pdf.helion.plpdf.helion.pl/umwzo3/umwzo3-3.pdf · Na czym polegaj przyrostowe i ewolucyjne projektowanie oraz analiza? 53 ... 6.6. Definicja: jakie

SKOROWIDZ

747

typy parametryzowane, 300typy widoków architektonicznych, 689typy wymaga, 86

Uuczestnicy interakcji, 259udoskonalenie architektury logicznej, 595udoskonalenie Modelu Dziedziny, 535UI, 71, 72, 231, 232ukrywanie informacji, 460, 466ukrywanie kodu SQL wewn�trz jednej klasy, 671ukrywanie zewn�trznych zasobów dolnej

warstwy, 242umiarkowana spójno��, 351UML, 30, 37, 39, 42, 313

agregacja, 296asocjacja kwalifikowana, 298deklaracja konstruktorów, 666diagramy aktywno�ci, 509diagramy czynno�ci, 509diagramy interakcji, 255diagramy klas, 281diagramy pakietów, 235diagramy przypadków u�ycia, 532diagramy sekwencji, 211diagramy stanów, 517generalizacja, 292interfejsy, 295j�zyk programowania, 38, 428klasa aktywna, 301, 629klasy, 40, 686klasy abstrakcyjne, 549klasy asocjacyjne, 552klasyfikator, 40komponenty, 685kompozycja, 296komunikaty asynchroniczne, 629koncepty dziedzinowe, 40konstruktory, 666kontrakty, 226listy w�a�ciwo�ci, 292mechanizm rozszerze, 291metamodel, 38metody, 226metody synchronizowane, 669modelowanie obiektowe, 250narz�dzia, 427notacja rysowania diagramów, 37obiekty ograniczaj�ce, 226OCL, 226odpowiedzialno��, 308

ograniczenia, 297operacje, 226opis wyj�tków, 632pakiety, 561perspektywa implementacji

oprogramowania, 40perspektywa konceptualna, 39perspektywa specyfikacji oprogramowania, 39plan, 428podsystemy, 601profil modelowania danych, 660profile, 38projekt, 38projektowanie obiektowe, 252ramki, 449relacje zale�no�ci, 293s�owa kluczowe, 290sposoby wykorzystania, 38stosowanie, 39sygnatury, 226szablony, 300szkic, 38, 428, 430szkicowanie, 248warto�ci oznaczone, 274w�tki, 628w�a�ciwo�ci, 292wybór narz�dzia, 429wyj�tki, 631zasady projektowania, 304

UML 1, 41, 42UML 2, 41UML CASE, 30, 236, 239, 249UML EJB, 38UNCOL, 610Unified Method, 42Unified Modeling Language, 30Unified Process, 21, 30, 31, 45, 46, 56

analiza architektoniczna, 576Architektura Aplikacji, 701architektura iteracyjna, 592artefakty, 63, 66cykl �ycia projektu, 63diagramy czynno�ci, 516diagramy stanów, 524dokument Architektura Aplikacji, 668dostosowanie do w�asnych potrzeb, 65dyscypliny, 63, 64faza elaboracji, 55faza konstrukcji, 62faza opracowywania, 55, 62faza przekazania systemu, 62faza rozpocz�cia, 62, 78fazy, 62, 64

Page 37: UML i wzorce projektowe. Analiza - pdf.helion.plpdf.helion.pl/umwzo3/umwzo3-3.pdf · Na czym polegaj przyrostowe i ewolucyjne projektowanie oraz analiza? 53 ... 6.6. Definicja: jakie

SKOROWIDZ

748

Unified Processharmonogramy, 63historia, 68Implementacja, 64, 67kontrakty operacji, 227Model Dziedziny, 205Model Implementacyjny, 401Modelowanie Biznesowe, 67nieobowi�zkowe elementy, 65Plan Faz, 708Plan Iteracji, 708Projektowanie, 67projektowy diagram klas, 283Przypadek Wytwórczy, 66realizacja przypadku u�ycia, 356Specyfikacja Dodatkowa, 63symptomy braku zrozumienia, 67rodowisko, 64, 66wa�ne praktyki, 62wymagania, 84Wymagania, 67Zarz�dzanie Projektem, 67zarz�dzanie wymaganiami, 85zwinno��, 60

UnifiedPOS, 639UnitOfWork, 676uogólnienia, 300UP, 31, 45, 46URPS+, 141Uruchom system, 361, 378, 391usability, 87usability engineering, 32use cases, 31, 34, 91us�uga mapowania O-R, 657us�uga trwa�ych danych, 657, 658

Fasada, 661Us�ugi Techniczne, 232usterka, 630usuwanie

instancje, 219, 221obiekty, 263

uwagi, 287uwarunkowania biznesowe, 78

Vvalue objects, 199VDL, 228VDM, 228Vienna Definition Language, 228virtual machines, 610Visual Studio, 247VM, 610, 684

Wwarstwa aplikacji, 602, 604, 608warstwa dziedzinowa, 168, 172, 174, 231, 240, 346warstwa interfejsu u�ytkownika, 231warstwa logiki aplikacji, 71, 72, 231, 234, 240warstwa sieciowego UI, 341warstwa UI, 346, 612

zdarzenia systemowe, 346warstwy, 232, 236, 241, 244, 606

operacje systemowe, 245stosowanie, 237systemowe diagramy sekwencji, 245

Warstwy, 237, 348, 591, 595, 601, 607powi�zane wzorce i zasady, 612przeciwwskazania, 609przyk�ady u�ycia, 609przynale�no�� do zbiorów rozmytych

w ró�nych warstwach, 608warstwa aplikacji, 608widoki architektury, 607zagro�enia, 609

warstwy architektoniczne, 607warto�ci oznaczone, 274warto�ci zwracane, 262warunek wywo�ania, 531warunki kocowe, 105, 217, 218, 220

j�zyki opisu, 222Model Dziedziny, 219motywacja, 219nawi�zywanie i zrywanie asocjacji, 221operacja enterItem, 221tworzenie i usuwanie instancji, 221zapis, 220zmiana warto�ci atrybutów, 221

warunki pocz�tkowe, 105w�tki, 271, 628wczesne szacunki, 711WebForms, 341, 342WebUI, 344wewn�trzne sprz��enie pakietu, 617w�ze� EEN, 685w�ze� sprz�towy, 684w�ze� �rodowiska uruchomieniowego, 684w�z�y magazynowe, 511w�z�y obiektowe, 510wiarygodne specyfikacje, 137wiarygodno�� szacunków, 711widoczno��, 367, 388, 395, 396

widoczno�� atrybutywna, 396, 397widoczno�� globalna, 396, 400widoczno�� lokalna, 396, 398

Page 38: UML i wzorce projektowe. Analiza - pdf.helion.plpdf.helion.pl/umwzo3/umwzo3-3.pdf · Na czym polegaj przyrostowe i ewolucyjne projektowanie oraz analiza? 53 ... 6.6. Definicja: jakie

SKOROWIDZ

749

widoczno�� parametryczna, 396, 398wzajemna widoczno�� obiektów, 395

widok, 242widok bezpieczestwa, 690widok danych, 690widok implementacji, 690widok logiczny, 690widok procesów, 690widok programistyczny, 691widok przypadków u�ycia, 689, 691widok wdro�eniowy, 690widoki architektoniczne, 596, 607, 688

tworzenie, 689typy widoków, 689

wiele do wielu, 681WinForms, 342Wirfs-Brock Rebecca, 110Wirtualna Maszyna Javy, 610wirtualni pe�nomocnicy, 659Wizja, 81, 88, 116, 130, 136, 143, 146, 149, 153, 205,

587cele interesariuszy, 146funkcjonalno�� systemu, 147lista funkcjonalno�ci, 148problemy interesariuszy, 146

Wizja i Analiza Biznesowa, 80wizualizacja Modelu Projektowego, 690w�asno��, 561w�a�ciwo�ci, 292w�a�ciwo�ci strukturalne, 284workflow, 124wp�yw wymaga niefunkcjonalnych na

architektur�, 638wprowadzanie zmian, 419Wprowadzenie Zmiennej Obja�niaj�cej, 423, 424wskazywanie wymaga, 85wspólne modelowanie, 248wspólny pokój projektowy, 57wspó�bie�no��, 512wspó�praca, 309wspó�praca pomi�dzy warstwami, 236wspó�praca z kompozytem, 486wspó�praca z wy�szymi warstwami, 605wybór bitw, które warto stoczy�, 580wybór inicjalizacyjnego obiektu

dziedzinowego, 380Wydawca-Prenumerator, 495, 496, 499wyj�tki, 407, 630

diagramy interakcji, 633UML, 631

wymagania, 83, 84, 135, 433, 435artefakty UP, 87, 136

atrybuty jako�ci, 142faza rozpocz�cia, 136FURPS, 86FURPS+, 86iteracja-1, 160, 161S�owniczek, 149Wizja, 143wskazywanie wymaga, 85wymagania ewolucyjne, 84wymagania funkcjonalne, 86, 87, 95wymagania implementacyjne, 87wymagania istotne z punktu widzenia

architektury, 579wymagania jako�ci, 87wymagania kaskadowe, 84wymagania niefunkcjonalne, 87, 141, 638wymagania operacyjne, 87wymagania prawne, 87wymagania wydajno�ciowe, 87wymagania zwi�zane z interfejsami, 87wymagania zwi�zane z niezawodno�ci�, 87wymagania zwi�zane z opakowaniem, 87wymagania zwi�zane z rozszerzalno�ci�, 87wymagania zwi�zane z u�yteczno�ci�, 87

Wymagania, 63, 67, 153, 712wymienialne regu�y biznesowe, 492wyobra�enie opakowania produktu, 147wyra�enia if-then-else, 266, 276wyra�enia warunkowe, 446wyró�nianie przypadków u�ycia, 119wysoka spójno��, 351Wysoka Spójno��, 314, 322, 348, 350, 380, 457, 473,

612wysokopoziomowe listy funkcjonalno�ci

systemu, 125wyszczuplone zarz�dzanie, 31wyszukiwanie us�ug, 461wytwarzanie kodu w j�zyku obiektowym, 402wywo�ania asynchroniczne, 271, 272, 278wywo�ania synchroniczne, 271, 278wzajemna widoczno�� obiektów, 395wzorce, 311, 313, 435wzorce architektoniczne, 591

Potoki, 609Warstwy, 601, 607

wzorce Bandy Czterech, 312wzorce GoF, 446wzorce GRASP, 312

Command, 347Controller, 320, 336Creator, 314, 315, 325Czysty Wymys�, 348, 453, 455

Page 39: UML i wzorce projektowe. Analiza - pdf.helion.plpdf.helion.pl/umwzo3/umwzo3-3.pdf · Na czym polegaj przyrostowe i ewolucyjne projektowanie oraz analiza? 53 ... 6.6. Definicja: jakie

SKOROWIDZ

750

wzorce GRASPEkspert, 327, 330High Cohesion, 322, 348Indirection, 458Information Expert, 327Kontroler, 320, 336, 363, 603Low Coupling, 318, 332Niskie Sprz��enie, 318, 332, 607Ochrona Zmienno�ci, 459, 607Polecenie, 347Polimorfizm, 446, 447Polymorphism, 446Po�rednictwo, 458Protected Variations, 459Pure Fabrication, 453Twórca, 314, 315, 325Wysoka Spójno��, 322, 348, 350

wzorce POSA, 348wzorce projektowe, 30, 307, 312, 467, 623

Abstrakcja Wyj�tku, 631Adapter, 468, 470, 626Command, 677Composite, 483Database Broker, 662, 663Database Mapper, 662, 663Delegacja Obs�ugi Zdarze, 495, 499Diagnostic Logger, 633Dziennik Diagnostyczny, 633Fabryka, 472, 473, 626Fabryka Abstrakcyjna, 641Fabryka Obiektów Dziedzinowych, 621Facade, 492Factory, 472Fasada, 492, 493, 602GoF, 467, 468Identyfikator Obiektu, 660Kompozyt, 483, 484, 485Metoda Szablonowa, 664Model-Widok-Kontroler, 243Nazwij Problem, Nie Rzucaj�cego, 631Obserwator, 244, 495, 496, 497, 499, 605Odwzorowywacz Bazodanowy, 662, 663Okno B��du, 634Pe�nomocnik, 635, 636Pe�nomocnik Przekierowuj�cy, 635Pe�nomocnik Wirtualny, 678Pe�nomocnik Zdalny, 635Polecenie, 676, 677Polimorfizm, 644Przekszta�� Wyj�tek, 631Reprezentacja Asocjacji w Tabelach

Bazodanowych, 681

Reprezentacja Obiektów w Postaci Tabel, 659Scentralizowane Raportowanie o B��dach, 633Singleton, 260, 299, 400, 474, 633Stan, 225, 672, 674State, 672Strategia, 479Strategy, 479Template Method, 664Warstwy, 237Wydawca-Prenumerator, 495, 496, 499Zarz�dzanie Cache, 671Zrób To Sam, 644

wzorcoza, 653

XXMLPay, 647XP, 46, 69, 84, 408, 417xUnit, 419, 421

Zzachowanie systemu, 210zagadnienia przecinaj�ce, 590zagnie�d�anie ramek, 268zakres odpowiedzialno�ci, 113zale�no�ci, 293

diagramy klas, 294etykiety, 295

zale�no�ci pomi�dzy pakietami, 561, 562zamiana identyfikatorów na obiekty, 490Zamiana Wywo�ania Konstruktora

na Metod� Wytwórcz�, 423zapaszki kodu, 422zapytania SQL, 671Zarz�dzanie Cache, 671Zarz�dzanie Projektem, 67, 712zarz�dzanie wymaganiami, 31, 84, 85, 89zasada ewaluacyjna, 334zasada Hollywood, 658zasada najmniejszego zaskoczenia, 391zasada oddzielenia modelu od widoku, 242, 243zasada „otwarte – zamkni�te”, 466zasada podstawienia Liskov, 462zasada rozdzielania polece i zapyta, 390zasada rozdzielenia zagadnie, 681zasady odwzorowywania wyników

projektowania w kodzie, 409zasady programowania zwinnego, 57zasady projektowania, 304zasady projektowania architektury, 588

Page 40: UML i wzorce projektowe. Analiza - pdf.helion.plpdf.helion.pl/umwzo3/umwzo3-3.pdf · Na czym polegaj przyrostowe i ewolucyjne projektowanie oraz analiza? 53 ... 6.6. Definicja: jakie

SKOROWIDZ

751

zasady rysowania diagramów klas w zale�no�ciod perspektywy, 286

zasady stosowania warstw, 236zatwierdzenie, 659, 673zbiory klas, 540zdarzenia, 500, 518zdarzenia asynchroniczne, 528zdarzenia systemowe, 210, 217zewn�trzne us�ugi o odmiennych interfejsach, 478zgodno�� definicji podklasy konceptualnej, 541zgodno�� definicji podklasy z definicj� nadklasy,

541zgodno�� zbioru podklasy konceptualnej, 541zintegrowane �rodowisko programistyczne, 247z�o�one numerowanie komunikatów, 276z�o�one obiekty reakcyjne, 520zmiana stanów, 549zmiana warto�ci atrybutów, 219, 221zmiana wymaga, 230zmiany, 84, 85

zmiany na etapie implementacji, 402zmiany w projektach przyrostowych, 49

zmniejszanie rozd�wi�ku pomi�dzy modelemmentalnym a modelem programistycznym, 174

zmniejszanie rozd�wi�ku pomi�dzyreprezentacjami, 240, 309, 643

zmniejszanie stopnia sprz��enia, 319zmniejszanie zale�no�ci

od pakietów konkretnych, 620znaczniki, 291, 292znajdowanie klas konceptualnych, 179zobowi�zania, 310Zrób To Sam, 644zrywanie asocjacji, 219, 221zunifikowany j�zyk modelowania, 30zwi�kszenie liczby kontrolerów, 345zwinne zarz�dzanie projektem, 705

planowanie adaptacyjne, 706planowanie iteracji, 706

zwinny UP, 60

��etony, 516

Page 41: UML i wzorce projektowe. Analiza - pdf.helion.plpdf.helion.pl/umwzo3/umwzo3-3.pdf · Na czym polegaj przyrostowe i ewolucyjne projektowanie oraz analiza? 53 ... 6.6. Definicja: jakie