Drawing on the author’s industrial experience in software development, this book explores system specification and validation. It describes the discipline of software requirements engineering, along with issues to consider when choosing a specification technique or notation. It covers the differences between requirements analysis and construction specification and explains methods for translating specifications into designs. The text also describes different approaches to software specification, including visual and textual methods. It offers many illustrative examples to reinforce concepts and provide clarity. PowerPoint® slides and solutions manual are available upon qualified course adoption.