Your SlideShare is downloading. ×
MDA - Model Driven Architecture
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

MDA - Model Driven Architecture

1,048
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
1,048
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
11
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Abordagem de desenvolvimento MDA Natã Venâncio de Melo (natanvm@dsc.ufcg.edu.br)
  • 2. Agenda Motivação Um Exemplo Simples Processo de MDD/MDA Demonstração de geração de código Considerações Finais Dúvidas 2 Abordagem de desenvolvimento MDA - Natã Venâncio
  • 3. Motivação Alguns aspectos do processo de desenvolvimento de software tradicional apresentam problemas na forma como são abordados. São eles:  Produtividade  Portabilidade  Manutenção  Documentação 3 Abordagem de desenvolvimento MDA - Natã Venâncio
  • 4. Um Exemplo Simples 1. public class Usuario { 2. private String nome; 3. private String login; 4. private String senha; 5. public String getLogin( ){ 6. return this.login 7. } 8. public void setSenha (String senha){ 9. this.senha = senha; 10. } 11. public String getSenha (){ 12. return this.senha; 13. } 14. public String getNome (){Desenvolvimento com foco no 15. return this.nome; 16. } código (implementação)! 17. } 4 Abordagem de desenvolvimento MDA - Natã Venâncio
  • 5. Um Exemplo Simples 1. public class User { 2. private String name; 3. private String login; X 4. private String password; 5. public String getLogin( ){ 6. return this.login 7. } 8. public void setPassword (String password){ 9. this.password = password; 10. } 11. public String getPassword (){ 12. return this.password; 13. }Desenvolvimento com foco no 14. public String getName (){ 15. return this.name; código (implementação)! 16. } 17. } 5 Abordagem de desenvolvimento MDA - Natã Venâncio
  • 6. Um Exemplo Simples 1. public class Usuario { 2. private String name; 3. private String login; 4. private String password; X 5. private String address; 6. public String getLogin( ){ 7. return this.login 8. } X 9. public void setPassword (String password){ 10. this.password = password; 11. } 12. public String getPassword (){ 13. return this.password; 14. } 15. public String getName (){ 16. return this.name; 17. }Desenvolvimento com foco no 18. public String getAddress(){ 19. return this.address; código (implementação)! 20. } 21. } 6 Abordagem de desenvolvimento MDA - Natã Venâncio
  • 7. Um Exemplo Simples 1. public class User { 2. private String name; 3. private String login; 4. private String password; 5. public String getLogin( ){ 6. return this.login 7. } 8. public void setPassword (String password){ 9. this.password = password; 10. } 11. public String getPassword (){ 12. return this.password; 13. }Desenvolvimento com foco nos 14. public String getName (){ 15. return this.name; modelos (modelagem)! 16. } 17. } 7 Abordagem de desenvolvimento MDA - Natã Venâncio
  • 8. Um Exemplo Simples 1. public class User { 2. private String name; 3. private String login; 4. private String password; 5. private String address; 6. public String getLogin( ){ 7. return this.login 8. } 9. public void setPassword (String password){ 10. this.password = password; 11. } 12. public String getPassword (){ 13. return this.password; 14. } 15. public String getName (){ 16. return this.name;Desenvolvimento com foco nos 17. } modelos (modelagem)! 18. public String getAddress(){ 19. return this.address; 20. } 21. 22. } 8 Abordagem de desenvolvimento MDA - Natã Venâncio
  • 9. Processo MDD/MDA MDD – Model Driven Development MDA – Model Driven Architecture Proposta da OMG  Propor uma mudança de paradigma Focar o desenvolvimento do software em modelos  Modelos não são apenas documentos para auxiliar o desenvolvimento de software, eles são o próprio software 9 Abordagem de desenvolvimento MDA - Natã Venâncio
  • 10. Framework MDAPIM PIM - Platform Independent Model10 Abordagem de desenvolvimento MDA - Natã Venâncio
  • 11. Framework MDAPIMPSM PSM – Platform Specific Model PIM - Platform Independent Model11 Abordagem de desenvolvimento MDA - Natã Venâncio
  • 12. Framework MDAPIMPSM Code PIM - Platform Independent Model PSM – Platform Specific Model12 Abordagem de desenvolvimento MDA - Natã Venâncio
  • 13. MDA – Transformação Ferramenta de transformação PIM Definição de transformação  Regras de transformação PSM Transformações são escritas em:  ATL, MOFScript, MOF2Text, … Code 13 Abordagem de desenvolvimento MDA - Natã Venâncio
  • 14. Demonstração Transformação Textual (Modelo para código) Meta-Modelo Transformação Fonte em MOFScript Tool Modelo Fonte Tool Código Tool 14 Abordagem de desenvolvimento MDA - Natã Venâncio
  • 15. Considerações Finais A abordagem MDA vem evoluindo a cada ano Exemplos de ferramentas que produzem programas baseados em MDA: OPTIMALJ, MEGARA e ANDROMDA RUP – Rational Unified Process Pesquisas (GMF)  MetaCG (Download)  UDT (Download) 15 Abordagem de desenvolvimento MDA - Natã Venâncio
  • 16. Dúvidas?16 Abordagem de desenvolvimento MDA - Natã Venâncio
  • 17. Grupo PET Computação Obrigado Platéia Anderson Ledo17 Abordagem de desenvolvimento MDA - Natã Venâncio
  • 18. Abordagem de desenvolvimento MDA Natã Venâncio (natanvm@dsc.ufcg.edu.br) Anderson Ledo (ledo@dsc.ufcg.edu.br)18 Abordagem de desenvolvimento MDA - Natã Venâncio