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
- Domínio razoável da modelação com UML. - Domínio razoável da programação em Java. - Frequência da UC Engenharia de Software I com aproveitamento.
Objectivos
Esta UC, tal como a que a precede (Engenharia de Software I), 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 v3, proporcionando um visão mais alargada (em largura) e mais detalhada (em profundidade), dado que, por um lado, se introduzem tópicos adicionais em cada área e, por outro, alguns desses tópicos são mais avançados. Pretende-se assim com esta UC dotar os alunos de uma visão mais completa e integradora da Engenharia de Software nas suas várias vertentes, alinhada com a sua definição consensualmente aceite:
"The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software." (IEEE Computer Society)
Programa
Os conteúdos são agrupados por área do SWEBOK (entre parêntesis rectos).
CP1 [Requisitos] Especificação de regras de negócio sobre ontologias de domínio.
CP2 [Desenho] Desenho por contrato.
CP3 [Construção] Programação por contrato.
CP4 [Modelos e Métodos] Desenvolvimento baseado em modelos.
CP5 [Qualidade] Métricas de qualidade do produto.
CP6 [Manutenção] Cheiros no código; Refabricações; Compreensão de programas; Evolução de software.
CP7 [Processo] Avaliação e melhoria do processo.
Processo de avaliação
AVALIAÇÃO PERIÓDICA Projeto prático em grupo e exercícios realizados nas aulas teórico-práticas com peso total de 10 valores e 1 teste escrito (frequência) com peso de 10 valores. As avaliações são individuais. Existe nota mínima de 50% para o projeto, nota mínima de 50% para os exercícios em aula 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
Nas aulas teóricas serão usados slides ilustrados com exemplos, demonstrações de ferramentas, filmes pedagógicos de curta duração e, eventualmente, apresentações de oradores convidados.
Nas aulas práticas serão realizados trabalhos de grupo com intuitos formativos, consolidando o processo de aprendizagem pela compreensão da aplicabilidade dos conceitos e técnicas introduzidos nas aulas teóricas. Sempre que possível, esses trabalhos tirarão partido de ferramentas suportando o estado-da-arte.
Observações
UCs anteriores onde é leccionada matéria relevante para esta UC (justificação fornecida entre parêntesis curvos):
Programação Orientada para Objectos [L5315, 1ºano, 2ºsemestre] e Algoritmos e Estruturas de Dados [L5097, 2ºano, 1ºsemestre] (domínio da programação em Java)
Concepção e Desenvolvimento de Sistemas de Informação [L0786, 2ºano, 2ºsemestre] (domínio da modelação com UML)
Engenharia de Software I [L5105, 3ºano, 1ºsemestre] (introdução às problemáticas da Engenharia de Software, cujo tratamento tem seguimento directo em ESII)
UCs que irão utilizar a matéria leccionada nesta UC
- Não aplicável porque ESII é uma UC leccionada no último semestre do 1ºciclo.
Bibliografia básica
- Acetatos de Engenharia de Software, disponíveis na plataforma de e-learning (à medida que os temas forem introduzidos).
- Software Engineering: a Practitioner's Approach, Roger Pressman / Bruce R. Maxim, 8th edition, McGraw-Hill, 2014.
- Software Engineering, Ian Sommerville, 9th/10th Edition, Addison-Wesley, 2010/2016.
Bibliografia complementar
- Materiais online (tutorias, filmes pedagógicos) cujos links serão explicitamente indicados na plataforma de e-learning.
- The Object Constraint Language: Getting Your Models Ready for MDA, Jos Warmer, Anneke Kleppe, 2nd Edition, Pearson Education, 2003.
- 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.
- Object-Oriented and Classical Software Engineering, Stephen Schach, 8th Edition, McGraw-Hill, 2011.