Requirements Engineering
Keywords |
Classification |
Keyword |
OFICIAL |
Software Engineering |
Instance: 2024/2025 - 2S
Cycles of Study/Courses
Acronym |
No. of Students |
Study Plan |
Curricular Years |
Credits UCN |
Credits ECTS |
Contact hours |
Total Time |
M.EIC |
0 |
Syllabus |
1 |
- |
6 |
39 |
162 |
Teaching Staff - Responsibilities
Teaching language
English
Objectives
This course unit aims to endow students with planning and management skills, so that they can analyse and specify the requirements of a software system.
Learning outcomes and competences
By the end of the course, students should be able to:
- know the basic fundamentals of requirements engineering (importance in the software development process, Requirements Level Classification, Types of requirements, The role of stakeholders);
- select, describe, and apply multiple techniques for gathering requirements;
- write a complete requirements document following best practices and standards;
- validate and verify requirements (including performing risk analyses);
- understand how formal validation can help in the requirements validation process;
- describe the requirements specification process in agile methodologies;
- apply requirements management techniques;
- select tools to support the requirements engineering process.
Working method
Presencial
Program
- Introduction to Requirements Engineering
- Introduction to Requirements Engineering
- Importance of requirements in software development.
- Requirements Level Classification
- Types of requirements (functional, non-functional, domain-specific).
- The role of stakeholders in requirements engineering.
- Requirements Elicitation
- Introduction to Requirements Elicitation
- Challenges in requirements elicitation
- Identifying and involving relevant stakeholders
- Techniques for gathering requirements
- Writing the Requirements Document
- Requirements Agreement and Analysis
- Requirements Representation
- ISO/IEC/IEEE Standard 29148
- UML/SysML
- The Requirements Document
- Behavioral Specifications
- Best Practices and Recommendations
- Requirements Validations and Verifications
- What Is Requirements Risk Management?
- Validation and Verification
- Standards for V&V
- Example - Validation of Requirements
- Formal Methods
- Motivation
- What are formal methods?
- Examples
- Requirements Specification and Agile Methodologies
- Introduction to Agile Methodologies
- Requirement Engineering for Agile Methodologies
- Requirements Management
- Requirements Management Process
- Configuration Management and Control
- Reconciling Differences
- Global Requirements Management
- Antipatterns in Requirements Management
- Standards for Requirements Management
- Tool Support for Requirements Engineering
- Traceability Support
- Requirements Management Tools
- Case Studies and Real-world Examples
Mandatory literature
Laplante, Phillip A., and Mohamad Kassab; Requirements engineering for software and systems, Auerbach Publications, 2022. ISBN: 0367654520
Complementary Bibliography
Neill, Colin J., and Philip A. Laplante; Antipatterns: identification, refactoring, and management, CRC Press, 2005. ISBN: 978-0849329944
Pohl, Klaus; Requirements Engineering Fundamentals: A Study Guide for the Certified Professional for Requirements Engineering Exam - Foundation Level - IREB compliant, Rocky Nook, Inc., 2015. ISBN: 978-1937538774
Pohl, Klaus; Requirements Engineering Fundamentals: A Study Guide for the Certified Professional for Requirements Engineering Exam - Foundation Level - IREB compliant, Rocky Nook, Inc., 2015. ISBN: 978-1937538774
Teaching methods and learning activities
The program topics are exposed in a series of expositive classes. Throughout the semester, students will carry out 2 group projects (mostly in class) where they put the knowledge acquired into practice:
- In the first project students will be able to simulate a requirement gathering workshop and create a requirements document for a hypothetical software project.
- In the second project students will conduct an analysis of an existing requirements document, identify the problems and challenges, and propose solutions to address these issues.
Theoretical concepts are assessed through a test.
In order to provide students with industry views on the topics of the curricular unit, some speakers will be invited throughout the semester to give presentations on the management of requirements in their companies.
Evaluation Type
Distributed evaluation without final exam
Assessment Components
Designation |
Weight (%) |
Trabalho prático ou de projeto |
55,00 |
Participação presencial |
15,00 |
Teste |
30,00 |
Total: |
100,00 |
Amount of time allocated to each course unit
Designation |
Time (hours) |
Elaboração de projeto |
94,00 |
Estudo autónomo |
35,00 |
Frequência das aulas |
33,00 |
Total: |
162,00 |
Eligibility for exams
Students have to attend at least 75% of the scheduled classes;
Calculation formula of final grade
25% - GP I - Group project I (group)
30% - GP II - Group project II (group)
30% - T - Test (individual)
15% - P - Participation in classes (individual)
Special assessment (TE, DA, ...)
All components are mandatory for all students. Students exempt from attending classes (student workers, etc.) must carry out group work and be present at their presentation. If the student prefers, the weight of the class participation component (P) can be transferred to the test (T), in this case, T will weigh 45% while maintaining the weight of the remaining components.
Classification improvement
Students can improve the mark of their Test (T). The Group project components (GP I and GP II) and Participation in classes (P) can only be improved in the following academic year.