Foreword.
Preface.
I. INTRODUCTION.
1. Object-Oriented Analysis and Design.
2. Iterative, Evolutionary, and Agile.
II. INCEPTION.
4. Inception is Not the Requirements Phase.
5. Evolutionary Requirements.
6. Use Cases.
7. Other Requirements.
III. ELABORATION ITERATION 1-BASICS.
8. Iteration 1-Basics.
9. Domain Models.
10. System Sequence Diagrams.
11. Operation Contracts.
12. Requirements to Design-Iteratively.
13. Logical Architecture and UML Package Diagrams.
14. On to Object Design.
15. UML Interaction Diagrams.
16. UML Class Diagrams.
17. GRASP: Designing Objects with Responsibilities.
18. Object Design Examples with GRASP.
19. Designing for Visibility.
20. Mapping Designs to Code.
21. Test-Driven Development and Refactoring.
IV. ELABORATION ITERATION 2-MORE PATTERNS.
22. UML Tools and UML as Blueprint.
23. Quick Analysis Update.
24. Iteration 2-More Patterns.
25. GRASP: More Objects with Responsibilities.
26. Applying GoF Design Patterns.
V. ELABORATION ITERATION 3-INTERMEDIATE TOPICS.
27. Iteration 3-Intermediate Topics.
28. UML Activity Diagrams and Modeling.
29. UML State Machine Diagrams and Modeling.
30. Relating Use Cases.
32. Domain Model Refinement.
33. Architectural Analysis.
34. Logical Architecture Refinement.
35. More Object Design with GoF Patterns.
36. Package Design.
37. UML Deployment and Component Diagrams.
38. Designing a Persistence Framework with Patterns.
39. Documenting Architecture: UML & the N+1 View Model.
VI. SPECIAL TOPICS
40. More on Iterative Development and Agile Project Management.
Recommended Resources.
Bibliography.
Glossary.
Index.