Book Review: Requirements Engineering:
from system goals to UML models to software specifications

Axel van Lamsweerde
Wiley, 2009

ISBN 0470012706 (paper, 682 pages)

Buy it from Amazon.com
Buy it from Amazon.co.uk

Other Reviews

 

 


This book represents a life's work by its author, Professor van Lamsweerde. He has personally pioneered the use of formal methods in goal modelling, and out of this has grown his KAOS goal analysis method, a world-famous research department at Louvain in Belgium, various industry spin-offs, and now this book.

The book is not restricted to goal modelling, but incorporates the use of time-based descriptions of system behaviour including scenarios. The formal elements are kept out of sight until the last part of the book.

Followers of the i* goal modelling notation (born in Toronto) will find that some concessions are made to the i* way of doing things. For example, i*'s style of representing dependencies between agents using directional "D" symbols on lines from dependent to dependee is applied to create a KAOS-style dependency diagram (Figure 11.9). In other ways, however, there is much less emphasis on diagrams and symbols: Lamsweerde uses boxes, parallelograms, ellipses and hexagons, with only a few kinds of arrow. It is plain and workmanlike

UML diagrams also get a showing; there are sequence diagrams (for scenarios); object models (to show how these can be derived from goals, e.g. Figure 15.5); class hierarchies with specialisation/generalisation relationships to build domain models (e.g. Figure 10.7); and statecharts to relate desired behaviour to events (e.g. Figure 13.6). But it's safe to say that most of the book and many of its diagrams describe goals and ways of decomposing them.

van Lamsweerde states explicitly in the Preface that

"the book's main emphasis is on the technical [his emphasis] aspects of the requirements engineering process; the socio-psychological issues involved in that process are merely introduced together with references to dedicated books where such issues are covered in greater depth."

In other words, Requirements Engineering is mainly about Analysis and (Formal) Specification rather than about Requirements Discovery, its vital precursor and companion.

The book will be of interest to all researchers interested in goal-oriented requirements analysis, and to students on advanced courses in software engineering.

© Ian Alexander 2009


From the rear cover:

“Requirements engineers must be at home in both formal and non–formal worlds, and must be able to bring them together into an effective system. Axel van Lamsweerde has been among the leaders of the requirements engineering discipline since the 1980s. This splendid book represents the culmination of nearly two decades of his research and practical experience.”    - Michael Jackson

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:

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.


You may also like: