Software Engineering presents a broad perspective on software systems engineering, concentrating on widely-used techniques for developing large-scale software systems. In seven parts, this best-selling book covers a wide spectrum of software processes from initial requirements elicitation through design and development to system evolution. It supports students taking undergraduate and graduate courses in software engineering and software engineers in industry who need to update their knowledge on new techniques such as requirements engineering, distributed systems architectures and system dependability.
Extensive market research has ensured that this new edition is useful and relevant for both students and practising software engineers. The sixth edition has been restructured and updated, important new topics have been added and obsolete material has been cut. The end result is an even more focused book that is about 10% shorter than the previous edition.
Changes from the fifth edition
- There are new chapters covering software processes, distributed systems architectures, dependability and legacy systems.
- Program examples are now in Java and graphical system models are described in the standard UML.
- All chapters have been updated and several have been extensively rewritten. Reuse now focuses on component-based development and patterns; object-oriented design has a process focus and uses the UML; the chapters on requirements have been split to cover the requirements themselves and requirements engineering process; cost estimation has been updated to include the COCOMO 2 model.
- The chapters on critical systems has been restructured so that reliability, safety, availability and security are integrated in chapters on critical systems specification, development and validation.
- The section on formal specification has been cut to a single chapter and material on CASE has been integrated with the chapters covering the processes supported. Functional design has been incorporated in the new chapter on legacy systems.
The book's web site (www.software-engin.com) includes links to material to support the use of the book in teaching and personal study. It includes an instructor's manual, overhead transparencies, source code of the program examples and additional material on CASE and formal specification.
Ian Sommerville is Professor of Software Engineering at Lancaster University, England. He has more than 20 years of experience in software engineering education and research. His current areas of interest include computer-based systems engineering, requirements engineering, system dependability and software evolution.