Go to:
You are here: Start > L.EIC017

Software Engineering

Code: L.EIC017     Acronym: ES

Classification Keyword
OFICIAL Informatics Engineering and Computing

Instance: 2021/2022 - 2S Ícone do Moodle Ícone  do Teams

Active? Yes
Responsible unit: Department of Informatics Engineering
Course/CS Responsible: Bachelor in Informatics and Computing Engineering

Cycles of Study/Courses

Acronym No. of Students Study Plan Curricular Years Credits UCN Credits ECTS Contact hours Total Time
L.EIC 502 Syllabus 2 - 6 52 162

Teaching Staff - Responsibilities

Teacher Responsibility
Ademar Manuel Teixeira de Aguiar
João Carlos Pascoal Faria
Mais informaçõesLast updated on 2022-06-06.

Fields changed: Calculation formula of final grade

Teaching language



This course aims to acquaint students with the engineering and management methods necessary for the cost-effective development and maintenance of high-quality complex software systems.

Learning outcomes and competences

At the end of the semester, students should:

  • be capable of describing the principles, concepts and practices of software engineering and software life cycle;
  • be acquainted with and be capable of applying the required tools and techniques to carry out and manage the various tasks in the development of high-quality software;
  • be capable of explaining the development methods and processes of different types of software systems.


Working method


Pre-requirements (prior knowledge) and co-requirements (common knowledge)

Knowledge of programming, object-oriented design, and unit testing acquired in previous curricular units.


  1. INTRODUCTION: large-scale software development challenges; objectives and scope of software engineering; history of software engineering.

  2. SOFTWARE PROCESS: the concept of software process; process activities; process models; examples of software processes (RUP, XP, Scrum, etc.).

  3. SOFTWARE PROJECT MANAGEMENT: project planning, monitoring, and control; software estimation; agile and classic project management.

  4. SOFTWARE REQUIREMENTS: concept of software requirements; types of requirements;  requirements elicitation, analysis, specification, and validation; requirements modeling with UML; user interface prototyping.

  5. SOFTWARE DESIGN: architectural design; architectural modeling with UML; software reuse; detailed design.

  6. SOFTWARE CONSTRUCTION AND EVOLUTION: development environments; continuous integration; version and change management; agile development with XP; software evolution and maintenance.

  7. SOFTWARE VERIFICATION AND VALIDATION: basic concepts; unit, integration, system and acceptance testing; software inspections and reviews; defect tracking; static code analysis.

Mandatory literature

Ian Sommerville; Software Engineering (10th edition), Pearson, 2015. ISBN: 9781292096131 (https://iansommerville.com/software-engineering-book/)

Complementary Bibliography

Ivar Jacobson, Bud Lawson, Paul mcMahon, Michael Goedicke; Software Engineering Essentialized (http://semat.org/web/book)
Russ Miles & Kim Hamilton; Learning UML 2.0, O'Reilly, 2006. ISBN: 0-596-00982-8
Silva, Alberto Manuel Rodrigues da; UML, metodologias e ferramentas CASE. ISBN: 989-615-009-5

Teaching methods and learning activities

Theoretical classes will be based on the oral presentation of the themes and description of problems, as well methodology analysis and solutions/good practices.

Theoretical-practical classes will be based on a small software development project, in groups, encompassing a written part (development report, including text and models about the project) and the software developped  (source code).

- TP1 (Trabalho escrito) - Development Report, including documentation about all software development project phases, written in a perspective of the present development team, for an eventual future development team.

- TP2 (Trabalho prático) - Software, including all source code developed by the group, published in github/gitlab, with instructions to install and run.


Flutter SDK
Android Studio

Evaluation Type

Distributed evaluation with final exam

Assessment Components

Designation Weight (%)
Trabalho escrito 25,00
Trabalho prático ou de projeto 30,00
Exame 35,00
Participação presencial 10,00
Total: 100,00

Amount of time allocated to each course unit

Designation Time (hours)
Elaboração de projeto 28,00
Estudo autónomo 50,00
Frequência das aulas 56,00
Trabalho escrito 28,00
Total: 162,00

Eligibility for exams

Minimum of 40% in each evaluation component.

Not exceed the absence limits and actively participate in the practical works that will be subject to evaluation.

Students dispensed from attendance rules must, in time periods defined with teachers, present the evolution of their works, and participate in the final presentations sessions as regular students. 

Calculation formula of final grade

Classification components:

  • PQ - classification related to class participation and answering quizzes
  • TP - classification obtained in the team project;
  • EF - classification obtained in the final exam.

Final classification calculation formula:
      round(min(10% PQ + 55% TP + 35% EF; EF + 4))

Final grades greater than or equal to 18 points may require an oral test, which will cover all aspects covered in the UC.

A minimum grade of 40% is required in all components (PQ, TP and EF).

The final grade cannot exceed in more than 5 points the grade obtained in the final exam.

In the case of students exempt from the attendance rule, the PQ component does not apply, with the final exam having a weight of 45%.

The classification of the TP component may vary among students in the same project group.

Special assessment (TE, DA, ...)

These students must however accomplish with the above considerations about realization and evaluation of works. 

Classification improvement

Development of alternative works in the next course term.


Important dates:

Description Type Start Finish
Project initiation Project 7/3/2022 18/3/2022
Iteration 0 Project 18/3/2022 8/4/2022
Iteration 1 Project  8/4/2022  13/5/2022
Iteration 2 Project 13/5/2022 27/5/2022
Iteration 3 Project 27/5/2022 10/6/2022
Exam  Exam 20/6/2022 20/6/2022
Appeal exam Exam 12/7/2022 12/7/2022

Recommend this page Top
Copyright 1996-2023 © Faculdade de Engenharia da Universidade do Porto  I Terms and Conditions  I Accessibility  I Index A-Z  I Guest Book
Page generated on: 2023-09-27 at 05:27:54 | Acceptable Use Policy | Data Protection Policy | Complaint Portal