Requirements Engineering

You are here

Credits
6
Department
ESSI
Types
Specialization compulsory (Software Engineering)
Requirements
  • Prerequisite: IES
  • Prerequisite: EEE
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 ( )
  • 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

Solvent use of the information resources

  • G6 - 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: G6.3, CSI4.1, CES2.1,
  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

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).
Theory
2
Problems
0
Laboratory
2
Guided learning
0
Autonomous learning
6
Objectives: 1
Contents:

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).
Theory
2
Problems
0
Laboratory
2
Guided learning
0
Autonomous learning
6
Objectives: 2 3
Contents:

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).
Theory
2
Problems
0
Laboratory
2
Guided learning
0
Autonomous learning
6
Objectives: 2 3 13 14 10
Contents:

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).
Theory
2
Problems
0
Laboratory
2
Guided learning
0
Autonomous learning
6
Objectives: 4 5
Contents:

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).
Theory
2
Problems
0
Laboratory
2
Guided learning
0
Autonomous learning
6
Objectives: 6 7 4 5
Contents:

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).
Theory
2
Problems
0
Laboratory
2
Guided learning
0
Autonomous learning
6
Objectives: 9 10 11
Contents:

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).
Theory
2
Problems
0
Laboratory
2
Guided learning
0
Autonomous learning
6
Objectives: 12
Contents:

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).
Theory
2
Problems
0
Laboratory
2
Guided learning
0
Autonomous learning
6
Objectives: 17 16
Contents:

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).
Theory
1
Problems
0
Laboratory
2
Guided learning
0
Autonomous learning
6
Objectives: 2 3 8 9 13 14 15 17 21 22 10 16 4
Contents:

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).
Theory
2
Problems
0
Laboratory
2
Guided learning
0
Autonomous learning
6
Objectives: 18 21 20
Contents:

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).
Theory
2
Problems
0
Laboratory
2
Guided learning
0
Autonomous learning
6
Objectives: 20 19
Contents:

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).
Theory
2
Problems
0
Laboratory
2
Guided learning
0
Autonomous learning
6
Objectives: 20 19
Contents:

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).
Theory
2
Problems
0
Laboratory
2
Guided learning
0
Autonomous learning
6
Objectives: 21 20 22
Contents:

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).
Theory
1
Problems
0
Laboratory
2
Guided learning
0
Autonomous learning
6
Objectives: 18 21 20 22 19
Contents:

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)
Theory
0
Problems
0
Laboratory
0
Guided learning
0
Autonomous learning
10
Objectives: 20 22 19
Contents:

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 very general topics (eg what is the requirements engineering) or aspects that are not sufficiently covered by other activities. Almost half the class is devoted to discussion and work in small groups on issues raised by the teacher. Typically, the class also provides a good solution to the exercise of the previous week.

La 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 and a secretary. 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.

Before starting the meeting of the project groups, its members have posted what they have done during the week. Each meeting consists of three parts: The first part explains what each student has made during the week, the second consolidates the work done by members of the group, the third is planing what will be done in next week, and who will. At the end of each meeting, the Secretary publishes the minutes in the forum.

The third major activity is the course exercises. The teacher asks at least eight 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. The exercises are corrected soon, and if possible they will be discussed in class of the next week.

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

In addition to the mark of the course, there will be a grade for the generic competence assigned to the course, 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 assigment of the group (Context analysis.

Bibliografy

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.