Object-Oriented Software Development Overview

1 Day Course
Code PSD022

Book Now - 1 Delivery Method Available:

Classroom Virtual Classroom Private Group - Virtual Self-Paced Online


Object-orientation comes with its own set of concepts and terminology. The Object Essentials course aims to introduce these to software development professionals. The course is based around lectures, discussion and exercises.


On completion of the course delegates will be able to:

  • Explain the terminology of object-orientation
  • Understand the principles and practices on which object-oriented development is based
  • Appreciate the technologies used to build and deploy modern object-oriented systems.


Collapse all

Fundamentals (8 topics)

  • Objects
  • Encapsulation
  • Methods and messages
  • Classes
  • Object instantiation and lifetimes
  • Polymorphism
  • Inheritance
  • Overriding

Structuring Objects (7 topics)

  • Object references and relationships
  • Delegation
  • Design by contract
  • CRC cards
  • Command versus query methods
  • Collections
  • Representing values, entities and services as objects

Relating Classes (5 topics)

  • Inheritance and substitutability
  • Multiple inheritance
  • Abstract classes and methods
  • Dependency management
  • Pure interfaces

Programming (8 topics)

  • Object-oriented programming
  • Features
  • C++
  • Java
  • C#
  • Visual Basic
  • Scripting languages
  • Libraries and frameworks

Technologies (9 topics)

  • Persistence
  • Components
  • Distributed object computing
  • Multi-tier architectures
  • COM(+)
  • .NET
  • Object request brokers
  • J2EE

Development (12 topics)

  • Object-oriented analysis and design
  • UML
  • Use cases
  • Class diagrams
  • Interaction diagrams
  • CASE tools
  • Patterns
  • Prototyping
  • Testing
  • Refactoring
  • Iterative and incremental development
  • Agile development methods


No prior knowledge of object-orientation or object-oriented programming is assumed. However, knowledge of software development concepts is required, and knowledge of programming is advantageous. The course is suitable for anyone involved in software development who wishes to gain an understanding of object-orientation, including technical managers, experienced developers, graduate developers, etc.

Course PDF


Share this Course


Recommend this Course