Engenharia de Software

Mestrado em Engenharia Informática-Internet das Coisas
7.5 ECTS; 1º Ano, 1º Semestre, 30,0 PL + 30,0 TP + 15,0 OT + 10,0 O

Docente(s)
- Renato Eduardo Silva Panda

Pré-requisitos
Não aplicável.

Objetivos
Familiarizar os alunos com diferentes metodologias de desenvolvimento de software, nomeadamente metodologias ágeis e sua aplicação, dotando-os das competências necessárias para a realização de um projeto real.

Programa
Introdução à engenharia de software.
Modelos de desenvolvimento tradicionais e ágeis.
Aplicação de uma metodologia ágil no desenvolvimento de software.
Desenvolvimento de software: paradigma Modelo-Vista-Controlador (MVC), frameworks modernas, APIs e SPAs, sistemas de ORM, versionamento de código, revisões e integração contínua, testes automatizados.

Metodologia de avaliação
Teórica (25%) - Exame escrito sem consulta. Mínimos de 35%.
Prática (75%) - Avaliação contínua do projecto desenvolvido pelos alunos, incluindo o desempenho ao longo das várias iterações, a apresentação do produto e a documentação produzida.

Bibliografia
- Ruby, S. (2016). Agile Web Development with Rails 5. US: Pragmatic Bookshelf
- Sutherland, J. e Schwaber, K. (0). The definitive guide to scrum: the rules of the game. Acedido em 21 de novembro de 2018 em https://www.scrum.org/resources/scrum-guide

Método de interação
Aulas teórico-práticas com apresentação dos conteúdos programáticos, introdução e demonstração de novas tecnologias e apresentações.
Aulas práticas laboratoriais para apoio à realização do projecto.

Software utilizado nas aulas
Não aplicável.