Requirements Engineering
"What" the system should do (as opposed to "how")
Understanding the problem to be solved + all the constraints around it
Activities:
Elicitation = gathering of requirements (interview, workshop, focus groups.....)
Analysis = to understand the requirements and establish coredesign + conferences (modeling, UI prototypes, techononlygy......)
Specification = documentation + precision (writing user stories, itemized requirements)
validation = establishing that you solving the "right problem" that the customer consultancy (customer reviews, getting structure problem/MVP)
ELement of requirements:
purpose of the software/"mission statement"
stakeholders (customer, users, regulators, developers, maintainers, ......)
project scope (context digram, what is in + what is out)
assumptions
implement constrains
requirements
Requirements :
functional requirements (what functions the system should perform)
quality requrements (aka non-functional requirements): how well a system should do given, such as safety requirement. Including intend qualities (developer side) and extend qualities (user side), such as usability, look and feel, security and function perfermance.
Necessary properties of requirements
unambiguous -> clear, single meaning
consistent -> no contracdictory statements
complete -> all relevant requirements stated
verfiable -> I am tell it/check for fail
free of implementation bias -> forcus on what not how
Challenges of RE
Distributed knowledge
Domain experts usually don’t have time
Tacit knowledge
Political problems
Both the undertanding and the problems to change
Last updated
Was this helpful?