Advanced Business Analysis---Object Oriented Analysis and Design - OOAD - with UML

This course has been superseded

Try searching for alternatives

Course Description

The course is aimed at the software developer who wants to take a model-based approach to developing OO. Delegates will learn and practise how to analyse requirements, how to achieve a well-designed system, and be able to construct flexible, maintainable and reliable systems. The course shows how to use the UML notation and use cases most effectively to discuss requirements, architecture and designs with both colleagues and clients both around a whiteboard and in documents. The course also shows how to develop code using the UML approach. Design and implementation decisions can be made at the right level during the development process.
3 days
Contact us for pricing
 

Prerequisites

Programmers who wish to learn how to model requirements and develop a well structured object oriented solution to the problem. The course makes no assumptions as regards knowledge of UML or writing use cases.
Note: More advanced content can be added as required. Our trainer is a UML and modelling expert and authoritative author.

Course Objectives

Participants will gain a clear understanding of how to use UML and use cases and development tools in the context of software development. They will:
• understand the philosophy behind using UML and use cases in both analysis and design;
• understand the ideas that produce a well-designed object orientated system;
• know how to use UML and use cases as a common language for talking about requirements, designs, and implementation of object based software systems;
• know how identify and specify system components by informal contract;
• understand how to turn a UML specification into code.

A basis for modelling

The basic ideas
– what should we model?
– modelling the real world
– individuals and relationships
Objects
– things of interest in the world and in our model
– specifying what we are modelling
– abstraction—modelling the things of interest
Events
– actions and activities
– business processes and use cases
Relationships
– adding information
– relationships between everything?
– attributes
– states
– roles

The basics of UML

Using UML
Types
– objects, types, attributes
– static models
– snapshots (instance diagrams)
Use cases and the business
– the context
– identifying services
– specifying goals
– snapshots & filmstrips
– processes
Documenting what happens to things
– connecting the dynamic and static views
– use cases and states
– objects and roles
Documenting when things happen
– recording the business processes
– different people do different things

UML notation review

Techniques — how to constructing a model

Techniques for constructing and checking models
– roles, actions, and objects: who’s involved, what are their goals?
– using the use cases: use-case specifications
– refining the use cases: zooming in and out
– the life history of processes and objects
– relating the different views
– modelling patterns: where have I seen that before?
– improving the model
– composing models: from different viewpoints
Strategies — who constructs the model
– building a requirements model
– uses of business models

Business rules

This section looks at the need and capture of business rules. Ignoring business rules is a major source of errors in a system, and these errors are usually found during system use.
The need for business rules
– the world is not perfect
Identifying business rules
– capturing the rules of the game
– static rules
– dynamic rules

Design — building the system with objects

Classes, responsibilities and collaborations
Component collaborations revisited
Master-slave collaborations
Patterns for design
Coupling and dependencies

The presentation tier

Components in the presentation layers
– GUI: MVC
– The linkage of the 'core(s)' to the presentation layers
– Reification of use-cases in UI objects
The Interface to the outside world
– Interface layer
– Actors as concepts
– Specifying the information
– Refining system use-cases