Coad and Yourdon’s OOA

Identify objects including entities and their methods.

Identify structures (which is a hierarchical relationships between objects), possible structures are inheritance relationship, part-of relationships.

Identify subject which group objects into higher level abstractions. (One level only)

Identify attributes.

Define services (methods).

Analysis of Coad and Yourdon

It is essentially simplified Smalltalk programming.

The behavior (or control) model is rather weak, it is rather difficult to know exactly how the functionality is implemented.

It is however simple to use and easy to learn, and has a graphical model.

The specification completion criteria are rather weak.

The Rumbaugh Method

Develop a statement of scope for the problem.

Build an object model

Identify classes that relevant for the problem

Define attributes and associations

Define object links

Organize object classes using inheritance

The Rumbaugh Method (II)

Develop a dynamic model

Prepare scenarios

Define events and develop an event trace for each scenario

Construct an even flow diagram

Develop a state diagram

Review behavior for consistency and completeness

Construct a functional model for the system

Identify inputs and outputs

Use data flow diagrams to represent flow transformation

Develop PSPECS for each function

Specify constraints and optimization criteria