Engenharia de Software (2017/2018) - Departamento de Informática
Descrição

Esta cadeira destina-se ao estudo aprofundado dos conceitos, processos e técnicas da engenharia de software. Além da base teórica introduzida, pretende-se que o aluno aplique os conhecimentos adquiridos a casos de estudo a fim de consolidar estes conhecimentos. Em resumo os objetivos da cadeira consistem em:

  • Expor os estudantes às problemáticas do desenvolvimento de software em larga escala.
  • Obter experiência efectiva sobre soluções correntemente utilizadas para gerir projectos de software grandes e complexos; isso será conseguido através da participação num projecto de software aberto, suportado numa comunidade de open source muito conhecida.
  • Tomar conhecimento sobre alguns tópicos avançados e actuais em Engenharia de Software, incluindo novos métodos, técnicas e ferramentas.
Objectivos

Saber:

Saber fazer:

Programa

1. Motivação para Engenharia de Software

1.1 Princípios e objetivos da Engenharia de Software

1.2 Conceitos, atividades de software, ética profissional

2. Modelos de processo de software

2.1 Modelos tradicionais de ciclo de vida do software (cascata, iterativo e incremental, espiral)

2.2. O desenvolvimento ágil

3. Gestão de software

3.1 Estimava de custos

3.2 Gestão de pessoas

3.3 Gestão de risco

4. Modelagem de processos de negócio

4.1 Modelagem da Empresa

4.2 Modelação de processos de negócio com BPMN (Business Process Modeling Notation)

4. Requisitos

4.1 Conceitos e atividades da engenharia de requisitos

4.2 Modelos de requisitos (por exemplo KAOS)

5. Arquitetura e desenho de software

5.1 Introdução ao desenho arquitetural

5.2 Dos requisitos ao desenho

5.3 Desenho de interface do utilizador

6. Gestão da variabilidade: linhas de produtos de software

6.1 Conceitos (semelhanças e variabilidades, reuso planeado, configuração e derivação)

6.2 Engenharia de domínio

6.3 Engenharia da aplicação

6.4 Modelação da variabilidade

7. Qualidade do software

7.1 Modelos de maturidade (PSP, TSP, CMMI)

7.2 Conceitos V&V

7.3 Prototipagem

8. Evolução de Software

8.1 Envelhecimento de software

8.2 Mudança de software

8.3 Gestão de configuração

Bibliografia Principal
Requisitos Prévios

Métodos de desenvolvimento de software

Esforço do Aluno
  Horas por crédito 28
  Horas p/ semana Semanas Horas
Total de Horas 0
ECTS 6.0