Object Oriented Analysis
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
- Candidate Object Classes are indicated by the occurrence of nouns.
- The nouns can the be organized into related groups termed classes.
- Look for adjectives and model those as attributes.
- Action Verbs can be modeled as operations.
- Operations are computational services provided by an object.
- Stative Verbs are modeled as relationships.
Technique
- Obtain textual description of problem
- Underline all nouns
- Organize nouns into groups to become candidate classes
- Underline all adjectives
- Assign adjectives as attributes of candidate classes
- Underline verbs, differentiating action vs stative
- Assign action verbs as operations on classes
- 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