Preface |
|
XV | |
Section 1: Getting Started |
|
1 | (44) |
|
|
3 | (10) |
|
The Importance of Modeling |
|
|
4 | (3) |
|
|
7 | (3) |
|
|
10 | (3) |
|
Chapter 2: Introducing the UML |
|
|
13 | (24) |
|
|
14 | (3) |
|
A Conceptual Model of the UML |
|
|
17 | (13) |
|
|
30 | (3) |
|
Software Development Life Cycle |
|
|
33 | (4) |
|
|
37 | (8) |
|
|
38 | (3) |
|
|
41 | (2) |
|
|
43 | (2) |
Section 2: Basic Structural Modeling |
|
45 | (72) |
|
|
47 | (14) |
|
|
47 | (2) |
|
|
49 | (5) |
|
Common Modeling Techniques |
|
|
54 | (5) |
|
Modeling the Vocabulary of a System |
|
|
54 | (2) |
|
Modeling the Distribution of Responsibilities in a System |
|
|
56 | (1) |
|
Modeling Nonsoftware Things |
|
|
57 | (1) |
|
|
58 | (1) |
|
|
59 | (2) |
|
|
61 | (14) |
|
|
62 | (1) |
|
|
63 | (6) |
|
Common Modeling Techniques |
|
|
69 | (3) |
|
Modeling Simple Dependencies |
|
|
69 | (1) |
|
Modeling Single Inheritance |
|
|
70 | (2) |
|
Modeling Structural Relationships |
|
|
72 | (2) |
|
|
74 | (1) |
|
Chapter 6: Common Mechanisms |
|
|
75 | (16) |
|
|
76 | (1) |
|
|
77 | (6) |
|
Common Modeling Techniques |
|
|
83 | (6) |
|
Modeling New Building Blocks |
|
|
83 | (2) |
|
|
85 | (1) |
|
|
86 | (2) |
|
|
88 | (1) |
|
|
89 | (2) |
|
|
91 | (14) |
|
|
92 | (1) |
|
|
93 | (5) |
|
Common Modeling Techniques |
|
|
98 | (5) |
|
Modeling Different Views of a System |
|
|
98 | (2) |
|
Modeling Different Levels of Abstraction |
|
|
100 | (3) |
|
|
103 | (1) |
|
|
103 | (2) |
|
Chapter 8: Class Diagrams |
|
|
105 | (12) |
|
|
105 | (2) |
|
|
107 | (1) |
|
Common Modeling Techniques |
|
|
108 | (7) |
|
Modeling Simple Collaborations |
|
|
108 | (2) |
|
Modeling a Logical Database Schema |
|
|
110 | (2) |
|
Foreword and Reverse Engineering |
|
|
112 | (3) |
|
|
115 | (2) |
Section 3: Advanced Structural Modeling |
|
117 | (86) |
|
Chapter 9: Advanced Classes |
|
|
119 | (16) |
|
|
119 | (1) |
|
|
120 | (12) |
|
Common Modeling Techniques |
|
|
132 | (1) |
|
Modeling the Semantics of a Class |
|
|
132 | (1) |
|
|
133 | (2) |
|
Chapter 10: Advanced Relationships |
|
|
135 | (20) |
|
|
136 | (1) |
|
|
137 | (14) |
|
Common Modeling Techniques |
|
|
151 | (1) |
|
Modeling Webs of Relationships |
|
|
151 | (1) |
|
|
152 | (3) |
|
Chapter 11: Interfaces, Types, and Roles |
|
|
155 | (14) |
|
|
155 | (2) |
|
|
157 | (6) |
|
Common Modeling Techniques |
|
|
163 | (3) |
|
Modeling the Seams in a System |
|
|
163 | (2) |
|
Modeling Static and Dynamic Types |
|
|
165 | (1) |
|
|
166 | (3) |
|
|
169 | (14) |
|
|
170 | (1) |
|
|
171 | (6) |
|
Common Modeling Techniques |
|
|
177 | (4) |
|
Modeling Groups of Elements |
|
|
177 | (2) |
|
Modeling Architectural Views |
|
|
179 | (2) |
|
|
181 | (2) |
|
|
183 | (12) |
|
|
183 | (2) |
|
|
185 | (5) |
|
Common Modeling Techniques |
|
|
190 | (3) |
|
Modeling Concrete Instances |
|
|
190 | (2) |
|
Modeling Prototypical Instances |
|
|
192 | (1) |
|
|
193 | (2) |
|
Chapter 14: Object Diagrams |
|
|
195 | (8) |
|
|
195 | (2) |
|
|
197 | (1) |
|
Common Modeling Techniques |
|
|
198 | (3) |
|
Modeling Object Structures |
|
|
198 | (2) |
|
Forward and Reverse Engineering |
|
|
200 | (1) |
|
|
201 | (2) |
Section 4: Basic Behavioral Modeling |
|
203 | (72) |
|
|
205 | (14) |
|
|
206 | (1) |
|
|
207 | (9) |
|
Common Modeling Techniques |
|
|
216 | (1) |
|
Modeling a Flow of Control |
|
|
216 | (1) |
|
|
217 | (2) |
|
|
219 | (14) |
|
|
219 | (3) |
|
|
222 | (7) |
|
Common Modeling Techniques |
|
|
229 | (2) |
|
Modeling the Behavior of an Element |
|
|
229 | (2) |
|
|
231 | (2) |
|
Chapter 17: Use Case Diagrams |
|
|
233 | (10) |
|
|
233 | (1) |
|
|
234 | (2) |
|
Common Modeling Techniques |
|
|
236 | (5) |
|
Modeling the Context of a System |
|
|
236 | (1) |
|
Modeling the Requirements of a Systems |
|
|
237 | (2) |
|
Forward and Reverse Engineering |
|
|
239 | (2) |
|
|
241 | (2) |
|
Chapter 18: Interaction Diagrams |
|
|
243 | (14) |
|
|
244 | (1) |
|
|
245 | (6) |
|
Common Modeling Techniques |
|
|
251 | (5) |
|
Modeling Flows of Control by Time Ordering |
|
|
251 | (2) |
|
Modeling Flows of Control by Organization |
|
|
253 | (2) |
|
Forward and Reverse Engineering |
|
|
255 | (1) |
|
|
256 | (1) |
|
Chapter 19: Activity Diagrams |
|
|
257 | (18) |
|
|
258 | (1) |
|
|
259 | (9) |
|
Common Modeling Techniques |
|
|
268 | (5) |
|
|
268 | (2) |
|
|
270 | (2) |
|
Forward and Reverse Engineering |
|
|
272 | (1) |
|
|
273 | (2) |
Section 5: Advanced Behavioral Modeling |
|
275 | (66) |
|
Chapter 20: Events and Signals |
|
|
277 | (10) |
|
|
277 | (1) |
|
|
278 | (5) |
|
Common Modeling Techniques |
|
|
283 | (3) |
|
Modeling a Family of Signals |
|
|
283 | (1) |
|
|
284 | (2) |
|
|
286 | (1) |
|
Chapter 21: State Machines |
|
|
287 | (22) |
|
|
288 | (2) |
|
|
290 | (14) |
|
Common Modeling Techniqes |
|
|
304 | (1) |
|
Modeling the Lifetime of an Object |
|
|
304 | (2) |
|
|
306 | (3) |
|
Chapter 22: Processes and Threads |
|
|
309 | (12) |
|
|
310 | (1) |
|
|
311 | (6) |
|
Common Modeling Techniques |
|
|
317 | (3) |
|
Modeling Multiple Flows of Control |
|
|
317 | (2) |
|
Modeling Interprocess Communication |
|
|
319 | (1) |
|
|
320 | (1) |
|
Chapter 23: Time and Space |
|
|
321 | (10) |
|
|
321 | (1) |
|
|
322 | (4) |
|
Common Modeling Techniques |
|
|
326 | (4) |
|
Modeling Timing Constraints |
|
|
326 | (1) |
|
Modeling the Distribution of Objects |
|
|
327 | (1) |
|
Modeling Objects that Migrate |
|
|
328 | (2) |
|
|
330 | (1) |
|
Chapter 24: Statechart Diagrams |
|
|
331 | (10) |
|
|
332 | (1) |
|
|
333 | (2) |
|
Common Modeling Techniques |
|
|
335 | (4) |
|
Modeling Reactive Objects |
|
|
335 | (3) |
|
Forward and Reverse Engineering |
|
|
338 | (1) |
|
|
339 | (2) |
Section 6: Architectural Modeling |
|
341 | (88) |
|
|
343 | (16) |
|
|
343 | (2) |
|
|
345 | (6) |
|
Common Modeling Techniques |
|
|
351 | (6) |
|
Modeling Executables and Libraries |
|
|
351 | (2) |
|
Modeling Tables, Files, and Documents |
|
|
353 | (1) |
|
|
354 | (1) |
|
|
355 | (2) |
|
|
357 | (2) |
|
|
359 | (10) |
|
|
359 | (1) |
|
|
360 | (4) |
|
Common Modeling Techniques |
|
|
364 | (3) |
|
Modeling Processors and Devices |
|
|
364 | (1) |
|
Modeling the Distribution of Components |
|
|
365 | (2) |
|
|
367 | (2) |
|
Chapter 27: Collaborations |
|
|
369 | (12) |
|
|
369 | (2) |
|
|
371 | (5) |
|
Common Modeling Techniques |
|
|
376 | (4) |
|
Modeling the Realization of a Use Case |
|
|
376 | (2) |
|
Modeling the Realization of an Operation |
|
|
378 | (1) |
|
|
379 | (1) |
|
|
380 | (1) |
|
Chapter 28: Patterns and Frameworks |
|
|
381 | (12) |
|
|
381 | (2) |
|
|
383 | (4) |
|
Common Modeling Techniques |
|
|
387 | (4) |
|
|
387 | (2) |
|
Modeling Architectural Patterns |
|
|
389 | (2) |
|
|
391 | (2) |
|
Chapter 29: Component Diagrams |
|
|
393 | (14) |
|
|
393 | (1) |
|
|
394 | (2) |
|
Common Modeling Techniques |
|
|
396 | (9) |
|
|
396 | (2) |
|
Modeling an Executable Release |
|
|
398 | (2) |
|
Modeling a Physical Database |
|
|
400 | (2) |
|
Modeling a Adaptable Systems |
|
|
402 | (1) |
|
Foreword and Reverse Engineering |
|
|
403 | (2) |
|
|
405 | (2) |
|
Chapter 30: Deployment Diagrams |
|
|
407 | (12) |
|
|
407 | (2) |
|
|
409 | (2) |
|
Common Modeling Techniques |
|
|
411 | (6) |
|
Modeling an Embedded System |
|
|
411 | (1) |
|
Modeling a Client/Server System |
|
|
412 | (2) |
|
Modeling a Fully Distributed System |
|
|
414 | (2) |
|
Foreword and Reverse Engineering |
|
|
416 | (1) |
|
|
417 | (2) |
|
Chapter 31: Systems and Models |
|
|
419 | (10) |
|
|
419 | (2) |
|
|
421 | (3) |
|
Common Modeling Techniques |
|
|
424 | (2) |
|
Modeling the Architecture of a System |
|
|
424 | (2) |
|
Modeling Systems of Systems |
|
|
426 | (1) |
|
|
426 | (3) |
Section 7: Wrapping Up |
|
429 | (6) |
|
Chapter 32: Applying the UML |
|
|
431 | (4) |
|
|
431 | (2) |
|
|
433 | (2) |
Appendix A: UML Notation |
|
435 | (6) |
Appendix B: UML Standard Elements |
|
441 | (8) |
Appendix C: Rational Unified Process |
|
449 | (8) |
Glossary |
|
457 | (12) |
Index |
|
469 | |