Craig Larman again delivers a clear path for students to learn object-oriented analysis and design through his
clear and precise writing style. Larman teaches newcomers to OOA/D learn how to "think in objects" by presenting
three iterations of a single, cohesive case study, incrementally introducing the requirements and OOA/D activities,
principles, and patterns that are most critical to success.
Features
Introduces the most frequently used UML diagramming notation, while emphasizing that OOA/D is much more than
knowing UML notation. Now compliant with UML 2.0.
All case study iterations and skills are presented in the context of an "agile" version of the Unified Process
-- a popular, modern iterative approach to software development.
The author maintains a website, www.craiglarman.com, which provides complete instructor resources as well as
additional information for the reader.
New To This Edition
New features include: MDA, service-oriented architectures and agile modeling.
More coverage on database, user interface modeling, XP, Scrum and the Implementation Model in the Unified Process.
Table of Contents
I. INTRODUCTION.
1. Object-Oriented Analysis and Design.
2. Iterative and Agile.
3. Case Studies.
II. INCEPTION.
4. Inception is not the Requirements or Believable Planning Phase.
5. Evolutionary Requirements.
6. Use Cases.
7. Other Requirements.
III. ELABORATION ITERATION 1.
8. Iteration 1.
9. Domain Models.
10. System Sequence Diagrams.
11. Operation Contracts.
12. Requirements to Design -- Iteratively.
13. Interaction Diagrams.
14. GRASP: Designing Objects with Responsibilities.
15. Object Design Example with GRASP.
16. Designing for Visibility.
17. Design Class Diagrams.
18. Mapping Designs to Code.
19. Good Practices: Test-Driven Development & Refactoring.
IV. ELABORATION ITERATION 2.
20. Iteration 2.
21. GRASP: More Objects with Responsibilities.
22. Designing Objects with GoF Design Patterns.
V. ELABORATION ITERATION 3.
23. Iteration 3.
24. Relating Use Cases.
25. Domain Model Refinement.
26. Applying UML to UI and Database Modeling.
27. Adding New SSDs and Contracts.
28. Modeling Behavior in Statechart Diagrams.
29. Designing the Logical Architecture with Patterns.
30. Organizing the Design and Implementation Model Packages.
31. Introduction to Architectural Analysis and the SAD.
32. Designing More Use-Case Realizations with Objects and Patterns.
33. Designing a Persistence Framework with Patterns.
VI. SPECIAL TOPICS.
34. On Drawing and Tools.
35. Introduction to Iterative Planning and Project Issues.
36. Comments on Iterative Development and the UP.
37. More UML Notation.
38. Applying Activity Diagrams to Process Modeling.