O documento apresenta uma discussão sobre desenvolvimento orientado a modelos (Model Driven Development - MDD), descrevendo suas vantagens como aumento da produtividade e qualidade, além de desvantagens como complexidade e curva de aprendizado. O documento também explica os conceitos-chave de MDD como abstração, MDA e uso de modelos em diferentes níveis de abstração (CIM, PIM e PSM).
8. s.f.
Operação do espírito, que
isola de uma noção um elemento,
negligenciando os outros. / Resultado desta
operação: a brancura considerada em geral,
sem ser aplicada a um objeto, é uma
abstração. // Fazer abstração de uma coisa,
não levá-la em consideração; S.f.pl.
Idéias quiméricas, desvinculadas
da realidade
•
quarta-feira, 23 de outubro de 13
8
9. MDD - Model Driven
Development
quarta-feira, 23 de outubro de 13
9
10. MDD - Model Driven
Development
quarta-feira, 23 de outubro de 13
10
13. •
•
OMG - 2001 -(Object Managment Group) define um
conjunto de padronizações - Model Driven
Architeture (MDA);
O MDA introduz os conceitos de:
•
•
•
CIM (Computation Independent Model) - Visão sob
um ponto de vista não computacional;
PIM (Plataform Independent Model) - Visão sob um
ponto de vista independente da plataforma de
implementação;
PSM (Plataform Independent Model) - Visão sob
um ponto de vista de uma plataforma especifica;
quarta-feira, 23 de outubro de 13
13
14. •
•
•
CIM (Computation Independent Model) - Visão sob
um ponto de vista não computacional;
PIM (Plataform Independent Model) - Visão sob um
ponto de vista independente da plataforma de
implementação;
PSM (Plataform Independent Model) - Visão sob um
ponto de vista de uma plataforma especifica;
quarta-feira, 23 de outubro de 13
14
19. Abordagem
•
MDA embasado no MOF (Meta-objects Facility)
•
Geradores de código baseado em Modelos;
•
Linguagem de Criação (DSML);
•
Domínio Especifico;
•
Foco na UML;
•
Papel da Plataforma;
quarta-feira, 23 de outubro de 13
19
20. •
MOF
•
•
•
•
Padrão criado pela OMG para definição dos MetaModelos;
Permitir o mapeamento das transformações entre
diferentes modelos de diferentes meta-modelos;
Linguagem utilizada para descrever uma estrutura de
objetos (especificar uma linguagem);
Meta-Modelos
•
•
Provém: Estrutura, Semântica e Constantes para um
modelo;
Meta-modelagem não está vinculada a nenhum modelo
específico;
quarta-feira, 23 de outubro de 13
20
22. Geradores de Código
•
Especificam como a informação extraida dos
modelos é transformada em código
•
•
•
•
•
quarta-feira, 23 de outubro de 13
Improved communication of the design(including to the customer)
Increased understanding of design elements
Enhancing the consistency between design and code
Traceability within the software design
Increased productivity through efficiency
22
23. Domínio
•
Fator chave;
•
Especialistas do Dominio + Eng. de Software;
•
•
Bom entendimento do Dominio;
Domain Specific Language (DSL)
•
•
Visuais ou Textuais;
•
Ex: SQL, HTML, XML;
•
Focam sob o aspecto particular de um software;
•
•
Variam na Sintaxe,Semântica e Forma;
Martin Fowler;
General Purpose Languges (GPL)
quarta-feira, 23 de outubro de 13
23
25. “Um Processo MDA para o Desenvolvimento de Componentes
e
Serviços Específicos de Middleware”
Rita Suzana Pitangueira Maciel,
Nelson Souto Rosa,
Carlos Guimarães Ferraz,
Bruno Carreiro da Silva
Universidade Federal de Pernambuco – Centro de Informática
quarta-feira, 23 de outubro de 13
25
27. RNP:
Middleware
“Middleware é o neologismo criado para
designar camadas de software que não
constituem diretamente aplicações, mas
que facilitam o uso de ambientes ricos
em tecnologia da informação. A camada
de middleware concentra serviços como
identificação, autenticação, autorização,
diretórios, certificados digitais e outras
ferramentas para segurança.”
http://www.rnp.br/noticias/2006/not-060926.html
quarta-feira, 23 de outubro de 13
27
30. •
Modelo de Domínio - Etapa 1 - Identificação, Objetivos
e Processos de negócio:
quarta-feira, 23 de outubro de 13
30
31. •
•
Modelo de Domínio - Etapa 2 - Especificação dos
modelos ( Cidade, Aeroporto, Rota, Voo, reserva);
Modelo de Domínio - Etapa 3 - Mapeamento dos
conceitos;
quarta-feira, 23 de outubro de 13
31
32. •
•
•
Modelo Projeto - Etapa 4 - Identificação dos serviços
especificos, operações e componentes.
Modelo Operacional - Etapa 5 - Mapeamento para a
plataforma específica(CCM - CORBA 3.0).
Modelo Operacional - Etapa 6 -Geração de código.
quarta-feira, 23 de outubro de 13
32
36. Vantagens:
•
Produtividade/Portabilidade/Corretude;
•
Documentação
•
Capacidade de Expansão;
•
Foco no “O que?” ao invés do “Como?”;
•
Independencia da evolução tecnológica;
•
Aprimorar o entendimento e design dos elementos;
•
Reforçar a coerência entre o projeto e o código;
•
Rastreabilidade dentro do projeto de software;
•
Aumento da produtividade através da eficiencia
quarta-feira, 23 de outubro de 13
36