Aviso: Se está a ler esta mensagem,
provavelmente, o browser que utiliza não é
compatível com os "standards" recomendados pela W3C. Sugerimos vivamente que actualize
o seu browser para ter uma melhor experiência de
utilização deste "website". Mais
informações em webstandards.org.
Warning: If you are reading this message, probably,
your browser is not compliant with the standards recommended by the W3C. We suggest that you upgrade your
browser to enjoy a better user experience of this website. More
informations on webstandards.org.
Ser English-friendly ou qualquer outra língua-friendly, significa que a UC é leccionada numa língua mas que se pode verificar qualquer uma das
seguintes condições:
1. Existem materiais de apoio em língua inglesa/outra língua;
2. Existem exercícios, testes e exames em língua inglesa/outra língua;
3. Existe a possibilidade de se apresentar trabalhos escritos ou orais em língua inglesa/outra língua.
1
6.0
18.0 h/sem
18.0 h/sem
0.0 h/sem
0.0 h/sem
0.0 h/sem
0.0 h/sem
1.0 h/sem
37.0 h/sem
113.0 h/sem
0.0 h/sem
150.0 h/sem
Em vigor desde o ano letivo
2019/2020
Pré-requisitos
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.
Objectivos
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.
Programa
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
Processo de avaliação
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.
Processo de ensino-aprendizagem
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.
Observações
Bibliografia básica
- Software Engineering: a Practitioner's Approach, Roger Pressman, 7th edition, McGraw-Hill, 2009.
- Software Engineering, Ian Sommerville, 9th Edition, Addison-Wesley, 2010.
- Acetatos de Engenharia de Software, Anders Lyhne Christensen, disponíveis na plataforma de e-learning (à medida que os temas forem introduzidos), 2011.
- Software Engineering Body of Knowledge (SWEBOK), IEEE Computer Society Professional Practices Committee, 2004.
Bibliografia complementar
- Object-Oriented and Classical Software Engineering, Stephen Schach, 8th Edition, McGraw-Hill, 2011.
- A code of ethics and professional practice for software engineering, ACM/IEEE-CS Joint Task Force on Software Engineering Ethics and Professional Practices, 2004.