SlideShare uma empresa Scribd logo
1 de 21
Baixar para ler offline
DESENVOLVENDO INTERFACES                 DE
USUÁRIO MULTIPLATAFORMAS
UTILIZANDO MDA

Macilon C.Neto – macilon@ufac.br
Alessandro Souza – ajdsouza@cefetrn.br
Renato Lavôr – renato@ppgsc.ufrn.br
Carlos Silva – brenokcc@yahoo.com.br
Jair Leite – jair@dimap.ufrn.br
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                     Software
     Processadores              Sistemas Op.
     Teclado                    APIs
     Telas                      Ling. de programação

                                                       3
PROBLEMA PRÁTICO
   Desenvolvimento de um sistema para agências
    bancárias




                            Atendimento WEB


           Terminal de
         Auto-atendimento                     Atendimento Mobile


                                                                   4
SOLUÇÕES DO MERCADO

              Solução                                Comentários
   Desenvolver diferentes versões do       Aumenta os custos de desenvolvimento
               sistema

Linguagens para múltiplas plataformas ou       Não garante adaptabilidade das
           baseada na WEB                   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 preta                          6
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

         Ambientes de
         Modelagem
                                                         Modelos
                             Modelo
                                                         Concretos
                             Abstrato

                                        Transformações




           <imml>
           <domain-modelo>
           ...
           </domain-
           modelo>
           </imml>
                                                         Transformações
          Linguagens de
          Definição de UI




                                                                     8
                                           Código
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



           Transformações M2M          Transformações M2M


    CIM                         PIM                         PSM



                                                                  Transformação
                                                                  M2T


                                      Code
                                                                         10
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
    Quais problemas                         O que eu faço?
       resolver?
                                            Como eu faço?
    Como podem ser
      resolvidos?




                                                             11
         Designer
         Modelo pretendido                     Usuário
                                       Modelo percebido
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
                                                              12
       Modelo de Comunicação
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
                                Translate

       Entrada
                                 SourceLanguage:

           Idioma de origem          SourceTerm:

                                  TargetLanguage:
           Termo de origem
                                                      Process
           Idioma pretendido
                                            TargetTerm: _____________

       Saída
           Termo traduzido



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

      CIM                    PIM




                                     17
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
                                                                   20
    modelagem
PERGUNTAS?

DESENVOLVENDO INTERFACES                 DE
USUÁRIO MULTIPLATAFORMAS
UTILIZANDO MDA

Macilon C.Neto – macilon@ufac.br
Alessandro Souza – ajdsouza@cefetrn.br
Renato Lavôr – renato@ppgsc.ufrn.br
Carlos Silva – brenokcc@yahoo.com.br
Jair Leite – jair@dimap.ufrn.br

Mais conteúdo relacionado

Mais procurados

Padrão Arquitetural MVC e suas aplicações para WEB
Padrão Arquitetural MVC e suas aplicações para WEBPadrão Arquitetural MVC e suas aplicações para WEB
Padrão Arquitetural MVC e suas aplicações para WEBRafael França
 
Modelagem Arquitetural e Visão 4+1
Modelagem Arquitetural e Visão 4+1Modelagem Arquitetural e Visão 4+1
Modelagem Arquitetural e Visão 4+1Adriano Tavares
 
Paper NOVL - Naked Objects View Language- InfoBrasil 2012
Paper NOVL - Naked Objects View Language- InfoBrasil 2012Paper NOVL - Naked Objects View Language- InfoBrasil 2012
Paper NOVL - Naked Objects View Language- InfoBrasil 2012Marcius Brandão
 
TDC2016POA | Trilha Arquetetura - Revitalizando aplicações desktop usando Ce...
TDC2016POA | Trilha Arquetetura -  Revitalizando aplicações desktop usando Ce...TDC2016POA | Trilha Arquetetura -  Revitalizando aplicações desktop usando Ce...
TDC2016POA | Trilha Arquetetura - Revitalizando aplicações desktop usando Ce...tdc-globalcode
 
Padrões Arquiteturais de Sistemas
Padrões Arquiteturais de SistemasPadrões Arquiteturais de Sistemas
Padrões Arquiteturais de SistemasVagner Santana
 
Padroes de projetos gof
Padroes de projetos gofPadroes de projetos gof
Padroes de projetos gofYan Justino
 
Geracao Automatica Assistida Iu Marcelo Mrack
Geracao Automatica Assistida Iu Marcelo MrackGeracao Automatica Assistida Iu Marcelo Mrack
Geracao Automatica Assistida Iu Marcelo MrackMarcelo Mrack
 
Introdução a arquitetura de sistemas com .NET
Introdução a arquitetura de sistemas com .NETIntrodução a arquitetura de sistemas com .NET
Introdução a arquitetura de sistemas com .NETMário Meyrelles
 
Eng.ª do Software - 7. Desenho arquitectónico
Eng.ª do Software - 7. Desenho arquitectónicoEng.ª do Software - 7. Desenho arquitectónico
Eng.ª do Software - 7. Desenho arquitectónicoManuel Menezes de Sequeira
 
A importância da arquitetura de software
A importância da arquitetura de softwareA importância da arquitetura de software
A importância da arquitetura de softwareAdriano Tavares
 
Padrões de Projeto: Adapter
Padrões de Projeto: AdapterPadrões de Projeto: Adapter
Padrões de Projeto: AdapterMessias Batista
 
Padrão de Projeto - Adapter
Padrão de Projeto - AdapterPadrão de Projeto - Adapter
Padrão de Projeto - AdapterJuliana Cindra
 
Padrões Arquiteturais - MVC, MVP e MVVM
Padrões Arquiteturais - MVC, MVP e MVVMPadrões Arquiteturais - MVC, MVP e MVVM
Padrões Arquiteturais - MVC, MVP e MVVMAricelio Souza
 
Arquitetura de Software Visão Geral
Arquitetura de Software Visão GeralArquitetura de Software Visão Geral
Arquitetura de Software Visão Geralsergiocrespo
 

Mais procurados (20)

Padrão Arquitetural MVC e suas aplicações para WEB
Padrão Arquitetural MVC e suas aplicações para WEBPadrão Arquitetural MVC e suas aplicações para WEB
Padrão Arquitetural MVC e suas aplicações para WEB
 
Modelagem Arquitetural e Visão 4+1
Modelagem Arquitetural e Visão 4+1Modelagem Arquitetural e Visão 4+1
Modelagem Arquitetural e Visão 4+1
 
Paper NOVL - Naked Objects View Language- InfoBrasil 2012
Paper NOVL - Naked Objects View Language- InfoBrasil 2012Paper NOVL - Naked Objects View Language- InfoBrasil 2012
Paper NOVL - Naked Objects View Language- InfoBrasil 2012
 
TDC2016POA | Trilha Arquetetura - Revitalizando aplicações desktop usando Ce...
TDC2016POA | Trilha Arquetetura -  Revitalizando aplicações desktop usando Ce...TDC2016POA | Trilha Arquetetura -  Revitalizando aplicações desktop usando Ce...
TDC2016POA | Trilha Arquetetura - Revitalizando aplicações desktop usando Ce...
 
Padrões Arquiteturais de Sistemas
Padrões Arquiteturais de SistemasPadrões Arquiteturais de Sistemas
Padrões Arquiteturais de Sistemas
 
Padroes de projetos gof
Padroes de projetos gofPadroes de projetos gof
Padroes de projetos gof
 
Ferramentas Case - fase de análise e projeto
Ferramentas Case - fase de análise e projetoFerramentas Case - fase de análise e projeto
Ferramentas Case - fase de análise e projeto
 
Geracao Automatica Assistida Iu Marcelo Mrack
Geracao Automatica Assistida Iu Marcelo MrackGeracao Automatica Assistida Iu Marcelo Mrack
Geracao Automatica Assistida Iu Marcelo Mrack
 
Linguagem da programação
Linguagem da programaçãoLinguagem da programação
Linguagem da programação
 
Introdução a arquitetura de sistemas com .NET
Introdução a arquitetura de sistemas com .NETIntrodução a arquitetura de sistemas com .NET
Introdução a arquitetura de sistemas com .NET
 
Eng.ª do Software - 7. Desenho arquitectónico
Eng.ª do Software - 7. Desenho arquitectónicoEng.ª do Software - 7. Desenho arquitectónico
Eng.ª do Software - 7. Desenho arquitectónico
 
UML
UMLUML
UML
 
Aula 8 Modelagem de Dados
Aula 8 Modelagem de DadosAula 8 Modelagem de Dados
Aula 8 Modelagem de Dados
 
A importância da arquitetura de software
A importância da arquitetura de softwareA importância da arquitetura de software
A importância da arquitetura de software
 
Padrões de Projeto: Adapter
Padrões de Projeto: AdapterPadrões de Projeto: Adapter
Padrões de Projeto: Adapter
 
Padrão de Projeto - Adapter
Padrão de Projeto - AdapterPadrão de Projeto - Adapter
Padrão de Projeto - Adapter
 
Padrões Arquiteturais - MVC, MVP e MVVM
Padrões Arquiteturais - MVC, MVP e MVVMPadrões Arquiteturais - MVC, MVP e MVVM
Padrões Arquiteturais - MVC, MVP e MVVM
 
Arquitetura de Software Visão Geral
Arquitetura de Software Visão GeralArquitetura de Software Visão Geral
Arquitetura de Software Visão Geral
 
Eng.ª do Software - 6. Gestão de projectos
Eng.ª do Software - 6. Gestão de projectosEng.ª do Software - 6. Gestão de projectos
Eng.ª do Software - 6. Gestão de projectos
 
Eng.ª do Software - 4. Processos de software
Eng.ª do Software - 4. Processos de softwareEng.ª do Software - 4. Processos de software
Eng.ª do Software - 4. Processos de software
 

Destaque

Apresentação - Cache / Snippets - Ratts Comunicação
Apresentação - Cache / Snippets - Ratts ComunicaçãoApresentação - Cache / Snippets - Ratts Comunicação
Apresentação - Cache / Snippets - Ratts ComunicaçãoAllyson Barros
 
Material - Play! Framework - UERN - Aula 01
Material - Play! Framework - UERN - Aula 01Material - Play! Framework - UERN - Aula 01
Material - Play! Framework - UERN - Aula 01Allyson Barros
 
Apresentação - SUAP - CNAT 13/05/2016
Apresentação - SUAP - CNAT 13/05/2016Apresentação - SUAP - CNAT 13/05/2016
Apresentação - SUAP - CNAT 13/05/2016Allyson Barros
 
POTIGOLCODE: AMBIENTE DE APOIO AO ENSINO DE LÓGICA DE PROGRAMAÇÃO ATRAVÉS DA...
 POTIGOLCODE: AMBIENTE DE APOIO AO ENSINO DE LÓGICA DE PROGRAMAÇÃO ATRAVÉS DA... POTIGOLCODE: AMBIENTE DE APOIO AO ENSINO DE LÓGICA DE PROGRAMAÇÃO ATRAVÉS DA...
POTIGOLCODE: AMBIENTE DE APOIO AO ENSINO DE LÓGICA DE PROGRAMAÇÃO ATRAVÉS DA...Allyson Barros
 
SUAP: Caso de Sucesso utilizando Python e Django no Serviço Público Federal
SUAP: Caso de Sucesso utilizando Python e Django no Serviço Público FederalSUAP: Caso de Sucesso utilizando Python e Django no Serviço Público Federal
SUAP: Caso de Sucesso utilizando Python e Django no Serviço Público FederalAllyson Barros
 
POTIGOLCODE: AMBIENTE DE APOIO AO ENSINO DE LÓGICA DE PROGRAMAÇÃO ATRAVÉS...
POTIGOLCODE: AMBIENTE DE APOIO AO ENSINO DE LÓGICA DE PROGRAMAÇÃO ATRAVÉS...POTIGOLCODE: AMBIENTE DE APOIO AO ENSINO DE LÓGICA DE PROGRAMAÇÃO ATRAVÉS...
POTIGOLCODE: AMBIENTE DE APOIO AO ENSINO DE LÓGICA DE PROGRAMAÇÃO ATRAVÉS...Allyson Barros
 
Play Framework - Desenvolvendo Aplicações Web com Java sem Dor
Play Framework - Desenvolvendo Aplicações Web com Java sem DorPlay Framework - Desenvolvendo Aplicações Web com Java sem Dor
Play Framework - Desenvolvendo Aplicações Web com Java sem DorAllyson Barros
 

Destaque (7)

Apresentação - Cache / Snippets - Ratts Comunicação
Apresentação - Cache / Snippets - Ratts ComunicaçãoApresentação - Cache / Snippets - Ratts Comunicação
Apresentação - Cache / Snippets - Ratts Comunicação
 
Material - Play! Framework - UERN - Aula 01
Material - Play! Framework - UERN - Aula 01Material - Play! Framework - UERN - Aula 01
Material - Play! Framework - UERN - Aula 01
 
Apresentação - SUAP - CNAT 13/05/2016
Apresentação - SUAP - CNAT 13/05/2016Apresentação - SUAP - CNAT 13/05/2016
Apresentação - SUAP - CNAT 13/05/2016
 
POTIGOLCODE: AMBIENTE DE APOIO AO ENSINO DE LÓGICA DE PROGRAMAÇÃO ATRAVÉS DA...
 POTIGOLCODE: AMBIENTE DE APOIO AO ENSINO DE LÓGICA DE PROGRAMAÇÃO ATRAVÉS DA... POTIGOLCODE: AMBIENTE DE APOIO AO ENSINO DE LÓGICA DE PROGRAMAÇÃO ATRAVÉS DA...
POTIGOLCODE: AMBIENTE DE APOIO AO ENSINO DE LÓGICA DE PROGRAMAÇÃO ATRAVÉS DA...
 
SUAP: Caso de Sucesso utilizando Python e Django no Serviço Público Federal
SUAP: Caso de Sucesso utilizando Python e Django no Serviço Público FederalSUAP: Caso de Sucesso utilizando Python e Django no Serviço Público Federal
SUAP: Caso de Sucesso utilizando Python e Django no Serviço Público Federal
 
POTIGOLCODE: AMBIENTE DE APOIO AO ENSINO DE LÓGICA DE PROGRAMAÇÃO ATRAVÉS...
POTIGOLCODE: AMBIENTE DE APOIO AO ENSINO DE LÓGICA DE PROGRAMAÇÃO ATRAVÉS...POTIGOLCODE: AMBIENTE DE APOIO AO ENSINO DE LÓGICA DE PROGRAMAÇÃO ATRAVÉS...
POTIGOLCODE: AMBIENTE DE APOIO AO ENSINO DE LÓGICA DE PROGRAMAÇÃO ATRAVÉS...
 
Play Framework - Desenvolvendo Aplicações Web com Java sem Dor
Play Framework - Desenvolvendo Aplicações Web com Java sem DorPlay Framework - Desenvolvendo Aplicações Web com Java sem Dor
Play Framework - Desenvolvendo Aplicações Web com Java sem Dor
 

Semelhante a Desenvolvendo interfaces multiplataformas com MDA

Encontro no .NET Architects - Application Architecture Guide (AppArchGuide)
Encontro no .NET Architects - Application Architecture Guide (AppArchGuide)Encontro no .NET Architects - Application Architecture Guide (AppArchGuide)
Encontro no .NET Architects - Application Architecture Guide (AppArchGuide)Luciano Condé
 
TDC2016SP Trilha Arquitetura.NET - Revitalizando aplicações desktop usando C...
TDC2016SP  Trilha Arquitetura.NET - Revitalizando aplicações desktop usando C...TDC2016SP  Trilha Arquitetura.NET - Revitalizando aplicações desktop usando C...
TDC2016SP Trilha Arquitetura.NET - Revitalizando aplicações desktop usando C...Marcelo Palladino
 
Programação orientada à objetos & mvc
Programação orientada à objetos & mvcProgramação orientada à objetos & mvc
Programação orientada à objetos & mvcJhordam Siqueira
 
Processo de Desenvolvimento MDA: metodologias e agilidade
Processo de Desenvolvimento MDA: metodologias e agilidadeProcesso de Desenvolvimento MDA: metodologias e agilidade
Processo de Desenvolvimento MDA: metodologias e agilidadeLuiz Matos
 
Qualificação Mestrado
Qualificação MestradoQualificação Mestrado
Qualificação MestradoFilipe Grillo
 
Middleware Reflexivo
Middleware ReflexivoMiddleware Reflexivo
Middleware Reflexivoelliando dias
 
Frameworks de desenvolvimento web
Frameworks de desenvolvimento webFrameworks de desenvolvimento web
Frameworks de desenvolvimento webArlindo Santos
 
Model Driven RichUbi - A Model-Driven Process to Construct Rich Interfaces fo...
Model Driven RichUbi - A Model-Driven Process to Construct Rich Interfaces fo...Model Driven RichUbi - A Model-Driven Process to Construct Rich Interfaces fo...
Model Driven RichUbi - A Model-Driven Process to Construct Rich Interfaces fo...Luciana Zaina
 
01 - Introdução a programação para internet v1.1
01 - Introdução a programação para internet v1.101 - Introdução a programação para internet v1.1
01 - Introdução a programação para internet v1.1César Augusto Pessôa
 
Desenvolvimento de Aplicações com Visual Studio
Desenvolvimento de Aplicações com Visual StudioDesenvolvimento de Aplicações com Visual Studio
Desenvolvimento de Aplicações com Visual StudioGeovani Ferreira Gonçalves
 
ARQUITETURAS PERFEITAS E O PORQUÊ SEU PROJETO NASCEU FALIDO
ARQUITETURAS PERFEITAS E O PORQUÊ SEU PROJETO NASCEU FALIDOARQUITETURAS PERFEITAS E O PORQUÊ SEU PROJETO NASCEU FALIDO
ARQUITETURAS PERFEITAS E O PORQUÊ SEU PROJETO NASCEU FALIDOYan Justino
 
Mq conceitos melhores_praticas
Mq conceitos melhores_praticasMq conceitos melhores_praticas
Mq conceitos melhores_praticasMoisesInacio
 
Tecnologia badeada e MKicrofrontEnd e dotnet core
Tecnologia badeada e MKicrofrontEnd e dotnet coreTecnologia badeada e MKicrofrontEnd e dotnet core
Tecnologia badeada e MKicrofrontEnd e dotnet coreAlexandroAlves13
 

Semelhante a Desenvolvendo interfaces multiplataformas com MDA (20)

Padrão mvc
Padrão mvcPadrão mvc
Padrão mvc
 
Encontro no .NET Architects - Application Architecture Guide (AppArchGuide)
Encontro no .NET Architects - Application Architecture Guide (AppArchGuide)Encontro no .NET Architects - Application Architecture Guide (AppArchGuide)
Encontro no .NET Architects - Application Architecture Guide (AppArchGuide)
 
InfraGUIBuilder
InfraGUIBuilderInfraGUIBuilder
InfraGUIBuilder
 
Introdução C#
Introdução C#Introdução C#
Introdução C#
 
DDD - Domain Driven Design
DDD - Domain Driven DesignDDD - Domain Driven Design
DDD - Domain Driven Design
 
TDC2016SP Trilha Arquitetura.NET - Revitalizando aplicações desktop usando C...
TDC2016SP  Trilha Arquitetura.NET - Revitalizando aplicações desktop usando C...TDC2016SP  Trilha Arquitetura.NET - Revitalizando aplicações desktop usando C...
TDC2016SP Trilha Arquitetura.NET - Revitalizando aplicações desktop usando C...
 
Corbawebserves
CorbawebservesCorbawebserves
Corbawebserves
 
Programação orientada à objetos & mvc
Programação orientada à objetos & mvcProgramação orientada à objetos & mvc
Programação orientada à objetos & mvc
 
Processo de Desenvolvimento MDA: metodologias e agilidade
Processo de Desenvolvimento MDA: metodologias e agilidadeProcesso de Desenvolvimento MDA: metodologias e agilidade
Processo de Desenvolvimento MDA: metodologias e agilidade
 
Qualificação Mestrado
Qualificação MestradoQualificação Mestrado
Qualificação Mestrado
 
Middleware Reflexivo
Middleware ReflexivoMiddleware Reflexivo
Middleware Reflexivo
 
Frameworks de desenvolvimento web
Frameworks de desenvolvimento webFrameworks de desenvolvimento web
Frameworks de desenvolvimento web
 
Model Driven RichUbi - A Model-Driven Process to Construct Rich Interfaces fo...
Model Driven RichUbi - A Model-Driven Process to Construct Rich Interfaces fo...Model Driven RichUbi - A Model-Driven Process to Construct Rich Interfaces fo...
Model Driven RichUbi - A Model-Driven Process to Construct Rich Interfaces fo...
 
01 - Introdução a programação para internet v1.1
01 - Introdução a programação para internet v1.101 - Introdução a programação para internet v1.1
01 - Introdução a programação para internet v1.1
 
Domain-Driven Design
Domain-Driven DesignDomain-Driven Design
Domain-Driven Design
 
Desenvolvimento de Aplicações com Visual Studio
Desenvolvimento de Aplicações com Visual StudioDesenvolvimento de Aplicações com Visual Studio
Desenvolvimento de Aplicações com Visual Studio
 
DotNet vs. Java
DotNet vs. JavaDotNet vs. Java
DotNet vs. Java
 
ARQUITETURAS PERFEITAS E O PORQUÊ SEU PROJETO NASCEU FALIDO
ARQUITETURAS PERFEITAS E O PORQUÊ SEU PROJETO NASCEU FALIDOARQUITETURAS PERFEITAS E O PORQUÊ SEU PROJETO NASCEU FALIDO
ARQUITETURAS PERFEITAS E O PORQUÊ SEU PROJETO NASCEU FALIDO
 
Mq conceitos melhores_praticas
Mq conceitos melhores_praticasMq conceitos melhores_praticas
Mq conceitos melhores_praticas
 
Tecnologia badeada e MKicrofrontEnd e dotnet core
Tecnologia badeada e MKicrofrontEnd e dotnet coreTecnologia badeada e MKicrofrontEnd e dotnet core
Tecnologia badeada e MKicrofrontEnd e dotnet core
 

Mais de Interaction Design Association Chapter São Paulo

Mais de Interaction Design Association Chapter São Paulo (14)

All Work And No Play: What You can Learn from Game Design
All Work And No Play: What You can Learn from Game DesignAll Work And No Play: What You can Learn from Game Design
All Work And No Play: What You can Learn from Game Design
 
Uma casa no controle da TV: Desenvolvimento de um programa para TV Digital pa...
Uma casa no controle da TV: Desenvolvimento de um programa para TV Digital pa...Uma casa no controle da TV: Desenvolvimento de um programa para TV Digital pa...
Uma casa no controle da TV: Desenvolvimento de um programa para TV Digital pa...
 
TV Digital: Usuário ou Telespectador Televisivo?
TV Digital: Usuário ou Telespectador Televisivo?TV Digital: Usuário ou Telespectador Televisivo?
TV Digital: Usuário ou Telespectador Televisivo?
 
Avaliação do site “Cocoricó” com crianças em idade pré-escolar
Avaliação do site “Cocoricó” com crianças em idade pré-escolarAvaliação do site “Cocoricó” com crianças em idade pré-escolar
Avaliação do site “Cocoricó” com crianças em idade pré-escolar
 
Iniciativa De Design Instrucional Em Uma Instituição De Ensino Superior
Iniciativa De Design Instrucional Em Uma  Instituição De Ensino SuperiorIniciativa De Design Instrucional Em Uma  Instituição De Ensino Superior
Iniciativa De Design Instrucional Em Uma Instituição De Ensino Superior
 
M-cube: A Visualization Tool For Multi Dimensional
M-cube: A Visualization Tool For Multi DimensionalM-cube: A Visualization Tool For Multi Dimensional
M-cube: A Visualization Tool For Multi Dimensional
 
Desenvolvimento De Uma Estratégia De Inovação Em Design De Interação
Desenvolvimento De Uma Estratégia De Inovação Em  Design De  InteraçãoDesenvolvimento De Uma Estratégia De Inovação Em  Design De  Interação
Desenvolvimento De Uma Estratégia De Inovação Em Design De Interação
 
Modelo de transcrição da Língua de Sinais Brasileira voltado a implementaçã...
Modelo de transcrição da Língua de  Sinais Brasileira voltado a  implementaçã...Modelo de transcrição da Língua de  Sinais Brasileira voltado a  implementaçã...
Modelo de transcrição da Língua de Sinais Brasileira voltado a implementaçã...
 
Levantamento De Heurísticas Para Avaliação De Interfaces Do
Levantamento De  Heurísticas Para  Avaliação De  Interfaces DoLevantamento De  Heurísticas Para  Avaliação De  Interfaces Do
Levantamento De Heurísticas Para Avaliação De Interfaces Do
 
Programação Voltada Ao Usuário Final Baseada Em Formatação
Programação Voltada Ao Usuário Final Baseada Em FormataçãoProgramação Voltada Ao Usuário Final Baseada Em Formatação
Programação Voltada Ao Usuário Final Baseada Em Formatação
 
Compreendendo Dinamicas De Jogo
Compreendendo  Dinamicas De  JogoCompreendendo  Dinamicas De  Jogo
Compreendendo Dinamicas De Jogo
 
Desenho Participativo De Ícones Para Interfaces Computacionais Voltadas A ...
Desenho Participativo De Ícones Para  Interfaces  Computacionais  Voltadas A ...Desenho Participativo De Ícones Para  Interfaces  Computacionais  Voltadas A ...
Desenho Participativo De Ícones Para Interfaces Computacionais Voltadas A ...
 
A Personalização Como Estratégia Para O Gerenciamento Da Obsolescência De Art...
A Personalização Como Estratégia Para O Gerenciamento Da Obsolescência De Art...A Personalização Como Estratégia Para O Gerenciamento Da Obsolescência De Art...
A Personalização Como Estratégia Para O Gerenciamento Da Obsolescência De Art...
 
Transculturation, Transliteracy And Generative Poetics
Transculturation, Transliteracy And Generative PoeticsTransculturation, Transliteracy And Generative Poetics
Transculturation, Transliteracy And Generative Poetics
 

Desenvolvendo interfaces multiplataformas com MDA

  • 1. DESENVOLVENDO INTERFACES DE USUÁRIO MULTIPLATAFORMAS UTILIZANDO MDA Macilon C.Neto – macilon@ufac.br Alessandro Souza – ajdsouza@cefetrn.br Renato Lavôr – renato@ppgsc.ufrn.br Carlos Silva – brenokcc@yahoo.com.br Jair Leite – jair@dimap.ufrn.br
  • 2. AGENDA  Sistemas para múltiplas plataformas  Desenvolvimento baseado em modelos  Solução proposta com Model-Driven Architecture  Estudo de caso  Considerações finais 2
  • 3. MÚLTIPLAS PLATAFORMAS  A Plataforma operacional de um sistema deve levar em consideração os elementos de hardware de software.  Hardware  Software Processadores Sistemas Op. Teclado APIs Telas Ling. de programação 3
  • 4. PROBLEMA PRÁTICO  Desenvolvimento de um sistema para agências bancárias Atendimento WEB Terminal de Auto-atendimento Atendimento Mobile 4
  • 5. SOLUÇÕES DO MERCADO Solução Comentários Desenvolver diferentes versões do Aumenta os custos de desenvolvimento sistema Linguagens para múltiplas plataformas ou Não garante adaptabilidade das baseada na WEB interfaces ao diferentes tipos de tela 5
  • 6. 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 preta 6
  • 7. 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
  • 8. SOLUÇÕES BASEADA EM MODELOS Ambientes de Modelagem Modelos Modelo Concretos Abstrato Transformações <imml> <domain-modelo> ... </domain- modelo> </imml> Transformações Linguagens de Definição de UI 8 Código
  • 9. MODEL-DRIVEN ARCHITECTURE (MDA)  Conjunto de tecnologias proposto pelo OMG para desenvolvimento baseado em modelos (MDD) 9
  • 10. MODEL-DRIVEN ARCHITECTURE (MDA)  Separação de conceitos arquiteturais Transformações M2M Transformações M2M CIM PIM PSM Transformação M2T Code 10
  • 11. 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 Quais problemas O que eu faço? resolver? Como eu faço? Como podem ser resolvidos? 11 Designer Modelo pretendido Usuário Modelo percebido
  • 12. 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 12  Modelo de Comunicação
  • 14. METAMODELO DO MODELO DE DOMÍNIO (SIMPLIFICADO) 14
  • 15. METAMODELO DO MODELO DE INTERAÇÃO (SIMPLIFICADO) 15
  • 16. ESTUDO DE CASO  Tradutor automático de termos Translate  Entrada SourceLanguage:  Idioma de origem SourceTerm: TargetLanguage:  Termo de origem Process  Idioma pretendido TargetTerm: _____________  Saída  Termo traduzido 16
  • 17. MODELO DE DOMÍNIO E INTERAÇÃO(PIM) CIM PIM 17
  • 18. MODELO SWING E HTML (PSM) 18
  • 20. 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 20 modelagem
  • 21. PERGUNTAS? DESENVOLVENDO INTERFACES DE USUÁRIO MULTIPLATAFORMAS UTILIZANDO MDA Macilon C.Neto – macilon@ufac.br Alessandro Souza – ajdsouza@cefetrn.br Renato Lavôr – renato@ppgsc.ufrn.br Carlos Silva – brenokcc@yahoo.com.br Jair Leite – jair@dimap.ufrn.br