2023
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;
- 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
- 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.
Os elementos de avaliação serão compostos por 2 componentes: 1) componente teórica (60%) e 2) componente prática (40%). A componente teórica é composta por 2 Frequências ou Exame. A componente prática é composta pelo desenvolvimento de um projeto em grupo, desenvolvido ao longo da unidade curricular.
Os elementos de avaliação serão compostos por 2 componentes: 1) componente teórica (60%) e 2) componente prática (40%). A componente teórica é composta por 2 Frequências ou Exame. A componente prática é composta pelo desenvolvimento de um projeto em grupo, desenvolvido ao longo da unidade curricular.
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.
- 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 (2022/2023 )
- Pedro Dinis Loureiro Salgueiro [responsável]