Metodologias de Desenvolvimento de Software

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

  1. Motivação
    • Casos de estudo sobre problemas relacionados com desenvolvimento de software
    • Exemplos de abordagens de desenvolvimento de software
  2. Processo de software
    • Processo, framework, ciclo de vida
  3. Modelos de Processos e Avaliação
    • ISO/IEC 12207, CMMI, ISO/IEC 15504
  4. Metodologias tradicionais
    • Modelos em cascata, incrementais, evolutivos
  5. Metodologias ágeis
    • Scrum, Extreme Programming, Kanban, Agile Unified Process, Less
  6. Design Thinking
  7. Metodologias de Data Science
  8. Conclusões
    • Análise global

 

Docente(s) responsável(eis)

Estágio(s)

NAO

Bibliografia

Abrahamsson, P., Salo, O., Ronkainen, J., & Warsta, J. (2002). Agile software development methods: Review and analysis. Finland: VTT Publications.

Pressman, R. S. (2005). Software engineering: A practitioner’s approach (6th ed.). New York, NY: McGraw-Hill.

Shore, J., & Warden, S. (2007). The art of agile development. O’Reilly.

Tsui, F., & Karam, O. (2007). Essentials of software engineering. Sudbury, MA: Jones and Bartlett Publishers.

Vários artigos e casos de estudo