Model driven development

363 views
244 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
363
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
11
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Model driven development

  1. 1. Model Driven Development - MDD Toni Esteves - 7º Período Bacharelado em Sistemas de Informação quarta-feira, 23 de outubro de 13 1
  2. 2. Incrível !! quarta-feira, 23 de outubro de 13 2
  3. 3. Como desenvolver software atualmente ? quarta-feira, 23 de outubro de 13 3
  4. 4. 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
  5. 5. { quarta-feira, 23 de outubro de 13 Entrevistas Workshops Brainstorms StoryBoards Casos de Uso Role Playing Prototipagem 5
  6. 6. quarta-feira, 23 de outubro de 13 6
  7. 7. Abstração quarta-feira, 23 de outubro de 13 7
  8. 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. 9. MDD - Model Driven Development quarta-feira, 23 de outubro de 13 9
  10. 10. MDD - Model Driven Development quarta-feira, 23 de outubro de 13 10
  11. 11. Abordagem quarta-feira, 23 de outubro de 13 11
  12. 12. • 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
  13. 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. 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
  15. 15. CIM Texto Texto quarta-feira, 23 de outubro de 13 15
  16. 16. CIM PIM Texto Texto quarta-feira, 23 de outubro de 13 16
  17. 17. CIM quarta-feira, 23 de outubro de 13 PIM PSM 17
  18. 18. Ciclo de Vida quarta-feira, 23 de outubro de 13 18
  19. 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. 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
  21. 21. quarta-feira, 23 de outubro de 13 21
  22. 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. 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
  24. 24. Aplicação: quarta-feira, 23 de outubro de 13 24
  25. 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
  26. 26. Middleware quarta-feira, 23 de outubro de 13 26
  27. 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
  28. 28. WSO2 Enterprise Middleware Services quarta-feira, 23 de outubro de 13 28
  29. 29. Detalhamento do processo MDA quarta-feira, 23 de outubro de 13 29
  30. 30. • Modelo de Domínio - Etapa 1 - Identificação, Objetivos e Processos de negócio: quarta-feira, 23 de outubro de 13 30
  31. 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. 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
  33. 33. quarta-feira, 23 de outubro de 13 33
  34. 34. That’s MDD !!... quarta-feira, 23 de outubro de 13 34
  35. 35. Vantagens: quarta-feira, 23 de outubro de 13 35
  36. 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
  37. 37. Desvantagens: quarta-feira, 23 de outubro de 13 37
  38. 38. Desvantagens: • Rigidez • Complexidade • Perda de desempenho • Maior Curva de Aprendizado • Alto Investimento Inicial quarta-feira, 23 de outubro de 13 38
  39. 39. Desafios: quarta-feira, 23 de outubro de 13 39
  40. 40. Desafios: quarta-feira, 23 de outubro de 13 40
  41. 41. Model Driven Development quarta-feira, 23 de outubro de 13 41
  42. 42. Quer saber mais? quarta-feira, 23 de outubro de 13 42
  43. 43. Considerações quarta-feira, 23 de outubro de 13 43
  44. 44. quarta-feira, 23 de outubro de 13 44

×