Serving as a helpful introduction to the fundamental concepts and principles of requirements engineering, this guide offers a comprehensive review of the aim, scope, and role of requirements Engineering as well as best practices and flaws to avoid.
The paper compares the main approaches to goal modeling, goal specification and goal-based reasoning in the many activities of the requirements engineering process and suggests what a goal-oriented requirements engineering method may look like.
The initial description of a complex safety-critical system is used to illustrate a number of current research trends in RE-specific areas such as goal-oriented requirements elaboration, conflict management, and the handling of abnormal agent behaviors.
The paper presents a constructive approach to the modeling, specification and analysis of application-specific security requirements, based on a goal-oriented framework for generating and resolving obstacles to goal satisfaction.
Various techniques are discussed for resolving conflicts and divergences systematically by the introduction of new goals or by transforming the specifications of goals/objects toward conflict-free versions.
These techniques are based on a temporal logic formalization of goals and domain properties and integrated into an existing method for goal-oriented requirements elaboration with the aim of deriving more realistic, complete, and robust requirements specifications.
An approach to goal refinement and operationalization which is aimed at providing constructive formal support while hiding the underlying mathematics is presented, and the general principle is to reuse generic refinement patterns from a library structured according to strengthening/weakening relationships among patterns.
A systematic method is presented for guiding the elaboration of goal refinement models with a probabilistic layer for reasoning about partial satisfaction and for quantifying the impact of alternative system designs on the degree of goal satisfaction.
An assessment of the current strengths and weaknesses of today’s formal specification technology provides a basis for formulating a number of requirements for formal specification to become a core software engineering activity in the future.