Processos e Metodologias de Software

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.