PDF version  PDF Version ZIP versionZIP Version 280KB
Description:

This course takes an approach for Object Oriented Analysis and Design that is Use Case driven, iterative and incremental. The UML is used as the modelling notation.

The book `Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design’ by Craig Larmen, is used as the main guide, supplemented with the lecturer's own knowledge and experience. The following quote from the book characterises the course: “More important than following an official process or method is that a developer acquire skill in how to create a good design, and that organizations foster this kind of skill development. This comes from mastering a set of principles and heuristics related to identifying and abstracting suitable objects and to assigning responsibilities to them.”

The development of a Point of Sale Terminal system is used as the simple case study to teach the principles and heuristics. In parallel with this, the course delegates practice these ideas by doing the analysis and design of a video shop system.

Although, as implied in the preceding quote, the focus is not on a particular methodology, the process used in the course is similar to the Rational Unified Process (see the diagram entitled `The Development Process’).

The course guides the delegates through the production of:

  • Specification of Requirements
  • Use Cases
  • Use Case Chunks and their allocation to development cycles
  • Conceptual Model (classes, associations, attributes)
  • System Sequence Diagrams
  • System Operations
  • Operation Contracts
  • Collaboration Diagrams
  • Packaging of the Classes

   

 

Objectives:

After the course the delegate will be able to:

    • Set-up Use Cases with their scenarios, to represent the requirements. (Even better, enlist the end users to set up their own Use Cases).
    • Create and evolve the model of classes, associations and attributes.
    • Understand how to use inheritance structures.
    • Check completeness of the design class model by testing its support of the Use Cases.
    • Plan a series of iterations that lead to a continuous delivery of tested functionality rather than a big bang failure, and that probe areas of risk early in the project.
    • Derive System Sequence diagrams from the Use Cases.
    • Identify System Events and therefore System Operations from the System Sequence diagrams.
    • Set up a Contract for each System Operation, with its "pre-" and "post-" conditions.
    • Set up a collaboration diagram that satisfies the contract for each System Operation.
    • Use patterns (proven ways of doing things effectively) to allocate responsibilities to the most suitable objects (in particular the patterns called `Expert’, `Creator’, `Controller’, `Low Coupling’, `High Cohesion’).
    • Group the classes into packages to create a robust architecture.
    • Understand and use the patterns that separate the `model’ from the `view’ instead of being dominated by GUI thinking.
    • Understand how to use iterative development to obtain early and continuous measurable, demonstrable progress towards the project completion (no show-stopping surprises near the project end).
    • Use the UML (the new standard for modelling)
    • Understand the influence of each deliverable on the other deliverables.
    • Understand the importance of always designing to the interface to create modifiable systems.

 

 

Topics:
  • Use Cases and Use Case Diagrams
  • Class Diagrams (both conceptual and design)
  • System Sequence Diagrams
  • System Operations
  • System Operation Contracts
  • Collaboration Diagrams
  • The use of Patterns to achieve a good Design
  • Architecture Package Diagrams
  • Object-Oriented Code (only some Java samples fitting the case study)

 

Audience:

Because the Object Oriented framework results in significant benefits of effectiveness and cost, it is now rapidly replacing traditional system architectures. It is therefore essential for you and your organization to acquire skills in this area.

In particular the course is relevant for:

  • Business Analysts
  • Project Leaders
  • Systems Architects
  • Systems Designers
  • Systems Analysts
  • Developers
  • Programmers
  • Quality Assurors
  • Testers
  • User Interface Designers

 


 

Prerequisites:

A good knowledge of the following topics.

  • The UML notation;
  • Concepts of class, instance, object;
  • Attributes (primitive & reference); operations (parameters, return value, signature, constructors); accessor operations get() and set();
  • Associations, multiplicity, navigability, role name on the association;
  • Implementation of navigability, collections;
  • Operation contracts (responsibility, pre-conditions, post-conditions);
  • Encapsulation;
  • Instantiation;
  • Messaging;
  • Inheritance;
  • Polymorphism;
  • Interface;
  • Information hiding.


 

 

Duration:

5 days 

Course Schedule

Duration (Days)

Booking Status

Venue

5

Places are available on these scheduled courses 

South Africa

United Kingdom 

Australia 

United States 


 

Enrol Delegates

 

GETTING AN ENROLMENT FORM
Click the button on the left. Then select the Object Oriented Analysis and Design Course.Remember to select the relevant form for your country.