Structured methods were invented in the 1970s to support function-oriented design (Constantine and Yourdon, 1979) and evolved in the 1980s and 1990s to support object-oriented development (Coad and Yourdon, 1990, Robinson, 1992, Jacobson et al., 1993, Graham, 1994, Booch, 1994).
A structured method includes a design process model, notations to represent the design, report formats, rules and design guidelines. Structured methods may support some or all of the following models of a system:
Function-oriented methods use functions as their central design abstraction and often start by identifying the data-flow through a system. By contrast, object-oriented methods use objects as their abstraction and they rely on use-cases to describe the processes in the system's environment.
In practice, structured ‘methods’ are really standard notations and embodiments of good practice. Following these methods and applying the guidelines can result in a reasonable design. Designer creativity is still required to decide on the system decomposition and to ensure that the design adequately captures the system specification. Empirical studies of designers (Bansler and Bødker, 1993) have shown that they rarely follow methods slavishly. They pick and choose from the guidelines according to local circumstances.
The unification of different structured methods for object oriented design led to the development of the Unified Modeling Language (UML) and associated object-oriented development processes such as the Rational Unified Process (Krutchen, 2000). Although some structured methods are still used, modern thinking in this area focuses on model-driven architecture/model-driven engineering (see Chapter 5).
Bansler, J. P. and Bødker, K. (1993) A Reappraisal of Structured Analysis: Design in an Organizational Context. ACM Trans. on Information Systems,11, 165-93.
Booch, G. (1994) Object-oriented Analysis and Design with Applications. Benjamin Cummings, Redwood City, Ca.
Coad P. and Yourdon, E. (1990). Object-oriented Analysis. Englewood Cliffs, NJ: Prentice-Hall.
Constantine, L. L. and Yourdon, E. (1979) Structured Design. Prentice-Hall., Englewood Cliffs, NJ.
Graham I. (1994). Object-Oriented methods, 2nd edition. Wokingham, UK: Addison-Wesley.
Jacobsen I., Christerson, M., et al. (1993). Object-Oriented Software Engineering. Wokingham, UK: Addison-Wesley.
Krutchen P. (2000). The Rational Unified Process - An Introduction. Reading, MA: Addison-Wesley.
Robinson, P. J. (1992) Hierarchical Object-Oriented Design. Prentice-Hall, Englewood Cliffs, N.J.