Analysis

References:

  1. Bernd Bruegge and Allen H. Dutoit, "Object-Oriented Software Engineering", Third Edition, Chapter 5

5.1 - Introduction: An Optical Illusion

5.2 - An Overview of Analysis

5.3 - Analysis Concepts

5.3.1 - Analysis Object Models and Dynamic Models

5.3.2 - Entity, Boundary, and Control Objects

5.3.3 - Generalization and Specialization

5.4 - Analysis Activities: From Use Cases to Objects

5.4.1 - Identifying Entity Objects

5.4.2 - Identifying Boundary Objects

5.4.3 - Identifying Control Objects

5.4.4 - Mapping Use Cases to Objects with Sequence Diagrams

5.4.5 - Modeling Interactions among Objects with CRC Cards

5.4.6 - Identifying Associations

5.4.7 - Identifying Aggregates

5.4.8 - Identifying Attributes

5.4 9 - Modeling State-Dependent Behavior of Individual Objects

5.4.10 - Modeling Inheritance Relationships between Objects

5.4.11 - Reviewing the Analysis Model

5.4.12 - Analysis Summary

5.5 - Managing Analysis

5.5.1 - Documenting Analysis

See also the Software Engineering Report Template provided for this class, in particular sections II and III.

5.5.2 - Assigning Responsibilities

5.5.3 - Communicating about Analysis

5.5.4 - Iterating over Analysis Model

5.5.5 Client Sign-Off

5.6 - ARENA Case Study

5.6.1 - Identifying Entity Objects

Heuristics for distinguishing between noun phrases for objects, attributes, and associations:

  • Attributes are properties
  • Attributes have simple types
  • Nouns referring to collections are associations, often with implicit ends

5.6.2 - Identifying Boundary Objects

5.6.3 - Identifying Control Objects

5.6.4 - Modeling Interactions Among Objects

5.6.5 - Reviewing and Consolidating the Analysis Model

5.6.6 - Lessons Learned