Another look at software design methodology

  • Authors:
  • M. M. Lehman;V. Stenning;W. M. Turski

  • Affiliations:
  • DoC, Imperial College, London;Imperial Software Technology, London;Warsaw University, Poland

  • Venue:
  • ACM SIGSOFT Software Engineering Notes
  • Year:
  • 1984

Quantified Score

Hi-index 0.02

Visualization

Abstract

Software design - from 'topmost' specification down to final implementation - is viewed as a chain of uniform steps, each step being a transformation between two linguistic levels. A canonical form of the step is discussed and it is argued that all rational design activities are expressible as a combination of canonical steps. The role of backtracking in software design is explained and a mechanism for introducing changes, both indigeneous and exogeneous, is proposed, again entirely by a combination of canonical steps. The main tenet of the 'canonical step approach' is that a design step contains a degree of unconstrained, creative invention and a calculable part which is the actual transformation effected.