Requirement Engineering Flashcards
What is requirement engineering?
The process of establishing the services that the customer requires from a system
and the constraints under which it operates and is developed.
The requirements themselves are the descriptions of the system services and
constraints that are generated during the requirements engineering process.
What are user requirements? and in what format are they written?
What the user wants the system to be able to.
Statements written in natural language plus diagrams of the services the system provides and its operational constraints.
Written for the customers.
System requirements
And in what format are they written
Detailed description of the functions of the system, services, and operational constraints.
Defines what should be implemented sp may be part of contract between client and contractor.
Functional requirements
Statements of services the system should provide, of how the system should
react to particular inputs, and of how the system should behave in particular
situations.
May state what the system should not do.
Non-functional requirements
Constraints on the services or functions offered by the system such as timing constraints, constraints on the development process, standards, etc.
Often apply to the system as a whole rather than individual features or services.
Typically you would set some goal in terms of metrics, speed, size, ease of use, etc.
Priorities via MoSCoW
We want to be able to prioritise requirements of the system, we can use the MoSCoW model
Must – cannot do without it
Should – really want this
Could – would like this
Won’t – do not need / want this (even though plausible)
FURPS+ model
Modelling requirements.
F : functional
U: usability
R: reliability
P: performance
S: supportability
+ : implementation, interface, operations, packaging, legal
Requirement Elicitation
Definition of the system in terms understood by the customer and/or user (“requirements specification”)
Requirement analysis
Definition of the system in terms understood by the developer (“technical specification”, “analysis model”)
Requirements process
Elicitation and analysis together
Requirement elicitation activities
Identify actors
Identify scenarios
Identify use cases
Refine use cases
Identify relationship between actors and use cases
Identify initial analysis objects
Identify non-functional requirements
Techniques for requirement elicitation
Document analysis
Observation
Questionnaire
Interview
Focus group
Prototyping