Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Use MDD e faça as máquinas trabalharem para você - Andreza Leite

35 views

Published on

Andrêza Leite - Professora - UFRPE

Model Driven Development(MDD) está se tornando um tópico quente (novamente!). Mas por que MDD?
Quais são as vantagens de MDD, MDE, MDA e outros acrônimos relacionados a model-driven?
Nesta palestra tentarei responder essa questão listando algumas vantagens e perigos do desenvolvimento orientado a modelos, alinhados ao uso prático destas técnicas para geração de código e esquemas de bancos de dados.

Palestra realizada no InterCon 2018 - https://eventos.imasters.com.br/intercon

Published in: Software
  • Be the first to comment

  • Be the first to like this

Use MDD e faça as máquinas trabalharem para você - Andreza Leite

  1. 1. Use MDD e faça as máquinas trabalharem para você Andrêza Leite
  2. 2. Nossa sensação de crise deriva da falta de um modelo condutor. Domenico de Masi
  3. 3. Desorientação "O verbete que mais parece se aproximar de nossa realidade é o da letra D, Desorientação ” Domenico de Masi
  4. 4. Projetos x Modelos Substantivo Masculino Desejo, intenção de fazer ou realizar (algo) no futuro; plano. Substantivo Masculino Representação, em escala reduzida, de objeto, obra de arquitetura etc. a ser reproduzida em dimensões normais.
  5. 5. Des orient ação? Casa, cidade (Plantas, mapas) Banco de dados (Modelos de dados Diagrama ER,Relacional) Sistema de Informação (diagramas UML)
  6. 6. D M ... ? MDA Model Driven Architecture MDE Model Driven Engineering MDSD Model Driven Software Development MDSE Model Driven Software Engineering MDD Model Driven Development
  7. 7. MD...?
  8. 8. 42 = * Decimal 2 Caracter MD*
  9. 9. GERAÇÃO DE CÓDIGO MDD MODELOS TOOLS APLICAÇÃO
  10. 10. GERAÇÃO DE CÓDIGO MDD
  11. 11. A C S E RÁPIDO BARATO PRODUTIVO FÁCIL
  12. 12. MDD + Domínio Linguagem de modelagem de propósito Geral UML Linguagem de modelagem de propósito Específico DSML
  13. 13. MDD::Sistema
  14. 14. MDD::DSML
  15. 15. MDD::Plataforma
  16. 16. MDD::Processo
  17. 17. GenModelPreparação de dados para Anotação de Genoma
  18. 18. Metamodel::GenDB
  19. 19. GenML
  20. 20. GenML
  21. 21.  .gendb2mongoDB
  22. 22. GenModel::Impl
  23. 23. Quais são as vantagens?
  24. 24. Modelos + Alta abstração  Menor que código 1 elemento = * linhas  Modelos 2 app + geração ou interpretação/execução MetaEdit+ 5x  prog. tradicional Rápido
  25. 25. +rápida > custo (-pessoas, -dev, +qualidade) Mudança e Manutenção  +fácil de entender (modelos) Rentável
  26. 26. =! software = Conhecimento do Domínio Modelo + Conceitos Problemas negócio X TI  relação MDD+DDD Conheci mento
  27. 27. Modelam o domínio GUI, processos, regras, app usam notações DSML Negócio + TI atuam no dev > iterações + rápido feedback Expert do Domínio
  28. 28. Dev senior + coisas difíceis ferramentas MDD, integração, WS, API, integração BDs Apoia dev jr ou D. experts Domínio x  TI
  29. 29. Problemas técnicos cobertos por testes da da ferramenta de MDD. Validações executadas em modelos de alto nível  - Erros
  30. 30. Pessoal modelos + fáceis X código dev ou expert gera app Requisitos mud. propagadas auto.  Tecnologia migração sem  alteração do modelo foca  no gerador   - Sensível Mudanças
  31. 31. Qualidade técnica gerador de código ou máquina de execução Melhores dev -> gerador Qualidade
  32. 32. Modelo = documentação legível por especialistas legível por donos de negócio  Doc Atualizada
  33. 33. Quais são os perigos?
  34. 34. programar -  gerar + customização limitada flexibilidade deve ser projetada  Rigidez
  35. 35. Time de requisitos + preparado Permitido X ñ permitido Personalização trabalhosa Tools Limitadas
  36. 36. != dev tradicional Técnica -> "Meta Team" fábrica de sw Soluções -> Eng. de Domínio  conhecimento do domínio + modelos formais  != Papéis
  37. 37. Versionamento de modelos gráficos CVS melhores com texto Ferramentas MDD sem cobertura para CVS Versões
  38. 38. Solução pouco fívell e/ou atrasada Ferramenta de modelagem "quase" concluída  necessário testar na prática Equipe sem experiência
  39. 39. Foco na nova tecnologia e/ou ferramenta de MDD X Esquecimento dos objetivos do projeto Inovação Distrai
  40. 40. O T O L S MDE AADL from Carnegie-Mellon Software Engineering Institute Acceleo an open source code generator from Obeo Actifsource ATLAS Transformation Language or ATL, a model transformation language from Obeo Bold for Delphi ORM framework shipped with Delphi 7 ECO (Domain Driven Design) EnterpriseCoreObjects by CapableObjects.com Dot.Net Eclipse Modeling Framework (EMF) Enterprise Architect from Sparx Systems Generic Eclipse Modeling System (GEMS) GeneXus a Knowledge-based, declarative, multi-platform, multi-language development solution Genio a CASE / RAD (Rapid Application Development) / Agile / Model Driven Platform developed by Quidgest Graphical Modeling Framework (GMF) MagicDraw from No Magic Inc MERODE JMermaid from KU Leuven (educational) MetaEdit+ from MetaCase ModelCenter from Phoenix Integration Open ModelSphere OptimalJ from Compuware PREEvision from Vector Informatik Rhapsody from IBM RISE Editor from RISE to Bloome Software Simulink from MathWorks, see also Stateflow and Real-Time Workshop Embedded Coder, TargetLink Sirius an Eclipse Open Source project to create custom graphical modeling workbenches, from Obeo and Thales Together Architect from Borland Umple from the University of Ottawa Uniface from Compuware YAKINDU Statechart Tools open source tool build on top of Eclipse
  41. 41. MDD USE Ferramentas de MDD Linguagens de alto nível Modelos de alto nível MODELE Domínios DSMLs Aplicações complexas GERE Ferramentas de Modelagem App Esquemas de BDs
  42. 42. Obrigada! andreza.leite@ufrpe.br andreza@womenwhocode.com

×