Requirements Flashcards
What is requirements engineering
THe process of establishing the services that a customer requires from a system and the constraints under which it operates and is developped.
What are the 3 phases of requirements phase
Requirement elicitation and analysis
Requirements specification
Requirements validation
What is a software requirement
1- A condition or capability needed by a user to solve a problem or achieve an objective.
2- A condition or capability that must be met or possed by a system, due to contract, standard, etc.
User vs system requirement
User : Describe the services the system is expected to provide.
System requirements: Detailed descriptions of system functions and operational constraints.
Two KEY types of requirements
Functional requirements and Non-functional requirements.
What are functional requirements.
Describe what the system should do.
“The system should do ….”
High level statements about system behaviour.
What are non-functional requirements
Speicify properties and constrains of the system - reliability, response time and storage requirements.
Main concerns of non-functional requirements:
Quantifiability: “system should be bug free” - impractical
Main concerns of functional requirements:
Imprecision: may lead to a solution that does not match user expectations
completeness: it should describe all of the system features that are required.
Consistency: conflicts between requirements should be avoided
What is the high level classification of non-functional requirements?
POE
product requirements: Must perform in certain way
organizational requirements: process constraints, standards that must be follows.
external requirements: non-product, non-organizational, such as legal, interoperability.
Characteristics of Good requirements:
Realism
Validity
Verifyability
Consistency
Completeness
Tests to check requirement quality
negation check - “the car shall have an engine”
find the test check - “the system shall be reliable”
What is natural language specification
Requirements are written as natural language sentences supplemented by diagrams and tables.
Able to be understood by customers and users
Advantages of natural language
Well established practice
Flexible
Cons of natural language
lack of clarity - precision difficult without making it hard to read
Requirements confusion - functional and non-functional requirements tend to be mixed up
Requirements amalgamation - several different requirements may be expressed together.