[first slide]
Introduction to Object Oriented Programming
Chapter 2
Responsibilty Driven Design
Outline
- Why Start with design ?
- Programming in the Small and Programming in the Large
- Basis for Design
- Responsibility Driven Design
- Directed Evolution
- An Example, the IIKH
- Your Job
- Abilities of the IIKH
- Characterization by Behavior
- Working Through Scenarios
- Software Components
- CRC Cards
- The first component, The Greeter
- The Recipe Database Component
- The who/what cycle
- Postponing Decisions
- Responsibilities of a Recipe
- The Planner Component
- The Date Component
- The Meal Component
- The Six Components
- Interaction Diagrams
- Characteristics of Components
- Behavior and State
- Instances and Classes
- Coupling and Cohesion
- Interface and Implementation
- Two views of a Software System
- Parnas' Principles
- Public and Private View
- Next Step - Formalize the Interface
- A Rose by any other Name
- Documentation
- User Manual
- Quality
- System Design Documentation
- Preparing for Change
- Next Step - Select Representations for Subsystems
- Step - Implement and Test Subsystems
- Step - Integration and Testing
- Maintainence and Evolution
- Common Design Flaws
Other Material
Intro OOP, Chapter 2, Slide 1