Métodos de Ensino
As aulas são lecionadas em regime teórico-prático, compreendendo a exposição teórica dos conceitos e a demonstração da sua aplicação, com recurso à utilização de computadores e ferramentas digitais, num processo dinâmico de ensino-aprendizagem, fundamentalmente interativo, apelando ao desenvolvimento do sentido crítico do aluno.
Será utilizado um modelo “Blended learning”, centrado no aluno, baseado no desenvolvimento de atividades e com aulas integralmente destinadas à análise e aplicação prática dos conceitos e à realização de exercícios.
Resultados de Aprendizagem
Dotar os alunos de um conjunto de conceitos, técnicas e ferramentas que permitam a construção de software em variados domínios de aplicação e desenvolvam as seguintes competências fundamentais:
– Ter uma visão global do papel dos diferentes domínios da engenharia de software.
– Saber realizar uma análise de requisitos de software.
– Ser capaz de elaborar a arquitetura do software a ser desenvolvido.
– Saber escolher as técnicas de implementação mais adequadas.
– Ter conhecimentos de um conjunto de técnicas de teste e validação de software.
– Estar consciente dos desafios que se colocam à construção de sistemas e aplicações de maior dimensão.
Programa
1.Engenharia de software
Conceitos introdutórios
Desenvolvimento profissional
Aspetos humanos
Ética
2.Processos de software
Modelos e atividades
Lidar com mudança
Melhoria dos processos
3.Desenvolvimento ágil de software
Métodos ágeis
Técnicas de desenvolvimento ágil
Projetos de grande dimensão
4.Engenharia de requisitos
Requisitos funcionais e não-funcionais
Obtenção e especificação de requisitos
Validação e alteração de requisitos
5.Modelação
Princípios fundamentais
Modelação baseada em cenários e em classes
Modelação funcional e comportamental
6.Projeto de arquitetura
Arquitetura de software
Vistas e padrões
Arquiteturas de aplicações
7.Projeto e implementação
Projeto orientado por objetos utilizando UML
Questões de implementação
Desenvolvimento open-source
8.Teste de software
Testes na fase de desenvolvimento
Desenvolvimento orientado para os testes
Testes de releases e de utilizador/cliente
9.Qualidade do software
Conceitos fundamentais
Garantia de qualidade As normas ISO 9000
Estágio(s)
NAO
Bibliografia
Principal
– I. Sommerville (2015), Software Engineering, 10th Ed., ISBN: 978-1292096131, Pearson.
– R. Pressman, B. Maxim (2019), Software Engineering: A practitioners Approach, 9th Ed., ISBN: 978-1260548006, McGraw Hill.
Secundária
– A. Miguel (2015), Gestão de Projetos de Software, 5ª. Ed., ISBN: 978-9727228041, FCA.
– J. P. Pinto (2019), C. Tscharf, SCRUM – A Gestão Ágil de Projetos, ISBN: 978-9727229000, FCA.
– J. Rumbaugh, I. Jacobson, G. Booch (2004), The Unified Modeling Language Reference Manual, 2nd Ed., ISBN: 978-0321718952,Addison-Wesley.