2024

Metodologias e Desenvolvimento de Software

Nome: Metodologias e Desenvolvimento de Software
Cód.: INF13204L
6 ECTS
Duração: 15 semanas/156 horas
Área Científica: Informática

Língua(s) de lecionação: Português
Língua(s) de apoio tutorial: Português

Objetivos de Desenvolvimento Sustentável

Objetivos de Aprendizagem

Pretende-se transmitir ao aluno noções sólidas de Engenharia de Software que permitam a criação de software de qualidade, seguro, de confiança e de fácil manutenção. Após concluírem a unidade curricular, os alunos deverão ser capazes de:
- Conhecer e aplicar os diferentes processos de desenvolvimento de software;
- Conhecer e criar os diferentes tipos de requisitos de software;
- Modelar software;
- Conhecer e aplicar os processos associados ao desenho e implementação de software;
- Conhecer e aplicar diferentes padrões de software durante o desenvolvimento de software;
- Conhecer e aplicar os conceitos de gestão de configurações;
- Conhecer e aplicar os conceitos de teste e validação de software;

Conteúdos Programáticos

- Introdução à Engenharia de Software
- Processos de Desenvolvimento de Software
- Métodos de desenvolvimento baseadas em planos
- Métodos ágeis de desenvolvimento

- Engenharia de requisitos
-- Requisitos funcionais, não funcionais, sistema e utilizador
-- Validação de requisitos
-- Gestão de requisitos

- Modelação de software
-- Modelos de contexto, interação, estruturais e de comportamento
-- Desenvolvimento baseado em modelos

- Desenho e implementação de software
-- Desenho de software usando UML
-- Padrões de software
-- Implementação de software

- Gestão de configurações
-- Gestão de alterações, versões e releases
-- Construção do sistema

- Verificação e validação de software
-- Testes de desenvolvimento, release e utilizador

Métodos de Ensino

As metodologia de ensino serão baseadas em aulas teóricas e práticas. Procura-se uma aprendizagem ativa que estimule o aluno a desenvolver os diversos temas que são abordados nesta unidade curricular. Serão resolvidos problemas em grupo durante as aulas práticas, que farão parte de um projeto que será desenvolvido ao longo de toda a unidade curricular, e que terá como objetivo desenvolver um software de raíz recorrendo aos conceitos de Engenharia de Software apresentados nas aulas teóricas e às ferramentas exploradas nas aulas práticas, permitindo aos alunos consolidar os conhecimentos adquiridos nesta unidade curricular.

Avaliação

No regime de avaliação contínua, a nota final da disciplina resultará da média ponderada da componente prática e da componente teórica, com as seguintes ponderações:

- Componente teórica:
-- Teste 1: 30%;
-- Teste 2: 30%;
- Componente prática:
-- Trabalho prático: 40%;

No regime de exame, a nota final da disciplina resultará da média ponderada da componente prática e da componente teórica, com as seguintes ponderações:

- Componente teórica:
-- Exame: 60%;
- Componente prática:
--Trabalho prático: 40%;

Bibliografia

- Sommerville, Ian. Software engineering, Global Edition (10th Edition). New York: Pearson Education Limited, 2015.

- Fowler, Martin. UML Distilled: A Brief Guide to the Standard Object Modeling Language (Third Edition). Addison-Wesley Professional, 2004.

- Seidl, Martina, et al. UML @ classroom : an introduction to object-oriented modeling. Cham: Springer, 2015).
Martin, Robert C. Agile Software Development, Principles, Patterns, and Practices: Pearson New International Edition. Pearson Education Limited, 2013.

- Myers, Glenford J., Corey Sandler, and Tom Badgett, 3rd Edition. The art of software testing. John Wiley & Sons, 2011.

- Gamma, Erich. Design patterns : elements of reusable object-oriented software. Addison-Wesley, 1995.

Equipa Docente (2023/2024 )