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
2019/2020
Pré-requisitos / Pre-Requisites
Os tópicos programáticos a desenvolver nesta disciplina pressupõem um domínio razoável da modelação com UML, em particular dos seus diagramas mais importantes (casos de uso, classes, objectos, sequência, etc.) e da programação orientada a objectos com a linguagem Java.
Objetivos Gerais / Objectives
Dotar os alunos de uma visão completa e integradora de Engenharia de Software. Fornecer noções aprofundadas dos diferentes conteúdos da Engenharia de Software e realizar a sua aplicação num projecto de pequena escala. No final da cadeira, os alunos possuirão noções aprofundadas de todos os conteúdos da Engenharia de Software e serão capazes de desempenhar um papel activo na aplicação dos métodos ensinados.
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 aluno 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, programação, ensaio, inspeção de código e gestão de configurações
Conteúdos Programáticos / Syllabus
CP1 - Introdução CP2 - Processo da engenharia de software CP3 - Métodos ágeis (SCRUM, XP) CP4 - Gestão de configurações CP5 - Requisitos de software CP6 - Elicitação de requisitos CP7 - Ensaio de software, Black-box testing CP8 - White-box testing CP9 - Desenho de software CP10 - Inspeção de codigo CP11 - Engenharia reversa de software CP12 - Licenciamento 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 objectivos de aprendizagem OA1 e OA3 apoiam-se na totalidade do programa, por se basearem na totalidade dos fundamentos da Engenharia de Software. O objectivo de aprendizagem OA2 está relacionado com os itens CP7, CP9, CP4, CP2 e CP3.
Avaliação / Assessment
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 práticas/laboratório 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. | AVALIAÇÃO PERIÓDICA Projeto prático em grupo e exercicios realizados durante as aulas teórico-práticas com peso de 10 valores na nota final e frequência com peso de 10 valores na nota final. Existe nota mínima de 50% para o projeto, nota mínima de 50% para os exercicios realizados nas aulas teórico-práticas e nota mínima de 50% para a frequência. EXAME FINAL Teste escrito sobre o total da matéria com peso de 100% na nota final da UC.
Metodologias de Ensino / Teaching methodologies
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 práticas. As aulas teóricas caracterizam-se por blocos de exposição da matéria teórica. Nas aulas práticas, os alunos terão uma abordagem prática aplicando as ferramentas e métodos lecionados a um projeto prático.
Observações / Observations
Bibliografia Principal / Main Bibliography
- Software Engineering Body of Knowledge (SWEBOK), IEEE Computer Society Professional Practices Committee, 2004. - Acetatos de Engenharia de Software, Anders Lyhne Christensen, disponíveis na plataforma de e-learning (à medida que os temas forem introduzidos), 2011. - Software Engineering, Ian Sommerville, 9th Edition, Addison-Wesley, 2010. - Software Engineering: a Practitioner's Approach, Roger Pressman, 7th edition, McGraw-Hill, 2009.
Bibliografia Secundária / Secondary Bibliography
- A code of ethics and professional practice for software engineering, ACM/IEEE-CS Joint Task Force on Software Engineering Ethics and Professional Practices, 2004. - Object-Oriented and Classical Software Engineering, Stephen Schach, 8th Edition, McGraw-Hill, 2011.
Data da última atualização / Last Update Date
2024-02-16