A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Raphael Gatti Thomás Bryan

Apresentações semelhantes


Apresentação em tema: "Raphael Gatti Thomás Bryan"— Transcrição da apresentação:

1 Raphael Gatti Thomás Bryan
[MDA] Raphael Gatti Thomás Bryan

2 Meta Introdução Introdução Desenvolvimento Tradicional Modelo MDA
Benefícios Exemplos Conclusão

3 Introdução Melhoria no desenvolvimento de software
Evoluções tecnológicas Artefatos e Arquitetura Documentação OMG (Object Management Group)

4 Desenvolvimento Tradicional
Foco no design de baixo nível Definidos recursos para aplicação Diagramas e textos especificados de acordo com a arquitetura.

5 Desenvolvimento Tradicional
Produtividade Nos processos Interativos e Incremental ou no Processo Cascata, diagramas e documentos são produzidos na fase 1 até 3. Documentos e diagramas perdem valor quando começa codificação.

6 Desenvolvimento Tradicional
Portabilidade Industria de software possui característica especial. Inovações tecnológicas a cada ano e mudanças nas próprias tecnologias, com novas versões e incompatibilidade.

7 Desenvolvimento Tradicional
Interoperabilidade Comunicação entre os sistemas Divisão do sistema em componentes

8 Desenvolvimento Tradicional
Manutenção e Problemas na Documentação Documentação é ponto fraco no desenvolvimento. Problema de manutenção da documentação. Boa parte dos desenvolvedores acredita que a tarefa principal é produzir código.

9 Modelo O nome Model Driven Architecutre deixa claro que os modelos são o principal foco da MDA. O dicionário de língua portuguesa michaelis define modelo como: - Desenho ou imagem que representa o que se pretende reproduzir, desenhando, pintando ou esculpindo. - Tudo o que serve para ser imitado. - Representação, em pequena escala, de um objeto que se pretende executar em ponto grande. A OMG define um modelo como “uma especificação formal de uma função, estrutura e/ou comportamento de um sistema.”

10 MDA MDA e Ciclo de Vida Abordagem baseada em Modelos UML.
Permite que os desenvolvedores se preocupem com a plataforma que esses requisitos serão implementados. Fases idênticas as do ciclo de desenvolvimento tradicional, diferença dos artefatos produzidos.

11 MDA Desenvolvimento Tradicional MDA

12 MDA Modelos MDA Modelo de alto nível de abstração (PIM)
Modelo específico para plataforma (PSM)

13 MDA Modelos MDA PIM (Plataform Independent Model)
Descreve como as regras de negócio devem ser implementadas. Não existe distinção de plataforma se é mainframe ou um servidor de aplicação EJB.

14 MDA Modelos MDA PSM (Plataform Specific Model)
Transformação do PIM em um ou mais modelos. Gerado um PSM para cada plataforma específica.

15 MDA Modelos MDA As três maiores transformações no processo de desenvolvimento MDA. Modelos MDA

16 MDA Modelos MDA

17 MDA Modelos MDA Transformação feita utilizando mapeamentos.

18 Benefícios da MDA Produtividade Foco em desenvolver o PIM
Definir transformação dos modelos é uma tarefa difícil mas é feita uma única vez.

19 Benefícios da MDA Portabilidade É alcançada utilizando o PIM.
Uma vez definido o modelo pode facilmente ser portado para vários PSM.

20 Benefícios da MDA Interoperabilidade
Relacionamento entre PSMs, também chamados de pontes.

21 Benefícios da MDA Manutenção e Documentação
Modelo é a representação exata do código. Mudança basta fazer manutenção no PIM, gerar o PSM e consequentemente o código. Documentação está sempre atualizada.

22 Exemplos androMDA Ferramenta de geração de código, a partir de um modelo UML. Pode produzir código fonte em qualquer linguagem de programação. Trabalha com cartuchos (plugins), implementação da transformação que vai ser realizada. Maven para automatizar o processo de geração.

23 Exemplos androMDA

24 Exemplos androMDA

25 Exemplos androMDA Person.java (classe abstrata)
Gera 6 classes como resultado da transformação. Person.java (classe abstrata) PersonImpl.java (implementa classe Person) PersonDao.java (interface especifica metodos CRUD) PersonDaoBase.java (implementa PersonDao) PersonDaoImpl.java (customização de consultas) Person.hbm.xml (arquivo hibernate)

26 Exemplos androMDA Person.java

27 Conclusão Ferramentas estão evoluindo e ganhando maturidade.
Permite que o desenvolvedor se preocupe mais com as regras de negócio. MDA é nova e mostra grande potencial.

28 Perguntas

29 Modelos MDA MOF (Meta Object Facility) Modelo UML Modelo de Carro
Objeto

30 Transformação Transformation SimpleAssociationToAttribute (UML, UML) {
params -- none source ae : UML::AssociationEnd; target att : UML::Attribute; source condition ae.upper <= 1; target condition att.visibility = VisibilityKind::public and att.type.isTypeOf(Class); unidirectional; mapping ae.name <~> att.name; ae.type <~> att.type; }


Carregar ppt "Raphael Gatti Thomás Bryan"

Apresentações semelhantes


Anúncios Google