How do we design an object oriented system? What are the actors (objects)? What are their actions (methods)? How do they interact (relationships)? What different kind of relationships are there? These are the questions we ask ourselves when designing a system.
In this lecture, we explore OO design principles, as well as UML Diagrams. When designing objects, we focus on state (such as attributes), behaviors (such as methods), and associations between classes, such as inheritance, composition, aggregation, and dependency. UML Diagrams help us communicate these design choices.
- A note that if you see slides on Functional decomposition, we will not be covering that this term. We have turned on “skip slides” for those.