MAC0413 Tópicos Avançados de Programação Orientada a Objetos
Por | EmAté 2016 se chamou MAC0413 Tópicos de Programação Orientada a Objetos.
OBJETIVOS: Discutir conceitos avançados de modelagem e desenvolvimento de software orientado a objetos para alunos que já possuam conhecimentos e experiência em programação orientada a objetos. Ao término da disciplina, o estudante será capaz de analisar, criticar e desenvolver complexos sistemas orientados a objetos de acordo com o estado da arte e o estado da prática na área de Orientação a Objetos.
PROGRAMA RESUMIDO: Padrões de Projeto avançados. Escrita de Padrões OO. Teste de Software OO. Reflexão Computacional e Meta-Programação. Continuações, Traits e Mix-ins. Arquitetura de Software OO e Padrões Arquiteturais. Princípios SOLID.
PROGRAMA: Linguagens fortemente tipadas vs. Linguagens dinâmicas. Como características avançadas como Reflexão Metaprogramação, Continuações e Traits facilitam o desenvolvimento de sistemas flexíveis, enxutos e robustos. Linguagens de Padrões e escrita de Padrões. Padrões arquiteturais, padrões de análise e outros tipos de padrões para projeto e desenvolvimento de software OO. Relação entre OO e desenvolvimento ágil de software: TDD, BDD e gestão de arquiteturas OO de alto nível. Estilos de codificação e beleza de código OO. Arcabouços Orientados a Objetos Princípios avançados de projeto orientado a objetos tais como os princípios SOLID Programação Orientada a Aspectos
RESPONSÁVEIS: Alan Durham, Alfredo Goldman, Fabio Kon.
PRÉ-REQUISITOS: MAC0218, MAC0316.
CARGA HORÁRIA SEMANAL E NÚMERO DE CRÉDITOS: 6 horas; 4 créditos-aula e 2 créditos-trabalho.
CRITÉRIO DE AVALIAÇÃO DA APRENDIZAGEM:
Método: o aluno será avaliado continuamente durante o semestre, tendo em
vista as atividades apresentadas ao professor, monitores e seus pares na
disciplina.
Critério: média ponderada dos tarefas realizados durante a disciplina e
assiduidade às aulas e tarefas.
Norma de recuperação: média ponderada da nota final e de provas e/ou tarefas de recuperação.
BIBLIOGRAFIA BÁSICA:
- F. Buschmann, K. Henney, D.C. Schmidt, Pattern Oriented Software Architecture Volume 5: On Patterns and Pattern Languages, 2007
- M. Fowler, Refactoring - Improving the Design of Existing Code, Addison-Wesley, 2000.
- M. Fowler, Analysis Patterns: Reusable Object Models, Addison-Wesley, 2000.
- S. Metz, Practical Object-Oriented Design in Ruby, Addison-Wesley. 2013.
- R. Olsen, Design Patterns in Ruby, Addison-Wesley. 2008.
OBSERVAÇÃO: Disciplina optativa eletiva no currículo do BCC.
[Veja dados da disciplina no JúpiterWeb]