Conhecimentos de Base Recomendados
Experiência em programação.
Métodos de Ensino
Os alunos realizam os seguintes trabalhos práticos:
- Análise de um processo de desenvolvimento de software
- Comparação de abordagens por metodologias ágeis e tradicionais
- Práticas ágeis de desenvolvimento de software (realizado em grupo)
- Análise de casos de estudo de projetos e processos de software
Os trabalhos práticos têm um peso semelhante, somando 55% na nota final.
Será ainda realizado um exame teórico com 45% de peso. É exigido um mínimo de 40% na nota de exame.
É aceite a ressubmissão de até 2 trabalhos até à data de qualquer um dos exames (total de 2 ressubmissões no máximo).
Resultados de Aprendizagem
Nesta unidade curricular são abordadas diversas metodologias de desenvolvimento de software, incluindo tradicionais e ágeis. Os alunos serão capazes de planear e aplicar planos simples para desenvolvimento de aplicações e sistemas. Ao completarem esta unidade curricular, os alunos deverão ser capazes de:
- Identificar as diferentes fases do ciclo de vida de software.
- Conhecer metodologias ágeis e tradicionais de desenvolvimento de software.
- Compreender os objetivos e níveis de maturidade de software.
- Desenvolver pequenas aplicações recorrendo a metodologias ágeis.
- Justificar a aplicação de diferentes metodologias a projetos concretos.
- Analisar projetos reais de desenvolvimento de software e sistemas de informação.
- Escrever artefactos claros, concisos e tangíveis.
Programa
1. Motivação
a. Casos de estudo sobre problemas relacionados com desenvolvimento de software
b. Exemplos de abordagens de desenvolvimento de software
2. Processo de software
a. Processo, framework, ciclo de vida
3. Modelos de Processos e Avaliação
a. ISO/IEC 12207, CMMI, ISO/IEC 15504
4. Metodologias tradicionais
a. Modelos em cascata, incrementais, evolutivos
5. Metodologias ágeis
a. Scrum, Extreme Programming, Kanban, Agile Unified Process, DevOps
6. Design Thinking
7. Conclusões
a. Análise global
Estágio(s)
NAO