This essential textbook presents a concise introduction to the fundamental principles of software engineering, together with practical guidance on how to apply the theory in a real-world, industrial environment. The wide-ranging coverage encompasses all areas of software design, management, and quality.
Topics and features:
- Presents a broad overview of software engineering, including software lifecycles and phases in software development, and project management for software engineering
- Examines the areas of requirements engineering, software configuration management, software inspections, software testing, software quality assurance, and process quality
- Covers topics on software metrics and problem solving, software reliability and dependability, and software design and development, including Agile approaches
- Explains formal methods, a set of mathematical techniques to specify and derive a program from its specification, introducing the Z specification language
- Discusses software process improvement, describing the CMMI model, and introduces UML, a visual modelling language for software systems
- Reviews a range of tools to support various activities in software engineering, and offers advice on the selection and management of a software supplier
- Describes such innovations in the field of software as distributed systems, service-oriented architecture, software as a service, cloud computing, and embedded systems
- Includes key learning topics, summaries and review questions in each chapter, together with a useful glossary