Object Oriented Analysis and Design with Use Cases

Contact Us for Dates
4 days practical workshop for up to 12 people.
Only £1580
This interactive course presents the concepts and techniques necessary to effectively use system requirements, captured using use cases, to drive the development of a robust design model. In this hands-on workshop, participants learn to apply the Unified Modeling Language (UML) to fundamental object-orientedanalysis and design concepts using the core UML diagrams. The course can run using a variety of modeling tools, including Rational Rose, Rational Modeler, Enterprise Architetect, Telelogic, Visio, or a paper and pen! The course follows the rational unified process as it takes you through the analysis and then the design phase of a software lifecycle. Additional optional modules cover data modelling and testing within the context of the process.


The course consists of lectures combined with practical exercises to consolidate what is taught. The students will apply the concepts either to a project that is relevant to their work, or alternatively, a sample project can be provided.

Training Course Objectives

  • Create effective use-case diagrams and write effective use case descriptions and scenarios
  • Identify analysis classes from use case description documents
  • Create analysis sequence diagrams from analysis classes, use case descriptions and scenarios
  • Create class diagrams from analysis sequence diagrams, and create design sequence diagrams allocating behaviors appropriately
  • Apply the concepts of abstraction, encapsulation, inheritance and polymorphism to create a comprehensive class diagram
  • Create state charts and understand how they feed into the model
  • Understand the need for mechanisms, and be able to identify required mechanisms
  • Identify the need for components, and be able to identify suitable components
  • Know how to package classes effectively, and understand the principles of layering applications
  • Understand the different views of a software architecture, the key mechanisms that are defined in support of that architecture, and the effect of the architecture and mechanisms on the produced design
  • Describe some basic design considerations, including the use of patterns

Who it is for

This workshop is intended for practitioners who desire an understanding of object-oriented analysis and design concepts using UML, as well as hands-on practical experience applying the techniques. This includes analysts, designers, and software developers.

Training Course Prerequisites

  • An appreciation of the issues surrounding the delivery of quality software that meets requirements, is on time and is on budget.


Chapter 1 Concepts and UML Overview

  • An overview of the basic OO concepts
  • Abstraction
  • Encapsulation
  • Objects and Classes
  • Polymorphism
  • Interfaces
  • Subsystems
  • UML Notation Overview

Chapter 2 Introduction to Use-Cases

  • Overview of the basic Use-Case Modelling concepts
  • Actors, Use-Cases, Associations
  • Requirements Documents (Use Case Model, Use Case Specification, Supplementary Specification, Glossary)

Chapter 3 Defining the Architecture

  • Techniques for defining the initial Architecture for the system.
  • Introducing 3-Tier, MVC, and Layered Architectures.

Chapter 4 Use Case Analysis

  • Techniques for identifying the initial classes from Use-Case Specifications
  • Allocating responsibilities to these classes
  • Describing the required class collaborations to deliver the Use-Case functionality
  • Describing the class relationships that must exist to support collaborations

Chapter 5 Analysis to Design

  • Techniques for moving from the initial analysis model produced in Use Case Analysis to the more formal design model

Chapter 6 Implementing Architectural Design Patterns

  • Refinement of the initial architecture to incorporate key design and implementation patterns for mechanisms
  • Persistence
  • Security

Chapter 7 Use Case Design

  • Techniques for refining the collaborations initially developed during ?Use Case Analysis? to incorporate the defined architectural patterns and design elements
  • Techniques for designing the internals of subsystems identified during ?Analysis to Design?

Chapter 8 Introducing Design Patterns

  • Commonly used Design Patterns
  • Singleton
  • Factory
  • Abstract Factory
  • State

Chapter 9 Class Design

  • Techniques for designing the internals the design classes
  • Modeling state-controlled behavior
  • The refinement of the class relationships and the incorporation of basic patterns