Applying UML and Patterns: Object-Oriented Analysis and Design (OOA/OOD)
Applying UML and Patterns: Object-Oriented Analysis and Design (OOA/OOD)
Applying UML and Patterns: Object-Oriented Analysis and Design (OOA/OOD)
Patterns
Tried and true solutions to design problems Expressed as best practice principles
Design
Emphasizes a conceptual solution that fulfills the requirements, rather than its implementation
Object-Oriented?
Object-Oriented Analysis
Emphasis is on finding and describing the objects (or concepts) in the problem domain
Object-Oriented Design
Emphasis is on defining software objects and how they collaborate to fulfill the requirements
Key Step 1
Define Use Cases
Requirements Analysis may include stories or scenarios of how people use the system
Can be written as Use Cases
Key Step 2
Define a Domain Model
Object-Oriented Analysis is concerned with a description of the domain
Not a description of software objects A visualization of concepts in the real world domain Involves an identification of the concepts, attributes, and associations that are noteworthy
Key Step 3
Define Interaction Diagrams
Object-Oriented Design is concerned with defining software objects - their responsibilities and collaborations
Show a Dynamic View of collaborating software objects Show the flow of messages between software objects Show the invocation of methods
Key Step 4
Define Design Class Diagrams
Object-Oriented Design is concerned with defining software objects - their responsibilities and collaborations
In addition to a Dynamic View shown in Interaction Diagrams Show a Static View of the class definitions Illustrate attributes and methods of software classes (not real world concepts)
Specification
Diagrams describe software abstractions with no commitment to a particular implementation
Implementation
Diagrams describe software implementation in a particular technology