Cornell notes from the Requirement Engineering lecture taught by Pr. Jelena Zdravkovic at Stockholm University (Lecture 1 - 2017)
What is Requirement Engineering?
It's about capturing the customer’s fundamental problems/needs/goals.
What is a requirement?
It's the expression of a desired behavior/condition of a system -- what does it do? -- without providing the solution (the design of the system will tell)
What are the types of requirement?
Functional (task) or non-functional (quality/constraints of the system) requirement.
What are system stakeholders?
A stakeholder is a person or organization involved in a given system.
Why Requirement Engineering?
Clear and complete statements of requirements for the stakeholders => improves sharing/communication => to avoid unnecessary changes and misunderstanding => increase the probability of a project's success (requirement changes are expensive)
When does Requirement Engineering happen?
Software Dev Life Cycle (traditional): planning -> requirement definition -> design -> development -> integration/tests -> delivery/acceptance
What are requirement artefacts?
They are documented requirements : goals (desired states of the system), scenarios (examples of system usage), solution-oriented requirements ((non-)functional behaviors).
How do we proceed?
Requirement Engineering is a 5-phases process: Elicitation, Documentation, Negotiation, Validation, Management.
What is the result of Requirement Engineering?
A formal document (requirement document) including the artefacts.
What is a specified requirement?
A documented requirement following the specification rules of the project. There is no standard for requirement specification, unlike requirement documents e.g. IEEE or US Department of Defense.
Why do we automate the Requirement Engineering support?
To ease the structuration / management / update of many requirements.
What are the main features of a Requirement Engineering support?
Natural language requirement documents are converted in the requirement system (requirement database). The requirement system generates requirement/traceability reports.