1 / 30

[MDA]

[MDA]. Raphael Gatti Thomás Bryan. Meta Introdução. Introdução Desenvolvimento Tradicional Modelo MDA Benefícios Exemplos Conclusão. Introdução. Melhoria no desenvolvimento de software Evoluções tecnológicas Artefatos e Arquitetura Documentação

hallam
Download Presentation

[MDA]

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. [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 • Modelos MDA As três maiores transformações no processo de desenvolvimento 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 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; }

More Related