Block 2 Part 1: Requirements engineering Flashcards
requirements engineering can be seen as a set of activities for
‘exploring
evaluating
documenting,
consolidating,
revising,
adapting’.
————-> goals, capabilities, qualities, constraints’.
The three dimensions of requirements engineering
why a system is needed,
what needs to be addressed in the system, and who in the system will fulfil those needs
Desirable characteristics associated with a good set of requirements:
Correct – a requirement should conform to the understanding of the person who defined the requirement.
Necessary – a requirement should have a purpose.
Traceable – a requirement should be associated with its origins.
Non-ambiguous – a requirement should be clear and have a unique interpretation.
Feasible – a requirement should be possible to be developed in the system.
Consistent – requirements of a system should not contradict each other.
Complete – a requirement should represent a behaviour and output for all possible inputs in all states under all constraints.
Testable – a requirement should be able to be checked when implemented in a system.
Stakeholder
A stakeholder is a person – or group of people – directly or indirectly affected by the system to be constructed, who may influence the way the system is shaped, or who has responsibility for the acceptance of the system (van Lamsweerde, 2009)
Functional requirements
Functional requirements are concerned with the activities that systems must carry out.
Quality requirements
Quality requirements are properties that the system must have (how well the functional requirements must be provided).
Compliance requirements
Compliance requirements refer to the need for software effects on the environment to conform to laws, regulations, social norms, cultural and political aspects, and standards.
Development requirements describe the way in which the software should be produced, including requirements about costs, delivery dates, maintainability, re-usability and portability, among others.
Development requirements describe the way in which the software should be produced, including requirements about costs, delivery dates, maintainability, re-usability and portability, among others.