YoVDO

Programming Foundations: Object-Oriented Design

Offered By: LinkedIn Learning

Tags

Software Development Courses Polymorphism Courses Inheritance Courses Object-Oriented Design Courses Use Cases Courses User Stories Courses Domain Modeling Courses

Course Description

Overview

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
1. Object-Oriented Fundamentals
  • Object-oriented thinking
  • Objects
  • Classes
  • Abstraction
  • Encapsulation
  • Inheritance
  • Polymorphism
  • Analysis, design, and programming
  • Unified modeling language (UML)
2. Requirements
  • Defining requirements
  • FURPS+ requirements
  • Challenge: Jukebox requirements
  • Solution: Jukebox requirements
3. Use Cases and User Stories
  • Use cases
  • Identifying the actors
  • Identifying the scenarios
  • Diagramming use cases
  • User stories
  • Challenge: Jukebox use cases
  • Solution: Jukebox use cases
4. Domain Modeling
  • Identifying the objects
  • Identifying class relationships
  • Identifying class responsibilities
  • CRC cards
  • Challenge: Jukebox conceptual model
  • Solution: Jukebox conceptual model
5. Class Diagrams
  • 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
6. Inheritance and Composition
  • Identifying inheritance situations
  • Using inheritance
  • Abstract and concrete classes
  • Interfaces
  • Aggregation
  • Composition
  • Challenge: Jukebox class relationships
  • Solution: Jukebox class relationships
7. Software Development
  • OOP support in different languages
  • General development principles
  • Software testing
  • Design patterns
Conclusion
  • Next steps

Taught by

Olivia Chiu Stone and Barron Stone

Related Courses

Software Product Management Capstone
University of Alberta via Coursera
Getting Started with Agile and Design Thinking
University of Virginia via FutureLearn
Agile Software Development
University of Minnesota via Coursera
Agile Projects: Creating User Stories with Value in Taiga
Coursera Project Network via Coursera
Agile Projects: Developing Tasks with Taiga
Coursera Project Network via Coursera