Reaves.dev

v0.1.0

built using

Phoenix v1.7.20

Object Oriented Analysis

Stephen M. Reaves

::

2023-09-11

Notes about Lesson 4 of CS-6310

Summary

Analysis

Analysis := the process of understanding a problem

Object Oriented Analysis

OOA is a requirements analysis technique

  • Models real world objects based on their descriptions
  • Produces boject analysis model
    • Expressed using UML

History

OOA pays primary attention to objects

Prior to OOA, the predominant method was structured design

  • AKA Functional Decomposition

Objects were seen as a better starting point than functions because functions change more frequently than objects during maintenance.

How?

Look through requirements documents, identifying nouns and verbs

  • Use identified words to build up descriptions of classes and relationships
    • Nouns -> classes
    • Action Verbs -> operations
    • Adjectives -> attributes
    • Stative Verbs -> relationships

Steps

  1. Candidate Object Classes are indicated by the occurrence of nouns.
  2. The nouns can the be organized into related groups termed classes.
  3. Look for adjectives and model those as attributes.
  4. Action Verbs can be modeled as operations.
  • Operations are computational services provided by an object.
  1. Stative Verbs are modeled as relationships.

Technique

  1. Obtain textual description of problem
  2. Underline all nouns
  3. Organize nouns into groups to become candidate classes
  4. Underline all adjectives
  5. Assign adjectives as attributes of candidate classes
  6. Underline verbs, differentiating action vs stative
  7. Assign action verbs as operations on classes
  8. Assign stative verbs as attributes or relationships

Issues

  • Some words are duplicates
  • Some words share the same stem
    • Stemming removes prefixes and suffixes

Initial Class Model Diagram

Groups form candidate classes

  • A Class is a description of a group of related objects
  • Represented by rectangles
    • Possibly vertically partitioned for attributes and operations

Conclusions are always tentative