Formal specification is a technique for specifying what is required of a computer system clearly, concisely and without ambiguity. Z is a leading notation for formal specification. Formal Specification Using Z is an introductory book intended for the many software engineers and students who will benefit from learning about this important topic in software engineering. It is intended for non-mathematicians, and it introduces the ideas in a constructive style, building each new concept on the ones already covered. Each chapter is followed by a set of exercises, and sample solutions are provided for all of these in an appendix.