Informações Principais
     Resumo
     Abstract
     Introdução
     Conclusão
     Download
  
  
  
 
Conclusão
 
 
Acadêmico(a): André Henkels
Título: DRAWCODE: um Plugin do Eclipse para a Geração de Código a partir de Diagramas de Classe e Diagramas N-S
 
Conclusão:
O objetivo deste trabalho era criar uma ferramenta gráfica integrada ao ambiente de desenvolvimento Eclipse que permitisse criar diagramas de classe e N-S. Depois de criados estes diagramas permitir ao usuário associar um diagrama N-S para os métodos de uma classe e a partir desta associação gerar o código completo para uma classe, contemplando o corpo da classe, atributos, métodos e corpos dos métodos naqueles que apresentam um diagrama N-S associado. Outro objetivo ainda era que fosse gerado código para a linguagem Java, com a utilização de um motor de templates que permitiria ao usuário gerar código para outras linguagens, bastando apenas alterar os templates criados.
Todos os objetivos foram alcançados, pois o Drawcode provê todas estas funcionalidades. Embora não tivesse sido constatada a necessidade de uma tabela de tradução nos objetivos iniciais, durante o desenvolvimento do projeto, optou-se por dar esta possibilidade ao usuário, para aumentar a capacidade de utilização do mesmo. Para permitir esta tabela de tradução, foi utilizada a ferramenta GALS para gerar um analisador léxico que trata as entradas do usuário nos elementos do diagrama e gera uma lista de tokens,
possibilitando esta tradução.
Durante o desenvolvimento a escolha do padrão de projeto Visitor mostrou-se uma escolha acertada, diminuindo a complexidade das operações necessárias sobre o modelo e dando flexibilidade ao projeto, principalmente nas operações de montar a representação visual do modelo e gerar código. Como as operações realizadas sobre o modelo são escritas em classes separadas, novas operações podem ser adicionadas sem necessidade de alterações no modelo. Se fosse necessária uma nova representação dos diagramas em outro framework gráfico ou a utilização de outro motor de template, isto seria possível sem alterações no modelo, sendo necessário apenas escrever um novo visitador que adicionaria esta
funcionalidade.
A utilização do Velocity como motor de templates cumpriu todas as necessidades do projeto, apresentando simplicidade na linguagem usada para escrever os templates e facilidade de acoplamento com a linguagem Java utilizada pelo Drawcode. O ambiente Eclipse mostrou-se uma ferramenta muito adequada para o projeto. Sua estrutura de funcionamento através de plugins o torna altamente extensível, dando
flexibilidade para que desenvolvedores que não fazem parte do projeto incluam novas funcionalidades ao ambiente, como é o caso do Drawcode. Documentação completa e exemplos facilitaram a criação do projeto. A criação deste plugin ainda oferece a oportunidade de utilizá-lo em conjunto com outros plugins que contemplam outras fases do desenvolvimento de software, como a fase de testes, por exemplo.
Como contribuições deste trabalho, destaca-se que o Drawcode vai possibilitar aos desenvolvedores desenhar soluções Orientadas a Objeto e criar um algoritmo para representar o que determinado método de uma classe deve fazer para atender os objetivos da mesma, preenchendo uma lacuna existente nos diagramas da UML, que não apresenta nenhum de seus diagramas com estas características.
Também, os professores que lecionam para as primeiras fases dos cursos de computação podem utilizar o Drawcode para incentivar seus alunos a desenharem soluções Orientadas a Objeto, porém dando a oportunidade de criar algoritmos utilizando a formalidade do diagrama N-S para os métodos das classes.
Em ambos os casos citados, a geração de código vai permitir que os usuários do Drawcode preocupem-se apenas com a definição da solução, abstraindo a linguagem de programação a ser utilizada.