EVOLUÇÃO DA TECNOLOGIA DA PROGRAMAÇÃO
Tese: EVOLUÇÃO DA TECNOLOGIA DA PROGRAMAÇÃO. Pesquise 862.000+ trabalhos acadêmicosPor: sadthi • 3/11/2014 • Tese • 2.742 Palavras (11 Páginas) • 213 Visualizações
Introdução a Orientação a Objetos
O objetivo desse documento é dar uma noção inicial e comparativa da POO
EVOLUÇÃO DAS TÉCNICAS DE PROGRAMAÇÃO:
A evolução da programação de computadores é marcada por três desenvolvimentos de enorme impacto nos seus parâmetros de produtividade e qualidade: as linguagens de alto nível, na década de 60, as técnicas de programação estruturada [Dijkstra69], na década de 70 e, atualmente, as técnicas de orientação a objetos [Liskov77].
Foram as linguagens de alto nível, como Fortran e COBOL, que, ao permitir o desenvolvimento de programas portáveis entre diferentes computadores, tornaram economicamente viável o desenvolvimento de sistemas de grande porte, de vida útil superior a de várias gerações de computadores. O desenvolvimento de sistemas de grande porte, porém, passou a exigir programas cada vez maiores e mais complexos. O sucesso da programação estruturada se deve justamente por sistematizar o desenvolvimento desses programas, através de uma estratégia de divisão e conquista: cada programa é dividido em vários subprogramas, que são coordenados utilizando-se estruturas de controle de fluxo de execução simples e bem definidas (if-then-else, do-until, while-do, etc. ).
PROGRAMAÇÃO BASEADA EM PROCEDIMENTOS:
Aplicando as técnicas da programação estruturada a um programa para automação bancária,
por exemplo, podemos dividí-lo em quatro módulos (ou subprogramas):
manutenção de cadastros
movimentação de caixa
caixa automático
relatórios para contabilidade
O programa de manutenção de cadastros, por sua vez, divide-se em outros subprogramas, como cadastro de cliente, abertura de conta, alteração de dados da conta, e assim, sucessivamente, até obtermos subprogramas suficientemente simples e pequenos para serem codificados com facilidade. A figura 3.2 ilustra parte da estrutura desse programa.
Esse método de estruturação através de refinamentos sucessivos [Wirth71], se caracteriza por partir de uma visão global centrada em procedimentos para solução de um problema, que é detalhada gradualmente até o nível dos comandos da linguagem de programação utilizada.
Note que é criada uma hierarquia de procedimentos, com uma nítida relação de subordinação
entre os subprogramas, ou seja, os subprogramas dos níveis inferiores apenas respondendo a
requisições oriundas de um subprogrma de nível superior.
Outro ponto importante a observar é que os dados da aplicação ficam separados dossubprogramas que os manipulam. Os níveis superiores da estrutura tendem a concentrar amaior parte dos dados, que são manipulados por diversos subprogramas dos níveis inferiores.
Figura 1 - Estruturação Baseada em Procecimentos
ABSTRAÇÃO:
Abstrair consiste no processo de retirar do domínio do problema os detalhes relevantes e representá-los não mais na linguagem do domínio, e sim na linguagem da solução.
Todas as linguagens de programação fornecem abstrações. A linguagem Assembly é uma pequena abstração da máquina na qual os programas são executados; As linguagens imperativas (FORTRAN, BASIC e C) são abstrações da linguagem Assembly.
Nestas linguagens, é necessário pensar em termos da estrutura do computador, ao invés de se pensar em termos da estrutura do problema a ser resolvido!
O programador deve estabelecer uma associação entre o modelo da máquina (no espaço da solução) e o modelo do problema que está sendo resolvido (no espaço do problema). O esforço para fazer este mapeamento pode ser gigantesco ...
A programação orientada a objetos tenta trazer o espaço da solução para o espaço do problema: ambos são representados como objetos!!
O programa permite se adaptar ao problema, adicionando novos tipos ao espaço da solução que mapeiam os tipos existentes no espaço do problema è Descreve-se o problema em termos do problema e não em termos da solução!!
MAS O QUE SÃO OBJETOS?
Um objeto possui então atributos (dados) e comportamentos (métodos, procedimentos, funções, que atuam sobre ele).
Exemplos de objetos: cachorros, carros, videocassetes, edifícios, funcionários, indústrias ...
Um programa é um conjunto de objetos dizendo uns para os outros o que fazer através do envio de mensagens.
Concretamente, pode-se pensar nas mensagens como sendo chamadas a funções que pertencem a um objeto em particular.
Cada objeto tem a sua própria região de memória, que pode ser composta por outros objetos, também. Exemplo: o objeto carro pode ser composto pelos objetos lataria, rodas, motor, etc.
COMPARAÇÃO COM OUTROS ENFOQUES:
ANÁLISE ESTRUTURADA E FUNCIONAL:
Programa é dividido em um conjunto de funções e dados
As funções agem sobre os dados
Cada função tem de 10 a 100 linhas
Decomposição funcional: força o programador a fixar atenção
muito mais nos procedimentos que nos dados
ENFOQUE ESTRUTURADO versus ENFOQUE ORIENTADO A OBJETOS:
Estruturado: Ênfase nos procedimentos, implementados em
blocos estruturados, com comunicação entre procedimentos por
passagem de dados;
Enfoque OO: Dados e procedimentos fazem parte de um só
elemento básico (objeto). Os elementos básicos comunicam-se
entre si, caracterizando a execução do programa à Dados e
...