T - Aula 3

🌫 26 de Setembro 2023 - #RAS

Definition of Requirements Engineering

Zave, 1997

Requirements engineering, in the scope of software engineering, is focused on the real-world objectives established for the functionalities and the restrictions of software systems.

Requirements engineering seeks to ensure the three following objectives:

  1. all the relevant requirements are explicitly known and comprehended at the intended level of detail;
  2. a reasonable and wide agreement about the requirements is obtained among the stakeholders;
  3. all the requirements are duly documented, in conformity with the established formats and templates.
Requirements engineering determines what the system must do to meet the necessities of users and not how it should be built.

It is desirable keeping the requirements strictly separated from their own solutions.

The requirements of a given system are necessary, clear, correct, complete, viable, traceable, verifiable and negotiable.

Activities

Process Scheme: process.excalidraw

1. Inception

2. Elicitation

3. Elaboration

4. Negotiation

5. Documentation

6. Validation

7. Management

Difficulties

  1. Communication problems between requirements engineers and users are common.
  2. Changes in the requirements must be considered as a natural fact.