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

Pattern-Oriented Software Architectures: Programming Mobile Services for Android Handheld Systems
Vanderbilt University via Coursera
Programming Cloud Services for Android Handheld Systems
Vanderbilt University via Coursera
Initiation à la conception orientée objet
University of Sousse via France Université Numerique
AP Computer Science A: Java Programming
Purdue University via edX
AP Computer Science A: Java Programming Classes and Objects
Purdue University via edX