Object Oriented Programming #2
(Programação Orientada a Objetos 2)

Objetivos

  • Compreender o papel dos padrões na reutilização de colaborações entre classes e objetos em modelos conceituais e modelos de software;
  • Projetar uma arquitetura de software usando padrões arquiteturais;
  • Aplicar padrões de projeto, principalmente aqueles mais importantes no desenvolvimento de frameworks;
  • Analisar os padrões de projeto mais apropriados ao software a ser desenvolvido;
  • Compreender alguns padrões típicos de análise, i.e., modelos conceituais de objetos reutilizáveis;
  • Compreender anti-padrões;
  • Compreender os conceitos de frameworks e como eles permitem reutilizar a análise de problemas e o projeto de soluções, permitindo assim escrever aplicações relacionadas com eficácia;
  • Analisar frameworks concretos;
  • Compreender uma metodologia de desenvolvimento de frameworks;
  • Desenvolver software usando as técnicas avançadas de análise e projeto de software.

Bibliografia

  1. FREEMAN, Eric; FREEMAN, Elisabeth. Use a cabeça! Padrões de projeto. Rio de Janeiro: Atlas Books, 2005.
  2. DEITEL, Harvey M. Java: Como Programar, 8ed. São Paulo: Prentice Hall, 2010.
  3. GAMMA, Erich et al. Design patterns. Upper Saddle River: Addison Wesley, 1995.
  4. LADDAD, Ramnivas. Aspect in action: practical aspect-oriented programming. Greenwich: Manning, 2003.
  5. KRUCHTEN, Philippe. The rational unified process: an introduction. 3rd ed. Boston: Addison Wesley, 2003.
  6. KRUCHTEN, Philippe. The rational unified process made easy: practitioner's guide to the rup. Boston: Addison Wesley, 2005.
  7. LARMAN, Craig. Utilizando UML e padrões: uma introdução a análise e ao projeto orientados a objetos. Porto Alegre: Bookman, 2000.
  8. SOMMERVILE, I. Engenharia de software. 8th. ed. Harlow: Addison Wesley, 2007.
  9. Martin Fowler, Refactoring: Improving the Design of Existing Code, Addison-Wesley, 2000.
  10. Antonio Mendes, Arquitetura de Software, Ed. Campus, 2002.
  11. C. Szyperski, Component Software: Beyond Object-Oriented Programming, Addison-Wesley, 1998.
  12. LARMAN, C. Utilizando UML e Padrões: Uma Introdução à Análise e ao Projeto Orientado a Objetos. Porto Alegre: Bookmann, 2001.
  13. FOWLER, M. Scott, K. UML Essencial. POA: Bookmann, 2000.
  14. ECKEL B.: Thinking in Java, Prenticel Hall, Segunda Edição, 2000.

Avaliação

Teórica

  • Duas avaliações sem consulta
  • Valor: 50 pontos

Prática

  • Laboratório
  • Participação no Laboratório (Presença + Atividade Prática)
  • Atividades realizadas em Laboratório enviadas por e-mail no dia de sua realização
  • Valor: 10 pontos

Trabalho em Grupo

  • Final de Curso
  • Todos os trabalhos iguais (ou similares) serão desconsiderados
  • Valor: 40 pontos