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

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

  1. Characterize the nature of object-oriented development. Discuss what aspects or components are involved.
  2. Describe the modeling activities that may occur in each of the various phases of the software lifecycle.
  3. What dimensions of modeling are distinguished in the OMT method? Give a short characterization.
  4. 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.