Objectives
This section discusses the nature of object-oriented
development (following Booch, 1986) and
characterizes the modeling techniques that may be employed
during the various phases of the software lifecycle.
In particular, a characterization is given of the various
modeling dimensions that must be paid attention to in design.
Finally, functional development methods are compared
with an object-oriented approach,
again following [Booch86].
Points to emphasize
- software development process -- components, aspects
- modeling reality -- perspectives of modeling
- design model -- as a justification
- dimensions of modeling -- object, dynamic, functional
Hints
To characterize the nature of the activities involved in design,
it is important to distinguish between the various aspects
or components of software development, such as architecture,
process and method that are closely related to design itself
(see Jacobson {\it et al.}, 1992).
Personally, I opt for a somewhat relativistic attitude towards the idea
that an object-oriented approach may be identified
with modeling reality.
Rather, I prefer to discuss the various perspectives from which modeling
may be approached in design.
Questions
- Characterize the nature of object-oriented development.
Discuss what aspects or components are involved.
- Describe the modeling activities that may occur in each
of the various phases of the software lifecycle.
- What dimensions of modeling are distinguished
in the OMT method? Give a short characterization.
- How would you characterize the differences between
functional and object-oriented development methods?
Comments
Design, so to speak, aims at abstraction and modeling
is presented as a means by which to arrive at proper abstractions.
You may elaborate on the spectrum of design representation methods
(see Webster, 1988)
and discuss the formal criteria for judging the validity of a model
or a collection of models.