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

45
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

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

Page 1: 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.

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

Page 2: 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.

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

Page 3: 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.

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

Page 4: 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.

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

Page 5: 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.

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.

Page 6: 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.

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

Page 7: 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.

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

Page 8: 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.

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

Page 9: 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.

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

Page 10: 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.

REFERENCIAL TEÓRICO:

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

Page 11: 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.

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

Page 12: 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.

REFERENCIAL TEÓRICO:

GERADOR AUTOMÁTICO DE CÓDIGOArquivo XMI:

•DIAGRAMA DE CLASSES

Page 13: 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.

REFERENCIAL TEÓRICO:

GERADOR AUTOMÁTICO DE CÓDIGOArquivo XMI:

•CLASSE PESSOA (DIAGRAMA E ARQUIVO XMI)

Page 14: 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.

REFERENCIAL TEÓRICO:

GERADOR AUTOMÁTICO DE CÓDIGOArquivo XMI:

•REFERÊNCIA CRUZADA

Page 15: 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.

REFERENCIAL TEÓRICO:

GERADOR AUTOMÁTICO DE CÓDIGOArquivo XMI:

•REFERÊNCIA CRUZADA

Page 16: 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.

REFERENCIAL TEÓRICO:

GERADOR AUTOMÁTICO DE CÓDIGOArquivo XMI:

•DIAGRAMA DE ESTADOS

Page 17: 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.

REFERENCIAL TEÓRICO:

GERADOR AUTOMÁTICO DE CÓDIGOArquivo XMI:

Page 18: 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.

REFERENCIAL TEÓRICO:

GERADOR AUTOMÁTICO DE CÓDIGOArquivo XMI:

Page 19: 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.

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:

Page 20: 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.

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

Page 21: 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.

REFERENCIAL TEÓRICO:

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

Page 22: 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.

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

Page 23: 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.

RESULTADOS

CodeGen

ARQUITETURA:

Page 24: 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.

RESULTADOS

CodeGen

PROCESSAMENTO DA GERAÇÃO:

Page 25: 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.

RESULTADOS

CodeGen

FOLHAS DE ESTILOS:

Page 26: 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.

RESULTADOS

CodeGen

FOLHAS DE ESTILOS:Referência Cruzada

Page 27: 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.

RESULTADOS

CodeGen

FOLHAS DE ESTILOS:Referência Cruzada

Page 28: 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.

RESULTADOS

CodeGen

FOLHAS DE ESTILOS:Referência Cruzada

Page 29: 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.

RESULTADOS

BlueBox

ARQUITETURA:

Page 30: 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.

RESULTADOS

BlueBox

XMI PARSE:

Page 31: 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.

RESULTADOS

BlueBox

XMI PARSE:Jcoltrane - Nuccielli, 2008

Page 32: 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.

RESULTADOS

BlueBox

GERADOR:Processador Velocity

• Encaminhar templates para Processador de Categorias;

• Filtragem: Classes, Templates, Pacotes e Categorias;

Page 33: 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.

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

Page 34: 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.

RESULTADOS

BlueBox

GERADOR:Processador de Categorias

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

Page 35: 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.

RESULTADOS

BlueBox

GERADOR:Templates Velocity

Page 36: 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.

RESULTADOS

Procedimento de Modelagem

DIAGRAMA DE CLASSES (ER):• Classes

Page 37: 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.

RESULTADOS

Procedimento de Modelagem

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

Page 38: 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.

RESULTADOS

Procedimento de Modelagem

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

Page 39: 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.

RESULTADOS

Procedimento de Modelagem

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

Page 40: 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.

RESULTADOS

Procedimento de Modelagem

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

Page 41: 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.

RESULTADOS

Procedimento de Modelagem

DIAGRAMA DE CLASSES (ER):• Pacotes

Page 42: 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.

RESULTADOS

Procedimento de Modelagem

DIAGRAMA DE ESTADOS:• Pacotes (estrutura)

Page 43: 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.

RESULTADOS

Procedimento de Modelagem

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

Page 44: 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.

Conclusões

Page 45: 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.

REFERÊNCIAS