Each student receives a copy of

Object-Oriented Analysis and Design using UML

A Five Day Hands-On Course (RAT102)

 

Background

The application of OOA/D techniques

has substantial benefits in reducing

system development risks and improving the quality of object-oriented software developments. UML (the Unified Modelling Language) has emerged as

the de-facto standard for OO modelling techniques. In this intensive hands-on workshop, you will gain practical experience of the major techniques of UML. The workshop culminates in-

group project work during which you undertake a small but complete analysis and design project.

Pre-requisites

A basic understanding of object oriented principles (encapsulation, inheritance, polymorphism), such as that gained by Ratio's Pragmatic Introduction to Object Oriented Concepts course (RAT100).

Who should attend

Analysts, designers and developers who will undertake OOA/D as part of an

Overall OO development process, and

Who wish to improve the quality of their analysis and design results.

Hands-On Exercises include:

· developing use cases to tie-down system requirements

· building object models for a

variety of systems

· developing sequence diagrams showing how your systems will

be implemented

· developing state models to clarify and augment your understand of

the system

· designing systems using design patterns

Summary

This course will give you a practical understanding of the major techniques of the UML object-oriented analysis and design notation, and how these techniques can be applied to improve quality of productivity during the analysis and design of computer systems.

At the end of this course you will be able to:

· Undertake use case analysis as part of the analysis and specification process for computer systems

· Use different levels of object models during the specification and design of computer systems

· Develop and refine sequence diagrams that guarantee the system specified can be implemented using your object model

· Develop state models to assist in the specification of systems

· Use design patterns to assist your designs

· Use packages to structure large systems

· Understand the elements of technical domain design, and be aware of many of the additional issues to be considered during technical domain design (e.g. persistence and database interfacing, distribution, user interface, external system interfacing, etc.)

· Understand how the techniques of UML can be used to cross-check each other, minimising the potential for development projects.

· Understand how object models may be implementation directly in OO languages such as C++, Java and VB.

 

 

 

Object-Oriented Analysis and Design Using UML

A Five Day Hands-On Course (RAT102)

 

 

Introduction

Gives an overview what will be covered in the course, and explain to students the motivation behind using OOA/D techniques.

· Introduction to course.

An overview of UML

Gives an introductory overview of the major techniques of UML and how they assist in the analysis and design of computer systems.

· Use cases

· Object modelling

· Sequence diagrams

· State modelling

· Problem domain vs. technical domain

Developing object models

Gives you practical experience of developing object models

· The object model

· Objects and classes

· Attributes

· Associations and multiplicity

· Finding objects and relationships

· Hands on exercises and review

Refining requirements using use case analysis

Introduces and to give students practise in the elementary concepts of use case analysis, in the context of understanding and specifying business system requirements.

· Why - rationale

· Use Cases

· Inputs

· Outputs

· Pre-conditions

· Post-conditions

· Business steps

· ‘Uses’ Use Cases

· Iterating between Object Modelling and Use Cases

· Separating Use Case and User Interface Design

· Hands on exercises

· Exercise review and discussion

Developing more advanced object models

Introduces the more advanced concepts of object modelling, and gives you more practise at using them.

· Ensuring you get the model right

· Resolving ambiguities

· What make a good object model

· Model invariants

· Qualified associations

· Ternary associations

· Hands on exercises

· Exercise review and discussion

Using sequence diagrams to augment design

Explains and gives student practise at using sequence diagrams to augment and verify object models and ensure they can provide a correct implementation of requirements.

· Why and when – rationale

· Description

· System boundary

· Cross-checking - Confirming you can

implement all the Use Cases with the OM

· Completeness checking - the Relationship between

Sequence Diagrams and the Object Model

 

State Transition Modelling

Gives you practise at using state models to expand internal class design.

· When and why you - rationale

· Cross-relationship to Object Model

· Transitions and Operations

· Guards and Attributes

· Actions and Activities

· Hands on exercises; review and discussions.

Using packages to structure designs

Explains how packages may be used to structure large designs

· Grouping UML constructs into packages

· Package dependencies

· Cycles in packages

· Removing cycles in packages

Undertaking the more technical aspects of design

Introduces the technical elements of system design in the context of OOD.

· Technical Domain vs. Problem Domain

· Technical Domain Issues

· Persistence/database interfacing

· Graphical User Interfaces

· Distribution

· Programming language related issues

Improving your design with design patterns

Gives you hands-on experience of how design patterns can be used to improve system design.

· What are patterns

· In-depth review of several patterns

· Hands-on use of patterns

Using OCL to express design constraints

Introduces the UML Object Constraint Language showing how it can be used to express business rules and other object constraints.

· What is OCL

· Expressing constraints (business rules) in OCL

· Hands on exercises

Implementation and testing

Gives a brief overview of implementation and testing related issues in the context of OOD.

· Mapping UML to programming languages.

· Testing issues.

Lifecycle related issues

Gives an understanding of project lifecycle issues associated with OOA/D.

· Incremental vs. big bang development.

· Management issues.

Undertake group project

The group project gives you the opportunity to bring together the topics taught during the course by taking a complete case study from specification through to design.

· Split into groups

· Undertake use case analysis for system

· Develop conceptual object model

· Present use case analysis to class, review, feedback, etc.

· Develop specification object model

· Present to class, review, feedback, etc.

What's next

· Where to go for further information