Publisher's Synopsis
This book offers an integrated and pragmatic overview of software engineering. Intended as a text for an upper-class undergraduate or first-year graduate course in software engineering, it should be of interest to practitioners as well. It gives students a basic grounding in the process of software development and teaches them how a disciplined application of methods and tools can improve the quality and productivity of projects such as information systems, software tools, and;engineering analyses. The material is organized around three themes: software engineering is the discipline of implementing computer-supported solutions to real problems, the software process is one of solving, and all software solutions must be expressed as formal models. Because software engineering is;presented as an evolving discipline, current practices are explained in the context of their initial goals and historical setting. As a result, the text focuses not on how things are done, but why they are done that way.;All illustrations are drawn from a central case study-the development of a software configuration management system. The book contains exercises and an extended reading list.