Requirements Engineering: From System Goals to UML Models to Software Specifications Axel van Lamsweerde, John Wiley, 2009

The publisher's summary follows: "presents both the current state of the art
in requirements engineering and a systematic method for engineering
high-quality requirements, broken down into four parts.  The first part
introduces fundamental concepts and principles including the aim and scope
of requirements engineering, the products and processes involved,
requirements qualities to aim at and flaws to avoid, and the critical role
of requirements engineering in system and software engineering.

The second part of the book is devoted to system modeling in the specific
context of engineering requirements. It presents a multi-view modeling
framework that integrates complementary techniques for modeling the
system-as-is and the system-to-be. The third part of the book reviews
goal-based reasoning techniques to support the various steps of the KAOS
method. The fourth part of the book goes beyond requirements engineering to
discuss the mapping from goal-oriented requirements to software
specifications and to software architecture."