Aimed at defining inherent problems and providing appropriate solutions when constructing large software systems, the study of software engineering is an essential practice in order to create and maintain successful software development. This new edition shows you how to appreciate the issues, design trade-offs, and teamwork required for successful software development. With a special emphasis placed on the managerial aspects and human factors involved in software projects, this book reflects the changes taking place within software engineering and includes a major update on architecture and the increasingly hybrid character of software engineering.
- Offers comprehensive coverage of the fundamentals of software engineering as well as revised and updated text on the latest advances in the field, including agile methods, open source, and UML2
- Incorporates discussion of commercial off-the-shelf products and open source
- Examines the impact of lightweight versus heavyweight methods, paying particular attention to agile approaches
- Addresses the globalization of software development and the impact of the Web
This new edition is an invaluable resource for anyone involved in software development and maintenance.