DESENVOLVENDO INTERFACES DE
USUÁRIO MULTIPLATAFORMAS
UTILIZANDO MDA
Macilon C.Neto – [email protected]
Alessandro Souza – [email protected]
Renato Lavôr – [email protected]
Carlos Silva – [email protected]
Jair Leite – [email protected]
AGENDA
Sistemas para múltiplas plataformas
Desenvolvimento baseado em modelos
Solução proposta com Model-Driven Architecture
Estudo de caso
Considerações finais
2
MÚLTIPLAS PLATAFORMAS
A Plataforma operacional de um sistema deve
levar em consideração os elementos de hardware
de software.
Hardware
Processadores
Teclado
Telas
Software
Sistemas Op.
APIs
Ling. de programação
3
PROBLEMA PRÁTICO
Desenvolvimento de um sistema para agências
bancárias
Terminal de
Auto-atendimento
Atendimento WEB
Atendimento Mobile
4
SOLUÇÕES DO MERCADO
Solução Comentários
Desenvolver diferentes versões do
sistema
Aumenta os custos de desenvolvimento
Linguagens para múltiplas plataformas ou
baseada na WEB
Não garante adaptabilidade das
interfaces ao diferentes tipos de tela
5
SOLUÇÕES BASEADA EM MODELOS
Fornecem uma descrição mais abstrata da IU
Facilitam a criação de métodos para projetar e
implementar IU de uma forma sistemática
possibilitando:
Modelar IU utilizando diferentes níveis de abstração;
Aperfeiçoar os modelos de forma incremental;
Re-utilizar as especificações de IU;
Surgimento de Ambientes de desenvolvimento de
UI (MBUIDE)
Ferramentas estilo caixa preta6
LINGUAGENS DE DESCRIÇÃO DE INTERFACES
DE USUÁRIO (LDIU)
Proporcionou uma evolução para os MBUIDE
Tomaram força com padrão XML
Metalinguagem de descrição de dados
Fácil de estender e totalmente declarativa
Não exige conhecimento de programação
Final da década de 90 surgiram diversas
linguagens
7
SOLUÇÕES BASEADA EM MODELOS
8
Ambientes de
Modelagem
Linguagens de
Definição de UI
<imml><domain-modelo>...</domain-modelo></imml>
Modelo
Abstrato
Transformações
Código
Modelos
Concretos
Transformações
MODEL-DRIVEN ARCHITECTURE (MDA)
Conjunto de tecnologias proposto pelo OMG para
desenvolvimento baseado em modelos (MDD)
9
MODEL-DRIVEN ARCHITECTURE (MDA)
Separação de conceitos arquiteturais
CIM PIM PSM
Code
10
Transformações M2M Transformações M2M
Transformação
M2T
INTERACTIVE MESSAGE MODELING
LANGUAGE (LEITE, 2003)
Linguagem de interface baseada na Eng. Semiótica
Interface como artefato de metacomunicação do
designer para usuário
DesignerUsuário
Quais problemas
resolver?
Como podem ser
resolvidos?
O que eu faço?
Como eu faço?
Modelo pretendidoModelo percebido
11
INTERACTIVE MESSAGE MODELING
LANGUAGE (LEITE, 2003)
Foco na usabilidade
Funcionalidade – Necessidades funcionais do usuário
(O que?)
Interatividade – Caracteriza a facilidade de uso da
aplicação influenciando na produtividade (Como?)
Comunicabilidade – informar ao usuário quais as
funcionalidade e interatividades da aplicação
Recursos oferecidos
Modelo de Domínio
Modelo de Interação
Modelo de Comunicação12
ARQUITETURA E TECNOLOGIAS
13
METAMODELO DO MODELO DE DOMÍNIO
(SIMPLIFICADO)
14
METAMODELO DO MODELO DE INTERAÇÃO
(SIMPLIFICADO)
15
ESTUDO DE CASO
Tradutor automático de
termos
Entrada
Idioma de origem
Termo de origem
Idioma pretendido
Saída
Termo traduzido
Translate
SourceTerm:
SourceLanguage:
TargetLanguage:
Process
TargetTerm: _____________
16
MODELO DE DOMÍNIO E INTERAÇÃO(PIM)
17
CIM PIM
MODELO SWING E HTML (PSM)
18
INTERFACES SWING E HTML
19
CONSIDERAÇÕES FINAIS
Conformidade com o padrão OMG
Integração com a IDE Eclipse
A adoção do padrão MDA permitiu:
Suporte ferramental para construção da solução
Plugins para metamodelagem, transformações M2M 2 M2T
Integração da solução com o mesmo ambiente
Extensão usando plugins para construção dos modelos
Inclusão do modelo de comunicação no processo de modelagem
Construção de uma ferramenta visual para modelagem 20
DESENVOLVENDO INTERFACES DE
USUÁRIO MULTIPLATAFORMAS
UTILIZANDO MDA
Macilon C.Neto – [email protected]
Alessandro Souza – [email protected]
Renato Lavôr – [email protected]
Carlos Silva – [email protected]
Jair Leite – [email protected]
PERGUNTAS?