inżynieria oprogramowania w ujęciu obiektowym. uml, wzorce projektowe i java full version.pdf

(37976 KB) Pobierz
888470409.003.png
Spis treści
Przedmowa
17
Wstęp
19
Podziękowania
31
CZĘŚĆ I
Zaczynamy
33
Rozdział 1.
Wprowadzenie do inżynierii oprogramowania
35
1.1.
Wprowadzenie: niepowodzenia w inżynierii oprogramowania
36
1.2.
Czym jest inżynieria oprogramowania?
38
1.2.1.
Modelowanie
38
1.2.2.
Rozwiązywanie problemów
40
1.2.3.
Pozyskiwanie wiedzy
41
1.2.4.
Racjonalizacja
42
1.3.
Podstawowe koncepcje inżynierii oprogramowania
43
1.3.1.
Uczestnicy i role
44
1.3.2.
Systemy i modele
46
1.3.3.
Produkty
46
1.3.4.
Aktywności, zadania i zasoby
47
1.3.5.
Wymagania funkcyjne i pozafunkcyjne
48
1.3.6.
Notacje, metody i metodologie
48
1.4.
Aktywności inżynierii oprogramowania
49
1.4.1.
Zbieranie wymagań
50
1.4.2.
Analiza
51
1.4.3.
Projekt systemu
51
1.4.4.
Projektowanie obiektów
53
1.4.5.
Implementowanie
53
1.4.6.
Testowanie
54
1.5.
Zarządzanie tworzeniem oprogramowania
54
1.5.1.
Komunikacja
55
1.5.2.
Zarządzanie racjonalizacją
55
1.5.3.
Zarządzanie konfiguracją oprogramowania
56
1.5.4.
Zarządzanie projektem
56
1.5.5.
Cykl życiowy oprogramowania
56
1.5.6.
Podsumowanie
57
888470409.004.png 888470409.005.png
 
6
Spis treci
1.6.
Analiza przypadku — system ARENA
57
1.7.
Literatura uzupełniająca
58
1.8.
Ćwiczenia
59
Rozdział 2.
Modelowanie w języku UML
63
2.1.
Wprowadzenie
64
2.2.
Ogólnie o UML
65
2.2.1.
Diagramy przypadków użycia
65
2.2.2.
Diagramy klas
65
2.2.3.
Diagramy interakcji
67
2.2.4.
Diagram stanów
67
2.2.5.
Diagramy aktywności
68
2.3.
Podstawowe koncepcje modelowania
69
2.3.1.
Systemy, modele i widoki
69
2.3.2.
Typy danych, abstrakcyjne typy danych i instancje
72
2.3.3.
Klasy, klasy abstrakcyjne i obiekty
73
2.3.4.
Klasy zdarzeniowe, zdarzenia i komunikaty
75
2.3.5.
Modelowanie zorientowane obiektowo
76
2.3.6.
Falsyfikacja i prototypowanie
77
2.4.
UML — głębszy wgląd
78
2.4.1.
Diagramy przypadków użycia
79
2.4.2.
Diagramy klas
86
2.4.3.
Diagramy interakcji
95
2.4.4.
Diagramy stanów
98
2.4.5.
Diagramy aktywności
101
2.4.6.
Organizacja diagramów
104
2.4.7.
Rozszerzenia diagramów
106
2.5.
Literatura uzupełniająca
107
2.6.
Ćwiczenia
108
Rozdział 3.
Organizacja projektu i komunikacja
113
3.1.
Wstęp — katastrofa Ariane
114
3.2.
O projekcie ogólnie
115
3.3.
Koncepcje organizacyjne projektu
119
3.3.1.
Organizacja projektów
119
3.3.2.
Role w realizacji projektu
122
3.3.3.
Zadania i produkty
124
3.3.4.
Harmonogramy
126
3.4.
Koncepcje komunikacyjne projektu
128
3.4.1.
Komunikacja planowa
128
3.4.2.
Komunikacja pozaplanowa
135
3.4.3.
Mechanizmy komunikacyjne
138
3.5.
Aktywności organizacyjne
146
3.5.1.
Dołączanie do zespołu
146
3.5.2.
Dołączanie do infrastruktury komunikacyjnej
146
Spis treci
7
3.5.3.
Udział w zebraniach zespołu
147
3.5.4.
Organizacja przeglądów
149
3.6.
Literatura uzupełniająca
151
3.7.
Ćwiczenia
152
CZĘŚĆ II
Zmagania ze złożonością
155
Rozdział 4.
Zbieranie wymagań
157
4.1.
Wstęp: przykłady problemów z użytecznością
158
4.2.
O zbieraniu wymagań ogólnie
159
4.3.
Koncepcje zbierania wymagań
161
4.3.1.
Wymagania funkcyjne
161
4.3.2.
Wymagania pozafunkcyjne
162
4.3.3.
Kompletność, spójność, jednoznaczność i poprawność
164
4.3.4.
Realizm, weryfikowalność i identyfikowalność
165
4.3.5.
Inżynieria pierwotna, inżynieria wtórna
i inżynieria interfejsu
165
4.4.
Aktywności związane ze zbieraniem wymagań
166
4.4.1.
Identyfikacja aktorów
167
4.4.2.
Identyfikacja scenariuszy
169
4.4.3.
Identyfikacja przypadków użycia
171
4.4.4.
Doskonalenie przypadków użycia
173
4.4.5.
Identyfikacja relacji między aktorami
a przypadkami użycia
176
4.4.6.
Początkowa identyfikacja obiektów
modelu analitycznego
179
4.4.7.
Identyfikacja wymagań pozafunkcyjnych
182
4.5.
Zarządzanie zbieraniem wymagań
183
4.5.1.
Negocjowanie specyfikacji z klientem:
metoda Joint Application Design
185
4.5.2.
Zarządzanie identyfikowalnością
187
4.5.3.
Dokumentowanie zbierania wymagań
188
4.6.
Analiza przypadku — system ARENA
190
4.6.1.
Wstępna deklaracja problemu
190
4.6.2.
Identyfikacja aktorów i scenariuszy
192
4.6.3.
Identyfikacja przypadków użycia
195
4.6.4.
Doskonalenie przypadków użycia
i identyfikacja relacji
198
4.6.5.
Identyfikacja wymagań pozafunkcyjnych
204
4.6.6.
Wnioski
204
4.7.
Literatura uzupełniająca
205
4.8.
Ćwiczenia
207
888470409.001.png 888470409.002.png
 
8
Spis treci
Rozdział 5.
Analiza wymagań
211
5.1.
Wstęp: złudzenie optyczne
212
5.2.
O analizie wymagań ogólnie
212
5.3.
Koncepcje analizy wymagań
214
5.3.1.
Analityczny model obiektowy i modele dynamiczne
214
5.3.2.
Obiekty encji, obiekty brzegowe i obiekty sterujące
215
5.3.3.
Generalizacja i specjalizacja
216
5.4.
Aktywności analizy wymagań:
od przypadków użycia do obiektów
217
5.4.1.
Identyfikacja obiektów encji
218
5.4.2.
Identyfikacja obiektów brzegowych
220
5.4.3.
Identyfikacja obiektów sterujących
222
5.4.4.
Odwzorowywanie przypadków użycia w obiekty
za pomocą diagramów sekwencji
224
5.4.5.
Modelowanie interakcji między obiektami
za pomocą kart CRC
228
5.4.6.
Identyfikacja skojarzeń
228
5.4.7.
Identyfikacja agregacji
231
5.4.8.
Identyfikacja atrybutów
232
5.4.9.
Modelowanie zachowania poszczególnych obiektów
uzależnionego od ich stanu
233
5.4.10.
Modelowanie relacji dziedziczenia między obiektami
234
5.4.11.
Przeglądy modelu analitycznego
235
5.4.12.
Podsumowanie analizy
236
5.5.
Zarządzanie analizą wymagań
237
5.5.1.
Dokumentowanie analizy wymagań
238
5.5.2.
Przydzielanie odpowiedzialności
239
5.5.3.
Komunikacja w związku z analizą wymagań
240
5.5.4.
Iteracje modelu analitycznego
241
5.5.5.
Uzgodnienie modelu analitycznego z klientem
243
5.6.
Analiza przypadku — system ARENA
245
5.6.1.
Identyfikacja obiektów encji
245
5.6.2.
Identyfikacja obiektów brzegowych
250
5.6.3.
Identyfikacja obiektów sterujących
251
5.6.4.
Modelowanie interakcji między obiektami
252
5.6.5.
Weryfikacja i konsolidacja modelu analitycznego
254
5.6.6.
Wnioski
256
5.7.
Literatura uzupełniająca
258
5.8.
Ćwiczenia
258
Rozdział 6.
Projektowanie systemu — dekompozycja na podsystemy
263
6.1.
Wstęp: projekt mieszkania
264
6.2.
O projektowaniu systemu ogólnie
266
6.3.
Koncepcje projektowania systemu
267
Zgłoś jeśli naruszono regulamin