Reutilização de Software
Áreas Científicas |
Classificação |
Área Científica |
OFICIAL |
Informática |
Ocorrência: 2022/2023 - 2S
Ciclos de Estudo/Cursos
Sigla |
Nº de Estudantes |
Plano de Estudos |
Anos Curriculares |
Créditos UCN |
Créditos ECTS |
Horas de Contacto |
Horas Totais |
MES |
13 |
Plano de Estudos 2017-2018 |
1 |
- |
7,5 |
- |
202,5 |
Docência - Responsabilidades
Língua de trabalho
Português
Objetivos
No final desta unidade curricular os alunos:
- Conseguem identificar os diferentes níveis de reutilização de software, e identificar os aspetos técnicos e não técnicos que estão envolvidos em cada um dos níveis.
- Ficam aptos para selecionar e aplicar corretamente padrões arquiteturais, com vista a resolver um problema específico.
- Ficam aptos para implementar, selecionar e utilizar bibliotecas e componentes de software, para resolver um
problema específico.
Resultados de aprendizagem e competências
- Conseguem identificar os diferentes níveis de reutilização de software, e identificar os aspetos técnicos e não técnicos que estão envolvidos em cada um dos níveis.
- Ficam aptos para selecionar e aplicar corretamente padrões arquiteturais, com vista a resolver um problema específico.
- Ficam aptos para implementar, selecionar e utilizar bibliotecas e componentes de software, para resolver um
problema específic
Modo de trabalho
Presencial
Pré-requisitos (conhecimentos prévios) e co-requisitos (conhecimentos simultâneos)
Conhecimentos de Programação Orientada por Objetos
Programa
Os conteúdos da disciplina estão organizados da seguinte forma:
- Introdução
- O que se entende por reutilização de software:
- Aspetos Tecnicos
- Aspetos não-tecnicos
- Desenvolvimento de Software e reutilização.
- Reutilização de modelos
- Reutilização de código
- Reutilização de componentes
- Padrões de desenho
- Principios no desenho de padrões
- Architecture Patterns
- Creational Patterns
- Partitioning Patterns
- Structural Patterns
- Behavioral Patterns
- Concurrency Patterns
- Database patterns
- Gui Design Patterns
- Organizational Coding Patterns
- Bibliotecas
- Utilização de bibliotecas
- Conceção e implementação de bibliotecas
- Componentes de Software
- Utilização de Componentes
- Conceção e implementação de componentes de software.
Bibliografia Obrigatória
Michel Ezran, Maurizio Morisio, Colin Tully; Practical software reuse, Springer, 2002. ISBN: 978-1-85233-502-1
Martin Fowler, with Dave Rice, Matthew Foemmel, Edward Hieatt, Robert Mee, and Randy Stafford; Patterns of Enterprise Application Architecture, Addison-Wesley, 2002. ISBN: 978-0321127426
Bibliografia Complementar
Erich Gamma , Richard Helm , Ralph Johnson, John Vlissides; Design Patterns : Elements of Reusable Object-Oriented Software, Pearson Education Limited, 1997. ISBN: 9780201633610
Métodos de ensino e atividades de aprendizagem
Os métodos predominantes serão métodos baseados no paradigma da aprendizagem ativa.
Cada conjunto de aulas servirá para os alunos em grupo resolverem um problema especifico.
O problema em si, conduzirá à aquisição dos conteúdos das unidades curricular.
Tipo de avaliação
Avaliação distribuída sem exame final
Componentes de Avaliação
Designação |
Peso (%) |
Teste |
40,00 |
Trabalho escrito |
60,00 |
Total: |
100,00 |
Componentes de Ocupação
Designação |
Tempo (Horas) |
Frequência das aulas |
18,00 |
Total: |
18,00 |
Obtenção de frequência
Nota final de 10 valores arredondada às unidades
Fórmula de cálculo da classificação final
3 Trabalhos de grupo = 60% (20% cada), nota mínima de 7,5 valores.
A presença, participação e cumprimento dos objetivos nas 3 aulas de laboratório relacionadas com cada trabalho vale cada uma 10% da nota desse trabalho e é atribuída na totalidade. Para a contabilização da nota mínima de cada trabalho esta componente não é tida em conta.
2 Testes ou Exame = 40%, nota mínima de 10 valores para o exame.
Cada teste vale 20% e tem como nota minima 8 valores.
Nota Final = Nota Média dos testes ou exame * 0,4 + Nota média dos 3 trabalhos * 0,6.