Software Essentials: Design and Construction (Chapman & Hall/CRC Innovations in Software Engineering and Software Development Series)