Chapter 21 Object-Oriented Analysis

Overview

This chapter describes the process of creating an object-oriented analysis (OOA) model for software development projects. The OOA model is composed of graphical or text-based representations that define class attributes, relationships, behaviors, and inter-class communication. OOA begins with scenario-based descriptions (use cases) of how actors (people, machines, systems) in the problem space interact with the product to be built. Class-Responsibility-Collaborator modeling translates use-case information into representations of classes and their collaborations. An object-relationship model can be built from the collaborator network. The object-behavior model is represented using a state transition diagram. The OOA model needs to be reviewed for quality like any other software engineering product.

 

OOA Tasks

  1. Basic user requirements must be communicated between the customer and the software engineer.
  2. Classes must be identified (e.g. define attributes and methods)
  3. Specify class hierarchy
  4. Represent object-to-object relationships
  5. Model object behavior
  6. Reapply 1 through 5 iteratively until model is complete

 

OOA Generic Steps

 

Unified Modeling Language Perspectives

 

Domain Analysis Activities

 

OOA Model Generic Components

 

Use Case Objectives

 

Class-Responsibility-Collaborator (CRC) Modeling

 

Criteria for Inclusion of a Class on a CRC Card

 

Allocating Responsibilities to Classes

 

Collaborators

 

Reviewing CRC Models

 

Deriving the Object-Relationship Model

 

Object-Behavior Model Construction