Search
   
93 S Jackson St #32515 - Seattle, WA - USA
1 Yonge Street - Suite 1801 - Toronto, ON - Canada
 
  Go to Software Training Academy Main Page Check Training Courses and Schedules Check Course Schedules Read what our students have to say ... Contact Software Training Academy Read about Software Training Academy Learn about those who run Software Training Academy Join Software Training Academy Team



STA Instructor-Led Virtual is convenient and 
                        cost-effective
In-Person Training Courses: we will 
                        come to you
 
If you are looking for other types of training, check out the training-classes.com directory of Business and Management Skills Training and Seminars


 
 

      Object Oriented Analysis and Design with UML Training

     
Suggested Duration: 5 days
Instructor-Led via Web - Training Price(USD): $1,925.00 | Class Schedule
In-Person Class - Training Price(USD): $2,310.00 | Class Schedule
                            

Course Outline


190.  Object-Oriented Analysis and Design with UML

Rev. 6.1.1

 

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.

 

The course contains a case study of an object-oriented system. Progressive labs go through the analysis and design of this system, which is documented in UML notation. Implementations are provided of the case study in C++, Java and C#.

 

LEARNING 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

 

Course Duration:  5 days.

 

Audience: Analysts, designers, architects, and developers responsible for applying object-oriented techniques in their software engineering projects.

 

Prerequisites:  Some exposure to the problems of analysis and design. Experience with structured analysis and design and object-oriented programming would be helpful.

 

1.      Course Introduction

Course Objectives

Overview

Suggested References

 

2.      Introduction to Analysis and Design

Why is Programming Hard?

The Tasks of Software Development

Modules

Models

Modeling

Perspective

Objects

Change

New Paradigms

 

3.      Objects

Encapsulation

Abstraction

Objects

Classes

Responsibilities

Attributes

Composite Classes

Operations and Methods

Visibility

Inheritance

Inheritance Example

Protected and Package Visibility

Scope

Class Scope

 

4.      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

 

5.      Classes and Their Relationships

Class Models

Associations

Multiplicity

Qualified Associations

Roles

Association Classes

Composition and Aggregation

Using Class Models

 

6.      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

 

7.      Communication Diagrams

Communication Diagrams

Communication and Class Diagrams

Evaluating Communication Diagrams

Using Communication Diagrams

 

8.      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

 

9.      Activity Diagrams

Activity Notation

Decisions and Merges

Synchronization

Drilling Down

Iteration

Partitions

Parameters and Pins

Expansion Regions

Using Activity Diagrams

 

10. Package, Component, and Deployment Diagrams

Modeling Groups of Elements - Package Diagrams

Visibility and Importing

Structural Diagrams

Components and Interfaces

Deployment Diagram

 

11. New Models in UML 2.0

New to UML 2.0

Composite Structure Diagrams

Timing Diagrams

Interaction Overview Diagrams

 

12. 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

 

13. Process

Process

Risk Management

Test

Reviews

Refactoring

History

The Unified Process

Agile Processes

 

14. The Project

Inception

Elaboration

Elaboration II

Construction Iterations

Construction Iterations - The Other Stuff

 

15. 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

 

16. Requirements and Specification

The Goals

Understand the Problem

Specify a Solution

Prototyping

The Complex User

Other Models

Judging the Requirements Model

 

17. Design of Objects

Design

Factoring

Design of Software Objects

Features

Methods

Cohesion of Objects

Coupling between Objects

Coupling and Visibility

Inheritance

 

18. 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

 

19. Refactoring

Refactoring

Clues and Cues

How to Refactor

A Few Refactoring Patterns

 

Appendix A.  UML Syntax

 

Appendix B.  Design by Contract

 

Contracts

Enforcing Contracts

Inheritance and Contracts

 

Appendix C.  University Summary

 

Appendix D.  Implementations

 

C++

Java

C#

 

Ask a Question !
Your email
Course # or Title
Question
About this course:
Contact me ASAP
Contact me when available in my city
 
Send me updates


Major Locations in US and Canada (*)
Austin,TX - New York,NY - Boston,MA - Los Angeles,CA - San Francisco,CA - San Jose,CA - Baltimore,MD - Columbia,MD - New Jersey,NJ - Buffalo,NY - Manhattan,NY - Philadeplhia,PA - Pittsburgh,PA - Charlotte,NC - Chicago,IL - Indianapolis,IN - Louisville,KY - Detroit,MI - Minneapolis,MN - Kansas City,MO - Springfield,MO - Columbus,OH - Cleveland,OH - Oklahoma City,OK - Memphis,TN - Nashville,TN - Milwaulkee,WI - Sacramento,CA - San Diego,CA - Denver,CO - Las Vegas,NV - Salt Lake City,UT - Portland,OR - Dallas,TX - Rochester,NY - Phoenix,AZ - Orlando,FL - Miami,FL - Tallahassee,FL - Atlanta,GA - Seatlle,WA - Toronto,ON - Montreal,QC - Ottawa,ON - Vancouver,BC - Calgary,AB - Quebec City,QC - Saskatoon,SK - Winnipeg,MB - Edmonton,AB - Regina,SK - Victoria,BC - Waterloo,ON - Kanata,ON - Mississauga,ON - Scarborough,ON - Ajax,ON - Oakville,ON - Markham,ON - Barrie,ON
* In-class training subject to minimum enrollment - Call 1.888.896.7852 for details



Copyright © 2008 Software Training Academy (STA). All rights reserved