Skip to content

Contact sales

By filling out this form and clicking submit, you acknowledge our privacy policy.

Introduction to OOAD

Course Summary

The Introduction to OOAD training course is designed to build on foundations of OOAD programming through interactive learning.

The course begins by exploring advanced Object-Oriented (OO) concepts, like multiple inheritance, polymorphism, inner classes, etc. by building on the core OO concepts. Next, it analyzes concept theory into object oriented design practices. The course concludes by examining design strategies such as noun-verb decomposition, user stories, use cases, Class-Responsibility-Collaboration (CRC) Cards, and more.

Purpose
Learn about the different Object-Oriented Analysis and Design (OOAD) strategies to architect and build object oriented systems.
Audience
Programmers who understand the fundamentals of OO programming needing learn OO design.
Role
Software Developer
Skill Level
Introduction
Style
Hack-a-thon - Learning Spikes - Workshops
Duration
3 Days
Related Technologies
C# | C++ | Java | Ruby on Rails | PHP | Design Patterns | OOAD

 

Productivity Objectives
  • Define OOAD
  • Describe key OO concepts: class, object, instantiation
  • Explain the different approaches to performing OOAD
  • Validate an Object design against business requirements and system constraints
  • Model an object design using Unified Modeling Language (UML)
  • Implement the object design in Java, C++, C#, PHP, or Ruby

What You'll Learn:

In the Introduction to OOAD training course, you'll learn:
  • Introduction to Object Oriented Analysis and Design
    • What is OOAD?
    • Why is it important?
    • Design software with an OOAD approach
    • Introduction to UML
  • Review of Core Object Oriented Concepts
    • States/Behaviors, Properties/Methods
    • Object Decomposition
    • Implement OO Concepts with Java
    • Java OO Syntax Lab
  • Designing for Reusability Through Modularity
    • Create loosely coupled systems
    • Create cohesive systems
    • Design a reusable system
  • Designing for Reusability in Objects
    • Inheritance, abstraction, and composition
    • Encapsulation, polymorphism, and aggregation
    • Translate system design into Object design
    • Implement OO Reusability in Java
    • Java & OO Syntax lab
  • OOAD Design Approaches
    • Traditional v. Agile
    • Use Case, User Stories, and CRC cards
    • Validate, implement, package, and test an OO design
    • Tools to help manage the process, from UML to Enterprise Architect
  • Simplifying the Design Process using Design Patterns
    • What are patterns?
    • Overview of creational patterns, behavioral patterns, and structural patterns
“I appreciated the instructor's technique of writing live code examples rather than using fixed slide decks to present the material.”

VMware

Dive in and learn more

When transforming your workforce, it's important to have expert advice and tailored solutions. We can help. Tell us your unique needs and we'll explore ways to address them.

Let's chat

By filling out this form and clicking submit, you acknowledge our privacy policy.