This 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.
This practical and easy-to-follow textbook/reference is ideal for
computer science students seeking to learn how to build high quality and
reliable software on time and on budget. The text also serves as a
self-study primer for software engineers, quality professionals, and
software managers.