MINISTÉRIO DA EDUCAÇÃO

UNIVERSIDADE FEDERAL DE SANTA CATARINA

CENTRO TECNOLÓGICO

DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA

PROGRAMA DE ENSINO

1. Identificação

Disciplina:INE5404 - Programação Orientada a Objetos II
Nível:Graduação
Carga Horária:108 horas-aula (Teórica: 48; Prática: 60)
Vigência:De 2020-1 até a presente data

2. Ementa

Herança. Polimorfismo. Reusabilidade de software. Componentes. Criação e uso de bibliotecas de classes. Padrões de projeto. Interface Gráfica com o Usuário. Exceções. Relacionamentos entre classes: agregação, composição e especialização. Persistência de dados e de objetos. Prática de programação com alguma linguagem de programação orientada a objetos.

3. Cursos Relacionados

4. Objetivos

4.1 Objetivo Geral:

Capacitar-se no desenvolvimento sistemas utilizando técnicas da programação orientada a objetos e arcabouços básicos de software.

4.2 Objetivos Específicos:

  1. Compreender os principais fundamentos da programação orientada a objetos.
  2. Aprender técnicas de reuso de software.
  3. Dominar a utilização de arcabouços básicos de software.
  4. Desenvolver experiência em projetos de sistemas orientados a objetos.

5. Conteúdo Programático

  1. Introdução ao desenvolvimento de sistemas reusaveis de software [6 horas-aula]
    1. Conceitos e mecanismos da programação orientada a objetos [24 horas-aula]
    2. Objetos e classes
    3. Associação, agregação e composição
    4. Herança e polimorfismo
    5. Classes abstratas
    6. Diagramas de classes
  2. Técnicas de uso comum em sistemas orientados a objetos [36 horas-aula]
    1. Interface gráfica com o usuário
    2. Tratamento de exceções
    3. Listas e Dicionários
    4. Persistência de dados e objetos (serialização)
  3. Práticas de Desenvolvimento de Software [42 horas-aula]
    1. Introdução a práticas/técnicas de desenvolvimento orientado a objetos.
    2. Arquiteturas em Camadas e padrões de projeto
    3. Construção de sistemas de software que demonstrem as características básicas da orientação a objetos.

6. Bibliografia Básica

  1. DATHAN, B.; RAMNATH, S. Object-Oriented Analysis, Design and Implementation. Cham: Springer, 2015
  2. SEIDL, M. et al. UML@ Classroom: An Introduction to Object-Oriented Modeling. Cham: Springer, 2015.
  3. BORGES, L. E. Python: para desenvolvedores. São Paulo: Novatec, 2014
  4. HALL, T.; STACEY, J. P. Python 3 for absolute beginners. Apress, 2010.
  5. POO, D.; KIONG, D.; SWARNALATHA, A.. Object-Oriented Programming and Java. London: Springer-Verlag, 2008

7. Bibliografia Complementar

  1. DOWNEY, A. Think Python: How to Think Like a Computer Scientist. Needham: Green Tea Press, 2012
  2. GAMMA, E. et al. Design Patterns ? Elements of Reusable Object-Oriented Software. Addison-Wesley, 1995.
  3. ALCHIN, Marty. Pro Python. New York: Apress, 2010.
  4. WAZLAWICK, Raul S. Introdução a Algoritmos e Programação com Python. São Paulo: Elsevier,
  5. 2017.
  6. SILVA, Ricardo Pereira e. UML 2 ? Modelagem Orientada a Objetos. Editora VisualBooks, 2007.
  7. WAZLAWICK, R. Análise e Projeto de Sistemas de Informação Orientados a Objetos. Editora
  8. Campus, 2004.