PROCEDIMENTOS DE MODELAGEM E UMA FERRAMENTA DE GERAÇÃO AUTOMÁTICA DE CÓDIGO Lucas De Luca Castro...

Post on 18-Apr-2015

105 views 0 download

Transcript of PROCEDIMENTOS DE MODELAGEM E UMA FERRAMENTA DE GERAÇÃO AUTOMÁTICA DE CÓDIGO Lucas De Luca Castro...

PROCEDIMENTOS DE MODELAGEM E UMA FERRAMENTA DE

GERAÇÃO AUTOMÁTICA DE CÓDIGO

Lucas De Luca Castro

Orientador: André Vital Saúde

Universidade Federal de Lavras - UFLA

SUMÁRIO

1) INTRODUÇÃO2) OBJETIVOS3) REFERENCIAL TEÓRICO:

1) MODEL DRIVEN ARCHITECTURE (MDA)2) GERADOR AUTOMÁTICO DE CÓDIGO3) IGUASSU FRAMEWORK

4) MATERIAL E MÉTODOS5) RESULTADOS

1) CODEGEN2) BLUEBOX3) PROCEDIMENTO DE MODELAGEM

6) CONCLUSÃO

INTRODUÇÃO

Mercado de Software – Contexto Atual

Utilização de Padrões de Projetos para o Desenvolvimento de Software

Sistemas de Web – Frameworks diversos Padrão MVC mais utilizado

Ausência de Modelo de Desenvolvimento

Possibilitaria Convergir os Padrões de Geração Automática de Código

Necessidades: Produtividade e Manutenção

INTRODUÇÃOTendo em vista:

Redução no Tempo Dispensado Desenvolvimento de Arquiteturas de Software

FRAMEWORK IGUASSU Desenvolve Softwares web

MVC

outros padrões

ARQUITETURA

MODELAGEM

GERAÇÃO DE CÓDIGOImplementação

deCódigo

OBJETIVOS

O Objetivo Geral foi a Criação de um Gerador de Código denominado BlueBox

que Otimiza as Produções de Softwares que Utilizam o Framework Iguassu como Ferramenta de Desenvolvimento e a Criação de Práticas de Modelagem,

Visando a Geração dos Códigos Conforme o Modelo Iguassu.

OBJETIVOS

ESPECÍFICOS:

• Estudo da metodologia MDA (Model Driven Architecture)• Estudo da modelagem UML• Verificação do impacto da modelagem uml na geração de arquivo de dados XMI (XML Metadata Interchange)• Proposta de procedimento de modelagem uml adequado ao gerador de código

OBJETIVOS

ESPECÍFICOS:

• Estudo do comportamento das classes do framework Iguassu • Estudo da tecnologia XSLT e Velocity• Proposta de um gerador automático de código• Criação de templates para a geração de código no formato do Framework Iguassu

REFERENCIAL TEÓRICO:

Model Driven Architecture (MDA)Metodologia reconhecida pela OMG(Object Management Group) - desenvolvimento de software

Utiliza modelos como centro do desenvolvimento do sistemacódigo pode ser gerado através dos modelos Possibilita transformar modelos abstratos em concretos

OBJETIVO:ALCANÇAR GERAÇÃO DO CÓDIGO FONTE DE MANEIRA AUTOMATIZADA

REFERENCIAL TEÓRICO:

Model Driven Architecture (MDA)PROCESSO DE TRANSFORMAÇÃO DOS MODELOS MDAMAIS ABSTRATO(CIM) MAIS CONCRETO(PSM)É UTILIZADO UM CONJUNTO DE REGRAS ESPECÍFICAS QUE DESCREVEM O PROCESSO

REFERENCIAL TEÓRICO:

GERADOR AUTOMÁTICO DE CÓDIGOTRANSFORMAÇÕES BASEADAS EM MODELOS:

REFERENCIAL TEÓRICO:

GERADOR AUTOMÁTICO DE CÓDIGOTRANSFORMAÇÕES BASEADAS EM MODELOS:

Gerador pode utilizar como base de dados o arquivo XMI (XML Metadata Interchange) – exemplo gerador GreenBox (2007)

GreenBox utiliza os templates velocity para definir como serão apresentadas as informações no arquivo de saída

MODELO DO GERADOR GREENBOX

REFERENCIAL TEÓRICO:

GERADOR AUTOMÁTICO DE CÓDIGOArquivo XMI:

•DIAGRAMA DE CLASSES

REFERENCIAL TEÓRICO:

GERADOR AUTOMÁTICO DE CÓDIGOArquivo XMI:

•CLASSE PESSOA (DIAGRAMA E ARQUIVO XMI)

REFERENCIAL TEÓRICO:

GERADOR AUTOMÁTICO DE CÓDIGOArquivo XMI:

•REFERÊNCIA CRUZADA

REFERENCIAL TEÓRICO:

GERADOR AUTOMÁTICO DE CÓDIGOArquivo XMI:

•REFERÊNCIA CRUZADA

REFERENCIAL TEÓRICO:

GERADOR AUTOMÁTICO DE CÓDIGOArquivo XMI:

•DIAGRAMA DE ESTADOS

REFERENCIAL TEÓRICO:

GERADOR AUTOMÁTICO DE CÓDIGOArquivo XMI:

REFERENCIAL TEÓRICO:

GERADOR AUTOMÁTICO DE CÓDIGOArquivo XMI:

REFERENCIAL TEÓRICO:

IGUASSU FRAMEWORK (MVC)IMPLEMENTAÇÃO JAVA DA ARQUITETURA IGUASSU

AINDA POSSUI ALGUMAS LIMITAÇÕES TÉCNICASESTÁ DIVIDIDO COM A CAMADA DE VIEW NO LADO DO CLIENTE

MODELO MVC UTILIZADO EM APLICAÇÃO WEB:

REFERENCIAL TEÓRICO:

IGUASSU FRAMEWORK (MVC)

O LADO SERVIDOR FUNCIONA COMO PROVEDOR DE SERVIÇOS EM UM MODELO SOA (SERVICE-ORIENTED ARCHITECTURE)

INTERNAMENTE O SERVIDOR É ORGANIZADO EM CAMADAS (ESTRUTURA HIERÁRQUICA BASEADA NA IDÉIA DE QUE UM SISTEMA PODE TER DIVERSAS APLICAÇÕES)

UMA APLICAÇÃO PODE ESTAR DIVIDIDA EM DIVERSOS MÓDULOS - CADA MÓDULO - PROVÊ DIVERSOS SERVIÇOS

REFERENCIAL TEÓRICO:

IGUASSU FRAMEWORKArquitetura Iguassu - destaque na única camada que necessita implementação manual

MATERIAL E MÉTODOS

MÉTODOMÉTODO

Metodologia MDA Modelagem UML Arquivo XMI Comportamento das classes do Framework Iguassu Procedimentos de Modelagem Criação dos Geradores:

XSLT CodeGen Templates XSL Velocity BlueBox Templates Velocity

Aplicação dos Geradores na Mitah Tecnologies

RESULTADOS

CodeGen

ARQUITETURA:

RESULTADOS

CodeGen

PROCESSAMENTO DA GERAÇÃO:

RESULTADOS

CodeGen

FOLHAS DE ESTILOS:

RESULTADOS

CodeGen

FOLHAS DE ESTILOS:Referência Cruzada

RESULTADOS

CodeGen

FOLHAS DE ESTILOS:Referência Cruzada

RESULTADOS

CodeGen

FOLHAS DE ESTILOS:Referência Cruzada

RESULTADOS

BlueBox

ARQUITETURA:

RESULTADOS

BlueBox

XMI PARSE:

RESULTADOS

BlueBox

XMI PARSE:Jcoltrane - Nuccielli, 2008

RESULTADOS

BlueBox

GERADOR:Processador Velocity

• Encaminhar templates para Processador de Categorias;

• Filtragem: Classes, Templates, Pacotes e Categorias;

RESULTADOS

BlueBox

GERADOR:Processador de Categorias

Os contextos são objetos que representam os dados do modelo e podem ser utilizados pelos templates:1. packages2. application3. package4. subPackage5. class6. template7. stateMachine

RESULTADOS

BlueBox

GERADOR:Processador de Categorias

Categorias:1. Application:2. Classes3. Packages4. SubPackages5. StateMachines

RESULTADOS

BlueBox

GERADOR:Templates Velocity

RESULTADOS

Procedimento de Modelagem

DIAGRAMA DE CLASSES (ER):• Classes

RESULTADOS

Procedimento de Modelagem

DIAGRAMA DE CLASSES (ER):• Classes (StateMachine)

RESULTADOS

Procedimento de Modelagem

DIAGRAMA DE CLASSES (ER):• Associações

RESULTADOS

Procedimento de Modelagem

DIAGRAMA DE CLASSES (ER):• Associações (atributos personalizados)

RESULTADOS

Procedimento de Modelagem

DIAGRAMA DE CLASSES (ER):• Atributos (marcadores)

RESULTADOS

Procedimento de Modelagem

DIAGRAMA DE CLASSES (ER):• Pacotes

RESULTADOS

Procedimento de Modelagem

DIAGRAMA DE ESTADOS:• Pacotes (estrutura)

RESULTADOS

Procedimento de Modelagem

DIAGRAMA DE ESTADOS:• Estados (ações)

Conclusões

REFERÊNCIAS