English French German Italian Portuguese Russian Spanish


  • Java Training

    javaInterSource offers live instructor-led courses on all important Java-related technologies, including Apache Struts, Enterprise Java Beans (EJB), J2SE Desktop Java Enterprise Edition (Java EE), Java Fundamentals, Java Web Services, JavaServer Faces, JBoss, Java Server Pages (JSP), and Spring.

    Please refer to our detailed course outlines below.

  • About Java

    Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities. Java applications are typically compiled to bytecode (class file) that can run on any Java Virtual Machine (JVM) regardless of computer architecture

    Java is general-purpose, concurrent, class-based, and object-oriented, and is specifically designed to have as few implementation dependencies as possible. It is intended to let application developers "write once, run anywhere". Java is considered by many as one of the most influential programming languages of the 20th century, and widely used from application software to web application.

    Read More

  • Course Details Java

    Classes are offered at client sites, at our Geneva training center, and via a live web conference. For detailed course outlines and scheduled classes, please see below.

    To book training, navigate to the course you need, then:

    • For scheduled online classes, register from the choices indicated.
    • If you need an alternative date, time or location, or if you want a live classroom course, click on “request an offer for this course,” to complete the form.

Object-Oriented Analysis and Design (OOAD) Training with UML

 PDF PrintEmail

Course duration

  • 5 Days

Course Outline

This Object-Orientated Analysis and Design (OOAD) with UML training course teaches students how to use object-oriented techniques from requirements gathering to implementation. Learn how to analyze and design classes and their relationships to each other in order to build a model of the business requirements. All the UML diagrams are covered in this OOAD class to identify the most suitable diagram suite for your organization. An emphasis is placed on Use Cases to capture and manage requirements and form the basis for test scenarios. Class relationships, through the use of Design Patterns, are leverage to enforce OO concepts that will produce a reusable structural design for your system that adapts well to change. Activity and Sequence diagrams are explored in some detail to model the dynamic aspects of your system. This is a hands-on OOAD class. Students will apply their new OOAD and UML skills obtained in the course to model prospective application solutions.

  • To understand requirements, analysis and design workflow
  • To learn to identify classes
  • To learn to use diagram notation for use cases, class and object representation, links and associations, inheritance and object messages
  • To gain a working knowledge of UML 2.0
  • To understand the advantages of Design patterns
  1. Introduction to Analysis and Design
    1. Why is Programming Hard?
    2. The Tasks of Software Development
    3. Modules
    4. Models
    5. Modeling
    6. Perspective
    7. Objects
    8. Change
    9. New Paradigms
  2. Objects
    1. Encapsulation
    2. Abstraction
    3. Objects
    4. Classes
    5. Responsibilities
    6. Attributes
    7. Composite Classes
    8. Operations and Methods
    9. Visibility
    10. Inheritance
    11. Protected and Package Visibility
    12. Scope
    13. Class Scope
  3. Advanced Objects
    1. Constructors & Destructors
    2. Instance Creation
    3. Abstract Classes
    4. Polymorphism
    5. Multiple Inheritance
    6. Solving Multiple Inheritance Problems
    7. Interfaces
    8. Interfaces with Ball and Socket Notation
    9. Templates
  4. Classes and Their Relationships
    1. Class Models
    2. Associations
    3. Multiplicity
    4. Qualified Associations
    5. Roles
    6. Association Classes
    7. Composition and Aggregation
    8. Dependencies
    9. Using Class Models
  5. Sequence Diagrams
    1. Sequence Diagrams
    2. Interaction Frames
    3. Decisions
    4. Loops
    5. Creating and Destroying Objects
    6. Activation
    7. Synchronous & Asynchronous
    8. The Objects Drive the Interactions
    9. Evaluating Sequence Diagrams
    10. Using Sequence Diagrams
  6. Communication Diagrams
    1. Communication Diagrams
    2. Communication and Class Diagrams
    3. Evaluating Communication Diagrams
    4. Using Communication Diagrams
  7. State Machine Diagrams
    1. What is State?
    2. Object-Oriented Analysis & Design
    3. Using the Unified Modeling Language
    4. State Notation
    5. Transitions and Guards
    6. Registers and Actions
    7. More Actions
    8. Internal Transitions
    9. Superstates and Substates
    10. Concurrent States
    11. Using State Machines
    12. Implementation
  8. Activity Diagrams
    1. Activity Notation
    2. Decisions and Merges
    3. Forks and Joins
    4. Drilling Down
    5. Iteration
    6. Partitions
    7. Signals
    8. Parameters and Pins
    9. Expansion Regions
    10. Using Activity Diagrams
  9. Package, Component, and Deployment Diagrams
    1. Modeling Groups of Elements - Package
    2. Diagrams
    3. Visibility and Importing
    4. Structural Diagrams
    5. Components and Interfaces
    6. Deployment Diagram
    7. Composite Structure Diagrams
    8. Timing Diagrams
    9. Interaction Overview Diagrams
  10. Use Cases
    1. Use Cases
    2. Use Case Diagram Components
    3. Actor Generalization
    4. Include
    5. Extend
    6. Specialize
    7. Other Systems
    8. Narrative
    9. Template for Use Case Narrative
    10. Using Use Cases
  11. Process
    1. Process
    2. Risk Management
    3. Test
    4. Reviews
    5. Refactoring
    6. History
    7. The Unified Process
    8. Agile Processes
  12. The Project
    1. Inception
    2. Elaboration
    3. Elaboration II
    4. Construction Iterations
    5. Construction Iterations - The Other Stuff
  13. Domain Analysis
    1. Top View - The Domain Perspective
    2. Data Dictionary
    3. Finding the Objects
    4. Responsibilities, Collaborators, and Attributes
    5. CRC Cards
    6. Class Models
    7. Use Case Models
    8. Other Models
    9. Judging the Domain Model
  14. Requirements and Specification
    1. The Goals
    2. Understand the Problem
    3. Specify a Solution
    4. Prototyping
    5. The Complex User
    6. Other Models
    7. Judging the Requirements Model
  15. Design of Objects
    1. Design
    2. Factoring
    3. Design of Software Objects
    4. Features
    5. Methods
    6. Cohesion of Objects
    7. Coupling between Objects
    8. Coupling and Visibility
    9. Inheritance
  16. System Design
    1. Design
    2. A Few Rules
    3. Object Creation
    4. Class Models
    5. Interaction Diagrams
    6. Printing the Catalog
    7. Printing the Catalog II
    8. Printing the Catalog III
    9. Object Links
    10. Associations
  17. Refactoring
    1. Refactoring
    2. Clues and Cues
    3. How to Refactor
    4. A Few Refactoring Patterns
  18. Appendix A - UML Syntax
  19. Appendix B - Design by Contract
    1. Contracts
    2. Enforcing Contracts
    3. Inheritance and Contract
  20. Appendix C - University Summary
  21. Appendix D - Implementations
    1. C++
    2. Java
    3. C#

InterSource Geneva, a premier Information Technology training firm, offers over 400 different courses on server, database and programming technologies, as well as end-user classes for the most popular office, graphics and design applications. We serve clients in Switzerland (Geneva, Lausanne, Bern, Basel, Zurich) and throughout Europe (France, Germany, Austria, Finland, Sweden, England, Netherlands, Spain, etc.).

InterSource offers custom, private courses at client sites, standard public courses in our Geneva classroom, and online training via live Web conference. Training is offered in English and many other languages (Francais, Deutsch, Espanol, Italiano.)

For an overall view of our offerings, please visit us at www.intersource.ch.