Requirements Engineering: From System Goals to UML Models to Software Specifications
This book provides a systematic and practical approach to the engineering of high-quality requirements. It covers the entire requirements lifecycle and integrates state-of-the-art techniques for requirements elicitation, evaluation, specification, analysis, and evolution. Modeling plays a central role. A method is presented for building and analyzing a multi-view model of the target system, where each step is supported by heuristic rules, tactics, modeling patterns, and bad smells to avoid.Highlights include:A comprehensive introduction to the fundamentals of requirements engineering, including techniques for: requirements elicitation and reuse, risk analysis, conflict management, and requirements prioritization; requirements specification, inspection, validation, and verification; traceability management and change control.  An in-depth treatment of system modelling for requirements engineering, including constructive techniques for modeling system goals, conceptual objects, responsibilities among system agents, operations, scenarios and intended behaviors, and countermeasures to anticipated hazards and threats.A variety of techniques for model-based evaluation of alternative options, model refinement checking, model animation, property verification, inductive model synthesis, and analysis of conflicts, hazards, and security threats.Use of standard UML notations wherever applicable. Most techniques are based on a solid formal framework, kept hidden throughout the major part of the book for wider accessibility.Numerous examples from running case studies in a variety of domains, including security- and safety-critical ones. Rich set of problems and exercises at the end of each chapter together with bibliographical notes for further study.The book is primarily written for undergraduates and masters students in software or system engineering to acquire a solid background in requirements engineering and system modelling. It is also intended for practitioners in need of systematic guidance for elaborating and analyzing requirements. The last part on model-based reasoning is more targeted to graduate students. A companion website with additional instructor resources and tool support can be found at www.wileyeurope.com/college/van lamsweerde