Price 4,228 ILS


Course Overview

The course presents object oriented (OO) analysis and design. The OO analysis and design stages are looked at separately and the differences explained. Participants are taught to look at objects with care, while design considerations and principles in choosing classes are explained. Design principles are presented in detail.
Since the participants are assumed to have basic OO knowledge, object oriented concepts are only briefly explained – to “fill in the holes”.  UML class diagrams are introduced, as are CRC cards, including holding a CRC workshop session.  Interactive examples are used to encourage the development of OO analysis and design skills.

Who should attend?

Analysts, designers and programmers who need to use object oriented analysis and design techniques.


Some knowledge of Object Oriented programming and/or design is required.

Course Outline:

1. Introduction

  • Object Oriented as a software method
  • In relationship to other development methods
  • Why it’s so popular

2. Let’s analyze and design

  • The difference
  • Exercise
  • Presenting the solution

3. Filling in the holes

  • A closer look at objects
  • From objects to classes
  • Abstraction
  • What is a class
  • Modeling
  • UML diagrams
  • Fundamental terms and ideas
  • Relationships
  • Constructors and destructors

4. OO Analysis

  • The problem domain
  • 4+1 development view
  • Major Principles

5. Everything’s an Object?!

  • A closer look
  • Connection object
  • Inheritance to define objects?
  • DB tables and objects

6. CRC Cards

  • CRC definition
  • CRC method
  • CRC workshop session


7. OO Design

  • Identifying classes
  • Class design principles
  • Using nouns and verbs
  • Consistency and concept
  • Considerations in choosing classes

8. Major Design Principles

  • Principle of selfishness
  • Consistency
  • Cohesion
  • Responsibility
  • Open-closed
  • Liskov substitution
  • Interface segregation
  • Granularity and packaging

9. Gang of Four Design Patterns

  • Overview
  • Creational Patterns
  • Structural Patterns
  • Behavioral Patterns

10. GRASP Design Patterns/Principles

  • Information expert
  • Creator
  • High cohesion
  • Low coupling
  • Controller
  • Polymorphism
  • Pure fabrication
  • Indirection
  • Don’t talk to strangers

11. Let’s design again

  • Redesign the first exercise
  • Discussion

12. Summary