Requirements Engineering

You are here

Credits
6
Types
Specialization compulsory (Information Systems)
Requirements
  • Prerequisite: EEE
  • Prerequisite: IES
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

  • Maria Ribera Sancho Samso ( )

Others

  • Ernest Teniente Lopez ( )
  • Inmaculada Ramirez Perez ( )
  • Manuel Rello Saltor ( )
  • Sergio Morales Garcia ( )

Weekly hours

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

Competences

Technical Competences of each Specialization

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.

Transversal Competences

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
Type: lab exam
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
Type: lab exam
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
Type: theory exam
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
Type: theory exam
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
Type: theory exam
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
Type: theory exam
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
Type: theory exam
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
Type: theory exam
Theory
2h
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
Type: theory exam
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
Type: theory exam
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
Type: theory exam
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
Type: theory exam
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
Type: theory exam
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
Type: theory exam
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
Type: theory exam
Theory
2h
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.