Programação orientada a objeto x estruturada
Objetos com C++
José Luiz de Souza Pio
UFMG
Belo Horizonte – Minas Gerais
Abril de 2002
Programa
Conceitos Básicos
Projeto de Programas OO
Linguagem C++
Aplicação
(4 horas)
(12 horas)
(12 horas)
(12 horas)
Introdução
Projeto de Programas
Técnicas que visam garantir:
Qualidade
Confiabilidade
Clareza
Facilidade de manutenção
Conceito Fundamental: TAD (Tipo abstrato de Dados)
Introdução
Abstração de Dados
Programa = modelo para a solução de um problema Abstração de dados
Representação abstrata dos dados da aplicação
TAD
Definição de dados associados as suas operações
Introdução
Técnicas
Programação não estruturada
Programação estruturada
Programação modular
Introdução
Programação não estruturada (espaguete)
Introdução
Programação Estruturada
Introdução
Programação Estruturada
Objetivos
Gerar programas altamente legíveis (clareza)
Hierarquia funcional descrita através de estruturas de controle
(If - then – else) – (while) – (for) – (do)
O código produzido deve ser lido seqüencialmente em pequenos segmentos de código
Introdução
Vantagens:
Programa correto desde a sua concepção (!?)
Clareza no código
Menor tempo de depuração
Teste mais fácil
Interessados na metodologia Método de Jackson
Introdução
Programação Modular
Organização do programa em módulos
Utilização de módulos executáveis
Introdução
Como modularizar?
1. Desmembrar o programa, ou módulo, em um módulo raiz e um ou mais submódulos, cujo o conjunto satisfaça à especificação do programa ou módulo;
2. Definir as interfaces entre o módulo raiz e os submódulos. Estas interfaces determinam os dados passados ao ativar, os resultados retornados e as assertivas de entrada e a saída dos diversos módulos;
3.
Repetir os passos 1 e 2 até obter uma