desenvolvendo interfaces de usuário multiplataformas utilizando mda

21
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]

Upload: interaction-design-association-chapter-sao-paulo

Post on 05-Jul-2015

857 views

Category:

Design


3 download

DESCRIPTION

Maicon C. Neto, Alessandro Souza, Renato Lavôr e Jair Leite

TRANSCRIPT

Page 1: Desenvolvendo Interfaces de Usuário Multiplataformas utilizando MDA

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]

Page 2: Desenvolvendo Interfaces de Usuário Multiplataformas utilizando MDA

AGENDA

Sistemas para múltiplas plataformas

Desenvolvimento baseado em modelos

Solução proposta com Model-Driven Architecture

Estudo de caso

Considerações finais

2

Page 3: Desenvolvendo Interfaces de Usuário Multiplataformas utilizando MDA

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

Page 4: Desenvolvendo Interfaces de Usuário Multiplataformas utilizando MDA

PROBLEMA PRÁTICO

Desenvolvimento de um sistema para agências

bancárias

Terminal de

Auto-atendimento

Atendimento WEB

Atendimento Mobile

4

Page 5: Desenvolvendo Interfaces de Usuário Multiplataformas utilizando MDA

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

Page 6: Desenvolvendo Interfaces de Usuário Multiplataformas utilizando MDA

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

Page 7: Desenvolvendo Interfaces de Usuário Multiplataformas utilizando MDA

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

Page 8: Desenvolvendo Interfaces de Usuário Multiplataformas utilizando MDA

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

Page 9: Desenvolvendo Interfaces de Usuário Multiplataformas utilizando MDA

MODEL-DRIVEN ARCHITECTURE (MDA)

Conjunto de tecnologias proposto pelo OMG para

desenvolvimento baseado em modelos (MDD)

9

Page 10: Desenvolvendo Interfaces de Usuário Multiplataformas utilizando MDA

MODEL-DRIVEN ARCHITECTURE (MDA)

Separação de conceitos arquiteturais

CIM PIM PSM

Code

10

Transformações M2M Transformações M2M

Transformação

M2T

Page 11: Desenvolvendo Interfaces de Usuário Multiplataformas utilizando MDA

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

Page 12: Desenvolvendo Interfaces de Usuário Multiplataformas utilizando MDA

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

Page 13: Desenvolvendo Interfaces de Usuário Multiplataformas utilizando MDA

ARQUITETURA E TECNOLOGIAS

13

Page 14: Desenvolvendo Interfaces de Usuário Multiplataformas utilizando MDA

METAMODELO DO MODELO DE DOMÍNIO

(SIMPLIFICADO)

14

Page 15: Desenvolvendo Interfaces de Usuário Multiplataformas utilizando MDA

METAMODELO DO MODELO DE INTERAÇÃO

(SIMPLIFICADO)

15

Page 16: Desenvolvendo Interfaces de Usuário Multiplataformas utilizando MDA

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

Page 17: Desenvolvendo Interfaces de Usuário Multiplataformas utilizando MDA

MODELO DE DOMÍNIO E INTERAÇÃO(PIM)

17

CIM PIM

Page 18: Desenvolvendo Interfaces de Usuário Multiplataformas utilizando MDA

MODELO SWING E HTML (PSM)

18

Page 19: Desenvolvendo Interfaces de Usuário Multiplataformas utilizando MDA

INTERFACES SWING E HTML

19

Page 20: Desenvolvendo Interfaces de Usuário Multiplataformas utilizando MDA

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

Page 21: Desenvolvendo Interfaces de Usuário Multiplataformas utilizando MDA

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?