Publisher's Synopsis
Appropriate for both undergraduate and graduate introductory software engineering courses found in Computer Science and Computer Engineering departments, this text provides selective, in-depth coverage of the fundamentals of software engineering by stressing principles and methods through rigorous formal and informal approaches. The authors emphasize identifying and applying fundamental principles that are applicable throughout the software lifecycle. This emphasis enables students to respond to the rapid changes in technology that are common in 2002.;New to this edition is: a deeper analysis and explanation of object-oriented techniques; the use of Unified Modeling Language (UML); coverage of requirements analysis and software architecture; revised and updated case studies; model checking - a technique that provides automatic support to the human activity of software verification; GQM - Used to evaluate software quality and help improve the software process; and Coverage of Z.;Principles and techniques are emphasized rather than specific tools, and case studies include several studies of real-life software engineering projects and their analyses. There are a variety of exercises which enable students to apply the principles presented in the text. Short exercises interspersed throughout the chapters help students to extend or apply their knowledge; longer end-of-chapter exercises help students integrate the material in each chapter; term-projects provide team exercises for developing a software system.