lecture 1
lecture 1
Engineering-An
Introduction
What is Requirements Engineering?
• To make sure that a software solution correctly solves a particular problem, we must first perfectly
understand and define what problem needs to be solved.
• Figuring out what the right problem can be surprisingly difficult.
• We need to discover, understand, formulate, analyse and agree on what problem could be solved, why such a
problem needs to be solved and who should be involved in the responsibility of solving that problem
• As we are concerned with the problem world, we need to consider both the system-as-is, to understand its
objectives, regulating laws, deficiencies and limitations, and the
• system-to-be, to elaborate the requirements on the software-to-be accordingly together with assumptions on the
environment
• In this setting, we may define requirements engineering as a coordinated set of
activities for exploring, evaluating, documenting, consolidating, revising and
adapting the objectives, capabilities, qualities, constraints and assumptions that
the system-to-be should meet based on problems raised by the system-as-is and
opportunities provided by new technologies.
The WHY, WHAT and WHO dimensions of requirements engineering