Requirements Engineering

The aim of the course is to provide students with the basic knowledge needed to perform requirements engineering, starting from requirements elicitation (also in non-conventional domains and with stakeholders from different domains), proceeding with modelling and analyzing different solutions, and arriving at the specification of the chosen solution. Of the different technique described in the literature, the course addresses the more frequently used in industrial as well as in research settings.
After successfully completing the course, the student will be able to

  1. Understand what is meant by "requirements" and what are the software development activities related to requirements.
  2. Understand the nature of the problem and its context, understand and apply requirements elicitation techniques.
  3. Understand and apply requirements modelling languages and notations.
  4. Understand and apply requirements specification techniques.
  5. Understand the requirements traceability. Apply traceability techniques.

In addition, students will become autonomous in recognizing problems, exploring contexts and in recognizing and describing requirements, choosing the proper notations and techniques. The student will also be given the instruments to autonomously learn new methods and techniques.
Finally, students will learn the terminology that is specific to requirements engineering, and develop the communication abilities that are of critical importance in requirement engineering.

Il progetto: