Conhecimentos de Base Recomendados
Experiência em programação.
Métodos de Ensino
Os temas lecionados e os materiais de estudo são apresentados e discutidos, sendo dada ênfase à análise e discussão de casos de estudo. São ainda efetuadas análises direcionadas, realização de atividades e apresentação e defesa dos trabalhos.
Os trabalhos constam essencialmente da escrita de pequenos relatórios relacionados, que são apresentados e discutidos pela turma.
Algumas aulas servem para a realização de atividades práticas, como o planeamento e execução de tarefas relacionadas com o desenvolvimento de um pequeno projeto.
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
- Motivação
- Casos de estudo sobre problemas relacionados com desenvolvimento de software
- Exemplos de abordagens de desenvolvimento de software
- Processo de software
- Processo, framework, ciclo de vida
- Modelos de Processos e Avaliação
- ISO/IEC 12207, CMMI, ISO/IEC 15504
- Metodologias tradicionais
- Modelos em cascata, incrementais, evolutivos
- Metodologias ágeis
- Scrum, Extreme Programming, Kanban, Agile Unified Process, DevOps
- Design Thinking
- Conclusões
- Análise global
Docente(s) responsável(eis)
Estágio(s)
NAO
Bibliografia
- Abrahamsson, Pekka, Outi Salo, Jussi Ronkainen, and Juhani Warsta. Agile Software Development Methods – Review and Analysis. Finland: VTT Publications, 2002.
- Pressman, Roger S. Software Engineering: a practitioner’s approach – 6th ed. New York: McGraw-Hill, 2005.
- Shore, James, and Shane Warden. The Art of Agile Development. O’Reilly, 2007
- Tsui, Frank, and Orlando Karam. Essentials of Software Engineering. Sudbury, MA: Jones and Bartlett Publishers, 2007
- Vários artigos e casos de estudo