PROCEDIMENTOS DE MODELAGEM E UMA FERRAMENTA DE GERAÇÃO AUTOMÁTICA DE CÓDIGO Lucas De Luca Castro...
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