Step - Implement and Test Subsystems

Not everything was rejected in the revolution that overthrew previous software development techniques and replaced them with object-oriented tools. It is at this point, in developing the internal behavior of a component, that classic techniques, such as stepwise refinement, show their great power and utility.

If components have been developed with an eye on minimizing coupling, then they can be developed and validated in relative isolation. Techniques such as informal proofs of correctness and software testing can be used as confidence building measures. Preconditions necessary for correct behavior can be identified. These can then to forwarded to the developers of the systems that use the current abstraction, in order to verify that the conditions are being met.

[audio] 38 [real] 38 Text to accompany slide 38, in Chapter 2 of An Introduction to Object-Oriented Programming