Home    |    Instructor-led Training    |    Online Training     
         
 
Courses
ADA
Adobe
Agile
AJAX
Android
Apache
AutoCAD
Big Data
BlockChain
Business Analysis
Business Intelligence
Business Objects
Business Skills
C/C++/Go programming
Cisco
Citrix
Cloud Computing
COBOL
Cognos
ColdFusion
COM/COM+
CompTIA
CORBA
CRM
Crystal Reports
Data Science
Datawarehousing
DB2
Desktop Application Software
DevOps
DNS
Embedded Systems
Google Web Toolkit (GWT)
IPhone
ITIL
Java
JBoss
LDAP
Leadership Development
Lotus
Machine learning/AI
Macintosh
Mainframe programming
Mobile
MultiMedia and design
.NET
NetApp
Networking
New Manager Development
Object oriented analysis and design
OpenVMS
Oracle
Oracle VM
Perl
PHP
PostgreSQL
PowerBuilder
Professional Soft Skills Workshops
Project Management
Python
Rational
Ruby
Sales Performance
SAP
SAS
Security
SharePoint
SOA
Software quality and tools
SQL Server
Sybase
Symantec
Telecommunications
Teradata
Tivoli
Tomcat
Unix/Linux/Solaris/AIX/
HP-UX
Unisys Mainframe
Visual Basic
Visual Foxpro
VMware
Web Development
WebLogic
WebSphere
Websphere MQ (MQSeries)
Windows programming
XML
XML Web Services
Other
Object-Oriented Analysis and Design with the Unified Modeling Language
Overview

Learn how to use Object-Oriented techniques to analyze real-world requirements and to design solutions that are ready to code. Students learn how to identify and design objects, classes, and their relationships to each other, which includes links, associations, and inheritance. A strong emphasis is placed on diagram notation for use cases, class and object representation, links and associations, and object messages. This course utilizes UML 2.0 notation.

Audience

Analysts, designers, and programmers responsible for applying OO techniques in their software engineering projects.

Prerequisites

Familiarity with structured techniques such as functional decomposition is helpful.

Course duration

5 Days

Course outline

  1. Introduction to Analysis and Design
    • Why is Programming Hard?
    • The Tasks of Software Development
    • Modules
    • Models
    • Modeling
    • Perspective
    • Objects
    • Change
    • New Paradigms

  2. Objects
    • Encapsulation
    • Abstraction
    • Objects
    • Classes
    • Responsibilities
    • Attributes
    • Composite Classes
    • Operations and Methods
    • Visibility
    • Inheritance
    • Inheritance Example
    • Protected and Package Visibility
    • Scope
    • Class Scope

  3. Advanced Objects
    • Constructors & Destructors
    • Instance Creation
    • Abstract Classes
    • Polymorphism
    • Polymorphism Example
    • Multiple Inheritance
    • Solving Multiple Inheritance Problems
    • Interfaces
    • Interfaces with Ball and Socket Notation
    • Templates

  4. Classes and Their Relationships
    • Class Models
    • Associations
    • Multiplicity
    • Qualified Associations
    • Roles
    • Association Classes
    • Composition and Aggregation
    • Dependencies
    • Using Class Models

  5. Sequence Diagrams
    • Sequence Diagrams
    • Interaction Frames
    • Decisions
    • Loops
    • Creating and Destroying Objects
    • Activation
    • Synchronous & Asynchronous
    • The Objects Drive the Interactions
    • Evaluating Sequence Diagrams
    • Using Sequence Diagrams

  6. Communication Diagrams
    • Communication Diagrams
    • Communication and Class Diagrams
    • Evaluating Communication Diagrams
    • Using Communication Diagrams

  7. State Machine Diagrams
    • What is State?
    • State Notation
    • Transitions and Guards
    • Registers and Actions
    • More Actions
    • Internal Transitions
    • Superstates and Substates
    • Concurrent States
    • Using State Machines
    • Implementation

  8. Activity Diagrams
    • Activity Notation
    • Decisions and Merges
    • Forks and Joins
    • Drilling Down
    • Iteration
    • Partitions
    • Signals
    • Parameters and Pins
    • Expansion Regions
    • Using Activity Diagrams

  9. Package, Component, and Deployment Diagrams
    • Modeling Groups of Elements - Package Diagrams
    • Visibility and Importing
    • Structural Diagrams
    • Components and Interfaces
    • Deployment Diagram
    • Composite Structure Diagrams
    • Timing Diagrams
    • Interaction Overview Diagrams

  10. Use Cases
    • Use Cases
    • Use Case Diagram Components
    • Actor Generalization
    • Include
    • Extend
    • Specialize
    • Other Systems
    • Narrative
    • Template for Use Case Narrative
    • Using Use Cases

  11. Process
    • Process
    • Risk Management
    • Test
    • Reviews
    • Refactoring
    • History
    • The Unified Process
    • Agile Processes

  12. The Project
    • Inception
    • Elaboration
    • Elaboration II
    • Construction Iterations
    • Construction Iterations - The Other Stuff

  13. Domain Analysis
    • Top View - The Domain Perspective
    • Data Dictionary
    • Finding the Objects
    • Responsibilities, Collaborators, and Attributes
    • CRC Cards
    • Class Models
    • Use Case Models
    • Other Models
    • Judging the Domain Model

  14. Requirements and Specification
    • The Goals
    • Understand the Problem
    • Specify a Solution
    • Prototyping
    • The Complex User
    • Other Models
    • Judging the Requirements Model

  15. Design of Objects
    • Design
    • Factoring
    • Design of Software Objects
    • Features
    • Methods
    • Cohesion of Objects
    • Coupling between Objects
    • Coupling and Visibility
    • Inheritance

  16. System Design
    • Design
    • A Few Rules
    • Object Creation
    • Class Models
    • Interaction Diagrams
    • Printing the Catalog
    • Printing the Catalog II
    • Printing the Catalog III
    • Object Links
    • Associations

  17. Refactoring
    • Refactoring
    • Clues and Cues
    • How to Refactor
    • A Few Refactoring Patterns

  18. Appendix A - UML Syntax


  19. Appendix B - Design by Contract
    • Contracts
    • Enforcing Contracts
    • Inheritance and Contracts

  20. Appendix C - University Summary


  21. Appendix D - Implementations
    • C++
    • Java
    • C#

Please contact your training representative for more details on having this course delivered onsite or online

Training Outlines - the one stop shopping center for IT training.
© Training Outlines All rights reserved