Customer Service or Enrol: 0800 282 353 or +44 1372 364610
 

Object-Oriented Analysis and Design Using UML: Hands-On

Course: 323   Type: Hands-On   Duration: 5 Days
Quick Enrol  

You Will Learn How To

  • Capture user requirements in use cases and transform them into detailed designs
  • Exploit the rich object-oriented modelling provided by Unified Modeling Language (UML)
  • Adapt to changing requirements with iterative techniques and component-based design
  • Design agile solutions optimised for modern object-oriented languages and platforms
  • Refactor design models by applying proven design patterns
  • Verify implemented designs with automated unit and system tests

Course Benefits
Object-oriented (OO) analysis and design is the principal industry-proven method for developing reliable, modular, testable programs and systems. This course provides practical skills in the latest OO requirements gathering, analysis, design, and testing methods. Intensive hands-on exercises offer you a working knowledge that turns concepts into practice.

Who Should Attend
Anyone involved in developing systems on modern object-oriented platforms. Project teams benefit greatly by sharing the same methodology with codevelopers or with supportive management. Familiarity with basic OO concepts is helpful, but not assumed.

Hands-on Training
Hands-on exercises provide experience using industry-standard UML case tools. Exercises and demonstrations include:
  • Capturing and refining use case requirements
  • Producing class and communication diagrams as part of an analysis model
  • Transforming analysis behavioural models into design sequence diagrams
  • Investigating round-trip engineering of source code
  • Refactoring UML designs by applying design patterns
  • Sharing models between developers using a repository

Course Content
Introduction and Overview
Using UML notation
  • Use case diagrams
  • Object models
  • Packages and subsystems
  • Interaction diagrams
Review of object-oriented concepts
  • Classes, objects and attributes
  • Encapsulation and interfaces
  • Associations and multiplicity
  • Inheritance and aggregation
  • Polymorphism and collections
The Unified Process
  • The object-oriented software life cycle
  • Use case-driven and architecture-centric features
  • Iterative and incremental development
Producing Requirements Models
Capturing system behaviour in use cases
  • Finding primary and secondary use cases
  • Refining use cases with Include and Extend dependencies
  • Modelling user interface requirements
  • Validating user interfaces against use cases
Creating the domain object model
  • Mapping ontological data structures onto a UML data model
  • Building a class description database
  • Finding analysis classes
  • Managing analysis complexity with packages and subsystems
Establishing the Object Model
Refining classes and associations
  • Analysis model vs. design model classes
  • Categorising classes: entity, boundary and control
  • Modelling associations and collections
  • Preserving referential integrity
Achieving reusability
  • Isolating reusable base classes
  • Reuse through delegation
  • Improving reuse with design patterns
Generating the Behavioural Model
Use case realisation
  • Sequence diagrams, object lifelines and message types
  • Refining sequence diagrams
  • Sharing models in a version controlled repository
Implementing memory in objects using state machines
  • States, events and actions
  • Nested machines and concurrency
  • Capturing state machines from sequence diagrams
  • Modifying the object model to facilitate states
Analysing object behaviour
  • Modelling methods with activity diagrams
  • Swimlanes, concurrency and synchronisation
  • Restructuring using polymorphism and delegation
  • Improving robustness using constraints, dependencies and the Object Constraint Language (OCL)
Object-Oriented Design
Design at the object level
  • Designing and evaluating methods
  • Synchronising dependent attributes
  • Normalising classes with dependent data
System design
  • Partitioning systems for deployment
  • Persisting objects to databases
  • Mapping designs to concurrent systems
Service-oriented architecture
  • Distributing applications with Web services
  • Applying component technology
  • Deploying applications using components
Design Patterns
Purposes of design patterns
  • Improving architecture, analysis models
  • Achieving reuse, robustness and flexibility
Applying design patterns
  • Achieving user interface independence
  • Patterns for persistence
  • Improving designs by refactoring
  • Creational, behavioural and structural patterns
Testing Object-Oriented Designs
  • Unit testing classes against their specifications
  • Instituting automated object-oriented regression testing
  • Validating implemented behavioural requirements
  • Writing test scenarios from use case descriptions

Related Courses
UML and Unified Modeling Language are trademarks of the Object Management Group.
 

request more info Salutation*:

First Name*:

Last Name*:

Job Title:

Company*:

Post Code*:

Country*:
   Codes
Office Telephone*:

Extension:

E-mail*:

* Required

A Learning Tree representative will contact you to follow up your request for information.

Save 55%
OO Analysis & Design Using UML
17 - 21 Nov, 2008
London
19 - 23 Jan, 2009
London
23 - 27 Mar, 2009
London
8 - 12 Jun, 2009
London
24 - 28 Aug, 2009
London

Participants ensuring model consistency using a shared UML repository tool.
 
The most recent 100 evaluations scored this course at:

  (3.72/4.00)
 

£ 1,995 - Standard Tuition
Savings Plans
£ 1,225 - 10-Day Training Pass
£ 995 - Flex-Training Passport
£ 1,314 - 10-Training Vouchers
£ 1,404 - 5-Training Vouchers
£ 1,795 - Alumni Gold Tuition

 
Certification Core Course
 
Customer Service or Enrol: 0800 282 353 or +44 1372 364610