Much of the difficulty in creating information technology systems that truly meet people's needs lies in the problem of pinning down system requirements. This book offers a new approach to the requirements challenge, based on modeling and analyzing the relationships among stakeholders. Although the importance of the system-environment relationship has long been recognized in the requirements engineering field, most requirements modeling techniques express the relationship in mechanistic and behavioral terms. This book describes a modeling approach (called the i* framework) that conceives of software-based information systems as being situated in environments in which social actors relate to each other in terms of goals to be achieved, tasks to be performed, and resources to be furnished. Social perspectives on computing have provided much insight for many years. The i* framework aims to offer a modeling approach to the relationships embedded in computer systems that is part of an engineering method that offers systematic techniques and tools providing smooth linkages to the rest of the system development process, including system design and implementation. The book includes Eric Yu's original proposal for the i* framework as well as research that applies, adapts, extends, or evaluates the social modeling concepts and approach.