Course 411:
Object-Oriented Analysis and Design Using UML

(5 days)

 

Course Description

Regardless of the software development approach, from the classic waterfall to extreme programming (XP), all of the experts agree that quality software development requires both analysis and design. The Unified Modeling Language (UML) provides a common, standard notation for recording both analysis models and design artifacts. This course delves into the processes of both object-oriented analysis and object-oriented design using UML as the notation language.

Learning Objectives

At the end of this course, the participant will know:

  • The importance of modeling in the software development life cycle
  • The UML notation and symbols
  • The object-oriented approach to analyzing and designing systems and software solutions
  • How to Employ the UML notation to create effective and efficient system designs

Who Should Attend

Software developers, system architects, analysts, designers, and anyone interested in understanding the UML as applied to object-oriented analysis and design of systems.

Prerequisites

A good understanding of object-oriented technologies and a basic understanding of analysis and design.


Course Outline

Unit 1: Analysis, Design, Modeling

  • Systems and Software Quality
  • Software Engineering
    • Life Cycle Properties
  • Analysis and Design
    • Structured vs. Object Approach
  • Modeling
    • Modeling Problem and Solution
    • Modeling Perspectives

Unit 2: The Object-Oriented Paradigm

  • Basic Concepts
    • Classes and Objects
    • Characteristic of Objects
    • Relationships
    • Methods
  • Object-Oriented Analysis
  • Object-Oriented Design
  • Processes and Approaches to OOA&D
    • Unified Process
    • Rational Unified Process
    • Agile Approaches
    • Other Approaches

Unit 3: Basic Unified Modeling Language

  • Overview
  • Basic Concepts
    • Classifiers
    • Well-Formedness Rules
  • Basic Notation
    • Classes and Objects
    • Characteristic of Objects
    • Relationships and Methods
    • Other Notation
  • UML Diagrams

Unit 4: Domain Modeling

  • The Information Model
  • Structural Modeling
    • Objects, Attributes, and Associations
    • Links and Messages
  • Information Modeling in the UML
    • Basic Constructs
    • Relationships
    • Stereotypes
    • Packages

Unit 5: Use Case and the Behavior Model

  • Use Case Model
    • Use Cases in the Life Cycle
  • Use Case Diagram
  • Use Case Description
    • Main Success Scenario
    • Alternate Paths
    • Preconditions and Post-Conditions
    • Exception Paths
  • Use Case Extensions
    • Use Case Relationships
      • Generalization
      • The <<extends>> Relationship
      • The <<includes>> Relationship
      • Extension Points
    • Packages

Unit 6: The Analysis Phase

  • Modeling Process
    • Architectural Views
    • Use Case Realizations
  • Activity Diagrams
    • Application of the Activity Diagram
    • Activity Diagram Notation and Syntax
  • State Machines
    • Application of the State Machine
    • State Machine Notation and Syntax
  • Sequence Diagrams
    • Application of the Sequence Diagram
    • Sequence Diagram Notation and Syntax
  • Collaboration Diagrams
    • Communication diagrams
    • Application of the Communication Diagram
    • Communication Diagram Notation and Syntax

Unit 7: Design Phase

  • Moving to Code
    • Internal Component Definition
  • Design for Reuse
  • Design Class Diagrams
    • Operations
    • Methods
  • Designing Quality into Modules
    • Iterating the Design
    • Refactoring
    • Design Best Practices
      • Cohesion
      • Complexity
      • Coupling
      • Congruence

Unit 8: Physical Design

  • UML Implementation Diagrams
  • Component Diagram
    • Application of the Component Diagram
    • Component Diagram Notation and Syntax
  • Deployment diagram
    • Application of the Deployment Diagram
    • Deployment Diagram Notation and Syntax

Unit 9: Patterns

  • The Pattern Concept
    • Benefits of Patterns
  • Common Design Patterns
    • Useful Analysis Patterns
    • Useful Design Patterns

Unit 10: The Bottom Line

  • A Development Process
  • Where to Go for More Information

Please Contact Your ROI Representative to Discuss Course Tailoring!