This text has been fully revised to reflect the latest software engineering practice. It includes material on e-commerce, Java, UML, while a new chapter on web engineering addresses formulating, analysing and testing web-based applications.
In the decade since the idea of adapting the evidence-based paradigm for software engineering was first proposed, it has become a major tool of empirical software engineering. Evidence-Based Software Engineering and Systematic Reviews provides a clear introduction to the use of an evidence-based model for software engineering research and practice. The book explains the roles of primary studies (experiments, surveys, case studies) as elements of an over-arching evidence model, rather than as disjointed elements in the empirical spectrum. Supplying readers with a clear understanding of empirical software engineering best practices, it provides up-to-date guidance on how to conduct secondary studies in software engineering—replacing the existing 2004 and 2007 technical reports. The book is divided into three parts. The first part discusses the nature of evidence and the evidence-based practices centered on a systematic review, both in general and as applying to software engineering. The second part examines the different elements that provide inputs to a systematic review (usually considered as forming a secondary study), especially the main forms of primary empirical study currently used in software engineering. The final part provides practical guidance on how to conduct systematic reviews (the guidelines), drawing together accumulated experiences to guide researchers and students in planning and conducting their own studies. The book includes an extensive glossary and an appendix that provides a catalogue of reviews that may be useful for practice and teaching.
"Software Engineering for Game Developers" is a unique guide—a toolbox for effectively building a computer game using practices that are fostered by software engineering. Examine each major phase of the software engineering lifecycle of an actual game and its developers and gather the tools you need to organize your programming into proper engineering patterns. This book documents a comprehensive development process that started from a set of requirements. This process guided the development team to consistently design and implement a game according to these requirements, staying within budget and delivering the game on time. The tools provided within this book are a valuable resource for software developers in any area—game software development professionals, game producers and designers, testers, writers, artists, and educators.
The tools provided within this book are a valuable resource for software developers in any area—game software development professionals, game producers and designers, testers, writers, artists, and educators.