Skip Navigation Links

Course Length:
3 Days
Course Description:
This course uses the industry-standard Unified Modeling Language (UML) as a means of depicting OO software design and providing team members with a common notation and vocabulary for communicating their ideas. Topics include: use case diagrams, class diagrams, interaction diagrams, state diagrams, implementation diagrams, the UML process, and advanced modeling concepts.
Who Should Attend:
This course is designed for analysts, technical managers, and software developers who need a common, practical technique for describing object-oriented systems.
Benefits of Attendance:
Upon completion of this course, students will be able to:
  • Explain the difference between object and procedure orientation.
  • Understand object-oriented concepts such as encapsulation, inheritance, and polymorphism.
  • Compare object-oriented analysis with other approaches to systems analysis.
  • Explain the origins of the Unified Modeling Language.
  • Use common features of UML diagrams.
  • Describe and compare features of UML tools.
  • Identify actors and use cases.
  • Write use case descriptions.
  • Create use case diagrams.
  • Identify classes, associations, aggregations, and multiplicity.
  • Construct class diagrams at various levels of detail.
  • Create sequence and collaboration diagrams.
  • Identify object states and substates.
  • Draw state diagrams and activity diagrams.
  • Use component and deployment diagrams.
  • Understand general characteristics of UML processes.
  • Describe the object-oriented software life cycle.
  • Use basic object-oriented design and project metrics.
Prerequisites:
Experience in analysis, design, or development is desirable.
Course Outline:
  • Chapter 1: Object-Oriented Analysis and Design
    1. What is OOAD?
    2. Approaches to System Analysis
    3. Object-Oriented Methodologies
    4. History of UML
    5. What is UML?
    6. Models and Architectural Views
    7. Common Features of UML Diagrams
    8. Characteristics of a UML Process
  • Chapter 2: Object-Oriented Concepts
    1. What is Object-Oriented?
    2. What is an Object?
    3. Encapsulation
    4. Class vs. Object
    5. Inheritance
    6. Multiple Inheritance
    7. Polymorphism
    8. Object Orientation vs. Procedure Orientation
  • Chapter 3: Using a UML Tool
    1. Introduction
    2. Selecting a UML Tool
  • Chapter 4: Identifying Use Cases
    1. General Steps in a UML-Based Process
    2. Use Cases
    3. Actors
    4. Use Case Diagrams
    5. Use Case Description
    6. Use Case Template
    7. Use Case Relationships
    8. Use Case Diagram for Elevator System
    9. Business Modeling
  • Chapter 5: Discovering Classes
    1. Class Diagrams
    2. Class Diagram Details
    3. Class Stereotypes
    4. Discovering Classes
    5. Candidate Classes
  • Chapter 6: Associations
    1. Associations
    2. Association Roles
    3. Multiplicity
    4. Aggregation
    5. Inheritance
    6. Classes for Elevator System
    7. Class Diagram for Elevator System
    8. Association Classes
    9. Building the Static Model
  • Chapter 7: Design Patterns
    1. What is a Design Pattern?
    2. Reasons to Study Design Patterns
    3. History of Design Patterns
    4. Cataloging Design Patterns
    5. Design Pattern "Themes"
    6. The Singleton Pattern
    7. The Composite Pattern
    8. The Iterator Pattern
    9. The Strategy Pattern
  • Chapter 8: Interaction Diagrams
    1. Building the Dynamic Model
    2. Interaction Diagrams
    3. Sequence Diagrams
    4. Messages
    5. Lifelines
    6. Activations
    7. Sequence Diagram - Example
    8. Sequence Diagram for Elevator System
    9. Collaboration Diagrams
    10. Message Labels
    11. Collaboration Diagram - Example
    12. Collaboration Diagram for Elevator System
  • Chapter 9: State Diagrams
    1. States and Events
    2. State Diagrams
    3. Guard Conditions
    4. State Diagram Details
    5. Substates
    6. Concurrent Substates
    7. Disjoint Substates - Nesting
    8. Disjoint Substates - Layering
    9. The History Pseudostate
    10. State Diagrams for Elevator System
    11. Digital Clock / Timer
  • Chapter 10: Activity Diagrams
    1. Refining the Models
    2. Activity Diagrams
    3. Activity Diagram Details
    4. Activity Diagram – Example
    5. Activity Diagram with Swimlanes
    6. Describing a Business Process
  • Chapter 11: Behavioral Patterns
    1. The Observer Pattern
    2. Observer Pattern – Collaboration Diagram
    3. Observer Pattern – Sequence Diagram
    4. The Memento Pattern
    5. Memento Pattern – Sequence Diagram
  • Chapter 12: Implementation Diagrams
    1. Moving Towards Implementation
    2. Logical vs. Physical Architecture
    3. Hardware and Software Concepts
    4. Component Diagrams
    5. Deployment Diagrams
    6. Allocating Components to Nodes
  • Chapter 13: Object-Oriented Software Life Cycle
    1. The Object-Oriented Life Cycle
    2. The Iterative Process
    3. Estimating Object-Oriented Projects
    4. Object-Oriented Design Metrics
    5. Refactoring
    6. Steps Toward Reuse
  • Chapter 14: UML 2.0
    1. What’s New in UML 2.0
    2. Package Diagram
    3. Composite Structure Diagram
    4. Interaction Overview Diagram
    5. Use Case Multiplicities
    6. Exception Handling Notation
    7. Object Constraint Language
  • Appendix A: Analysis and Design Problems
    1. Online Survey Application
    2. Diagram Editor
    3. Budget Manager
    4. Intelligent Parcel Scale
    5. Weather Monitoring Station
    6. Recycling Machine
    7. Subway System
    8. Additional Problems
  • Appendix B: Reference
    1. Abbreviations and Acronyms
    2. Internet Resources
  • Appendix C: Class Diagrams - Advanced Features
    1. Qualified Associations
    2. N-ary Associations
    3. Constraints
    4. Derived Elements
    5. Parameterized Classes
  • Appendix D: AntiPatterns
    1. What is an AntiPattern?
    2. Reasons to Study AntiPatterns
    3. Functional Decomposition
    4. The Blob
    5. Poltergeists
  • Appendix E: EclipseUML
    1. EclipseUML
    2. EclipseUML Screen Layout
    3. EclipseUML Menu Bar
    4. The Eclipse Workspace
    5. Getting Started
    6. Use Case Diagrams
    7. Class Diagrams
    8. Sequence Diagrams
    9. Collaboration Diagrams
    10. State Diagrams
    11. Activity Diagrams
    12. Deployment Diagrams
  • Appendix F: ArgoUML
    1. ArgoUML
    2. ArgoUML Screen Layout
    3. ArgoUML Menu Bar
    4. File Formats Used by ArgoUML
    5. Getting Started
    6. Use Case Diagrams
    7. Class Diagrams
    8. Sequence Diagrams
    9. Collaboration Diagrams
    10. State Diagrams
    11. Activity Diagrams
    12. Deployment Diagrams