Programação Centrada em Objetos

Código

0105886

Créditos ECTS

6

Objetivos

1. Conhecer o paradigma de programação orientado aos objetos, as suas vantagens, inconvenientes e limitações.
2. Saber analisar problemas e especificar soluções que respondam aos requisitos com qualidade, através da construção de modelos utilizando notações padrão.
3. Conhecer e saber utilizar padrões de desenho.
4. Saber implementar soluções no paradigma orientado a objetos.

Programa

  1. Introdução à linguagem Java​
  2. Herança, polimorfismo, classes abstratas e interfaces ​
  3. Coleções Java, tipos parametrizados e enumerações ​
  4. Expressões lambda e streams​
  5. Análise e desenho centrado em objetos com UML​
  6. Introdução aos padrões de desenho (GRASP e GoF)​
  7. Tratamento de erros e entradas/saídas​
  8. Testes, manutenção e depuração (JUnit) 

Métodos de Ensino

As aulas teóricas são expositivas em que se apresentam os conceitos elementares de programação com recurso a exemplos e demonstrações, usando a linguagem de notação UML e a linguagem de programação Java. 

As aulas práticas laboratoriais funcionam articuladas com as aulas teóricas e são preenchidas pela exposição e resolução de problemas, de pequena e média escala, com análise, desenho e implementação de soluções, usando a linguagem Java. 

Os estudantes desenvolvem um projeto que é o elemento aglutinador dos conteúdos aprendidos ao longo da unidade curricular, que permite analisar, desenhar e implementar uma aplicação que caracteriza uma situação próxima da realidade, e adquirir competências de trabalho autónomo e em equipa.

A plataforma de e-Learning Moodle da UAc (em http://moodle.uac.pt) é utilizada como repositório de material pedagógico e didático de apoio à aprendizagem, bem como de plataforma de agendamento, divulgação e promoção de atividades complementares e de gestão dos elementos de avaliação.

Bibliografia

Essencial

  • F. Mário Martins, Java 8 - POO + Construções Funcionais, FCA, 2017.
  • C. Larman, P. Liguori, Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition). Prentice Hall

Complementar

  • David J. Barnes, Michael Kölling, Objects First with Java A Practical Introduction using BlueJ, 6th edition, Pearson Education, 2016.​
  • F. Mário Martins. Projetos de POO em Java. FCA, 2014​
  • Eric Freeman, Elisabeth Freeman, Kathy Sierra, Bert Bates, Head First Design Patterns, O'Reilly, 2004
  • B.Garcia. Mastering Software Testing with JUnit 5: Comprehensive guide to develop high quality Java applications, Packt Publishing, 2017

Método de Avaliação