Object Oriented Analysis and Design

Progress your software design capability

For practitioners who already understand programming fundamentals, this course helps close the gap between writing code and contributing to considered design work. You’ll develop a more disciplined approach to interpreting a design brief, selecting appropriate model types and explaining design choices to others. It is suited to professionals moving towards analyst, designer or architecture-adjacent responsibilities, where clearer thinking, stronger modelling habits and better technical communication can support career progression. 

Learning objectives
  • Interpret design briefs and constraints  
  • Define system scope through use cases  
  • Map workflows and lifecycle states  
  • Identify classes, attributes and operations  
  • Structure associations and inheritance  
  • Represent object-level collaboration  
  • Review model quality with stakeholders  
  • Organise packages and deployment views  
  • Apply UML 2 notation consistently  
  • Navigate modelling tools effectively 

Key facts

Certification

A certificate of completion is included 

Who it’s for

This course is suitable for developers, analysts and software professionals looking to strengthen object oriented design and UML modelling skills. 

Prerequisites

You should have experience with object-oriented programming concepts, including classes, attributes and operations. 

Exam information

This course does not include an exam. 

Optional extras

This course includes hands-on labs and access to learning materials for continued practice. 

Pre-course

No preparation work is required for this course. 

Course syllabus

Dive into the detail of the course by looking at the syllabus below. 

Day one
  • Session 1: Introduction to Object-Oriented Analysis and Design
    • Introduction
    • Software Architecture
    • Object-Orientation
    • Requirements
    • Conclusion
Day one
  • Session 2: Use Case Diagrams
    • Use Case Modelling
    • Finding Actors and Use Cases
    • Use Case Diagrams
    • Primary and Secondary Actors
Day one
  • Session 3: Use Case Descriptions
    • Developing Use Case Descriptions
    • Level of Detail
    • Pre-Conditiond and Post-Conditions
    • Main Flow
    • Branching within a Flow
    • Duplicate Steps
    • Future Requirements
Day one
  • Session 4: Activity Diagrams
    • Activity Diagrams for Use Case Flows
    • Activity Diagram Notation
    • Action States
    • Subactivity States
    • Transitions
    • Decisions
    • Parallel Processing
    • Loops
    • Scenarios
    • When to Use Activity Diagrams for Use Case Modelling
Day two
  • Session 5: Class and Object Analysis
    • Steps in Domain Modelling
    • Identifying Candidate Classes
    • Noun Extraction Approach
    • Common Categories Approach
    • Evaluate Candidate Classes
    • Elimination/Retention Review
    • CRC Cards
    • Identify Candidate Attributes and Operations
    • Creation of the Static Domain Model
Day two
  • Session 6: Class Models
    • Encapsulation
    • Messaging
    • UML object notation
    • Object attribute values
    • Classes
    • UML class notation
    • Name compartment
    • Attribute compartment
    • Visibility
    • Multipity
    • Operation compartment
Day two
  • Session 7: Modelling Relationships
    • Association
    • Types of Associations
    • Aggregation
    • Composition
    • Reflexive Association
    • Navigability
    • Associations and attributes
    • Association Classes
    • Guidelines for Identifying and Modeling Associations
Day two
  • Session 8: Generalisation and Inheritance
    • Generalisation
    • Class generalisation
    • Class inheritance
    • Overriding
    • Generalisation in OO Analysis and Design
    • Identifying GeneraliSations
    • Generalised Classes or Interfaces?
    • Mitigating Repeated Inheritance
    • Dependency
Day three
  • Session 9: Modelling Behaviour
    • Activity Diagrams
    • Defining the Behaviour
    • Identifying Steps
    • Pre and Post Conditions
    • Special Action Types
    • Identifying Control and Data Flows
    • Data Flows
    • Identifying Expansion Regions
    • Grouping Actions into Partitions
    • Identifying Exceptions and Exception Regions
Day three
  • Session 10: State Machine Diagrams
    • State machines and classes
    • Basic state Machine syntax
    • States
    • State syntax
    • Transitions
    • Events
    • Call events
    • Signal events
    • Change events
    • Time events
    • Super States
Day three
  • Session 11: Realisation and Design
    • Sequence Diagrams
    • Detailing Class Operations from Sequence Diagrams
    • Creating Sequence Diagrams
    • Iteration
    • Branching and self-delegation
    • Concurrency - Active Objects
    • Object State and Constraints
Day three
  • Session 12: Implementation and Deployment
    • Solution Modelling
    • Solution Architecture
    • Infrastructure Architecture 5
    • Modelling the Presentation and Data Layers
    • Design Modelling
    • OO Design Principles
    • Modelling Object Behaviour
    • Effective Package Design

FAQs

This three-day live virtual classroom course helps software professionals strengthen OOAD modelling skills using UML. You’ll explore requirements, object relationships, system behaviour and deployment considerations, building practical techniques that support clearer design reviews, stronger technical communication and better-informed development decisions. 

Is this course only for developers?

No. The course is suitable for software professionals who need to understand, shape or review object oriented designs. Developers can use it to improve design thinking before build, while analysts can use it to translate requirements into clearer technical models. Testers may also benefit by gaining a stronger view of system structure, behaviour and dependencies, helping them review designs, question assumptions and plan more effective test coverage. 

Do I need programming experience before attending?

Yes. You should already understand object oriented programming concepts, including classes, attributes and operations. The course is not designed as an introduction to coding. It builds on existing programming knowledge and focuses on how OO concepts can be applied during analysis and design, particularly when using UML to represent requirements, relationships and behaviour. 

How will UML be used during the course?

UML is used as the modelling language for expressing different aspects of an OO design. You’ll work with diagram types such as use cases, activity diagrams, class models, state machine diagrams, sequence diagrams and deployment views. The emphasis is on when to use each model and how it can support clearer discussion, review and design decision-making. 

What practical value can this course give my team?

The course can help teams create a clearer shared view of what a system needs to do and how it may be structured before development progresses. Better models can make assumptions, gaps, dependencies and design risks easier to discuss. This can support stronger collaboration between analysts, developers, designers and stakeholders. 

Does this course include an exam or formal qualification?

No formal qualification or exam is listed for this course. It is a skills and knowledge-based course focused on practical application. A certificate of completion is included, giving delegates evidence that they have completed the training and covered the course content. 

How is this different from learning UML notation on its own?

UML notation is only part of the course. The value comes from applying UML within object oriented analysis and design, so models are connected to requirements, responsibilities, behaviour and implementation planning. This helps delegates move beyond drawing diagrams and use modelling as a practical way to improve design conversations and technical decision-making. 

Why study with TSG?
25+ years' experience

Trusted by individuals, businesses and public sector organisations for over 25 years.

20,000+ learners trained

Join a network of learners focused on developing their software testing skills 

98% customer satisfaction

TSG trainers are frequently rated as ‘good’ or ‘excellent’ by our learners

We're here to help
Speak to our learning experts

Not sure which course or study option is right for you? Get in touch with our team of advisors for personalised guidance and support throughout your learning journey.

Business transformation
Looking to develop your business or team?

Need to upskill your team? Our bespoke development solutions are designed to enhance team performance, retain talent, and drive organisational excellence. One of our development consultants would love to chat.

Quote request

Please complete the form to ensure your quote is accurate and we will contact you soon.

Page {{ step }} of 2

Back Next