Go to:
Esta página em português Ajuda Autenticar-se
Workshop de Culinária Vegetariana
You are here: Start > EIC0024

Site map
Edifício A (Administração) Edifício B (Aulas) - Bloco I Edifício B (Aulas) - Bloco II Edifício B (Aulas) - Bloco III Edifício B (Aulas) - Bloco IV Edifício C (Biblioteca) Edifício D (CICA) Edifício E (Química) Edifício F (Minas e Metalurgia) Edifício F (Minas e Metalurgia) Edifício G (Civil) Edifício H (Civil) Edifício I (Electrotecnia) Edifício J (Electrotecnia) Edifício K (Pavilhão FCNAUP) Edifício L (Mecânica) Edifício M (Mecânica) Edifício N (Garagem) Edifício O (Cafetaria) Edifício P (Cantina) Edifício Q (Central de Gases) Edifício R (Laboratório de Engenharia do Ambiente) Edifício S (INESC) Edifício T (Torre do INEGI) Edifício U (Nave do INEGI) Edifício X (Associação de Estudantes)

Software Engineering

Code: EIC0024     Acronym: ESOF

Classification Keyword
OFICIAL Software Engineering

Instance: 2018/2019 - 1S Ícone do Moodle

Active? Yes
Responsible unit: Department of Informatics Engineering
Course/CS Responsible: Master 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
MIEIC 146 Syllabus since 2009/2010 3 - 6 56 162

Teaching Staff - Responsibilities

Teacher Responsibility
João Carlos Pascoal Faria

Teaching - Hours

Lectures: 2,00
Recitations: 2,00
Type Teacher Classes Hour
Lectures Totals 1 2,00
João Carlos Pascoal Faria 2,00
Recitations Totals 6 12,00
João Carlos Pascoal Faria 2,00
Filipe Alexandre Pais de Figueiredo Correia 6,00
Rui Miguel de Sousa Neves 4,00
Mais informaçõesLast updated on 2018-09-27.

Fields changed: Teaching methods and learning activities, Fórmula de cálculo da classificação final, Componentes de Avaliação e Ocupação, Observações, Avaliação especial

Teaching language

Suitable for English-speaking students


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



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

2. SOFTWARE PROCESS: concept of software process; process models; process activities; agile methods; example of the Rational Unified Process.

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

4. REQUIREMENTS ENGINEERING: software requirements; the requirements document; requirements engineering process; requirements modeling with UML; user interface prototyping.

5. SOFTWARE DESIGN: architectural design; architectural modeling with UML; reuse (components, frameworks and product lines); detailed design.

6. SOFTWARE CONSTRUCTION: integrated development environments; rapid development environments; model-driven development environments; continuous integration; version control; agile development with XP.

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

8. SOFTWARE EVOLUTION: evolution processes; dynamics of program evolution; software maintenance; legacy systems; reverse engineering and software re-engineering.

9. PROCESS IMPROVEMENT: software process lifecycle; performance measurement; the CMMI maturity model; retrospectives.

Mandatory literature

Ivar Jacobson, Bud Lawson, Paul mcMahon, Michael Goedicke; Software Engineering Essentialized (http://semat.org/web/book)
Ian Sommerville; Software engineering (9th edition), Addison-Wesley, 2011. ISBN: 9780137035151

Complementary Bibliography

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
Humphrey, Watts S; A discipline for Software engineering. ISBN: 0-201-54610-8

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 exercises, small projects and research work.

Three practical works will be developed:
- T1 - 1st practical work, in a group, of reading and writing a short summary about a topic related to the history of software engineering;

- T2 - 2nd practical work, in a group, of reading and writing a brief synthesis on a topic related to software development processes;

- T3 - 3rd practical work, in a group, based on an existing open source project, with the objective of accomplishing the various activities of the software development and maintenance life cycle, through the implementation of one or more issues; one project per class is selected and each group of students will select one or more issues to be resolved.

In some theoretical classes, small questionnaires (kahoots) will be carried out to gauge and discuss topics covered. The students with the best performance in the questionnaires (top 10 of each quiz) can earn a credit of up to 2 values to compensate for eventual failures in the final mini-test.

Evaluation Type

Distributed evaluation without final exam

Assessment Components

Designation Weight (%)
Teste 35,00
Trabalho escrito 30,00
Trabalho prático ou de projeto 35,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

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 the regular students. 

Calculation formula of final grade

FG = 15% T1 + 15% T2 + 35% T3 + 35% MT

FG: Final Grade
T1: Grade for assignment 1
T2: Grade for assignment 2
T3: Grade for assignment 3
MT: Mini-test

Final grades higher than or equal to 18 pts
may require an oral examination touching all aspects of the course.

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.


It is recommended that, for attending this course, students have completed LPOO.

Important dates:

  • Week of 8 to 12 / OCT: delivery of the 1st work (T1);
  • Week of 22 to 26 / OCT: delivery of the 2nd work (T2);
  • Week from 12 to 16 / NOV: intermediate delivery of the 3rd work (T3);
  • Week from 10 to 14 / DEC: final delivery of the 3rd work (T3);
  • Week from 7 to 11 / JAN: mini-test (MT).
Recommend this page Top
Copyright 1996-2019 © Faculdade de Engenharia da Universidade do Porto  I Terms and Conditions  I Accessibility  I Index A-Z  I Guest Book
Page generated on: 2019-03-26 at 15:11:02