Requirements Engineering Processes, Tools/Technologies & Methodologies

Abstract:

This paper discusses software requirements engineering in deep with the help of the standard technologies, processes and methodologies. Requirements engineering is the initial step of software development activity in which the requirements from the customer are elicited and documented. This activity is very much vital for the success of the project because all of the rest of activities depends upon requirements engineering such as designing, implementation, testing, operation and maintenance. Requirements engineering is an iterative process which continues iteratively until the project is complete.

The requirements engineering process models are the set of activities used to define the life cycle model for requirements engineering. There are many requirements engineering process models such as linear sequential model, linear iterative processes model, iterative process model and spiral model. These models have certain advantages and disadvantages hence there is no ideal requirements engineering process model but the problems with requirements engineering process models can be minimized by making the active involvement of the stakeholders whose concerns need to be addressed.

The other main element in requirements engineering is the utilization of tools for requirements elicitation. The variety of tools exists such as interview, survey, questionnaires, task analysis, group-work, card sorting, CRC cards, observations, prototyping, repository grids etc. These tools are usually used in the conjunction so that complete requirements are elicited. The requirements engineering process can be automate by utilizing modern technology such as Neural Impulse Actuator (NIA) and web-based mobile technology.

These technologies make advancement in the requirements engineering tools by automating them. For example NIA reads the human mind and we-based mobile technology provides the Internet facility for stakeholder communication and also provides the dynamic plotting and arrangement of CRC cards, group tasks, charts, bars etc. The whole study has been grouped into requirements engineering processes, tools, technologies and methodologies along with their negative and positive aspects and also our suggested approaches. We also suggested the use of new technologies to automate the requirements engineering process.

Input/output of Requirements Engineering Process:

Linear Requirements Engineering Model:

Linear Iterative Requirements Engineering Model:

Spiral Requirements Engineering Model:

The Tools Cost Benefit Analysis: