Ferramentas de Suporte a
MDD: Um Quadro Comparativo
Monique Soares
Page 1
Agenda
• Introdução
• Desenvolvimento de Software Dirigido a
Modelos
• Ferramentas MDA
• Outras Ferramentas MDA
• Quadro Comparativo
• Conclusões
Page 2
Introdução
• Modelar é uma atividade essencial em
Engenharia de Software
• MDD vem representando um papel central no
processo de Engenharia de Software
• MDD oferece:
–
–
–
–
Maior produtividade
Portabilidade
Menor custo
Facilidade na evolução do software
Page 3
Introdução
• O objetivo do artigo é:
– Apresentar uma descrição de algumas ferramentas
que suportam MDD
– Fazer um quadro comparativo que explana as
principais características de uma ferramenta que
suporta MDD.
Page 4
Desenvolvimento de Software
Dirigido a Modelos
• Maior nível de abstração oferece melhoria da
produtividade e aplicações fáceis de escrever;
• Criação de aplicações muito mais complexas,
sem aumentar a carga de trabalho de
gerenciamento do projeto;
• Construindo aplicações mais rápidas, mais
baratas e com maior qualidade.
Page 5
Desenvolvimento de Software
Dirigido a Modelos
• Com MDD:
– O usuário trabalha com um PIM;
– Seleciona uma plataforma alvo específica;
– Uma ferramenta gera o código.
• A produtividade é aumentada
– É a auto-geração quem cuida do código
Page 6
Desenvolvimento de Software
Dirigido a Modelos
• Principais vantagens em se utilizar MDD:
–
–
–
–
Maior produtividade;
Aumento da portabilidade;
Interoperabilidade;
Menor custo;
• A principal ideia em MDD:
– A transformação de modelos de maiores níveis de
abstração em modelos mais concretos até se obter o
código do sistema.
Page 7
Desenvolvimento de Software
Dirigido a Modelos
• MDA
–
–
–
–
Instância do processo MDD;
Definida em 2001 pelo OMG;
Explora a teoria básica do MDD.
Provê uma abordagem aberta e neutra para o desafio dos
negócios e mudanças tecnológicas;
• Os PIM’s podem ser transformados através do
MDA em praticamente qualquer plataforma.
Page 8
Desenvolvimento de Software
Dirigido a Modelos
• Visão geral do padrão MDA
Page 9
Ferramentas MDA
• MOSKitt (Modeling Software Kit - Kit de
Modelagem de Software)
–
–
–
–
–
Construída sobre o Eclipse
Permite edição gráfica de modelos;
Suporta persistência;
Suporta trabalho em time e versão de modelos.
Transformação de Modelo, Rastreabilidade e
Sincronização.
Page 10
Ferramentas MDA
• OLIVANOVA
– Distribuído comercialmente
– Modelagem em UML
– Linguagem Formal de especificação de sistemas de
informação – OASIS
– Composta de duas ferramentas:
• Modelador
• Máquina de Transformação
Page 11
Ferramentas MDA
• AndroMDA
– Desenvolvida sobre o Eclipse;
– Possibilita a definição de transformação de modelos PIM para
PSM para depois atingir a geração de código fonte
– Validação de restrições em OCL
– É possível gerar componentes para várias linguagens
Page 12
Outras Ferramentas MDA
• Borland Together
– Permite criar modelos de processo de negócio
(BPMN)
– Suporte a OCL
• MaRiSa-MDD
– Definição de metamodelos em KM3
– Transformações entre modelos orientados a aspectos
das fases de requisitos, arquitetura e projeto
detalhado
Page 13
Outras Ferramentas MDA
• ObjectiF
– Modelagem de processos de negócio
– Transformações de modelo para código e vice versa
• Objecteering Mda Modeler
– Define transformações de modelos e gera código
– Ferramenta de modelagem gráfica
Page 14
Outras Ferramentas MDA
• Kennedy Carter
– Ferramentas de modelagem e teste
– Ferramenta de geração de código
Page 15
Quadro Comparativo
Page 16
Conclusões
• Muitas ferramentas que suportam o MDD;
• Grande maioria utiliza a UML como linguagem
para modelagem;
• Grande quantidade de ferramentas free;
• O quadro comparativo apresentado pode
crescer e agregar mais características
desejadas, ligadas a MDD ou a ferramentas
para apoio ao processo de engenharia de
software.
Page 17
Download

P03: Ferramentas de suporte a MDD: um quadro comparativo