Object-Oriented Design
Learning Objectives
- Define the SOLID principles of object-oriented design
- Label violations of the SOLID principles
- Develop an object-oriented design for a system
- Illustrate the operational context of a system using a context model
- Illustrate the top-level functions of a system using a use case diagram
- Recommend an appropriate software architecture for a software system
- Model an object-oriented design using a class diagram
- Model interactions among objects using a sequence diagram
- Model event-driven behavior using a state machine diagram
How to Complete this Lesson
Complete the following learning activities: (3.5–4 hours total)
- Read the following in Software Engineering:
- Chapter 7: Design and implementation
(45–60 minutes)
- Object-oriented design using the UML
- Chapter 7: Design and implementation
(45–60 minutes)
- Watch S.O.L.I.D. Principles of Object-Oriented Design (10 minutes)
- Watch Uncle Bob SOLID principles (84 minutes)
- Watch Open Closed Principle (6 minutes)
- Watch Interface Segregation Principle (5 minutes)
- Watch Dependency Inversion Principle (7 minutes)
- Watch Principle of Least Knowledge (8 minutes)
- Complete the handout (15–30 minutes)
- Participate in the synchronous session during the class meeting time (optional)
- Complete the quiz (5–8 minutes)
- Meet with your team to discuss the specification for the project sprint, specifically the high-level overview of what your team intends to accomplish for the sprint (30 minutes)
Due
As a reminder, the following is due this lesson: