Database Reference
In-Depth Information
software planning in this way yields a number of significant advantages; moreover, even if
it turns out that the software development environment is not object-oriented, the effort
is not lost (in light of the previous paragraph).
Several object identification techniques have been proposed by the software
engineering industry. Among the approaches that have been proposed are the following:
•
Using Things to be Modeled
•
Using Definitions of Objects, Categories and Types
•
Using Decomposition
•
Using Generalizations and Subclasses
•
Using OO Domain Analysis or Application Framework
•
Reusing Individual Hierarchies, Objects and Classes
•
Using Personal Experience
•
Using the Descriptive Narrative Approach
•
Using Class-Responsibility-Collaboration Card
•
Using the Rule-of-Thumb Method
These methodologies are discussed in the companion text on software engineering
(see [Foster, 2010]). To get you adjusted to the idea of object identification, two of the
approaches are summarized here.
A3.8.1 The Descriptive Narrative Approach
To use the
descriptive narrative approach
, start with a descriptive overview of the system
(if it is small), or each component subsystem (in the case of a large or complex system).
From each descriptive overview, identify nouns (objects) and verbs (operations).
Repeatedly refine the process until all nouns and verbs are identified. Represent nouns as
object types and verbs as operations, avoiding duplication of effort.
To illustrate, the Purchase Order and Receipt Subsystem of an Inventory
Management System might have the following overview (Figure
A3-6
):
Figure A3-6.
Descriptive Narrative of Purchase Order and Invoice Receipt Subsystem