Ficha Unidade Curricular (FUC)

Informação Geral / General Information


Código :
03712
Acrónimo :
03712
Ciclo :
1.º ciclo
Línguas de Ensino :
Português (pt)
Língua(s) amigável(eis) :

Carga Horária / Course Load


Semestre :
2
Créditos ECTS :
6.0
Aula Teórica (T) :
18.0h/sem
Aula Teórico-Prática (TP) :
36.0h/sem
Trabalho de Campo (TC) :
0.0h/sem
Seminario (S) :
0.0h/sem
Estágio (E) :
0.0h/sem
Orientação Tutorial (OT) :
1.0h/sem
Outras (O) :
0.0h/sem
Horas de Contacto :
55.0h/sem
Trabalho Autónomo :
95.0
Horas de Trabalho Total :
150.0h/sem

Á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 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


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