• EN
  • Facebook
  • Instagram
  • Youtube
  • Linkedin
Você está em: Início > Ensino > Unidades Curriculares > TSPSI008
Autenticação
ATENÇÃO: Este site utiliza cookies. Ao navegar no site estará a consentir a sua utilização.

Engenharia de Software

Código: TSPSI008    Sigla: ES
Área Científica: Ciências Informáticas

Ocorrência: 2024/25 - 2S

Área de Ensino: Informática

Cursos

Sigla Nº de Estudantes Plano de Estudos Ano Curricular Créditos Horas Contacto Horas Totais
TSPSI 54 Aviso n.º 835/2016, de 26 de fevereiro 4

Horas Efetivamente Lecionadas

TTPSI-1-VFX

Teórico-Práticas: 0,00

TTPSI-1-STR

Teórico-Práticas: 0,00

Docência - Horas Semanais

Teórico-Práticas: 3,00

Tipo Docente Turmas Horas
Teórico-Práticas Totais 2 6,00
Fernando José da Fonseca Bento - ESGT   3,00
Pedro Filipe Marques Torrezão - ESGT   3,00

Docência - Responsabilidades

Docente Responsabilidade
João António Marujo Nascimento - ESGT Responsável

Objetivos de aprendizagem e a sua compatibilidade com o método de ensino (conhecimentos, aptidões e competências a desenvolver pelos estudantes)

Em geral, espera-se que o estudante aprovado nesta Unidade Curricular tenha a capacidade de entender e de aplicar boas práticas na construção de software.

Em particular, espera-se que possa:
- Definir a análise de requisitos e reconhecer a sua importância.
- Criar especificações de software com recurso às principais metodologias e técnicas de desenvolvimento de software.
- Gerir com eficiência a complexidade dos sistemas a implementar.
- Produzir software de qualidade.
- Utilizar ferramentas de apoio.

Conteúdos programáticos

1. Conceitos fundamentais da engenharia de software
- Processo de desenvolvimento
- Problemática do desenvolvimento de software
2. Engenharia de requisitos
- Em que consiste a engenharia de requisitos
- Importância da engenharia de requisitos
- O processo da engenharia de requisitos
3. Modelação de sistemas
- Conceitos e princípios da modelação de sistemas
- Análise orientada para objetos
- Princípios da modelação orientada para objetos
4. Desenho de software
- Conceitos e princípios fundamentais
- Desenho arquitectural
- Desenho orientado para objetos
- Princípios e técnicas
5. Ferramentas de suporte ao processo

Demonstração da coerência dos conteúdos programáticos com os objetivos de aprendizagem da unidade curricular

Cada um dos objetivos enumerados para a Unidade Curricular (UC) é atingido por cada um dos tópicos principais dos conteúdos programáticos da UC. O objetivo geral é obtido pela acumulação dos objetivos enumerados, constituindo um macro objetivo. Os 5 objetivos enumerados, do 1 a 5, são conseguidos pelo trabalho desenvolvido em cada um dos pontos do plano curricular.

Metodologias de ensino e de aprendizagem específicas da unidade curricular articuladas com o modelo pedagógico

Metodologia de ensino: Aulas teórico-práticas de exposição dos conteúdos, de demonstração de conceitos e de práticas de desenho de software, de resolução de exercícios e de apresentação e discussão da solução dos exercícios. Aulas práticas dedicadas à realização de exercícios presencialmente e aulas de apresentação e discussão dos trabalhos de grupo.


Avaliação

A avaliação desta unidade é composta por 3 elementos com pesos distintos:

- Um teste escrito abrangendo todos os conteúdos, com peso de 50%;
- Trabalho de grupo, com apresentação e discussão em sala, com um peso de 30%;
- Trabalhos individuais a realizar ao longo do semestre, com peso de 20%.

Demonstração da coerência das metodologias de ensino e avaliação com os objetivos de aprendizagem da unidade curricular

Tendo em conta que as boas práticas seguem conceitos teóricos de base, que são essenciais para se conseguir os objetivos e resultados propostos, as metodologias seguidas, apesar de previligiarem o trabalho prático, incluem também uma componente teórica que dá sentido ao conjunto de conhecimento que depois se aplicará na prática.

A avaliação contempla estas duas facetas dos conteúdos incluídos nesta UC. O teste prático permitirá aferir da conjugação entre teoria e prática. O trabalho de grupo favorece a aprendizagem e a interação em grupo, fundamental no desenvolvimento de software. Os trabalhos individuais manêm o estudante ativo ao longo do semestre e permite aferir do progresso obtido nesse período.

Bibliografia de consulta (existência obrigatória)

Andersson, E. A., Greenspun, P., Grumet, A. (2006). Software Engineering for Internet Applications. United Kingdom: MIT Press.
Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides e Grady Booch (1994), Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley Professional Computing Series
Langr, J.  (2015), Pragmatic Unit Testing in Java 8 with Junit, Pragmatic Bookshelf
Loeliger, J.  (2012),  Version Control with Git: Powerful tools and techniques for collaborative software development , O'Reilly Media
Pressman, R. S., Maxim, B. R. (2019). Software Engineering: A Practitioners Approach. United Kingdom: McGraw-Hill Education.
Sommerville, I. (2020). Engineering Software Products: An Introduction to Modern Software Engineering. United Kingdom: Pearson.
Stephens, R. (2015), Beginning Software Engineering, Wrox