Object-Oriented Design Lectures and Tutorials
Lectures
- Intro to the course, overview of the course outline
- Software Processes [pdf]
-
Unit Testing in Python (Chapter 13 only).
- Object-Oriented Software.
- State-space and Behaviour. (Page-Jones Chapter 10. p. 259 - 272).
- Classes vs. Types. Type Conformance and Closed Behaviour. (Page-Jones Chapter 11. p. 278 - 294).
- All other lectures. (Page-Jones Chapter 1. p. 3 - 49).
- UML: Classes, Attributes and Methods
(Page-Jones Chapter 3. p. 85 - 101).
- UML: Class Diagrams
(Page-Jones Chapter 4. p. 107 - 130).
- UML: Object-Interaction Diagrams: Collaboration Diagrams
(Page-Jones Chapter 5. p. 137 - 146).
- UML: Object-Interaction Diagrams: Sequence Diagrams
(Page-Jones Chapter 5. p. 146 - 160).
- Activity Diagrams/Petri Nets [pdf]
- Statecharts [pdf]
Page-Jones Chapter 6. p. 164 - 181 is optional reading.
- UML: Architecture Diagrams, Package Diagrams
(Page-Jones Chapter 7. p. 188 - 196).
- Criteria for good OO design: Domains, Encumbrance and Cohesion.
(Page-Jones Chapter 9. p. 233 - 253).
- Design Patterns: Command.
(GoF p. 233 - 238).
Lecture [pdf]
- Design Patterns: Observer.
(GoF p. 293 - 300).
- Design Patterns: Composite.
(GoF p. 163 - 169).
- Design Patterns: Visitor.
(GoF p. 331 - 336).
Lecture [pdf]
Not exam material, but very informative:
Chapter 2 "A Case Study: Designing a Document
Editor" of the GoF book.