 | History |
 | Basic concepts
 | Objects, classes and associations |
 | Large scale reuse |
 | Models |
 | Goals and deliverables of OOAD |
 | Problem domains v solution domains |
 | Four models: functional, object, dynamic, collaboration |
 | Classes and objects |
 | Encapsulation and information hiding |
 | Abstract v. concrete classes |
 | Five relationships |
 | Roles v. classes |
 | Early v. late binding |
 | Anthropomorphism |
 | Polymorphism |
|
 | Four phases of a software project |
 | Writing requirements specifications
 | Use cases and functional requirements |
 | Actors |
 | Glossary |
 | Specifying the system |
 | User-interface prototype |
 | Architecture description |
|
 | Work flows and workers
 | System analyst |
 | Use-case specifier |
 | User-interface designer |
 | Architect |
|
 | Specification v. analysis v. design |
 | Finding classes |
 | Relationships and UML notation |
 | Generic associations
 | Association objects v. qualifiers |
 | Ternary associations |
|
 | Workflow
 | Architectural analysis |
 | Use-case analysis |
 | Class analysis |
|
 | Analysis patterns |
 | Deliverables
|
 | Examples and exercises
|