Ficha Unidade Curricular (FUC)
Informação Geral / General Information
Carga Horária / Course Load
Área científica / Scientific area
Ciências e Tecnologias da Programação
Departamento / Department
Departamento de Ciências e Tecnologias da Informação
Ano letivo / Execution Year
2023/2024
Pré-requisitos / Pre-Requisites
Os tópicos programáticos a desenvolver nesta disciplina pressupõem domínio de modelação e programação orientada a objetos com a linguagem Java.
Objetivos Gerais / Objectives
Esta UC usa como enquadramento de referência o SWEBOK (Software Engineering Body of Knowledge), uma iniciativa da IEEE Computer Society, a organização profissional mais importante da área. São abordadas as várias áreas de conhecimento do SWEBOK, dotando os estudantes de uma visão alargada, completa e integradora da Engenharia de Software, nas suas várias vertentes.
Objetivos de Aprendizagem e a sua compatibilidade com o método de ensino (conhecimentos, aptidões e competências a desenvolver pelos estudantes) / Learning outcomes
Após a conclusão desta unidade curricular o estudante deverá ficar apto a: OA1. Aplicar um processo de engenharia ao desenvolvimento de software; OA2. Desenvolver software em equipas de grande dimensão (>6 elementos); OA3. Aplicar os princípios de engenharia de software tais como análise de requisitos, desenho e análise de software, implementação, inspeção de código, gestão de configurações, construção, entrega e implantação de software; OA4. Avaliar e melhorar a qualidade do produto em Engenharia de Software.
Conteúdos Programáticos / Syllabus
CP1 - Processo da engenharia de software CP2 - Gestão de configurações e construção de software CP3 - Requisitos de software CP4 - Testes de software CP5 - Desenho de software CP6 - Métricas de qualidade e melhoria do produto CP7 - Evolução, entrega e implantação de software.
Demonstração da coerência dos conteúdos programáticos com os objetivos de aprendizagem da UC / Evidence that the curricular units content dovetails with the specified learning outcomes
A interligação entre os conteúdos programáticos e os objetivos de aprendizagem (OA) é a seguinte: Os objetivos de aprendizagem OA1 e OA3 apoiam-se na totalidade do programa, por se basearem na totalidade dos fundamentos da Engenharia de Software. O objetivo de aprendizagem OA2 está relacionado com os itens CP1, CP2, CP3, CP4 e CP5. O objetivo de aprendizagem OA4 está relacionado com os itens CP5, e CP6.
Avaliação / Assessment
Avaliação Periódica: Projeto prático em grupo com peso de 50% (nota individualizada e mínima de 9.5 em 20) e frequência (1ª época) com peso de 50% (nota mínima 9.5 em 20). Exame final (100%): 1ª época, 2ª época e época especial.
Metodologias de Ensino / Teaching methodologies
As aulas teóricas são de exposição com slides, pretendendo cobrir de uma forma abrangente as temáticas do programa, sempre que possível recorrendo a exemplos reais ilustrativos. As aulas teórico-práticas destinam-se à realização de exercícios ao longo do semestre. A língua de ensino nas aulas será o Português e/ou Inglês.
Demonstração da coerência das metodologias de ensino e avaliação com os objetivos de aprendizagem da UC / Evidence that the teaching and assessment methodologies are appropriate for the learning outcomes
As aulas estão organizadas em aulas teóricas e aulas teórico-práticas. As aulas teóricas caracterizam-se por blocos de exposição da matéria teórica. Nas aulas teórico-práticas, os alunos terão uma abordagem prática aplicando as ferramentas e métodos lecionados a exemplos e projetos práticos.
Observações / Observations
Bibliografia Principal / Main Bibliography
- Slides de Engenharia de Software, disponíveis na plataforma de e-learning, à medida que os temas forem introduzidos. - Software Engineering, Ian Sommerville, 10th Edition, Addison-Wesley, 2016. - Software Engineering: a Practitioner's Approach, Roger Pressman / Bruce R. Maxim, 8th edition, McGraw-Hill, 2014. - Refactoring: Improving the Design of Existing Code, Martin Fowler with contributions by Kent Beck, John Brant, William Opdyke and Don Roberts, Object Technology Series, Addison-Wesley, 2000. - Software Engineering Body of Knowledge (SWEBOK V3.0), IEEE Computer Society Professional Practices Committee, 2014. - Introdução à Engenharia de Software, Sérgio Guerreiro, FCA Editora, 2015. - SCRUM - A gestão ágil de projetos, João Paulo Pinto e Christiane Tscharf, FCA Editora, 2019.
Bibliografia Secundária / Secondary Bibliography
- Object-Oriented and Classical Software Engineering, Stephen Schach, 8th Edition, McGraw-Hill, 2011. - The Object Constraint Language: Getting Your Models Ready for MDA, Jos Warmer, Anneke Kleppe, 2nd Edition, Pearson Education, 2003. - A code of ethics and professional practice for software engineering, ACM/IEEE-CS Joint Task Force on Software Engineering Ethics and Professional Practices, 2004.
Data da última atualização / Last Update Date
2024-02-16