Introduction
"Software Engineering now occupies a central place in the development of technology and in the advancement of the economy. From telecommunications to aerospace and from cash registers to medical imaging, software plays a vital and often decisive role in the successful accomplishment of a variety of projects. The creation of software requires a variety of techniques, tools, and especially, properly skilled engineers. This e-book focuses on core concepts and approaches that have proven useful to the author time and time again on many industry projects over a quarter century of research, development, and teaching. Enduring, lasting, and meaningful concepts, ideas, and methods in software engineering are presented and explained.
The book covers essential topics of the field of software engineering with a focus on practical and commonly used techniques along with advanced topics useful for extending the reader’s knowledge regarding leading edge approaches. Building on the industrial, research, and teaching experiences of the author, a dynamic treatment of the subject is presented incorporating a wide body of published findings and techniques, novel organization of material, original concepts, contributions from specialists, and the clear, concise writing required to keep the attention of readers. Using over 20 years of lecture notes, transcripts, course notes, view graphs, published articles, and other materials, as well as industry experience on commercial software product development a “virtual toolbox” of software techniques are shared in this volume."