Google Data Analytics, IBM AI & Meta Marketing — All in One Subscription
Master Windows Internals - Kernel Programming, Debugging & Architecture
Overview
Google, IBM & Meta Certificates — All 10,000+ Courses at 40% Off
One annual plan covers every course and certificate on Coursera. 40% off for a limited time.
Get Full Access
Good software starts with great design. Get a fun and fresh introduction to object-oriented design and analysis—from defining requirements to diagramming classes.
Syllabus
Introduction
- Learn object-oriented design principles
- What you should know
- Object-oriented thinking
- Objects
- Classes
- Abstraction
- Encapsulation
- Inheritance
- Polymorphism
- Analysis, design, and programming
- Unified modeling language (UML)
- Defining requirements
- FURPS+ requirements
- Challenge: Jukebox requirements
- Solution: Jukebox requirements
- Use cases
- Identifying the actors
- Identifying the scenarios
- Diagramming use cases
- User stories
- Challenge: Jukebox use cases
- Solution: Jukebox use cases
- Identifying the objects
- Identifying class relationships
- Identifying class responsibilities
- CRC cards
- Challenge: Jukebox conceptual model
- Solution: Jukebox conceptual model
- Creating class diagrams: Attributes
- Creating class diagrams: Behaviors
- Converting class diagrams into code
- Instantiating classes
- Class with multiple constructors
- Static attributes and methods
- Challenge: Jukebox class diagrams
- Solution: Jukebox class diagrams
- Identifying inheritance situations
- Using inheritance
- Abstract and concrete classes
- Interfaces
- Aggregation
- Composition
- Challenge: Jukebox class relationships
- Solution: Jukebox class relationships
- OOP support in different languages
- General development principles
- Software testing
- Design patterns
- Next steps
Taught by
Olivia Chiu Stone and Barron Stone