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
- 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
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