This text illustrates and explains the constructive approach to software development. The approach involves calculating an answer from the initial statement of requirements or specification, rather than "guessing" an answer and then testing whether it actually works. It uses the same basic theory as traditional techniques, but is much quicker and easier as no "wrong answers" are obtained. The text is accessible to anyone with a basic background...