United States flagCanada flag1 877 849 1850 International flag +1 678 648 311
Please contact us
for GSA pricing.
GSA
Contract #
GS-35F-0307T

UML Training: Introduction to OOAD using UML

Course Number: JAV-202
Duration: 5 days
view course outline

UML Training Overview

A good understanding of object-oriented analysis and design is important in designing effective systems using modern software engineering languages and frameworks such as C++, .NET and Java™. This five-day course teaches you how to use object-oriented techniques to analyze real-world requirements and to design solutions that are ready to code. The course employs Unified Modeling Language, using UML 2.0 notation.

Location and Pricing

Most Accelebrate courses are delivered as private, customized, on-site training at our clients' locations worldwide for groups of 3 or more attendees and are custom tailored to their specific needs. Please visit our client list to see organizations for whom we have delivered private in-house training. These courses can also be delivered as live, private online classes for groups that are geographically dispersed or wish to save on the instructor's or students' travel expenses. To receive a customized proposal and price quote for private training at your site or online, please contact us.

In addition, some courses are available as live, online classes for individuals. See a schedule of online courses.

UML Training Prerequisites

All attendees should have prior programming experience. No prior object-oriented development experience is presumed.

Hands-on/Lecture Ratio

This class is 70% hands-on, 30% lecture, with the longest lecture segments lasting for 20 minutes.

UML Training Materials

All OOAD training students receive a copy of O'Reilly's Head First Object-Oriented Analysis and Design: A Brain Friendly Guide to OOAD and Addison-Wesley's UML Distilled: A Brief Guide to the Standard Object Modeling Language, as w

UML Training Objectives

  • Learn how to identify and design objects, classes, and their relationships to each other
  • Use links, associations, and inheritance
  • Use diagram notation for use cases, class and object representation, links and associations, and object messages
  • Gain a working knowledge UML 2.0
  • Apply knowledge of OOAD to design an object-oriented system which can be implemented in an object-oriented language

UML Training Outline

  • Introduction to Analysis and Design
    • Why is Programming Hard?
    • The Tasks of Software Development
    • Modules
    • Models
    • Modeling
    • Perspective
    • Objects
    • Change
    • New Paradigms
  • Objects
    • Encapsulation
    • Abstraction
    • Objects
    • Classes
    • Responsibilities
    • Attributes
    • Composite Classes
    • Operations and Methods
    • Visibility
    • Inheritance
    • Inheritance Example
    • Protected and Package Visibility
    • Scope
    • Class Scope
  • Advanced Objects
    • Constructors & Destructors
    • Instance Creation
    • Abstract Classes
    • Polymorphism
    • Polymorphism Example
    • Multiple Inheritance
    • Solving Multiple Inheritance Problems
    • Interfaces
    • Interfaces with Ball and Socket Notation
    • Templates
  • Classes and Their Relationships
    • Class Models
    • Associations
    • Multiplicity
    • Qualified Associations
    • Roles
    • Association Classes
    • Composition and Aggregation
    • Using Class Models
  • Sequence Diagrams
    • Sequence Diagrams
    • Interaction Frames
    • Decisions
    • Loops
    • Creating and Destroying Objects
    • Activation - 2.0
    • Synchronous & Asynchronous
    • The Objects Drive the Interactions
    • Evaluating Sequence Diagrams
    • Using Sequence Diagrams
  • Communication Diagrams
    • Communication Diagrams
    • Communication and Class Diagrams
    • Evaluating Communication Diagrams
    • Using Communication Diagrams
  • State Machine Diagrams
    • What is State?
    • State Notation
    • Transitions and Guards
    • Registers and Actions
    • More Actions
    • Internal Transitions
    • Superstates and Substates
    • Concurrent States
    • Using State Machines
    • Implementation
  • Activity Diagrams
    • Activity Notation
    • Decisions and Merges
    • Synchronization
    • Drilling Down
    • Iteration
    • Partitions
    • Parameters and Pins
    • Expansion Regions
    • Using Activity Diagrams
  • Package, Component, and Deployment Diagrams
    • Modeling Groups of Elements - Package Diagrams
    • Visibility and Importing
    • Structural Diagrams
    • Components and Interfaces
    • Deployment Diagram
  • New Models in UML 2.0
    • New to UML 2.0
    • Composite Structure Diagrams
    • Timing Diagrams
    • Interaction Overview Diagrams
  • Use Cases
    • Use Cases
    • Use Case Diagram Components
    • Use Case Diagram
    • Actor Generalization
    • Include and Extend
    • Other Systems
    • Narrative
    • Template for Use Case Narrative
    • Using Use Cases
  • Process
    • Process
    • Risk Management
    • Test
    • Reviews
    • Refactoring
    • History
    • The Unified Process
    • Agile Processes
  • The Project
    • Inception
    • Elaboration
    • Elaboration II
    • Construction Iterations
    • Construction Iterations - The Other Stuff
  • Domain Analysis
    • Top View - The Domain Perspective
    • Data Dictionary
    • Finding the Objects
    • Responsibilities, Collaborators, and Attributes
    • CRC Cards
    • Class Models
    • Use Case Models
    • Other Models
    • Judging the Domain Model
  • Requirements and Specification
    • The Goals
    • Understand the Problem
    • Specify a Solution
    • Prototyping
    • The Complex User
    • Other Models
    • Judging the Requirements Model
  • Design of Objects
    • Design
    • Factoring
    • Design of Software Objects
    • Features
    • Methods
    • Cohesion of Objects
    • Coupling between Objects
    • Coupling and Visibility
    • Inheritance
  • System Design
    • Design
    • A Few Rules
    • Object Creation
    • Class Models
    • Interaction Diagrams
    • Printing the Catalog
    • Printing the Catalog II
    • Printing the Catalog III
    • Object Links
    • Associations
  • Refactoring
    • Refactoring
    • Clues and Cues
    • How to Refactor
    • A Few Refactoring Patterns
  • Conclusion