OBJECT-ORIENTED ANALYSIS AND DESIGN– GTOD4

Course Description

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.

^^

Duration

5 days

^^

Target Audience

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

^^

Course Prerequisites

Familiarity with structured techniques such as functional decomposition is helpful.

If you have any questions or doubts as to whether you meet the pre-requisites for this course, or indeed are wondering which course best suits you, please consult with us to discuss your suitability for course attendance.

^^

Suggested Follow on Courses

Please contact us for further details.

^^

Course Content

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

Protected and Package Visibility

Scope

Class Scope

3. Advanced Objects

Constructors & Destructors

Instance Creation

Abstract Classes

Polymorphism

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

Object-Oriented Analysis & Design

Using the Unified Modeling Language© ITCourseware, LLC 2

Object-Oriented Analysis & Design

Using the Unified Modeling Language Rev 6.3.2

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© ITCourseware, LLC 3

Object-Oriented Analysis & Design

Using the Unified Modeling Language Rev 6.3.2

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

Also Discussed

18. UML Syntax

19. Design by Contract

Contracts

Enforcing Contracts

Inheritance and Contracts

20. University Summary

21. Implementations

C++

Java

C#

^^

See more Architecture courses