At a glance

Duration:
2 days
Cost:
AUD $1650 inc GST
NZD $1750 + GST
Contact us for any enquiries
including in-house delivery.
Agile

Design Patterns for Agile Development

Agile techniques are about doing things "faster-better-cheaper", delivering value as quickly as possible.  Reusable patterns are one approach to assist in this goal.

Patterns are fragments of OO models that solve specific, recurring problems. Just as we can reuse a section of code whenever we require the same functionality, so we can also reuse a section of our model whenever we face the same core problem.

A pattern is a generalised solution to a particular type of problem (such as the classic bill-of-materials). Everywhere that we face that same type of problem, we can use the same solution. In addition, a pattern typically provides a flexible and robust solution.

Using patterns enables the designer to arrive at a solution much quicker than if the designer had to devise the solution themselves. They also enable "newbies" to develop solutions that are just as flexible and powerful as those from expert designers with many years of experience.

This course introduces the concept of patterns, of which there are several different types:

  • Analysis - conceptual model
  • Design - implementation model
  • Architectural - system architecture
  • Idioms - specific to a programming language

This course focuses on design, but the principles and techniques used are applicable to all the different types. Emphasis is placed on how to evaluate and apply patterns, and in particular, how to move from the abstract to a concrete solution for the actual situation.

This course is part of the Agile Academy curriculum. Software Education is proud to be a founding partner of the Agile Academy.

Intended For

Object oriented analyst/programmers, designers and architects. Anyone who is modelling object-oriented systems will find these techniques to be a valuable addition to their toolbox.

Prerequisites

Participants will benefit from having some exposure to object-oriented systems.

Learning outcomes

At the end of this two day programme, participants will:

  • Understand the benefits of using a pattern
  • Have studied several patterns in detail
  • Be able to evaluate and apply a pattern to their models
  • Have applied several design patterns to a practical case study

Content

  • What is a pattern?
  • Why use a pattern?
  • How to apply a pattern
  • A look at other types of pattern, with examples. What makes a pattern a pattern
  • One pattern can work together with another. Examples of pattern groupings
  • What makes a pattern flexible. How to get a good solution when there is no suitable pattern
  • Adding flexibility when creating your own pattern
  • Discussion and review of specific design patterns
  • Case studies

Method Used

This is a workshop-style course, with lecturing kept to a minimum.

Participants will work through several mini case studies, each describing the situation and the problem. They will evaluate the applicability of a pattern to each situation.

A larger case study will give participants supervised experience as they identify and apply a pattern to address each problem raised with the original model.

Note: A minimum class size of six is needed for this course to run.

Software Education Associates Limited
Freecall: 0800 268 773 Fax: 04 568 7920
Software Education Australia Pty Ltd
Freecall: 1800 145 152 Fax: 1800 145 715
Proud to support World Vision