Índice
Modelo de Arquitectura Técnica ............................................................................................. 3

Mapas de navegação .................................................................................................................... 5

Fluxogramas das principais funções ......................................................................................... 8

Modelo de Base de Dados ......................................................................................................... 12




                                                                     2
Especificação Técnica


Modelo/arquitectura do sistema




                                   Diagrama de Blocos inserido no contexto da Arquitectura de Sistemas




      Todo o sistema no qual a aplicação TouchEat se integra baseia-se em três plataformas
distintas, a designar: a mesa multi touch construída no ano passado pelos elementos do
projecto "DecaTouch", o StandAlone da aplicação e a por último a aplicação web de
backoffice.



                                             3
A mesa multi touch tem como base de construção um setup LLP (laser light plane) em
que se recorre a lasers de infra-vermelhos para identificação de Blops (eventos de toque) que
são captados por uma câmara PlaystationEyetoy, alterada com um filtro de IR.
      No momento que se verifica a interrupção do sinal de infravermelhos, a câmara – em
conjunto com o software de tracking CCV/TBeta - reconhece a descontinuidade dos feixes,
criando os já citados Blops, aos quais é atribuído um identificador.


      A aplicação Stand-alone tem como constituintes dois softwares e um plugin: TBeta/CCV,
FlashCS4 (AS3.0) e ainda o Plugin GestureWorks para o flash. Como já referido a aplicação
CCV faz o tracking dos inputs de toque. O Flash (ferramenta de programação) atribui um
significado a esses mesmos inputs, auxiliado pela biblioteca de gestos GestureWorks, o
terceiro software, que de forma simples e directa permite estabelecer a associação do Blop à
funcionalidade.
      No entanto, importa referir que a triangulação destes três softwares, apesar de se
apresentar como uma solução de fácil aplicação não funciona na sua totalidade. Registam-se
algumas falhas de comunicação entre o CCV e a última versão do GestureWorks, facto que se
tem apresentado como obstáculo à fluidez de trabalho esperado inicialmente.


      Por último, a aplicação web do backoffice tem como principal função a edição (remota e
não local) dos principais conteúdos da aplicação TouchEat. Este backoffice será feito com
recurso às tecnologias de PHP e PhpMyAdmin - gestão de base de dados, de maneira permitir
que qualquer pessoa externa à construção da aplicação (em AS3.0) possa alterar conteúdos da
mesma.


      No diagrama de blocos apresentado regista-se ainda a ligação da aplicação TouchEat à
internet, permitindo a realização de todo o percurso de PHP - Servidor - BD, para registo,
leitura e manipulação de dados.




                                                4
Especificação Técnica

Mapas de navegação

Aplicação:




                                                   Mapa de navegação relativo à Aplicação Touch Eat




       Na aplicação TouchEat apenas haverá um tipo de utilizador (genérico), não havendo
diferenciação de idades, géneros, etc. O mapa de navegação apresentado representa o
percurso que o utilizador comum (ou utilizadores) fazem na aplicação, tal como as escolhas
que fazem parte desse percurso. Importa referir que as escolhas não condicionam o trajecto,
mas sim os conteúdos que posteriormente são apresentados em cada uma das fases.




                                            5
No bloco "Início" apenas será apresentado na mesa o Logótipo do TouchEat. Com
double tap há uma animação de aparecimento da primeira fase do Cardápio e do ícone de
"mais info" do restaurante.

        Neste "mais info" aparecem quatro opções: História, fotos, chefe e imprensa. Na
primeira secção, o cliente pode ler a história do restaurante, na secção de fotos pode visualizar
capturas fotográficas tanto do próprio edifício como de outros momentos marcantes
acontecidos no local, na opção "Chefe" pode ler mais sobre o/os chefes do restaurante
(historial, sítios por onde passou) e na secção de imprensa o utilizador pode consultar artigos
em que o restaurante é referenciado.

        Ainda ao mesmo nível e como referido anteriormente, o cliente pode proceder à
escolha da sua refeição através do cardápio interactivo. Esta fase é constituída por duas etapas:

        - Escolha sobre o tipo de comida (peixe ou carne), tipo de bebida (bebidas genéricas
ou vinhos) e sobremesas.

        - Depois de escolhida a opção anterior, é permitida a especificação da escolha esta
surge como um menu popUp que responde a um evento semelhante ao conhecido OnPress.

        Depois de escolhida a refeição e de esta ser submetida, pelo funcionário do
restaurante - e nunca pelo cliente, toda a aplicação muda para o menu de "Curiosidades",
referido no Mapa de Navegação como "Auto aprendizagem e aprendizagem colaborativa",
sendo estas dois conceitos fundamentais do nosso projecto. Nesta secção o utilizador pode ler
curiosidades sobre os pratos e partilha-la com o seu companheiro.

        Após esta fase de espera onde se pretende promover o diálogo e partilha de
informação é iniciado o menu de refeição.

        Consoante o identificador enviado pela submissão do pedido do Cardápio o ambiente
gráfico da mesa modifica-se: no caso de a escolha ser prato de peixe o ambiente torna-se
marinho, no caso de ser um prato de carne o ambiente mostrará algo relacionado com o prato
(paisagens alentejanas, p.e.). Nesta fase apenas haverá um ícone de ocultação de animação, pois
o grupo compreende que pode não ser agradável, para alguns utilizadores, jantar num
ambiente com animações a decorrer em plano de fundo.

        Quando a refeição terminar e o funcionário retirar os pratos, este dá ordem à mesa
de passagem para a próxima fase através de um botão lateral. Neste momento intermédio são
mostradas opções de sobremesas e cafés, que o utilizador pode escolher com base em
fotografia e informação, tal como acontece no cardápio.


                                                6
Uma vez mais, quando o funcionário retirar as sobremesas acciona a nova fase,
denominada no mapa como "Jogo", onde o utilizador pode jogar com o seu companheiro
enquanto aguarda a vinda do café ou digestivo.

       Finalmente, e mais uma vez após o funcionário dar ordem para a próxima fase surge o
último ambiente, onde o cliente pode classificar e comentar todo o serviço prestado.



BackOffice:


      Relativamente ao backoffice, este foi conceptualizado de forma a permitir a visualização
dos conteúdos previamente existentes na base de dados da aplicação.
      Uma das funcionalidades que importa salientar é a possibilidade de editar o conteúdo já
existente (conteúdo referente aos diversos parâmetros integrados na base de dados), com
intuito de minimizar a ocorrência de comentários, cujo cariz não se adapte ao contexto do
restaurante. Ou por sua vez, contornar a possibilidade de se verificar algum erro aquando da
introdução de novos conteúdos - também realizada no backoffice.




                                                     Mapa de navegação relativo à Aplicação Touch Eat




                                                 7
Especificação Técnica
Fluxogramas das principais funções

       Sendo os fluxogramas uma representação padronizada, pela utilização de símbolos,
definidos da sequência de instruções e processos lógicos de um algoritmo, apresentam claras
vantagens no que toca à sua objectividade, clareza de interpretação e possibilidade de ser
transposto para qualquer linguagem de programação.

       Segundo Manzano e Oliveira, o fluxograma tem como objectivo primordial a
representação de um fluxo de acção de um processo lógico manual ou mecânico.

       Assim o grupo optou por representar, sob a forma de fluxograma, as funções
principais e que pelo mesmo motivo representarão um desafio de implementação futuro. No
entanto, conhecendo a forma como implementar as funções fulcrais da aplicação, possui-se um
importante documento de auxílio na fase de que se aproxima: prototipagem.

       Interessa assim relembrar que o grupo seleccionou as funções que considerou
principais: Percurso percorrido desde que o utilizador entra em contacto com a mesa táctil,
percorrendo a aplicação até validar a encomenda do prato desejado; Período de auto
aprendizagem e aprendizagem colaborativa, no contexto do aparecimento de características
relativas aos pratos que cada utilizador validou como pedido final; Momento final da
experiência da aplicação, nomeadamente o jogo, atribuição de rating ao prato e introdução de
um comentário finalizador em resposta à questão - ”Esta experiência fez-me pensar em…”.
Simbologia segundo a norma ISSO 5807: 1985.




                                      Principal simbologia utilizada em fluxogramas ou diagrama de blocos

                                              8
Fluxograma representativo à escolha de um prato.




                                            9
Fluxograma referente ao momento de auto aprendizagem / aprendizagem colaborativa, em que
surgem na mesa curiosidades relativas ao prato pedido.




                                          10
Fluxograma relativo à acção de atribuir ranking ao prato que consumiu e comentário sobre a
experiência.



                                            11
Especificação Técnica

Modelo da Base de Dados




                                                                Base de dados da aplicação Touch Eat




       A presente base de dados é conceptualizada mediante algumas fases/menus do
projecto Touch eat.
       Antes do pedido ser efectuado, no contexto de restaurante, à recurso a base de dados
para obter o valor das votações atribuidas aos diversos pratos (numa escala de 1-5 estrelas),
pelos clientes que frequentam o restaurante.
       Recorre-se, igualmente, à base-de-dados, referente à informação do Restaurante, com
o objectivo de permitir a visualização de comentários elaborados por cada cliente, que se
encontra disposto a deixar o seu parecer sobre esta nova experiência de lazer e refeição.
       Volta-se a consultar a base-de-dados, na fase final do jogo, em que é guardada a
pontuação, adquirida pela mesa (dentro da corrente sessão), e devolvida a lista das melhores
pontuações da mesma.
       Após o jogo, o cliente pode demonstrar a sua satisfação perante o prato que
consumiu, e escrever a sua própria opinião relacionada com a experiência vivida comentando.

                                               12
Os campos preenchidos, referentes ao rating do prato (valor 1-5), ao nome, local, e
comentário propriamente dito, são guardados na base-de-dados que actualiza, adicionando os
novos dados, os parametros dos comentários do Restaurante e das votações dos Pratos.


        Cada vez que a sessão é iniciada, é atribuido um “id” único relacionado com o“id” da
mesa, na qual se inicia a aplicação, sendo registadas a data e hora corrente e guardadas a
pontuação final e tempo obtido na realização do jogo.
        A sessão, perante os pratos seleccionados na fase do pedido, guarda os “id”s
correspondentes para no final da refeição ser possível proceder à votação a atribuir ao pedido
efectuado. Os valores atribuidos têm “id”s identificativos que permitem a actualização do
rating, atribuído a cada um dos diversos pratos disponíveis no menu.
        Referente aos comentários, guardados por sessão, são registados os seguintes
parâmetros relativos ao cliente: data, local, nome e o comentário em si.


        Os campos preenchidos na aplicação Flash, comunicam através de AS3 com o PHP que
por sua vez ligado a um servidor entra em contacto com a base de dados, actualizando a
informação referente a cada parâmetro.
        Esta actualização é enviada da base-de-dados pelo servidor para o PHP que comunica
com o Flash pelo AS3 e permite a visualização da nova informação, numa nova sessão da
aplicação.




                                              13

Especificação Técnica

  • 2.
    Índice Modelo de ArquitecturaTécnica ............................................................................................. 3 Mapas de navegação .................................................................................................................... 5 Fluxogramas das principais funções ......................................................................................... 8 Modelo de Base de Dados ......................................................................................................... 12 2
  • 3.
    Especificação Técnica Modelo/arquitectura dosistema Diagrama de Blocos inserido no contexto da Arquitectura de Sistemas Todo o sistema no qual a aplicação TouchEat se integra baseia-se em três plataformas distintas, a designar: a mesa multi touch construída no ano passado pelos elementos do projecto "DecaTouch", o StandAlone da aplicação e a por último a aplicação web de backoffice. 3
  • 4.
    A mesa multitouch tem como base de construção um setup LLP (laser light plane) em que se recorre a lasers de infra-vermelhos para identificação de Blops (eventos de toque) que são captados por uma câmara PlaystationEyetoy, alterada com um filtro de IR. No momento que se verifica a interrupção do sinal de infravermelhos, a câmara – em conjunto com o software de tracking CCV/TBeta - reconhece a descontinuidade dos feixes, criando os já citados Blops, aos quais é atribuído um identificador. A aplicação Stand-alone tem como constituintes dois softwares e um plugin: TBeta/CCV, FlashCS4 (AS3.0) e ainda o Plugin GestureWorks para o flash. Como já referido a aplicação CCV faz o tracking dos inputs de toque. O Flash (ferramenta de programação) atribui um significado a esses mesmos inputs, auxiliado pela biblioteca de gestos GestureWorks, o terceiro software, que de forma simples e directa permite estabelecer a associação do Blop à funcionalidade. No entanto, importa referir que a triangulação destes três softwares, apesar de se apresentar como uma solução de fácil aplicação não funciona na sua totalidade. Registam-se algumas falhas de comunicação entre o CCV e a última versão do GestureWorks, facto que se tem apresentado como obstáculo à fluidez de trabalho esperado inicialmente. Por último, a aplicação web do backoffice tem como principal função a edição (remota e não local) dos principais conteúdos da aplicação TouchEat. Este backoffice será feito com recurso às tecnologias de PHP e PhpMyAdmin - gestão de base de dados, de maneira permitir que qualquer pessoa externa à construção da aplicação (em AS3.0) possa alterar conteúdos da mesma. No diagrama de blocos apresentado regista-se ainda a ligação da aplicação TouchEat à internet, permitindo a realização de todo o percurso de PHP - Servidor - BD, para registo, leitura e manipulação de dados. 4
  • 5.
    Especificação Técnica Mapas denavegação Aplicação: Mapa de navegação relativo à Aplicação Touch Eat Na aplicação TouchEat apenas haverá um tipo de utilizador (genérico), não havendo diferenciação de idades, géneros, etc. O mapa de navegação apresentado representa o percurso que o utilizador comum (ou utilizadores) fazem na aplicação, tal como as escolhas que fazem parte desse percurso. Importa referir que as escolhas não condicionam o trajecto, mas sim os conteúdos que posteriormente são apresentados em cada uma das fases. 5
  • 6.
    No bloco "Início"apenas será apresentado na mesa o Logótipo do TouchEat. Com double tap há uma animação de aparecimento da primeira fase do Cardápio e do ícone de "mais info" do restaurante. Neste "mais info" aparecem quatro opções: História, fotos, chefe e imprensa. Na primeira secção, o cliente pode ler a história do restaurante, na secção de fotos pode visualizar capturas fotográficas tanto do próprio edifício como de outros momentos marcantes acontecidos no local, na opção "Chefe" pode ler mais sobre o/os chefes do restaurante (historial, sítios por onde passou) e na secção de imprensa o utilizador pode consultar artigos em que o restaurante é referenciado. Ainda ao mesmo nível e como referido anteriormente, o cliente pode proceder à escolha da sua refeição através do cardápio interactivo. Esta fase é constituída por duas etapas: - Escolha sobre o tipo de comida (peixe ou carne), tipo de bebida (bebidas genéricas ou vinhos) e sobremesas. - Depois de escolhida a opção anterior, é permitida a especificação da escolha esta surge como um menu popUp que responde a um evento semelhante ao conhecido OnPress. Depois de escolhida a refeição e de esta ser submetida, pelo funcionário do restaurante - e nunca pelo cliente, toda a aplicação muda para o menu de "Curiosidades", referido no Mapa de Navegação como "Auto aprendizagem e aprendizagem colaborativa", sendo estas dois conceitos fundamentais do nosso projecto. Nesta secção o utilizador pode ler curiosidades sobre os pratos e partilha-la com o seu companheiro. Após esta fase de espera onde se pretende promover o diálogo e partilha de informação é iniciado o menu de refeição. Consoante o identificador enviado pela submissão do pedido do Cardápio o ambiente gráfico da mesa modifica-se: no caso de a escolha ser prato de peixe o ambiente torna-se marinho, no caso de ser um prato de carne o ambiente mostrará algo relacionado com o prato (paisagens alentejanas, p.e.). Nesta fase apenas haverá um ícone de ocultação de animação, pois o grupo compreende que pode não ser agradável, para alguns utilizadores, jantar num ambiente com animações a decorrer em plano de fundo. Quando a refeição terminar e o funcionário retirar os pratos, este dá ordem à mesa de passagem para a próxima fase através de um botão lateral. Neste momento intermédio são mostradas opções de sobremesas e cafés, que o utilizador pode escolher com base em fotografia e informação, tal como acontece no cardápio. 6
  • 7.
    Uma vez mais,quando o funcionário retirar as sobremesas acciona a nova fase, denominada no mapa como "Jogo", onde o utilizador pode jogar com o seu companheiro enquanto aguarda a vinda do café ou digestivo. Finalmente, e mais uma vez após o funcionário dar ordem para a próxima fase surge o último ambiente, onde o cliente pode classificar e comentar todo o serviço prestado. BackOffice: Relativamente ao backoffice, este foi conceptualizado de forma a permitir a visualização dos conteúdos previamente existentes na base de dados da aplicação. Uma das funcionalidades que importa salientar é a possibilidade de editar o conteúdo já existente (conteúdo referente aos diversos parâmetros integrados na base de dados), com intuito de minimizar a ocorrência de comentários, cujo cariz não se adapte ao contexto do restaurante. Ou por sua vez, contornar a possibilidade de se verificar algum erro aquando da introdução de novos conteúdos - também realizada no backoffice. Mapa de navegação relativo à Aplicação Touch Eat 7
  • 8.
    Especificação Técnica Fluxogramas dasprincipais funções Sendo os fluxogramas uma representação padronizada, pela utilização de símbolos, definidos da sequência de instruções e processos lógicos de um algoritmo, apresentam claras vantagens no que toca à sua objectividade, clareza de interpretação e possibilidade de ser transposto para qualquer linguagem de programação. Segundo Manzano e Oliveira, o fluxograma tem como objectivo primordial a representação de um fluxo de acção de um processo lógico manual ou mecânico. Assim o grupo optou por representar, sob a forma de fluxograma, as funções principais e que pelo mesmo motivo representarão um desafio de implementação futuro. No entanto, conhecendo a forma como implementar as funções fulcrais da aplicação, possui-se um importante documento de auxílio na fase de que se aproxima: prototipagem. Interessa assim relembrar que o grupo seleccionou as funções que considerou principais: Percurso percorrido desde que o utilizador entra em contacto com a mesa táctil, percorrendo a aplicação até validar a encomenda do prato desejado; Período de auto aprendizagem e aprendizagem colaborativa, no contexto do aparecimento de características relativas aos pratos que cada utilizador validou como pedido final; Momento final da experiência da aplicação, nomeadamente o jogo, atribuição de rating ao prato e introdução de um comentário finalizador em resposta à questão - ”Esta experiência fez-me pensar em…”. Simbologia segundo a norma ISSO 5807: 1985. Principal simbologia utilizada em fluxogramas ou diagrama de blocos 8
  • 9.
    Fluxograma representativo àescolha de um prato. 9
  • 10.
    Fluxograma referente aomomento de auto aprendizagem / aprendizagem colaborativa, em que surgem na mesa curiosidades relativas ao prato pedido. 10
  • 11.
    Fluxograma relativo àacção de atribuir ranking ao prato que consumiu e comentário sobre a experiência. 11
  • 12.
    Especificação Técnica Modelo daBase de Dados Base de dados da aplicação Touch Eat A presente base de dados é conceptualizada mediante algumas fases/menus do projecto Touch eat. Antes do pedido ser efectuado, no contexto de restaurante, à recurso a base de dados para obter o valor das votações atribuidas aos diversos pratos (numa escala de 1-5 estrelas), pelos clientes que frequentam o restaurante. Recorre-se, igualmente, à base-de-dados, referente à informação do Restaurante, com o objectivo de permitir a visualização de comentários elaborados por cada cliente, que se encontra disposto a deixar o seu parecer sobre esta nova experiência de lazer e refeição. Volta-se a consultar a base-de-dados, na fase final do jogo, em que é guardada a pontuação, adquirida pela mesa (dentro da corrente sessão), e devolvida a lista das melhores pontuações da mesma. Após o jogo, o cliente pode demonstrar a sua satisfação perante o prato que consumiu, e escrever a sua própria opinião relacionada com a experiência vivida comentando. 12
  • 13.
    Os campos preenchidos,referentes ao rating do prato (valor 1-5), ao nome, local, e comentário propriamente dito, são guardados na base-de-dados que actualiza, adicionando os novos dados, os parametros dos comentários do Restaurante e das votações dos Pratos. Cada vez que a sessão é iniciada, é atribuido um “id” único relacionado com o“id” da mesa, na qual se inicia a aplicação, sendo registadas a data e hora corrente e guardadas a pontuação final e tempo obtido na realização do jogo. A sessão, perante os pratos seleccionados na fase do pedido, guarda os “id”s correspondentes para no final da refeição ser possível proceder à votação a atribuir ao pedido efectuado. Os valores atribuidos têm “id”s identificativos que permitem a actualização do rating, atribuído a cada um dos diversos pratos disponíveis no menu. Referente aos comentários, guardados por sessão, são registados os seguintes parâmetros relativos ao cliente: data, local, nome e o comentário em si. Os campos preenchidos na aplicação Flash, comunicam através de AS3 com o PHP que por sua vez ligado a um servidor entra em contacto com a base de dados, actualizando a informação referente a cada parâmetro. Esta actualização é enviada da base-de-dados pelo servidor para o PHP que comunica com o Flash pelo AS3 e permite a visualização da nova informação, numa nova sessão da aplicação. 13