SlideShare ist ein Scribd-Unternehmen logo
1 von 44
Downloaden Sie, um offline zu lesen
Model Driven
Development - MDD
Toni Esteves - 7º Período
Bacharelado em Sistemas de Informação

quarta-feira, 23 de outubro de 13

1
Incrível !!

quarta-feira, 23 de outubro de 13

2
Como desenvolver
software
atualmente ?

quarta-feira, 23 de outubro de 13

3
Tecnologias

Código

Padrões

Plataformas

Semântica

Dispositivos

Processos

Hardware

Time-to-Market

Boas práticas

quarta-feira, 23 de outubro de 13

4
{
quarta-feira, 23 de outubro de 13

Entrevistas
Workshops
Brainstorms
StoryBoards
Casos de Uso
Role Playing
Prototipagem

5
quarta-feira, 23 de outubro de 13

6
Abstração

quarta-feira, 23 de outubro de 13

7
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
MDD - Model Driven
Development

quarta-feira, 23 de outubro de 13

9
MDD - Model Driven
Development

quarta-feira, 23 de outubro de 13

10
Abordagem

quarta-feira, 23 de outubro de 13

11
•

Diversas Especificações
•

OMG
•

•

Vanderblit University
•

•

MIC (Model Integrated Computing)

Microsoft
•

•

MDA (Model Driven Architeture)

Software Factories

Eclipse
•

Modeling

quarta-feira, 23 de outubro de 13

12
•

•

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
•

•

•

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
CIM

Texto
Texto

quarta-feira, 23 de outubro de 13

15
CIM

PIM

Texto
Texto

quarta-feira, 23 de outubro de 13

16
CIM

quarta-feira, 23 de outubro de 13

PIM

PSM

17
Ciclo de Vida

quarta-feira, 23 de outubro de 13

18
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
•

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
quarta-feira, 23 de outubro de 13

21
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
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
Aplicação:

quarta-feira, 23 de outubro de 13

24
“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
Middleware

quarta-feira, 23 de outubro de 13

26
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
WSO2 Enterprise Middleware Services

quarta-feira, 23 de outubro de 13

28
Detalhamento do
processo MDA

quarta-feira, 23 de outubro de 13

29
•

Modelo de Domínio - Etapa 1 - Identificação, Objetivos
e Processos de negócio:

quarta-feira, 23 de outubro de 13

30
•

•

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
•

•

•

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
quarta-feira, 23 de outubro de 13

33
That’s MDD !!...

quarta-feira, 23 de outubro de 13

34
Vantagens:

quarta-feira, 23 de outubro de 13

35
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
Desvantagens:

quarta-feira, 23 de outubro de 13

37
Desvantagens:
•

Rigidez

•

Complexidade

•

Perda de desempenho

•

Maior Curva de Aprendizado

•

Alto Investimento Inicial

quarta-feira, 23 de outubro de 13

38
Desafios:

quarta-feira, 23 de outubro de 13

39
Desafios:

quarta-feira, 23 de outubro de 13

40
Model Driven Development

quarta-feira, 23 de outubro de 13

41
Quer saber mais?

quarta-feira, 23 de outubro de 13

42
Considerações

quarta-feira, 23 de outubro de 13

43
quarta-feira, 23 de outubro de 13

44

Weitere ähnliche Inhalte

Ähnlich wie Model driven development

Ensino Profissionalizante - Tecnológico.pptx
Ensino Profissionalizante - Tecnológico.pptxEnsino Profissionalizante - Tecnológico.pptx
Ensino Profissionalizante - Tecnológico.pptxtaricgomes
 
Qt Techday - João Pessoa
Qt Techday - João PessoaQt Techday - João Pessoa
Qt Techday - João PessoaOpenBossa
 
Evolução das arquiteturas para aplicações Web
Evolução das arquiteturas para aplicações WebEvolução das arquiteturas para aplicações Web
Evolução das arquiteturas para aplicações WebBreno Vitorino
 
Mocking Test - ThinkUp! - Abril/2017
Mocking Test - ThinkUp! - Abril/2017Mocking Test - ThinkUp! - Abril/2017
Mocking Test - ThinkUp! - Abril/2017Renato Groff
 
My cool new Slideshow!
My cool new Slideshow!My cool new Slideshow!
My cool new Slideshow!Emílio
 
Qualificação Mestrado
Qualificação MestradoQualificação Mestrado
Qualificação MestradoFilipe Grillo
 
relatorio de projecto-Documentação teórica das técnicas de hacking
relatorio de projecto-Documentação teórica das técnicas de hackingrelatorio de projecto-Documentação teórica das técnicas de hacking
relatorio de projecto-Documentação teórica das técnicas de hackingRicardo Tomás
 
Dextra Sistemas: A linguagem PHP no modelo de Fábrica de Software
Dextra Sistemas: A linguagem PHP no modelo de Fábrica de SoftwareDextra Sistemas: A linguagem PHP no modelo de Fábrica de Software
Dextra Sistemas: A linguagem PHP no modelo de Fábrica de SoftwareDextra
 
Application Insights: identificando problemas de performance em aplicações le...
Application Insights: identificando problemas de performance em aplicações le...Application Insights: identificando problemas de performance em aplicações le...
Application Insights: identificando problemas de performance em aplicações le...Renato Groff
 
Teoria de Sistemas de Informação - Atividade: Tecnologia e SI
Teoria de Sistemas de Informação - Atividade: Tecnologia e SITeoria de Sistemas de Informação - Atividade: Tecnologia e SI
Teoria de Sistemas de Informação - Atividade: Tecnologia e SIAlessandro Almeida
 
Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - Developers-SP - Janei...
Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - Developers-SP - Janei...Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - Developers-SP - Janei...
Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - Developers-SP - Janei...Renato Groffe
 
Mocking Test - QA Ninja Conf 2016
Mocking Test - QA Ninja Conf 2016Mocking Test - QA Ninja Conf 2016
Mocking Test - QA Ninja Conf 2016Renato Groff
 
Disciplina Gerencia de Projetos - Prof. Rogerio P C do Nascimento, PhD
Disciplina Gerencia de Projetos - Prof. Rogerio P C do Nascimento, PhDDisciplina Gerencia de Projetos - Prof. Rogerio P C do Nascimento, PhD
Disciplina Gerencia de Projetos - Prof. Rogerio P C do Nascimento, PhDRogerio P C do Nascimento
 
Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - .NET SP - Abril-2018
Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - .NET SP - Abril-2018Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - .NET SP - Abril-2018
Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - .NET SP - Abril-2018Renato Groff
 
PROCC UFS.br :: Apresentação Disciplina PGPS - Planejamento e Gerencia de Pro...
PROCC UFS.br :: Apresentação Disciplina PGPS - Planejamento e Gerencia de Pro...PROCC UFS.br :: Apresentação Disciplina PGPS - Planejamento e Gerencia de Pro...
PROCC UFS.br :: Apresentação Disciplina PGPS - Planejamento e Gerencia de Pro...Rogerio P C do Nascimento
 
TDC2016SP - Machine Learning Black Boxes - Terceirizando o Trabalho Duro
TDC2016SP - Machine Learning Black Boxes - Terceirizando o Trabalho DuroTDC2016SP - Machine Learning Black Boxes - Terceirizando o Trabalho Duro
TDC2016SP - Machine Learning Black Boxes - Terceirizando o Trabalho Durotdc-globalcode
 
Anexo ii edital0313_programas
Anexo ii edital0313_programasAnexo ii edital0313_programas
Anexo ii edital0313_programasSamuel Martins
 

Ähnlich wie Model driven development (20)

Ensino Profissionalizante - Tecnológico.pptx
Ensino Profissionalizante - Tecnológico.pptxEnsino Profissionalizante - Tecnológico.pptx
Ensino Profissionalizante - Tecnológico.pptx
 
Qt Techday - João Pessoa
Qt Techday - João PessoaQt Techday - João Pessoa
Qt Techday - João Pessoa
 
Evolução das arquiteturas para aplicações Web
Evolução das arquiteturas para aplicações WebEvolução das arquiteturas para aplicações Web
Evolução das arquiteturas para aplicações Web
 
Mocking Test - ThinkUp! - Abril/2017
Mocking Test - ThinkUp! - Abril/2017Mocking Test - ThinkUp! - Abril/2017
Mocking Test - ThinkUp! - Abril/2017
 
Mocking Test
Mocking TestMocking Test
Mocking Test
 
My cool new Slideshow!
My cool new Slideshow!My cool new Slideshow!
My cool new Slideshow!
 
Qualificação Mestrado
Qualificação MestradoQualificação Mestrado
Qualificação Mestrado
 
relatorio de projecto-Documentação teórica das técnicas de hacking
relatorio de projecto-Documentação teórica das técnicas de hackingrelatorio de projecto-Documentação teórica das técnicas de hacking
relatorio de projecto-Documentação teórica das técnicas de hacking
 
Dextra Sistemas: A linguagem PHP no modelo de Fábrica de Software
Dextra Sistemas: A linguagem PHP no modelo de Fábrica de SoftwareDextra Sistemas: A linguagem PHP no modelo de Fábrica de Software
Dextra Sistemas: A linguagem PHP no modelo de Fábrica de Software
 
Application Insights: identificando problemas de performance em aplicações le...
Application Insights: identificando problemas de performance em aplicações le...Application Insights: identificando problemas de performance em aplicações le...
Application Insights: identificando problemas de performance em aplicações le...
 
Teoria de Sistemas de Informação - Atividade: Tecnologia e SI
Teoria de Sistemas de Informação - Atividade: Tecnologia e SITeoria de Sistemas de Informação - Atividade: Tecnologia e SI
Teoria de Sistemas de Informação - Atividade: Tecnologia e SI
 
SQLAlchemy - Desenvolvendo uma aplicação com Python
SQLAlchemy - Desenvolvendo uma aplicação com Python SQLAlchemy - Desenvolvendo uma aplicação com Python
SQLAlchemy - Desenvolvendo uma aplicação com Python
 
Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - Developers-SP - Janei...
Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - Developers-SP - Janei...Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - Developers-SP - Janei...
Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - Developers-SP - Janei...
 
Mocking Test - QA Ninja Conf 2016
Mocking Test - QA Ninja Conf 2016Mocking Test - QA Ninja Conf 2016
Mocking Test - QA Ninja Conf 2016
 
Disciplina Gerencia de Projetos - Prof. Rogerio P C do Nascimento, PhD
Disciplina Gerencia de Projetos - Prof. Rogerio P C do Nascimento, PhDDisciplina Gerencia de Projetos - Prof. Rogerio P C do Nascimento, PhD
Disciplina Gerencia de Projetos - Prof. Rogerio P C do Nascimento, PhD
 
Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - .NET SP - Abril-2018
Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - .NET SP - Abril-2018Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - .NET SP - Abril-2018
Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - .NET SP - Abril-2018
 
PROCC UFS.br :: Apresentação Disciplina PGPS - Planejamento e Gerencia de Pro...
PROCC UFS.br :: Apresentação Disciplina PGPS - Planejamento e Gerencia de Pro...PROCC UFS.br :: Apresentação Disciplina PGPS - Planejamento e Gerencia de Pro...
PROCC UFS.br :: Apresentação Disciplina PGPS - Planejamento e Gerencia de Pro...
 
Machine Learning Black Boxes
Machine Learning Black BoxesMachine Learning Black Boxes
Machine Learning Black Boxes
 
TDC2016SP - Machine Learning Black Boxes - Terceirizando o Trabalho Duro
TDC2016SP - Machine Learning Black Boxes - Terceirizando o Trabalho DuroTDC2016SP - Machine Learning Black Boxes - Terceirizando o Trabalho Duro
TDC2016SP - Machine Learning Black Boxes - Terceirizando o Trabalho Duro
 
Anexo ii edital0313_programas
Anexo ii edital0313_programasAnexo ii edital0313_programas
Anexo ii edital0313_programas
 

Mehr von Toni Esteves

Domain driven design in a nutshell
Domain driven design in a nutshellDomain driven design in a nutshell
Domain driven design in a nutshellToni Esteves
 
A influência do Test-Driven Design no projeto de classes e no design em siste...
A influência do Test-Driven Design no projeto de classes e no design em siste...A influência do Test-Driven Design no projeto de classes e no design em siste...
A influência do Test-Driven Design no projeto de classes e no design em siste...Toni Esteves
 
Logica fuzzy Conceitos e Aplicações
Logica fuzzy   Conceitos e AplicaçõesLogica fuzzy   Conceitos e Aplicações
Logica fuzzy Conceitos e AplicaçõesToni Esteves
 
Domain Specific Languages - A superficial approach
Domain Specific Languages - A superficial approachDomain Specific Languages - A superficial approach
Domain Specific Languages - A superficial approachToni Esteves
 
Inteligencia Artificial - Linguistica
Inteligencia Artificial - LinguisticaInteligencia Artificial - Linguistica
Inteligencia Artificial - LinguisticaToni Esteves
 

Mehr von Toni Esteves (6)

eSCM-CL
eSCM-CLeSCM-CL
eSCM-CL
 
Domain driven design in a nutshell
Domain driven design in a nutshellDomain driven design in a nutshell
Domain driven design in a nutshell
 
A influência do Test-Driven Design no projeto de classes e no design em siste...
A influência do Test-Driven Design no projeto de classes e no design em siste...A influência do Test-Driven Design no projeto de classes e no design em siste...
A influência do Test-Driven Design no projeto de classes e no design em siste...
 
Logica fuzzy Conceitos e Aplicações
Logica fuzzy   Conceitos e AplicaçõesLogica fuzzy   Conceitos e Aplicações
Logica fuzzy Conceitos e Aplicações
 
Domain Specific Languages - A superficial approach
Domain Specific Languages - A superficial approachDomain Specific Languages - A superficial approach
Domain Specific Languages - A superficial approach
 
Inteligencia Artificial - Linguistica
Inteligencia Artificial - LinguisticaInteligencia Artificial - Linguistica
Inteligencia Artificial - Linguistica
 

Model driven development