Post on 04-Jul-2015
description
Introdução à M[B,D]-‐UID
Rômulo Jales <romulo@romulojales.com>
Model-‐based/driven design/development of user interfaces
...ufa
Cenário
• Onde a tela final será exibida? celular, pc, tablet...
• Quem executará o sistema? criança, adulto, idoso?
• Que linguagem será usada? Flash, Html, Java, GTK.. ?
Modelos
• Uma representação incompleta da realidade • Uma abstração que precisa passar por ferramentas em geral automaWzadas para chegar a um objeto real.
Código fonte -‐> Código de máquina
ajuda a manter a sanidade!
M[B,D]-‐UID
M[B,D]-‐UID
• Desenvolvimento das interfaces do sistema para possibilitar a conclusão efeWva segundo a IHC de uma tarefa pelo usuário
MB-‐UID
Model-‐Based User Interface Development
MB-‐UID
• Re-‐uso de modelos • Uma abordagem parecida com OO
MB-‐UID
• Aplica as técnicas de MB na IHC • Modelos – Apresentação – Diálogos – Tarefas
• Transforma uma base de conhecimento num código minimamente executável.
Gerações
• 1ª 1990 ~ 1996 – Centrada na geração automáWca de componentes
• 2ª 1995 ~ 2000 – Integração do modelo de tarefas e iteração de Uis
• 3ª 2000 ~ 2004 – Integração dos modelos de plataformas
• 4ª 2004... – Integração de contexto (Processo passa a ser chamado Model Driven)
MB-‐UID Processo (um case)
• Um sistema para controle de entradas numa festa baseada em compra prévia de entradas. O cliente chega no local com um papel com um número de série, que pode ser uma cadeia de dígitos ou um código de barras.
• O controlador pode ter um celular com uma câmera acoplada ou um notebook.
MB-‐UID Processo (um case)
• Se for um celular: – Só pode ler o código de barras usando a câmera – ConecWvidade por 3G, Wi-‐Fi ou nula
• Notebook: – Só pode digitar o código – Conexão via WiFi, cabeada, 3G, discada, pendrives...
MB-‐UID Processo (um case)
• Imaginemos usar modelos para desenhar este sistema. – Apresentação – Tarefas – Diálogos
Eisenstein, J.; Vanderdonckt, J.; Puerta, A. (2001) Applying model-‐based techniques to the development of UIs for mobile computers. In Proceedings of the 6th internaWonal conference on Intelligent user interfaces, IUI 2001. New York, NY: ACM, 69-‐76.
+ vs -‐ • Abstração • ProduWvidade • Qualidade • Menos Erros • Processo
• Manutenção • Escalabilidade * • Integração • Qualidade de código gerado • Padrões
A Review to Model-‐Based User Interface Development Technology Available at: h|p://}p.informaWk.rwth-‐aachen.de/PublicaWons/CEUR-‐WS/Vol-‐103/molina-‐moreno.pdf
Big Issue
• “Automa(c Programming is defined as the synthesis of a program from a specifica(on. If automa(c programming is to be useful, the specifica(on must be smaller and easier to write than the program would be if wri>en in a conven(onal programming language.”
• Novak’s rule A Review to Model-‐Based User Interface Development Technology
Available at: h|p://}p.informaWk.rwth-‐aachen.de/PublicaWons/CEUR-‐WS/Vol-‐103/molina-‐moreno.pdf
MD-‐UID
Model Driven User Interface Development
MD-‐UID
• […]The Poten(al is large, and it may represent the first true genera(onal shiE in basic programming technology since the introduc(on of compilers
B.Selic,"The PragmaWcs of Model-‐Driven Development", IEEE So}ware, Vol.20, No. 5, September/October 2003, pp. 19-‐25.
MD-‐UID
• A necessidade primário do desenvolvimento é o modelo e não o so}ware
• Facilita a especificação do modelo • Geração de código a parWr do modelo • Proposta de uma arquitetura
MD-‐UID
• Diferentes linguagens de modelagem para cada stakeholder
• Separação do design do dado a ser exibido
Conclusão
• MB e MD aWvidades maduras da Eng clássica são aplicáveis a UID
• Apesar de madura ainda enfrenta dificuldades de adoção na indústria.
Próximos Trabalhos
• Estudar + • Aprofundar nos metas modelos da IHC para o MDA (MDD)