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:
|
Saber:
Saber fazer:
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
Métodos de desenvolvimento de software
Horas por crédito | 28 | ||
Horas p/ semana | Semanas | Horas | |
Total de Horas | 0 | ||
ECTS | 6.0 |