CS709 - Formal Methods For Software Engineering
Design by contract by example by Richard Mitchell and Jim McKim Object-Oriented Software Construction
 by Bertrand Meyer
Program Construction and Verification by Roland C. Backhouse Program Construction: Calculating Implementation by Roland Backhouse
Software Engineering
by Ian Sommerville
The Object Constraint Language, precise modeling with UML by Jos Warmer and Anneke Kleppe
The Specification of Complex Systems by B. Cohen, W. T. Harwood and M. I. Jackson Using Z: Specification, Refinement, and Proof by Jim Woodcock & Jim Davies