Chapter 1: Object-Oriented Analysis and Design
- What is OOAD?
- Approaches to System Analysis
- Object-Oriented Methodologies
- History of UML
- What is UML?
- Models and Architectural Views
- Common Features of UML Diagrams
- Characteristics of a UML Process
Chapter 2: Object-Oriented Concepts
- What is Object-Oriented?
- What is an Object?
- Encapsulation
- Class vs. Object
- Inheritance
- Multiple Inheritance
- Polymorphism
- Object Orientation vs. Procedure Orientation
Chapter 3: Using a UML Tool
- Introduction
- Selecting a UML Tool
Chapter 4: Identifying Use Cases
- General Steps in a UML-Based Process
- Use Cases
- Actors
- Use Case Diagrams
- Use Case Description
- Use Case Template
- Use Case Relationships
- Use Case Diagram for Elevator System
- Business Modeling
Chapter 5: Discovering Classes
- Class Diagrams
- Class Diagram Details
- Class Stereotypes
- Discovering Classes
- Candidate Classes
Chapter 6: Associations
- Associations
- Association Roles
- Multiplicity
- Aggregation
- Inheritance
- Classes for Elevator System
- Class Diagram for Elevator System
- Association Classes
- Building the Static Model
Chapter 7: Design Patterns
- What is a Design Pattern?
- Reasons to Study Design Patterns
- History of Design Patterns
- Cataloging Design Patterns
- Design Pattern "Themes"
- The Singleton Pattern
- The Composite Pattern
- The Iterator Pattern
- The Strategy Pattern
Chapter 8: Interaction Diagrams
- Building the Dynamic Model
- Interaction Diagrams
- Sequence Diagrams
- Messages
- Lifelines
- Activations
- Sequence Diagram - Example
- Sequence Diagram for Elevator System
- Collaboration Diagrams
- Message Labels
- Collaboration Diagram - Example
- Collaboration Diagram for Elevator System
Chapter 9: State Diagrams
- States and Events
- State Diagrams
- Guard Conditions
- State Diagram Details
- Substates
- Concurrent Substates
- Disjoint Substates - Nesting
- Disjoint Substates - Layering
- The History Pseudostate
- State Diagrams for Elevator System
- Digital Clock / Timer
Chapter 10: Activity Diagrams
- Refining the Models
- Activity Diagrams
- Activity Diagram Details
- Activity Diagram - Example
- Activity Diagram with Swimlanes
- Describing a Business Process
Chapter 11: Behavioral Patterns
- The Observer Pattern
- Observer Pattern - Collaboration Diagram
- Observer Pattern - Sequence Diagram
- The Memento Pattern
- Memento Pattern - Sequence Diagram
Chapter 12: Implementation Diagrams
- Moving Towards Implementation
- Logical vs. Physical Architecture
- Hardware and Software Concepts
- Component Diagrams
- Deployment Diagrams
- Allocating Components to Nodes
Chapter 13: Object-Oriented Software Life Cycle
- The Object-Oriented Life Cycle
- The Iterative Process
- Estimating Object-Oriented Projects
- Object-Oriented Design Metrics
- Refactoring
- Steps Toward Reuse
Chapter 14: UML 2.0
- What's New in UML 2.0
- Package Diagram
- Composite Structure Diagram
- Interaction Overview Diagram
- Use Case Multiplicities
- Exception Handling Notation
- Object Constraint Language
Appendix A: Analysis and Design Problems
- Online Survey Application
- Diagram Editor
- Budget Manager
- Intelligent Parcel Scale
- Weather Monitoring Station
- Recycling Machine
- Subway System
- Additional Problems
Appendix B: Reference
- Abbreviations and Acronyms
- Internet Resources
Appendix C: Class Diagrams - Advanced Features
- Qualified Associations
- N-ary Associations
- Constraints
- Derived Elements
- Parameterized Classes
Appendix D: AntiPatterns
- What is an AntiPattern?
- Reasons to Study AntiPatterns
- Functional Decomposition
- The Blob
- Poltergeists
Appendix E: EclipseUML
- EclipseUML
- EclipseUML Screen Layout
- EclipseUML Menu Bar
- The Eclipse Workspace
- Getting Started
- Use Case Diagrams
- Class Diagrams
- Sequence Diagrams
- Collaboration Diagrams
- State Diagrams
- Activity Diagrams
- Deployment Diagrams
Appendix F: ArgoUML
- ArgoUML
- ArgoUML Screen Layout
- ArgoUML Menu Bar
- File Formats Used by ArgoUML
- Getting Started
- Use Case Diagrams
- Class Diagrams
- Sequence Diagrams
- Collaboration Diagrams
- State Diagrams
- Activity Diagrams
- Deployment Diagrams