Disciplina: DCC569: Programação Modular
Professores responsáveis: Mariza A. S. Bigonha ou Roberto da Silva Bigonha
Carga Horária: 30 horas
Créditos: 2
Tipo: Optativa

Objetivos

Os objetivos dessa disciplina é apresentar aos alunos os conceitos de: Programação Orientada por Objetos. modularidade; reúso. polimorfismo; os estilos de programação orientada por objetos; os princípios de programação e os principais padrões de projeto.

Ementa

Filosofia e princípios. Modularidade. Polimorfismo. Estilo de Programação. Princípios de Programação. Padrões de projeto.

Programa

1. Filosofia e princípios

2. Qualidade de software

3. Modularidade
3.1 Reutilização de software
3.2 Abstração
3.3 Tipos abstratos de dados
3.4 Bibliotecas

4. Polimorfismo

5. Estilo de programação
5.1 Programação por contrato
5.2 Camadas de software

6. Princípios de Programação

6.1 Preferência à Composição
6.2 Aberto-Fechado
6.3 Substituição de Liskov
6.4 Restrição ao acesso
6.5 Programação para a interface
6.6 Inversão da dependência
6.7 Segregação de interfaces
6.8 Única responsabilidade

7. Padrões de Projeto
7.1 Padrões de criação
7.2 Padrões estruturais
7.3 Padrões comportamentais

8. Considerações Finais

Bibliografia

1. Meyer, Bertrand, Object-oriented Software Construction, Prentice-Hall International Series in Computer Science, C.A.R. Hoare Series Editor, 2nd Edition, 1254 páginas, 1997. (Capítulos 1 a 6, 11 e 12).
2. Arnold, Ken & Gosling, James, The Java Programming Language, Addison-Wesley, Third Edition, 2000, ISBN 0-201-31006-6.
3.Dietel, H.M. & Dietel P.J., Javatm Como Programar, 4a. Edition, 2003, Artmed Editora Ltda, Porto Alegre.
4. Ambler, Scott W., Analise e Projeto Orientados a Objeto, Volume 2, IBPI Press, Livraria e Editora Infobook S.A., 1998. (Somente Capítulo 3).
5. Myers, Glenford, J. Composite/Structured Design Van Nostrand Reinhold Company, 1978. (Capítulos 4 e 5).
6. Coletânea de artigos sobre Princípios de Programação (bibliografia fornecida durante o curso).
7. Arndt von Staa, Programação Modular, Editora Campus, 2000. (capítulos 4 e 5).
8. Flávio Varejão, Linguagens de Programação, Java, C e C++ e outras, Editora Campus, 2004. (Capítulos 6 e 7).
9. Steven John Metsker, Padrões de Projeto em Java, Editora Bookman, tradução: Werner Loeffler, 2002.

(MASB-10/07/2012)

 

>>Alairm ::: Comunicação<<
>>Técnicas Avançadas para Desenvolvimento de Software<< >>Engenharia de Software<< >>Análise de Sistemas<< >>Métodos e Ferramentas da Computação<< >>Regulamento<< >>Página Inicial<< >>Disciplinas do CEI<< >>Professores  da Especialização em Informática<< DCC/UFMG >>Universidade Federal de Minas Gerais<< >>Desenvolvimento de Aplicações Distribuídas e Móveis<<