Análises de Sistemas

Conhecimentos de Base Recomendados

Conhecimentos de programação necessários para a escrita de testes unitários.

Métodos de Ensino

No presente ano letivo não existirão aulas para esta unidade curricular, apenas avaliações.

Resultados de Aprendizagem

  • Identificar e descrever os motivos pelos quais a engenharia de software é essencial;
  • Identificar e descrever os principais processos de desenvolvimento de software;
  • Identificar os diferentes tipos de requisito e descrever os principais métodos de desenvolvimento dos mesmos;
  • Criar documentos de especificação de requisitos;
  • Identificar e descrever os principais padrões de arquitetura de software;
  • Desenhar a arquitetura de software adequada a um determinado problema;
  • Criar modelação de software utilizando diagramas UML;
  • Identificar e descrever processos ágeis de desenvolvimento de software;
  • Construir testes de software;
  • Desenvolver software utilizando plataformas low/zero code;
  • Identificar e descrever a importância da qualidade de software.

Programa

  • Conceitos base de Engenharia de software;
  • Processo de desenvolvimento de software;
  • Engenharia de requisitos;
  • Arquitetura e desenho de software;
    • Modelo C4
  • Modelação de sistemas com UML (Unified Modeling Language);
  • Testes de software;
  • Métodos ágeis de desenvolvimento de software;
  • Desenvolvimento de software utilizando sistemas Low Code / Zero Code (e.g. OutSystems, Microsoft PowerApps);
  • Qualidade de software.

Docente(s) responsável(eis)

Estágio(s)

NAO

Bibliografia

Guerreiro, S. (2015). Introdução à engenharia de software. FCA. 

Sommerville, I. (2011). Engenharia de software  (9a edição). Addison Wesley.

Palhoto, T. (2016). Desenvolvimento ágil de software. FCA.

Borges, J. L. M., Cunha, J. F., Dias, T. G. (2015). Modelação de dados em UML – uma abordagem por problemas. FCA. 

Laboon, B. (2016).  A friendly introduction to software testing (1ª edição). CreateSpace Independent Publishing Platform.