Informações Principais
     Resumo
     Abstract
     Introdução
     Conclusão
     Download
  
  
  
 
Introdução
 
 
Acadêmico(a): Alexandro Deschamps
Título: Ferramenta para Geração de Código a partir da Especialização do Diagrama de Classes
 
Introdução:
Uma das grandes cobranças do mercado em relação às organizações desenvolvedoras de software é a obtenção de certificações que atestem a qualidade dos softwares desenvolvidos. Uma das principais ênfases abordadas pelos Sistemas de Garantia da Qualidade é a definição do processo de desenvolvimento de software da organização. Um dos aspectos abordados pelo processo de desenvolvimento de software e de suma importância para o mesmo é a codificação. Uma codificação construída sem o uso de metodologias e padrões se torna um agravante para os quesitos tempo e qualidade, dificultando também a manutenção do software em questão. Os grandes avanços tecnológicos são facilmente constatados através do lançamento de novas tecnologias como arquiteturas e ambientes de desenvolvimento. Estes avanços tornam a codificação dos softwares cada vez mais voláteis. Na grande maioria dos casos os avanços tecnológicos forçam as organizações desenvolvedoras de software a reescreverem seu código (SCHMIDT, 2001, p. 1). Codificar um software requer um grande conhecimento da arquitetura utilizada. Mesmo tendo em mãos um ótimo modelo, o trabalho de codificação ainda é algo extremamente demorado e na maioria das vezes repetitivo (PAULA FILHO, 2003, p. 180). A UML (Unified Modeling Language) é atualmente a linguagem para documentação e modelagem de software mais difundida entre os desenvolvedores. Através dos modelos e diagramas propostos pela UML pode-se obter diferentes visões de um software, dentre eles, um diagrama que recebe um destaque especial é o diagrama de classes. O diagrama de classes é importante não só para visualização, especificação e para a documentação de modelos estruturais, mas também para a construção de sistemas executáveis por intermédio da Engenharia da Produção (Forward Engineering) (BOOCH, 2000, p. 104). A Engenharia da Produção é o processo de transformar um modelo em código (BOOCH, 2000, p. 112). Muitas das ferramentas CASE (Computer Aided Software Engineering) existentes no mercado contemplam o processo de Engenharia da Produção, mas geralmente seus recursos são extremamente limitados e não permitem ao desenvolvedor realizar a geração de código de uma forma mais refinada, não atendendo desta forma também as particularidades dos diferentes processos de desenvolvimento de software. Um exemplo de refinamento que se torna evidente quando se leva em consideração a internacionalização de software é a necessidade da criação de softwares que suportem diferentes idiomas. Utilizando somente a especificação do diagrama de classes proposto pela UML isto não é possível. Outro refinamento que se pode citar é a utilização de um mesmo modelo de classes para geração de código em diferentes arquiteturas. Dentro deste contexto o objetivo deste trabalho é apresentar o desenvolvimento de uma ferramenta de auxílio ao processo de desenvolvimento que permita a especialização das informações contidas em diagramas de classes UML por arquitetura e idioma, visando enriquecer desta maneira o processo de Engenharia da Produção. A geração de código proposta pelo trabalho ocorre através da utilização de plugins. Os plugins de geração são módulos DLL (Dynamic Link Library) encarregados de montar a sintaxe do código, estando os mesmos ligados a uma determinada arquitetura. As informações contidas nos diagramas de classes e suas especializações são disponibilizadas através de uma interface padrão utilizada para captação de dados pelos plugins.