OOAD Using the Unified Modeling Language (UML)
Revision: TE1802_20071101
(8.63 KB) View, Download, or Print Catalog as a PDF.
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
- What is OOAD?
- Approaches to System Analysis
- Object-Oriented Methodologies
- History of UML
- What is UML?
- Models and Architectural Views
- Common Features of UML Diagrams
- Characteristics of a UML Process
- Chapter 2: Object-Oriented Concepts
- What is Object-Oriented?
- What is an Object?
- Encapsulation
- Class vs. Object
- Inheritance
- Multiple Inheritance
- Polymorphism
- Object Orientation vs. Procedure Orientation
- Chapter 3: Using a UML Tool
- Introduction
- Selecting a UML Tool
- Chapter 4: Identifying Use Cases
- General Steps in a UML-Based Process
- Use Cases
- Actors
- Use Case Diagrams
- Use Case Description
- Use Case Template
- Use Case Relationships
- Use Case Diagram for Elevator System
- Business Modeling
- Chapter 5: Discovering Classes
- Class Diagrams
- Class Diagram Details
- Class Stereotypes
- Discovering Classes
- Candidate Classes
- Chapter 6: Associations
- Associations
- Association Roles
- Multiplicity
- Aggregation
- Inheritance
- Classes for Elevator System
- Class Diagram for Elevator System
- Association Classes
- Building the Static Model
- Chapter 7: Design Patterns
- What is a Design Pattern?
- Reasons to Study Design Patterns
- History of Design Patterns
- Cataloging Design Patterns
- Design Pattern "Themes"
- The Singleton Pattern
- The Composite Pattern
- The Iterator Pattern
- The Strategy Pattern
- Chapter 8: Interaction Diagrams
- Building the Dynamic Model
- Interaction Diagrams
- Sequence Diagrams
- Messages
- Lifelines
- Activations
- Sequence Diagram - Example
- Sequence Diagram for Elevator System
- Collaboration Diagrams
- Message Labels
- Collaboration Diagram - Example
- Collaboration Diagram for Elevator System
- Chapter 9: State Diagrams
- States and Events
- State Diagrams
- Guard Conditions
- State Diagram Details
- Substates
- Concurrent Substates
- Disjoint Substates - Nesting
- Disjoint Substates - Layering
- The History Pseudostate
- State Diagrams for Elevator System
- Digital Clock / Timer
- Chapter 10: Activity Diagrams
- Refining the Models
- Activity Diagrams
- Activity Diagram Details
- Activity Diagram – Example
- Activity Diagram with Swimlanes
- Describing a Business Process
- Chapter 11: Behavioral Patterns
- The Observer Pattern
- Observer Pattern – Collaboration Diagram
- Observer Pattern – Sequence Diagram
- The Memento Pattern
- Memento Pattern – Sequence Diagram
- Chapter 12: Implementation Diagrams
- Moving Towards Implementation
- Logical vs. Physical Architecture
- Hardware and Software Concepts
- Component Diagrams
- Deployment Diagrams
- Allocating Components to Nodes
- Chapter 13: Object-Oriented Software Life Cycle
- The Object-Oriented Life Cycle
- The Iterative Process
- Estimating Object-Oriented Projects
- Object-Oriented Design Metrics
- Refactoring
- Steps Toward Reuse
- Chapter 14: UML 2.0
- What’s New in UML 2.0
- Package Diagram
- Composite Structure Diagram
- Interaction Overview Diagram
- Use Case Multiplicities
- Exception Handling Notation
- Object Constraint Language
- Appendix A: Analysis and Design Problems
- Online Survey Application
- Diagram Editor
- Budget Manager
- Intelligent Parcel Scale
- Weather Monitoring Station
- Recycling Machine
- Subway System
- Additional Problems
- Appendix B: Reference
- Abbreviations and Acronyms
- Internet Resources
- Appendix C: Class Diagrams - Advanced Features
- Qualified Associations
- N-ary Associations
- Constraints
- Derived Elements
- Parameterized Classes
- Appendix D: AntiPatterns
- What is an AntiPattern?
- Reasons to Study AntiPatterns
- Functional Decomposition
- The Blob
- Poltergeists
- Appendix E: EclipseUML
- EclipseUML
- EclipseUML Screen Layout
- EclipseUML Menu Bar
- The Eclipse Workspace
- Getting Started
- Use Case Diagrams
- Class Diagrams
- Sequence Diagrams
- Collaboration Diagrams
- State Diagrams
- Activity Diagrams
- Deployment Diagrams
- Appendix F: ArgoUML
- ArgoUML
- ArgoUML Screen Layout
- ArgoUML Menu Bar
- File Formats Used by ArgoUML
- Getting Started
- Use Case Diagrams
- Class Diagrams
- Sequence Diagrams
- Collaboration Diagrams
- State Diagrams
- Activity Diagrams
- Deployment Diagrams



