|
1 The Information Management Dilemma |
|
|
1 | (5) |
|
|
2 | (1) |
|
Modern Corporations Are Headed Toward Disaster |
|
|
3 | (1) |
|
What Does the Customer Want? |
|
|
3 | (1) |
|
Why Object-Oriented Technology Is Important to Developers |
|
|
4 | (2) |
|
2 Managing Complexity: Analysis and Design |
|
|
6 | (15) |
|
|
8 | (3) |
|
|
8 | (1) |
|
|
9 | (1) |
|
|
10 | (1) |
|
|
11 | (1) |
|
|
11 | (1) |
|
Generalization/Specialization and Polymorphism |
|
|
12 | (1) |
|
|
12 | (4) |
|
|
13 | (1) |
|
|
14 | (2) |
|
|
16 | (2) |
|
|
16 | (1) |
|
|
16 | (2) |
|
|
18 | (1) |
|
|
19 | (2) |
|
3 Object-Oriented Programming |
|
|
21 | (19) |
|
What Is Object-Oriented Programming? |
|
|
22 | (1) |
|
|
22 | (1) |
|
|
22 | (1) |
|
Basic Object-Oriented Programming Concepts |
|
|
22 | (5) |
|
Object-Oriented Programming Languages |
|
|
27 | (1) |
|
|
27 | (1) |
|
|
27 | (1) |
|
Object-Oriented Programming |
|
|
27 | (1) |
|
Advanced Object-Oriented (OO) Programming |
|
|
28 | (1) |
|
Leading-Edge Object-Oriented Programming |
|
|
28 | (1) |
|
|
28 | (1) |
|
Ways of Organizing Reality |
|
|
29 | (2) |
|
The Simulation Model of Computation |
|
|
31 | (1) |
|
The Object-Oriented Way of Organizing Reality |
|
|
32 | (8) |
|
|
40 | (18) |
|
Object-Oriented Analysis: Model of Reality |
|
|
41 | (1) |
|
|
41 | (1) |
|
Identification of Objects |
|
|
42 | (2) |
|
|
44 | (6) |
|
Using the Things to Be Modeled |
|
|
45 | (1) |
|
Using the Definitions of Objects and Classes |
|
|
45 | (1) |
|
Using Object Decomposition |
|
|
45 | (1) |
|
|
46 | (1) |
|
|
46 | (1) |
|
Using Object-Oriented Domain Analysis |
|
|
47 | (1) |
|
Reusing an Application Framework |
|
|
47 | (1) |
|
Reusing Class Hierarchies |
|
|
48 | (1) |
|
Reusing Individual Objects and Classes |
|
|
48 | (1) |
|
|
48 | (1) |
|
Using Personal Experience |
|
|
49 | (1) |
|
|
50 | (3) |
|
|
50 | (1) |
|
Using Traditional Data Flow Diagrams |
|
|
51 | (1) |
|
Using Class-Responsibility-Collaboration (CRC) Cards |
|
|
52 | (1) |
|
|
53 | (5) |
|
|
55 | |
|
5 Identifying Responsibilities |
|
|
58 | (13) |
|
|
59 | (1) |
|
|
60 | (1) |
|
|
60 | (1) |
|
|
61 | (1) |
|
|
61 | (1) |
|
|
61 | (1) |
|
|
62 | (2) |
|
|
64 | (1) |
|
|
65 | (1) |
|
|
66 | (1) |
|
|
66 | (1) |
|
|
67 | (4) |
|
6 Specifying Static Behavior |
|
|
71 | (14) |
|
|
72 | (1) |
|
Techniques for Specifying Static Behavior |
|
|
73 | (2) |
|
Techniques for Specifying Control |
|
|
75 | (1) |
|
Techniques for Documenting Control |
|
|
76 | (2) |
|
|
76 | (1) |
|
Object Interaction Diagram (Collaboration Diagram) |
|
|
76 | (1) |
|
Event Trace Diagram (Sequence Diagram) |
|
|
77 | (1) |
|
|
77 | (1) |
|
Techniques for Documenting Static Behavior |
|
|
78 | (1) |
|
Preconditions and Postconditions |
|
|
78 | (1) |
|
|
78 | (1) |
|
|
78 | (1) |
|
|
78 | (1) |
|
|
79 | (1) |
|
|
80 | (5) |
|
|
85 | (20) |
|
|
86 | (1) |
|
Techniques for Identifying Dynamic Behavior |
|
|
87 | (4) |
|
|
89 | (1) |
|
Models for Capturing the Lifecycle |
|
|
89 | (2) |
|
Identifying and Specifying Events |
|
|
91 | (3) |
|
|
91 | (1) |
|
|
92 | (1) |
|
|
92 | (2) |
|
Specifying Dynamic Behavior |
|
|
94 | (7) |
|
|
94 | (3) |
|
|
97 | (4) |
|
Documenting Dynamic Behavior |
|
|
101 | (2) |
|
|
101 | (2) |
|
|
103 | (2) |
|
8 Identifying Relationships |
|
|
105 | (24) |
|
Accessing Another Object's Services |
|
|
106 | (1) |
|
|
106 | (1) |
|
|
107 | (3) |
|
Identifying and Specifying Generalization/Specialization |
|
|
110 | (1) |
|
|
111 | (1) |
|
Classification of Aggregation |
|
|
112 | (6) |
|
Assembly-parts (Component-Integral Composition) |
|
|
113 | (1) |
|
Material-Object Composition |
|
|
114 | (1) |
|
Portion-Object Composition |
|
|
115 | (1) |
|
|
116 | (1) |
|
Collection-Members Composition |
|
|
116 | (1) |
|
Container-Content (Member-Bunch Composition) |
|
|
117 | (1) |
|
Member-Partnership Composition |
|
|
117 | (1) |
|
Objects and Aggregation Relationships |
|
|
118 | (1) |
|
|
118 | (2) |
|
Identifying and Specifying Links and Aggregations |
|
|
120 | (1) |
|
|
121 | (2) |
|
Documenting Relationships |
|
|
123 | (2) |
|
|
125 | (4) |
|
|
126 | (3) |
|
|
129 | (10) |
|
|
130 | (1) |
|
|
131 | (1) |
|
Identifying Declarative Statements |
|
|
131 | (2) |
|
Specifying and Documenting Rules |
|
|
133 | (1) |
|
Mapping Rules to the Proper Object-Oriented Concepts |
|
|
134 | (2) |
|
Documenting the Rules Using UML |
|
|
136 | (1) |
|
|
136 | (1) |
|
|
137 | (2) |
|
|
139 | (17) |
|
|
140 | (1) |
|
Concepts and Object-Oriented Model |
|
|
141 | (3) |
|
|
141 | (1) |
|
|
141 | (1) |
|
|
142 | (1) |
|
Generalization/Specialization |
|
|
142 | (1) |
|
|
143 | (1) |
|
|
144 | (1) |
|
|
144 | (1) |
|
|
145 | (1) |
|
|
145 | (1) |
|
|
146 | (1) |
|
|
146 | (2) |
|
|
147 | (1) |
|
|
147 | (1) |
|
|
148 | (1) |
|
|
148 | (1) |
|
|
148 | (8) |
|
|
149 | (7) |
|
|
156 | (16) |
|
|
157 | (1) |
|
|
158 | (4) |
|
|
158 | (1) |
|
|
159 | (3) |
|
|
162 | (10) |
|
|
162 | (2) |
|
|
164 | (1) |
|
Generalization and Inheritance |
|
|
165 | (1) |
|
|
166 | (1) |
|
|
167 | (1) |
|
|
168 | (4) |
|
|
172 | (19) |
|
|
173 | (1) |
|
|
173 | (3) |
|
|
174 | (1) |
|
|
174 | (1) |
|
|
175 | (1) |
|
|
175 | (1) |
|
|
175 | (1) |
|
|
176 | (5) |
|
|
177 | (1) |
|
|
177 | (1) |
|
|
178 | (1) |
|
|
178 | (1) |
|
|
179 | (1) |
|
|
180 | (1) |
|
|
180 | (1) |
|
|
180 | (1) |
|
|
181 | (1) |
|
|
181 | (1) |
|
|
182 | (1) |
|
|
182 | (1) |
|
|
182 | (2) |
|
|
183 | (1) |
|
|
183 | (1) |
|
|
184 | (1) |
|
|
185 | (3) |
|
|
186 | (1) |
|
|
187 | (1) |
|
|
187 | (1) |
|
|
188 | (3) |
|
|
188 | (1) |
|
|
188 | (1) |
|
|
188 | (1) |
|
|
189 | (2) |
|
|
191 | (9) |
|
|
192 | (1) |
|
|
192 | (1) |
|
|
193 | (3) |
|
|
193 | (1) |
|
|
193 | (2) |
|
|
195 | (1) |
|
Generalization Using Inheritance |
|
|
196 | (1) |
|
|
197 | (3) |
|
|
198 | (2) |
|
14 Implementing Static Behavior |
|
|
200 | (17) |
|
|
201 | (4) |
|
|
202 | (1) |
|
|
202 | (1) |
|
|
203 | (2) |
|
|
205 | (3) |
|
|
205 | (1) |
|
Reference or Pointer Argument |
|
|
206 | (2) |
|
Return Type as Reference or Pointer |
|
|
208 | (1) |
|
|
209 | (1) |
|
|
210 | (2) |
|
|
210 | (2) |
|
|
212 | (1) |
|
|
212 | (1) |
|
|
213 | (4) |
|
Definition in the .h file |
|
|
213 | (1) |
|
Definition in the .C file |
|
|
214 | (3) |
|
15 Instantiating and Deleting Objects |
|
|
217 | (13) |
|
|
218 | (1) |
|
|
218 | (3) |
|
|
221 | (3) |
|
Using Constructors and Destructors Properly |
|
|
224 | (1) |
|
Generalization and Constructors |
|
|
225 | (1) |
|
|
226 | (2) |
|
|
226 | (1) |
|
|
227 | (1) |
|
|
228 | (2) |
|
|
228 | (1) |
|
|
229 | (1) |
|
16 Implementing Generalization/Specialization |
|
|
230 | (19) |
|
|
31 | |
|
Specifying a Derived Class |
|
|
231 | (2) |
|
Inheriting from a Derived Class and Implementing Association |
|
|
233 | (2) |
|
|
235 | (3) |
|
|
238 | (1) |
|
|
239 | (6) |
|
|
245 | (1) |
|
|
246 | (3) |
|
17 Implementing More Relationships |
|
|
249 | (19) |
|
|
250 | (1) |
|
|
250 | (1) |
|
Implementing Attributes of an Association |
|
|
251 | (1) |
|
|
251 | (1) |
|
|
251 | (2) |
|
|
253 | (2) |
|
|
255 | (1) |
|
|
256 | (1) |
|
|
257 | (2) |
|
|
257 | (1) |
|
|
257 | (2) |
|
|
259 | (1) |
|
|
259 | (4) |
|
|
260 | (1) |
|
|
260 | (1) |
|
Implementing a One-to-Many Association Using a Friend |
|
|
261 | (2) |
|
|
263 | (2) |
|
|
263 | (1) |
|
|
264 | (1) |
|
Implementing Static Members |
|
|
265 | (2) |
|
|
267 | (1) |
|
|
268 | (21) |
|
|
269 | (1) |
|
Acquiring Domain Expertise |
|
|
270 | (1) |
|
|
271 | (1) |
|
|
271 | (1) |
|
Time Sequencing in Simulations |
|
|
271 | (1) |
|
Provided Technology Services |
|
|
272 | (3) |
|
Detailed Class Descriptions |
|
|
275 | (11) |
|
Geometric Subsystem Classes |
|
|
275 | (2) |
|
Display Subsystem Classes |
|
|
277 | (7) |
|
Collision Subsystem Classes |
|
|
284 | (2) |
|
UML Description of the Subsystems |
|
|
286 | (3) |
|
|
286 | (1) |
|
|
286 | (1) |
|
|
286 | (3) |
|
|
289 | (29) |
|
Step 1: Finding the Objects |
|
|
290 | (1) |
|
Step 2: Identifying Responsibilities |
|
|
290 | (12) |
|
Step 3: Specifying Behaviors |
|
|
302 | (9) |
|
Step 4: Specifying Relationships |
|
|
311 | (4) |
|
|
315 | (3) |
|
|
318 | (56) |
|
Step 1: Finding The Objects |
|
|
319 | (1) |
|
Step 2: Identifying Responsibilities |
|
|
320 | (18) |
|
Step 3: Specifying Behaviors |
|
|
338 | (9) |
|
Step 4: Specifying Relationships |
|
|
347 | (7) |
|
|
354 | (20) |
|
21 Case Study: Design & Implementation |
|
|
374 | (62) |
|
|
375 | (9) |
|
|
384 | (14) |
|
Implementing Static Behavior |
|
|
398 | (3) |
|
|
401 | (4) |
|
|
405 | (21) |
|
Implementing Relationships |
|
|
426 | (10) |
Bibliography |
|
436 | (3) |
Index |
|
439 | |