INTRODUCTION
What are objects and object-orientation?
How do we do object-oriented work?
REQUIREMENTS: HOW ARE REQUIREMENTS DOCUMENTED?
Review of key requirements documents:
Stakeholder interviews
Vision document
Use Case Model
Supplemental Specification document
ANALYSIS: HOW DO WE ANALYZE THE REQUIREMENTS?
Steps in the analysis process
Introduction to Class Models, Sequence Diagrams, and State Models
ANALYSIS: HOW DO WE IDENTIFY CLASSES?
Discussion of what things can be objects
Techniques for finding objects
ANALYSIS: HOW DO WE DEVELOP CLASS DIAGRAMS?
Syntax and semantics: classes, attributes, operations, and associations
Process
ANALYSIS: HOW DO WE DEVELOP SEQUENCE DIAGRAMS?
Syntax and semantics: objects, messages, focus of control, constraints
Process
ARCHITECTURE: HOW DO WE ARCHITECT A SYSTEM?
4+1 view of architecture
Logical View: significant business classes, system partitioning,
patterns, etc.
Process View: processes and threads
Implementation View: mapping of logical entities into physical files
Deployment View: hardware layout, connectivity, and communications
ARCHITECTURE: HOW DO WE DEFINE SYSTEM PARTITIONING?
Define layering and explore common layering schemes
Define subsystems and discuss reference architectures
DESIGN: HOW DO WE DESIGN A SOLUTION?
Steps in the design process
DESIGN: HOW DO WE SELECT AND APPLY PATTERNS?
Define patterns
Explore representative patterns: Composite, Observer, State,
Model-View-Controller