Zoom Outline PDF View  or  Email Back to Schedule for All States


Object Oriented Application Development With UML




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.

AUDIENCE:   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.

PREREQUISITES:   Some analysis, design or programming experience is essential.

DURATION:   4 days

APPROACH:   Instructor-led, group-paced, classroom-delivery learning model with structured hands-on activities.

OBJECTIVES:  

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

COURSE CONTENT:  
  1. 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
  2. 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
  3. 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
  4. 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
  5. Modeling the Structure of a System
  6. Specifying classes
    • Representing information as attributes
    • Representing functionality as operations
  7. Identifying relationships between classes
    • Dependencies
    • Associations
    • Aggregation and composition
    • Generalization
  8. Object and class diagrams: the core of UML
    • Showing classes and their relationships
    • Depicting snapshots using object diagrams
  9. Modeling the Behavior of a System
  10. Use case diagrams: describing user requirements
    • Representing systems boundaries
    • Actors and use cases
    • Notations for refinement
  11. 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
  12. Creating Class and Object Diagrams
    • Draw a Simple Class Diagram
    • Document Interfaces
    • Document Associations
    • Document Inheritance
    • Document Aggregation
    • Draw Object Diagrams
  13. Interacting with Objects Using Sequence Diagrams
    • Create a Sequence Diagram
    • Handle Combined Fragments in Sequence Diagrams
  14. Modeling Dynamic Behavior Using State Machine and Activity Diagrams
    • Create a State Machine Diagram
    • Draw Activity Diagrams
  15. Representing State Machines
  16. State machine diagrams: capturing state-dependent behavior
    • States, transitions and events
    • Concurrent substates
    • History and synch states
  17. Activity diagrams: specifying behavioral logic
    • Modeling workflows
    • Partitioning activities using swimlanes
    • Concurrency and synchronization of parallel activities
  18. Using Communication, Timing, and Interaction Overview Diagrams
    • Create a Communication Diagram
    • Create a Timing Diagram
    • Create an Interaction Overview Diagram
  19. Using Component, Composite Structure, and Deployment Diagrams
    • Create a Component Diagram
    • Create a Composite Structure Diagram
    • Create a Deployment Diagram
  20. Layering the System into Packages
    • Use Packages to Organize the Elements of a Design
    • Use Packages with Use Cases
  21. Managing and Scheduling the Software Development Process
    • Manage a Software Project
    • Prioritize Software Development
  22. An Introduction to Design Patterns and Design Refactoring
    • Patterns, mechanisms and frameworks
    • Representing design patterns
  23. Life cycle stages
    • Using UML within the Unified Process
    • Modeling business processes
    • Capturing requirements
    • Systems analysis
    • Software design
AM/08

© 2007 Verhoef Training, Inc.

Schedule Dates

Course offered as
Inhouse or Public

Date Location State







Copyright © 2007 - Verhoef Group of Companies - All Rights Reserved