Software Engineering Explained by Mark Norris
This text aims to introduce and explain some of the more important aspects of modern software development. It offers an overview of best practice in the specification, design and operation of quality software. Some chapters are designed to stand alone - for instance, the middle chapters (4 to 7) each deal with one major part of the software development process and are supported with a catalogue of current techniques and a checklist to help their implementation. The aim was to write a primer for those people with no formal background in software whose jobs have become dominated by it. In addition to this, the practical bias of the information should be of use to both managers of software projects and students about to embark on a career in software engineering.