Académique Documents
Professionnel Documents
Culture Documents
ANAIS
Sociedade Brasileira de Computação – SBC
Organizadores
Roberto Willrich
Vinícius Sebba Patto
Frank Augusto Siqueira
Patrícia Vilain
Realização
INE/UFSC – Departamento de Informática e Estatística/
Universidade Federal de Santa Catarina
Promoção
Sociedade Brasileira de Computação – SBC
Patrocínio Institucional
CAPES – Coordenação de Aperfeiçoamento de Pessoal de Nível Superior
CNPq - Conselho Nacional de Desenvolvimento Científico e Tecnológico
FAPESC - Fundação de Amparo à Pesquisa e Inovação do Estado de Santa Catarina
Catalogação na fonte pela Biblioteca Universitária
da
Universidade Federal de Santa Catarina
CDU: 004.65
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016
III WICSI
III Workshop de Iniciação Científica em Sistemas de Informação (WICSI)
Evento integrante do XII Simpósio Brasileiro de Sistemas de Informação (SBSI)
17 a 20 de Maio de 2016
Florianópolis, Santa Catarina, Brazil.
Comitês
Coordenação Geral do SBSI 2016
Frank Augusto Siqueira (UFSC)
Patrícia Vilain (UFSC)
Revisores
Antônio Esteca (USP)
Flávia Horita (USP)
Kalinka Castelo Branco (USP)
Lívia Castro Degrossi (USP)
iv
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016
Realização
INE/UFSC – Departamento de Informática e Estatística/ Universidade Federal de Santa Catarina
Promoção
SBC – Sociedade Brasileira de Computação
Patrocínio
CAPES – Coordenação de Aperfeiçoamento de Pessoal de Nível Superior
CNPq - Conselho Nacional de Desenvolvimento Científico e Tecnológico
FAPESC - Fundação de Amparo à Pesquisa e Inovação do Estado de Santa Catarina
FAPEU - Fundação de Amparo à Pesquisa e Extensão Universitária
Apoio
Centro Tecnológico - UFSC
Pixel Empresa júnior - UFSC
v
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016
Apresentação
A iniciação científica é a base para formar futuros pesquisadores em todas as áreas de conhecimento. Com essa convicção, a
Comissão Especial de Sistemas de Informação da SBC criou o Workshop de Iniciação Científica em Sistemas de Informação
(WICSI). O WICSI é um evento nacional para divulgação de resultados de trabalhos de pesquisa em nível de Graduação na
área de Sistemas de Informação. O objetivo do WICSI é incentivar o desenvolvimento de pesquisas de Iniciação Científica e,
para tanto, busca estimular futuros pesquisadores da comunidade de Sistemas de Informação a apresentar seus trabalhos.
Em 2016, foi realizada a terceira edição do WICSI, contando com 41 artigos submetidos e, destes, 13 foram aprovados
(32%) com rigorosa e competente avaliação realizada pelos revisores. Durante o evento, os artigos aprovados foram apresen-
tados oralmente pelos seus respectivos autores. Os temas tratados nos artigos envolvem o uso de técnicas de computação em
várias áreas de conhecimento ou atuação, tais como: metodologias de desenvolvimento de software, usabilidade, educação,
Agradecemos aos autores que submeteram seus trabalhos, aos revisores que prontamente nos atenderam e à coordenação
vi
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016
Roberto Willrich possui graduação e mestrado em Engenharia Elétrica pela Universidade Fed-
eral de Santa Catarina (1987 e 1991) e doutorado em Informática pela Université de Toulouse
III/França (Paul Sabatier) (1996). Ele realizou um estágio pós-doutoral no Laboratoire d’Analyse
et d’Architecture des Systemes, LAAS, França (2005-2006). Atualmente é professor titular da
Universidade Federal de Santa Catarina. Tem experiência na área de Ciência da Computação,
com ênfase em Repositórios Digitais, Web Semântica, Anotações Digitais, Informática na Edu-
cação.
Vinícius Sebba Patto é professor adjunto pelo Instituto de Informática da Universidade Federal
de Goiás. Possui doutorado em Ciência da Computação pelo LIP6 - Laboratoire d’Informatique
de Paris 6 (2010). Possui mestrado em Engenharia de Computação pela Universidade Federal
de Goiás (2005) e graduação em Análise de Sistemas pela Universidade Salgado de Oliveira
(2000). Tem experiência na área de Ciência da Computação e Sistemas de Informação, com
ênfase em Sistemas Inteligentes, atuando principalmente nas seguintes áreas: lógica nebulosa,
sistemas multiagentes, sistemas de suporte a decisão, gerenciamento participativo, modelagem
de dados, simulação, modelagem de sistemas e linguagens de programação.
vii
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016
Artigos Técnicos
ST1 - Aplicações e Aspectos Humanos de SI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Desenvolvimento de um Jogo Digital como Objeto de Aprendizagem em um Curso de Sistemas para Internet . . . . . . . . 1
Alexandre Soares Silva (IFMS), Viviane Andrade da Silva (IFMS)
Um Plugin para Discretização dos Dados para Suporte à Metodologia Agile ROLAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Luan S. Melo (UENP), André Menolli (UENP), Glauco C. Silva (UENP), Ricardo G. Coelho (UENP),
Felipe Igawa Moskado (UENP)
Guia de Boas Práticas para Desenvolvimento de Interface e Interação para Desenvolvedores da Plataforma
Android . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Guaratã Alencar Ferreira de Lima Junior (Faculdade AVANTIS), Rodrigo Cezario da Silva (Faculdade AVANTIS)
Desenvolvimento da Técnica Data Mining como Apoio à Tomada de Decisão no Sistema Hidrológico para
Geração de Estatística das Estações de Telemetria da Defesa Civil de Brusque - SC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Jonathan Nau (UNIFEBE), Pedro Sidnei Zanchett (UNIFEBE), Wagner Correia (UNIFEBE),
Antonio Eduardo de Barros Ruano (Univ. de Algarve, Portugal), Marcos Rodrigo Momo (UNIFEBE)
Uma arquitetura de banco de dados distribuído para armazenar séries temporais provenientes de IoT . . . . . . . . . . . . . 48
Fernando Paladini (UFSC), Caique R. Marques (UFSC), Antonio Augusto Frohlich (UFSC), Lucas Wanner (UNICAMP)
viii
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016
Utilização e Integração de Bases de Dados Relacionais por meio de Foreign Tables para utilização em
ferramentas OLAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Felipe Igawa Moskado (UENP), André Menolli (UENP), Glauco C. Silva (UENP), Ricardo G. Coelho (UENP),
Luan S. Melo (UENP)
Index of Authors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
ix
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016
1
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016
2
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016
3.METODOLOGIA DE PESQUISA
Definidas as ideias iniciais do projeto de pesquisa, criamos um
documento de game design descrevendo o enredo, cenário,
personagens, fases e alguns quebra-cabeças, quais seriam os
elementos de jogo e sua interação com o jogador. Nesta primeira
versão definimos 6 (seis) desafios de raciocínio lógico como Figura 3: Arquitetura básica do projeto do jogo
quebra-cabeças disponíveis. A escolha dos quebra-cabeças é
baseada em desafios de lógica retirados de livros sobre puzzles
clássicos ou aplicados a algoritmos. O objetivo era iniciar a
implantação do jogo e futuramente expandir a ideia para outros Criado o primeiro protótipo, o mesmo foi submetido a apreciação
cursos da área. Nesta etapa, definimos também a arquitetura de alguns estudantes e professores através de apresentações. Isso
básica do projeto: cada fase seria representada por uma página serviu para reavaliar algumas decisões como, por exemplo,
web, em um cenário isométrico, onde haveriam objetos interativos utilizar os mesmos desafios para todos os personagens
e cada um destes objetos poderiam disparar desafios disponíveis, evitando assim comparações de gênero, idade, ou
predeterminados. A escolha pela perspectiva isométrica deu-se características físicas com a dificuldade dos desafios. Reavaliando
pelo fato de ser possível trabalhar com gráficos 2D e as contribuições esperadas, a principal contribuição passou a ser a
posicionamento espacial de forma mais simples do que com possibilidade de encaixar o desenvolvimento dos puzzles como
gráficos 3D, mas ainda sim simulando um aspecto tridimensional. objeto de aprendizagem, pois o interesse era maior em criar
Não obstante, a modelagem tridimensional ocuparia um tempo quebra-cabeças do que jogar. Planejamos então a aplicação de
considerável da equipe e o projeto poderia ter seu escopo alterado. algumas atividades (as quais serão expandidas futuramente):
O passo seguinte foi selecionar um motor para jogos adequado. Implementação de desafios completos e funcionais
Primando por um motor com caráter mais didático do que (layout, recursos, lógica) como parte de atividades
comercial, optamos pelo motor para jogos 2D desenvolvido complementares do curso.
dentro da própria instituição de ensino por membros do grupo de
Criação ou melhoria de layouts dos desafios ou telas do
pesquisa NIJOD – Núcleo Interdisciplinar de Pesquisa para Jogos
jogo (desenvolvimento web inicial)
Digitais. Para a implementação da lógica dos desafios e
manipulação das informações sobre os jogadores utilizamos a Implementação da lógica e persistência de dados no
tecnologia JSP3. Durante o processo, tomamos o cuidado de servidor para os layouts já desenvolvidos.
permitir o desenvolvimento dos quebra-cabeças sem a (desenvolvimento web mais avançado)
obrigatoriedade de conhecer o motor, recursos avançados do
HTML5 ou qualquer outra tecnologia em especial. Assim, bastaria Implementação de algoritmos para os desafios como
implementar a página web com o desafio e em seguida acoplá-la validação, respostas, contagem de pontos, etc.
ao cenário principal. Este acoplamento funciona através de uma (programação de computadores)
API do próprio jogo que recebe e envia dados no formato JSON4, Da mesma maneira vislumbramos a possibilidade de criar
facilitando a integração. Essa integração não será necessariamente atividades relacionados ao jogo em projetos integradores ou
tarefa de quem implementou o desafio; por exemplo, cada trabalhos em cursos técnicos da área.
estudante pode criar uma parte do puzzle como o layout, a arte, a
lógica em JavaScript, a consulta e gravação das respostas no 4.RESULTADOS
banco de dados ou chamadas dos controladores e assim por A princípio, o objetivo era criar um jogo para incentivar o
diante. A Figura 3 mostra a ideia básica da arquitetura do jogo. O pensamento algorítmico nos estudantes do CST em Sistemas para
projeto do banco de dados responsável por armazenar informações Internet. Entretanto, diante de sugestões da comunidade
sobre jogadores, progressos e desafios foi criado após a definição acadêmica e consequentemente reavaliação dos objetivos, logo
de alguns dos desafios. Desejávamos uma modelagem que percebemos que projeto não permanecerá limitado a cursos
atendesse todos os desafios de forma genérica, fornecendo as superiores, passando a ser considerado também uma boa opção
respostas, dicas, dentre outras informações sem a necessidade de para cursos técnicos da área.
remodelar a base de dados a cada novo desafio criado. Qualquer
que seja o quebra-cabeça, ele pode possuir atributos comuns aos Antes de publicar o primeiro protótipo jogável, optamos por usá-
outros, por exemplo, dicas, resposta, descrição e título. lo como ferramenta em algumas disciplinas do CST em Sistemas
para Internet local. A intenção era de que os estudantes criassem
uma série de desafios para o jogo e em consequência
disponibilizá-los à comunidade interna. Disciplinas como
desenvolvimento web, banco de dados, engenharia de software e
3
linguagem de programação foram as primeiras planejadas. A
Java Server Pages iniciativa foi mais bem recebida do que o jogo em si, mesmo não
4
JSON (JavaScript Object Notation) é um formato de dados leve havendo opiniões negativas sobre o mesmo.
para troca de informações.
3
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016
4
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016
5
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016
Brusque é de vital importância, pois por um lado permite longo prazo são para tempo de retorno de um evento de cheias,
realizar o monitoramento hidrometeorológico da bacia em relacionados às mudanças climáticas ou eventos cíclicos do tipo
tempo real, e por outro, viabiliza dados que subsidiam as El Niño e La Niña.
pesquisas científicas nas áreas de hidrologia e meteorologia.
A previsão de curto prazo é realizada com horizontes pequenos
Neste sentido, o objetivo deste trabalho é realizar a modelagem
de tempo, variando de minutos até horas (ou dias). Estas
hidrológica baseada em redes neurais artificiais (RNAs), visando
previsões são realizadas postos de medições a montante e dados
simular o comportamento hidrológico do rio Itajaí-Mirins,
de precipitação ocorrida. São as mais utilizadas para controle de
durante as ocorrências de cheias pretéritas. Estas informações
inundações em regiões ribeirinhas [4].
poderão integrar ao conjunto de medidas preventivas que vem
sendo realizadas na bacia ao longo do tempo. Estas medidas têm
o objetivo de minimizar os danos causados pelos eventos de 2.4 Redes Neurais Artificiais (RNA)
cheias. A RNA é um paradigma de aprendizado e processamento
automático inspirado na forma que funciona o sistema cerebral
2. FUNDAMENTAÇÃO TEÓRICA humano. Através de interconexões de neurônios artificiais
colabora para produzir estímulos de saída.
2.1 Modelos hidrológicos
O modelo hidrológico é uma representação simplificada de um Neurônios artificiais são funções matemáticas capazes de
sistema com o objetivo de entendê-lo e encontrar respostas para receber uma série de entradas e emitir uma saída. Basicamente
distintas circunstâncias [10]. Através dos modelos hidrológicos um neurônio artificial da RNA é dado por três funções, são elas:
é possível encontrar respostas (saídas) de uma bacia hidrográfica 1) função de propagação, responsável por realizar a somatória
a partir de informações (entradas). A Figura 1 apresenta a de cada entrada multicamada; 2) função de ativação, que
representação esquemática de um modelo modifica a função anterior, caso a saída seja a mesma função
hidrológico disponibilizada dada na função anterior, neste caso a função de
ativação não existe e 3) função de transferência que relaciona o
sinal de entrada com o sinal de saída da rede neural [5].
As Soluções baseadas em RNA iniciam de um conjunto de
dados de entrada suficientemente significativo com o objetivo
de que a rede aprenda automaticamente as propriedades
desejadas. O processo de adequação dos parâmetros da rede não
é obtido através de programação genérica e sim através do
treinamento neural. Neste sentido, para alcançar a solução
Figura 1: Representação esquemática de um modelo
aceitável para um dado problema, é necessário previamente
hidrológico [8].
adequar um tipo de modelo RNA e realizar a tarefa de pré-
Na modelagem hidrológica são utilizadas ferramentas processamento dos dados, os quais que formarão o conjunto de
matemáticas para representar o comportamento dos principais treinamentos. Estas características permitem a RNA oferecer
elementos que compõe o ciclo hidrológico. Desta forma, o diversas vantagens, tais como, capacidade de aprendizagem,
objetivo é reproduzir os resultados mais próximos possíveis aos auto-organização, tolerância a falhas, flexibilidade e a obtenção
resultados encontrados na natureza. Devida à grande de resultados em tempo real. Redes neurais têm sido utilizadas
complexidade de se representar todos os fenômenos naturais, a com sucesso em vários campos da ciência. Na hidrologia sua
modelagem hidrológica trabalha com simplificações desses aplicabilidade tem feito evoluir a modelagem de sistemas não
fenômenos [8]. lineares[4]. As principais vantagens na utilização da
metodologia de RNA na modelagem de bacias hidrográficas são:
2.2 Modelo Chuva-Vazão a) possibilitam a resolução de problemas complexos e não bem
Na literatura há uma grande quantidade de modelos chuva- definidos; b) podem ser aplicados em sistemas sem soluções
vazão, desde os mais simples, com métodos matemáticos, até os específicas; c) não requerem conhecimento detalhado dos
mais complexos envolvendo modelos conceituais distribuídos processos físicos; d) não potencializam erros de medição; e)
que consideram a variabilidade espacial e tempo de um evento permitem otimizar os dados de entrada e dados de saída; f)
chuvoso, assim como as características da bacia [1]. Com a possibilitam treinamento contínuo da rede; g) baseado em dados
evolução tecnológica, a modelagem chuva-vazão está sendo históricos, permite extrair informação e generalizar respostas
aplicada para resolver situações específicas de como fazer adequadas para cenários diferentes daqueles já ocorridos.
previsões de cheias, melhorando o ajuste dos parâmetros e
avaliando a interligação entre os parâmetros e as características 2.4.1 Arquitetura da RNA
físicas da bacia [8]. A rede neural é formada pelas camadas de entrada,
processamento e saída. Na camada de entrada, são apresentados
Os principais usos destes modelos estão voltados para estudos os dados de entradas da rede, que produzem sinais de saída,
de comportamento de fenômenos hidrológicos, previsão de estas por sua vez, estimularão os neurônios da camada
nível, previsão de cenários de planejamento entre outros [10]. subsequente. Este processo segue até atingir a última camada,
chamada de camada de saída. Vale salientar que as camadas de
2.3 Previsão de nível do rio uma rede neural podem ter um ou vários neurônios por camadas.
A previsão de nível do rio é a estimativa das condições em um Na Figura 2 se ilustra a arquitetura de uma rede neural [5].
determinado tempo específico futuro [1]. A previsão pode ser
classificada em função do intervalo de tempo, como sendo de Para resolver um dado problema, não existe, todavia, uma
curto prazo ou de longo prazo. Alguns exemplos de previsão de solução bem definida para a escolha do número de camadas e de
6
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016
neurônios a serem criados na rede. Se por um lado uma rede 3.3 Área de estudo
muito complexa pode causar um superajustamento (overfiting). A bacia hidrográfica do rio Itajaí-Mirim está localizada na
Por outro lado, a simplicidade excessiva da rede pode não região do Vale do Itajaí entre as latitudes -27°6’2 e longitudes -
conseguir reproduzir o comportamento desejado, mais 48°55’0. O rio Itajaí-Mirim faz parte da bacia do rio Itajaí-Açú,
conhecido como mínimos locais [5]. Para alcançar a melhor que por sua vez, faz parte do sistema de drenagem da vertente
arquitetura da rede neural, para cada configuração devem-se Atlântico. O rio Itajaí-Mirim com a área de drenagem de
realizar simulações e análises de resultados, através das etapas 1.700km² é a maior sub-bacia da bacia de drenagem do rio
de treinamento e testes da rede. Itajaí-Açú, fazendo parte da região hidrográfica do Vale do
Itajaí [6]. Esta bacia engloba um total de nove municípios: Vidal
Ramos, Presidente Nereu, Botuverá, Guabiruba, Brusque,
Gaspar, Ilhota, Camboriú e Itajaí. Suas nascentes encontram-se
na Serra dos Faxinais, a cerca de 1.000 metros de altitude, e
deságua na região estuarina do Itajaí-Açú, tendo o leito
principal, uma extensão aproximada de 170 km. A figura 3
ilustra a área de estudo.
3. METODOLOGIA DE PESQUISA
3.1 Atividades desenvolvidas
Para atender aos objetivos deste trabalho foram realizadas as
seguintes atividades: 1–Criação das séries dados: consistiu na
identificação dos eventos de cheias pretéritas, ocorridos na bacia
do rio Itajaí Mirim e na obtenção dos dados dos níveis do rio
registrados nos pontos de Brusque e Vidal Ramos; 2–Criação,
treinamento e teste da RNA: nesta etapa foi utilizando o
software MatLab e o Toolbox Neural Network Tool [9]. Foram
criadas as RNAs, seguindo as seguintes etapas: a) divisão das
séries de dados para o treinamento e para os testes das RNAs; b)
treinamento da rede, que consistiu no ajuste dos pesos, no qual
se apresenta o conjunto de dados de entradas, para se obter a
saída desejada, c) testes das RNAs, com base das diversas Figura 3: Bacia hidrográfica Vale do Itajaí e sub-bacias [7].
opções de configuração dos parâmetros de ajustes da rede
(número de neurônios, número de camadas, algoritmos de
treinamento etc.), foram realizados baterias de simulações para 4. RESULTADOS
encontrar o melhor resultado da RNA; 3-Análise de resultados: No total foram criadas 10 RNAs utilizando as mesmas séries de
com o objetivo de eleger a melhor configuração da RNA, para dados para as fases de treinamento e teste. Nas simulações foram
cada simulação a análise de rendimento da rede, foi baseada no alterados os parâmetros de configuração para cada rede testada.
coeficiente de determinação R². Este coeficiente permite obter o Com base no coeficiente de determinação R², verificou-se que o
ajuste entre o modelo de simulação e os dados observados que melhor rendimento do modelo foi com a seguinte configuração
variam entre 0 e 1. Desta forma, indica em percentagem o da RNA: rede Feed_Forward BackPropagation, com 50
quanto o modelo consegue explicar os valores observados, neurônios, 2 camadas, algoritmo de treinamento TRAINLN,
quanto maior o valor de R² (mais próximo à 1), maior é o camada escondida função TANSIG e de saída função
rendimento do modelo, ou seja, melhor ele se ajusta à amostra. PURELIN. Nesta configuração da RNA obteve um índice de R²
= 0,3686. A figura 4 ilustra o nível observado e o nível simulado
3.2 Dados utilizados pela RNA.
Para a realização deste trabalho, foram utilizados os dados do
nível do rio nos pontos de Brusque e Vidal Ramos, registrados Vale salientar que neste trabalho foram simuladas também as
nas ocorrências de cheias dos seguintes eventos: 09/08/2011, redes neurais recorrentes Elman. Redes recorrentes são
30/08/2011, 14/01/2012, 08/06/2014, 29/09/2014 e 01/10/2014. adequadas para sistemas dinâmicos, entretanto, os resultados
Estes dados são provenientes da rede telemétrica de coleta de obtidos para as mesmas séries de dados foram inadequados para
dados hidrometeorológicos mantida pelo CEOPS/FURB [2]. O o estudo proposto.
ponto de Brusque é o local desejado da previsão de nível, ou Estudos similares ao apresentado aqui, utilizando RNA para
seja, na ponte Estaiada localizada centro da cidade. simulação hidrológica, nos quais mostraram uma eficiência na
utilização desta técnica. Em [11] utilizou técnicas de redes
7
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016
neurais para realizar a previsão de cheias no rio Itajaí-Açú no Finalmente, vale destacar que a aplicabilidade das RNAs para
de Rio do Sul. O melhor desempenho foi com a RNA dom tipo estudos hidrometeorológicos são promissoras, uma vez que
MLP com 9 neurônios na camada oculta. Para analisar a necessitam uma quantidade de dados relativamente pequena,
performance do modelo, foram utilizados três coeficientes quando comparados aos modelos hidrológicos mais sofisticados
estatísticos: Coeficiente de Eficiência de NS (Nash e Sutcliffe), do tipo distribuídos, que consideram a variabilidade espacial nas
RMSE (Root Mean Square Error) e MAPE (Mean Absolute diversas variáveis do modelo, sendo necessário a discretização
Percentage Error), alcançando os valores de 0.9779, 0.0201 e da área, representando um conjunto elevado de parâmetros.
5.625, respectivamente.
No trabalho de [8] apresenta os resultados do modelo de
6. AGRADECIMENTOS
Este trabalho de Iniciação Científica teve o apoio da Secretaria
previsão hidrológica de curto prazo utilizando RNA. Para
verificar o rendimento do modelo, foi aplicado como estatística de Estado da Educação de Santa Catarina, através da concessão
de qualidade o coeficiente de NS e apresentou como o menor de bolsas com recursos do Artigo 170 da Constituição Estadual,
resultado 0,91 e o maior resultado 0,97. para os alunos de graduação regularmente matriculados na
Em [12] apresenta um trabalho utilizando RNA de múltiplas UNIFEBE.
camadas para realizar a previsão de vazão mensal da bacia
hidrográfica do rio Piancó no Estado da Paraíba. A RNA 7. REFERENCIAS
configurada com 15 neurônios na camada intermediária, [1] CORDERO, Ademar; MOMO, Marcos Rodrigo; SEVERO,
utilizando o coeficiente de NS, apresentou um resultado de 0,77. Dirceu Luis. Prevenção de Cheias em Tempo Atual, com
um modelo ARMAX, para a Cidade de Rio do Sul-SC. In:
Simp. Brasileiro de Rec. Hídricos XIX, 2011, Maceió.
[2] CEOPS. Sistema de Alerta da Bacia do Rio Itajaí. 2016.
Disponível em: <www.ceops.furb.br>, Último acesso:
15/03/2016.
[3] Defesa Civil de Brusque. Estações de monitoramento
hidrometeorológico. 2016. Disponível em: <
http://defesacivil.brusque.sc.gov.br/monitoramento.php>,
Último acesso: 15/04/2016.
[4] DORNELLES, Fernando. Previsão contínua de níveis
fluviais com redes neurais utilizando previsão de
precipitação: investigação metodológica da técnica. 2007.
97 p. Dissertação-IPH, UFRGS, Porto Alegre, 2007.
[5] HAYKIN, S. Redes neurais: princípios e prática. 2ª edição,
Figura 4: Simulação hidrológica Observado/Simulado com São Paulo, Bookman, 2001, 900 p.
RNA. [6] HOMECHIN, M. Jr & A.C. BEAUMOR. Caracterização
Este trabalho permitiu obter informações relacionadas à da qualidade das águas do trecho médio do Rio Itajaí-
simulação do processo hidrológico na bacia hidrográfica do rio Mirim, S/C. Anais do VIII Congresso de Ecologia do
Itajaí-Mirim durante um evento de cheias. Estas informações são Brasil, 2007.
de vital importância para entender o clico hidrológico, [7] BACIAS. Bacias Hidrográficas do Brasil. GEO-Conceição.
objetivando prever com antecedência a subida do nível do rio e Disponível em:
apoiar no monitoramento hidrológico em situações de eventos <http://geoconceicao.blogspot.com.br/2011/08/bacias-
de cheias. O serviço de monitoramento hidrometeorológico do hidrograficas-do-brasil.html.>, Último acesso: 15/04/2016.
Município de Brusque atende de forma direta ou indiretamente, [8] MATOS, Alex Bortolon de. Efeito do controle de montante
uma população de cerca de 100 mil habitantes. Desta forma, na previsão hidrológica de curto prazo com redes neurais:
estas informações poderão ser integrados ao Sistema de aplicação à bacia do Ijuí. 2012.75 f. Dissertação (Mestrado
Informação da Defesa Civil de Brusque para apoiar na tomada em Recursos Hídricos e Saneamento Ambiental) –
de decisão em situações iminentes às enchentes. Por outro lado, PPRHSA, UFRGS, 2012.
a continuidade destes estudos viabilizará a geração de novos
conhecimentos hidrológicos da bacia e o fortalecimento da [9] TOOLBOX S. I., The MathWorks - MatLab and
parceria entre a Defesa Civil municipal, UNIFEBE e a Simulation, T. MathWorks, Editor. 2016. Disponível em:
comunidade acadêmica em geral. www.mathworks.com. Último acesso: 15/03/2016.
[10] TUCCI, C.E.M., Modelos hidrológicos, Porto Alegre,
5. CONCLUSÃO UFRS/ABRH, 1998, 668 p.
Com base nestes resultados, verifica-se a necessidade de realizar [11] SOARES, D. G.; TEIVE, R.. C. G. Previsão de Cheias do
um levantamento de uma maior quantidade de dados Rio Itajaí-Açu Utilizando Redes Neurais Artificiais. Anais
hidrometeorológicos da bacia, assim como a inserção de novos do Computer on the Beach, p. 308-317, 2015.
pontos de medição do nível do rio. Intui-se que uma quantidade
maior de dados, viabilizará uma melhor qualidade na fase de [12] SOUZA, W. S.; SOUZA, F. A. S. Rede neural artificial
treinamento da RNA, melhorando o rendimento do modelo de aplicada à previsão de vazão da Bacia Hidrográfica do Rio
simulação hidrológica na bacia do rio Itajaí-Mirim. Piancó. Rev. Bras. Eng. Agr. Amb., v.14, p.173-180. 2010.
8
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016
9
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016
Existem diferenças, principalmente no que tange riscos e 2.2 Estratégias de pesquisa e seleção
motivações [11][12]. Em virtude de tais diferenças entre setor
público e privado, não se pode fazer generalizações para estudar a Elaboradas as questões da pesquisa, o próximo passo consistiu na
terceirização de SI como um todo. Para isso, é necessário um definição dos termos de busca (strings de busca) que foram
aprofundamento no setor público com intuito de conseguir elaborados a partir da identificação da população (setor público),
conhecimento sólido de maneira a evitar viés nas pesquisas. intervenção (terceirização de sistemas de informação,
terceirização de tecnologia da informação), em conjunto com os
Este artigo apresenta os resultados de uma RSL, que teve como termos correlatos à população e intervenção identificadas. Por
objetivo realizar um levantamento de artigos existentes sobre os fim, foram realizadas combinações com palavras chaves e
riscos, benefícios e motivações que envolvem a terceirização de operadores booleanos.
sistemas de informação no setor público. A intenção foi sumarizar
as informações obtidas, com finalidade de criar um arcabouço Assim sendo, foram construídas strings de busca com termos em
teórico que servirá como fonte para embasar um survey com português e em inglês para cada questão.
intuito de confrontar as visões dos fornecedores e contratantes a Strings para Q1
respeito dos riscos, benefícios e fatores motivadores da parceria
público-privada que envolvem sistemas de informação. Inglês: (("information systems outsourcing" OR "information
technology outsourcing" OR "IS outsourcing" OR "IT
A estruturação do restante do artigo é a seguinte: na seção 2 é Outsourcing") AND ("public sector" or "public service" OR
apresentado o procedimento metodológico, onde serão vistos os "public administration") AND (risk* or barrier* OR obstacle* or
conceitos de RSL, como foram definidos o protocolo e as etapas challeng* or hurdle*))
da presente pesquisa; na seção 3 são exibidos os resultados das
buscas e seleções em torno das perguntas de pesquisa, além de
uma sucinta discussão. Por fim, as conclusões são apresentadas na Português: (("terceirização de sistemas de informação OR
seção 4. terceirização de tecnologia da informação OR terceirização de SI
OR terceirização de TI) AND ("Setor público" OR "Serviço
2. PROCEDIMENTO METODOLÓGICO público" OR "administração pública") AND (riscos OR
2.1 Revisão Sistemática obstáculos OR barreiras OR desafios)).
As revisões sistemáticas de literatura (RSL) são estudos Strings para Q2
secundários que adotam um processo de pesquisa
metodologicamente bem definido para identificar, analisar e Inglês: (("Information systems outsourcing" OR "Information
interpretar as evidências disponíveis relacionadas a uma ou mais technology outsourcing" OR "IS outsourcing" OR "IT
questões de pesquisa especificas [8]. A RSL difere dos outros Outsourcing") AND ("Public sector" OR "Public service" OR
tipos de revisões pelo fato de ser formalmente planejada e "Public administration") AND (motivat* OR cause OR reason*))
executada de maneira metódica, dessa forma garante a Português: (("Terceirização de sistemas de informação” OR
reprodutibilidade da pesquisa, proporcionando maior credibilidade “terceirização de tecnologia da informação” OR “terceirização de
científica. SI” OR “terceirização de TI”) AND ("setor público" OR "serviço
O ponto de partida de uma revisão sistemática se dá na elaboração público" OR “administração pública") AND (motivação OR
do protocolo de pesquisa, disponível em https://goo.gl/Yhg9Nh, causa))
onde são listadas as questões de pesquisa e os procedimentos que
Strings para Q3
serão adotados durante a execução da revisão. Dessa forma, [9]
determinaram um conjunto de fases que são essenciais para o Inglês: (("information systems outsourcing" OR "information
desenvolvimento de uma RSL, sendo elas: planejamento, technology outsourcing" OR "IS outsourcing" OR "IT
execução e análise dos resultados. Outsourcing") AND ("public sector" OR "public service" OR
As fases definidas por [9], e os conceitos de revisão sistemática "public administration") AND (benefit* OR advantage*))
abordados por [8], serviram como diretrizes para a elaboração da Português: (("terceirização de sistemas de informação OR
metodologia do presente trabalho. Os três aspectos (riscos, terceirização de tecnologia da informação OR terceirização de SI
benefícios, motivações) escolhidos como base para esta revisão OR terceirização de TI) AND ("setor público" OR "serviço
emergiram de estudos bibliográficos realizados por dois alunos de público" OR “administração pública") AND (benefícios OR
iniciação científica que trabalharam neste artigo, em conjunto com vantagens))
a orientadora. Observou-se durante o levantamento da literatura
que esses aspectos são costumeiramente citados quando se trata de 2.3 Seleção das bases de dados
TSI de maneira geral. O propósito foi de ampliar os
Os termos de busca definidos foram aplicados nas bases de dados
conhecimentos acerca da terceirização de SI no setor público em
estabelecidas no protocolo da pesquisa. A seleção das bases se
âmbito mundial. Dessa forma, foram elaboradas três questões de
deu a partir do reconhecimento acadêmico em âmbito nacional e
pesquisa para serem respondidas após a obtenção dos estudos
internacional. Com isso as selecionadas para a pesquisa foram:
primários. São elas:
Periódicos da CAPES; ACM Digital Library; Science Direct; ISI
Q1. Quais os riscos da terceirização de sistemas de informação Web of Science; Scopus; IEEE Xplore Digital Library; Google
no setor público? Scholar.
Q2. Quais as motivações da terceirização de sistemas de Vale salientar que as respectivas bases de dados possuem
informação no setor público? particularidades com relação ao seu mecanismo de pesquisa, com
isso surgiu a necessidade de realizar pequenas adequações nas
Q3. Quais as benefícios da terceirização de sistemas de
strings para se adequar a base e assim obter resultados
informação no setor público?
satisfatórios.
10
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016
2.4 Estratégias de inclusão e exclusão A seguir são apresentadas as respostas paras as questões de
pesquisa tendo como base os aspectos mais citados nos artigos
O procedimento para a inclusão e exclusão de documentos que selecionados:
retornaram após a aplicação dos argumentos de pesquisa (strings
de busca) nas bases de dados se deu em dois momentos. No Q1. Quais os riscos da terceirização de sistemas de
primeiro momento, foram definidos no protocolo de pesquisa informação no setor público?
como critérios de inclusão: a disponibilidade do documento na
internet para download e que esteja em formato PDF, Constatou-se que dos 24 documentos, 9 abordavam os riscos de
disponibilidade do documento em língua inglesa ou portuguesa, e maneira primaria, e 4 de maneira secundaria. Dentre os resultados,
a delimitação do tempo de publicação de dez anos, ou seja, conforme a Tabela 2, ficou evidente a preocupação com questões
publicados entre 2005 a 2015, tendo em vista que esta etapa da de segurança, uma vez que 6 dentre os 13 artigos que falam de
pesquisa iniciou em novembro de 2015 e encerrou em março de riscos, citam esse ponto. Isso ocorre, principalmente, pelo fato de
2016. Por fim, foram aceitos documentos que tratam de forma que os gestores das instituições públicas se preocupam
primária ou secundária sobre motivações, riscos e benefícios da demasiadamente com possíveis vazamentos e acesso não
TSI no setor público. Dessa forma, os critérios de exclusão foram autorizado às informações que são confidenciais. Além de
elaborados de forma que contrariem os critérios de inclusão. prejudicar a organização e a população, pode também manchar a
imagem da corrente gestão do governo.
No segundo momento foi realizada uma análise do título e das
palavras chaves com finalidade de reduzir a enorme gama de Observou-se também o elevado número de citações com relação a
resultados que havia sido retornada após a aplicação dos dependência excessiva do fornecedor, fator que é refletido a partir
argumentos. Ao término dessa análise restaram 239 documentos. de outros riscos como, por exemplo, a perda de habilidades
Eles tiveram seu resumo e conclusão lidos para confirmar se críticas de TI. É comum que haja uma acomodação quando um
estavam de acordo com o que foi estabelecido nos critérios de serviço é prestado de maneira eficiente, e isso acarreta na falta de
inclusão, e no fim restaram 24 documentos relevantes, que foram interesse da organização em fazer novos investimentos internos
utilizados para responder as questões propostas pela revisão. A para capacitação e melhoria das atividades. Apesar da perda de
tabela 1 exibe os resultados obtidos durante toda a fase de busca e habilidades de TI estar como um dos menos citados na tabela,
seleção dos documentos primários. possui características gradativas, visto que a dificuldade em
manter tais habilidades abre espaço para a dependência.
Tabela 1. Resultados das buscas por estudos primários nas
bases de dados. Tabela 2. Principais riscos abordados nos artigos selecionados.
QTD DE FREQUÊNCIA
1ª Seleção 2ª Seleção RISCOS
CITAÇÕES DE CITAÇÕES
Fonte Quantidade (Título e (Abstract e
Questões de segurança 6 46%
Palavras-chave) Conclusão)
Dependência excessiva do fornecedor 6 46%
Periódicos Capes 32 7 4 Perda de competências centrais em TI 5 38%
ACM Digital library 45 13 1 Custos ocultos 4 31%
Science Direct 564 28 3 Perda de controle da atividade terceirizada 3 23%
ISI Web of Science 8 8 1 Falta de experiência do fornecedor na atividade Terceirizada 3 23%
Scopus 26 7 1 Diminuição da moral dos funcionários 3 23%
IEEE 13 7 1 Qualificação dos funcionários do fornecedor 3 23%
Google Scholar 2716 169 13 Perda de flexibilidade dos serviços de TI 3 23%
Total 3404 239 24 Diferenças culturais 3 23%
Instabilidade financeira do fornecedor 2 15%
3. RESULTADOS E DISCUSSÕES Perda de habilidades criticas de TI 2 15%
Dos 24 artigos que restaram após os processos de seleção,
identificou-se que, em alguns casos, um mesmo artigo tratava de Q2. Quais as motivações da terceirização de sistemas de
mais de um dos assuntos pesquisados: riscos, motivações e informação no setor público?
benefícios. O Gráfico 1 mostra o número de artigos que está A Tabela 3 sinaliza que a motivação relacionada a direcionar o
diretamente ligado a cada uma das perguntas de pesquisa, foco para as competências essenciais foi a mais citada. Em
separando pelas bases de dados onde foram encontrados. No total, segundo lugar está a redução de custos, que geralmente é a mais
17 artigos abordaram sobre motivações, 13 sobre riscos e 4 sobre citada nos estudos voltados para o setor privado. A intensidade de
benefícios. citações sobre este fator é compreendida pela possibilidade de
Gráfico 1. Quantidade de artigos por bases de dados que direcionamento do foco da empresa para as atividades principais,
falam em Motivação, Risco ou Benefício. com canalização dos investimentos financeiros que seriam feitos
no setor de TI sendo remanejados para as tarefas centrais. Outra
20 motivação bastante citada foi a busca pela melhoria na qualidade
15 dos serviços, viabilizada pelo acesso às novas tecnologias e novas
10 Motivações expertises. Isso se dá pelo fato de os fornecedores de serviços
5 terceirizados geralmente dispõem de recursos humanos e
0 Riscos tecnológicos mais capacitados e avançados, possibilitando a
substituição de tecnologias defasadas e suprindo a falta de
Benefícios profissionais, às vezes causada pela inexistência de cargos
específicos.
11
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016
Tabela 3. Principais aspectos motivadores citados nos artigos flexibilidade dos serviços de TI, melhoria dos produtos e serviços
selecionados. e acesso a novos recursos e habilidades.
Como trabalhos futuros pretende-se utilizar os conhecimentos
QTD DE FREQUÊNCIA
MOTIVAÇÃO
CITAÇÕES DE CITAÇÕES
gerados por este artigo para compor um survey para aferir a
opinião de gestores públicos estaduais e municipais sobre
FOCO NA COMPETÊNCIA PRINCIPAL 12 71% motivações, benefícios e riscos da parceria público-privada de
REDUÇÃO DE CUSTOS 11 65%
sistemas de informação, com vistas a atestar ou refutar as
MELHORIA QUALIDADE DOS SERVIÇOS 10 59% informações preliminares obtidas na revisão sistemática.
ACESSO A NOVAS TECNOLOGIAS/HABILIDADES 8 47%
FLEXIBILIDADE PARA RESPONDER RAPIDAMENTE
ÀS MUDANÇAS NA ÁREA DE TI
6 35% REFERÊNCIAS
ESCASSEZ DE RECURSOS INTERNOS 6 35% [1] GORLA, Narasimhaiah; CHIRAVURI, Ananth. 2011.
ACESSO A EXPERTISE 5 29% Information systems outsourcing success: a review. In: 2010
FALTA DE CONHECIMENTO INTERNO/EXPERTISE 3 18%
COMPARTILHAMENTO DE RISCOS 2 12%
International Conference on E-business, Management
REDUÇÃO DE PROBLEMAS ROTINEIROS DE TI 2 12% and Economics. 2011. p. 170-174.
ATENDIMENTO A DEMANDAS URGENTES DE TI 1 6% [2] BERGAMASCHI, S. Modelos de gestão da terceirização
TRATAMENTO DE FUNÇÕES DIFÍCEIS DE GERENCIAR
1 6% de Tecnologia da Informação: um estudo exploratório. Tese
OU FORA DE CONTROLE
PRESSÕES EXTERNAS 1 6%
(Doutorado em Administração) - Universidade de São Paulo,
PROBLEMAS COM RECRUTAMENTO DE PESSOAL 1 6% São Paulo, 2004.
[3] PRADO, E. P. V.; TAKAOKA, H.. 2000. Terceirização da
Q3. Quais as benefícios da terceirização de sistemas de
Tecnologia de Informação: Uma Avaliação dos Fatores que
informação no setor público?
Motivam sua Adoção em Empresas do Setor Industrial de
Apesar de restarem poucos documentos que falam em benefícios, São Paulo. Dissertação (Mestrado em Administração de
foi possível ter acesso às informações necessárias para responder Empresas) - Universidade de São Paulo, São Paulo, 2000.
a pergunta supracitada. Em meio aos 24 artigos selecionados, 4 [4] LOH, L.; VENKATRAMAN, N.. 1992. Diffusion of
deles citaram algum tipo de benefício. Conforme ilustrado na information technology outsourcing: influence sources and
Tabela 4, a metade dos artigos apontou que um dos principais the kodak effect. Information Systems Research, 1992.
benefícios é o acesso a novas capacidades e competências, visto
que, em muitas ocasiões, a equipe interna de TI não tem [5] DIBBERN, J. et al.. 2004. Information Systems
habilidade e expertise necessária para gerenciar problemas mais Outsourcing: A Survey and Analysis of the Literature. The
complexos e atender novas demandas. Consequentemente, junto DATA BASE for Advances in Information Systems, v.35,
das novas competências e recursos, tecnologias inovadoras n.4, 2004.
aparecem como o segundo mais citado, seguido da melhoria na [6] DOMBERGER, Simon. 1998. The contracting
qualidade dos serviços, que pode ser compreendido como organization: a strategic guide to outsourcing. Oxford:
resultado da soma dos demais benefícios. Oxford Univ. Press, 1998. 229p.
Tabela 4. Principais benefícios citados nos artigos. [7] LEITE, J. C.. 1994. Terceirização em informática. São
Paulo: Makron Books, 1994.
QTD DE FREQUÊNCIA
BENEFÍCIOS [8] KITCHENHAM, B. 2004. Procedures for performing
CITAÇÕES DE CITAÇÕES
systematic reviews. Keele, UK, Keele University, v. 33, n.
ACESSO A NOVAS CAPACIDADES, COMPETÊNCIAS E RECURSOS 2 50%
TR/SE-0401, p. 28, 2004.
12
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016
13
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016
em um único provedor de serviços de nuvem, nesse caso, o GAE A plataforma de desenvolvimento GAE possui três formas de
(Google App Engine). armazenamento não relacionais (Bigtable, Blobstore, Google
Storage), todas elas utilizando a uma estrutura semelhante de
Para facilitar a comparação, decidiu-se que ambas aplicações armazenamento, porém com algumas diferenças. O Bigtable é a
fossem desenvolvidas utilizando uma mesma linguagem de forma mais simples delas, porém limita o armazenamento de
programação e um mesmo ambiente de desenvolvimento. Nesse arquivos do tipo blob (binários) a no máximo 1MB. O Blobstore
contexto, foram selecionados a linguagem Java e o ambiente de permite o armazenamento de arquivos maiores em relação ao
desenvolvimento integrado Eclipse. É importante destacar que o Bigtable, mas ele força o uso de uma URL única de upload [9].
GAE também suporta implantação de aplicações desenvolvidas
em Python e PHP [7]. Em relação a desempenho, o Google Storage é a melhor das três
opções de armazenamento do GAE. Adicionalmente, ele é de
simples utilização após seu funcionamento ser compreendido. O
Google Storage tem muito em comum com o Amazon S3, pois os
dois usam o mesmo protocolo e possuem a mesma interface
RESTful, considerando que as bibliotecas desenvolvidas para
trabalhar com o S3, como a JetS3t, também funcionam no Google
Storage [9].
Como a aplicação desenvolvida não necessita da utilização de
blobs (binários) com tamanhos grandes e nem muito espaço de
armazenamento, foi selecionado o modelo do Bigtable,
Figura 1. Interface gráfica utilizada. considerando que o mesmo oferece recursos suficientes para o
desenvolvimento da aplicação em nuvem proposta, além de
Com o mesmo objetivo, foi decidido que ambas aplicações simplificar a implementação.
deveriam utilizar o mesmo layout para a interface gráfica,
conforme ilustrado pela Figura 1. Devido a utilização da mesma Para persistir um objeto no GAE, primeiramente é necessário
linguagem de programação para o desenvolvimento das duas obter as informações preenchidas pelo usuário nos formulários
aplicações, foi possível utilizar a mesma tecnologia para JSF, o que é possível utilizando métodos específicos do Manager
elaboração de interfaces, nesse caso, o framework JSF (Java Bean.
Server Faces). A Figura 4 apresenta trechos de código que foram utilizados para
realizar a persistência de objetos nas aplicações desenvolvidas. É
3.2 Persistência de dados possível observar que os dois métodos são bastantes similares,
A manipulação de dados pela aplicação convencional foi porém o método da aplicação em nuvem utiliza o ofy(), que é
realizada utilizando uma API da linguagem Java que descreve uma instancia da biblioteca Objectify utilizada para persistir os
uma interface comum para frameworks de persistência de dados dados na nuvem [8].
chamada JPA (Java Persistence API) além do sistema gerenciador
de banco de dados PostgreSQL. O servidor de aplicações public Long save(Cliente c) {
GlassFish também foi utilizado para implantar a aplicação. (a) ofy().save().entity(cliente).now();
return cliente.getId();
No GAE somente é possível realizar o armazenamento utilizando }
persistência de dados, não havendo possibilidade de selecionar um
sistema gerenciador de banco de dados, considerando que essa public void persist(Cliente c) {
(b) em.persist(c);
tarefa é realizada de forma transparente e o programador não
precisa conhecer detalhes sobre o SGBD utilizado. O GAE }
fornece um framework de persistência que permite o Figura 4. (a) Persistência no GAE. (b) Persistência JPA.
armazenamento dos objetos instanciados, chamado Objectify [8].
A Figura 2 ilustra a interação entre os componentes importantes 3.3 Detalhes do provedor de nuvem
para realizar a persistência de dados na aplicação convencional e O desenvolvimento da aplicação em nuvem necessita de algumas
na aplicação desenvolvida para nuvem. atividades adicionais em relação ao desenvolvimento da aplicação
convencional, como por exemplo, importar a biblioteca Objectify,
instalar o plugin GAE no IDE Eclipse e editar o arquivo de
configuração web.xml (Figura 3). Nesse arquivo, um elemento
listener deve indicar a classe Java responsável pelo registro das
entidades (classes) que serão persistidas no Objectify (Figura 3a).
A configuração do Objectify também precisa ser descrita no
arquivo web.xml para que o servidor tenha conhecimento que o
framework Objectify está sendo utilizado no projeto (Figura 3b).
O controle de threads na aplicação convencional é gerenciado
pelo próprio JSF. Entretanto, na aplicação em nuvem, esse
controle é realizado pelo GAE, obrigando o desenvolvedor a
desabilitar tal funcionalidade para evitar incompatibilidades com
o JSF (Figura 3c). Ainda dentro desse arquivo, deve ser indicado
o padrão de projeto que será utilizado pelo framework JSF, nesse
Figura 2. Interação entre os componentes. (a) Aplicação caso em específico (Figura 3d), o Front Controller [10].
convencional. (b) Aplicação em nuvem.
14
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016
(a) <!-- Registro de entidades no Objectfy --> uma conta do Google. Cada conta pode ter mais de uma aplicação
<listener> implantada no GAE, porém cada aplicação possui um
<listener-class>
identificador para diferenciá-la das outras. Por essa razão, ao
config.ConfigStartup
</listener-class> realizar uma implantação ou atualização, é necessário fornecer o
</listener> título do projeto e o Application Identifier que foram previamente
criados no próprio site do GAE.
(b) <!-- Configuração do Objectify -->
<filter>
<filter-name>
ObjectifyFilter
</filter-name>
<filter-class>
com.googlecode.objectify.ObjectifyFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>
ObjectifyFilter
</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
(d) <!-- Define o padrão de projeto --> Figura 6. Implantação de aplicação no GAE via Eclipse
<servlet>
<servlet-name>Faces Servlet</servlet-name> 4. CONSIDERAÇÕES FINAIS
<servlet-class>
javax.faces.webapp.FacesServlet
O desenvolvimento da aplicação em nuvem no GAE é bastante
</servlet-class> similar em relação ao desenvolvimento de uma aplicação Web
<load-on-startup>1</load-on-startup> para ambientes não classificados como nuvem, considerando a
</servlet> utilização da linguagem Java e o cenário apresentado, pois é
Figura 3. Arquivo web.xml utilizado. possível utilizar os mesmos recursos para ambas, como por
exemplo, JSP (Java Server Pages) e JSF.
3.4 Implantação Em relação ao armazenamento de dados, nesse caso em
A implantação de ambas aplicações apresenta complexidade
específico, pode-se dizer que um desenvolvedor que tem
baixa. Para implantação da aplicação Web convencional no
conhecimento em JPA teria maior facilidade para a desenvolver a
servidor GlassFish é necessário utilizar o console administrativo
aplicação em nuvem do que outro que domina somente o
do mesmo (Figura 5) por meio de um navegador Web.
armazenamento de dados utilizando técnicas que não realizam a
Posteriormente deve-se abrir a aba Applications, no canto
persistência de objetos, como por exemplo, JDBC.
esquerdo do console, selecionar o botão deploy e indicar o
caminho local do projeto a ser implantado. Para atualização da Mesmo sendo uma comparação com abrangência restrita, devido a
aplicação deve-se utilizar o mesmo procedimento, mas deve-se utilização de um único provedor de serviços de nuvem e uma
pressionar o botão Redeploy e selecionar localmente o projeto a única linguagem de programação, foi possível perceber que o
ser atualizado. conhecimento da filosofia do provedor de nuvens, sua API e seus
mecanismos de armazenamento são muito importantes para o
desenvolvimento de aplicações para o mesmo. Esses
conhecimentos demandam tempo de aprendizado significativo,
principalmente para programadores inexperientes, como foi o caso
deste trabalho
Como trabalho futuro, pretende-se a utilização de outros
provedores de nuvem e outras linguagens de programação para
realizar a comparação. Também pretende-se utilizar outros
parâmetros que impactam na decisão de migrar uma aplicação
convencional para nuvem, como por exemplo, desempenho e
Figura 5. Console administrativo do Glassfish custo de hospedagem.
15
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016
6. REFERENCIAS computing-united-states-businesses-will-spend-13-billion-
on-it/>. Acesso em: 10 Mar 2016.
[1] Mell, Peter, and Tim Grance. "The NIST definition of cloud [7] Google App Engine Docs. Disponível em: <https://cloud.
computing." Communications of the ACM 53.6 (2010): 50. google.com/appengine/docs>. Acesso em: 10 Mar. 2016.
[2] Coulouris, George F., Jean Dollimore, and Tim Kindberg. [8] Schnitzer, J. et. al. Introduction to Objectify: Loading,
Distributed systems: concepts and design. pearson education, Saving, and Deleting Data. Disponível em: <https://github.
2005. com/objectify/objectify/wiki/BasicOperations>. Acesso em:
10 Mar 2016.
[3] Taurion, C. Cloud Computing-Computação em Nuvem.
Brasport, 2009. [9] Wheeler, J. Armazenamento do GAE com Bigtable,
Blobstore e Google Storage. 2011. Disponível em:
[4] Sosinsky, B. Cloud computing bible. John Wiley & Sons, <www.ibm.com/developerworks/br/library/j-gaestorage/>.
2010. Acesso em: 10 Mar 2016.
[5] Marston, S., et al. "Cloud computing—The business [10] MEDEIROS, H. Padrões de Projeto: Introdução aos Padrões
perspective." Decision support systems 51.1 (2011): 176-189. Front Controller e Command. Disponível em: <http://www.
[6] Mccue, TJ. Cloud Computing: United States Businesses Will devmedia.com.br/padroes-de-projetos-introducao-aos-
Spend U$13 Billion On it. Disponível em: padroes-front-controller-e-command/30644>. Acesso em: 10
<http://www.forbes.com/sites/tjmccue/2014/01/29/cloud- Mar 2016.
16
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016
17
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016
métodos adotados. Na Seção 4 apresentam-se a execução e análise Para desenvolvimento de software, o órgão possui dois processos,
do processo de seleção da ferramenta definido. Na Seção 5, as um baseado na metodologia tradicional e outro processo baseado
considerações finais. no framework Scrum, conhecido como GeDDAS (Gestão de
Demandas de Desenvolvimento Ágil de Software) [15].
2. MÉTODOS ÁGEIS
A metodologia ágil tem atraído um grande interesse da indústria 3.1.2 Processo GeDDAS
de software [6] e a adoção da metodologia tem crescido no setor Dado que, neste trabalho, a identificação e configuração da
público, como mostram os levantamentos feitos por [2], [9], [13] e ferramenta foi realizada para apoiar o processo de
[16]. No levantamento feito pelo TCU [2] é percebido que a desenvolvimento de software do Ministério, nesta seção
abordagem mais adotada tem sido o Scrum. apresenta-se uma breve descrição do processo GeDDAS.
O GeDDAS [15] é composto por seis subprocessos: Planejar
2.1 Scrum Projeto, Planejar Release, Executar Sprints, Atestar Qualidade da
O Scrum é definido como uma estrutura (framework) na qual se Release, Homologar Release e Implantar Release. E também são
pode empregar vários processos ou técnicas [11]. O framework é previstos papéis e artefatos [15].
composto de eventos, papéis e artefatos que auxiliam na busca das
melhores práticas de gerenciamento, orientando atividades de Um dos artefatos definidos é o Backlog do Produto e da Sprint. O
desenvolvimento [11]. Backlog do Produto não é utilizado apenas no subprocesso de
Implantar Release. Assim, a ferramenta adequada ao Ministério
Os eventos que formam o Scrum são: Sprint, Cancelamento da deve apoiar o emprego do Backlog em cada um dos subprocessos
Sprint, Reunião de Planejamento da Sprint, Reunião Diária, por cada um dos papéis responsáveis.
Retrospectiva da Sprint. E os papéis estabelecidos são: Product
Owner (PO), Time de Desenvolvimento e Scrum Master [11]. No emprego do Backlog, os itens: Funcionalidades; Defeitos;
Histórias técnicas; Não Conformidades e Aquisição de
Dentre os artefatos propostos pelo Scrum constam o Backlog do Conhecimento e seus status devem ser monitorados.
Produto e o Backlog da Sprint. Ambos consistem em uma lista dos
requisitos inerentes ao produto que deve ser entregue. No caso do Na Tabela 1 é apresentado o uso do Backlog de acordo com os
Backlog do Produto estão reunidos todos os itens que formam o papéis do processo.
produto completo e no Backlog da Sprint contém os itens
Tabela 1. Relação entre os papéis e a utilização do Backlog
referentes a um incremento de software [11].
Emprego do Backlog Papéis
3. METODOLOGIA DE PESQUISA Visualização dos itens Todos os envolvidos
Dado o objetivo de identificação, seleção e configuração de uma
Revisão (edição) dos itens Proprietário do Produto,
ferramenta para um órgão brasileiro, essa pesquisa é considerada
Time de Desenvolvimento
descritiva [8], que geralmente utiliza a técnica de levantamento.
Também foi empregada a técnica de estudo de caso. Adição de itens de funcionalidades Proprietário do Produto,
Usuários-chave
Este trabalho foi dividido em três principais fases: Planejamento;
Adição de itens de não conformidade Proprietário do Produto,
Coleta e Análise de dados; e Redação dos resultados. No Equipe de Qualidade
planejamento foram previstas duas vertentes: caracterização do
objeto do estudo de caso, na qual são identificadas as demandas Adição de itens de defeito Equipe de Qualidade
do processo de desenvolvimento e caracterizados os Adição de itens de história técnica e Time de Desenvolvimento
relacionamentos do órgão com seus usuários de negócio e seus aquisição de conhecimento
fornecedores, e outra vertente, relacionada à definição e execução Priorização dos itens Proprietário do Produto
de um processo de seleção de ferramentas, composto pelas etapas:
Identificação, Seleção e avaliação; Validação; e Treinamento. Na Para a implantação do processo foi realizado um projeto-piloto
fase Coleta e análise de dados o processo estabelecido foi [15], no qual a gestão do Backlog do Produto era realizada em
executado. Os resultados foram redigidos. uma planilha. Dessa forma, foi identificada a necessidade de uma
ferramenta que apoiasse o processo principalmente o Backlog.
3.1 Caracterização do Objeto
Foram caracterizados o órgão e seu processo de software. 3.2 Processo de Seleção da Ferramenta
O processo de seleção de ferramentas é composto pelas etapas:
3.1.1 Ministério identificação, seleção e avaliação, validação e treinamento.
O setor de TI do órgão é composto por uma Coordenação-Geral,
uma Coordenação de Informática, duas Divisões, de Recursos e 3.2.1 Identificação
Administração de Rede e de Desenvolvimento de Sistemas e uma Na etapa de identificação foi realizada uma pesquisa bibliográfica
unidade de Serviço de Atendimento ao Usuário. para levantamento das ferramentas e definição de critérios de
No contrato vigente, o Ministério possui quatro fornecedores: seleção de ferramentas adequadas ao Ministério. A revisão foi
apoio à gestão, responsável por auxiliar nas atividades de realizada pela busca em bases de dados, busca manual em
acompanhamento dos projetos e sistemas; apoio técnico, que conferências brasileiras e utilização do processo de snowballing2.
auxilia na garantia da qualidade; fábrica de software, responsável
pelo desenvolvimento de sistemas e pela manutenção dos legados
do Ministério; infraestrutura de TI, responsável pela 2
infraestrutura. Identificação de estudos a partir de um estudo, através das
referências ou dos trabalhos que citam este estudo. [10]
18
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016
19
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016
7. REFERÊNCIAS [15] Sousa, T.L. de, Figueiredo, R.M. da C., Venson, E.,
Kosloski, R.A.D. and Ribeiro Junior, L.C.M. 2016. Using Scrum
[1] Azizyan, G., Magarian, M.K. and Kajko-Matsson, M. 2011.
in Outsourced Government Projects: An Action Research. 2016
Survey of Agile Tool Usage and Needs. Agile Conference
49th Hawaii International Conference on System Science. (Jan.
(AGILE), (Aug. 2011), 29–38.
2016), 5447-5456.
[2] Brasil, Tribunal de Contas da União 2013. Acórdão 2314-
[16] Vacari, I. and Prikladnicki, R. 2015. Adopting Agile Methods
33/13-Plenário. Levantamento de Auditoria. Conhecimento acerca
in the Public Sector: A Systematic Literature Review.
da utilização de métodos ágeis nas contratações para
International Conference On Software Engineering And
desenvolvimentos de ágeis pela Administração Pública Federal.
Knowledge Engineering, 27, 2015.
[3] Brasil, Tribunal de Contas da União 2012. Guia de Boas
20
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016
Um Plugin para Discretização de Dados para Suporte à
Metodologia Agile Rolap
Alternative Title: A Plugin for Discretization of Data to Support the
Methodology Agile Rolap
Luan S. Melo, André Menolli, Glauco C. Silva, Ricardo G. Coelho, Felipe Igawa Moskado
Universidade Estadual do Norte do Paraná – UENP
Centro de Ciências Tecnológicas
Rod BR369 Km 64
luan.sm50@gmail.com, {menolli, glauco, rgcoelho}@uenp.edu.br, felipe.moskado@gmail.com
RESUMO ABSTRACT
Os ambientes de Business Intelligence (BI) dão apoio aos The environments of Business Intelligence (BI) provide support to
administradores das empresas a tomarem decisões mais precisas managers of companies to make more accurate decisions for your
para sua organização. Esses ambientes, em geral, utilizam da organization. These environments currently using the Data
tecnologia de Data Warehouse (DW), que é um banco de dados Warehouse technology (DW), which is an integrated database and
integrado e voltado para consultas. Entretanto a construção de um prepared for query. However, the construction of a DW is a costly
DW é um processo custoso e demorado, tornando então um and time consuming process, so making an obstacle mainly for
obstáculo principalmente para pequenas e médias empresas. Com small and medium companies. In order to reduce this problem,
o intuito de reduzir este problema foi proposta a metodologia was proposed the Agile ROLAP methodology, which aims to
Agile ROLAP, que visa auxiliar na utilização de ferramentas assist in the use of OLAP tools from relational databases of
OLAP a partir das bases relacionais das empresas. Porém, os companies. However, managers most often need to view
analistas na maioria das vezes necessitam visualizar os dados categorized data (discretized data), so sometimes these
categorizado (dados discretizados), sendo assim, algumas vezes é transformations are needed. Nevertheless, the methodology
preciso realizar essas transformações. No entanto, a metodologia recommends not make changes in the physical basis and also to
preza por não fazer modificações dentro das bases físicas e minimize the process Extract, Transform and Load (ETL), in
também por minimizar o processo de Extract, Transform and which it is necessary to make the data discretization. Thus, this
Load (ETL), o qual é necessário para fazer a discretização dos work presents the development of plugins for Kettle tool that
dados. Assim, este trabalho apresenta o desenvolvimento de assists in the data discretization helping that the physical
plugins para a ferramenta Kettle e que auxilie na discretização de databases are not changed.
dados de forma com que não sejam alteradas as bases originais.
1. INTRODUÇÃO
Categories and Subject Descriptors As empresas com o decorrer do tempo guardam uma grande
H.2.7 [Database Management]: Database Administration – data quantidade de informações sobre a sua organização, e no intuito
warehouse and repository de utilizar as informações futuramente, muitas utilizam os
H.2.8 [Database Management]: Database Applications – data ambientes de Business Intelligence (BI),no qual estes ambientes
mining auxiliam na análise dos dados de forma eficiente e na tomada de
decisão dos administradores da empresa, facilitando também o
General Terms conhecimento sobre a sua organização.
Algorithms, Management, Performance.
A implementação de BI demanda custo e tempo, tornando assim
Keywords algo não trivial, pois é necessário um Data Warehouse (DW), no
Data Warehouse, Agile Rolap, Business Inteligence, qual tem como finalidade armazenar informações sobre as
Discretização. atividades da empresa de forma consolidada.
O processo de criação de um DW normalmente é realizado de
modo iterativo, porém, mesmo assim são necessários em torno de
15 meses ou mais para o que entre em produção o primeiro
Permission to make digital or hard copies of all or part of this work for módulo[1]. Sendo assim, foi proposto o método Agile ROLAP, no
personal or classroom use is granted without fee provided that copies are
qual tem como seu objetivo corrigir alguns problemas encontrados
not made or distributed for profit or commercial advantage and that
copies bear this notice and the full citation on the first page. To copy na implantação de um DW.
otherwise, or republish, to post on servers or to redistribu-te to lists, O objetivo da metodologia Agile ROLAP é permitir uma
requires prior specific permission and/or a fee.
implementação de forma ágil de ambientes de BI em que se
SBSI 2016, May 17–20, 2016, Florianópolis, Santa Catarina, Brazil. utilizem bancos de dados relacionais, e ao mesmo tempo permitir
Copyright SBC 2016. a utilização de ferramentas OLAP projetadas para ambientes
tradicionais por meio de um servidor ROLAP[2].
21
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016
No entanto, é proposto no Agile ROLAP, que se utilize um baseado nas informações geradas, assim podendo o administrador
mecanismo intermediário, no qual permita que os dados de conhecer melhor sobre o seu negócio além de possibilitar uma
diversas fontes de dados sejam integrados em uma única base, melhor competição no mercado.
fazendo com que se mantenha o conceito de DW. Porém na Na Figura 1 é mostrado como é o funcionamento do Agile
maioria das vezes os dados das bases relacionais são de forma ROLAP e a função de cada etapa apresentada na Figura 1 é
continua, isto é, um dado continuo contém toda informação de um descrita a seguir:
determinado domínio.
Físico: Representa bases de dados originais. Nestas
Entretanto, os administradores das empresas geralmente desejam estão armazenadas em tabelas todas as informações da
que os dados estejam categorizados para que se possa fazer empresa obtidas com o decorrer do tempo.
analise dos mesmo de forma simples. Sendo assim, o processo de
transformar dados contínuos em dados categorizados é FDW: Tem como finalidade agrupar todas as
denominado de discretização[3]. informações da empresa em uma única base de dados.
Estas informações estão armazenadas em formas de
Contudo, não consta na metodologia Agile ROLAP para se tornar tabelas, porém são cópias das tabelas originais que estão
mais simples para sua criação, fez com a diminuísse a etapa do armazenadas no Físico. Quando um usuário acessa a
Extract, Transform and Load (ETL), sendo esta importante para tabela, que está em base utilizando a tecnologia de
realização da discretização de dados. Portanto, é proposto neste Foreign Data Wrapper (FDW), consulta diretamente a
trabalho a realização de um plugin para a ferramenta Kettle, em base de origem de forma transparente, assim o usuário
que auxilie no processo de discretização de dados de forma com acha que está acessando a base no PostgreSQL, mas na
que não se altere as bases originais, mantendo o que foi proposto verdade está consultado os dados da base original. Com
na metodologia Agile ROLAP. isso não tem o risco de que os dados da base original
não sejam modificados, pois o FDW permite apenas o
2. REVISÃO BIBLIOGRÁFICA usuário a fazer consultas.
Esta seção apresenta uma visão geral de conceitos e elementos da Schema: é um arquivo conhecido como schema XML.
construção de um Data Warehouse utilizando a metodologia Agile Esse arquivo realiza o mapeamento dos dados que estão
ROLAP, assim como uma breve revisão sobre discretização de armazenados na forma relacional, no caso no FDW, para
dados. os dados que devem ser mostrados na forma dimensio-
2.1 Agile ROLAP nal. Basicamente esse schema indica onde estão os valo-
res dos atributos na perspectiva multidimensional na
A necessidade de armazenar as dados de uma empresa e fazer uma base de dados relacional.
análise eficiente das mesmas é um processo muito importante no
mercado atual, com isso originou-se o DW, no qual é um depósito OLAP: On-line Analytical Processing (OLAP) é a uma
de dados em que consiste em armazenar uma grande quantidade forma de se analisar grandes dados sobre múltiplas
de dados sobre às atividades de uma empresa. O uso de um DW perspectiva, no qual é amplamente utilizado nos
favorece uma melhor análise de um grande volume de dados por ambientes de BI, pois facilita a análise rápida dos dados
meio de ferramentas OLAP, auxiliando no processo de tomada de gerados na implantação de tal ambiente.
decisão das grandes organizações.
DW é o resultado do processo de transformação dos dados obtidos
de sistemas legados e de bancos de dados transacionais que ficam
organizados sob um formato compreensível ao usuário, auxiliando
na tomada de decisão [4]. Além disso, o DW possui algumas
características no qual se diferencia de outros tipos de modelagem
de dados, que são: Orientação por assunto, Integração, Não
Volatilidade e Não Variação no Tempo.
Figura 1. Funcionamento do Agile Rolap
No entanto, como mencionado anteriormente, o processo de
criação de um DW é custosa e demorada, o que muitas vezes se 2.2 Discretização de Dados
torna um empecilho para que, principalmente pequenas e médias O avanço da computação e tecnologia traz consigo grandes taxas
empresas o implantem. Dessa forma foi proposta a metodologia de informações, sendo elas explosivas, e que tendem a crescer
Agile ROLAP, que tem como intuito mitigar alguns problemas muito mais devido aos novos recursos tecnológicos que estão
encontrados na implantação de BI, principalmente diminuindo surgindo no mercado atualmente [6].
tempo com o processo de Extract, Transform and Load (ETL) .
Apesar da metodologia não utilizar o conceito tradicional de DW, Os dados dessa grande taxa de informação geralmente são
consegue-se por meio de seu uso utilizar as ferramentas Online extraídos de forma continua, isto é, tendem vir com toda a
Analytical Processing (OLAP) disponíveis no mercado. informação de um determinado problema. Os administradores de
empresas normalmente utilizam os dados categorizados para
Assim, a metodologia tem como intuito diminuir o tempo fazerem suas consultas nas bases de dados.
despendido no processo de ETL, pois não há necessidade de criar
Sendo assim, muitas vezes há uma necessidade de se transformar
uma nova base de dados. Estima-se que mais de 1/3 do custo na
os dados contínuos em dados categorizados, e essa transformação
elaboração de um DW se dá no processo de ETL [5]. Isto permite
de dados é denominada de discretização de dados.
que pequenas empresas possam usufruir de ferramentas OLAP
voltadas para ambientes de BI tradicionais, proporcionando A discretização de dados normalmente é aplicadas nos atributos
auxilio na tomada de decisão do administrador da organização que são usados para a análise de classificação ou associação. Para
22
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016
a realização da discretização de dados, ou seja, transformar um Assim, com intuito de manter os preceitos da metodologia, o
dado contínuo em categorizado envolve duas subtarefas: decidir o plugin desenvolvido também utiliza o PostgreSQL para realizar as
número de categorias; e determinar como mapear os valores do suas funcionalidades, pois caso sejam necessários criar novos
atributo contínuo entre essas categorias [3]. Na primeira subtarefa, atributos discretizados, estes serão criados na base intermediária e
os valores dos atributos contínuos são devidos em n intervalos, não nas bases de origem. Dessa maneira, para o funcionamento do
denominado ponto de divisão. Na segunda, os valores de um plugin, são criadas views materializadas dentro da base de dados
determinado intervalo são mapeados para o mesmo valor de intermediária. Uma view pode ser entendida com uma tabela
categoria. virtual, no qual se é criada por uma consulta. Isto acontece pois a
Existem dois tipos de discretização de dados[3]: metodologia Agile ROLAP preza para que não se altere as tabelas
originais novos atributos são criados na view correspondente a
Discretização sem Supervisão: Discretização não-
tabela original, acrescentando um novo campo, sendo este dado
supervisionada gera intervalos sem utilizar a informação da
por uma função que será responsável pela discretização dos dados.
classe, e é a única possibilidade na tarefa de agrupamento.
Esse tipo de discretização possui duas abordagens: largura Os plugins já desenvolvidos para a metodologia Agile ROLAP,
igual (divide a faixa dos atributos em um número de foram implementados na ferramenta Pentaho Data Integration
intervalos especificados pelo usuário) e frequência igual (Kettle), sendo este uma plataforma de integração de dados, que
(tenta colocar o mesmo número de objetos em cada possibilita a análise de dados de forma precisa, além de permitir a
intervalo). obtenção de dados de diversas fonte de dados e permite a
Discretização Supervisionada: Os intervalos são visualização por meio de componentes visuais [7]. Foi
determinados em função dos valores do atributo e da classe desenvolvido um novo plugin pois necessitava de algo que não se
correspondente a cada valor. Esse tipo possui vários alterasse a tabela original e que pudesse fazer discretizações
métodos, sendo um deles a entropia, sendo ela uma das mais utilizando vários atributos.
promissoras para discretização.
Na Figura 2 é apresentada uma interface que mostra o
A discretização de dados consiste em uma das etapas do processo funcionamento da ferramenta Kettle. Nesta interface, pode-se
de Extract, Transform and Load (ETL). Como mencionado observar como é realizado o processo de ETL de forma prática e
acima, ela é realizada para que possa determinar um padrão das simples por meio de plugins que executam tarefas especificas,
informações. sendo então possível a realização de transformações complexas
Um exemplo de uso da discretização dos dados é identificar a nos dados, no qual estes plugins tendem a convergir para um
faixa etária das pessoas que alugam filmes em uma locadora. único objetivo.
Suponha-se que no sistema possua somente a idade da pessoa, Por a ferramenta Kettle ser open source, existem diversos
porém não consta a sua faixa etária, com isto é feita a plugins para as mais várias tarefas da ETL, inclusive que auxiliem
discretização dos dados, transformando a idade da pessoa em na discretização de dados. No entanto, pelas particularidades da
categorias de idade, para que possam ser analisadas futuramente. metodologia Agile ROLAP foi estabelecido que seria necessário o
Contudo, ao realizar uma discretização pode ser necessário a desenvolvimento de um novo plugin, que pudesse ser totalmente
transformação de atributos, no qual se refere a uma transformação integrado à outros plugins já desenvolvidos para dar suporte à
que seja aplicada a todos os valores de um atributo, que é metodologia.
realizado “se a apenas a magnitude de um atributo for importante,
então os valores dos atributos podem ser transformados pegando-
se o valor absoluto” [3]. Por exemplo, se ao invés de ter
armazenado na base de dados a idade das pessoas e sim a data de
nascimento, antes de realizar a categorização dos dados, seria
necessário transformar a data de nascimento em um atributo
contínuo idade.
3. DESENVOLVIMENTO DO PLUGIN
Com o intuito a dar suporte às necessidades do administrador de
empresas que visa consultar as fontes de dados de forma que os
dados estejam categorizados, e para que pudesse agilizar o
processo de implantação de um ambiente de BI utilizando a
metodologia Agile ROLAP, foi desenvolvido um plugin de Figura 2. Pentaho Data Integration (Kettle). Fonte: Pentaho (2016 )
discretização de dados. Sendo assim, o plugin de discretização de dados é apresentado na
O plugin de discretização de dados foi elaborado para ser Figura 3. Como mostrado, este contém alguns campos que devem
integrado a outros plugins que dão suporte à metodologia Agile ser preenchidos para o funcionamento do mesmo. Existem sete
ROLAP. Em uma das etapas desta metodologia é previsto que os campos dentro do plugins que podem ser preenchidos, porém seis
dados de diversas fontes de dados, sejam agrupados em uma única deles são obrigatórios.
base de dados, utilizando a tecnologia Foreign Data Wrapper O primeiro campo é onde se dá o nome da view materializada
(FDW). Com isso, é feito um mapeamento das bases de dados criada pelo plugin. O segundo campo obrigatório é “connection”,
relacionais para uma base intermediária, sendo esta base criada responsável por fazer a conexão com o banco de dados, esta
dentro do Sistema de Gerenciamento de Banco de Dados (SGBD) conexão serve para pegar os atributos das tabelas e também
PostgreSQL. servirá para indicar onde será criada a view materealizada. O
terceiro campo obrigatório é o campo tabela, responsável por
identificar qual tabela receberá os dados discretizados.
23
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016
O quarto campo é responsável por identificar qual tipo de função Com estes preliminares realizados, pode-se comprovar que o
será usada para discretização, sendo elas: função criadas pelo plugin é útil para a discretização dos dados, fácil de ser utilizado e
usuário; funções próprias do banco e uma outra que é nova o mesmo agiliza o processo de discretização dos dados, pois o
função. Cada função tem um objetivo especifico para mesmo trabalha de forma intuitiva. Por fim, verificou-se que o
discretização dos dados. mesmo está totalmente de acordo com a metodologia Agile
ROLAP, que era um dos principais objetivos do plugin.
O quinto campo, obtém as funções já implementadas, porém este
campo só é liberado caso seja escolhida no campo “tipo de Como principal limitação, constou-se que para utilização do
função”, a opção diferente de “nova função”. plugin é necessário o entendimento do mecanismo de criação de
funções por meio de PL/SQL.
O sexto campo conterá atributos no qual a função receberá para
fazer a discretização de dados. Para cada atributo selecionado é 5. CONSIDERAÇÕES FINAIS
necessário clicar no botão “adicionar” para que o mesmo possa ser Com a proposição da metodologia Agile ROLAP [2], muitos
vinculado a regra da função. desafios surgiram na sua implantação, principalmente por não
existir ferramentas específicas para este fim. Com o tempo, foi
O sétimo e último campo, só irá aparecer caso, no campo “tipo de
sendo percebido, que novos plugins eram necessários para que a
função”, for selecionado o atributo “nova função”. Neste caso irá
metodologia se tornasse viável de ser implantada de forma fácil e
ser exibido um novo campo, que dará a liberdade de se criar uma
rápida, e assim atingir o seu principal objetivo. Dentre estes
nova função para discretização dos dados.
plugins identificados como necessários, está o de discretização de
Após todos os campos serem preenchidos, é realizadas então a dados.
discretização dos dados, criando então uma view materializada já Assim, foram estudadas as necessidades específicas que este
com o novo campo criado no qual se refere a discretização dos plugin deveria abordar, assim como este deveria ser integrado a
dados. outros plugins já existentes. Com o uso do plugin desenvolvido,
verificou-se que, apesar de necessitar do entendimento do
mecanismo de criação de funções por meio de PL/SQL, para sua
utilização, os resultados foram satisfatórios, pois o mesmo agiliza
no processo de discretização de dados, já que o mesmo tem uma
interface intuitiva e simples de ser usada.
6. AGRADECIMENTOS
Meu agradecimento ao órgão CNPq (Conselho Nacional de
Pesquisas) pela bolsa que me foi concebida.
7. REFERÊNCIAS
[1] MACHADO, Felipe N. R. “Tecnologia e Projeto de Data
Warehouse: Uma visão multidimensional” São Paulo: Érica
2010 5 ed.
[2] SOUZA, E. B.; MENOLLI, André; COELHO, Ricardo
Figura 3. Plugin de Discretização de Dados Gonçalves. 2014 Uma Metodologia Agile ROLAP para
Implantação de Ambientes de Inteligência de Negócios. Em:
4. RESULTADOS X Escola Regional de Banco de Dados, São Francisco do
A fim de verificar se o plugin desenvolvido é viável para Sul. Anais 10ª. edição da ERBD.
discretização de dados e se adequa à metodologia Agile ROLAP, [3] MENDES, Luciana 2011. Data Mining – Estudo de Técnicas
foram realizados dois testes, utilizando uma base de dados e Aplicações na Área Bancária in Faculdade De Tecnologia
exemplo Postgres, chamada Pagila, pela qual foi inspirada pela De São PauloFATECPaulo FATEC-SP.
Dell DVD Store para elaboração da mesma. [4] KIMBALL, R., Caseta, J. 2004. The Data Warehouse ETL
Os testes foram feitos empregando a tabela “film” e utilizou o Toolkit: Practical Techniques for Extracting, Cleaning,
atributo “length” para fazer a discretização. Este atributo foi Conforming, and Delivering Data, John Wiley & Sons.
escolhido, pois contém a duração de cada filme e também por [5] MENOLLI, André 2006. A Data Warehouse Architeture em
estar na forma continua, tornando necessário a discretização Layers for Science and Technology in Proceedings of the
desses dados para que ele fique na forma categorizada. Definiram- Eighteenth International Conference on Software
se as categorias como sendo: curta, média e longa metragem, Engineering Knowledge Engineering (SEKE'2006), San
conforme encontrado na literatura. Francisco, CA, USA.
No primeiro teste realizado, como não foi encontradas funções [6] BUENO, Michel Ferreira. 2012. Mineração de Dados:
que possam realizar a categorização específica de tamanho de Aplicações, Eficiência e Usabilidade. Em Anais do
filmes, foi necessária a criação de uma nova função, no qual a Congresso de Iniciação Científica do INATEL.
mesma foi elaborada no plugin. [7] PENTAHO. 2014 Pentaho Data Integration: Power to access,
O segundo teste realizado, foi utilizando a mesma função criada prepare and blend all data. Pentaho Corporation Disponível
no teste anterior, porém neste caso, não foi executada a etapa de em: <http://www.pentaho.com/product/data-integration/> em
criação da função, pois a mesma já se encontrava na lista de 2014.
funções criadas.
24
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016
25
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016
audível. Alguns autores já realizaram pesquisas sobre a importância 3. TESTE DE PERCURSO COGNITIVO
de aplicação de métodos de avaliação de usabilidade, que
fundamentalmente foram desenvolvidos para navegação através de O percurso cognitivo é um método de inspeção, realizado por
teclado, em sistemas multimodais (onde há múltiplas interações especialistas, sem a participação de usuários. O Método de
simultâneas de dados e voz) [10], e softwares leitores de tela [13]. Percurso Cognitivo foi proposto em 1994 por Wharton, Rieman,
As técnicas apresentadas também já foram aplicadas em avaliação Lewis e Polson [2]. Seu principal objetivo é avaliar a facilidade de
de usabilidade sistemas web [7]. Porém, este trabalho apresenta aprendizado de um sistema interativo, através da exploração da sua
estas técnicas em sistemas onde o usuário, através de um aparelho interface. Considera principalmente a correspondência entre o
telefônico, liga para um número e interage com um sistema de modelo conceitual dos usuários e a imagem do sistema, no que
resposta audível, e através das técnicas apresentadas, heurísticas de tange à conceitualização da tarefa, ao vocabulário utilizado e à
usabilidade são avaliadas, o que o torna relevante devido ao fato resposta do sistema a cada ação realizada [2]. Objetiva encontrar
deste conjunto de métodos ainda não haver sido aplicado em problemas de usabilidade relacionados à aprendizagem dos passos
interfaces desse tipo. necessários para realizar as tarefas [8]. Permite que os especialistas
simulem o percurso das tarefas realizadas pelos usuários,
A Seção 02 trata dos aspectos conceituais sobre URA. A Seção 3 verificando se a cada passo o usuário conseguiria alcançar o
traz a respeito da Interação Humano Computador, conceitos sobre objetivo correto, evoluindo na interação com a interface [8].
Multimodalidade e URA Multimodal. A Seção 4 apresenta os
procedimentos e métodos adotados para que fosse realizada a A aplicação da técnica consiste em:
avaliação de usabilidade na interface multimodal apresentada. A
a) definir quem são os usuários da interface, analisando suas
seção 5 apresenta os resultados da avaliação realizada, trazendo o
características e comportamentos.
resultado do percurso cognitivo, assim como a Tabela de
Criticidade, onde são realizadas sugestões de melhorias na interface b) definir as tarefas típicas que serão analisadas.
analisada. A Seção 6 apresenta uma reflexão sobre o que foi
realizado, assim como sugestões para a continuação deste trabalho. c) definir a sequência de ações para a realização correta de
cada tarefa.
c) definir a interface a ser analisada, que é a descrição de
2. INTERAÇÃO HUMANO-COMPUTADOR informações necessárias para que as tarefas sejam realizadas, como
requisitos e regras funcionais [8].
(IHC) e UNIDADE DE RESPOSTA AUDÍVEL
(URA)
A URA é um sistema automatizado de atendimento ao usuário 4. PROCEDIMENTOS E MÉTODOS
muito utilizado por empresas de maior porte e de grande
comunicação via telefone. Com ela é possível atender ligações e Para realizar as avaliações de usabilidade em interface de resposta
audível, utilizou-se a técnica do percurso cognitivo [2] juntamente
gerenciá-las em modo espera ou então transferi-las de acordo com
com as heurísticas de usabilidade de Nielsen [12] e os critérios
a especificação que o usuário disca no teclado do telefone. Para o
usuário, não é um sistema muito agradável, pois se vê obrigado a ergonômicos de Bastien e Scapin [1]. Para isso, foi selecionado um
interagir com uma espécie de robô. Já para as empresas, as URA’s sistema de resposta audível de uma empresa de telefonia. O critério
são de grande utilidade, visto que elas substituem pessoas, para a escolha do sistema foi feita com base na experiência do
pesquisador como usuário desta interface e cliente da referida
redirecionam melhor as ligações sabendo exatamente para qual
setor encaminhar as mesmas e podem funcionar 24 horas por dia e empresa. Necessário é mencionar que a experiência do especialista
7 dias por semana, sem interrupções [10][15]. no momento da utilização da interface é importante para a avaliação
do método a ser utilizado, pois como especialista ele precisa antever
As interfaces de interação com computadores tem sido alvo de os possíveis passos que os usuários realizarão para navegar pela
diversas pesquisas nas últimas décadas. A IHC é a área responsável interface.
pelo design, avaliação e implementação de sistemas
computacionais interativos para uso humano. Propicia o A presente pesquisa, classificada como qualitativa [5] [16], tem em
desenvolvimento de sistemas mais amigáveis e úteis, provendo aos sua característica interpretativista [9], a visão de mundo do
pesquisador. Este fato foi levado em consideração na escolha do
usuários melhores experiências [17]. Procura também apoiar o
sistema avaliado e mesmo que tenha sido com base em sua
estudo de interfaces adaptativas e adaptáveis, objetivando melhores
maneiras de interação. experiência pessoal como usuário do sistema e cliente da empresa,
não influenciou nos resultados alcançados.
Alguns autores dizem que o ideal é que interfaces sejam o mais
minimalista possível, para que a operação do equipamento seja
possível com a menor necessidade de habilidade ou conhecimento 4.1 Aplicação do teste de Percurso Cognitivo
prévio. Deve ser intuitiva para qualquer pessoa, invisível, passando
despercebida [10]. Para a aplicação do teste de percurso cognitivo foi criado um
cenário e proposta uma tarefa, que é ligar para a empresa telefonia,
A relação entre um dispositivo de entrada ou saída (microfone,
que aqui será denominada X. O avaliador é o especialista.
teclado, tela sensível ao toque) e uma linguagem de interação
(linguagem natural, manipulação direta) é chamada modalidade.
Consequentemente, a interação multimodal pode ser definida como
a utilização de duas ou mais modalidades para interagir com um 5.1.1 Cenário
sistema [14].
O usuário está enfrentando problemas de navegação e seu provedor
de Internet é a empresa X. Ele já é cliente da empresa há muito
26
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016
tempo, todas as configurações do aparelho estão corretas, porém Para a avaliação do sistema escolhido, foram utilizadas 13
existe um problema de navegação na Internet. Ele deve ligar para a recomendações, sendo que 07 (sete) delas foram escolhidas com
central de atendimento e tentar resolver o problema de navegação. base nos 10 princípios de Jakob Nielsen [12], e 06 (seis) nos
critérios ergonômicos de Scapin e Bastien [1]. O critério utilizado
para a escolha destas recomendações é que, através de estudos do
pesquisador, as recomendações escolhidas são as mais adequadas
5.1.2 Tarefa ao cenário da utilização do sistema de resposta audível. As
Ligar para a empresa X para tentar resolver um problema de recomendações são:
conexão com a Internet. H1. Visibilidade do status do sistema [12] - O sistema deve
informar aos usuários sobre o que está acontecendo, através de
feedback disparados a cada interação ou a cada escolha de opção.
5.1.3 Sequência de ações H2. Correspondência entre o sistema e o mundo real [12] - O
Passo 1 – Aguardar a URA informar qual é a opção referente ao sistema deve ter uma linguagem clara com os usuários. Com
seu problema. Neste caso, o usuário não deve escolher nenhuma palavras, frases e conceitos comuns ao usuário.
opção e deixar a URA conduzir a ligação para a próxima etapa. A H3. Controle do usuário e liberdade [12] - Os usuários
URA informa que se o usuário quiser atendimento para outro eventualmente escolhem algumas funções do sistema por engano e
número, ele deve pressionar asterisco (*) em qualquer momento da deverão precisar de uma “saída de emergência” clara e distinta para
ligação. sair daquela opção indesejada.
Passo 2 – Neste passo, o usuário também não deve escolher H4. Prevenção de erros [12] - Prevenção de erros significa
nenhuma opção, pois a URA o conduz para a próxima etapa para permitir que os erros não aconteçam.
resolver o problema. A URA informa que o usuário receberá um
torpedo com o protocolo inicial do atendimento e dá a opção do H5. Reconhecimento em vez de recordação [12] - O usuário não
usuário de digitar “1” para receber o protocolo naquele momento precisa ter que lembrar da informação anterior para passar para a
ou que ele poderia aguardar em ligação para continuar. próxima etapa.
Passo 3 – Aguardar a URA informar qual é a opção referente ao H6. Flexibilidade e eficiência de utilização [12] - O sistema deve
problema do usuário. Neste caso, o usuário deve escolher a opção atender a ambos os usuários, inexperientes e experientes. Permitir
“5”, que trata de como fazer, receber chamadas e acessar a Internet. que os usuários possam personalizar ações mais frequentes.
Passo 4 – Aguardar a URA informar qual é a opção referente ao H7. Estética e design minimalista [12] - Os diálogos não devem
seu problema. Neste caso, o usuário escolher a opção “1”, “Se não conter informações desnecessárias ou raramente utilizadas, pois
consegue acessar a Internet, digite 1”. irão competir com diálogos mais usuais confundindo ou poluindo a
visibilidade.
Passo 5 – Aguardar a URA informar qual é a opção referente ao
seu problema. Neste caso, escolher a opção 2 “Se você já H8. Condução/convite [1] - O objetivo é conduzir o usuário a um
configurou e ainda permanece com dificuldades para acesso à caminho correto na utilização do sistema.
Internet, digite ‘2’”.
H9. Condução/agrupamento e distinção de itens/agrupamento
e distinção por localização [1] - Proporciona mais facilidade a
todos os tipos de usuário, trata da organização dos itens de
5.1.4 Questões aplicadas à execução do percurso informação levando em conta a relação que estes itens guardam
entre si.
As questões aplicadas serão as seguintes:
H10. Condução/Feedback imediato [1] - Feedback é um retorno
I. Os usuários farão a ação correta para atingir o resultado imediato que o sistema deve oferecer após as ações executadas
desejado? pelos usuários.
II. O usuário perceberá que a ação correta está disponível? H11. Carga de trabalho/Brevidade/ações mínimas [1] -
III. O usuário associará o elemento de interface correto à meta Minimiza e simplifica um conjunto de ações necessárias para o
a ser atingida? usuário alcançar seu objetivo.
IV. Se a ação correta é tomada, o usuário perceberá que H12. Controle explícito/Controle do usuário [1] - Cabe ao
progrediu em direção à solução da tarefa? sistema deixar o usuário no controle dos processos, dando a
liberdade de cancelamento, reinício, retomada, interrupção ou a
finalização.
4.2 Análise heurística H13. Gestão de erros/Correção de erros [1] - Permitir a correção
de seus erros, o sistema deve oferecer meios que permitam que o
Análise heurística é uma técnica de inspeção feita por especialistas, usuário corrija os erros de forma fácil e amigável.
que tomam como base princípios e orientações práticas de
Os problemas encontrados foram classificados em 3 graus de
usabilidade. Segundo o mesmo autor, o objetivo é identificar os
criticidade: alta, média e baixa. Essa classificação tem o objetivo
problemas de usabilidade existentes nas interfaces, através da
de identificar quais são os problemas mais graves, que impedem a
rigorosa aplicação desses princípios durante o processo de análise
interação do usuário com a interface; quais são medianos, que tem
[7].
grande chance de causar problemas na interação; e quais são leves,
que eventualmente podem causar problemas de interação. Os graus
27
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016
de criticidade são proporcionais à prioridade com que os problemas 5.2 Análise Heurística
devem ser solucionados. Problemas de criticidade alta devem ser
resolvidos em curto prazo; problemas médios têm prioridade média A análise heurística foi feita nos passos onde se passam as quatro
de resolução; e problemas de criticidade baixa podem ser perguntas analisadas no percurso cognitivo. Foi criada uma legenda
solucionados em longo prazo. para identificar cada heurística e apresentado na Tabela 02.
A tabela de criticidade é onde estão cruzadas todas as informações
levantadas no percurso cognitivo, quais princípios e heurísticas as
5 RESULTADOS E DISCUSSÕES etapas desrespeitam, e o grau de criticidade que irá informar qual é
a prioridade na manutenção do produto e ainda indica as
Após realizadas as tarefas, foi feito o cruzamento das informações recomendações cabíveis para cada problema.
entre as questões do percurso cognitivo e os passos da tarefa
executada, onde foi avaliado se a etapa do sistema está de acordo Tabela 2 – Tabela de Criticidade
com os critérios de usabilidade escolhidos. Foi definido três tipos
Recomendações
de resposta para as questões: "Sim", "Sim, porém" e "Não”.
Desrespeitadas
Heurísticas
Criticidade
Problema
5.1 Análise do percurso cognitivo
ID
A opção a ser escolhida não H1, Informar a Média
A tarefa consistiu em ligar para a empresa X para resolver um Passo 1 é informada pela URA, H2, opção a ser
problema de conexão com a Internet. A tabela 1 apresenta os Questão II pois ela deixa opção H6, escolhida, não
resultados dos passos realizados pelo especialista ao utilizar a "oculta", nesse caso a H7, deixá-la oculta
opção é "aguardar sem H8, e acrescentar
interface multimodal, relacionando os passos apresentados em digitar nada" e a URA não H10 feedback
5.1.3 e às questões do percurso cognitivo apresentadas em 5.1.4. informa desta forma,
entretanto, somente o
Tabela 01 – Resultado do percurso cognitivo usuário mais experiente
consegue entender isso
Passo 01 Passo 02 Nesse caso a URA está H2, Retirar a Média
Questão I – Sim Questão I – Sim Passo 2 falando sobre torpedo com H6, mensagem
Questão protocolo e não sobre o H7, sobre torpedo
Questão II - Sim, porém a opção a ser Questão II – Sim III suporte que está sendo H8,
escolhida não é informada pela URA, pois buscado o que dificulta no H9,
ela deixa a opção “oculta”. O usuário deve Questão III - Sim, porém somente entendimento da tarefa H10
aguardar e não digitar. A URA, porém, usuários mais experientes O usuário deve aguardar H1, Informar a Média
não informa isto ao usuário. compreenderão o que está sendo Passo 3 vários segundos até a URA H7, opção a ser
solicitado. Questão I informar outros dados e H8, escolhida,
Questão III – Não e II chegar na opção desejada H9 diminuir o
Questão IV – Sim
tempo de
Questão IV – Sim
resposta
Passo 03 Passo 04 Essa opção está junto com H6, Separar as Média
Passo 3 outra na mesma escolha e H7, opções
Questão I - Sim, porém a URA informa Questão I – Sim Questão acaba confundindo o H9
dados sobre conta e usuário deve aguardar IV usuário
Questão II – Sim A falta do feedback do H1, Acrescentar Média
até informar a opção desejada.
Passo 4 sistema deixa o usuário na H6, feedback
Questão III – Sim
Questão II - Sim, porém o usuário deve Questão dúvida, ela não informa que H10
aguardar vários segundos até a URA Questão IV - Sim, porém a falta IV avançou para a próxima
informar outros dados e chegar na opção de feedback do sistema deixa o etapa
desejada. usuário na dúvida, não informando
que o usuário avançou para a
Questão III – Não
próxima etapa. No Passo 1, Questão II e Passo 2, Questão III, praticamente os
Questão IV - Sim, porém essa opção está mesmos princípios foram violados. Elas iniciam com a opção do
junto com outra função na mesma opção, menu a ser escolhida não sendo informada pela URA, deixando
o que confunde o usuário.
opção "oculta". Neste caso a opção é "aguardar sem digitar nada" e
Passo 05 a URA não deixa esta informação explícita. Somente o usuário mais
Questão I – Sim Questão II – Sim Questão III – Sim Questão IV - Sim experiente consegue compreender que deve aguardar, o que
dificulta no entendimento da tarefa fazendo com que a interface
Analisando a Tabela 01, percebe-se que no cruzamento das desrespeite a heurística H1, “Visibilidade do status do sistema”.
respostas fornecidas, a avaliação do percurso identificou 12 Desrespeitou também a heurística H2, “Correspondência entre o
respostas “Sim”, 6 respostas “Sim, porém” e 2 respostas “Não”. sistema e o mundo real”, onde o sistema deve ter uma linguagem
Através desta análise, pode-se concluir que a tarefa proposta neste clara com os usuários. Com palavras, frases e conceitos comuns ao
sistema possui 60% das etapas para chegar ao objetivo estão claras usuário. A heurística H6, “Flexibilidade e eficiência de utilização”
para o usuário. também foi desrespeitada, pois o sistema deve atender a ambos os
Várias heurísticas dentre as levantadas em 5.2 foram usuários, inexperientes e experientes. O princípio H7, “Estética e
desrespeitadas. No próximo tópico, será possível verificar as design minimalista” foi desrespeitado, pois os diálogos não devem
heurísticas e as recomendações para melhoria na navegabilidade da conter informações desnecessárias ou raramente utilizadas. O
URA analisada. princípio H8, “Condução/convite” foi desrespeitado, pois a URA
deveria conduzir o usuário a um caminho correto na utilização do
sistema e o princípio H10, “Condução/Feedback imediato” foi
28
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016
desrespeitado, pois a URA deveria fornecer um retorno imediato permitiu apresentar os testes realizados somente em um sistema de
após as ações executadas pelos usuários. telefonia, porém é interessante mencionar que os autores aplicaram
esta técnica também a outros sistemas de resposta audível, obtendo
No Passo 3, Questão I e II, a URA informa dados sobre conta e resultados semelhantes, trazendo a possibilidade de validar as
usuário e demora alguns segundos para apresentar as opções técnicas como um futuro modelo.
esperadas o que dificulta no entendimento da tarefa fazendo com
que a interface desrespeite o princípio H1, “Visibilidade do status As técnicas apresentadas, portanto, possuem potencial para evoluir
do sistema” e H7, “Estética e design minimalista”, onde os diálogos para um modelo de avaliação de usabilidade em sistemas de
não devem conter informações desnecessárias ou raramente interface de resposta audível. Sugere-se englobar testes de
utilizadas. Desrespeitou também o princípio H8, usabilidade que envolvam usuários reais dos sistemas, não somente
“Condução/convite”, onde o objetivo é conduzir o usuário a um especialistas. Seria interessante também que um conjunto de
caminho correto na utilização do sistema e o princípio H9, especialistas apliquem o modelo proposto em outras interfaces
“Condução/agrupamento e distinção de itens/agrupamento e multimodais que envolvam URA’s, para que se verifique, com
distinção por localização”. Desrespeitou o princípio H10, outras pesquisas, a eficácia de um futuro modelo.
“Condução/Feedback imediato”, onde o feedback é um retorno
imediato que o sistema deve oferecer após as ações executadas
pelos usuários.
7. REFERÊNCIAS
No Passo 3, Questão IV, essa opção está junto com outra na
mesma escolha e acaba confundindo o usuário, o que dificulta no [1] Bastien, C., and Scapin, D. Ergonomic Criteria for the
entendimento da tarefa fazendo com que a interface desrespeite o Evaluation of Human Computer Interfaces. INRIA (1993).
princípio H6, “Flexibilidade e eficiência de utilização”. [2] Cathleen Wharton, John Rieman, Clayton Lewis, and Peter
Desrespeita também o princípio H7, “Estética e design Polson. The cognitive walkthrough method: a practitioner's guide.
minimalista”, onde os diálogos não devem conter informações In Usability inspection methods, Jakob Nielsen and Robert L.
desnecessárias ou raramente utilizadas, pois irão competir com Mack (Eds.). John Wiley & Sons, Inc., New York, NY, USA,
diálogos mais usuais confundindo ou poluindo a audibilidade. (1994) 105-140.
Desrespeitou o princípio H9, “Condução/agrupamento e distinção
de itens/agrupamento e distinção por localização”. [3] Cordeiro, Renato, and Oliveira, Marcos Roberto, and
Chanquini, Thaís Pereira. Utilização de conceitos de interface
No Passo 4, Questão IV, a falta do feedback do sistema deixa o homem-máquina para adaptação da disciplina de requisitos do
usuário na dúvida, não deixando claro que a navegação avançou RUP. São Paulo: Laboratório de Pesquisa em Ciência de Serviços.
para a próxima etapa. Desrespeitou, portanto o princípio H1, Centro Paula Souza, (2009).
“Visibilidade do status do sistema”, onde o sistema deve informar
aos usuários sobre o que está acontecendo, através de feedback [4] Costa, José Fabiano da Serra, and Felipe, Ada Priscila
disparados a cada interação ou a cada escolha de opção. Machado, and Rodrigues, Monique de Menezes. Avaliação da
Desrespeitou o princípio H6, “Flexibilidade e eficiência de escolha de unidade de resposta audível (URA) através do Método
utilização”, onde o sistema deve atender a ambos os usuários, de Análise Hierárquica (AHP). In: Revista GEPROS,
inexperientes e experientes. Desrespeitou o princípio H10, Departamento de Engenharia de Produção da Faculdade de
“Condução/Feedback imediato”, onde o feedback é um retorno Engenharia da UNESP, Bauru/SP, year 3, n. 3, (2008) 147-161
imediato que o sistema deve oferecer após as ações executadas
pelos usuários. [5] Creswell, J. W. Projeto de pesquisa: Métodos qualitativo,
quantitativo e misto. 3. ed. Porto Alegre: Artmed, 2010. p. 177-
205.
[6] Leite, S. F. C. (2013). Inspeção de usabilidade aplicada a
6. CONSIDERAÇÕES FINAIS métodos ágeis: um estudo de caso. Monografia de Bacharelado.
A presente pesquisa teve o objetivo de realizar avaliação de Universidade Federal de Lavras-MG.
usabilidade em um sistema de telefonia, que conta com recursos de http://repositorio.ufla.br/bitstream/1/5484/1/MONOGRAFIA_Ins
interface de resposta audível. Foram escolhidos 13 critérios pecao_de_usabilidade_aplicada_a_metodos_ageis_um_estudo_de
selecionados a partir dos Critérios Ergonômicos de Bastien e _caso.pdf
Scapin e as Heurísticas de Nielsen para a avaliação que se
enquadram nesse tipo de sistema.
[7] Loureiro, Eduardo. Inspeção de usabilidade. Centro
O resultado esperado deste trabalho é que, através da estrutura Universitário de Belo Horizonte, Uni-BH, (2007). Disponível em:
proposta, possa se consolidar um modelo que é capaz de realizar <http://eduardoloureiro.com/EduardoLoureiro_InspecaoUsabilida
avaliações de usabilidade de interfaces de resposta de voz que de_Relatorio.pdf>. Acesso em: 06 out. 2015.
podem ser monomodal ou multimodal. A ausência de trabalhos que
especificamente lidam com avaliações de usabilidade em URA’s [8] Magrinelli, J. V. B. (2010). Avaliação de usabilidade de
justificam a relevância do trabalho proposto. sistema para gerenciamento apícola: o caso laborapix. Monografia
de Bacharelado. Universidade Federal de Lavras-MG.
Propomos que as técnicas possam ser aplicadas em outros sistemas, http://repositorio.ufla.br/bitstream/1/5313/1/MONOGRAFIA_Ava
monomodais ou multimodais, usando vários dispositivos de liacao_de_usabilidade_de_sistema_para_gerenciamento_apicola_
interação simultâneas, tais como voz e teclado. Nós mostramos o_caso_laborapix.pdf
neste trabalho a interação em um sistema de telefonia, mas muitos
outros tipos de serviços atualmente também utilizam interação
simultânea para servir os seus clientes, por exemplo, empresas de
cartões de crédito, operadoras móveis etc. O escopo deste trabalho
29
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016
[9] Morgan, G. (1980). Paradigms, metaphors, and puzzle solving [14] Santos, M. A. D. (2013). Interface multimodal de interação
in organization theory. Administrative science quarterly, 605-622. humano-computador em sistema de recuperação de informação
baseado em voz e texto em português.
[10] Nielsen, J., and Molich, R. Heuristic evaluation of user http://repositorio.unb.br/bitstream/10482/14843/1/2013_Marcelo
interfaces, Proc. ACM CHI'90 Conf. (Seattle, WA, 1-5 April), AlvesdosSantos.pdf
(1990) 249-256.
[15] Torezan, Eduardo Luiz Dalpiaz. Implementação de funções
[11] Nielsen, J. Enhancing the explanatory power of usability avançadas em um gateway voip. 56 f. Trabalho de Conclusão de
heuristics. (1994a). Proc. ACM CHI'94 Conf. (Boston, MA, April Curso (Graduação) - Curso de Engenharia de Telecomunicações,
24-28), 152-158. Universidade Regional de Blumenau - FURB, Blumenau, (2006).
[12] Nielsen, J.. Heuristic evaluation. In Nielsen, J., and Mack, [16] Triviños, Augusto N.S. Introdução á pesquisa em ciências
R.L. (Eds.). (1994b) Usability Inspection Methods, John Wiley & sociais: a pesquisa qualitativa em educação. São Paulo: Atlas,
Sons, New York, NY). 1987.
[13] Paes, D. M. C. (2015). Análise de problemas de [17] Zuasnábar, D. H.; Cunha, A. M. da; Germano, J. S. 2003. Um
funcionalidade e usabilidade no processo de desenvolvimento do ambiente de aprendizagem via WWW Baseado em Interfaces
software leitor de telas livre NVDA. Disponível em: Inteligentes para o Ensino de Engenharia. In: COBENGE 2003,
http://repositorio.ufla.br/bitstream/1/10743/1/TCC_An%C3%A1li Rio de Janeiro. Anais. Rio de Janeiro.
se_de_problemas_de_funcionalidade_e_usabilidade_no_processo
_de_desenvolvimento_do_software_leitor_de_telas_livre_nvda.pd
f
30
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016
RESUMO Keywords
Alguns estudos apontam que a preocupação no desenvolvimento de Interface. UI Design. Android Design.
interfaces contribui para o sucesso de um projeto de softwares para
dispositivos móveis. Neste sentido, a Apple detém um processo 1. INTRODUÇÃO
rigoroso para aprovação das aplicações desenvolvidas por terceiros Em um mundo em que a tecnologia está cada vez mais presente na
para seus dispositivos em sua loja. Em contraponto ao que acontece vida das pessoas, seja em casa, em carros, nas ruas, e até mesmo
na Apple, os aplicativos desenvolvidos para sua loja de aplicativos, em nossa própria mão, podem ser citados diversos dispositivos,
não passam por nenhum processo de aprovação. No entanto, como tablets, vídeo games, televisores e os smartphones que vem
mesmo com a publicação das diretrizes de projeto “Android se popularizando cada vez mais. Só em 2013, o envio de
Design”, as mesmas são tratadas pela maioria dos desenvolvedores smartphones pelo mundo chegou a um bilhão. Os aparelhos mais
como conselhos a serem seguidos, não como obrigações a serem procurados são os com telas grandes e os de baixo custo [1].
cumpridas como são tratados os aspectos de design e interação do Através dos smartphones vem 80% dos acessos à internet, segundo
guia da Apple. Neste sentido, este trabalho apresenta um guia a [2], e do tempo total gasto nos smartphones, 89% são em
apoiado em boas práticas relacionadas a elementos de interface e aplicativos. O uso de aplicações por usuários de smartphones pode
de interação aplicadas na plataforma da Apple para ser bem variado, segundo [3], boa parte usa para jogos, notícias,
desenvolvedores da plataforma Android. O objetivo é reunir a mapas e navegação, redes sociais, música, entretenimento,
essência do guia da Apple sem perder as características do Android. operações bancárias e outros. O mercado de aplicativos cresce no
mundo a cada ano com mais de 1,8 milhão de Apps disponíveis aos
Palavras-Chave usuários segundo [4].
Interface. UI Design. Android Design.
Alguns estudos [5][6][7] apontam que a preocupação no
ABSTRACT desenvolvimento de interfaces contribui para o sucesso de um
Some studies indicate that the concern in the development of projeto de softwares para dispositivos móveis. No entanto, também
interfaces contributes to the success of a software project for mobile é sabido que desenvolvedores de software normalmente não têm o
devices. In this sense, Apple has a rigorous process for the approval conhecimento aprofundado sobre diversos aspectos de elaboração
of third-party applications for their devices in your store. In contrast de interface de usuário, a citar: usabilidade, ergonomia,
to what happens at Apple, applications developed for its application acessibilidade e demais conceitos de design centrado no usuário
store, do not go through any approval process. However, even with [8]. Por sua vez, a Apple [9] detém um processo rigoroso para
the publication of design guidelines "Android Design", they are aprovação das aplicações desenvolvidas por terceiros para seus
treated by most developers as advice to be followed, not as dispositivos em sua App Store. Segundo [9], o processo de
obligations to be fulfilled as the aspects of design and interaction of aprovação de aplicações na App Store existe para que a empresa
the Apple Guide are treated. Thus, this work presents a guide possa manter o status de qualidade conquistada junta aos seus
supported on good practices related to interface elements and clientes. Neste sentido, a Apple [9] disponibiliza aos seus
interaction applied to the Apple platform Android platform desenvolvedores um guia chamado de “iOS Human Interface
developers. The goal is to gather the essence of Apple's tab without Guidelines”. Neste guia são apresentados conceitos básicos de UI
losing the Android features. Design, estratégias de design, tecnologias do Sistema iOS,
elementos de UI, entre outros. Cabe salientar que para que uma
Categories and Subject Descriptors aplicação seja aprovada no processo para ser comercializado na
D.2.m [Software Engineering]: Miscellaneous App Store, é necessário que este passe por uma avaliação inicial em
relação ao cumprimento das recomendações presentes no guia de
General Terms interface da Apple, sendo que as principais causas de rejeições de
Interface. UI Design. Android Design. aplicações na App Store sejam devidas à violação as diretrizes
contidas no guia [10][11]. Também neste sentido, a Google [12]
Permission to make digital or hard copies of all or part of this work for apresenta um guia chamado de “Android Design”, que trata de
personal or classroom use is granted without fee provided that copies are princípios básicos de design, materiais para design, dispositivos,
not made or distributed for profit or commercial advantage and that copies estilos, padrões, entre outros. Em contraponto do que acontece na
bear this notice and the full citation on the first page. To copy otherwise, Apple, os aplicativos desenvolvidos para Play Store não passam por
or republish, to post on servers or to redistribute to lists, requires prior
specific permission and/or a fee.
SBSI 2016, May 17–20, 2016, Florianópolis, Santa Catarina, Brazil.
Copyright SBC 2016. 31
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016
nenhum processo de aprovação. Sendo assim, o guia da Google não 2.2 Interações com o usuário de dispositivos
é imposto como obrigação em relação às observações nela feita
para o desenvolvimento de interface do usuário [13]. No entanto, móveis
mesmo com a publicação das diretrizes de projeto “Android Também chamado de design de interações, de acordo com [22], é
Design”, as mesmas são tratadas pela maioria dos desenvolvedores um item que tem um foco maior no usuário, e em como será seu
como conselhos a serem seguidos, não como obrigações a serem comportamento a partir do momento em que ele abre a aplicação.
cumpridas como são tratados os aspectos de design e interação do São utilizados elementos da interface, como botões, tipografia,
guia da Apple [14]. Para [15], a postura da Google em cumprimento efeitos sonoros, ícones e cores para o usuário interagir com estes e
das recomendações da guideline permite “liberdade de manipular o conteúdo da aplicação. Uma aplicação móvel com uma
criatividade”, sendo que um desenvolvedor pode optar em ignorar boa interface deve ter uma boa interação do usuário com a tela, para
completamente as diretrizes e criar o seu próprio design. [14] que o mesmo possa fazer suas tarefas da melhor forma possível. A
contribui em destacar que a Google ainda carece de uma linguagem interface é onde o conteúdo que o usuário está buscando é exibido,
de design focada na interface e interação do usuário. Para [14], a mas é através de ferramentas ou dispositivos que o usuário precisa
guideline carece de sentido, coerência e uniformidade nos interagir com o conteúdo que está sendo exibido na interface. No
elementos de interface do usuário. Além de haver relatos de que os caso de computadores, essa interação ocorre através do mouse e do
aplicativos disponibilizados na App Store apresentam maior teclado com o conteúdo que é exibido em um monitor. Em
qualidade nas suas interfaces em relação os aplicativos da Google dispositivos móveis, na maioria deles existe apenas uma tela, que
Play [16]. Como resposta a esses problemas, existem propostas para não é usada somente para a exibição do conteúdo, mas também para
melhorias como a utilização de padrões de projetos [17][18], a interação do usuário com o mesmo. O que faz com que
interfaces adaptativas [19] e heurísticas [20][7]. No entanto, desenvolvedores considerem ergonomia, gestos, transições e
diversos problemas ainda estão relacionados aos aspectos de específicos padrões de interações de cada plataforma.
interface e interação com o usuário. Neste sentido, este trabalho
apresenta um guia apoiado em boas práticas relacionadas a
2.3 Características da plataforma de
elementos de interface e de interação aplicadas na plataforma da dispositivos móveis
Apple para desenvolvedores da plataforma Android. Este trabalho Os dispositivos móveis têm suas características que podem ser
está estruturado na seguinte forma: na Seção 2, é apresentada a distintas dependendo da plataforma, no entanto algumas
fundamentação teórica. A seção 3, apresentada a metodologia de características são similares. A plataforma iOS tem algumas
pesquisa utilizada. Na Seção 4 é apresentada os resultados, sendo características únicas, devido a Apple ser rígida quanto a avaliação
este um Guia com boas práticas para desenvolvedores da de aplicativos antes de serem publicados, estes seguem um padrão
plataforma Android. E por fim, a Seção 5 apresenta as conclusões. e qualidade, proporcionando uma ótima experiência ao usuário
[23]. Algumas características são similares às duas plataformas,
2. FUNDAMENTAÇÃO TEÓRICA como modo de orientação da tela, transições entre telas e
Esta seção apresenta as referências nas quais se norteia este aplicativos, e para a interação dos usuários com os aplicativos
trabalho. Parte-se da reflexão sobre a importância de um bom existem gestos, ao invés de cliques.
design de interface; Interações com o usuário de dispositivos
móveis; e, conclui-se com as características da plataforma de 3. METODOLOGIA DE PESQUISA
dispositivos móveis. Este trabalho quanto aos objetivos pode ser enquadrado como uma
pesquisa exploratória. Quanto aos procedimentos técnicos, foi
2.1 Importância de um bom design de utilizado a pesquisa bibliográfica e pesquisa documental, sendo este
interface a primeira etapa realizada. A primeira etapa, oportunizou conhecer
O design de uma interface é muito importante para o usuário [21], as guidelines para desenvolvimento de interface das plataformas,
pois os usuários ficam mais confortáveis em interagir com iOS e Android. A segunda etapa consistiu no desenvolvimento do
interfaces que são fáceis de usar e entender e façam com que eles Guia, produto deste trabalho. Uma posterior etapa, compreendeu
consigam realizar suas tarefas com o mínimo de frustração. A em uma avaliação preliminar do guia a partir da visão de
aparência de uma interface e o modo de navegação podem afetar especialistas.
uma pessoa de várias formas. Por sua vez, se forem confusas e
ineficientes, dificultarão para as pessoas realizarem as tarefas que
4. RESULTADOS
gostariam, ou dependendo da aplicação, dificultará que as pessoas Nesta seção são apresentados os passos e processos adotados para
façam seus trabalhos ou cometam erros. Interfaces mal projetadas o desenvolvimento do guia de boas práticas para desenvolvimento
podem fazer com que pessoas se afastem do sistema de interfaces para a plataforma Android. Para isso optou-se em
permanentemente, fiquem frustradas e podem aumentar o nível de realizar uma comparação entre as recomendações da Apple
stress [21]. Para [21] a importância de um bom design pode ser realizadas no “iOS Human Interface Guidelines” [9] e as
demonstrada de uma maneira interessante se tratando em termos recomendações da Google no “Android Design” [12]. No guia [9],
financeiros. Para as empresas, boas interfaces (no contexto deste são apresentados conceitos básicos de UI Design, estratégias de
trabalho corresponde a presença das recomendações de usabilidade design, tecnologias do Sistema iOS, elementos de UI, entre outros.
apresentadas em [24]) podem trazer benefícios como satisfação do O guia [12] apresenta princípios básicos de design, materiais para
trabalhador e maior produtividade. Economicamente, isso pode design, dispositivos, estilos, padrões, entre outros. Cabe dizer que,
trazer benefícios como custos mais baixos, levando em conta que houve a preocupação de seguir boas práticas que poderão ser
sistemas mais fáceis de usar requerem menos treinamento. utilizadas na plataforma Android, e também não desrespeitam as
restrições adicionadas na nova versão do guia da Google. Para um
melhor entendimento para o desenvolvimento deste Guia, optou-se
em apresentar lado-a-lado as recomendações das plataformas iOS e
Android, organizada como (conforme retrata a Tabela 1): (i)
considerações básicas de UI (user interface) (6 recomendações);
32
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016
IOS ANDROID
Usada para exibir informações importantes sobre o dispositivo e No Android, a barra de status tem basicamente as mesmas
o ambiente atual. Ex.: Hora, informações sobre bateria, sinal, funcionalidades das utilizadas pela Apple (status da bateria,
provedor, e outras informações do dispositivo que podem ou não horário, wi-fi, bluetooth e sinal do celular), com uma diferença
estar ativadas, como bluetooth ou wifi. que nela também são exibidas as notificações de aplicativos.
Características Características
É transparente; As mesmas características do IOS se aplicam aqui também.
Quando aparece está no topo da tela; A cor da barra de status deve seguir a cor primária da
Não deve ser criada uma barra de status customizada, ela aplicação, só que mais forte, seguindo a tonalidade 700 de
pode ser escondida para mostrar toda a aplicação, mas não variação, podendo também ser transparente dependendo da
customizada. aplicação.
Evitar colocar conteúdo atrás da barra de status. A barra de status exibe as notificações de aplicativos
Pensar bem antes de esconder a barra, pois o usuário deverá através de ícones, estes que devem ser visualmente simples
sair da aplicação para ver informações que ele poderia ver evitando detalhes excessivos, facilitando assim com que o
diretamente na barra, sendo que ela é transparente, não usuário possa diferenciar os ícones que podem ali estar.
precisa necessariamente ser escondida, a não ser para jogos Estes ícones devem ser na cor branca com os detalhes
ou vídeos. transparentes.
Recomendação do Guia
A barra de status deve estar obrigatoriamente posicionada na parte superior da tela. Deve-se seguir o padrão do material design para
definição da cor da barra (variação da tonalidade em 700 na escala de cor). A barra não deve ser customizada, no entanto pode ser ocultada
para uma melhora apresentação do conteúdo em rolagens para baixo, sendo restaurada quando houver rolagem da tela para cima. Em caso
de projetos de jogos ou apresentação de vídeos, para uma melhor imersão do usuário a barra de status poderá ser ocultada.
33
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016
Por sua vez, a consistência em uma aplicação é aquilo que faz com [7] Neto, O. J. M., Usabilidade da Interface de dispositivos
que o usuário possa interagir com diferentes partes da aplicação móveis: heurísticas e diretrizes para o design, 2013.
com a mesma facilidade, e também consiga usar várias aplicações Dissertação de mestrado do Instituto de Ciências
diferentes com esta mesma facilidade. Uma aplicação consistente Matemáticas e Computação – ICMC-USP. Disponível em
não é uma cópia de outra, mas segue todos os padrões com os quais <http://goo.gl/JftkJi>. Acessado em 17/03/2015
os usuários já estão acostumados e confortáveis em interagir, que [8] Runija, Pooja, Importance of user interface design for mobile
são encontrados em outras aplicações, fazendo com que o App app success, 2014. Disponível em < https://goo.gl/9PRpbs>.
proporcione uma experiência consistente. Por sua vez, são Acessado em 28/03/2015
elementos de interface aqueles que são utilizados para fazer a
interação do usuário com a interface, através dos componentes que [9] Apple, iOS Human Interface Guidelines, 2015. Disponível
os usuários realizam as tarefas ou atingem o objetivo que desejam em < https://goo.gl/Mmvw4d >. Acessado em 10/05/2015
com a App. Estes elementos podem ser botões, barras de tarefas ou [10] Woodridge, D., Schneider, M. 2012. O Negócio De Apps
navegações, menus, ícones, etc. Para IPhone E IPad - Criando E Comercializando Aplicativos
De Sucesso, Elsevier Editora: Rio de Janeiro
5. CONCLUSÃO
A partir da revisão bibliográfica, evidenciou-se que Android não [11] Pilone, D., Pilone, T. 2013. Use a Cabeça! Desenvolvendo
tem um cuidado tão grande em relação à interface e interação, em para iPhone e iPad, 2 ed., Alta Books: Rio de Janeiro
contraste ao que acontece à plataforma da Apple. Entende-se que a [12] Google, Android Design, 2015. Disponível em
utilização deste guia no desenvolvimento de interfaces pode trazer <http://goo.gl/Pd5g8>. Acessado em 17/03/2015
benefícios tanto para usuários como para desenvolvedores. [13] Burton, M., Felker, D. 2014. Desenvolvimento de
Observa-se que os desenvolvedores são beneficiados com Aplicativos Android para Leigos, Alta Books: Rio de Janeiro
observações e/ou recomendações em diversas características de
qualidade, como também no uso de cada elemento da maneira [14] Falconer, Joel. What Will Android’s New Design Guidelines
correta, permitindo assim também aumentar a produtividade do Mean for the Platform? 2012. Disponível em <
desenvolvedor. Os benefícios para o usuário, estão relacionados ao http://goo.gl/iMnogt>. Acessado em 17/03/2015
seguimento dos padrões e boas práticas de design e interface, assim, [15] David, M., Murman, C., 2014. Designing Apps for Success:
apresentando certa qualidade implícita. Por sua vez, uma avaliação Developing Consistent App Design Practices, Focal Press
do guia foi realizada utilizando o método GQM (Goal Question
Metrics) de [25], do ponto de vista de um especialista na área de [16] Komarov, A., Yermolayev. 2013. Designing For a Maturing
usabilidade de software. A avaliação demonstrou indícios de Android, Smashing Magazine. Disponível em
<http://goo.gl/Dse1wg>. Acessado em 17/03/2015
viabilidade de uso do guia no desenvolvimento de aplicativos para
plataforma Android, e recomendações para melhoria da mesma. [17] Nunes, I.D., Correia, R.S., 2013. A Importância da
Como próximo passo, destaca-se que uma revisão mais sistemática usabilidade no desenvolvimento de aplicativos para
no guia poderia melhorar as recomendações. Entende-se que dispositivos móveis. Disponível em <http://goo.gl/Fgt2r5>.
adicionar mais plataformas como o Windows Phone, poderia Acessado em 10/05/2015
contribuir com mais recomendações no guia. Outro ponto que [18] Unitid, Interaction designers, androidpatterns. Disponível em
poderia ser considerado seria a utilização de ilustrações nas <androidpatterns.com>. Acessado em 17/03/2015
recomendações, tanto as positivas (o que fazer), como nas negativas
(o que não fazer). Além disso, a utilização de exemplo e [19] Júnior, M. A. P.; Castro, R. de O. 2011. Um estudo de caso
contraexemplos poderia melhorar o guia. Também se recomenda a da plataforma Android com Interfaces Adaptativas, Revista
realização de avaliações, tanto na perspectiva de especialista, como @LUMNI, Vol. 1 n. 1. Disponível em
desenvolvedores e usuários. <http://goo.gl/0DKIlP>. Acessado em 17/03/2015
[20] Rocha, L. C., et al., 2014. Heurísticas para avaliar a
6. REFERÊNCIAS usabilidade de aplicações móveis: estudo de caso para aulas
[1] Pcworld, 1 billion smartphones shiped worldwide in 2013, de campo em Geologia, In TISE 2014
2013. Disponível em < http://goo.gl/tMV3Zf >. Acessado em
28/03/2015 [21] Stone et al,. 2004. User Interface Design and Evaluation,
Steve Krug. Disponível em <https://goo.gl/CQEdLz>.
[2] Smart Insights, Statistics on mobile usage and adoption to Acessado em 10/05/2015
inform your mobile marketing strategy, 2015. Disponível em
< http://goo.gl/paQFV>. Acessado em 28/03/2015 [22] Banga, C., Weinhold, J. 2014. Essential Mobile Interaction
Design, Pearson Education
[3] Pew Research, The rise of apps culture, 2010. Disponível em
< http://goo.gl/Zwc5fK>. Acessado em 28/03/2015 [23] Dclick, Guideline iOS – Características da Plataforma – 1,
2012. Disponível em <http://goo.gl/Qyg8xM>. Acessado em
[4] Sebrae, Aplicativos para celulares movem mercado 10/05/2015
bilionário, 2014. Disponível em <http://goo.gl/tRp2zQ>.
Acessado em 28/03/2015 [24] Abnt, Associação Brasileira De Normas Técnicas, NBR
ISO/IEC 9126-1: Engenharia de Software – Qualidade de
[5] Pereira, R. S., Costa, C. C., A importância do projeto de produto – parte 1: modelo de qualidade. Rio de Janeiro, 2003
interface no desenvolvimento, 2012. Disponível em <
http://goo.gl/1FJVcX>. Acessado em 28/03/2015 [25] Basili, V., Caldiera, G., Rombach, H. D. Goal Question
Metric Approach, 1994, Encyclopedia of Software
[6] Ellwanger, C., Santos, C. P., Moreira, G. J., Gamificação e Engineering, pp. 528-532, John Wiley & Sons, I
padrões de interface em dispositivos móveis: Uma aplicação
no contexto educacional, 2014. Disponível em <
https://goo.gl/Txjg5a>. Acessado em 08/12/2015
34
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016
1
http://www.adobe.com/products/flex.html
35
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016
36
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016
As ferramentas foram então instaladas e avaliadas uma a uma em automação) e dois testadores (graduandos de Ciências da
relação aos requisitos propostos. Após essa avaliação, a ferramenta Computação)
que melhor atendeu os requisitos foi a ferramenta Sikuli, que cobriu
todos os requisitos definidos.
3.2 Preparação
A coleta de dados corresponde ao conjunto das operações, através
2. ABORDAGEM METODOLÓGICA das quais o modelo de análise é submetido ao teste dos fatos e
Nesta seção, são apresentadas as etapas da abordagem confrontado com dados observáveis [3]. Como a principal pergunta
metodológica do presente trabalho. de pesquisa do presente trabalho consiste em: "Seria possível
automatizar testes para um software Flex de forma a reduzir o
Segundo [2], pode-se definir um estudo de caso como um estudo esforço, tempo e retrabalho, tomando por base uma ferramenta já
focado de um fenômeno em seu contexto, especialmente quanto existente para modelagem e automatização de testes?", os seguintes
quando os limites entre o fenômeno e o contexto não podem ser dados foram planejados para serem coletados:
bem definidos. [2] indica também que é compreensível aplicar
Quantidade de pontos de caso de uso;
estudos de caso às áreas relacionadas à engenharia de software tais
Quantidade de erros encontrados na execução dos testes
como desenvolvimento, operação e manutenção de software. Cada
automatizados;
uma das etapas é brevemente apresentada na sequência.
Avaliação subjetiva dos resultados observados pelos
Planejamento: objetivos são definidos e o estudo de caso envolvidos na área de testes;
é planejado; Quantidade de esforço realizado para a elaboração dos
Preparação: procedimentos e protocolos para coleta de casos de testes automatizados.
dados são definidos;
Coleta: execução e coleta de dados do estudo de caso; 3.3 Execução e coleta de Dados
Análise: onde os dados coletados são analisados e O estudo de caso foi executado no período de 5 de Maio de 2015
até 10 de Setembro de 2015, após a análise de qual ferramenta de
extraídas as conclusões;
automação seria utilizada.
Relatório: onde os dados analisados são reportados.
A seção 4 a seguir detalha as principais etapas desta pesquisa no A ferramenta Sikuli, conforme já apresentado, é uma ferramenta de
contexto do estudo de caso. automação de testes de GUI que mescla Scripts com imagens, que
são procuradas quando o programa está rodando.
3. ESTUDO DE CASO Segundo [4], a ideia de utilizar imagens para auxiliar na automação
De acordo com [2], é essencial para o sucesso de um estudo de caso de testes vem da própria forma como ocorre interação na
que ele possua um bom planejamento. Assim, no contexto deste comunicação humana. Assim, na ferramenta Sikuli, as imagens são
trabalho, o estudo de caso foi planejado onde foram definidos: a utilizadas como parâmetros, de maneira similar a constantes
unidade de análise, os métodos utilizados para a coleta de dados, declaradas em qualquer linguagem de programação, onde o usuário
cronograma, participantes, etc. De forma resumida, o planejamento pode definir o nome da imagem, o grau de similaridade que procura
do estudo de caso é apresentado na sequência, iniciando pela na tela, e aonde irá selecionar a tecla quando necessário.
definição da unidade de análise.
Para utilizar a ferramenta, foi necessário instalar o Java JDK8.
3.1 Contextualização do Estudo de Caso Entretanto, durante os testes não foi possível integrá-la ao Eclipse9
A empresa SPECTO Tecnologia é uma empresa que iniciou suas e utilizar a linguagem Java pois não foi encontrada documentação
atividades no início da década de 90, e vem desenvolvendo que facilitasse a utilização do script com a ferramenta. Assim, os
produtos atualmente por meio de três linhas de produtos: CXM scripts de teste m implementados em Jython10.
(gestão de atendimento), DCIM (gestão de datacenters), e BMS Com a ferramenta instalada e pronta para executar os testes de
(gestão de prédios inteligentes). forma automatizada, foi preparado o ambiente com as demais
O presente estudo de caso é realizado na divisão de gestão de ferramentas necessárias e realizada a criação dos scripts de
datacenters (DCIM) da empresa. A DCIM tem como objetivo o automação de testes. Para efetuar os testes manuais, configurou-se
desenvolvimento de produtos de software para monitorar e um computador para possuir o sistema DataFaz Unity instalado
controlar o ambiente de datacenters, permitindo por exemplo, localmente, e também o software Enterprise Architect11 utilizado
alertar o usuário que um ambiente está com muita fumaça, ou que pela empresa para documentar a análise e modelagem do software
um dispositivo de monitoramento foi desconectado, por exemplo. (para organizar e documentar os casos de uso e os casos de teste
O sistema utilizado neste estudo de caso é o DataFaz Unity, um com seus cenários), o PGadmin12 para administração do banco de
gerenciador de infraestrutura de datacenters, monitorando dados e recuperação do backup do banco de dados somente
parâmetros físicos de ambiente, tais como: umidade, temperatura, contendo a configuração inicial.
energia, controle de acesso, etc. O sistema utiliza Flex para o Com esse ambiente instalado, foram elaborados os casos de teste
desenvolvimento de sua interface com o usuário e o back end é que seriam realizados tanto manualmente quanto de forma
desenvolvido em Java, com banco de dados tipicamente utilizado automatizada, de forma a possibilitar a comparação mais objetiva
sendo PostgreSQL. dos resultados da automação. Os casos de testes foram
Neste estudo de caso são envolvidos os membros das equipes documentados na ferramenta Enterprise Architect, conforme já
responsáveis pelos testes do sistema DataFaz Unity (membros da citado.
equipe de garantia de qualidade de produto), sendo três analistas de Foram elaborados, ao todo, dez casos de testes completos, cada um
testes (dois formados em ciências da computação e um em possuindo de três a cinco diferentes cenários, tomando-se por base
8 11
http://www.oracle.com/technetwork/pt/java/javase/downloads/index.html http://www.sparxsystems.com.au/products/ea/
9 12
http://www.eclipse.org/downloads/ http://www.pgadmin.org/
10
http://www.jython.org/
37
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016
as principais funcionalidades do sistema Datafaz Unity. Os casos Da mesma forma, a empresa possui poucos analistas de testes na
de teste foram documentados seguindo as melhores práticas unidade organizacional do estudo de caso, fazendo com que os
definidas na norma ISO/IEC/IEEE 29119 [5]. Para cada caso de resultados obtidos fossem escassos, mais analistas trariam mais
teste foi realizada a implementação do seu correspondente em script respostas, e o resultado da aplicação questionário seria mais
de teste automatizado abrangente.
Cada um dos casos de teste foi então executado manualmente por Além disso, o autor do trabalho teve participação ativa na execução
dois testadores diferentes e cada um dos scripts de teste do trabalho, e este envolvimento direto pode gerar viés de
automatizado foi executado dez vezes em um mesmo computador. interpretação de dados coletados.
Ao final dos testes, os analistas de teste e testadores foram
submetidos a um questionário de avaliação, composto de quatro 4. CONCLUSÕES
perguntas utilizando escala Likert de respostas, procurando Este trabalho apresenta uma experiência de automação de testes em
identificar as percepções sobre o resultado da aplicação dos testes um sistema legado desenvolvido sobre plataforma Flex. Tendo em
automatizados. mente as limitações de automação de testes em Flex, foram
analisadas diferentes abordagens de automação. Foi possível notar
3.4 Análise dos Resultados que nenhuma ferramenta iria poder automatizar a aplicação em sua
Durante toda a execução dos testes, os dados de duração foram totalidade, então foram criados requisitos para escolher qual
coletados por meio do registro das tarefas no sistema de gerência ferramenta seria utilizada no trabalho. A ferramenta Sikuli, que
de projetos utilizado pela empresa13. Como resultado, conforme cobriu a maior parte dos requisitos propostos, foi escolhida.
esperado, foi percebido que o tempo necessário para elaboração dos
testes automatizados e manuais apresentou grande diferença, No contexto de um estudo de caso, casos de teste foram elaborados,
devido ao tempo utilizado na elaboração dos Scripts de testes sendo implementados scripts de teste na linguagem aceita pelo
automatizados, conforme mostra a Tabela 2. Sikuli. Os testes foram então executados de forma manual e
automatizada, em um ambiente controlado.
Tabela 2 - Comparações entre teste manual e teste
Os dados coletados de esforço e tempo durante a elaboração e
automatizado
realização dos testes no estudo de caso levantam indícios de que o
Métricas Teste Manual Teste ganho de tempo na automação de testes é pequeno inicialmente.
Automatizado Espera-se, entretanto, que a organização envolvida no estudo de
Elaboração dos casos de teste 05h00min 05h00min caso obtenha benefícios diretos com a redução de custos de
Elaboração Scripts de Testes - 07h30min retrabalho e aumento de confiabilidade da aplicação com a
Automatizados execução dos testes automatizados em futuros releases do sistema.
Tempo médio de execução 00h08min 00h02min30seg
Total Duração 05h08min 12h32min30seg Como trabalhos futuros planeja-se a integração dos testes
Entretanto, conforme também mostra a Tabela 2, o tempo automatizados com a ferramenta de documentação e modelagem
necessário para execução dos testes automatizados foi dos testes. Além disso, seria importante expandir os casos de teste
consideravelmente inferior. Espera-se que as futuras execuções dos automatizados para o restante das funcionalidades do sistema.
testes automatizados venham a compensar o maior esforço aplicado
na elaboração dos scripts de teste. 5. AGRADECIMENTOS
Os autores agradecem aos membros da equipe da empresa Specto
Além dos dados de tempo de execução, a partir da aplicação do que participaram do estudo de caso. Também agradecem a
questionário, foi possível coletar a impressão subjetiva dos cooperação e interesse da gerência da empresa no estudo de caso.
participantes em relação aos resultados da automação de testes no
sistema legado utilizando plataforma Flex. 6. REFERENCES
Tabela 3 - Resultados do questionário [1] Pressman, R. S. Engenharia de software: uma abordagem
profissional; Tradução Ariovaldo Griesi e Mario moro
Questões Concordam Feccio. 7ª ed. São Paulo: AMGH, 2011.
Facilidade na compreensão dos testes 80%
Cenários cobriram a funcionalidade proposta 80%
[2] Runeson, P., and M. Höst. "Guidelines for conducting and
A infraestrutura disponibilizada para o ambiente de 80% reporting case study research in software engineering."
testes foi satisfatória para a execução dos testes Empirical Software Engineering 14.2, 2009.
O tempo gasto com teste automatizado diminui 100% [3] Quivy, R. et al. (1992). Manual de Investigação em Ciências
esforços de custo e tempo com execuções repetitivas Sociais. Lisboa: Gradiva.
Conforme pode ser percebido pelas respostas dos participantes, a [4] Yeh, Tom, Chang, Tsung-Hsiang, Miller, Robert C. (2009):
automação de testes utilizando a ferramenta Sikuli, atendeu às Sikuli: using GUI screenshots for search and automation. In:
expectativas da maioria. Entretanto, foram percebidas Proceedings of the ACM Symposium on User Interface
oportunidades de melhoria pela equipe, como por exemplo, a Software and Technology, 2009, pp. 183-192.
possibilidade de integração direta com o Eclipse, possibilitando a http://doi.acm.org/10.1145/1622176.1622213.
implementação dos scripts em Java.
[5] International Organization for Standardization.
3.4.1 Ameaças à validade ISO/IEC/IEEE 29119. Software Testing Standard. 2010.
Como tipicamente ocorre em estudos de caso [6] [7], o presente [6] Zelkowitz, M. V. “An update to experimental models for
trabalho somente foi aplicado em um único software de uma única validating computer technology,” J. Syst. Softw., vol. 82, pp.
empresa, não sendo possível desta forma, generalizar seus 373–376, 2009.
resultados a outras empresa e cenários, mesmo que positivos. [7] Yin, R. K. Applications of case study research, vol. 34
13
http://www.jexperts.com.br/category/pse/pse-pch/
38
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016
39
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016
40
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016
de avaliação, que ajuda no cálculo da recompensa avaliando lista de regras iniciais. Está lista de mı́nimo e máximo é
as predições do sistema conforme a sua hierarquia. No fim criada após a leitura da base de dados, e a cada geração
desta etapa, os classificadores passam por um mecanismo de de regra inicial, assim evitando a necessidade de ler a lista
evolução através do componente AG, que utiliza algoritmos de regras novamente e aumentando a performance. Para a
genéticos como base para a melhoria do conhecimento atual medição da performance foi implementado métodos que re-
do sistema. gistraram o tempo inicial da execução e tempo final, os quais
A questão multirrótulo é trabalhada durante todas as eta- são relatados no fim do processo.
pas de treinamento e teste do modelo por meio de um pro- Além das regras já listadas, também foi alterado o algo-
cesso de decomposição das instâncias e na forma de análise ritmo para sempre gerar uma nova população inicial, sempre
das predições. que não for identificada uma lista de regras iniciais para o
grupo corrente de atributos e valores que estão sendo proces-
4. SOLUÇÃO PROPOSTA sados. Com essas alterações foi possı́vel trabalhar durante
todas as etapas da extração do conhecimento com qualquer
A solução proposta neste artigo é chamada de HLCS –
tipo de atributo, possibilitando a execução do algoritmo em
MultiND (Hierarchical Learning Classifier System Multila-
bases com atributos nominais e contı́nuos, descartando a ne-
bel No Discretizate). Baseada no algoritmo HLCS – Multi,
cessidade de utilizar o método de discretização, tornando o
esta versão tem como diferencial a possibilidade de traba-
algoritmo mais eficaz e compreensı́vel o bastante para que
lhar durante todas as etapas da extração do conhecimento
os pesquisadores consigam analisar e confiar nas predições
com qualquer tipo de atributo, sendo este numérico ou ca-
recebidas.
tegórico. Para isso foi realizada uma mudança no algoritmo
HLCS – Multi permitindo que as regras geradas pelo classi-
ficador possam criar condições de intervalos entre os atribu- 5. ANÁLISE DE DADOS E DISCUSSÃO DOS
tos. RESULTADOS
A primeira função do sistema é criar uma população inicial A fim de demonstrar os resultados obtidos com o HLCS
de classificadores, através de uma análise feita nas instân- – MultiND o algoritmo foi comparado com os resultados da
cias da base de treinamento de tamanho N, que representa versão HLCS – Multi publicados em [12]. Os experimentos
a fonte de dados do sistema. Para formar cada classifica- foram realizados em três conjuntos de dados de funções de
dor da população inicial, o algoritmo escolhe aleatoriamente proteı́nas, Cellcycle, Church e Derisi que foram utilizados
uma instância da base de treinamento como modelo. Cada em [13] e estão disponı́veis em (http://dtai. cs. kuleuven.be
atributo da instância de treinamento será criado uma con- /clus /hmcdatasets). Estas bases contêm informações de
dição no classificador. Está instância será definida por uma classes baseadas nos termos da Ontologia Gênica (GO) e
condição que receberá como parâmetro OP, VL, A/I, sendo: são organizadas em uma estrutura em forma de um DAG.
A Tabela 1 apresenta os detalhes das bases utilizadas nesta
• OP: operador de relação (=, <= ou >=)
experiência.
• VL: valor da condição
• A/I: opção de ativa (A) ou inativa (I) da condição, que Tabela 1: Resumo dos conjuntos de dados utili-
significa se a condição será utilizada na classificação ou zados no experimento. A primeira coluna (’Base
não. de dados’) define o nome da base de dados, a se-
gunda coluna (’Trein.’) define o número de exem-
No inı́cio as condições começam com o operador de relação plos de treinamento, a terceira coluna (’Teste’) de-
(OP) “= ou <= ou =>” a escolha dos operadores de compa- fine o número de exemplos de teste, a quarta coluna
ração ocorre de forma randômica. O valor da condição (VL) (’Atrib.’) define o número de atributos de cada base
recebe o valor do atributo da instância em treinamento e e a quinta coluna (’Classes’) define o número de clas-
aletoriamente, de acordo com a probabilidade definida nas ses na classe hierárquica.
configurações iniciais do algoritmo, é decidido se a condição
ficará ativa (A) ou inativa (I).
Conforme relatado anteriormente, esta versão tem como Base de Dados Trein. Teste Atrib. Classes
diferencial a possibilidade de trabalhar com qualquer tipo Cellcycle 2473 1278 77 4126
de atributo, sendo este numérico ou categórico, possibili- Church 1627 1278 27 4126
tando a leitura de bases com valores nominais e contı́nuos. Derisi 2447 1272 63 4120
Para isso, foi desenvolvido um método intermediário, o qual
é executado sempre na leitura de bases ou comparação de
valores, para analisar a sequência de entrada de dados, as- O desempenho dos resultados foi comparado utilizando as
sim tornando possı́vel o processo de “parser” dos valores, que medidas de precisã hierárquica (hP), revocação hierárquica
possibilitou determinar sua estrutura gramatical, evitando a (hR) e Medida-hF (hF) proposto em [10]. Este método segue
necessidade de realizar a discretização na base. Na geração o padrão das conhecidas medidas de Revocação, Precisão
de regras iniciais passou a utilizar o método de operado- e Medida – F, com as seguintes alterações: cada exemplo
res randômicos, o qual pode retornar os operadores igual pertence não somente a sua classe, mas também a todos os
=, maior igual >= e menor igual <=, que foi modificado ancestrais da classe em um gráfico hierárquico, exceto o nó
para contemplar mais operadores. Com essas modificações, raiz.
tornou-se necessário criar condições randômicas para as va- Os experimentos foram realizados utilizando como proce-
riáveis também, onde é resgatado um valor aleatório dentro dimento o método de validação cruzada fator 10 e os resul-
de um intervalo de mı́nimo e máximo retirado da primeira tados são descritos como valores-médios e desvio padrão.
41
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016
42
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016
RESUMO Palavras-Chave
A quantidade de informação dos sistemas hidrológicos cresce a Sistema de informação; Processo KDD; Data Mining.
cada medição realizada pelas estações. Com um volume tão alto Estatística.
de informações acaba ficando difícil extrair conhecimento
olhando só os dados. O processo de extração de conhecimento ABSTRACT
(KDD) tem o objetivo de auxiliar a extração do conhecimento a The amount of information of hydrological systems grows each
partir de grandes bases de dados. Pensando em facilitar a measurement performed by the seasons. With such a high volume
extração de conhecimento das grandes bases do sistema of information ends up being difficult to extract knowledge just
hidrológico elaborou-se este projeto de pesquisa que visa looking at the data. The KDD process is intended to assist the
implantar o processo KDD para geração de estatísticas das extraction of knowledge from large databases. Thinking about
estações de telemetria mantidas pela defesa civil de Brusque – facilitating the extraction of knowledge from large bases of the
SC, com base em dados de níveis de chuva e do rio em Brusque hydrological system elaborated a work based on the KDD
e região oferecendo apoio a decisão estratégica. Através do Data process in an attempt to mine the data of hydrological systems
Mining utilizando-se o modelo cubo de decisão por associação and extract knowledge to aid in decision making. A decision
será possível extrair diversas visões à gestão de negócio, based on knowledge extracted from large databases will be more
transformando-se numa ferramenta de ajuda para ganho de assertive in this way the information passed to the entire
tempo no controle e prevenção à enchentes com antecipação e population will have some degree of confidence and no longer
segurança à população. A decisão baseada no conhecimento need to be based on inferences of the people who have the hands
extraído das grandes bases será mais assertiva, desta forma as on the database.
informações passadas para toda a população terá algum grau de
confiança e não precisam mais serem baseadas em inferências Keywords
das pessoas que possuem a base de dados em mãos. Information System; KDD process; Data Mining. Statistic.
General Terms
Experimentation and Database Management.
Permission to make digital or hard copies of all or part of this work for
personal or classroom use is granted without fee provided that copies are Categories and Subject Descriptors
not made or distributed for profit or commercial advantage and that copies
E.2 Data Storage Representations. G.3 Probability and
bear this notice and the full citation on the first page. To copy otherwise,
or republish, to post on servers or to redistribute to lists, requires prior Statistics: Statistical software. H. Information Systems: H. 2.8.
specific permission and/or a fee. Database Applications: Data mining.
SBSI 2016, May 17–20, 2016, Florianópolis, Santa Catarina, Brazil.
Copyright SBC 2016.
43
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016
O sistema hidrológico de Brusque gera muita informação através A limpeza e o processamento dos dados serão trabalhados na
das estações de telemetria que se localizam ao longo do rio Itajaí terceira fase do processo KDD. Nesta fase serão eliminados
Mirim, os sensores das estações captam o volume de chuva e o ruídos dos dados que podem afetar a qualidade do conhecimento
nível do rio. Apesar de serem captadas apenas duas variáveis o extraído da base de dados. Como no sistema hidrológico os dados
volume de informação é gigantesco devido a captura dos dados são coletados automaticamente pelas estações de coleta, a
ser em questão de minutos. possibilidade de haver erros na leitura dos sensores é alta. Os
erros que ocorrem na leitura dos sensores são tratados como
“Dados de nível de rios usados para controle de cheias podem ruídos no processo KDD e podem levar a uma conclusão
demandar a coleta e transmissão de dados a cada 10 minutos” [3]. precipitada dos padrões identificados, devido a isso os ruídos
precisam ser eliminados. Por exemplo, nos dados armazenados
Devido à grande quantidade de informação gerada pelas estações
pela defesa civil de Brusque se possui muitos meses desde 1912
de telemetria da defesa civil de Brusque, é fundamental adotar
com falhas nas informações históricas coletadas, essas
técnicas de mineração de dados para identificar padrões e
informações primeiramente precisam ser tratadas para então se
anomalias que antes passavam despercebidas e que agora podem
prosseguir.
ajudar na tomada de decisão, como por exemplo alertar a
população de uma possível enchente. Nas figuras 02 e 03 observa-se claramente o ruído causado por
uma estação de telemetria da defesa civil de Brusque. A imagem
No momento a defesa civil de Brusque, não utiliza base de dados
mostra que em dois horários a estação captou valores acima de
históricas das estações de telemetria para tomada de decisões e
três mil milímetros de chuva, logo depois o nível caiu para zero e
prestar orientações a sua população. As informações repassadas
o nível do rio não teve alteração em nenhum momento. Estes
são somente dos dados atualizados das estações. Esta pesquisa
ruídos vão precisar ser corrigidos pois afetam diretamente na
teve por objetivo elaborar e aplicar técnicas de mineração de
extração de conhecimento da base de dados, apenas esses dois
dados na base de dados histórico da defesa civil para extrair
valores causam uma variação enorme no nível de chuva do mês
conhecimento que antes não se dava atenção e que agora podem
em questão.
ser usados no processo de tomada de decisão.
2. METODOLOGIA DE EXTRAÇÃO DE
INFORMAÇÕES HIDROLÓGICAS
O processo de extração de dados é conhecido pela sigla KDD
(knowledge-discovery in databases). O conceito deste processo se
trata da extração de dados de uma grande base de dados, a fim de
identificar padrões para adquirir conhecimento.
A extração de conhecimento de uma base de dados consiste em
duas grandes fases. A primeira trata da preparação dos dados, que
consiste em selecionar os dados que serão utilizados onde faz a
limpeza e a projeção destes dados. Já a segunda etapa trata da
mineração dos dados, se faz a escolha dos algoritmos e tarefas de
mineração, a interpretação de padrões e a consolidação do
conhecimento descoberto. Na figura 1 pode-se observar as fases Figura 2. Ruído de dados.
do processo KDD mais detalhadamente.
44
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016
45
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016
IF
Nível do rio em Botuverá <= 1.226
Nível do rio em Botuverá <= 0.977
Nível do rio em Botuverá > 0.559
Nível do rio em Botuverá > 0.73
THEN
Nível do rio em Brusque =
-0 * Acumulado de chuva em Botuverá
+ 0.0308 * Nível do rio em Botuverá
+ 1.3311 [251/57.511%]
IF
Nível do rio em Botuverá <= 1.393
Nível do rio em Botuverá > 0.554
THEN
Nível do rio em Brusque =
-0.0001 * Acumulado de chuva em Botuverá
+ 0.2425 * Nível do rio em Botuverá
+ 1.0899 [466/68.005%]
A oitava fase é a interpretação dos dados obtidos por meio da
mineração de dados. A técnica do algoritmo EM consistiu em Figura 6. Segunda regra;
dividir os dados em três cluster, cada cluster representa uma
massa de dados. O cluster 1 por exemplo representa apenas 2% IF
dos dados analisados, que correspondem a dezesseis meses em Nível do rio em Botuverá <= 1.846
que a precipitação de chuva chegou em aproximadamente 112 THEN
Nível do rio em Brusque =
milímetros de chuva, com desvio padrão de 19 milímetros. Nele 0.0203 * Nível do rio em Botuverá
ainda se observa que alguns meses tiveram mais ocorrência que + 1.4469 [192/55.59%]
outros, como por exemplo, o mês de março com três ocorrências
e os meses de fevereiro e abril com duas ocorrências cada. Por sua Figura 7. Terceira regra
vez no cluster 2 temos uma média de 63 milímetros de IF
precipitação da chuva, este cluster possui um percentual de Nível do rio em Botuverá <= 2.793
ocorrência no valor de 30% e são destaques os meses de fevereiro, THEN
Nível do rio em Brusque =
março, setembro e dezembro. Por fim a precipitação que mais -0.003 * Acumulado de chuva em Botuverá
ocorre em Brusque com 68% de ocorrência fica na média de 29 - 0.121 * Nível do rio em Botuverá
milímetros, com os meses de maio a agosto em destaque. + 1.8809 [57/54.89%]
Esses dados mostram quais as possíveis eventualidades que Figura 8. Quarta regra.
podem ocorrer durante o ano, por exemplo, o mês de agosto é
mais assertivo falar que as medias de precipitação da chuva vão
Nível do rio em Brusque =
ficar em torno de 19 a 49 milímetros, pois sua a ocorrência dessa - 0.0254 * Acumulado de chuva em Botuverá
media para esse mês é muito maior do que para as demais medias. + 1.1194 * Nível do rio em Botuverá
- 0.2767 [15/72.772%]
Outra mineração feita foi utilizando o algoritmo M5RULES [5],
que utilizou dados da estação de Botuverá e da estação de Figura 9. Quinta regra.
Brusque. Os dados utilizados da estação de Botuverá foram o
acumulado de chuva do dia e a média do nível do rio também para O nono e último passo é a consolidação do conhecimento
o dia, já na estação de Brusque foi apenas utilizado a média do rio descoberto. Nesta fase irá incorporar os resultados nos sistemas,
no dia. nas documentações necessárias e nos relatórios para quem se
O algoritmo funciona da seguinte forma: uma árvore de interessar. Neste ponto também se faz aferições de conflitos e a
aprendizado é aplicada sobre todo o conjunto de treinamento e resolução dos mesmos por meio do conhecimento extraído.
uma árvore podada é aprendida. Em seguida, a melhor Para consolidar as regras propostas pelo algoritmo M5RULES é
ramificação (de acordo com alguma heurística) gera uma regra e necessário apenas ter os valores, utilizar as regras para realizar os
a árvore é descartada. Todas as instâncias cobertas pela regra são cálculos e chegar ao resultado final. Tem-se por exemplo o
removidas do conjunto de dados, e o processo é aplicado de modo seguinte conjunto de dados nível do rio em Botuverá com 0,66
recursivo para os exemplos restantes até que todas as instâncias metros, um volume de chuva no valor de 0,00 milímetros e o nível
sejam cobertas por uma ou mais regras. Ao invés de criar uma do rio em Brusque com 1,38 metros. Utilizando a primeira regra
única regra de aprendizagem, constrói-se um modelo de árvore para o conjunto de informações chega-se a o valor aproximado de
completo em cada fase e faz-se da melhor ramificação uma nova 1,351428 metros, que fica muito próximo ao valor esperado de
regra [6]. 1,38 metros.
46
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016
A primeira grande fase demanda mais tempo no processo KDD, [4]. CARDOSO, O. N. P., MACHADO, R. T. M. Gestão do
geralmente fica em torno de 80% do trabalho realizado durante a conhecimento usando data mining: estudo de caso na
extração do conhecimento de uma base de dados. As etapas que Universidade Federal de Lavras. Revista de
foram descritas também podem ser repetidas durante a extração, Administração Pública. Rio de Janeiro 42(3): 495-528,
apesar de ser apresentado uma sequência para a extração dos Maio/Jun. 2008.
dados a mesma pode ser alterada conforme necessidade, também [5] ALBERG, D.; LAST, M.; KANDEL, A. Knowledge
é possível voltar para alguma etapa anterior caso seja necessário, discovery in data streams with regression tree methods,
é aconselhável voltar para evitar erros na consolidação do 2011.
conhecimento.
[6]. HOLMES, G.; HALL, M.; FRANK, E. Generating Rule
3. CONCLUSÕES E TRABALHOS Sets from Model Trees. In: Twelfth Australian Joint
FUTUROS Conference on Artificial Intelligence, 1999.
A técnica Data Minning contribui para extração precisa e
inteligente dos dados obtidos pelas estações de telemetria do
município de Brusque SC, mantidas pela Defesa Civil para
análise dos problemas ocorridos com cheias, fornecendo
informações de apoio à decisão para técnicos da área e população
em geral, de forma simples e rápida.
Com este trabalho conseguiu-se exibir os meses em que mais
ocorre chuva e quais são os meses mais propícios para chuva
durante o ano, com essa informação é possível verificar os meses
de risco, planejar as estratégias durante o ano e disponibilizar a
informação para a população. Também foi possível com este
trabalho a criação de regras para inferir o nível do rio na cidade
de Brusque a partir dos dados da estação da cidade vizinha
Botuverá.
No sistema hidrológico de Brusque as técnicas de mineração de
dados para extração de conhecimento foram utilizadas pela
primeira vez com esse trabalho, o que resulta em um grande
avanço para a cidade e para a população. Mesmo exibindo algum
resultado ainda é necessário mais estudo na aérea de Data Mining
com foco nos sistemas hidrológicos. A utilização das redes
neurais se mostra interessante para ampliar mais este trabalho,
pois com as redes neurais consegue-se modelar a bacia do rio
Itajaí Mirim de forma a utilizar todas as estações disponíveis ao
longo do rio e saber com precisão qual o nível do rio na última
estação. As redes neurais também permitem que os novos dados
sejam validados a partir dos ruídos que já foram encontrados.
4. AGRADECIMENTOS
Este trabalho de Iniciação Científica teve o apoio da Secretaria de
Estado da Educação de Santa Catarina, através da concessão de
bolsas com recursos do Artigo 170 da Constituição Estadual, para
os alunos de graduação regularmente matriculados na UNIFEBE.
5. REFERÊNCIAS
[1]. AGRAWAL, R.; IMIELINSKI, T.; SWAMI, A. Mining
associations between sets of items in massive databases.
ACM-SIGMOD, 1993. Proceedings... Int’l Conference on
Management of Data, Washington D.C., May 1993.
[2] . ANTUNES, J. F. G.; OLIVEIRA, S. R. M.; RODRIGUES,
L. H. A. Mineração de dados para classificação das fases
fenológicas da cultura da cana-de-açúcar utilizando
dados do sensor modis e de precipitação. VIII Congresso
Brasileiro de Agroinformática. Bento Gonçalves, 2011.
[3]. BLAINSKI, É.; GARBOSSA, L. H. P.; ANTUNES, E. N.
Estações hidrometeorológicas automáticas: recomendações
técnicas para instalação. Disponível em:
<http://ciram.epagri.sc.gov.br/recomendacoes_tecnicas_par
a_instalacao_de_estacoes.pdf >. Acesso em: 25 fev. 2016.
47
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016
48
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016
49
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016
Figura 2: Número de medições diárias feitas por sete sensores do Smart Solar Building.
Figura 3: Número de medições realizadas por hora em 2 de março de 2016 no Smart Solar Building.
50
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016
51
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016
RESUMO
Os ambientes de Business Intelligence auxiliam os
Categories and Subject Descriptors
administradores das empresas a tomarem decisões mais precisas H.2.4 [Database Management]: Systems – Distributed databases.
sobre o seu negócio. Estes ambientes normalmente utilizam o
Data Warehouse que é um banco de dados integrado e voltado à H.2.7 [Database Management]: Database Administration – data
consulta. No entanto, a implantação de um DW é muito cara e warehouse and repository.
demorada, sendo um grande obstáculo, principalmente para
pequenas e médias empresas. De forma a tentar minimizar estes General Terms
problemas foi proposta a metodologia Agile ROLAP, que visa Algorithms, Management, Security.
auxiliar na utilização de ferramentas OLAP a partir das bases
relacionais das empresas. No entanto, a fim de não utilizar Keywords
diretamente a base de dados original e integrar diferentes bases, Foreign Data Wrapper, Agile ROLAP, Data Warehouse, Business
propõe-se um mecanismo intermediário que utilize a tecnologia Intelligence.
Foreign Data Wrapper. Assim este trabalho apresenta o
desenvolvimento de plugins para a ferramenta Kettle que auxilie 1. INTRODUÇÃO
na criação de Foreign Tables e na integração de dados. As empresas com o decorrer do tempo armazenam uma grande
quantidade de informações sobre o seu negócio, e no intuito de
Palavras-Chave utilizar as informações adquiridas no decorrer do tempo, muitas
Foreign Data Wrapper, Agile ROLAP, Data Warehouse, Business fazem uso de ambientes de Business Intelligence (BI). Estes
Intelligence. ambientes de BI auxiliam na análise dos dados de forma eficiente
e na tomada de decisão dos administradores da organização,
ABSTRACT facilitando também o conhecimento sobre o seu negócio.
The Business Intelligence environments assists the companies A implementação de BI não é algo trivial, demanda custo e
administrators take more accurate decisions about your tempo, pois é necessário um Data Warehouse (DW), que tem
businesses. These environments normally use the Data como finalidade armazenar informações relativas às atividades da
Warehouse, which is an integrated database and prepared for organização de forma consolidada. O processo para a criação do
query. However, the implementation of a DW is very expensive DW geralmente é desenvolvido de modo iterativo, mas mesmo
and times consuming, and a great obstacle, mainly for small and assim são necessários em média 15 ou mais meses para que o
medium enterprises. In order to try to minimize these problems primeiro módulo entre em produção [1].
was proposed the Agile ROLAP methodology, which aims to help
in the use of OLAP tools from relational databases of companies. Segundo [2], o método Agile ROLAP tem por objetivo permitir a
However, in order to not use directly the original database and implantação de forma ágil de ambientes de BI que utilizem bancos
integrate different databases, it is proposed an intermediate de dados relacionais, e ao mesmo tempo permitam a utilização de
mechanism that uses the Foreign Data Wrapper technology. Thus, ferramentas OLAP projetadas para ambientes tradicionais por
this work presents the development of plugins for Kettle tool that meio de um servidor ROLAP.
assists in the creation of Foreign Tables and data integration. No entanto, é proposto no Agile Rolap, que se utilize um
mecanismo intermediário que permita integrar os dados de
Permission to make digital or hard copies of all or part of this work for diversas fontes de dados em uma única base, para que se
personal or classroom use is granted without fee provided that copies are mantenha o conceito de DW e que possa utilizar ferramentas de
not made or distributed for profit or commercial advantage and that BI projetadas para serem utilizadas em DWs.
copies bear this notice and the full citation on the first page. To copy
otherwise, or republish, to post on servers or to redistribute to lists, Essa integração deve ocorrer de maneira transparente ao usuário,
requires prior specific permission and/or a fee. de forma a não migrá-los em uma nova base de dados, uma vez
SBSI 2016, May 17–20, 2016, Florianópolis, Santa Catarina, Brazil. que esse é o conceito de integração utilizado nos DWs. Portanto, é
Copyright SBC 2016. proposta a criação de plugins para a ferramenta Kettle, que
auxiliem que dados de diferentes fontes de dados sejam integrados
52
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016
53
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016
54
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016
6. AGRADECIMENTOS
Meu agradecimento ao órgão Conselho Nacional de Pesquisas
(CNPq) pela bolsa que me foi concebida.
7. REFERÊNCIAS
[1] MACHADO, Felipe N. R. “Tecnologia e Projeto de Data
Warehouse: Uma visão multidimensional” São Paulo: Érica
Figura 5 – Comparação do desempenho de acesso OLAP a
2010 5 ed.
três tecnologias.
[2] SOUZA, Elielson B., MENOLLI, André L. A., COELHO,
Observando a Figura 5, percebe-se que a utilização de fatos em
Ricardo G. “Um método Agile ROLAP para implementação
view tem um tempo de resposta gerado muito superior em relação
de ambientes de inteligência de negócios”.
à utilização de fatos em tabelas e fatos em views materializadas.
Baseado nas comparações de tempo de resposta foi escolhida à [3] SAVOV, Svetoslav. “How to use PostgreSQL Foreign Data
utilização de fatos em views materializadas para a implementação Wrappers for external data management”
método Agile ROLAP no ambiente de BI, pois não haverá [4] MENOLLI, André L. A. “A Data Warehouse Architeture in
necessidade de reconstruir o objeto quando os dados forem Layers for Science and Tecnology” Proceedings of the
recarregados. Eighteenth International Conference on Software
Na Figura 6 é mostrado o desempenho obtido na implantação de Engineering Knowledge Engineering (SEKE’2006), San
ambientes de BI, utilizando o método Agile ROLAP, por meio de Francisco, CA, USA.
bases intermediárias usando FDW para obter os dados das bases [5] KIMBALL, Ralph., CASERTA, Joe “The Data Warehouse
transacionais. Nesta Figura, é comparado o desempenho do acesso ETL Toolkit: Practical Techniques for Extracting, Cleaning,
aos dados por meio de ferramentas OLAP, quando os dados são Conforming, and Delivering Data”
armazenados utilizando a tecnologia FDW em comparação ao
acesso dos dados quando estão armazenados diretamente na [6] AHMED, Ibrar., FAYYAZ, Asif., SHAHZAD, Amjad.
própria base de dados transacionais, e ainda comparando com a “PostgreSQL Developer’s Guide”.
utilização de um DW. [7] PENTAHO. “Pentaho: Writing you own Pentaho Data
Percebe-se que a utilização de base de dados intermediária tem Integration Plug-in”. Pentaho Community, 2014.
um desempenho inferior em relação ao método Agile ROLAP, que http://wiki.pentaho.com/dislplay/EA/Writing+your+own+Pe
utiliza a própria base de dados transacionais da empresa, porém ntaho+Data+Intagration+Plug-in. Acessado em 11 de março
discrepância não foi tão significativa. Apenas na primeira consulta de 2016
resultou em uma diferença expressiva, nas demais consultas o
resultado foi equivalente ou muito próximo.
55
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016
Índice Remissivo
Morais, Emilie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Moskado, Felipe I. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21, 52
A
Abreu, Christian R.C. de . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
N
Araújo, Cristian Z. de . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Nau, Jonathan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
B
O
Baldessar, Maria J. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Oliveira, Aline C.A. de . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Oliveira, Geovanni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
C
Coelho, Ricardo G. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21, 52
P
Correia, Wagner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5, 43
Paladini, Fernando . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Cunha, Mônica X.C. da . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
R
D
Romão, Luiz Melo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Duda Júnior, José da S. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Ruano, Antonio E. de B. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
F
S
Fagundes, Priscila B. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Silva, Alexandre S. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Figueiredo, Rejane M. da C. . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Silva, Glauco C. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21, 52
Frohlich, Antonio A. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Silva, Rodrigo C. da . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Silva, Viviane A. da . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
H
Hauck, Jean C.R. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
T
Trevisani, Kleber M. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
L
Lima Junior, Guaratã A.F. de . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
V
Lins, Matheus I.A. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Venson, Elaine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Lopes, Bruno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Vieira, Lucas N. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
M
W
Marques, Caique R. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Wanner, Lucas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Martins, Augusto B.T. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Mello, Leonardo R. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Z
Melo, Luan S. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21, 52
Zanchett, Pedro S. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5,43
Menolli, André . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21, 52
Momo, Marcos R. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
56