Summary:
This course uses the industry-standard Unified Modeling Language (UML) as a means of expressing OO concepts, 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: sing a UML Tool
- Introduction
- Selecting a UML Tool
- Poseidon UML
- Poseidon UML Screen Layout
- Poseidon UML Menu Bar
- File Formats Used by Poseidon UML
- EclipseUML
- EclipseUML Screen Layout
- EclipseUML Menu Bar
- The Eclipse Workspace
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
- Use Case Diagrams in Poseidon UML
- Use Case Diagrams in EclipseUML
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
- Class Diagrams in Poseidon UML
- Class Diagrams in EclipseUML
Chapter 7: 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
- Sequence Diagrams in Poseidon UML
- Collaboration Diagrams in Poseidon UML
- Sequence Diagrams in EclipseUML
- Collaboration Diagrams in EclipseUML
Chapter 8: 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
- State Diagrams in Poseidon UML
- State Diagrams in EclipseUML
Chapter 9: Activity Diagrams
- Refining the Models
- Activity Diagrams
- Activity Diagram Details
- Activity Diagram - Example
- Activity Diagram with Swimlanes
- Describing a Business Process
- Activity Diagrams in Poseidon UML
- Activity Diagrams in EclipseUML
Chapter 10: Implementation Diagrams
- Moving Towards Implementation
- Logical vs. Physical Architecture
- Hardware and Software Concepts
- Component Diagrams
- Deployment Diagrams
- Allocating Components to Nodes
- Implementation Diagrams in Poseidon UML
- Implementation Diagrams in EclipseUML
Chapter 11: 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 12: 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
- Intelligent Parcel Scale
- Weather Monitoring Station
- Recycling Machine
- Subway System
- Additional Problems
Appendix B: Reference
- Abbreviations and Acronyms
- Internet Resources
Appendix C: Design Patterns and UML
- Design Patterns
- Design Patterns and UML Diagrams
- Structural Pattern - Class Diagram
- Behavioral Pattern - Collaboration Diagram
- Behavioral Pattern - Sequence Diagram
Appendix D: Class Diagrams — Advanced Features
- Qualified Associations
- N-ary Associations
- Constraints
- Derived Elements
- Parameterized Classes
Tuition:
Tuition is $2300 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