Object-Oriented Analysis and Rational Rose




Object-Oriented is often Data Centered

Doing Object-Oriented Analysis does not mean we do not do Control Analysis

It probably means that we focus on data and their relationship first before we consider the control.


Identifying Classes and Objects

External entities (devices, people or other systems) that produce or consume information.

Things (such as reports, displays, letters, signals) that are part of the information domain of the problem.

Occurrence or events (such as essential internal events)

Roles (such as managers, engineers, students, teams) that are relevant to the application.

Places (such as physician office) that establish the context of the problem.

Structures (such as sensors, computers, disk drivers) that define a class of objects, or related classes of objects.


More Object Identification Criteria

Retained information -- the object values need to be remembered for the system to perform correctly.

Need services -- the object must have set of identification operations that can change the value of its attributes in some way.

Multiple attributes -- more attributes, more likely to be important

Common attributes -- a set of attributes can be defined for the potential objects, and these attributes apply to all occurrences of the object.

Common operations -- a set of operations can be defined for the object, and these operations apply to all occurrences of the objects.

Essential requirements -- external entities that appear in the problem space and produce or consume information that is essential to the operation of the system.

Coad and Yourdon, Object-Oriented Analysis, 2nd Edition, Prentice Hall 1991.


Completion of OOA

All classes and the class hierarchy have been defined and reviewed.

Class attributes and operations associated with a class has been defined and reviewed.

Class relationship has been established.

A Behavior model has been created and reviewed.

Reusable classes have been noted.

R. Pressman, Software Engineering, 4th Edition, McGraw-Hall, 1997.


The Booch Method

Identify classes and objects


Identify the semantics of classes and objects


Identify relationships among classes and objects


Conduct a series of refinements


Document-Driven Analysis

Identify analysis components including objects, relationships, methods, states and attributes.

Build object models and STDs.

Cross Reference object model and STDs.

Repeat the steps for refinement.


Rational Rose/Java Overview


Rational Rose/Java Overview


Object-Oriented Modeling




Object-Oriented Modeling (Cont.)


Object-Oriented Modeling (Cont.)








Scenario Diagram


Class Diagram (Object Model)


State-Transition Diagram (STD)


Global State Transition Diagram (GSTD)


Subsystem/module Diagram




Semantic Checking


Team Development Support


Round-Trip Engineering


Other information