<IMG SRC="fla_train.gif" WIDTH=200 HEIGHT=400 BORDER=0> <IMG SRC="fla_fill.gif" WIDTH=200 HEIGHT=400 BORDER=0> <IMG SRC="fla_fill.gif" WIDTH=200 HEIGHT=400 BORDER=0> <IMG SRC="fla_fill.gif" WIDTH=200 HEIGHT=400 BORDER=0>
Click Here for the Outline in PDF Version
Course Outline: Object Oriented Design and Analysis using UML

(4 Days) Lecture with Group Labs
    Learning Objectives

  • Learn how the Unified Modeling Language can be employed to clearly model software intensive systems
  • Discover the role of the Use Case to effectively gather requirements
  • Explore how to translate class diagrams into effective relational database designs
  • Find out which of the nine UML diagrams are most effective on your software projects


This course description should be used to determine whether the course is appropriate for you based on your current skill and technical training needs. Technical information is provided on the intended audience, course prerequisites, and covered topics. Course content, prices, and availability are subject to change without notice.


Course Audience

Information Technology analysts, developers, software engineers, and business analysts. Business and technical leaders will also benefit by learning first-hand what is required for using object oriented techniques.

Course Description

Object-Oriented Analysis & Design Using UML workshop teaches attendees to fully define the scope, requirements/analysis and design of an application using object analysis/design techniques. Moving quickly from concept to technique, multiple workshops iteratively build the models and details needed to exploit the use of object techniques. The key features and notations of the emerging UML (Unified Modeling Language) are covered. The course focuses on building business systems using the practical and intuitive elements of object-oriented methodologies.

Prerequisites

Relevant reading and exposure on Object-Oriented Design and programming concepts.

TOPICS COVERED IN LECTURE & LAB

Definition

  • Introduction & Concepts
  • Object-orientation vs. structured thinking
  • Constructs: classes, objects, messages, encapsulation, objects, abstract/concrete classes
  • Structure: inheritance, aggregation, generalization
  • Abstraction, collections
  • Messages vs. subroutine calls
  • Object orientation benefits & barriers
  • Model overview and interrelationships
  • Object-oriented development process
  • Course notation conventions
Defining The Application Domain

  • Criticality of domain definition and project scope
  • Defining: technical and business objectives, project constraints, critical success factors
  • Event list for scoping the project
  • External and internal-temporal events; event table
  • Scoping the domain with Classes
  • Defining domain business rules
  • Actors, actor classes, actor catalog
  • Preliminary technical and application architecture definition; infrastructure components
  • Incremental project delivery
Domain/Use Case Analysis

  • Use case: introduction and usage
  • Visual and text documentation of use cases
  • Decomposing a use case
  • Actors and use cases
  • Use case generalization
  • Use case ‘uses’ , ‘extends’ & variations
  • Use cases and business and temporal events
  • Quality testing with scenarios
Class/Object Model

  • Extracting classes from use cases
  • Responsibility driven design with CRC technique
  • Format of CRC ‘card’
  • Responsibilities and collaborations
  • CRC process and validation
  • Quality testing with CRC card design
  • Class/object model: determining methods and attributes
  • Class/object model notation
  • Mapping business rules to class/object model
  • Defining associations: multiplicity, constraints, roles, recursivity, ordering, association class
  • Inheritance: abstract classes, disjoint subclass, multiple inheritance
  • Aggregation and composites
  • Overriding
  • Design issues
  • Class/object model validation
Dynamics Model

  • Sequence diagram
  • State and objects; state rules
  • Events and objects
  • Object life cycle
  • State transition diagram
  • When to use state transition diagrams
  • Validation: class/object and dynamics models
Interface Model

  • GUI interaction and events
  • Events and GUI event queue
  • Object-oriented user interface design process
  • Three schema architecture for oo interface design
  • MVC architecture
  • Mapping from business to interface classes
  • Extending the Use Case model for GUI design
  • User task analysis techniques
  • Actor profiling
  • Prototyping the user interface
  • GUI style guides and tips
Design/Architecture

  • Need for design
  • Partitioning & object-oriented architectures
  • Generic layered architecture
  • Coupling and design
  • Design features impacting partitioning
  • Partitioning strategies for design feature
  • Packages
  • Stereotypes
  • Object-oriented features of RDBMS
  • Mapping class/object model to RDBMS
  • Mapping container class and iteration to RDBMS
  • Usage analysis for design and partitioning
  • Deployment diagram
  • Patterns overview: purpose and origins
  • Causes of redesign
  • Catalogued patterns
  • Coad patterns
  • MVC pattern
  • Looking for patterns for design
Policy