• Nenhum resultado encontrado

Viabilidade Técnica - #entrega02 INTRODUÇÃO LISTA DE MATERIAL

N/A
N/A
Protected

Academic year: 2021

Share "Viabilidade Técnica - #entrega02 INTRODUÇÃO LISTA DE MATERIAL"

Copied!
16
0
0

Texto

(1)
(2)

Índice  

 

INTRODUÇÃO   3  

LISTA  DE  MATERIAL   4  

PORQUÊ?   5  

TECNOLOGIAS   5  

ANDROID   5  

MESA  TOUCH  E  COMPONENTES   5  

PULSEIRA  BLUETOOTH   5  

PONTOS  DE  ACESSO  BLUETOOTH   6  

SISTEMA  DE  VIGILÂNCIA   6  

ROOTER   6   ECRÃ  EXTERNO   7   PLATAFORMAS   7   ADOBE  ILLUSTRATOR  CS5   7   WEBSTORM  2.1   7   CODA   7   MYSQL  WORKBENCH   7   ECLIPSE   8  

CCV  (COMMUNITY  CORE  VISION)   8  

XAMPP  (X  APACHE  MYSQL  PHP  PIER)   8  

WOWZA  MEDIA  SERVER   8  

REAL  PRODUCER   9  

LINGUAGENS  DE  PROGRAMAÇÃO   9  

JAVASCRIPT  +  JPOOKY   9  

HTML+CSS+PHP   9  

SQL  (STRUCTURED  QUERY  LANGUAGE)   9  

JAVA   10  

REQUISITOS  FUNCIONAIS  +  TECNOLOGIAS  =  PROJETO   10  

FRONTOFFICE   10   BACKOFFICE   13   REFERÊNCIAS   16                        

(3)

Introdução  

 

Após   definidos   os   requisitos   funcionais   é   necessário   refletir   de   que   maneira   é   que   cada   um   deles   vai   ser   implementado,   utilizando   que   tecnologias   e   programando  em  que  linguagens.    

 

Primeiro   decidimos   definir   qual   a   lista   de   material   necessário,   incluindo   o   software  e  as  linguagens  de  programação  escolhidas,  a  fim  de,  com  base  neste,   conseguir  implementar  corretamente  todos  os  requisitos  propostos.  

 

De  seguida  vai  ser  justificada  a  utilização  de  cada  um  dos  materiais,  bem  como   do  software  e  das  linguagens  de  programação  escolhidas.  

 

Por   fim   vamos   então   relacionar   as   tecnologias   a   utilizar   com   os   requisitos   em   questão.                                                                      

(4)

Lista  de  material  

 

Para   por   em   prática   o   projeto   PlaySafe   vão   ser   necessários   os   seguintes   materiais.  

 

Table  1  -­‐  Lista  de  materiais  necessários    

 

Vão   ser   também   necessárias   algumas   plataformas   de   desenvolvimento   para   programar   o   jogo,   a   aplicação   Android   e   a   página   web   (para   o   registo),   nas   respectivas  linguagens  de  programação.  

   

Table  2  -­‐  Lista  dos  programas  e  respectivas  linguagens  de  programação  

Plataforma   Linguagem/Plug-­‐in   Adobe  Illustrator  CS5   -­‐   WebStorm  2.1   JavaScript   Plug-­‐in  jPooky   Coda   HTML   CSS   JavaScript   PHP   MySQL  Workbench   SQL   Eclipse   Java   CCV  (Community  Core   Vision)   -­‐   XAMPP   -­‐  

Wowza  Media  Server   -­‐  

Real  Producer   -­‐  

 

Tecnologia   Dispositivo/Material  

Android   Telemóvel  com  sistema  Android   Jogo   Mesa  touch  

Sensores  emissores  e  receptores  de  infra-­‐vermelhos   Câmara  PlayStation  Eye  

Projetor   Mac  Mini  

Localização   Pulseira  emissora  de  sinal  Bluetooth   Pontos  de  acesso  Bluetooth  

3  Câmaras  de  vídeo  wi-­‐fi   1  Câmara  fotográfica  wi-­‐fi   Wireless   Rooter  

(5)

Por  fim  vamos  ainda  utilizar  dois  WebServices,  um  para  monitorizar  os  pontos  de   acesso   Bluetooth   e   outro   para   o   envio   de   SMS,   para   implementar   o   sistema   de   notificação  por  SMS.  

 

Porquê?  

 

Nesta  secção  vamos  explicar  e  justificar  a  nossa  escolha  face  às  várias  tecnologias   a  implementar,  linguagens  de  programação,  programas  e  outros  materiais.  

 

Tecnologias  

Android  

 

Tal   como   justificado   no   Estado   da   Arte   e   no   Briefing,   secção   Tecnologias,   colocados   no   post   #entrega01,   optámos   pelo   sistema   operativo   móvel   Android,   face  ao  sistema  operativo  iOS.  

 

Mesa  touch  e  componentes  

 

Como  suporte  para  o  jogo,  decidimos  utilizar  uma  superfície  touch,  visto  ser  uma   tecnologia  inovadora,  interativa  e  cativante  para  o  utilizador.  

 

Tal   como   justificado   no   post   #investigação04,   optámos,   no   que   diz   respeito   à   superfície  táctil,  ou  não,  que  irá  servir  de  suporte  ao  jogo,  pela  utilização  da  mesa   touch.  

 

Relativamente   aos   componentes   da   mesa   touch,   sensores   infravermelhos,   câmara   PlayStation   Eye,   projetor   e   Mac   mini,   vamos   utilizá-­‐los   pois   são   os   elementos  originais  da  construção  da  mesa  touch.  

 

A  única  alteração  que  poderemos  fazer  é  na  estrutura  física  da  mesa,  aplicando   assim  a  ideia  da  construção  do  iglu.  

 

Pulseira  Bluetooth  

 

Para  o  sistema  de  localização  da  criança,  optou-­‐se  por  escolher  uma  pulseira  que   transmitisse  um  sinal  Bluetooth.  O  facto  da  escolha  ter  sido  uma  pulseira  resulta   da  sua  portabilidade,  facilidade  de  aquisição  e  facilidade  de  utilização  por  parte   das  crianças.  

 

Quando  à  questão  do  tipo  de  sinal  wireless  a  utilizar  para  a  localização,  tal  como   indicado   no   post   #reunião02,   decidimos   utilizar   a   tecnologia   Bluetooth.   Logo   a   pulseira  escolhida  teria  que  suportar  esta  mesma  tecnologia.  

(6)

Pontos  de  acesso  Bluetooth  

 

De   forma   a   captar   o   sinal   emitido   pelas   pulseira   Bluetooth   é   necessária   a   incorporação  de  pontos  de  acesso  Bluetooth,  auxiliando  assim  também  o  cálculo   da  localização  relativa  da  criança.  

 

Tal  como  no  caso  da  pulseira,  a  escolha  por  pontos  de  acesso  Bluetooth  prende-­‐ se   com   a   questão   do   sinal   escolhido   para   todo   o   sistema   de   localização   de   PlaySafe.  

 

Sistema  de  vigilância  

 

Para  que,  na  aplicação  Android,  os  pais/responsáveis  possam  visualizar  a  criança   enquanto  esta  disfruta  do  espaço  PlaySafe,  é  necessário  a  implementação  de  um   sistema   de   vigilância.   Este   é   composto   pela   utilização   de   3   câmaras   de   vídeo,   para  filmar  o  movimento  das  crianças  e  para  que  o  utilizador  da  aplicação  possa   usufruir  da  visualização  de  múltiplos  ângulos,  e  pela  utilização  de  uma  máquina   fotográfica,   para   que,   em   vários   intervalos   de   tempo   sejam   enviadas   para   a   aplicação  imagens  da  criança  no  espaço  PlaySafe.  

 

No  que  diz  respeito  às  câmaras  de  vídeo  a  utilizar  necessitamos  de  uma  câmara   que   tivesse   a   capacidade   de   transmitir   via   wireless   a   imagem.   Tínhamos   duas   hipóteses:   utilizar   uma   câmara   normal   com   o   auxílio   de   um   cartão   SD  (Secure   Digital)  Eye-­‐fi  [1]  para  a  transmissão  wireless;  ou  utilizar  uma  câmara  de  vídeo   wi-­‐fi.  

 

Analisando  então  as  duas  hipóteses  podemos  constatar  que,  face  às  câmaras  wi-­‐ fi,   o   sistema   câmara+Eye-­‐fi   teria   um   custo   mais   reduzido,   no   entanto   não   era   compatível  com  o  nosso  sistema,  uma  vez  que  o  sistema  Eye-­‐fi  necessita  de  ter   um   emissor   (o   cartão   SD)   e   um   receptor   (software   para   computador)   [1]   e   no   nosso   caso   como   necessitamos   de   várias   câmaras   iria   gerar   conflitos   pois   o   receptor  apenas  pode  captar  o  sinal  de  uma  câmara  de  cada  vez.  

 

Em  relação  à  câmara  fotográfica  a  utilizar  optámos  por  uma  câmara  wi-­‐fi,  como   por  exemplo  a  Sony  Cyber-­‐shot  DSC-­‐G3  [2]  pois  necessitamos  de  uma  transmissão   rápida   e   autónoma   de   forma   a   que,   consequentemente,   também   o   sistema   PlaySafe  o  seja.  

 

Rooter  

É  necessário  para  os  telemóveis  com  sistema  Android  acederem  à  informação  da   base  de  dados  localizada  no  servidor  web  do  Mac  Mini.  É  também  essencial  para   a   comunicação   entre   as   câmaras   wi-­‐fi   e   o   Mac  Mini.   No   contexto   real,   o   rooter   estará  já  implementado  nos  centros  comerciais,  como  parte  da  sua  rede  wireless   interna.  

(7)

Ecrã  externo  

 

Para   que   os   pais/responsáveis   pelas   crianças   se   possam   registar   na   base   de   dados   de   PlaySafe   é   necessária   a   existência   de   um   dispositivo   digital   com   que   estes  possam  interagir.  Uma  vez  que  o  próprio  sistema  já  inclui  a  utilização  de   um  Mac  Mini,  optámos  por  incluir  um  ecrã  externo,  conectado  ao  mesmo.  

 

Plataformas  

Adobe  Illustrator  CS5  

 

Para   a   construção   do   grafismo   dos   jogos,   irá   ser   utilizado   o   programa   Adobe   Illustrator,  programa  da  Adobe  para  construir  imagens  vectoriais.    

 

A  utilização  deste  programa  deve-­‐se  ao  facto  dos  elementos  do  grupo  já  estarem   familiarizados   com   o   mesmo,   facilitando   a   construção   da   interface   gráfica   dos   jogos  e  evitando  assim  a  adaptação  a  um  novo  programa.    

 

WebStorm  2.1  

 

WebStorm  2.1  [3]  é  um  IDE  (Integrated  Development  Environment),  ou  seja,  um   ambiente   integrado   para   desenvolvimento   de   software,   para   programação   em   JavaScript.  

 

A  razão  porque  optámos  pela  sua  utilização  foi  o  facto  de  alguns  elementos  do   grupo  estarem  bastante  familiarizados  com  o  seu  ambiente.  Outra  razão  que  nos   levou  a  escolher  este  IDE  foi  o  seu  estatuto  face  a  plataformas  semelhantes.    

Coda  

 

Para   a   programação   da   página   Web   para   o   registo   dos   pais/responsáveis,   optámos   pelo   Coda.   O   Coda   é   especializado   para   programação   para   Web,   permitindo   a   escrita   em   várias   linguagens   de   programação:   HTML,   CSS,   JavaScript  e  PHP.  

 

Escolhemos   este   programa   pois,   contrariamente   a   outros   semelhantes   no   mercado  como  por  exemplo  o  Dreamweaver  CS5,  da  Adobe,  permite  uma  maior   autonomia   ao   utilizador,   tornando   todo   o   processo   muito   mais   simples   e   independente.  

 

MySQL  Workbench  

 

Para  a  construção  da  base  de  dados  do  PlaySafe  é  necessária  a  utilização  de  um   ambiente   de   desenvolvimento.   Escolhemos   o   MySQL   Workbench   por   vários   motivos:  primeiro,  e  talvez  o  mais  importante  no  contexto  real,  é  gratuito  e  de   livre   utilização;   segundo,   é   versátil   pois   permite   criar   as   tabelas   da   base   de  

(8)

dados,   estruturá-­‐las   e   relacioná-­‐las   visualmente,   e   ainda   realizar   queries;   e   por   fim,  é  familiar  para  os  vários  elementos  do  grupo.  

Eclipse  

 

A  fim  de  programar  e  desenhar  a  aplicação  para  o  sistema  operativo  Android,  foi   necessário   escolher   uma   plataforma   de   desenvolvimento   que   suportasse   a   linguagem  Java  (utilizada  na  programação  de  aplicações  Android).  

 

Segundo   o   livro   Learn   Java   for   Android   development   [4],   o   Eclipse   é   um   bom   programa  de  desenvolvimento  para  Java,  pelo  que  foi  o  programa  utilizado  em   alguns   testes   já   realizados   na   linguagem   referida.   Por   essa   razão   e   pela   familiaridade  de  um  elemento  do  grupo  com  o  mesmo,  optámos  por  programar   Java  no  Eclipse.  

 

CCV  (Community  Core  Vision)  [5]  

 

Para  conseguir  recolher  e  identificar  os  pontos  de  toque  do  utilizador  na  mesa  é   necessária   a   utilização   de   um   software,   neste   caso,   do   CCV.   A   razão   porque   escolhemos  este  programa  foi  o  facto  de  ser  gratuito  e  de  livre  acesso  e  utilização   e  porque  foi  o  programa  utilizado  em  projetos  anteriores  do  mesmo  âmbito.    

XAMPP  (X  Apache  MySQL  PHP  Pier)  

 

De  forma  a  podermos  testar  e  utilizar  o  servidor  Web  Apache  e  o  servidor  SQL  a   fim  de  colocar  a  base  de  dados  no  servidor  e  poder  construir  e  interagir  com  uma   página  Web  dinâmica  é  necessário  utilizar  o  servidor  XAMPP.  A  razão  da  escolha   do  XAMPP  face  a  outros  servidores  semelhantes  é  por  mera  familiarização  com  o   mesmo.  

 

Wowza  Media  Server  

 

Como   pretendemos   que   os   utilizadores   do   tipo   2   (da   aplicação   Android)   visualizem   em   direto   as   crianças   no   espaço   PlaySafe,   necessitamos   de   um   software  que  realize  streaming  de  vídeo.  

 

O   Wowza   Media   Server   3   [6]   é   um   software   que   permite   transmitir   vídeo   por   streaming  até  10  Gbps,  tanto  em  direto  como  em  diferido.  

 

Optámos   por   este   software   pois   permite   uma   elevada   quantidade   de   tráfego,   permite   transmissão   em   direto   e   possui   um   trial   de   30   dias   para   testes,   não   necessitando  assim  de  o  adquirir.  

     

(9)

Real  Producer  

 

Para   que   possamos   comprimir   os   ficheiros   de   vídeo   provenientes   das   várias   câmaras  precisamos  de  um  encoder.  Decidimos  utilizar  o  Real  Producer  pois  é  um   encoder  de  fácil  acesso  e  de  elevada  popularidade.  

       

Linguagens  de  programação    

Tal  como  referido  em  cima  na  tabela  das  plataformas,  cada  plataforma  permite   programar   numa   ou   mais   linguagens.   No   geral,   optámos   programar   nas   linguagens  principais  de  cada  programa.  

 

JavaScript  +  jPooky  

 

Vamos  utilizar  a  linguagem  de  programação  JavaScript  porque  é  uma  linguagem   que  permite  realizar  jogos  e  com  a  qual  os  elementos  de  grupo  se  sentem  mais  à   vontade   e,   consequentemente,   permite   ao   grupo   conseguir   um   melhor   cumprimento  dos  objetivos.    

 

O   plugin   jPooky   [7]   é   um   plugin   para   a   biblioteca   de   JavaScript   jQuery   que   possibilita   a   interação   multi-­‐touch   com   websites   e   que   por   essa   mesma   razão   é   essencial  para  o  desenvolvimento  dos  jogos.  

 

HTML+CSS+PHP  

 

A  linguagem  HTML  (HyperText  Markup  Language)  é  necessária  para  desenhar  e   criar  a  estrutura  das  páginas  de  registo  dos  utilizadores.  

 

A  linguagem  de  estilo  CSS  (Cascading  Style  Sheets)  vai  ser  utilizada  para  formatar   e  personalizar  a  estrutura  das  páginas  de  registo  feitas  com  HTML.

 

A   linguagem   de   programação   PHP   (Personal  Home  Page)   vai   ser   utilizada   para   gerar   conteúdo   dinâmico,   ou   seja,   para   tratar   e   apresentar   ao   utilizador   a   informação  proveniente  da  base  de  dados,  após  a  realização  de  queries.    

 

SQL  (Structured  Query  Language)  

 

A   linguagem   SQL   serve   para   realizar   queries   à   base   de   dados,   ou   seja,   pesquisar/filtrar  a  informação  na  mesma.    

 

O  motivo  pelo  qual  se  optou  por  esta  linguagem  deveu-­‐se  ao  fato  de  esta  ter  sido   leccionada  nas  aulas  de  Laboratório  Multimédia  5  logo,  os  elementos  do  grupo   têm  experiência  e  conhecimento  sobre  a  mesma.    

(10)

 

Java    

 

Para  a  programação  para  aplicações  para  Android,  vamos  utilizar  a  linguagem  de   programação   Java   porque   é   esta   a   linguagem   utilizada   no   sistema   operativo   Android.  

Requisitos  funcionais  +  Tecnologias  =  Projeto  

 

Após   a   definição   dos   requisitos   funcionais   e   a   justificação   das   tecnologias   a   utilizar,   resta   relacioná-­‐los   a   fim   de   compreender   de   facto   o   que   é   que   cada   requisito  vai  implicar  e  em  que  é  que  cada  tecnologia  vai  ser  útil.  

 

De  forma  a  representar  essa  mesma  ligação,  decidimos  construir  várias  tabelas   que  indicassem,  face  às  tecnologias,  programas  e  linguagens  de  programação,  em   que  requisitos  eram  utilizados,  distinguindo  ainda  entre  frontoffice  e  backoffice.    

Frontoffice  

 

Nota:  Por  motivos  de  dimensão  das  tabelas,  apenas  se  encontram  na  página   seguinte.                                                  

(11)

                                                                                                 

(12)

                                                                                             

(13)

Backoffice                                                                                                  

(14)

                                                                                             

(15)

                                                                                                 

(16)

Referências  

 

[1]  Eye-­‐Fi,  I.  (2011).  "Eye-­‐fi  memory  cards  wireless  photo  and  video  uploads   straight  from  your  camera  to  your  computer  &  the  web."  Retrieved  29.02.2012,   2012,  from  http://uk.eye.fi/.  

 

[2]  Review,  D.  P.  "Sony  Introduces  Wi-­‐Fi  enabled  Cyber-­‐Shot  DSC-­‐G3:  Digital   Photography  Review."  Retrieved  2.03.2012,  2012,  from  

http://www.dpreview.com/news/2009/1/8/sonycybershotdscg3.    

[3]  JetBrains.  "The  best  JavaScript  IDE  with  HTML  Editor  for  Web  Development  ::   JetBrains  WebStorm."  Retrieved  01.03.2012,  from  

http://www.jetbrains.com/webstorm/.    

[4]  Friesen,  J.  (2010).  Learn  Java  for  Android  development.  New  York  City,   Apress:  636.  

 

[5]  CCV.  "CCV."  Retrieved  22.02.2012,  from  http://ccv.nuigroup.com/.    

[6]  Wowza  Media  Systems,  I.  (2012).  "Media  Server  &  Media  Streaming  |  Wowza   Media  Systems."  Retrieved  02.03.2012,  2012,  from  http://www.wowza.com/.    

[7]  Pooky  (2012).  "Pooky  Wiki  .  JPooky."  Retrieved  10.02.2012,  2012,  from   http://pooky.sourceforge.net/wiki/JPooky.  

Referências

Documentos relacionados

30. Deseja-se aumentar a imagem formada por este objeto, de modo que ela atinja 6 vezes a altura do objeto original. Para isso utiliza-se uma seguinda lente L‚,

Para cada tonelada de CO2 evitado, são necessárias 3 MWh de energia eólica, com um custo real de 513,9 euros (171,3 x3), que são comercializados a 404,4 euros (134,8x3),

No mês de outubro de 2015, a Secretaria Executiva de Vigilância em Saúde (SEVS) da Secretaria Estadual de Saúde de Pernambuco (SES/PE) foi comunicada da ocorrência de 29 casos

+e duas variáveis estão correlacionadas, " muito mais til estudar as posições de uma ou de am&as por meio de curvas de regressão, estudar as posições de uma ou de

O Fórum informou sobre a proposta, formulada pelas CHSSA, de criação de uma Diretoria específica para essas áreas no CNPq. Foi indicado que isso representaria não

A inferência se dá por meio de duas operações: uma lógica, em que estabelecemos uma implicação (por exemplo: se [somente o Chico ficou em recuperação], então os outros

A tira do teste é mergulhada no supernatante claro da amostra, sendo que esta então passa pela membrana com as partículas coloridas de látex, às quais em caso positivo o

Os testes em questão corroboraram tais afirmativas ao se verificar estatisticamente a plausabilidade do efeito em cadeia e a simultaneidade do comportamento das bolsas e das taxas