The management of software engineering, Part III: Software design practices
by R. C. Linger
Part III, on software engineering design practices, deals with activities bounded by requirements definition on one side and program implementation on the other. Three levels of design practices are defined, dealing with construction and verification of software systems, modules within systems, and individual programs. At each stage, a new level of mathematical rigor and precision for creating and evaluating software designs is introduced.