2023-09-27 16:36:46 +01:00
26 de Setembro 2023 - #RAS
## Definition of Requirements Engineering
- **Requirements engineering** designates all the activities related to requirements discovery, negotiation, documentation, and maintenance.
- Alternative designation: analysis
>[!hint]+ 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.
2023-09-27 16:46:46 +01:00
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.
>[!info] Requirements engineering determines what the system must do to meet the necessities of users and *not* how it should be built.
>[!info] It is desirable keeping the requirements strictly separated from their own solutions.
>[!hint] The requirements of a given system are necessary, clear, correct, complete, viable, traceable, verifiable and negotiable.
## Activities
2023-09-27 16:56:46 +01:00
Process Scheme: [[process.excalidraw]]
### 1. Inception
- Initiation of the process, based on some necessity or business expectation.
- At the end, the requirements engineer should be able to describe what is the client vision and return on investment.
- One must also evaluate if what the client needs is already available in the market.
### 2. Elicitation
- This activity handles how requirements should be captured.
- The requirements elicitation techniques must:
1. identify the sources of requirements;
2. aid the various stakeholders to correctly describe the requirements;
- This activity is inherently communicational, since it requires an in-depth interaction with the stakeholders.
- Requirements elicitation techniques:
1. Interview
2. Survey
3. Introspection
4. Ethnography
5. focus group
6. cooperative work
7. domain analysis
8. object-orientation
9. prototyping
10. scenario
11. goal modelling
12. persona
### 3. Elaboration