TItle

Páginas: 24 (5857 palavras) Publicado: 26 de outubro de 2014
Compreensão de Aplicações Web:
O Processo e as Ferramentas
Eva Oliveira
ETG - Instituto Politécnico do Cavado e Ave, Barcelos
eoliveira@ipca.pt
Maria João Varanda
ESTIG - Instituto Politécnico de Bragança, Bragança
mjoao@ipb.pt
Pedro Rangel Henriques
DI - Universidade do Minho, Braga
prh@di.uminho.pt

Resumo
Já ninguém duvida que a compreensão de programas (CP) é uma área cada vezmais
importante, e a sua aplicação cada vez mais abrangente na engenharia da programação,
constituindo-se como um desafio permanente e actual para as ciências de computação. A
compreensão de programas nasce da tentativa de melhorar os processos de manutenção de
sistemas aplicacionais, mas de facto está também francamente associada ao processo de
aprendizagem de linguagens de programação. Porisso, nesta linha de preocupações têm
sido desenvolvidas inúmeras ferramentas de auxílio à compreensão de software para
manutenção (alteração ou actualização de código), reverse-engineering/re-engineering, ou
ensino de programação. A complexidade do processo de compreensão requer a existência
de modelos de aprendizagem e representação de conhecimento. Uma questão que então se
coloca muitasvezes, é saber se as ferramentas obedecem aos modelos cognitivos existentes;
importa também saber como medir o seu real impacto na compreensão.
Este artigo tem como objectivo a descrição de um conjunto de critérios a adoptar no sentido
de avaliar se uma ferramenta pode efectivamente ajudar na compreensão de programas,
apresentando-se uma aplicação prática. Dada a importância cada vez maior dasaplicações
que correm sobre a Web, o estudo incidirá sobre esse recente paradigma de programação.
Procuraremos identificar o que de novo há neste tipo de programação que interessa realçar
para o seu bom entendimento.

Palavras-chave: Compreensão de Programas, Ferramentas de Visualização, Aplicações Web

1. Introdução
Um programa é uma sequência lógica de instruções que ora afectam osdados, ora conduzem o
fluxo de execução. Essa execução produz uma transição de estados ao nível do processador e
provoca uma transformação ao nível dos dados, actuando dessa forma sobre o mundo exterior.
Por isso, a compreensão de um programa passará sempre pelo entendimento de duas
realidades que tradicionalmente se estudam à custa de duas abstracções: a estrutura de dados
(ED) que suporta ainformação em processamento; e o algoritmo (ALG) que descreve a sua
transformação. A um programa está associada pelo menos uma linguagem de programação, a
qual corresponde a um paradigma de programação; podemos ter também tecnologias
associadas, como infra-estruturas de comunicação, bases de dados, etc.
Uma linguagem de programação é uma forma (notação concreta) de expressão da ED e dasoperações que a afectam, bem como das instruções que controlam essas transformações.

Compreender um programa exige, por isso, o conhecimento dessa notação, ou seja, dos
símbolos e das regras gramaticais que definem a sintaxe e a semântica da dita linguagem. As
regras sintácticas (orientadas para a forma) estabelecem como construir sequências válidas com
os símbolos; e as regras semânticas(orientadas para o conteúdo) preocupam-se com o valor
absoluto de cada símbolo e sua utilização em cada contexto, de modo a ser possível discernir o
significado correcto de cada frase bem formada da linguagem.
Um paradigma pode ser definido como a estratégia que se adopta na resolução de um
problema, ou seja a abordagem escolhida para analisar, modelar e planear a resolução. Assim
o paradigmareflecte-se na forma de conceber um programa e no estilo em que é descrito; a
linguagem de programação terá, por isso, de estar preparada para suportar tal abordagem. O uso
correcto de uma linguagem exige o conhecimento do paradigma subjacente, da mesma forma
que a escolha de um paradigma requer a escolha de uma linguagem adequada. Daí que o
entendimento de um programa não se possa confinar ao...
Ler documento completo

Por favor, assinar para o acesso.

Estes textos também podem ser interessantes

  • title
  • Title
  • No title
  • No title
  • title
  • Title
  • Temporary Title
  • Re: No title

Seja um membro do Trabalhos Feitos

CADASTRE-SE AGORA!