Training

 

 

Popular Courses

Browse Our Free Resources

  • whitepapers
  • whitepapers
  • webinars
  • blogs

Our Locations

Training Centres

Vancouver, BC
Calgary, AB
Edmonton, AB
Toronto, ON
Ottawa, ON
Montreal, QC
Hunt Valley
Columbia

locations map

Calgary

550 6th Av SW
Suite 475
Calgary, AB
T2P 0S2

Toronto

821A Bloor Street West
Toronto, ON
M6G 1M1

Vancouver

409 Granville St
Suite 902
Vancouver, BC
V6C 1T2

U.S. Office

436 York Road
Suite 1
Jenkintown, PA
19046

Other Locations

Dallas, TX
Miami, FL

Home > Training > Object-Oriented Programming > Object Oriented Analysis and Design with UML and RUP using Rational Rose Training

Object Oriented Analysis and Design with UML and RUP using Rational Rose Training

Course#: WA1230

Learn how to use object-oriented techniques from requirements gathering to implementation. Students learn how to analyze and design classes and their relationships to each other in order to build a model of the business requirements. A strong emphasis is placed on diagram notation for use cases and class relationships, as well as on sequence and state diagramming to capture the dynamic behaviour of the system. Rational Rose is discussed, and examples show how to use the software to create and maintain the various diagrams in the context of the Rational Unified Process.

 

Topics

  • Overview of UML
  • Object-oriented concepts
  • Understanding requirements, analysis and design workflow
  • Identifying classes
  • Object interaction, relationships and behaviour
  • Design patterns
  • System Design and refactoring
  • Using Rational Rose

 

 What you will learn

  • After completing this course, the student should be able to:
  • Approach new complex software development with confidence
  • Use Rational Rose to model applications using UML
  • Implement the software based on the design
  • Establish a software development methodology for in-house development

 

Audience

This course is intended for anyone involved in the production, deployment and maintenance of software.

 

Prerequisites

Familiarity with software development in general is helpful.

 

Duration

Five days.

Outline of WA1230 Object Oriented Analysis and Design with UML and RUP using Rational Rose Training

1. Overview of OOAD

 

  • Topics
  • Tower of Hanoi
  • Objects
  • Objects Examples
  • Objects Identification and Attributes
  • Operations and Methods
  • Object Relationship
  • Encapsulation
  • Classes
  • Examples of Classes
  • Examples of Object Type Identification in UML
  • Inheritance
  • Example of Inheritance
  • Discovering Inheritance
  • Polymorphism
  • Example of Polymorphism
  • Object-Oriented Programming Languages
  • Topics
  • Development Process
  • The Rational Unified Process
  • Inception Phase
  • Elaboration Phase
  • Construction Phase
  • Transition Phase
  • Software Development Life Cycle with the RUP
  • Topics
  • What is UML?
  • History of UML
  • Building Blocks of UML
  • Things in UML
  • Examples of UML Things
  • Relationships in UML
  • Examples of UML Relationships
  • Diagrams in UML
  • Classifier in UML
  • Examples of UML Classifiers
  • Common Mechanisms in UML
  • Common Mechanisms in UML cont
  • Examples of UML Extensibility
  • Advantages of UML
  • Rational Rose
  • Main Parts Of Rational Rose
  • Parts of Rose

 

2. Requirements Workflow

 

  • Topics
  • Requirements Workflow
  • What Is A Requirement?
  • Requirements Gathering
  • What Is Requirements Management?
  • Requirements Management
  • Timing of Requirements Workflow
  • The Cost Of Requirement Errors
  • The Game Plan Towards Building Quality Software
  • Problem Analysis and Understanding User Needs
  • Problem Analysis Steps
  • Problem Analysis Steps
  • Problem Analysis Steps
  • Business Models
  • Gather Requirements
  • Interviewing
  • Requirements Workshop
  • Brainstorming
  • Brainstorming- Idea reduction
  • Storyboarding
  • Use Cases
  • Prototyping
  • Requirements and the Unified Process
  • Recall: Inception Phase
  • Example of Use Cases
  • Recall: Elaboration Phase
  • Example of a Use Case Diagram
  • Delivery

 

3. Use Case Analysis

 

  • Topics
  • Use Cases
  • Benefits of Use Cases
  • Classifying Use Cases
  • Levels of use cases
  • For use case modeling
  • Use Case Modeling
  • Use Case Modeling Steps
  • Step 1 - Scope
  • Lists used to manage scope In/out list
  • Step 2 - Actors
  • Actor Notation
  • Finding Actors
  • Finding Actors - continued
  • Step 3 - Goal List
  • Step 4 and 5 Finding Use Cases
  • Sections Of A Use Case
  • Documenting Use Cases
  • Use Case Notation
  • Action Sequence
  • Use Case Relationships
  • Time Schedule Application
  • Case Study
  • Case Study Time Schedule Management
  • Use Cases Time Schedule Management
  • UC01 Add a new appointment
  • UC01 Add a new appointment
  • UC01 Add a new appointment
  • UC01 Add a new appointment
  • Use Case Diagram
  • Time Schedule Use Case Diagram
  • Use Case Diagrams in Rose

 

4. Analysis Workflow

 

  • Topics
  • Analysis Workflow
  • Motivation
  • Analysis Deliverables
  • Good Analysis Characteristics
  • Analysis in the Rational Unified Process
  • Analysis Workflow Steps
  • Class Analysis
  • What is an Analysis Class?
  • Analysis Class Relationships
  • Use Case Analysis
  • Architectural Analysis
  • Packages
  • Package practicality
  • Post Analysis

 

5. Class Identification

 

  • Topics
  • Identifying Classes
  • Entity Class
  • Control Class
  • Boundary Class
  • A Good Class
  • A Good Class cont'd
  • Bad Classes
  • Finding Classes and their Relationships
  • Noun/verb Analysis
  • Noun/verb Analysis example
  • Refine
  • CRC Cards
  • What is a Responsibility?
  • What is a Collaboration?
  • Identifying Classes Using CRCs
  • CRC Cards An Example
  • Class Diagram
  • Class Notation in UML
  • The Name Compartment
  • The Attribute Compartment
  • The Operation Compartment
  • Translating CRC Cards to a Class Diagram
  • Class Diagrams in Rose
  • Add attributes / operations
  • Class Diagrams in Rose
  • The Scheduling System
  • UC-01 Classes
  • The EmployeeInfo Class
  • Object Diagram
  • Object Notation in UML
  • Object Links and Messages
  • Message Notation
  • Link Types
  • Examples of Object Links

 

6. Class Relationship Analysis

 

  • Topics
  • Types of Class Relationships
  • Identifying Class Relationships
  • Examples of Relationships in UML
  • Class Association Relationship
  • Class Association Relationships in UML
  • Reading Class Associations
  • Multiplicity
  • Reading Multiplicity
  • Aggregation
  • Aggregation An Example
  • Composition
  • Composition An Example
  • Qualification
  • Qualification An Example
  • Association Class
  • Association Class An Example
  • Relationships in Rose

 

7. Object State Analysis

 

  • Topics
  • Object State
  • UML and State
  • Object States
  • State Machine Diagrams
  • State Notation in UML
  • Start and End Points of a state Diagram
  • State Transitions
  • Types of Events
  • Signals
  • Call Event
  • Time and Change Events
  • Substates and Superstates
  • Concurrent State Diagrams
  • Usefulness
  • State Diagram Example
  • State Diagrams in Rose

 

8. Object Activity Analysis

 

  • Topics
  • Activity Analysis
  • Object Activities
  • Activity Diagrams
  • Activity Notation in UML
  • Initial Nodes and Activity Final
  • Activity Transitions
  • Conditional Flow
  • Branch
  • Example of a Branch
  • Merge
  • Tokens
  • Parallel Activities
  • Fork
  • Join
  • Synchronization of Parallel Transitions
  • Signals
  • Time Signals
  • Accept Signals
  • Partitions
  • Partitions An Example
  • Pins and Transformations
  • Pins
  • Transformations
  • When to Use Activity Diagram
  • Activity Diagrams in Rose
  • Interaction Diagrams
  • Sequence Diagram
  • Sequence Diagram Notations
  • Sequence Diagram Notation
  • Message Notation
  • To Draw a Sequence Diagram
  • Sequence Diagrams in Rose
  • Use Case Realizations
  • Communication Diagram
  • Communication Diagram An example
  • Using Interaction Diagrams

 

9. Design Workflow

 

  • Topics
  • Analysis and Design
  • Design Time
  • Design in RUP
  • Design vs. Analysis Model
  • One Model Or Two?
  • Design Workflow
  • Design Classes
  • Design Class Refinement
  • Design Class Refinement
  • Class Removal
  • Refining Relationships
  • Use Case Design
  • Construction

 

10. Object Design

 

  • Topics
  • Object Design
  • Generalization
  • Root and Leaf Classes
  • Abstract Class and Operation
  • Generalization an Example
  • Modeling with Generalization
  • Modeling with Encapsulation
  • Visibility of Features
  • Owner Scope
  • Friendship
  • Value Containers
  • Types
  • Interfaces
  • Interface Modeling
  • Interface Modeling an Example
  • Roles
  • Modeling with Types, Interfaces and Roles
  • Object Persistence
  • Define a Base Class for Persistent Objects
  • Representing Objects as Tables
  • Object Serialization
  • Active Objects
  • Active Class an Example
  • Communication of Active Objects
  • Object Communications an Example
  • Synchronization
  • Template Classes
  • Template Class and Instantiation an Example

 

11. System Design

 

  • Topics
  • System Design
  • Collaborations
  • Examples of Collaborations
  • Modeling the Relationships of Collaborations
  • Using Collaborations in the Realization of Use Cases
  • Modeling the Realization of a Use Case
  • Packages
  • Visibility of Package Elements
  • Relationship of Packages Generalization
  • Relationship of Packages Import Dependency
  • Modeling the Package Hierarchy of a System
  • Systems and Subsystems
  • Components
  • Representation of Components in UML
  • Stereotypes of Components in UML
  • Examples of Component Types
  • Component Diagrams
  • Example of Component Diagram
  • Deployment Diagrams
  • Example of a Deployment Diagram
  • Modeling the Architecture of a System
  • Different Views of a System

 

12. Other UML Diagrams

 

  • Topics
  • UML Diagrams
  • Composite Structure Diagram
  • Timing Diagram
  • State-as-Line Timing Diagram
  • State-As-Area Timing Diagram
  • Interaction Overview Diagram

 

13. The Software Development Process

 

  • Topics
  • Software Development Processes
  • Risk Management
  • What is a "risk"?
  • Identify
  • Analyze
  • Plan and Manage
  • Review
  • Requirements Change
  • Change Control Board
  • Handling Change
  • Incorporating Change
  • Quality Assurance
  • Testing
  • Testing Categories
  • UI Testing
  • UI Testing - continued
  • Common problems with error messages
  • Common UI Errors
  • Functional testing
  • Types of testing
  • Types of testing - continued
  • Bugs
  • Configuration Management
  • Goals of Team Development
  • Team Development Architecture
  • Repository
  • Version Control Systems
  • Agile Modeling
  • AM Values
  • AM Principles
  • AM Practices
  • AM Practices Continued
  • Using AM

 

14. The Software Development Project Life Cycle Using RUP

 

  • Topics
  • Software Development Methodologies
  • Waterfall Development Methodology
  • Iterative Development Methodology
  • Iteration v.s. Waterfall Process
  • Low Ceremony/High Ceremony
  • Comparison of Some Software Methodologies
  • Spirit of RUP: Well-Defined Software Engineering
  • Two Dimensions of the RUP Process
  • Dynamic Dimension of RUP: Lifecycle Phases & Milestone
  • Static Dimension of RUP: Modeling Elements
  • Static Dimension of RUP: Disciplines
  • Typical RUP Roles
  • Spirit of RUP: Iterative & Risk-Driven Approach
  • The RUP Iteration
  • Spirit of RUP: Customizable and Configurable Process
  • Inception Phase
  • Inception Phase cont
  • Inception Phase cont
  • Develop a Vision Document
  • Develop a Vision Document: An Example
  • Develop System Overview
  • Develop System Overview: An Example
  • Plan the Project and Analyze Risks
  • Plan the Project and Analyze Risks: An Example
  • Plan the Project and Analyze Risks: An Example cont
  • Elaboration Phase
  • Elaboration Phase cont
  • Elaboration Phase cont
  • Develop Use Case and Domain Object Model
  • Develop Executable Architecture
  • Construction Phase
  • Construction Phase cont
  • Construction Phase cont
  • Organize Teams Around Architecture
  • Example of Construction Iterations
  • Transition
  • Transition cont
  • Elaboration Phase cont
  • Examples of a RUP Development Lifecycle
  • Typical Time & Resource for a RUP Development Lifecycle
  • Multiple Development Lifecycles

 

15. Refactoring

 

  • Topics
  • What is Refactoring
  • An Example
  • Why We Need Refactoring
  • Principles of Refactoring
  • Principles of Refactoring cont
  • Steps for Performing Code Refactoring
  • Anti-patterns
  • Anti-patterns cont
  • Moving Features Between Objects
  • Move Method
  • Extract Class
  • Introduce Local Extension
  • Dealing with Generalization
  • Pull up Field/Pull up Method
  • Push Down Field/ Push Down Method
  • Extract Superclass
  • Extract Subclass
  • Composing Methods
  • Extract Method
  • Replace Method with Method Object
  • Making Method Calls Simpler
  • Rename Method
  • Replace Parameter with Explicit Methods
  • Introduce Parameter Object
  • Encapsulate Downcast

 

16. Software Reuse

 

  • Topics
  • What is Software Reuse
  • Example of Software Reuse
  • Why Reuse Software
  • How Software Assets Become Reusable
  • Major Disciplines for Software Reuse
  • Basic Techniques for Software Reuse
  • Software Reuse in the Software Development Lifecycle
  • Critical Factors to Successful Reuse of Software
  • Techniques for Reuse Asset Management
  • Techniques for Reuse Asset Management cont
  • Techniques for Reuse Process Management
  • Domain and Domain Specific Reuse
  • Domain Model and Domain Architecture
  • Domain Engineering v.s. Software Engineering
  • Domain Identification
  • Domain Analysis
  • Domain Design

 

17. Design and Architecture Patterns

 

  • Topics
  • Patterns
  • Example of Design Patterns
  • Example of Architecture Pattern
  • Factory Method
  • Singleton
  • Command
  • Modeling the Structure Aspect of Command Pattern
  • Modeling the Behavior Aspect of Command Pattern
  • Facade
  • Adapter
  • Proxy
  • Publish-Subscribe
  • Modeling the Structural Aspect of the Publisher-Subscribe Pattern
  • Modeling the Behavioral Aspect of the Publisher-Subscribe Pattern
  • Three-tier Architecture
  • Multi-tier Architecture
  • Model-View-Controller
  • Model-View-Controller Framework

 

18. Rational Rose Advanced

 

  • Topics
  • Team Development
  • Topics
  • Forward Engineering
  • Topics
  • Reverse Engineering
  • Topics
  • Rose Script
  • Simple Example
  • File Output
We regularly offer classes in these and other cities. Atlanta, Austin, Baltimore, Calgary, Chicago, Cleveland, Dallas, Denver, Detroit, Houston, Jacksonville, Miami, Montreal, New York City, Orlando, Ottawa, Philadelphia, Phoenix, Pittsburgh, Seattle, Toronto, Vancouver, Washington DC.
*Your name:

*Your e-mail:

*Phone:

*Company name:

Additional notes:

We have received your message. A sales representative will contact you soon.

Thank you!.

more details
buy this course
Other Details

Register for a courseware sample

It's simple, and free.

 

Thank You!

You will receive an email shortly containing a link to download the requested sample of the labs for this course.