Validated Designs For Object-Oriented Systems by John Fitzgerald, Systematic Software Engineering Peter G. Larsen & Paul Mukherjee