SlideShare une entreprise Scribd logo
1  sur  21
Télécharger pour lire hors ligne
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)	
  

Contenu connexe

En vedette

Fútbol y literatura plan decenal, de seguridad y convivencia en el fútbol..ppt.
Fútbol y literatura plan decenal, de seguridad y convivencia en el fútbol..ppt.Fútbol y literatura plan decenal, de seguridad y convivencia en el fútbol..ppt.
Fútbol y literatura plan decenal, de seguridad y convivencia en el fútbol..ppt.Juan Fernando Moreno Jimenez
 
MAPA CONCEPTUAL GERENCIA DE PROYECTOS DE TECNOLOGÍA EDUCATIVA
MAPA CONCEPTUAL GERENCIA DE PROYECTOS DE TECNOLOGÍA EDUCATIVAMAPA CONCEPTUAL GERENCIA DE PROYECTOS DE TECNOLOGÍA EDUCATIVA
MAPA CONCEPTUAL GERENCIA DE PROYECTOS DE TECNOLOGÍA EDUCATIVAriosesalfredo
 
Indicadores de logros curriculares
Indicadores de logros curricularesIndicadores de logros curriculares
Indicadores de logros curricularesarelyfunlam
 
Francisco ferrer y guardia
Francisco ferrer y guardiaFrancisco ferrer y guardia
Francisco ferrer y guardiaJosevi13
 
Los anfibios
Los anfibiosLos anfibios
Los anfibiosaradelfer
 
Davinder Lahil - Land Development
Davinder Lahil - Land DevelopmentDavinder Lahil - Land Development
Davinder Lahil - Land DevelopmentDavinder Lahil
 
Apresentação1 lendas
Apresentação1 lendasApresentação1 lendas
Apresentação1 lendasPedugf
 
Supervisors
SupervisorsSupervisors
Supervisorsdawnlua
 
Apresentação Call AES Tiete 1T11_PT
Apresentação Call AES Tiete 1T11_PTApresentação Call AES Tiete 1T11_PT
Apresentação Call AES Tiete 1T11_PTAES Tietê
 
Asignacion Cursos Arq CUNOC
Asignacion Cursos Arq CUNOCAsignacion Cursos Arq CUNOC
Asignacion Cursos Arq CUNOCAngel Barrios
 
Inclusión tecnologica
Inclusión tecnologicaInclusión tecnologica
Inclusión tecnologicagenesis18
 
「説得力のある提案」につなげる「データの使い方」
「説得力のある提案」につなげる「データの使い方」「説得力のある提案」につなげる「データの使い方」
「説得力のある提案」につなげる「データの使い方」XICA
 

En vedette (18)

Fútbol y literatura plan decenal, de seguridad y convivencia en el fútbol..ppt.
Fútbol y literatura plan decenal, de seguridad y convivencia en el fútbol..ppt.Fútbol y literatura plan decenal, de seguridad y convivencia en el fútbol..ppt.
Fútbol y literatura plan decenal, de seguridad y convivencia en el fútbol..ppt.
 
Esquema corporal
Esquema corporalEsquema corporal
Esquema corporal
 
MAPA CONCEPTUAL GERENCIA DE PROYECTOS DE TECNOLOGÍA EDUCATIVA
MAPA CONCEPTUAL GERENCIA DE PROYECTOS DE TECNOLOGÍA EDUCATIVAMAPA CONCEPTUAL GERENCIA DE PROYECTOS DE TECNOLOGÍA EDUCATIVA
MAPA CONCEPTUAL GERENCIA DE PROYECTOS DE TECNOLOGÍA EDUCATIVA
 
Agile Tour Chennai 2015: Nexus - SRV Subrahmaniam
Agile Tour Chennai 2015: Nexus - SRV SubrahmaniamAgile Tour Chennai 2015: Nexus - SRV Subrahmaniam
Agile Tour Chennai 2015: Nexus - SRV Subrahmaniam
 
Indicadores de logros curriculares
Indicadores de logros curricularesIndicadores de logros curriculares
Indicadores de logros curriculares
 
Tipos de case
Tipos de caseTipos de case
Tipos de case
 
Francisco ferrer y guardia
Francisco ferrer y guardiaFrancisco ferrer y guardia
Francisco ferrer y guardia
 
Los anfibios
Los anfibiosLos anfibios
Los anfibios
 
SteveGobleCV
SteveGobleCVSteveGobleCV
SteveGobleCV
 
Davinder Lahil - Land Development
Davinder Lahil - Land DevelopmentDavinder Lahil - Land Development
Davinder Lahil - Land Development
 
Apresentação1 lendas
Apresentação1 lendasApresentação1 lendas
Apresentação1 lendas
 
Supervisors
SupervisorsSupervisors
Supervisors
 
Apresentação Call AES Tiete 1T11_PT
Apresentação Call AES Tiete 1T11_PTApresentação Call AES Tiete 1T11_PT
Apresentação Call AES Tiete 1T11_PT
 
Presentac. il postino
Presentac. il postinoPresentac. il postino
Presentac. il postino
 
Asignacion Cursos Arq CUNOC
Asignacion Cursos Arq CUNOCAsignacion Cursos Arq CUNOC
Asignacion Cursos Arq CUNOC
 
Inclusión tecnologica
Inclusión tecnologicaInclusión tecnologica
Inclusión tecnologica
 
「説得力のある提案」につなげる「データの使い方」
「説得力のある提案」につなげる「データの使い方」「説得力のある提案」につなげる「データの使い方」
「説得力のある提案」につなげる「データの使い方」
 
App
AppApp
App
 

Similaire à Introdução a Model Based User Interface Design

Retorno do Investimento em Usabilidade
Retorno do Investimento em UsabilidadeRetorno do Investimento em Usabilidade
Retorno do Investimento em UsabilidadeBernardo Mattos
 
Desenvolvimento de Aplicações Móveis em Java - Parte 1
Desenvolvimento de Aplicações Móveis em Java - Parte 1Desenvolvimento de Aplicações Móveis em Java - Parte 1
Desenvolvimento de Aplicações Móveis em Java - Parte 1Waldir R. Pires Jr
 
Construindo Aplicativos Android Nativos com C#
Construindo Aplicativos Android Nativos com C#Construindo Aplicativos Android Nativos com C#
Construindo Aplicativos Android Nativos com C#William S. Rodriguez
 
Desenvolvimento de aplicações para dispositivos móveis módulo i - aula 2
Desenvolvimento de aplicações para dispositivos móveis   módulo i - aula 2Desenvolvimento de aplicações para dispositivos móveis   módulo i - aula 2
Desenvolvimento de aplicações para dispositivos móveis módulo i - aula 2Carlos Eugenio Torres
 
Computacao Movel e Sem Fio
Computacao Movel e Sem FioComputacao Movel e Sem Fio
Computacao Movel e Sem FioDouglas Frari
 
Desenvolvimento de Aplicações para Android em C# com o MonoDroid
Desenvolvimento de Aplicações para Android em C# com o MonoDroidDesenvolvimento de Aplicações para Android em C# com o MonoDroid
Desenvolvimento de Aplicações para Android em C# com o MonoDroidBruno Pires
 
Desenvolvimento de Aplicações para Android em C# com o MonoDroid
Desenvolvimento de Aplicações para Android em C# com o MonoDroidDesenvolvimento de Aplicações para Android em C# com o MonoDroid
Desenvolvimento de Aplicações para Android em C# com o MonoDroidComunidade NetPonto
 
Netduino e .NET Micro Framework
Netduino e .NET Micro FrameworkNetduino e .NET Micro Framework
Netduino e .NET Micro FrameworkIgor Kondrasovas
 
[iv festival games for change américa latina] oficina pt. 2
[iv festival games for change américa latina] oficina pt. 2[iv festival games for change américa latina] oficina pt. 2
[iv festival games for change américa latina] oficina pt. 2Victor Hugo Batista
 
OpenDevice IoT - 2016 (LowLevel)
OpenDevice IoT - 2016 (LowLevel)OpenDevice IoT - 2016 (LowLevel)
OpenDevice IoT - 2016 (LowLevel)Ricardo Rufino
 
Arquitetura de Microservicos
Arquitetura de MicroservicosArquitetura de Microservicos
Arquitetura de MicroservicosNorberto Enomoto
 
Tendências e Oportunidades - Robótica
Tendências e Oportunidades - RobóticaTendências e Oportunidades - Robótica
Tendências e Oportunidades - RobóticaLaboratorium
 
Programe a STM32L4 Discovery kit IoT node com ARM mbed
Programe a STM32L4 Discovery kit IoT node com ARM mbedPrograme a STM32L4 Discovery kit IoT node com ARM mbed
Programe a STM32L4 Discovery kit IoT node com ARM mbedFabio Souza
 

Similaire à Introdução a Model Based User Interface Design (20)

O Mundo Wireless
O Mundo WirelessO Mundo Wireless
O Mundo Wireless
 
Retorno do Investimento em Usabilidade
Retorno do Investimento em UsabilidadeRetorno do Investimento em Usabilidade
Retorno do Investimento em Usabilidade
 
Aula1 dia 22 02 2022.pdf
Aula1  dia 22 02 2022.pdfAula1  dia 22 02 2022.pdf
Aula1 dia 22 02 2022.pdf
 
Desenvolvimento de Aplicações Móveis em Java - Parte 1
Desenvolvimento de Aplicações Móveis em Java - Parte 1Desenvolvimento de Aplicações Móveis em Java - Parte 1
Desenvolvimento de Aplicações Móveis em Java - Parte 1
 
Low code
Low codeLow code
Low code
 
Construindo Aplicativos Android Nativos com C#
Construindo Aplicativos Android Nativos com C#Construindo Aplicativos Android Nativos com C#
Construindo Aplicativos Android Nativos com C#
 
Desenvolvimento de aplicações para dispositivos móveis módulo i - aula 2
Desenvolvimento de aplicações para dispositivos móveis   módulo i - aula 2Desenvolvimento de aplicações para dispositivos móveis   módulo i - aula 2
Desenvolvimento de aplicações para dispositivos móveis módulo i - aula 2
 
InfraGUIBuilder
InfraGUIBuilderInfraGUIBuilder
InfraGUIBuilder
 
Computacao Movel e Sem Fio
Computacao Movel e Sem FioComputacao Movel e Sem Fio
Computacao Movel e Sem Fio
 
Interop
InteropInterop
Interop
 
Desenvolvimento de Aplicações para Android em C# com o MonoDroid
Desenvolvimento de Aplicações para Android em C# com o MonoDroidDesenvolvimento de Aplicações para Android em C# com o MonoDroid
Desenvolvimento de Aplicações para Android em C# com o MonoDroid
 
Desenvolvimento de Aplicações para Android em C# com o MonoDroid
Desenvolvimento de Aplicações para Android em C# com o MonoDroidDesenvolvimento de Aplicações para Android em C# com o MonoDroid
Desenvolvimento de Aplicações para Android em C# com o MonoDroid
 
Netduino e .NET Micro Framework
Netduino e .NET Micro FrameworkNetduino e .NET Micro Framework
Netduino e .NET Micro Framework
 
[iv festival games for change américa latina] oficina pt. 2
[iv festival games for change américa latina] oficina pt. 2[iv festival games for change américa latina] oficina pt. 2
[iv festival games for change américa latina] oficina pt. 2
 
OpenDevice IoT - 2016 (LowLevel)
OpenDevice IoT - 2016 (LowLevel)OpenDevice IoT - 2016 (LowLevel)
OpenDevice IoT - 2016 (LowLevel)
 
Arquitetura de Microservicos
Arquitetura de MicroservicosArquitetura de Microservicos
Arquitetura de Microservicos
 
Software
SoftwareSoftware
Software
 
Tendências e Oportunidades - Robótica
Tendências e Oportunidades - RobóticaTendências e Oportunidades - Robótica
Tendências e Oportunidades - Robótica
 
Introdução C#
Introdução C#Introdução C#
Introdução C#
 
Programe a STM32L4 Discovery kit IoT node com ARM mbed
Programe a STM32L4 Discovery kit IoT node com ARM mbedPrograme a STM32L4 Discovery kit IoT node com ARM mbed
Programe a STM32L4 Discovery kit IoT node com ARM mbed
 

Plus de Rômulo Jales

Conhecimentos básicos para construir um portal que atenda 10milhões de pesoas
Conhecimentos básicos para construir um portal que atenda 10milhões de pesoasConhecimentos básicos para construir um portal que atenda 10milhões de pesoas
Conhecimentos básicos para construir um portal que atenda 10milhões de pesoasRômulo Jales
 
Construindo sua primeira ontologia
Construindo sua primeira ontologiaConstruindo sua primeira ontologia
Construindo sua primeira ontologiaRômulo Jales
 
Usando Django para servir 12 milhões de usuários
Usando Django para servir 12 milhões de usuáriosUsando Django para servir 12 milhões de usuários
Usando Django para servir 12 milhões de usuáriosRômulo Jales
 
Uma implementação de suporte a
Uma implementação de suporte a Uma implementação de suporte a
Uma implementação de suporte a Rômulo Jales
 
DKMS ­ Dynamic Kernel Module Support
DKMS ­ Dynamic Kernel Module SupportDKMS ­ Dynamic Kernel Module Support
DKMS ­ Dynamic Kernel Module SupportRômulo Jales
 
IMPLEMENTAÇÃO DO UNIVERSEAL HOST CONTROLLER INTERFACE (UHCI) PARA O MEMTE...
IMPLEMENTAÇÃO DO UNIVERSEAL  HOST CONTROLLER INTERFACE    (UHCI) PARA O MEMTE...IMPLEMENTAÇÃO DO UNIVERSEAL  HOST CONTROLLER INTERFACE    (UHCI) PARA O MEMTE...
IMPLEMENTAÇÃO DO UNIVERSEAL HOST CONTROLLER INTERFACE (UHCI) PARA O MEMTE...Rômulo Jales
 
Implementação UHCI para Memtest86+
Implementação UHCI para Memtest86+Implementação UHCI para Memtest86+
Implementação UHCI para Memtest86+Rômulo Jales
 

Plus de Rômulo Jales (10)

Conhecimentos básicos para construir um portal que atenda 10milhões de pesoas
Conhecimentos básicos para construir um portal que atenda 10milhões de pesoasConhecimentos básicos para construir um portal que atenda 10milhões de pesoas
Conhecimentos básicos para construir um portal que atenda 10milhões de pesoas
 
Construindo sua primeira ontologia
Construindo sua primeira ontologiaConstruindo sua primeira ontologia
Construindo sua primeira ontologia
 
Bridge GoF Patern
Bridge GoF PaternBridge GoF Patern
Bridge GoF Patern
 
Usando Django para servir 12 milhões de usuários
Usando Django para servir 12 milhões de usuáriosUsando Django para servir 12 milhões de usuários
Usando Django para servir 12 milhões de usuários
 
Uma implementação de suporte a
Uma implementação de suporte a Uma implementação de suporte a
Uma implementação de suporte a
 
Implementação de
Implementação de Implementação de
Implementação de
 
Seminario pic
Seminario picSeminario pic
Seminario pic
 
DKMS ­ Dynamic Kernel Module Support
DKMS ­ Dynamic Kernel Module SupportDKMS ­ Dynamic Kernel Module Support
DKMS ­ Dynamic Kernel Module Support
 
IMPLEMENTAÇÃO DO UNIVERSEAL HOST CONTROLLER INTERFACE (UHCI) PARA O MEMTE...
IMPLEMENTAÇÃO DO UNIVERSEAL  HOST CONTROLLER INTERFACE    (UHCI) PARA O MEMTE...IMPLEMENTAÇÃO DO UNIVERSEAL  HOST CONTROLLER INTERFACE    (UHCI) PARA O MEMTE...
IMPLEMENTAÇÃO DO UNIVERSEAL HOST CONTROLLER INTERFACE (UHCI) PARA O MEMTE...
 
Implementação UHCI para Memtest86+
Implementação UHCI para Memtest86+Implementação UHCI para Memtest86+
Implementação UHCI para Memtest86+
 

Introdução a Model Based User Interface Design

  • 1. Introdução  à  M[B,D]-­‐UID   Rômulo  Jales   <romulo@romulojales.com>  
  • 2. Model-­‐based/driven  design/ development  of  user  interfaces   ...ufa  
  • 3. 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..  ?  
  • 4. 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!    
  • 6. M[B,D]-­‐UID   •  Desenvolvimento  das  interfaces  do  sistema   para  possibilitar  a  conclusão  efeWva  segundo  a   IHC  de  uma  tarefa  pelo  usuário  
  • 7. MB-­‐UID   Model-­‐Based  User  Interface   Development  
  • 8. MB-­‐UID   •  Re-­‐uso  de  modelos   •  Uma  abordagem  parecida  com  OO  
  • 9. 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.  
  • 10. 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)  
  • 11. 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.    
  • 12. 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...  
  • 13. 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.    
  • 14. +  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  
  • 15. 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  
  • 16. MD-­‐UID   Model  Driven  User  Interface   Development  
  • 17. 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.      
  • 18. 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    
  • 19. MD-­‐UID   •  Diferentes  linguagens  de  modelagem  para   cada  stakeholder     •  Separação  do  design  do  dado  a  ser  exibido  
  • 20. 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.    
  • 21. Próximos    Trabalhos     •  Estudar  +   •  Aprofundar  nos  metas  modelos  da  IHC  para  o   MDA  (MDD)