A practical guide to software development using DVM, a mathematically based technique for formal specification and correctness reasoning. This edition uses BSI (draft) standard VDM notation, emphasizes the formal approach to specification and design and explains formal proofs for data types.