Skip to main content

Requirements Engineering

Credits
6
Types
Specialization compulsory (Information Systems)
Requirements
Department
ESSI
The most difficult task of building an information system or, in general, a software system, consists of determining which system should be built. This task is called Requirements Engineering. No other work has a such negative economic and social impact as if done wrong. Many of the systems development failures are attributed to not do correctly their engineering requirements. This course presents the concepts, activities and artifacts of requirements engineering. Emphasis is placed on aspects that are essential to ensure the success of projects, especially the definition of the objectives of stakeholders, the correct formulation of the requirements and satisfaction of the argument. The teaching method of the course is of the family of PBL (Project Based Learning) and the centerpiece is a project (which varies each year) for which students, working in groups, have to make ​​the complete engineering requirements.

Teachers

Person in charge

Others

Weekly hours

Theory
2
Problems
0
Laboratory
2
Guided learning
0
Autonomous learning
6

Competences

Information systems specialization

  • CSI3 - To determine the requirements of the information and communication systems of an organization, taking into account the aspects of security and compliance of the current normative and legislation.
    • CSI3.5 - To propose and coordinate changes to improve the operation of the systems and the applications.
  • CSI4 - To participate actively in the specification, design, implementation and maintenance of the information and communication systems.
    • CSI4.1 - To participate actively in the specification of the information and communication systems.
  • Software engineering specialization

  • CES2 - To value the client needs and specify the software requirements to satisfy these needs, reconciling conflictive objectives through searching acceptable compromises, taking into account the limitations related to the cost, time, already developed systems and organizations.
    • CES2.1 - To define and manage the requirements of a software system.
  • Information literacy

  • G6 [Avaluable] - To manage the acquisition, structuring, analysis and visualization of data and information of the field of the informatics engineering, and value in a critical way the results of this management.
    • G6.3 - To plan and use the necessary information for an academic essay (for example, the final project of the grade) using critical reflection about the used information resources. To manage information in a competent, independent and autonomous way. To evaluate the found information and identify its deficiencies.
  • Objectives

    1. Understanding the need, objectives and contexts in which engineering requirements activities are performed
      Related competences: CSI4.1, CES2.1,
    2. Knowing defining the objectives of a project.
      Related competences: CSI4.1, CES2.1, CSI3.5,
    3. Knowing identifying stakeholders of a porject.
      Related competences: CSI4.1, CES2.1, CSI3.5,
    4. Understanding what isthe system context, the boundary of the system and the use cases.
      Related competences: CSI4.1, CES2.1,
    5. Knowing defining a business process in a particular language.
      Related competences: CSI4.1, CES2.1,
    6. Understanding the need to perform a detailed state of the art of the professional practice within the scope of a project.
      Related competences: CSI4.1, CES2.1, G6.3,
    7. Knowing performing a detailed state of the art of professional practice within the scope of a project.
      Related competences: G6.3,
    8. Understanding what are the scenarios and use cases of a system and what are the relations among them.
      Related competences: CSI4.1, CES2.1,
    9. Knowing defining the use cases of a system by using a particular template.
      Related competences: CSI4.1, CES2.1,
    10. Knowing what are the software system requirements and into what types are classified.
      Related competences: CSI4.1, CES2.1,
    11. Knowing the methods to specify the requirements and contexts in which they are useful.
      Related competences: CSI4.1, CES2.1,
    12. Knowing what the conflicts of requirements engineering, how to analyze them and how to solve them.
      Related competences: CSI4.1, CES2.1,
    13. Understanding the need for argumentation satisfaction of goals on a project.
      Related competences: CSI4.1, CES2.1,
    14. Knowing performing argumentation satisfaction of goals.
      Related competences: CSI4.1, CES2.1,
    15. Knowing writing the requirements specification by using a particular template.
      Related competences: CSI4.1, CES2.1,
    16. Knowing the methods to validate the requirements and in which contexts they are useful.
      Related competences: CSI4.1, CES2.1,
    17. Knowing validating a requirements specification through inspection.
      Related competences: CSI4.1, CES2.1,
    18. Understaing the need of performing the conceptual schema.
      Related competences: CSI4.1, CES2.1,
    19. Knowing developing the conceptual schema from the requirerments of a project.
      Related competences: CSI4.1, CES2.1,
    20. Knowing writing a conceptual schema in an executable language.
      Related competences: CSI4.1, CES2.1,
    21. Understanding the relations among the artifacts of requirements engineering, and the need to keep the traceability and consistency.
      Related competences: CSI4.1, CES2.1,
    22. Knowing validating a conceptual schema through inspection.
      Related competences: CSI4.1, CES2.1,

    Contents

    1. Overview of requirements engineering
    2. Project goals
    3. Stakeholders
    4. The system and its context
    5. Scenarios and use cases
    6. Software requirements
    7. Satisfaction argument of goals.
    8. Requirements engineering activities: Determination of requirements, documentation, negotiation and validation
    9. Conceptual modeling in requirements engineering
    10. Development of the conceptual schema
    11. Traceability of requirements engineering artifacts
    12. Validation of conceptual schemas

    Activities

    Activity Evaluation act


    Introduction

    (1) Participar activament en una classe de teoria, on s'expliquen els objectius i l'organització de l'assignatura (2 hores). (2) Repassar els exemples de cursos anteriors, i el material docent publicats a l'Atenea (4 hores) (2) Preparar la reunió de constitució dels grups de projecte revisant la missió del projecte (1,5 hores). (3) Participar activament en la reunió constituent del grup de projecte, on es nomenen els càrrecs de coordinador i secretari, es comenta l'objectiu i la planificació de la feina que caldrà fer, i es comencen a explorar els objectius del projecte. També es repassa el document de bones pràctiques en l'organització i realització de reunions, que s'hauran de seguir en les reunions del curs (2 hores). (4) Respondre (via Atenea) al qüestionari de la setmana. (30 minuts).
    Objectives: 1
    Contents:
    Theory
    2h
    Problems
    0h
    Laboratory
    2h
    Guided learning
    0h
    Autonomous learning
    6h

    Goals project

    (1) Participar activament en una classe de teoria, on s'expliquen què són i com han de ser els objectius d'un projecte (2 hores). (2) Durant la setmana, realitzar un exercici sobre 'objectius de projectes' i presentar-lo via Atenea (2 hores) (3) Preparar la reunió del grup de projecte, revisant un cop més la missió publicada del projecte, els exemples de cursos anteriors i pensant quins poden ser els objectius del projecte del curs (3,5 hores). (4) Participar activament en la reunió del grup de projecte, que es centra en els objectius del projecte (2 hores). (5) Respondre (via Atenea) al qüestionari de la setmana, que tracta de les parts interessades en un projecte. (30 minuts).
    Objectives: 2 3
    Contents:
    Theory
    2h
    Problems
    0h
    Laboratory
    2h
    Guided learning
    0h
    Autonomous learning
    6h

    E1

    Exercise on project goals.
    Objectives: 2
    Week: 2
    Theory
    0h
    Problems
    0h
    Laboratory
    0h
    Guided learning
    0h
    Autonomous learning
    0h

    Requirements

    (1) Participar activament en una classe de teoria, on s'expliquen què són els requisits, de quins tipus n'hi ha, i la seva relació amb els objectius del projecte (2 hores). (2) Durant la setmana, l'estudiant realitza un exercici sobre l'argument de satisfacció i el presenta via Atenea (3 hores) (3) Realitzar la tasca encomanada pel grup, que tractarà de les parts interessades del projecte del curs i el refinament d'objectius (2,5 hores). (4) Participar activament en la reunió del grup, que es centra en els requisits que es deriven dels objectius del projecte (2 hores). (5) Respondre (via Atenea) al qüestionari de la setmana. (30 minuts).
    Objectives: 2 3 13 14 10
    Contents:
    Theory
    2h
    Problems
    0h
    Laboratory
    2h
    Guided learning
    0h
    Autonomous learning
    6h

    E2

    Exercise on satisfaction argument
    Objectives: 13 14
    Week: 3
    Theory
    0h
    Problems
    0h
    Laboratory
    0h
    Guided learning
    0h
    Autonomous learning
    0h

    Introduction to requirements engineering

    1) Participar activament en una classe de teoria, on s'explica què és l'enginyeria de requisits i les activitats que s'hi fan (2 hores). (2) Durant la setmana, l'estudiant realitza un exercici sobre modelització de processos de negoci i el presenta via Atenea (2 hores) (3) Realitzar la tasca encomanada pel grup, que tractarà de delimitar l'àmbit de la feina i els casos d'ús de negoci del projecte (3,5 hores). (4) Participar activament en la reunió del grup, que es centrarà en els temes indicats anteriorment (2 hores). (5) Respondre (via Atenea) al qüestionari de la setmana. (30 minuts).
    Objectives: 4 5
    Contents:
    Theory
    2h
    Problems
    0h
    Laboratory
    2h
    Guided learning
    0h
    Autonomous learning
    6h

    Delivering state of the art

    S'avaluarà el document preparat pels estudiants sobre l'estat de l'art en l'àmbit del projecte.
    Objectives: 6 7
    Week: 4
    Theory
    0h
    Problems
    0h
    Laboratory
    0h
    Guided learning
    0h
    Autonomous learning
    0h

    System, context, use cases

    1) Participar activament en una classe de teoria, on s'explica què són el sistema, el context i els casos d'ús. S'introdueixen els elements bàsics per a la modelització de processos de negoci en un llenguatge (2 hores). (2) Aquesta setmana no hi ha exercici per tal de poder destinar més temps a l'estat de l'art (3) Realitzar la tasca encomanada pel grup, que tractarà de l'estat de l'art en l'àmbit del projecte (acabament) i de l'aplicació dels conceptes esmentats al projecte (5,5 hores). (4) Participar activament en la reunió del grup, que es centrarà en l'estat de l'art i de l'aplicació dels conceptes esmentats al projecte (2 hores). (5) Respondre (via Atenea) al qüestionari de la setmana. (30 minuts).
    Objectives: 6 7 4 5
    Contents:
    Theory
    2h
    Problems
    0h
    Laboratory
    2h
    Guided learning
    0h
    Autonomous learning
    6h

    E3

    Modeling business processes
    Objectives: 5
    Week: 5
    Theory
    0h
    Problems
    0h
    Laboratory
    0h
    Guided learning
    0h
    Autonomous learning
    0h

    Determining requirements

    1) Participar activament en una classe de teoria, on s'explica quins són els mètodes principals per a determinar els requisits i quan es poden aplicar (2 hores). (2) Durant la setmana, l'estudiant realitza un exercici sobre casos d'ús i el presenta via Atenea (2 hores) (3) Realitzar la tasca encomanada pel grup, que tractarà dels requisits funcioanls i dels casos d'ús (3,5 hores). (4) Participar activament en la reunió del grup, que es centrarà en els requisits funcionals i casos d'ús (2 hores). (5) Respondre (via Atenea) al qüestionari de la setmana. (30 minuts).
    Objectives: 9 10 11
    Contents:
    Theory
    2h
    Problems
    0h
    Laboratory
    2h
    Guided learning
    0h
    Autonomous learning
    6h

    E4

    Exercise on essential and real use cases
    Objectives: 8 9
    Week: 6
    Theory
    0h
    Problems
    0h
    Laboratory
    0h
    Guided learning
    0h
    Autonomous learning
    0h

    Negotiating requirements

    (1) Participar activament en una classe de teoria, on s'expliquen la necessitat i els mètodes de negociació de conflictes en l'enginyeria de requisits (2 hores). (2) Realitzar la tasca encomanada pel grup, que tractarà sobre l'acabament del lliurament preliminar de l'especificació de requisits (5,5 hores). (3) Participar activament en la reunió del grup, que tractarà sobre l'acabament del lliurament preliminar de l'especificació de requisits (2 hores). (4) Respondre (via Atenea) al qüestionari de la setmana. (30 minuts).
    Objectives: 12
    Contents:
    Theory
    2h
    Problems
    0h
    Laboratory
    2h
    Guided learning
    0h
    Autonomous learning
    6h

    D1

    Preliminary delivery on requirements specification
    Objectives: 2 3 8 9 15 10 4
    Week: 7
    Theory
    0h
    Problems
    0h
    Laboratory
    0h
    Guided learning
    0h
    Autonomous learning
    0h

    Validation requirements

    1) Participar activament en una classe de teoria, on s'explica quins són els mètodes principals de validació de requisits (2 hores). (2) Durant la setmana, l'estudiant realitza un exercici sobre validació de requisits (2 hores) (3) Realitzar la tasca encomanada pel grup, que tractarà dels requisits no funcionals del projecte (3,5 hores). (4) Participar activament en la reunió del grup, que es centrarà en els requisits no funcionals, i en la planificació de l'activitat de validació dels requisits (2 hores). (5) Respondre (via Atenea) al qüestionari de la setmana. (30 minuts).
    Objectives: 17 16
    Contents:
    Theory
    2h
    Problems
    0h
    Laboratory
    2h
    Guided learning
    0h
    Autonomous learning
    6h

    E5

    Exercise on validation requirements
    Objectives: 17 16
    Week: 8
    Theory
    0h
    Problems
    0h
    Laboratory
    0h
    Guided learning
    0h
    Autonomous learning
    0h

    Recap on requirements

    (1) Participar activament en una classe de teoria, on es fa una recapitulació de tots els conceptes i tècniques vistos al curs fins aquest moment. (2 hores). Aquesta setmana no hi ha exercici per tal de poder destinar més temps al lliurament definitiu dels requisits. (2) Realitzar la tasca encomanada pel grup, que tractarà sobre la validació de l'especificació de requisits (5,5 hores). (3) Participar activament en la reunió del grup, que tractarà sobre la validació de l'especificació i l'acabament del lliurament definitiu de l'especificació de requisits (2 hores). (4) Respondre (via Atenea) al qüestionari de la setmana. (30 minuts).
    Objectives: 2 3 8 9 13 14 15 17 21 22 10 16 4
    Contents:
    Theory
    1h
    Problems
    0h
    Laboratory
    2h
    Guided learning
    0h
    Autonomous learning
    6h

    Q1

    Questionnaire on basic concepts of requirements engineering. Each student must bring a laptop or similar to access and respond to the questionnaire.
    Objectives: 1 2 3 6 7 8 9 13 14 15 17 10 11 16 4 5 12
    Week: 9
    Theory
    0h
    Problems
    0h
    Laboratory
    0h
    Guided learning
    0h
    Autonomous learning
    0h

    D2

    Final delivery of the requirements specification
    Objectives: 2 3 8 9 13 14 15 17 10 11 16 4
    Week: 9
    Theory
    0h
    Problems
    0h
    Laboratory
    0h
    Guided learning
    0h
    Autonomous learning
    0h

    Conceptual modeling in requirements engineering

    1) Participar activament en una classe de teoria, on s'explica quin és el paper de la modelització conceptual en l'enginyeria de requisits (2 hores). (2) Durant la setmana, l'estudiant realitza un exercici sobre OCL executable (3 hores) (3) Realitzar la tasca encomanada pel grup, que tractarà d'estudiar l'esquema conceptual de projectes anteriors i determinar què s'ha de fer en aquest cas. (2,5 hores). (4) Participar activament en la reunió del grup, que es centrarà en els aspectes indicats anteriorment (2 hores). (5) Respondre (via Atenea) al qüestionari de la setmana. (30 minuts).
    Objectives: 18 21 20
    Contents:
    Theory
    2h
    Problems
    0h
    Laboratory
    2h
    Guided learning
    0h
    Autonomous learning
    6h

    E6

    Exercise on the executable OCL
    Objectives: 20
    Week: 10
    Theory
    0h
    Problems
    0h
    Laboratory
    0h
    Guided learning
    0h
    Autonomous learning
    0h

    The structural scheme

    1) Participar activament en una classe de teoria, on es repassaran (i, si cal, s'aprofundiran) els conceptes d'esquema estructural necessaris per al projecte (2 hores). (2) Durant la setmana, l'estudiant realitza un exercici esquemes estructurals (3 hores) (3) Realitzar la tasca encomanada pel grup, que tractarà sobre la definició de l'esquema estructural del projecte. (2,5 hores). (4) Participar activament en la reunió del grup, que es centrarà en els aspectes indicats anteriorment (2 hores). (5) Respondre (via Atenea) al qüestionari de la setmana. (30 minuts).
    Objectives: 20 19
    Contents:
    Theory
    2h
    Problems
    0h
    Laboratory
    2h
    Guided learning
    0h
    Autonomous learning
    6h

    E7

    Exercise making structural scheme
    Objectives: 20 19
    Week: 11
    Theory
    0h
    Problems
    0h
    Laboratory
    0h
    Guided learning
    0h
    Autonomous learning
    0h

    The scheme behavior

    (1) Participar activament en una classe de teoria, on es repassen (i, si cal, s'aprofundeixen) els conceptes necessaris d'esquema del comportament necessaris per al projecte (2 hores). Aquesta setmana ho hi ha exercici per tal de poder destinar més temps al lliurament preliminar de l'esquema conceptual. (2) Realitzar la tasca encomanada pel grup, que consistirà en la contiunació de l'esquema estructural i de comportament del projecte (5,5 hores). (3) Participar activament en la reunió del grup, que consolidarà les feines individuals i prepararà el lliurament preliminar de l'esquema conceptual (2 hores). (4) Respondre (via Atenea) al qüestionari de la setmana. (30 minuts).
    Objectives: 20 19
    Contents:
    Theory
    2h
    Problems
    0h
    Laboratory
    4h
    Guided learning
    0h
    Autonomous learning
    6h

    D3

    Preliminary delivery of conceptual schema of the project
    Objectives: 20 19
    Week: 12
    Theory
    0h
    Problems
    0h
    Laboratory
    0h
    Guided learning
    0h
    Autonomous learning
    0h

    Validating conceptual schema

    1) Participar activament en una classe de teoria, on s'estudiarà què és la validació d'esquemes conceptuals i els mètodes que hi ha per a fer-la (2 hores). (2) Durant la setmana, l'estudiant realitza un exercici de validació d'esquemes (3 hores) (3) Realitzar la tasca encomanada pel grup, que tractarà sobre la definició de l'esquema de comportament del projecte. (2,5 hores). (4) Participar activament en la reunió del grup, que es centrarà en els aspectes indicats anteriorment (2 hores). (5) Respondre (via Atenea) al qüestionari de la setmana. (30 minuts).
    Objectives: 21 20 22
    Contents:
    Theory
    2h
    Problems
    0h
    Laboratory
    2h
    Guided learning
    0h
    Autonomous learning
    6h

    E8

    Exercise on schema validation
    Objectives: 21 22
    Week: 13
    Theory
    0h
    Problems
    0h
    Laboratory
    0h
    Guided learning
    0h
    Autonomous learning
    0h

    Recap subject

    1) Participar activament en una classe de teoria, on el coordinador de cada grup explica què han après d'enginyeria de requisits al curs (2 hores). (2) Durant la setmana, prepara un document explicatiu del seu grau d'assoliment dels objectius del curs (3 hores) (3) Realitzar la tasca encomanada pel grup, que tractarà de la validació de l'esquema conceptual del projecte (3 hores). (4) Participar activament en la reunió del grup, que es centrarà en la validació conjunta de l'esquema conceptual (2 hores).
    Objectives: 18 21 20 22 19
    Contents:
    Theory
    1h
    Problems
    0h
    Laboratory
    2h
    Guided learning
    0h
    Autonomous learning
    6h

    Completion of the final delivery of the conceptual scheme

    L'alumne realitza la part encomanada d'acabament i presentació de l'esquema conceptual, tenint en compte el resultat de la validació efectuada en la darrera reunió del grup (10 hores)
    Objectives: 20 22 19
    Contents:
    Theory
    0h
    Problems
    0h
    Laboratory
    0h
    Guided learning
    0h
    Autonomous learning
    6h

    D4

    Final delivery of conceptual schema
    Objectives: 21 20 22 19
    Week: 15
    Theory
    0h
    Problems
    0h
    Laboratory
    0h
    Guided learning
    0h
    Autonomous learning
    0h

    Q2

    Questionnaire on basic concepts of conceptual modeling in requirements engineering. The questionnaire will be answered online within the class. Each student must bring a laptop or similar to access and respond to the questionnaire.
    Objectives: 18 21 20 22 19
    Week: 14
    Theory
    0h
    Problems
    0h
    Laboratory
    0h
    Guided learning
    0h
    Autonomous learning
    0h

    Teaching methodology

    The course will primarily (but not completely) be taught using the teaching method PBL (Problem Based Learning).

    There is a class (conventional) two hours a week in which the teacher presents the topics of the course and all aspects that are not sufficiently covered by other activities. The class also provides a good solution to the exercise of the previous week.

    The second main activity of the course is the determination of the requirements of a particular software system. The teacher sketches a specific situation (different from one course to another), for which students have to determine and specify the requirements of a software system, using some methods and languages ¿¿to be learned previously. This work is performed in group. The number of people and the composition of the group is defined at the beginning of the course (no more than five/six). Each group appoints a coordinator. Each group meets at least once a week for two hours, the hours of laboratory classes. The group submits its work in five deliverables during the course, within limits fixed at the beginning of the course.

    Each project meeting consists of three parts: During the first part each student explains the individual work done during the week and the group consolidates the work done by each member; During the second part the group progress towards the new project aspects that must be taken over; the third part is the planing of what will be done during next week, and who will.

    The third major activity is the course exercises. The teacher proposes several exercises during the course. Each student must submit (via Athena) his own solution to the exercises, within the specified deadline. The completion of the exercise requires learning new skills.

    Note: The teaching method used in the course requires students to acquire new knowledge independently, using bibliographic sources that are normally in English. It is essential that the student has a sufficient level of English without much difficulty assimilating the literature (technical).

    Evaluation methodology

    The generic competence assigned to the course is graded with values A, B, C, D, where:
    · A indicates that the competence has been accomplished with a level of excellence
    · B indicates that the competence has been accomplished with the desired level
    · C indicates that the competence has been accomplished with a sufficient level
    · D indicates that the competence has not accomplished
    This grade comes from the evaluation of the first deliverable of the project (Context analysis).

    Bibliography

    Basic

    Complementary

    Previous capacities

    - An overview of software engineering, and the role it plays in Requirements Engineering
    - Basic elements of conceptual modeling in UML / OCL
    - Organizations, economic environment, decision-making.
    - English reading level.