Course Summary
You have probably written software code that focuses on
the procedures of a system. You may now need to write
code that focuses on the properties of the objects involved
in the system rather than the procedures. We will begin
by examining the concepts underlying the object-oriented
programming model.
Modern software systems are complex. By pictorially representing
the software design and business processes, organizations
can deliver higher quality systems to the customers and
end users.
UML (Unified Modeling Language) is the OMG approved industry-standard
notation for producing the models of a system. It is used
for visualizing, specifying, constructing and documenting
the artifacts of a software-intensive system. You can
use UML with all processes, throughout the development
life cycle from analysis to testing and debugging, and
across different implementation technologies.
In this course, you will be introduced to the basic concepts
of the Unified Modeling Language (UML), Model Driven Architecture
(MDA), and the Unified Software Development Process. You
will also draw all the 13 diagrams of the UML.
You'll learn to generate and interpret UML models as applied
to a wide range of activities using the significant extensions
and enhancements of UML 2. These skills are put into practice
using a variety of tools.
Topics Covered In This Course
Describing the Characteristics and Benefits of Object-Oriented
Programming
- Examine the Different Approaches to Problem Set Analysis
- Describe the Evolution of the Object Model
- Identify the Benefits of Object-Oriented Programming
Identifying the Elements of the Object Model
- Define Object Relationships and Attributes
- Objects and classes
- Links and relationships
- Examine Classes
- Identify the Relationship Between Classes
- Inheritance and polymorphism
- Examine Polymorphism in Class Implementations
Identifying the Key Phases in Software Product Development
- Identify the Aspects of a Good Project Plan
- Identify the Elements in Software Requirement Specifications
- Determine the Steps Involved in Designing a Class Structure
- Examine the Coding Process
Introduction to UML
- Enumerate the Diagramming Languages of UML
- Explore the Basic Models of the Model Driven Architecture
- Explore the Basic Principles of the Unified Software Development
Process
Modeling the Structure of a System
Specifying classes
- Representing information as attributes
- Representing functionality as operations
Identifying relationships between classes
- Dependencies
- Associations
- Aggregation and composition
- Generalization
Object and class diagrams: the core of UML
- Showing classes and their relationships
- Depicting snapshots using object diagrams
Modeling the Behavior of a System
Use case diagrams: describing user requirements
- Representing systems boundaries
- Actors and use cases
- Notations for refinement
Developing a System Using Use Cases
- Create Simple Use Case Diagrams
- Use One Use Case to Extend Another Use Case
- Include One Use Case in Another Use Case
- Use Multiplicities in Use Cases
Creating Class and Object Diagrams
- Draw a Simple Class Diagram
- Document Interfaces
- Document Associations
- Document Inheritance
- Document Aggregation
- Draw Object Diagrams
Interacting with Objects Using Sequence Diagrams
- Create a Sequence Diagram
- Handle Combined Fragments in Sequence Diagrams
Modeling Dynamic Behavior Using State Machine and Activity
Diagrams
- Create a State Machine Diagram
- Draw Activity Diagrams
Representing State Machines
State machine diagrams: capturing state-dependent behavior
- States, transitions and events
- Concurrent substates
- History and synch states
Activity diagrams: specifying behavioral logic
- Modeling workflows
- Partitioning activities using swimlanes
- Concurrency and synchronization of parallel activities
Using Communication, Timing, and Interaction Overview Diagrams
- Create a Communication Diagram
- Create a Timing Diagram
- Create an Interaction Overview Diagram
Using Component, Composite Structure, and Deployment Diagrams
- Create a Component Diagram
- Create a Composite Structure Diagram
- Create a Deployment Diagram
Layering the System into Packages
- Use Packages to Organize the Elements of a Design
- Use Packages with Use Cases
Managing and Scheduling the Software Development Process
- Manage a Software Project
- Prioritize Software Development
An Introduction to Design Patterns and Design Refactoring
- Patterns, mechanisms and frameworks
- Representing design patterns
Life cycle stages
- Using UML within the Unified Process
- Modeling business processes
- Capturing requirements
- Systems analysis
- Software design
What You Can Expect
You will examine the principles of object-oriented programming
and UML2. You gain hands-on UML experience using UML tools.
Exercises include:
- Modeling system requirements and business processes with
use cases
- Representing system structure using class and object diagrams
- Modeling behavior with interaction, state machine and activity
diagrams
- Generating HTML and textual documentation
- Enhancing diagrams with UML extensions
- Producing interrelated diagrams of a larger system model
At the end of this course, participants will be able to:
- Describe the characteristics and benefits of object-oriented
programming.
- Identify the elements of the object model.
- Identify the key phases in software product development.
- Explore software design methodologies and tools.
- Determine the use of object programming in windowed applications.
- Be introduced to the diagramming languages of UML and the
concepts involved in the software development process.
- Model software and non-software systems using UML 2
- Capture and document user requirements using use cases
- Develop a system using Use Cases.
- Create Class diagrams having responsibilities, relationships,
and an Object diagram.
- Depict interactions with objects using Sequence diagrams.
- Create State Machine and Activity diagrams.
- Create Communication, Timing, and Interaction Overview diagrams.
- Describe the actual implementation of a system using the
Component, Composite Structure, and Deployment diagrams.
- Layer the system into packages.
- Manage and schedule the software development process.
- Generate and interpret UML models using the complete diagramming
notation
- Identify UML tools to forward- and reverse-engineer code,
XML and database schemas
- Ensure consistency and accuracy throughout all diagrams
- Represent design patterns in UML
Who Should Take This Course
The target student is interested in learning general object-oriented
programming concepts. This course provides a foundation
for students desiring to go on and learn one or more object-oriented
programming languages. Business analysts, designers, programmers,
project managers and all other personnel involved in systems
development. UML practitioners who wish to update their
skills to UML 2 will also benefit. Knowledge of object-oriented
techniques is helpful but not required.
Recommended Prerequisites
Some analysis, design or programming experience is essential.
Training Style
Instructor-led, group-paced, classroom-delivery learning
model with structured hands-on activities.
Related Courses
Code |
Course Title |
Duration |
Level |
|
OOADU |
Object-Oriented Analysis and Design Using UML |
3 Days |
I |
Details |
Every student attending a Verhoef Training class will receive
a certificate good for $100 toward their next public class taken
within a year.
You can also buy "Verhoef Vouchers" to get a discounted rate for a
single student in any of our public or web-based classes.
Contact your account manager or our sales office for details.