HOME
EMail Signup
Current Schedule
Onsite Courses
Register Online
Request Brochure
Free On-Site Price Quote
Download Catalog
Distance Learning
ATI — Who We Are
Contact ATI Courses
Search Site
Attendees Testimonials
The ATI FAQ Sheet
Suggestions/Wait List
New Courses for 2009
Become an ATI Instructor
Acoustics & Sonar
Rockets & Space
ATI Blog
ATI Space News
ATI Site Map
ATI Staff Tutorials
ATI Sampler Page
 

Information Technology

ATI's OOAD Using the Unified Modeling Language (UML)course

Summary:

    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.

Prerequisites:

    Experience in analysis, design, or development is desirable.

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; and
    • Use basic object-oriented design and project metrics.

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

Tuition:

    Tuition is $2000 per person at one of our scheduled public courses. Onsite pricing is available. Government personnel qualify for reduced rates. Please call us at 410-956-8805 or send an email to ati@ATIcourses.com.

Register Now Without Obligation