Requirements Engineering: A Review of Processes and Techniques
Fernando Flores (Autonomous University of Aguascalientes, Mexico), Manuel Mora (Autonomous University of Aguascalientes, Mexico), Francisco Alvarez (Autonomous University of Aguascalientes, Mexico), Rory O’Connor (Dublin City University, Ireland) and Jorge Macias-Luevano (Autonomous University of Aguascalientes, Mexico)
Copyright: © 2009
Requirements engineering is the process of discovering the purpose and implicit needs of a software system that will be developed and making explicit, complete, and non ambiguous their specification. Its relevance is based in that omission or mistakes generated during this phase and corrected in later phases of a system development lifecycle, will cause cost overruns and delays to the project, as well as incomplete software. This chapter, by using a conceptual research approach, reviews the literature for developing a review of types of requirements, and the processes, activities, and techniques used. Analysis and synthesis of such findings permit to posit a generic requirements engineering process. Implications, trends, and challenges are then reported. While its execution is being mandatory in most SDLCs, it is done partially. Furthermore, the emergence of advanced services-oriented technologies suggests further research for identifying what of the present knowledge is useful and what is needed. This research is an initial effort to synthesize accumulated knowledge.