Let's now put together all that we have discussed
and see how a requirements engineering process actually works.
So, first of all, we saw that requirements engineering
consists of three main steps. Elicitation of the requirements,
in which we extract requirements from various sources. Modeling
in which we represent the requirements using one or
more notations or formal reasons and analysis, in which
we identify possible issues with our requirements and there is
actually a 4th step that we kind of mention
but not explicitly. And this is the negotiation that can
happen between the stakeholders and the developers, during which
requirements are discussed and modified until an agreement is reached.
So if you want to think of this as a
process, so as a sequence of steps, we can see
that we start from elicitation. So we start by eliciting
an initial setup requirements. We negotiate and refine this set,
then we model the resulting requirements. And finally, we
analyze such requirements. However, the process doesn't really stop here.
Why? Well, because as a result of the analysis,
we might have to perform further elicitation. And so this
process is not really a sequential one, but rather
an iterative process. So, in practice, we continue to iterate
over these four steps gathering a better and better understanding
of the requirements at every iteration until we are happy
with the settle requirement that we gather and stop the process.