ABSTRACT

Requirements engineering is a subdiscipline of software engineering that is concerned with determining the goals, functions, and constraints of software systems. Requirements engineering also involves the relationship of these factors to precise specifications of software behavior, and to their evolution over time and across software families. Figure 4.1 depicts the various activities (smooth rectangles) and documentation (rectangles) of the requirements engineering process in its idealized form.