object oriented analysis & design with UML 2.0

Upon completion of the Object Oriented Analysis & Design with UML 2.0 workshop, Participants will be able to:

  • Describe the concepts that define Object-Oriented Systems including an understanding of object details and interfaces
  • Explain how to model systems, subsystems, and components using object concepts
  • Apply UML diagrams to the development process including Class Diagrams, Interaction Diagrams and Design Patterns
  • Demonstrate knowledge of the industry standard Unified Modeling Language (UML 2.0)
  • Identify the phases and deliverables of the OO Development Process
  • Translate business needs into Use Cases and Supplemental Documents
  • Design a visual representation of an application with Unified Modeling Language (UML 2.0)

This Object Oriented Analysis & Design with UML 2.0 Training course is designed to teach essential object-oriented concepts and their application within a practical analysis and design process. The most common analysis and design methods are presented, including Use Case analysis, problem domain analysis, activity diagramming, interaction diagramming, and the application of design heuristics and patterns. Using the Unified Modeling Language (UML 2.0) to produce analysis and design modeling deliverables is also covered.

  • Some programming knowledge and system design is helpful but not required since this is an overview class.

  • Developers
  • Business Analysts
  • Anyone desiring to enhance their knowledge of Object-Oriented Development using the UML

COURSE AGENDA

  • Introduction
  • Structural, behavioral and interaction diagrams
  • Overview of UML 2.0 Diagram Types
  • Use Case
  • Activity
  • State Machine
  • Sequence
  • Communication
  • Interaction Overview
  • Timing
  • Class
  • Object
  • Component
  • Composite Structure
  • Package
  • Deployment
  • What is OOAD?
  • What is UML?
  • OO development objectives
  • Roadmap of phases and milestones
  • Review and iteration
  • No exercise
  • Introduction
  • Transition from business needs to Use Cases and Supplementary documents
  • Focusing on the Domain
  • The role of Business Modeling in preparation for development of Use Cases
  • Use Cases and Supplementary documentation
  • The process of finding Actors and Use Cases
  • Exercise – Use Case diagramming
  • Removing redundancies in Use Cases using Include, Extend, and Generalization
  • Exercise – Refining Use Cases
  • The use of Activity diagrams to visually model Use Case Scenarios
  • Exercise – Activity diagramming
  • Classes
  • Objects
  • Abstraction
  • Inheritance
  • Polymorphism
  • Encapsulation
  • Messages and Methods
  • Relationships
  • Interfaces
  • Packages
  • No exercise
  • Transition from Use Case Analysis to Domain Analysis
  • Domain Model
  • Use Case Realization
  • Allocate responsibilities for realizing requirements to Analysis elements
  • Architectural concepts in Analysis
  • Structure of a Domain
  • Object-Oriented Design
  • Transition from Analysis to Design
  • Overview of Design
  • Basic Architectural Design
  • Exploring Behavior
  • Finding Operations
  • Class Stereotypes
  • Sequence Diagrams
  • Exercise – Sequence diagramming
  • Exercise – High level Class diagramming
  • Collections
  • Process Summary
  • Review questions and discussion
  • Modeling Elements and Techniques
  • Relationships
  • Role Names
  • Association classes
  • Class Scope
  • Visibility
  • Navigability
  • Qualified Associations
  • Interfaces
  • Abstract classes
  • Collaboration Diagrams
  • State Transition Modeling
  • Exercise
  • Review questions and discussion
  • Detailed Design
  • Architectural Concepts in Design
  • Architectural choices
  • Exercise – Detailing the Class model
  • Review questions and discussion
  • Creating an Object Model
  • Introduction
  • Creating the model
  • Optional Exercise – Creating an Object diagram
  • Review questions and discussion
  • Organizing Builds into Packages
  • Using Component diagrams to organize code into modules
  • Using Deployment diagrams to document code distribution
  • Review questions and discussion
  • Advanced Architectural Design
  • Design Patterns
  • Applying and Authoring Patterns and Transformations for automating refinement of models
  • Process Summary