Object-Oriented Overview For Managers Course

Course Outline

Introduction

 

What is Object-Oriented Design?

What is an object?
Encapsulation
Structured v.s. Object-Oriented Design
Benefits of Object-Oriented Design
Managing Dependencies
Interfaces and Polymorphism
Design Principles
Popular Object-Oriented Design Methods
UML

 

The Motivation for Object-Oriented Design

Typical project demands
Complexity and Failure
Productivity Impact
Coupling and Change
Barriers to Components
Managing Dependencies
Recapturing Productivity
Industry Hype
Reuse

 

Costs of Object-Oriented Design

Object-Oriented Design is hard
Learning Curve
Initial Project Impact
Source Code Impact
Tools
Alternatives

 

How to Get Started

Skill development
Initial Projects
Accelerating the Learning
Curve
Tools

 

Improving Existing Use of Object-Oriented Design

Why projects fail?
What to do with unsuccessful projects
Do I need an architect?

 

Agile Methods and Processes

Waterfall vs. Iterative Design
Data-driven management
Extreme Programming
Agile Software Development
Test Driven Development
Addressing the motivations

 

Summary