21
Desenvolvimento Dirigido por Modelos: Ferramentas DCC / ICEx / UFMG Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo

Desenvolvimento Dirigido por Modelos: Ferramentas

Embed Size (px)

Citation preview

Page 1: Desenvolvimento Dirigido por Modelos: Ferramentas

Desenvolvimento Dirigido

por Modelos: Ferramentas

DCC / ICEx / UFMG

Eduardo Figueiredo

http://www.dcc.ufmg.br/~figueiredo

Page 2: Desenvolvimento Dirigido por Modelos: Ferramentas

Existe MDD na prática?

Poucos sistemas ainda são desenvolvidos

usando a filosofia MDD

A expectativa é de aumentar a adoção nos

próximos anos a medida que MDD amadurece

Desde que MDD foi proposta, vários

ferramentas afirmam apoiar MDD

Na verdade, as ferramentas apóiam alguns

aspectos de MDD

Page 3: Desenvolvimento Dirigido por Modelos: Ferramentas

Dificuldades de Automação

Ferramentas MDD devem considerar

casos particulares

Ambiente de execução inclui

Plataforma de programação (ex. J2EE)

Bibliotecas específicas da empresa ou

do domínio

Bibliotecas específicas de interface com

o usuário, etc.

Page 4: Desenvolvimento Dirigido por Modelos: Ferramentas

Tipos de Ferramentas

Transformação de PIM para PSM

Transformação de PSM para Código

Transformação de PIM para Código

Ferramentas para definir

transformações

Outras

Page 5: Desenvolvimento Dirigido por Modelos: Ferramentas

Ferramentas: PIM para PSM

Tipo de ferramenta que recebe PIM

de alto nível e transforma em um ou

mais PSM

Ferramentas deste tipo quase não

existem

Page 6: Desenvolvimento Dirigido por Modelos: Ferramentas

PSM para Código

As ferramentas mais conhecidas para

suporte a MDD

Recebem um ou vários modelos como

entrada

Geram código em uma determinada

linguagem (modelo de código)

Algumas ferramentas mantém a

consistência entre modelos e código

Page 7: Desenvolvimento Dirigido por Modelos: Ferramentas

PIM para Código

Tipo de ferramenta que suporta

Transformação de PIM para PSM

Transformação de PSM para Código

Os usuários podem ver somente a

transformação PIM para Código

UML é geralmente usada como uma

linguagem para PIM

Comportamento nem sempre é expresso

em UML (manual ou OCL)

Page 8: Desenvolvimento Dirigido por Modelos: Ferramentas

Exemplos de Ferramentas

xUML-Compiler

IBM Rational Rhapsody

AndroMDA

Page 9: Desenvolvimento Dirigido por Modelos: Ferramentas

xUML Compiler

Page 10: Desenvolvimento Dirigido por Modelos: Ferramentas

xUML Compiler

É um projeto open source

Visão gráfica

Diagrama de Classes

Diagrama de Estados

Gera código executável e testável (Java)

Gera documentação parcial (Java Doc)

Page 11: Desenvolvimento Dirigido por Modelos: Ferramentas

Linguagem de Ações

É escrita em sintaxe Java

Linguagem de Ações é tão poderosa e

expressiva quanto Java

Elementos da Linguagem de Ações

são inseridos nas classes

Page 12: Desenvolvimento Dirigido por Modelos: Ferramentas

Diagrama de Classes

Page 13: Desenvolvimento Dirigido por Modelos: Ferramentas

IBM Rational Rhapsody

Page 14: Desenvolvimento Dirigido por Modelos: Ferramentas

Rhapsody

Ambiente de desenvolvimento para

MDD

Suporta C, C++ e Java

Funcionalidades principais

Permite analisar e verificar

rastreabilidade entre requisitos

Validar as funcionalidades

antecipadamente no desenvolvimento

Conduzir testes nos modelos

Page 15: Desenvolvimento Dirigido por Modelos: Ferramentas

Família Rhapsody

A família de software Rhapsody inclui

diversos produtos, entre eles:

Rational Rhapsody Architect for Software:

IDE para desenvolvimento gráfico de

aplicações Java, C++ e C# usando UML

Rational Rhapsody Developer: apoia

reutilização de código e engenharia

reversa além de sincronizar modelos e

código

Page 16: Desenvolvimento Dirigido por Modelos: Ferramentas

Demonstração

Alguns vídeos de demonstração

estão disponíveis

Vide “IBM Rational Rhapsody product

demos” no website da ferramenta

http://www.ibm.com/developerworks/rational/products/rhapsody/

Page 17: Desenvolvimento Dirigido por Modelos: Ferramentas

AndroMDA

Page 18: Desenvolvimento Dirigido por Modelos: Ferramentas

AndroMDA

Framework para geração de código

Adere aos principais conceitos de MDD

Modelos UML são transformados em

componentes implantáveis

Gera código compatível com

tecnologias atuais

J2EE, Spring, Struts, JSF, Spring and

Hibernate, etc.

Page 19: Desenvolvimento Dirigido por Modelos: Ferramentas

Modelos de Entrada (UML)

Diagrama de Classes

Diagrama de Atividades

Page 20: Desenvolvimento Dirigido por Modelos: Ferramentas

Tecnologia de Implementação

Opção 1 Opção 2

Page 21: Desenvolvimento Dirigido por Modelos: Ferramentas

Bibliografia da Aula

A. Kleppe, J. Warmer, W. Bast. MDA

Explained: The Model Driven

Architecture: Practice and Promise.

Addison-Wesley, 2003.

Capítulo 2

Website das ferramentas

http://code.google.com/p/xuml-compiler/ http://www.ibm.com/developerworks/rational/products/rhapsody/

http://www.andromda.org/