O documento introduz o conceito de Model-Based/Driven User Interface Development (M[B,D]-UID), onde interfaces do usuário são desenvolvidas usando modelos. Aborda os benefícios de abstração, reuso e qualidade, e discute gerações, processos e desafios como a adoção na indústria. Também apresenta um exemplo de sistema de controle de entrada usando esta abordagem.
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!
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
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)