Anais do III Workshop de Iniciação Científica em

Transcrição

Anais do III Workshop de Iniciação Científica em
XII Simpósio Brasileiro de Sistemas de Informação
Anais do III Workshop de Iniciação
Científica em Sistemas de Informação
Castelmar Hotel – Florianópolis/SC – 17 a 20 de maio de 2016
Promoção
Organização
Patrocínio
Apoio
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
De 17 a 20 de maio de 2016
Florianópolis – SC
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
E56 a
Workshop de Iniciação Científica em Sistemas de Informação (WICSI)
(3. : 2016 : Florianópolis, SC)
Anais [do] Workshop de Iniciação Científica em Sistemas de Informação
(WICSI) [recurso eletrônico] / Organizadores Roberto Willrich...[et al.] ;
realização Departamento de Informática e Estatística/UFSC ; promoção:
Sociedade Brasileira de Computação. – Florianópolis : UFSC/Departamento
de Informática e Estatística, 2016.
1 e-book
Evento integrante do XII Simpósio Brasileiro de Sistemas de Informação
Disponível em: http://sbsi2016.ufsc.br/anais/
Evento realizado em Florianópolis de 17 a 20 de maio de 2016.
ISBN 978-85-7669-319-2
1. Sistemas de recuperação da informação – Congressos. 2. Tecnologia
– Serviços de informação – Congressos. 3. Internet na administração pública
– Congressos. I. Willrich, Roberto. II. Universidade Federal de Santa
Catarina. Departamento de Informática e Estatística. III. Sociedade
Brasileira de Computação. IV. Título.
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)
Coordenação do Comitê de Programa do WICSI 2016
Roberto Willrich (UFSC)
Vinicius Sebba Patto (UFG)
Comissão Especial de Sistemas de Informação
Clodis Boscarioli (UNIOESTE)
Sean Siqueira (UNIRIO)
Bruno Bogaz Zarpelão (UEL)
Fernanda Baião (UNIRIO)
Renata Araujo (UNIRIO)
Sérgio T. de Carvalho (UFG)
Valdemar Graciano Neto (UFG)
Comitê de Programa Científico do WICSI 2016
Alexander Roberto Valdameri (FURB)
Celia Ralha (UNB)
Christiane Gresse von Wangenheim (UFSC)
Clodis Boscarioli (UNIOESTE)
Cristiane Ferreira (UFG)
Daniel Kaster (UEL)
Elisa Huzita (UEM)
Ellen Francine Barbosa (ICMC-USP)
Fabiana Mendes (UnB)
Fabiane Barreto Vavassori Benitti (UFSC)
Fatima Nunes (EACH-USP)
Iwens Sene Jr (UFG)
Jean Hauck (UFSC)
João Porto de Albuquerque (ICMC-USP)
Luanna Lopes Lobato (UFG)
Marcello Thiry (UNIVALI)
Marcelo Morandini (USP)
Maria Inés Castiñeira (UNISUL)
Mauricio Capobianco Lopes (FURB)
Merisandra Côrtes de Mattos (UNESC)
Ovidio Felippe da Silva Júnior (UNIVALI)
Pablo Schoeffel (UDESC)
Renato Bulcão Neto (UFG)
Renato Fileto (UFSC)
Roberto Willrich (UFSC)
Rosângela Penteado (UFSCar)
Vinicius Sebba Patto (UFG)
Vitório Mazzola (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 apresentados 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,
armazenamento e processamento de informações.
Agradecemos aos autores que submeteram seus trabalhos, aos revisores que prontamente nos atenderam e à coordenação
geral do SBSI 2016 pelo apoio para realização do III WICSI.
Florianópolis, Maio de 2016.
Roberto Willrich (UFSC)
Vinicius Sebba Patto (UFG)
Coordenação do WICSI 2016
vi
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016
Biografia dos Coordenadores do Comitê de Programa do WICSI 2016
Roberto Willrich possui graduação e mestrado em Engenharia Elétrica pela Universidade Federal 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 Educaçã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)
RNA Aplicada a Modelagem Hidrológica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Marcos Rodrigo Momo (UNIFEBE), Pedro Sidnei Zanchett (UNIFEBE), Cristian Zimmermann de Araújo (UNIFEBE),
Wagner Correia (UNIFEBE), Christian R.C. de Abreu (Prefeitura de Blumenau)
Terceirização de Sistemas de Informação no Setor Público: Uma Revisão Sistemática de Literatura . . . . . . . . . . . . . . . . . 9
Matheus Icaro Agra Lins (IFAL), José da Silva Duda Junior (IFAL), Mônica Ximenes Carneiro da Cunha (IFAL)
Uma Comparação entre o Desenvolvimento de Aplicações Web Convencionais e Aplicações em Nuvem . . . . . . . . . . . . . 13
Bruno Lopes (IFSP), Kleber Manrique Trevisani (IFSP)
ST2 - Desenvolvimento e Gestão Ágeis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Seleção de Ferramenta de Gestão de Demandas de Desenvolvimento Ágil de Software para Órgão Público . . . . . . . . . . 17
Emilie Morais (UnB), Geovanni Oliveira (FGA/UnB), Rejane Maria da Costa Figueiredo (UnB), Elaine Venson (UnB)
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)
ST3 - Desenvolvimento de Interfaces, Usabilidade e Testes em SI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Análise de Usabilidade em Sistema de Resposta Audível automatizada, com base no Percurso Cognitivo,
Critérios Ergonômicos de Bastien e Scapin e Heurísticas de Nielsen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Aline Cristina Antoneli de Oliveira (UFSC), Maria José Baldessar (UFSC),
Leonardo Roza Mello (Faculdade SENAI-Florianópolis), Priscila Basto Fagundes (Faculdade SENAI-Florianópolis)
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)
Automação de Testes em Sistemas Legados: Um Estudo de Caso para a Plataforma Flex . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Augusto Boehme Tepedino Martins (UFSC), Jean Carlo Rossa Hauck (UFSC)
ST4 - Armazenamento e Processamento de Informações . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Análise do uso de técnicas de pré-processamento de dados em algoritmos para classificação de proteínas . . . . . . . . . . . 39
Lucas Nascimento Vieira (Univille), Luiz Melo Romão (Univille)
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
Desenvolvimento de um Jogo Digital como Objeto de
Aprendizagem em um Curso de Sistemas para Internet
Alternative Title: Development of a Digital Game as learning
object in a Systems for the Internet Course
Alexandre Soares da Silva
Viviane Andrade da Silva
Instituto Federal de Mato Grosso do Sul (IFMS)
R. Treze de Maio, 3086, campus Campo Grande
Centro, Campo Grande - MS
+55 (67) 3378-9500
Instituto Federal de Mato Grosso do Sul (IFMS)
R. Treze de Maio, 3086, campus Campo Grande
Centro, Campo Grande - MS
+55 (67) 3378-9500
[email protected]
[email protected]
RESUMO
Categories and Subject Descriptors
Devido sua característica lúdica e multidisciplinar, jogos digitais
são utilizados nas mais diversas áreas como ferramentas e objetos
de aprendizagem. Este artigo apresenta o desenvolvimento de um
jogo digital, planejado para rodar em navegadores web, cujo
conteúdo pretende contribuir para o desenvolvimento do
raciocínio lógico e habilidades em solucionar problemas de
estudantes de um curso Tecnológico de Sistemas para Internet. A
mecânica do jogo exibe, na forma de puzzles interativos,
problemas aplicados de lógica. Não obstante, sua arquitetura
também permite a inserção destes puzzles criados de forma
independente, sem muitas restrições de projeto. Deste modo, o
jogo é empregado como objeto de aprendizagem onde os
estudantes colaboram implementando recursos adicionais
enquanto paralelamente praticam algumas das habilidades
desejadas pelo curso.
K.3.2 [Computers an Education]: Computer and Information
Science Education – Information Systems education; K.8.0
[Personal Computing]: General – Games.
General Terms
Algorithms, Design
Keywords
digital games; programing; learning objects; web development
1.INTRODUÇÃO
Jogos digitais, videojogos ou ainda games, como são mais
comumente chamados, proveem uma forma lúdica de desenvolver
determinada tarefa proposta pelo próprio jogo. Para determinado
grupo de jogos, existe um conjunto de funções comuns entre eles
como, por exemplo, algoritmos de ocultação de superfícies,
rotinas de renderização, estruturas de dados para representar os
atores, bibliotecas com funções matemáticas, dentre outros. Este
conjunto de funções comuns entre um determinado grupo de jogos
é chamado motor ou engine. O motor existe para que, a cada novo
jogo não seja necessário implementar novamente todos os
recursos comuns, além de otimizar o tempo de desenvolvimento e
consequentemente os custos.
Palavras-chave
Jogos digitais; programação; objetos de aprendizagem;
desenvolvimento web
ABSTRACT
Because its playful and multidisciplinary aspects, games are used
in several areas as tools and learning objects. This paper presents
the development of a game designed to run on web browsers
which purpose is develop logical thinking and problems solving
skills in students of a Systems for the Internet Technology course.
The game mechanism displays, as interactive puzzles, applied
logic problems. Nevertheless, its architecture also allows the
addition of independently created puzzles, without many design
constraints. Thus, the game is used as an object of learning, where
students collaborate implementing additional features while at the
same time practicing some of the skills demanded by the course.
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 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
otherwise, or republish, to post on servers or to redistribute
to lists, requires prior specific permission and/or a fee.
Do mesmo modo, o projeto e desenvolvimento de um jogo digital
por si só possui natureza multidisciplinar pois engloba arte,
cultura, processamento gráfico, comunicação via rede,
armazenamento de informações, engenharia de software,
sonorização, dentre outras áreas. Portanto, engloba áreas da
computação como computação gráfica, redes de computadores,
engenharia de software, métodos numéricos, dentre outras.
Levando em consideração esta multidisciplinaridade, em 2012
iniciamos um projeto de desenvolvimento de um motor 2D
simples para criação de jogos para web usando apenas recursos
nativos dos navegadores como HTML5, CSS e JavaScript, sem
qualquer plugin ou extensão. Essa decisão foi tomada porque a
intenção era criar um motor com objetivo primariamente didático,
sem intenção de competir com os motores já existentes. A ideia
era de utilizá-lo como ferramenta para ensinar o funcionamento
geral de um motor de jogos partindo de um código muito mais
simples do que os existentes. Os estudantes, neste caso do CST 1
em Sistemas para Internet, poderiam modificá-lo, visualizar o
efeito das alterações e ao mesmo tempo praticar programação em
SBSI 2016, May 17–20, 2016, Florianópolis, Santa Catarina, Brazil.
Copyright SBC 2016.
1
1
Curso Superior de Tecnologia
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016
JavaScript – linguagem de script na qual o motor foi construído.
Todavia, o motor por si só não empolgava tanto os estudantes do
curso que não participaram das etapas de seu desenvolvimento,
era necessário desenvolver um jogo para que algo fosse
efetivamente visualizado e jogado. Em 2014, iniciamos o projeto
de construção de um jogo digital intitulado Brain Adventure com
objetivo de auxiliar o aprendizado de algoritmos e programação.
Trata-se de um cenário interativo com perspectiva isométrica onde
a personagem interage com outros objetos (Figura 1) ou atores
que disparam puzzles (quebra-cabeças ou desafios de lógica).
Baseados em desafios de lógica ou problemas algorítmicos
simples, o objetivo dos quebra-cabeças era permitir aos estudantes
construir um mapa mental dos tipos mais comuns de problemas de
lógica encontrados na programação, porém de uma forma mais
lúdica do que a convencional como, por exemplo, o problema da
travessia de um rio por barco, onde um agricultor pode levar
apenas a si mesmo e uma única de suas compras: o lobo, a cabra,
ou a maçã (na literatura há variantes do puzzle com outros itens).
Se forem deixados sozinhos em uma mesma margem, o lobo come
a cabra, e a cabra come a maçã. O desafio consiste em atravessar a
si mesmo e as suas compras para a margem oposta do rio,
deixando cada compra intacta (Figura 2).
Figura 2: Uma variação do desafio da travessia de compras
por um rio com interface arrastar e soltar. A ideia é que o
estudante perceba estruturas condicionais que devem ser
utilizadas para solucionar o problema.
2.FUNDAMENTAÇÃO TEÓRICA
Segundo o Comitê de Padrões de Tecnologia de Aprendizagem da
IEEE2, um objeto de aprendizagem pode ser caracterizado por uma
entidade, digital ou não, que pode ser usada para aprendizagem,
educação ou treinamento [4]. Wiley D. A. [9] dá uma visão mais
próxima dos objetos deste trabalho, definindo um objeto de
aprendizagem como qualquer recurso digital que pode ser reusado
para apoiar a aprendizagem. A ideia principal é quebrar o
conteúdo educacional em pequenos pedaços que possam ser
reusados em vários ambientes de aprendizagem, tal qual no
paradigma da programação orientada a objetos.
Com o amadurecimento do projeto e considerando os relatos dos
próprios estudantes, vimos que a programação dos puzzles do jogo
despertava mais interesse do que simplesmente jogá-lo. Além
disso, é possível construí-los utilizando como base o
conhecimento adquirido durante o próprio CST em Sistemas para
Internet. Quando finalizado, cada artefato desenvolvido pode ser
incluído no jogo completo devido a sua arquitetura desacoplada. A
criação de novos desafios para incrementar este jogo é uma
alternativa na elaboração de atividades inerentes ao próprio curso
como, por exemplo, atividades complementares, trabalhos de
disciplinas de desenvolvimento web ou programação de
computadores. Vale ressaltar que, mesmo sendo construído
colaborativamente pelos estudantes, o jogo não tem como
pretensão substituir as aulas tradicionais, mas sim atuar como uma
ferramenta alternativa de aprendizagem auxiliando na construção
de habilidades previstas pelo projeto pedagógico do curso.
Objetos de aprendizagem já são amplamente utilizados nas mais
diversas áreas. Umas dessas áreas é a da programação de
computadores e competências relacionadas. Isso ocorre
basicamente porque a capacidade cognitiva dos estudantes
novatos em entender um problema é base fundamental para a
leitura e escrita de programas; domínio dos conceitos básicos de
programação é vital para a escrita de um bom programa [8]. Para
aprender a programar é necessário o entendimento correto de
alguns conceitos abstratos, conhecimentos sobre linguagens de
programação, ferramentas, habilidades de solucionar problemas,
estratégias no planejamento e implementação de um programa.
Além disso, o maior problema de programadores novatos não é de
aprender os conceitos básicos, mas sim aprender como utilizá-los.
Dois fatores cognitivos apresentam-se como prováveis
responsáveis por deixar o aprendizado a programar mais difícil –
estilo de aprendizado e motivação [5]. Em outras palavras, é
possível que exista um estilo de aprendizagem particular que
permita ao estudante adquirir habilidades de programação mais
facilmente, ou pode ser que os estudantes precisem de uma forma
particular de motivação. Neste sentido, um jogo digital, se
convenientemente projetado, pode ser usado como objeto de
aprendizagem eficaz na construção do conhecimento e do
raciocínio. De fato, atualmente os jogos digitais têm sido
frequentemente empregados como ferramentas lúdicas para
auxiliar no aprendizado na área de informação e comunicação,
principalmente em relação a programação [1, 2, 3, 6, 7].
A Seção 2 apresenta a fundamentação teórica por trás da ideia do
projeto. Descrevemos pontos relevantes da metodologia de
desenvolvimento do jogo na Seção 3. Em seguida, na Seção 4,
relatamos os resultados obtidos até o momento e posteriormente
concluímos este trabalho na Seção 5.
Se por um lado sua característica lúdica é um dos recursos mais
motivadores de um jogo, grande parte dos jogos desenvolvidos
como objetos de aprendizagem pertencem a categoria dos
chamados jogos sérios, ou jogos educativos; estes por sua vez não
possuem a diversão como foco principal, o que em alguns casos,
pode torná-lo uma atividade entediante. O jogo desenvolvido
durante este projeto tem como principal contribuição a
participação dos estudantes também na sua criação,
Figura 1: Cenário isométrico com desafios. Desafios são
indicados por um sinal: verde se solucionado, amarelo caso
iniciado mas ainda não solucionado ou vermelho se ainda não
foi acessado.
2
2
Institute of Electrical and Electronics Engineers
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016
programaticamente; não se limita a um jogo disponível apenas
para ser jogado. Além disso, há liberdade de que cada desafio seja
criado independentemente dos outros, de certa forma, sem muitas
restrições de projeto. As únicas restrições impostas são: não
utilizar plugins ou qualquer tecnologia que necessite instalação e
manter apenas quebra-cabeças relacionados às competências
cognitivas desejadas nos estudantes.
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
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
cursos da área. Nesta etapa, definimos também a arquitetura
básica do projeto: cada fase seria representada por uma página
web, em um cenário isométrico, onde haveriam objetos interativos
e cada um destes objetos poderiam disparar desafios
predeterminados. A escolha pela perspectiva isométrica deu-se
pelo fato de ser possível trabalhar com gráficos 2D e
posicionamento espacial de forma mais simples do que com
gráficos 3D, mas ainda sim simulando um aspecto tridimensional.
Não obstante, a modelagem tridimensional ocuparia um tempo
considerável da equipe e o projeto poderia ter seu escopo alterado.
Figura 3: Arquitetura básica do projeto do jogo
Criado o primeiro protótipo, o mesmo foi submetido a apreciação
de alguns estudantes e professores através de apresentações. Isso
serviu para reavaliar algumas decisões como, por exemplo,
utilizar os mesmos desafios para todos os personagens
disponíveis, evitando assim comparações de gênero, idade, ou
características físicas com a dificuldade dos desafios. Reavaliando
as contribuições esperadas, a principal contribuição passou a ser a
possibilidade de encaixar o desenvolvimento dos puzzles como
objeto de aprendizagem, pois o interesse era maior em criar
quebra-cabeças do que jogar. Planejamos então a aplicação de
algumas atividades (as quais serão expandidas futuramente):
O passo seguinte foi selecionar um motor para jogos adequado.
Primando por um motor com caráter mais didático do que
comercial, optamos pelo motor para jogos 2D desenvolvido
dentro da própria instituição de ensino por membros do grupo de
pesquisa NIJOD – Núcleo Interdisciplinar de Pesquisa para Jogos
Digitais. Para a implementação da lógica dos desafios e
manipulação das informações sobre os jogadores utilizamos a
tecnologia JSP3. Durante o processo, tomamos o cuidado de
permitir o desenvolvimento dos quebra-cabeças sem a
obrigatoriedade de conhecer o motor, recursos avançados do
HTML5 ou qualquer outra tecnologia em especial. Assim, bastaria
implementar a página web com o desafio e em seguida acoplá-la
ao cenário principal. Este acoplamento funciona através de uma
API do próprio jogo que recebe e envia dados no formato JSON4,
facilitando a integração. Essa integração não será necessariamente
tarefa de quem implementou o desafio; por exemplo, cada
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
banco de dados ou chamadas dos controladores e assim por
diante. A Figura 3 mostra a ideia básica da arquitetura do jogo. O
projeto do banco de dados responsável por armazenar informações
sobre jogadores, progressos e desafios foi criado após a definição
de alguns dos desafios. Desejávamos uma modelagem que
atendesse todos os desafios de forma genérica, fornecendo as
respostas, dicas, dentre outras informações sem a necessidade de
remodelar a base de dados a cada novo desafio criado. Qualquer
que seja o quebra-cabeça, ele pode possuir atributos comuns aos
outros, por exemplo, dicas, resposta, descrição e título.
3

Implementação de desafios completos e funcionais
(layout, recursos, lógica) como parte de atividades
complementares do curso.

Criação ou melhoria de layouts dos desafios ou telas do
jogo (desenvolvimento web inicial)

Implementação da lógica e persistência de dados no
servidor para os layouts já desenvolvidos.
(desenvolvimento web mais avançado)

Implementação de algoritmos para os desafios como
validação, respostas, contagem de pontos, etc.
(programação de computadores)
Da mesma maneira vislumbramos a possibilidade de criar
atividades relacionados ao jogo em projetos integradores ou
trabalhos em cursos técnicos da área.
4.RESULTADOS
A princípio, o objetivo era criar um jogo para incentivar o
pensamento algorítmico nos estudantes do CST em Sistemas para
Internet. Entretanto, diante de sugestões da comunidade
acadêmica e consequentemente reavaliação dos objetivos, logo
percebemos que projeto não permanecerá limitado a cursos
superiores, passando a ser considerado também uma boa opção
para cursos técnicos da área.
Antes de publicar o primeiro protótipo jogável, optamos por usá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
linguagem de programação foram as primeiras planejadas. A
iniciativa foi mais bem recebida do que o jogo em si, mesmo não
havendo opiniões negativas sobre o mesmo.
Java Server Pages
4
JSON (JavaScript Object Notation) é um formato de dados leve
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
Em linguagem de programação, um dos trabalhos da disciplina foi
criar um jogo de dedução de palavras, similar ao clássico jogo da
forca. Todos os estudantes frequentes finalizaram o trabalho, o
que é um bom indicativo em relação a motivação. Na área de
desenvolvimento web a atividade foi propor uma layout web para
um dos diversos problemas disponibilizados pelo professor. Neste
caso, houve a participação de aproximadamente 80% da turma,
não sendo tão efetivo. Ao questionar os estudantes, os mesmos
alegaram que por causa da grande quantidade de avaliações e
trabalhos no final do semestre priorizaram algumas disciplinas
que precisaram de maior dedicação.
6.REFERÊNCIAS
[1] Boyer, K., Buffum, P.S., et. al. 2015. ENGAGE: A Gamebased Learning Environment for Middle School
Computational Thinking. SIGCSE 15 Proceedings of the
46th ACM Technical Symposium on Computer Science
Education. Pages 440-440. ACM New York, NY, USA.
ISBN: 978-1-4503-2966-8.
DOI=http://dx.doi.org/10.1145/2676723.2691876
[2] Drake, P., Goadrich, M. 2014. Learn Java in N games.
SIGCSE 14 Proceedings of the 45th ACM technical
symposium on Computer science education. Pages 748-748.
ACM New York, NY, USA. ISBN: 978-1-4503-2605-6.
DOI=http://dx.doi.org/10.1145/2538862.2539009
Ao ser apresentado ao primeiro semestre do curso, houve interesse
de aproximadamente 20 estudantes de um total de 30.
Infelizmente, devido a algumas situações atípicas como troca de
professores da disciplina e greve dos servidores as atividades
foram interrompidas. Neste meio tempo, dois estudantes do último
semestre paralelamente desenvolveram desafios completos para o
jogo, o que os ajudou a pontuar em atividades complementares
obrigatórias; os desafios destes estudantes foram mais simples,
pois havia um projeto de uma versão do jogo para crianças, com
puzzles menos complexos tais como jogo da memória, caçapalavras, coleta seletiva de lixo, dentre outros (Figura 4).
[3] Ghannem, A. 2014. Characterization of serious games
guided by the educational objectives. TEEM 14 Proceedings
of the Second International Conference on Technological
Ecosystems for Enhancing Multiculturality. Pages 227-233.
ACM New York, NY, USA. ISBN: 978-1-4503-2896-8.
DOI=http://dx.doi.org/10.1145/2669711.2669904
[4] IEEE 1484.12.1-2002. 2002. Draft Standard for Learning
Object Metadata. IEEE Learning Technology Standards
Committee (LTSC).15 July 2002. DOI=
http://standards.ieee.org/findstds/standard/1484.12.12002.html
Os próximos passos são expandir a ideia para novas turmas, pois
até o momento todos os testes foram realizados com uma
quantidade pequena de estudantes, em um único curso.
[5] Jenkins, T. 2002. On the Difficulty of Learning to Program.
In Proceedings of the 3rd annual Conference of LTSN Centre
for Information and Computer Sciences. vol 4, pp.53-58.
LTSN. August 23, 2002.
[6] John, M.D.H., et. al. 2003. Puzzles and games: addressing
different learning styles in teaching operating systems
concepts. SIGCSE 03 Proceedings of the 34th SIGCSE
technical symposium on Computer science education. ACM
New York, NY, USA. Volume 35 Issue 1, January 2003.
Pages 182-186.
DOI=http://dx.doi.org/10.1145/792548.611964
[7] Li, F.W.B., Watson, C. 2011. Game-based concept
visualization for learning programming. MTDL 11
Proceedings of the third international ACM workshop on
Multimedia technologies for distance learning. Pages 37-42.
ACM New York, NY, USA. ISBN: 978-1-4503-0994-3.
DOI=http://dx.doi.org/10.1145/2072598.2072607
Figura 4: Exemplos de dois desafios desenvolvidos pelos
estudantes como atividades complementares do curso
5.CONCLUSÃO
Mesmo atuando sobre uma amostra pequena de estudantes,
tivemos alguns resultados interessantes, mas que podem ser
melhorados. Ao contrário de trabalhos tradicionais como
implementar um sistema de cadastro, criar um algoritmo sem
motivação real ou modelar um banco de dados para um ecommerce, o desenvolvimento de parte de um jogo cria novas
perspectivas: gerar um artefato com caráter mais lúdico e
interativo do que as atividades tradicionais além da expectativa de
criar algo para os próprios colegas.
[8] Matthews, R., Hin, H.S., Choo, K.A. 2009. Multimedia
learning object to build cognitive understanding in learning
introductory programming. MoMM 09 Proceedings of the
7th International Conference on Advances in Mobile
Computing and Multimedia. Pages 396-400. ACM New
York, NY, USA. 2009. ISBN: 978-1-60558-659-5.
DOI=http://dx.doi.org/10.1145/1821748.1821824
[9] Wiley, D.A. 2000. Connecting learning objects to
instructional design theory: A definition, a metaphor, and a
taxonomy. In D. A. Wiley (Ed.), The Instructional Use of
Learning Objects: Online Version. Utah State University,
USA. DOI=http://reusability.org/read/chapters/wiley.doc
A possibilidade de criar jogos com temas e públicos variados
deixou também em aberto uma nova possibilidade: implementar a
ideia em outras áreas do conhecimento; não somente para
tecnologia da informação, assumindo o papel de um objeto de
aprendizagem que pode ser usado dentro ou fora de sala de aulas,
tanto como instrumento de apoio como motivador no ensino e
aprendizagem.
4
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016
RNA Aplicada a Modelagem Hidrológica
Alternative Title: Applied ANN to Hydrologic Model
Marcos Rodrigo Momo
Pedro Sidnei Zanchet
Cristian Zimmermann de Araújo
Centro Universitário de Brusque
[email protected]
Centro Universitário de Brusque
[email protected]
Centro Universitário de Brusque
[email protected]
Wagner Correia
Christian R. C. de Abreu
Centro Universitário de Brusque
[email protected]
Prefeitura Municipal de Blumenau
[email protected]
bacia hidrográfica do rio Itajaí-Açú, o histórico das enchentes é
bastante extenso devido principalmente ao relevo natural da área
e ao processo de ocupação ao longo dos rios deste vale. Os
primeiros registros de cheias datam de 1852. Na bacia do rio do
Itajaí-Mirim, as enchentes ocorrem periodicamente até os dias
atuais, sendo a mais recente ocorrida em 2011 quando o nível do
rio alcançou a marca de 13,03 metros no Município de Brusque.
RESUMO
As inundações são fenômenos naturais que vem ocorrendo em
várias partes do mundo. Na região do Vale do Itajaí, na bacia
hidrográfica do rio Itajaí-Mirim, o histórico das enchentes é
extenso. Para minimizar os danos causados por estes eventos,
medidas estruturais de prevenção vêm sendo realizados, tais
como, a construção de uma barragem. Entretanto, entender a
evolução hidrológica destes eventos é de fundamental
importância para apoiar as atividades de monitoramento. Neste
sentido, este trabalho tem como objetivo desenvolver um
modelo hidrológico chuva-vazão, utilizando técnicas de Redes
Neurais Artificiais (RNAs) para simular o sistema hidrológico
no rio Itajaí-Mirim no Município de Brusque.
As inundações situam-se entre os principais tipos de desastres
naturais na nossa região. São comumente deflagradas por chuvas
rápidas e fortes, chuvas intensas e de longa duração. Estes
fenômenos podem acontecer em regiões naturais, trazendo
alterações ambientais. Entretanto, também atingem locais
ocupados pelos seres humanos. Assim, as áreas urbanas, são as
mais delicadas, pois apresentam mais superfícies impermeáveis,
maior adensamento das construções. Além disso, a conservação
do calor e a poluição atmosférica propicia a aceleração dos
escoamentos, redução do tempo de pico e aumento das vazões
das máximas, causando danos cada vez maiores e sendo tratado
como desastres. O maior destes desastres nesta região foi de
deslizamentos acompanhados de enxurradas e enchentes, que
ocorreu em novembro de 2008 com o registro de 24 mortes, 6
pessoas desaparecidas, mais de 30.000 pessoas desalojadas ou
desabrigadas [3].
ABSTRACT
Floods are natural phenomena that have occurred in various
parts of the world. In the region of Itajaí Vale, in the basin of the
Itajaí-Mirim River the history of flooding is extensive. To
minimize the damage caused by these events, structural
prevention measures have been carried out, such as the
construction of a dam. However, understanding the hydrological
evolution of these events is crucial to support the monitoring
activities. In this sense, his work aims to develop a hydrological
rainfall-runoff model, using techniques of the artificial neural
network to simulate the hydrological system in Itajaí-Mirim
River in the city of Brusque/SC.
Na tentativa de monitorar e diminuir os danos causados por
estes desastres, alguns esforços estão sendo realizado em toda a
bacia do rio Itajaí. Na bacia do rio Itajaí-Mirim, área de estudo
deste trabalho, está em andamento o projeto para a construção
de uma barragem a montante do Município de Brusque,
localizada em Botuverá. Esta barragem terá a capacidade de
armazenamento do volume de 15.700.000 m³. Desta forma, a
expectativa é que a vazão máxima do rio Itajaí Mirim, em
Brusque seja reduzida de 720 m³/s para 570m³/s. Isso significa
dizer que se em 2011, durante o evento de cheias em Brusque, o
pico de 10,03 metros, baixaria para 8,75 metros. Além disso, a
barragem oferecerá potencial de abastecimento de água aos
municípios de Botuverá, Brusque, Itajaí e Balneário Camboriú.
Em 2012 a Prefeitura Municipal de Brusque mapeou toda a área
do Município e as cotas de inundação por ruas, denominadas de
Carta-Enchente e a Cota-Enchente, respectivamente. Este
mapeamento de áreas suscetíveis de inundação representa um
grande avanço para gestão e controle de cheias, possibilitando o
monitoramento em uma situação de possível ocorrência de
enchente. Recentemente a Defesa Civil de Brusque implantou
um sistema telemétrico para coleta de dados hidrológicos e
meteorológicos em vários pontos da bacia do rio Itajaí-Mirim,
possibilitando realizar o monitoramento hidrometeorológico em
tempo real. O sistema de telemetria instalado no Município de
Categories and Subject Descriptor
I. [Computing Methodologies]: I.2. Artificial Intelligence:
I.2.6.Learning: Connectionism and neural nets.
General Terms
Experimentation, Measurement, Verification.
Keywords
Modelo Chuva-Vazão; Simulação Hidrológica; Redes Neurais
Artificiais; Hidrometeorologia.
1. INTRODUÇÃO
As enchentes são fenômenos naturais que têm sido registrados
nas diversas partes do mundo e que muitas vezes geram
expressivos prejuízos ao homem e à natureza. Na região da
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
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
otherwise, 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.
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
realizar o monitoramento hidrometeorológico da bacia em
tempo real, e por outro, viabiliza dados que subsidiam as
pesquisas científicas nas áreas de hidrologia e meteorologia.
Neste sentido, o objetivo deste trabalho é realizar a modelagem
hidrológica baseada em redes neurais artificiais (RNAs), visando
simular o comportamento hidrológico do rio Itajaí-Mirins,
durante as ocorrências de cheias pretéritas. Estas informações
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
cheias.
longo prazo são para tempo de retorno de um evento de cheias,
relacionados às mudanças climáticas ou eventos cíclicos do tipo
El Niño e La Niña.
A previsão de curto prazo é realizada com horizontes pequenos
de tempo, variando de minutos até horas (ou dias). Estas
previsões são realizadas postos de medições a montante e dados
de precipitação ocorrida. São as mais utilizadas para controle de
inundações em regiões ribeirinhas [4].
2.4 Redes Neurais Artificiais (RNA)
A RNA é um paradigma de aprendizado e processamento
automático inspirado na forma que funciona o sistema cerebral
humano. Através de interconexões de neurônios artificiais
colabora para produzir estímulos de saída.
2. FUNDAMENTAÇÃO TEÓRICA
2.1 Modelos hidrológicos
Neurônios artificiais são funções matemáticas capazes de
receber uma série de entradas e emitir uma saída. Basicamente
um neurônio artificial da RNA é dado por três funções, são elas:
1) função de propagação, responsável por realizar a somatória
de cada entrada multicamada; 2) função de ativação, que
modifica a função anterior, caso a saída seja a mesma função
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].
O modelo hidrológico é uma representação simplificada de um
sistema com o objetivo de entendê-lo e encontrar respostas para
distintas circunstâncias [10]. Através dos modelos hidrológicos
é possível encontrar respostas (saídas) de uma bacia hidrográfica
a partir de informações (entradas). A Figura 1 apresenta a
representação
esquemática
de
um
modelo
hidrológico
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
aceitável para um dado problema, é necessário previamente
adequar um tipo de modelo RNA e realizar a tarefa de préprocessamento dos dados, os quais que formarão o conjunto de
treinamentos. Estas características permitem a RNA oferecer
diversas vantagens, tais como, capacidade de aprendizagem,
auto-organização, tolerância a falhas, flexibilidade e a obtenção
de resultados em tempo real. Redes neurais têm sido utilizadas
com sucesso em vários campos da ciência. Na hidrologia sua
aplicabilidade tem feito evoluir a modelagem de sistemas não
lineares[4]. As principais vantagens na utilização da
metodologia de RNA na modelagem de bacias hidrográficas são:
a) possibilitam a resolução de problemas complexos e não bem
definidos; b) podem ser aplicados em sistemas sem soluções
específicas; c) não requerem conhecimento detalhado dos
processos físicos; d) não potencializam erros de medição; e)
permitem otimizar os dados de entrada e dados de saída; f)
possibilitam treinamento contínuo da rede; g) baseado em dados
históricos, permite extrair informação e generalizar respostas
adequadas para cenários diferentes daqueles já ocorridos.
Figura 1: Representação esquemática de um modelo
hidrológico [8].
Na modelagem hidrológica são utilizadas ferramentas
matemáticas para representar o comportamento dos principais
elementos que compõe o ciclo hidrológico. Desta forma, o
objetivo é reproduzir os resultados mais próximos possíveis aos
resultados encontrados na natureza. Devida à grande
complexidade de se representar todos os fenômenos naturais, a
modelagem hidrológica trabalha com simplificações desses
fenômenos [8].
2.2 Modelo Chuva-Vazão
Na literatura há uma grande quantidade de modelos chuvavazão, desde os mais simples, com métodos matemáticos, até os
mais complexos envolvendo modelos conceituais distribuídos
que consideram a variabilidade espacial e tempo de um evento
chuvoso, assim como as características da bacia [1]. Com a
evolução tecnológica, a modelagem chuva-vazão está sendo
aplicada para resolver situações específicas de como fazer
previsões de cheias, melhorando o ajuste dos parâmetros e
avaliando a interligação entre os parâmetros e as características
físicas da bacia [8].
2.4.1 Arquitetura da RNA
A rede neural é formada pelas camadas de entrada,
processamento e saída. Na camada de entrada, são apresentados
os dados de entradas da rede, que produzem sinais de saída,
estas por sua vez, estimularão os neurônios da camada
subsequente. Este processo segue até atingir a última camada,
chamada de camada de saída. Vale salientar que as camadas de
uma rede neural podem ter um ou vários neurônios por camadas.
Na Figura 2 se ilustra a arquitetura de uma rede neural [5].
Os principais usos destes modelos estão voltados para estudos
de comportamento de fenômenos hidrológicos, previsão de
nível, previsão de cenários de planejamento entre outros [10].
2.3 Previsão de nível do rio
A previsão de nível do rio é a estimativa das condições em um
determinado tempo específico futuro [1]. A previsão pode ser
classificada em função do intervalo de tempo, como sendo de
curto prazo ou de longo prazo. Alguns exemplos de previsão de
Para resolver um dado problema, não existe, todavia, uma
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
muito complexa pode causar um superajustamento (overfiting).
Por outro lado, a simplicidade excessiva da rede pode não
conseguir reproduzir o comportamento desejado, mais
conhecido como mínimos locais [5]. Para alcançar a melhor
arquitetura da rede neural, para cada configuração devem-se
realizar simulações e análises de resultados, através das etapas
de treinamento e testes da rede.
3.3 Área de estudo
A bacia hidrográfica do rio Itajaí-Mirim está localizada na
região do Vale do Itajaí entre as latitudes -27°6’2 e longitudes 48°55’0. O rio Itajaí-Mirim faz parte da bacia do rio Itajaí-Açú,
que por sua vez, faz parte do sistema de drenagem da vertente
Atlântico. O rio Itajaí-Mirim com a área de drenagem de
1.700km² é a maior sub-bacia da bacia de drenagem do rio
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.
Figura 2: Arquitetura da rede neural artificial [5].
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
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
encontrar o melhor resultado da RNA; 3-Análise de resultados:
com o objetivo de eleger a melhor configuração da RNA, para
cada simulação a análise de rendimento da rede, foi baseada no
coeficiente de determinação R². Este coeficiente permite obter o
ajuste entre o modelo de simulação e os dados observados que
variam entre 0 e 1. Desta forma, indica em percentagem o
quanto o modelo consegue explicar os valores observados,
quanto maior o valor de R² (mais próximo à 1), maior é o
rendimento do modelo, ou seja, melhor ele se ajusta à amostra.
Figura 3: Bacia hidrográfica Vale do Itajaí e sub-bacias [7].
4. RESULTADOS
No total foram criadas 10 RNAs utilizando as mesmas séries de
dados para as fases de treinamento e teste. Nas simulações foram
alterados os parâmetros de configuração para cada rede testada.
Com base no coeficiente de determinação R², verificou-se que o
melhor rendimento do modelo foi com a seguinte configuração
da RNA: rede Feed_Forward BackPropagation, com 50
neurônios, 2 camadas, algoritmo de treinamento TRAINLN,
camada escondida função TANSIG e de saída função
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
pela RNA.
3.2 Dados utilizados
Para a realização deste trabalho, foram utilizados os dados do
nível do rio nos pontos de Brusque e Vidal Ramos, registrados
nas ocorrências de cheias dos seguintes eventos: 09/08/2011,
30/08/2011, 14/01/2012, 08/06/2014, 29/09/2014 e 01/10/2014.
Estes dados são provenientes da rede telemétrica de coleta de
dados hidrometeorológicos mantida pelo CEOPS/FURB [2]. O
ponto de Brusque é o local desejado da previsão de nível, ou
seja, na ponte Estaiada localizada centro da cidade.
Vale salientar que neste trabalho foram simuladas também as
redes neurais recorrentes Elman. Redes recorrentes são
adequadas para sistemas dinâmicos, entretanto, os resultados
obtidos para as mesmas séries de dados foram inadequados para
o estudo proposto.
Estudos similares ao apresentado aqui, utilizando RNA para
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
de Rio do Sul. O melhor desempenho foi com a RNA dom tipo
MLP com 9 neurônios na camada oculta. Para analisar a
performance do modelo, foram utilizados três coeficientes
estatísticos: Coeficiente de Eficiência de NS (Nash e Sutcliffe),
RMSE (Root Mean Square Error) e MAPE (Mean Absolute
Percentage Error), alcançando os valores de 0.9779, 0.0201 e
5.625, respectivamente.
Finalmente, vale destacar que a aplicabilidade das RNAs para
estudos hidrometeorológicos são promissoras, uma vez que
necessitam uma quantidade de dados relativamente pequena,
quando comparados aos modelos hidrológicos mais sofisticados
do tipo distribuídos, que consideram a variabilidade espacial nas
diversas variáveis do modelo, sendo necessário a discretização
da área, representando um conjunto elevado de parâmetros.
6. AGRADECIMENTOS
No trabalho de [8] apresenta os resultados do modelo de
previsão hidrológica de curto prazo utilizando RNA. Para
verificar o rendimento do modelo, foi aplicado como estatística
de qualidade o coeficiente de NS e apresentou como o menor
resultado 0,91 e o maior resultado 0,97.
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.
Em [12] apresenta um trabalho utilizando RNA de múltiplas
camadas para realizar a previsão de vazão mensal da bacia
hidrográfica do rio Piancó no Estado da Paraíba. A RNA
configurada com 15 neurônios na camada intermediária,
utilizando o coeficiente de NS, apresentou um resultado de 0,77.
7. REFERENCIAS
[1] CORDERO, Ademar; MOMO, Marcos Rodrigo; SEVERO,
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,
São Paulo, Bookman, 2001, 900 p.
Figura 4: Simulação hidrológica Observado/Simulado com
RNA.
[6] HOMECHIN, M. Jr & A.C. BEAUMOR. Caracterização
da qualidade das águas do trecho médio do Rio ItajaíMirim, S/C. Anais do VIII Congresso de Ecologia do
Brasil, 2007.
Este trabalho permitiu obter informações relacionadas à
simulação do processo hidrológico na bacia hidrográfica do rio
Itajaí-Mirim durante um evento de cheias. Estas informações são
de vital importância para entender o clico hidrológico,
objetivando prever com antecedência a subida do nível do rio e
apoiar no monitoramento hidrológico em situações de eventos
de cheias. O serviço de monitoramento hidrometeorológico do
Município de Brusque atende de forma direta ou indiretamente,
uma população de cerca de 100 mil habitantes. Desta forma,
estas informações poderão ser integrados ao Sistema de
Informação da Defesa Civil de Brusque para apoiar na tomada
de decisão em situações iminentes às enchentes. Por outro lado,
a continuidade destes estudos viabilizará a geração de novos
conhecimentos hidrológicos da bacia e o fortalecimento da
parceria entre a Defesa Civil municipal, UNIFEBE e a
comunidade acadêmica em geral.
[7] BACIAS. Bacias Hidrográficas do Brasil. GEO-Conceição.
Disponível
em:
<http://geoconceicao.blogspot.com.br/2011/08/baciashidrograficas-do-brasil.html.>, Último acesso: 15/04/2016.
[8] MATOS, Alex Bortolon de. Efeito do controle de montante
na previsão hidrológica de curto prazo com redes neurais:
aplicação à bacia do Ijuí. 2012.75 f. Dissertação (Mestrado
em Recursos Hídricos e Saneamento Ambiental) –
PPRHSA, UFRGS, 2012.
[9] TOOLBOX S. I., The MathWorks - MatLab and
Simulation, T. MathWorks, Editor. 2016. Disponível em:
www.mathworks.com. Último acesso: 15/03/2016.
[10] TUCCI, C.E.M., Modelos hidrológicos, Porto Alegre,
UFRS/ABRH, 1998, 668 p.
5. CONCLUSÃO
Com base nestes resultados, verifica-se a necessidade de realizar
um levantamento de uma maior quantidade de dados
hidrometeorológicos da bacia, assim como a inserção de novos
pontos de medição do nível do rio. Intui-se que uma quantidade
maior de dados, viabilizará uma melhor qualidade na fase de
treinamento da RNA, melhorando o rendimento do modelo de
simulação hidrológica na bacia do rio Itajaí-Mirim.
[11] SOARES, D. G.; TEIVE, R.. C. G. Previsão de Cheias do
Rio Itajaí-Açu Utilizando Redes Neurais Artificiais. Anais
do Computer on the Beach, p. 308-317, 2015.
[12] SOUZA, W. S.; SOUZA, F. A. S. Rede neural artificial
aplicada à previsão de vazão da Bacia Hidrográfica do Rio
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
Terceirização de Sistemas de Informação no Setor
Público: Uma Revisão Sistemática de Literatura
Alternative Title: Information Systems Outsourcing in the Public
Sector: A Sistematic Literature Review
Matheus Icaro Agra Lins
José da Silva Duda Junior
Instituto Federal de Alagoas
R. Mizael Domingues, 75 - Centro,
Maceió - AL
[email protected]
Instituto Federal de Alagoas
R. Mizael Domingues, 75 - Centro,
Maceió - AL
[email protected]
RESUMO
Mônica Ximenes Carneiro da
Cunha
Instituto Federal de Alagoas
R. Mizael Domingues, 75 - Centro,
Maceió - AL
[email protected]
General Terms
A terceirização de sistemas de informação (TSI) tornou-se uma
estratégia bastante procurada pelas organizações nos últimos anos.
Inúmeros estudos encontrados na literatura tratam dos principais
aspectos que envolvem esse fenômeno no setor privado. Devido a
escassez de estudos direcionados ao setor público, esse artigo tem
como objetivo analisar publicações científicas com propósito de
elencar riscos, benefícios e motivações da terceirização de
sistemas de informação no setor público através de uma revisão
sistemática de literatura (RSL). Os resultados da RSL sinalizaram
diferença na frequência de citações relacionadas às motivações,
riscos e benefícios quando comparados ao setor privado. Tudo
isso mostra a importância deste levantamento para contribuir com
um trabalho em andamento que pretende fazer um mapeamento
quantitativo desses três fatores em instituições do setor público
em um estado do nordeste brasileiro, bem como para trabalhos
futuros.
Management, Measurement, Documentation, Theory.
Palavras-Chave
Terceirização de SI; Setor Público; Outsourcing de TI.
Keywords
IS outsourcing; Public Sector; IT outsourcing.
1. INTRODUÇÃO
O fenômeno da terceirização não é algo recente. Desde o século
XVIII, Ingleses e Franceses terceirizavam alguns serviços e
atividades especializadas [2][6]. Terceirização refere-se à prática
de transferir parte das atividades comerciais de uma empresa para
um fornecedor externo [1]. Geralmente atividades muito
específicas ou que não fazem parte dos interesses comerciais são
transmitidas para que empresas ou pessoas externas à organização
possam fazê-las de maneira melhor [2].
ABSTRACT
Information Systems Outsourcing (ISO) has become a much
sought strategy by organizations in recent years. Numerous
studies in the literature deals with the main aspects surrounding
this phenomenon in the private sector. Due to the lack of studies
directed to the public sector, this article aims to analyze scientific
publications focused on this sector with purpose to list risks,
benefits and motivations through a systematic literature review
(SLR). The SLR results signed some difference in the frequency
of citations related to motivations, risks and benefits when
compared to the private sector. It shows the importance of this
survey to contribute with a work in progress which aims to make a
quantitative mapping of these risks, motivations and benefits in
public sector institutions in a state in northeastern Brazil, as well
as future works.
Empresas cujo negócio principal não está diretamente relacionado
a serviços de TI enxergam na terceirização algumas
possibilidades, dentre elas: ter acesso a novas tecnologias e
recursos humanos capacitados, direcionar os esforços para a
atividade principal e reduzir custos. Este último, por sua vez, é um
dos principais fatores motivadores indicados em estudos voltados
principalmente para empresas privadas [7][3].
Categories and Subject Descriptors
Apesar de alguns fatores motivadores da TSI no setor público
serem semelhantes aos do privado, como foco nas competências
centrais, melhoria na qualidade dos serviços e acesso à expertise
[11], estes diferem quanto ao grau de importância e a frequência
com que são mencionados. Inclusive existem aspectos dissonantes
entre eles, como a carência de recursos humanos causada por
inexistência de cargos na área de TI dentro das instituições, e
também problemas na contratação devido a restrições burocráticas
ocasionada por leis [10].
O setor público tem seguido a tendência definida pelo setor
privado e atividades relacionadas a TI têm sido uma das que são
mais terceirizadas [13]. O risco de falhas nas parcerias enceta o
interesse dos órgãos públicos a se aprofundarem no formato de
gerência da terceirização, uma vez que a publicidade que cerca o
governo é fundamental para a gestão em exercício.
A1 [Introductory and Survey]
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
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
otherwise, 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.
A escassez de estudos orientados ao setor público dificulta
comparações com a iniciativa privada, bem como o próprio
entendimento do comportamento do fenômeno neste setor.
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
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
terceirização de SI como um todo. Para isso, é necessário um
aprofundamento no setor público com intuito de conseguir
conhecimento sólido de maneira a evitar viés nas pesquisas.
2.2 Estratégias de pesquisa e seleção
Elaboradas as questões da pesquisa, o próximo passo consistiu na
definição dos termos de busca (strings de busca) que foram
elaborados a partir da identificação da população (setor público),
intervenção (terceirização de sistemas de informação,
terceirização de tecnologia da informação), em conjunto com os
termos correlatos à população e intervenção identificadas. Por
fim, foram realizadas combinações com palavras chaves e
operadores booleanos.
Este artigo apresenta os resultados de uma RSL, que teve como
objetivo realizar um levantamento de artigos existentes sobre os
riscos, benefícios e motivações que envolvem a terceirização de
sistemas de informação no setor público. A intenção foi sumarizar
as informações obtidas, com finalidade de criar um arcabouço
teórico que servirá como fonte para embasar um survey com
intuito de confrontar as visões dos fornecedores e contratantes a
respeito dos riscos, benefícios e fatores motivadores da parceria
público-privada que envolvem sistemas de informação.
Assim sendo, foram construídas strings de busca com termos em
português e em inglês para cada questão.

Strings para Q1
Inglês: (("information systems outsourcing" OR "information
technology outsourcing" OR "IS outsourcing" OR "IT
Outsourcing") AND ("public sector" or "public service" OR
"public administration") AND (risk* or barrier* OR obstacle* or
challeng* or hurdle*))
A estruturação do restante do artigo é a seguinte: na seção 2 é
apresentado o procedimento metodológico, onde serão vistos os
conceitos de RSL, como foram definidos o protocolo e as etapas
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
seção 4.
Português: (("terceirização de sistemas de informação OR
terceirização de tecnologia da informação OR terceirização de SI
OR terceirização de TI) AND ("Setor público" OR "Serviço
público" OR "administração pública") AND (riscos OR
obstáculos OR barreiras OR desafios)).
2. PROCEDIMENTO METODOLÓGICO
2.1 Revisão Sistemática

As revisões sistemáticas de literatura (RSL) são estudos
secundários que adotam um processo de pesquisa
metodologicamente bem definido para identificar, analisar e
interpretar as evidências disponíveis relacionadas a uma ou mais
questões de pesquisa especificas [8]. A RSL difere dos outros
tipos de revisões pelo fato de ser formalmente planejada e
executada de maneira metódica, dessa forma garante a
reprodutibilidade da pesquisa, proporcionando maior credibilidade
científica.
Strings para Q2
Inglês: (("Information systems outsourcing" OR "Information
technology outsourcing" OR "IS outsourcing" OR "IT
Outsourcing") AND ("Public sector" OR "Public service" OR
"Public administration") AND (motivat* OR cause OR reason*))
Português: (("Terceirização de sistemas de informação” OR
“terceirização de tecnologia da informação” OR “terceirização de
SI” OR “terceirização de TI”) AND ("setor público" OR "serviço
público" OR “administração pública") AND (motivação OR
causa))
O ponto de partida de uma revisão sistemática se dá na elaboração
do protocolo de pesquisa, disponível em https://goo.gl/Yhg9Nh,
onde são listadas as questões de pesquisa e os procedimentos que
serão adotados durante a execução da revisão. Dessa forma, [9]
determinaram um conjunto de fases que são essenciais para o
desenvolvimento de uma RSL, sendo elas: planejamento,
execução e análise dos resultados.

Strings para Q3
Inglês: (("information systems outsourcing" OR "information
technology outsourcing" OR "IS outsourcing" OR "IT
Outsourcing") AND ("public sector" OR "public service" OR
"public administration") AND (benefit* OR advantage*))
As fases definidas por [9], e os conceitos de revisão sistemática
abordados por [8], serviram como diretrizes para a elaboração da
metodologia do presente trabalho. Os três aspectos (riscos,
benefícios, motivações) escolhidos como base para esta revisão
emergiram de estudos bibliográficos realizados por dois alunos de
iniciação científica que trabalharam neste artigo, em conjunto com
a orientadora. Observou-se durante o levantamento da literatura
que esses aspectos são costumeiramente citados quando se trata de
TSI de maneira geral. O propósito foi de ampliar os
conhecimentos acerca da terceirização de SI no setor público em
âmbito mundial. Dessa forma, foram elaboradas três questões de
pesquisa para serem respondidas após a obtenção dos estudos
primários. São elas:
Português: (("terceirização de sistemas de informação OR
terceirização de tecnologia da informação OR terceirização de SI
OR terceirização de TI) AND ("setor público" OR "serviço
público" OR “administração pública") AND (benefícios OR
vantagens))
2.3 Seleção das bases de dados
Os termos de busca definidos foram aplicados nas bases de dados
estabelecidas no protocolo da pesquisa. A seleção das bases se
deu a partir do reconhecimento acadêmico em âmbito nacional e
internacional. Com isso as selecionadas para a pesquisa foram:
Periódicos da CAPES; ACM Digital Library; Science Direct; ISI
Web of Science; Scopus; IEEE Xplore Digital Library; Google
Scholar.
Q1. Quais os riscos da terceirização de sistemas de informação
no setor público?
Q2. Quais as motivações da terceirização de sistemas de
informação no setor público?
Vale salientar que as respectivas bases de dados possuem
particularidades com relação ao seu mecanismo de pesquisa, com
isso surgiu a necessidade de realizar pequenas adequações nas
strings para se adequar a base e assim obter resultados
satisfatórios.
Q3. Quais as benefícios da terceirização de sistemas de
informação no setor público?
10
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016
A seguir são apresentadas as respostas paras as questões de
pesquisa tendo como base os aspectos mais citados nos artigos
selecionados:
2.4 Estratégias de inclusão e exclusão
O procedimento para a inclusão e exclusão de documentos que
retornaram após a aplicação dos argumentos de pesquisa (strings
de busca) nas bases de dados se deu em dois momentos. No
primeiro momento, foram definidos no protocolo de pesquisa
como critérios de inclusão: a disponibilidade do documento na
internet para download e que esteja em formato PDF,
disponibilidade do documento em língua inglesa ou portuguesa, e
a delimitação do tempo de publicação de dez anos, ou seja,
publicados entre 2005 a 2015, tendo em vista que esta etapa da
pesquisa iniciou em novembro de 2015 e encerrou em março de
2016. Por fim, foram aceitos documentos que tratam de forma
primária ou secundária sobre motivações, riscos e benefícios da
TSI no setor público. Dessa forma, os critérios de exclusão foram
elaborados de forma que contrariem os critérios de inclusão.
Q1.
Quais os riscos da terceirização de sistemas de
informação no setor público?
Constatou-se que dos 24 documentos, 9 abordavam os riscos de
maneira primaria, e 4 de maneira secundaria. Dentre os resultados,
conforme a Tabela 2, ficou evidente a preocupação com questões
de segurança, uma vez que 6 dentre os 13 artigos que falam de
riscos, citam esse ponto. Isso ocorre, principalmente, pelo fato de
que os gestores das instituições públicas se preocupam
demasiadamente com possíveis vazamentos e acesso não
autorizado às informações que são confidenciais. Além de
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
resultados que havia sido retornada após a aplicação dos
argumentos. Ao término dessa análise restaram 239 documentos.
Eles tiveram seu resumo e conclusão lidos para confirmar se
estavam de acordo com o que foi estabelecido nos critérios de
inclusão, e no fim restaram 24 documentos relevantes, que foram
utilizados para responder as questões propostas pela revisão. A
tabela 1 exibe os resultados obtidos durante toda a fase de busca e
seleção dos documentos primários.
Observou-se também o elevado número de citações com relação a
dependência excessiva do fornecedor, fator que é refletido a partir
de outros riscos como, por exemplo, a perda de habilidades
críticas de TI. É comum que haja uma acomodação quando um
serviço é prestado de maneira eficiente, e isso acarreta na falta de
interesse da organização em fazer novos investimentos internos
para capacitação e melhoria das atividades. Apesar da perda de
habilidades de TI estar como um dos menos citados na tabela,
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.
Fonte
Periódicos Capes
ACM Digital library
Science Direct
ISI Web of Science
Scopus
IEEE
Google Scholar
Total
Tabela 2. Principais riscos abordados nos artigos selecionados.
RISCOS
1ª Seleção
2ª Seleção
Quantidade
(Título e
(Abstract e
Palavras-chave) Conclusão)
32
45
564
8
26
13
2716
3404
7
13
28
8
7
7
169
239
Questões de segurança
Dependência excessiva do fornecedor
Perda de competências centrais em TI
Custos ocultos
Perda de controle da atividade terceirizada
Falta de experiência do fornecedor na atividade Terceirizada
Diminuição da moral dos funcionários
Qualificação dos funcionários do fornecedor
Perda de flexibilidade dos serviços de TI
Diferenças culturais
Instabilidade financeira do fornecedor
Perda de habilidades criticas de TI
4
1
3
1
1
1
13
24
3. RESULTADOS E DISCUSSÕES
Dos 24 artigos que restaram após os processos de seleção,
identificou-se que, em alguns casos, um mesmo artigo tratava de
mais de um dos assuntos pesquisados: riscos, motivações e
benefícios. O Gráfico 1 mostra o número de artigos que está
diretamente ligado a cada uma das perguntas de pesquisa,
separando pelas bases de dados onde foram encontrados. No total,
17 artigos abordaram sobre motivações, 13 sobre riscos e 4 sobre
benefícios.
Q2. Quais as motivações da terceirização de sistemas de
informação no setor público?
A Tabela 3 sinaliza que a motivação relacionada a direcionar o
foco para as competências essenciais foi a mais citada. Em
segundo lugar está a redução de custos, que geralmente é a mais
citada nos estudos voltados para o setor privado. A intensidade de
citações sobre este fator é compreendida pela possibilidade de
direcionamento do foco da empresa para as atividades principais,
com canalização dos investimentos financeiros que seriam feitos
no setor de TI sendo remanejados para as tarefas centrais. Outra
motivação bastante citada foi a busca pela melhoria na qualidade
dos serviços, viabilizada pelo acesso às novas tecnologias e novas
expertises. Isso se dá pelo fato de os fornecedores de serviços
terceirizados geralmente dispõem de recursos humanos e
tecnológicos mais capacitados e avançados, possibilitando a
substituição de tecnologias defasadas e suprindo a falta de
profissionais, às vezes causada pela inexistência de cargos
específicos.
Gráfico 1. Quantidade de artigos por bases de dados que
falam em Motivação, Risco ou Benefício.
20
15
10
5
0
QTD DE FREQUÊNCIA
CITAÇÕES DE CITAÇÕES
6
46%
6
46%
5
38%
4
31%
3
23%
3
23%
3
23%
3
23%
3
23%
3
23%
2
15%
2
15%
Motivações
Riscos
Benefícios
11
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016
flexibilidade dos serviços de TI, melhoria dos produtos e serviços
e acesso a novos recursos e habilidades.
Tabela 3. Principais aspectos motivadores citados nos artigos
selecionados.
Como trabalhos futuros pretende-se utilizar os conhecimentos
gerados por este artigo para compor um survey para aferir a
opinião de gestores públicos estaduais e municipais sobre
motivações, benefícios e riscos da parceria público-privada de
sistemas de informação, com vistas a atestar ou refutar as
informações preliminares obtidas na revisão sistemática.
QTD DE
CITAÇÕES
FREQUÊNCIA
DE CITAÇÕES
FOCO NA COMPETÊNCIA PRINCIPAL
12
71%
REDUÇÃO DE CUSTOS
MELHORIA QUALIDADE DOS SERVIÇOS
11
10
65%
59%
ACESSO A NOVAS TECNOLOGIAS/HABILIDADES
8
47%
6
35%
REFERÊNCIAS
6
5
3
2
2
1
35%
29%
18%
12%
12%
6%
[1] GORLA, Narasimhaiah; CHIRAVURI, Ananth. 2011.
Information systems outsourcing success: a review. In: 2010
International Conference on E-business, Management
and Economics. 2011. p. 170-174.
1
6%
1
1
6%
6%
MOTIVAÇÃO
FLEXIBILIDADE PARA RESPONDER RAPIDAMENTE
ÀS MUDANÇAS NA ÁREA DE TI
ESCASSEZ DE RECURSOS INTERNOS
ACESSO A EXPERTISE
FALTA DE CONHECIMENTO INTERNO/EXPERTISE
COMPARTILHAMENTO DE RISCOS
REDUÇÃO DE PROBLEMAS ROTINEIROS DE TI
ATENDIMENTO A DEMANDAS URGENTES DE TI
TRATAMENTO DE FUNÇÕES DIFÍCEIS DE GERENCIAR
OU FORA DE CONTROLE
PRESSÕES EXTERNAS
PROBLEMAS COM RECRUTAMENTO DE PESSOAL
[2] BERGAMASCHI, S. Modelos de gestão da terceirização
de Tecnologia da Informação: um estudo exploratório. Tese
(Doutorado em Administração) - Universidade de São Paulo,
São Paulo, 2004.
[3] PRADO, E. P. V.; TAKAOKA, H.. 2000. Terceirização da
Tecnologia de Informação: Uma Avaliação dos Fatores que
Motivam sua Adoção em Empresas do Setor Industrial de
São Paulo. Dissertação (Mestrado em Administração de
Empresas) - Universidade de São Paulo, São Paulo, 2000.
Q3. Quais as benefícios da terceirização de sistemas de
informação no setor público?
Apesar de restarem poucos documentos que falam em benefícios,
foi possível ter acesso às informações necessárias para responder
a pergunta supracitada. Em meio aos 24 artigos selecionados, 4
deles citaram algum tipo de benefício. Conforme ilustrado na
Tabela 4, a metade dos artigos apontou que um dos principais
benefícios é o acesso a novas capacidades e competências, visto
que, em muitas ocasiões, a equipe interna de TI não tem
habilidade e expertise necessária para gerenciar problemas mais
complexos e atender novas demandas. Consequentemente, junto
das novas competências e recursos, tecnologias inovadoras
aparecem como o segundo mais citado, seguido da melhoria na
qualidade dos serviços, que pode ser compreendido como
resultado da soma dos demais benefícios.
[4] LOH, L.; VENKATRAMAN, N.. 1992. Diffusion of
information technology outsourcing: influence sources and
the kodak effect. Information Systems Research, 1992.
[5] DIBBERN, J. et al.. 2004. Information Systems
Outsourcing: A Survey and Analysis of the Literature. The
DATA BASE for Advances in Information Systems, v.35,
n.4, 2004.
[6] DOMBERGER,
Simon.
1998.
The
contracting
organization: a strategic guide to outsourcing. Oxford:
Oxford Univ. Press, 1998. 229p.
[7] LEITE, J. C.. 1994. Terceirização em informática. São
Paulo: Makron Books, 1994.
Tabela 4. Principais benefícios citados nos artigos.
BENEFÍCIOS
QTD DE FREQUÊNCIA
CITAÇÕES DE CITAÇÕES
ACESSO A NOVAS CAPACIDADES, COMPETÊNCIAS E RECURSOS
2
50%
MELHORIA DOS PRODUTOS E SERVIÇOS
AUMENTO DA FLEXIBILIDADE DOS SERVIÇOS
2
2
50%
50%
REDUÇÃO DE CUSTOS
ACESSO A NOVAS TECNOLOGIAS
FOCO NAS COMPETÊNCIAS ESSENCIAIS
MELHORIA DOS PROCESSOS E NEGÓCIOS
2
2
1
1
50%
50%
25%
25%
[8] KITCHENHAM, B. 2004. Procedures for performing
systematic reviews. Keele, UK, Keele University, v. 33, n.
TR/SE-0401, p. 28, 2004.
[9] BIOLCHINI, J. et al. 2005. Systematic Review in Software
Engineering. Engineering, v. 679, n. May, p. 165–176,
2005.
[10] CUNHA, M.X.C. 2011. Aspectos e Fatores Motivadores
da Terceirização de Sistemas de Informação no Setor
Público: Um Estudo em Instituições Públicas de Alagoas.
Tese (Doutorado em Administração) - Universidade Federal
de Pernambuco, Recife, 2011.
4. CONCLUSÃO
A revisão sistemática conduzida neste artigo identificou as
principais contribuições na literatura, nos últimos dez anos, para
terceirização de sistemas de informação no setor público.
Seguindo as etapas definidas no protocolo, foi possível responder
as três questões de pesquisa propostas.
[11] COX, Michael, Martyn Roberts, and John Walton. 2011. IT
outsourcing in the public sector: experiences form local
government. The Electronic Journal Information Systems
Evaluation 14.2 (2011): 193-203.
[12] GANTMAN, Sonia. 2011. IT outsourcing in the public
sector: A literature analysis. Journal of Global Information
Technology Management, v. 14, n. 2, p. 48-83, 2011.
Quanto aos riscos, os mais populares entre os artigos selecionados
foram questões relacionadas à segurança, dependência dos
fornecedores e perda das competências centrais de TI. As
principais motivações foram o foco nas competências essenciais
da organização, redução de custos e melhoria na qualidade dos
serviços. Já em relação aos benefícios, foi apontado o aumento na
[13] LACITY, M. C.; Willcocks, L. 1997. Information systems
sourcing: examining the privatization option in USA public
administration [Electronic version]. Information Systems
Journal, 7 (1997), 85–108.
12
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016
Uma Comparação entre o Desenvolvimento de Aplicações
Web Convencionais e Aplicações em Nuvem
Bruno Lopes†
Kleber Manrique Trevisani‡
IFSP - Instituto Federal de Educação, Ciência e
Tecnologia de São Paulo
Rua José Ramos Júnior, 27-50
CEP 19470-000 - Pres. Epitácio - SP
IFSP - Instituto Federal de Educação, Ciência e
Tecnologia de São Paulo
Rua José Ramos Júnior, 27-50
CEP 19470-000 - Pres. Epitácio - SP
[email protected]
[email protected]
os recursos são virtuais e ilimitados e que detalhes dos sistemas
físicos de software são abstraídos.
ABSTRACT
This paper compare aspects related to development of a same
Web application, when developed to a cloud application provider
and when developed to a non-cloud environment. This
comparison are mainly concerned about highlight the differences
for developers.
Já [5], analisa a computação em nuvens sob uma ótica diferente, e
afirma que o surgimento do fenômeno conhecido como
computação em nuvem representa uma mudança fundamental na
forma como a tecnologia da informação (TI) é inventada,
desenvolvida, implantada, escalada, atualizada, mantida e
mensurada monetariamente.
RESUMO
Este artigo compara aspectos relacionados ao desenvolvimento de
uma mesma aplicação Web, quando desenvolvida para um
provedor de aplicações em nuvem e quando desenvolvida para um
ambiente não classificado como nuvem. Nessa comparação são
consideradas principalmente as diferenças relevantes para os
programadores.
2. OBJETIVOS E JUSTIFICATIVAS
O mercado de computação em nuvens é dominado pela Amazon
seguida pelos seus concorrentes IBM, Apple, Cisco, Google,
Microsoft, Salesforce e Rackspace. Estima-se que o mercado
global de equipamentos em nuvem chegará a U$ 79,1 bilhões em
2018, em 2015 os gastos do usuário final em serviço de nuvem
podem ser maiores que US$ 180 bilhões [6].
__________________________
†Discente
e ‡Docente do Curso Superior de Tecnologia em
Análise e Desenvolvimento de Sistemas
Atualmente há uma considerável adesão de aplicações
implantadas em nuvens, como por exemplo, Google Drive, One
Drive, DropBox, ICloud, entre outras. No entanto, nota-se que as
aplicações mais difundidas têm o objetivo de armazenamento de
arquivos na nuvem e são classificadas como SaaS. Por outro lado,
o desenvolvimento de aplicações para provedores de serviço de
nuvens que oferecem PaaS, ainda não está amplamente
disseminado.
CCS
• Information systems ➝ Information systems applications ➝
Computing platforms; • Networks ➝ Networks services ➝
Cloud computing;
Palavras-chave
Este trabalho tem por objetivo comparar aspectos relacionados ao
desenvolvimento de uma determinada aplicação Web quando
desenvolvida para um provedor de serviços de nuvem que oferece
PaaS e quando desenvolvida para um ambiente não classificado
como nuvem (referenciada a partir desse ponto como aplicação
convencional). Foram levados em consideração nessa comparação
a dificuldade de desenvolvimento, a quantidade e qualidade das
bibliotecas de software disponibilizadas e a dificuldade de
implantação da infraestrutura necessária. Como resultado, serão
apresentados detalhes sobre o processo de desenvolvimento,
destacando as vantagens e desvantagens identificadas.
Cloud Computing, Software Development, Computing Platforms.
1. INTRODUÇÃO
Computação em nuvem é um modelo que permite acesso sob
demanda, de maneira ubíqua e conveniente, por meio de uma rede
de computadores, a um conjunto compartilhado de recursos
computacionais (ex. redes, servidores, armazenamento, aplicações
e serviços) que podem rapidamente ser provisionados e liberados
com mínimo esforço de gerenciamento ou interação com o
provedor de serviços [1]. Os serviços oferecidos pela nuvem
variam desde aspectos de baixo nível, como a infraestrutura lógica
e física (IaaS - Insfrastructure as a Service), serviços no nível de
aplicação (SaaS - Software as a Service) e plataformas de
software (PaaS - Platform as a Service) [2].
É importante ressaltar que o trabalho em questão foi totalmente
desenvolvido por um discente† e orientado por um docente‡,
ambos do curso superior de tecnologia em Analise e
Desenvolvimento de Sistemas do IFSP Campus Presidente
Epitácio.
Segundo [3], computação em nuvem é um termo utilizado para
descrever um ambiente de computação baseado em uma imensa
rede de servidores, sejam eles virtuais ou físicos. Um conjunto de
recursos como capacidade de processamento, conectividade,
plataformas, aplicações e serviços disponibilizados na Internet.
3. DESENVOLVIMENTO
3.1 Descrição do cenário
Considerando a necessidade de implementar operações CRUD
(Create, Retrieve, Update and Delete) para a grande maioria dos
sistemas de informação tradicionais, foi decidido que a aplicação
a ser desenvolvida deveria realizar tais operações. Devido a
limitações de tempo, somente foi possível implantar a aplicação
Com uma definição mais restrita, [4] descreve a computação em
nuvem referindo-se a aplicativos e serviços que são executados
em uma rede distribuída usando recursos virtualizados e acessados
por normas comuns de protocolo. Distingue-se pela noção de que
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
(Google App Engine).
A plataforma de desenvolvimento GAE possui três formas de
armazenamento não relacionais (Bigtable, Blobstore, Google
Storage), todas elas utilizando a uma estrutura semelhante de
armazenamento, porém com algumas diferenças. O Bigtable é a
forma mais simples delas, porém limita o armazenamento de
arquivos do tipo blob (binários) a no máximo 1MB. O Blobstore
permite o armazenamento de arquivos maiores em relação ao
Bigtable, mas ele força o uso de uma URL única de upload [9].
Para facilitar a comparação, decidiu-se que ambas aplicações
fossem desenvolvidas utilizando uma mesma linguagem de
programação e um mesmo ambiente de desenvolvimento. Nesse
contexto, foram selecionados a linguagem Java e o ambiente de
desenvolvimento integrado Eclipse. É importante destacar que o
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,
considerando que o mesmo oferece recursos suficientes para o
desenvolvimento da aplicação em nuvem proposta, além de
simplificar a implementação.
Figura 1. Interface gráfica utilizada.
Com o mesmo objetivo, foi decidido que ambas aplicações
deveriam utilizar o mesmo layout para a interface gráfica,
conforme ilustrado pela Figura 1. Devido a utilização da mesma
linguagem de programação para o desenvolvimento das duas
aplicações, foi possível utilizar a mesma tecnologia para
elaboração de interfaces, nesse caso, o framework JSF (Java
Server Faces).
Para persistir um objeto no GAE, primeiramente é necessário
obter as informações preenchidas pelo usuário nos formulários
JSF, o que é possível utilizando métodos específicos do Manager
Bean.
A Figura 4 apresenta trechos de código que foram utilizados para
realizar a persistência de objetos nas aplicações desenvolvidas. É
possível observar que os dois métodos são bastantes similares,
porém o método da aplicação em nuvem utiliza o ofy(), que é
uma instancia da biblioteca Objectify utilizada para persistir os
dados na nuvem [8].
3.2 Persistência de dados
A manipulação de dados pela aplicação convencional foi
realizada utilizando uma API da linguagem Java que descreve
uma interface comum para frameworks de persistência de dados
chamada JPA (Java Persistence API) além do sistema gerenciador
de banco de dados PostgreSQL. O servidor de aplicações
GlassFish também foi utilizado para implantar a aplicação.
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
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
armazenamento dos objetos instanciados, chamado Objectify [8].
A Figura 2 ilustra a interação entre os componentes importantes
para realizar a persistência de dados na aplicação convencional e
na aplicação desenvolvida para nuvem.
(a)
public Long save(Cliente c) {
ofy().save().entity(cliente).now();
return cliente.getId();
}
(b)
public void persist(Cliente c) {
em.persist(c);
}
Figura 4. (a) Persistência no GAE. (b) Persistência JPA.
3.3 Detalhes do provedor de nuvem
O desenvolvimento da aplicação em nuvem necessita de algumas
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
caso em específico (Figura 3d), o Front Controller [10].
Figura 2. Interação entre os componentes. (a) Aplicação
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 -->
<listener>
<listener-class>
config.ConfigStartup
</listener-class>
</listener>
uma conta do Google. Cada conta pode ter mais de uma aplicação
implantada no GAE, porém cada aplicação possui um
identificador para diferenciá-la das outras. Por essa razão, ao
realizar uma implantação ou atualização, é necessário fornecer o
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>
(c) <!-- Desabilita o controle de threads -->
<context-param>
<param-name>
com.sun.faces.enableThreading
</param-name>
<param-value>false</param-value>
</context-param>
(d) <!-- Define o padrão de projeto -->
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>
javax.faces.webapp.FacesServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
Figura 6. Implantação de aplicação no GAE via Eclipse
4. CONSIDERAÇÕES FINAIS
O desenvolvimento da aplicação em nuvem no GAE é bastante
similar em relação ao desenvolvimento de uma aplicação Web
para ambientes não classificados como nuvem, considerando a
utilização da linguagem Java e o cenário apresentado, pois é
possível utilizar os mesmos recursos para ambas, como por
exemplo, JSP (Java Server Pages) e JSF.
Figura 3. Arquivo web.xml utilizado.
3.4 Implantação
Em relação ao armazenamento de dados, nesse caso em
específico, pode-se dizer que um desenvolvedor que tem
conhecimento em JPA teria maior facilidade para a desenvolver a
aplicação em nuvem do que outro que domina somente o
armazenamento de dados utilizando técnicas que não realizam a
persistência de objetos, como por exemplo, JDBC.
A implantação de ambas aplicações apresenta complexidade
baixa. Para implantação da aplicação Web convencional no
servidor GlassFish é necessário utilizar o console administrativo
do mesmo (Figura 5) por meio de um navegador Web.
Posteriormente deve-se abrir a aba Applications, no canto
esquerdo do console, selecionar o botão deploy e indicar o
caminho local do projeto a ser implantado. Para atualização da
aplicação deve-se utilizar o mesmo procedimento, mas deve-se
pressionar o botão Redeploy e selecionar localmente o projeto a
ser atualizado.
Mesmo sendo uma comparação com abrangência restrita, devido a
utilização de um único provedor de serviços de nuvem e uma
única linguagem de programação, foi possível perceber que o
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
custo de hospedagem.
Figura 5. Console administrativo do Glassfish
5. AGRADECIMENTOS
Já a aplicação em nuvem é implantada utilizando um botão no
Ecplise (deploy), disponibilizado pelo plugin do GAE, que invoca
a interface apresentada pela Figura 6. Nesse caso, o Eclipse
solicita que o desenvolvedor se autentique previamente utilizando
Os autores agradecem ao IFSP - Instituto Federal de Educação,
Ciência e Tecnologia de São Paulo pelo apoio financeiro durante
o desenvolvimento deste trabalho.
15
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016
computing-united-states-businesses-will-spend-13-billionon-it/>. Acesso em: 10 Mar 2016.
6. REFERENCIAS
[1] Mell, Peter, and Tim Grance. "The NIST definition of cloud
computing." Communications of the ACM 53.6 (2010): 50.
[7] Google App Engine Docs. Disponível em: <https://cloud.
google.com/appengine/docs>. Acesso em: 10 Mar. 2016.
[2] Coulouris, George F., Jean Dollimore, and Tim Kindberg.
Distributed systems: concepts and design. pearson education,
2005.
[8] Schnitzer, J. et. al. Introduction to Objectify: Loading,
Saving, and Deleting Data. Disponível em: <https://github.
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:
<www.ibm.com/developerworks/br/library/j-gaestorage/>.
Acesso em: 10 Mar 2016.
[4] Sosinsky, B. Cloud computing bible. John Wiley & Sons,
2010.
[5] Marston, S., et al. "Cloud computing—The business
perspective." Decision support systems 51.1 (2011): 176-189.
[10] MEDEIROS, H. Padrões de Projeto: Introdução aos Padrões
Front Controller e Command. Disponível em: <http://www.
devmedia.com.br/padroes-de-projetos-introducao-aospadroes-front-controller-e-command/30644>. Acesso em: 10
Mar 2016.
[6] Mccue, TJ. Cloud Computing: United States Businesses Will
Spend
U$13
Billion
On
it.
Disponível
em:
<http://www.forbes.com/sites/tjmccue/2014/01/29/cloud-
16
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016
Seleção de Ferramenta de Gestão de Demandas de
Desenvolvimento Ágil de Software para Órgão Público
Alternative Title: Selection tool to support a process of demand
management of agile development of a public organization
Emilie T. de Morais, Geovanni O. de Jesus, Rejane M. da C. Figueiredo, Elaine Venson
Information Technology Research and Application Center, Faculdade Gama, Universidade de Brasília, Brasil
{emiliemoraist, geovannirock}@gmail.com, {rejanecosta, elainevenson}@unb.br
federal public organization. The tool is already in use.
RESUMO
Categories and Subject Descriptors
A contratação de fornecedores para serviços de Tecnologia da
Informação (TI) é uma realidade em órgãos públicos federais. E o
movimento dos órgãos na contratação de fábricas de software, a
partir da adoção de metodologias ágeis, tem sido recorrente. Neste
cenário, o apoio de uma ferramenta em processos de
desenvolvimento ágil pode ser essencial, dada a quantidade de
envolvidos e, muitas vezes, tendo os fornecedores
geograficamente dispersos. Este trabalho teve como objetivo a
identificação e configuração de ferramentas para apoio a um
processo de gestão de demandas de desenvolvimento Ágil de
software de um órgão público federal brasileiro. O estudo foi
realizado em duas vertentes, a definição e execução de um
processo de seleção de ferramentas e o emprego de estudo de caso
para levantamento dos requisitos específicos. Como resultado foi
definida e configurada uma ferramenta para um órgão. A
ferramenta encontra-se em uso.
D. Software. D.2 Software Engineering. D.2.2 Design Tools.
General Terms
Management.
Keywords
Tool; Agile methods; Backlog; Federal Public Organization.
1. INTRODUÇÃO
Os órgãos públicos não são responsáveis, em sua maioria, pela
produção de software, mas sim pela gestão de demandas para
contratação desse tipo de serviço. A terceirização de serviços de
desenvolvimento de software é uma realidade no setor público [3].
Nesse cenário a adoção da metodologia ágil tem sido crescente [2]
[12] [13][16] [9].
Nos métodos ágeis os requisitos geralmente são gerenciados com
papel e caneta, ou seja, com o uso de notas pregadas em um mural
ou uma parede [5] [1]. Isso acontece visto que a maioria dos times
ágeis é formada por poucas pessoas e estão alocadas no mesmo
lugar. A gestão desse desenvolvimento normalmente é realizada
no nível do time de desenvolvimento. Já no setor público, quando
o serviço é terceirizado, o time é formado por integrantes de
fábricas de software e deve ser realizada pelo contratante, que
deve gerenciar as demandas de serviços prestados pelo contratado,
que podem estar em outra região. Nesse cenário, é essencial o
apoio ferramental para o gerenciamento das demandas de
serviços, dos requisitos e do processo de execução.
Palavras-Chave
Ferramenta; Métodos ágeis; Backlog; Órgão público federal.
ABSTRACT
The hiring of supplier for Information Technology (IT) is a reality
for federal public organizations. And the movement of federal
public organization in hiring companies for offshore software
development, starting from the adoption of agile methodologies
has been recurrent. In this scenario the support of a tool for agile
software development processes might be essential, given the
amount of involved parts and, many times, the offshore companies
are geographically distant. The objective of this study was the
identification and setting of a tool to support a process of demand
management of agile software development of a Brazilian federal
public organization. The study has been done in two aspects, the
definition and the execution of tool selection process and the
employment of the study of case for gathering the specific
requirements. As result, it has been defined and set a tool for the
Este trabalho faz parte de um Projeto de Pesquisa e
Desenvolvimento, oriundo de um Termo de Cooperação entre
uma universidade e um órgão público federal, denominado neste
trabalho como Ministério. O Ministério possui um Processo de
Gestão de Demandas de Desenvolvimento Ágil de Software
(GeDDAS) [15]. Esse processo foi baseado no framework Scrum
[11]. Um dos artefatos gerados é o Backlog do Produto1 [15].
O objetivo deste trabalho foi definir um processo de identificação
e configuração de ferramentas para dar apoio à gestão de
demandas de serviços do processo de desenvolvimento ágil.
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
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
otherwise, 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.
Este trabalho está organizado em seções. Na Seção 2 é
apresentada uma breve descrição de métodos ágeis e do
framework Scrum. Na Seção 3, apresentam-se os materiais e
1
17
Lista de itens necessários ao produto. Origem única de
requisitos. [11]
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
do processo de seleção da ferramenta definido. Na Seção 5, as
considerações finais.
Para desenvolvimento de software, o órgão possui dois processos,
um baseado na metodologia tradicional e outro processo baseado
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
de software [6] e a adoção da metodologia tem crescido no setor
público, como mostram os levantamentos feitos por [2], [9], [13] e
[16]. No levantamento feito pelo TCU [2] é percebido que a
abordagem mais adotada tem sido o Scrum.
3.1.2 Processo GeDDAS
2.1 Scrum
O GeDDAS [15] é composto por seis subprocessos: Planejar
Projeto, Planejar Release, Executar Sprints, Atestar Qualidade da
Release, Homologar Release e Implantar Release. E também são
previstos papéis e artefatos [15].
Dado que, neste trabalho, a identificação e configuração da
ferramenta foi realizada para apoiar o processo de
desenvolvimento de software do Ministério, nesta seção
apresenta-se uma breve descrição do processo GeDDAS.
O Scrum é definido como uma estrutura (framework) na qual se
pode empregar vários processos ou técnicas [11]. O framework é
composto de eventos, papéis e artefatos que auxiliam na busca das
melhores práticas de gerenciamento, orientando atividades de
desenvolvimento [11].
Um dos artefatos definidos é o Backlog do Produto e da Sprint. O
Backlog do Produto não é utilizado apenas no subprocesso de
Implantar Release. Assim, a ferramenta adequada ao Ministério
deve apoiar o emprego do Backlog em cada um dos subprocessos
por cada um dos papéis responsáveis.
Os eventos que formam o Scrum são: Sprint, Cancelamento da
Sprint, Reunião de Planejamento da Sprint, Reunião Diária,
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
Conhecimento e seus status devem ser monitorados.
Dentre os artefatos propostos pelo Scrum constam o Backlog do
Produto e o Backlog da Sprint. Ambos consistem em uma lista dos
requisitos inerentes ao produto que deve ser entregue. No caso do
Backlog do Produto estão reunidos todos os itens que formam o
produto completo e no Backlog da Sprint contém os itens
referentes a um incremento de software [11].
Na Tabela 1 é apresentado o uso do Backlog de acordo com os
papéis do processo.
Tabela 1. Relação entre os papéis e a utilização do Backlog
Emprego do Backlog
3. METODOLOGIA DE PESQUISA
Dado o objetivo de identificação, seleção e configuração de uma
ferramenta para um órgão brasileiro, essa pesquisa é considerada
descritiva [8], que geralmente utiliza a técnica de levantamento.
Também foi empregada a técnica de estudo de caso.
Este trabalho foi dividido em três principais fases: Planejamento;
Coleta e Análise de dados; e Redação dos resultados. No
planejamento foram previstas duas vertentes: caracterização do
objeto do estudo de caso, na qual são identificadas as demandas
do processo de desenvolvimento e caracterizados os
relacionamentos do órgão com seus usuários de negócio e seus
fornecedores, e outra vertente, relacionada à definição e execução
de um processo de seleção de ferramentas, composto pelas etapas:
Identificação, Seleção e avaliação; Validação; e Treinamento. Na
fase Coleta e análise de dados o processo estabelecido foi
executado. Os resultados foram redigidos.
Papéis
Visualização dos itens
Todos os envolvidos
Revisão (edição) dos itens
Proprietário do Produto,
Time de Desenvolvimento
Adição de itens de funcionalidades
Proprietário do
Usuários-chave
Adição de itens de não conformidade
Proprietário do Produto,
Equipe de Qualidade
Adição de itens de defeito
Equipe de Qualidade
Adição de itens de história técnica e
aquisição de conhecimento
Time de Desenvolvimento
Priorização dos itens
Proprietário do Produto
Produto,
Para a implantação do processo foi realizado um projeto-piloto
[15], no qual a gestão do Backlog do Produto era realizada em
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
3.1.1 Ministério
O processo de seleção de ferramentas é composto pelas etapas:
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
Administração de Rede e de Desenvolvimento de Sistemas e uma
unidade de Serviço de Atendimento ao Usuário.
3.2.1 Identificação
Na etapa de identificação foi realizada uma pesquisa bibliográfica
para levantamento das ferramentas e definição de critérios de
seleção de ferramentas adequadas ao Ministério. A revisão foi
realizada pela busca em bases de dados, busca manual em
conferências brasileiras e utilização do processo de snowballing2.
No contrato vigente, o Ministério possui quatro fornecedores:
apoio à gestão, responsável por auxiliar nas atividades de
acompanhamento dos projetos e sistemas; apoio técnico, que
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
infraestrutura.
2
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
3.2.2 Seleção e Análise
Considerando os critérios estabelecidos foram selecionadas as
ferramentas XPlanner, FireScrum, IceScrum e Redmine. Que,
embora gratuitas, algumas apresentavam limitações de uso.
Assim, como o órgão já utilizava o Redmine, em reunião com o
Ministério, optou-se por avaliar esta. Foram levantados três plugins do Redmine para apoio ao desenvolvimento ágil: Backlogs,
Scrum e Scrumbler.
Na etapa de seleção foram definidos critérios de seleção e análise
das ferramentas identificadas a partir da literatura, dos requisitos
do Ministério e de seu processo de desenvolvimento de software.
3.2.3 Validação
Na etapa de validação, uma vez selecionada a ferramenta, essa foi
configurada segundo os requisitos do GeDDAS. Em seguida, a
ferramenta configurada foi avaliada pelos envolvidos no processo.
No estudo realizado por Dimitrijević et al [5] foram definidas as
seguintes categorias de critérios: Suporte a modelagem de papéis
de usuário, Gestão de histórias de usuário e épicos, Suporte a
testes de aceitação, Planejamento de release, Planejamento de
iteração, Acompanhamento do processo. Aspectos como
usabilidade, integração com outros sistemas e opção de
customizações, foram utilizados por Azizyan et al [1].
3.2.4 Treinamento
Nesta etapa, após a validação da ferramenta foram previstos
treinamentos a distância e presencial para os usuários.
4. SELEÇÃO DAS FERRAMENTAS
Utilizando como base as categorias estabelecidas [5] [1] e os
aspectos do processo GeDDAS, os critérios de avaliação foram
estabelecidos e realizada a avaliação de cada plug-in, Tabela 3.
Nesta seção apresenta-se o processo de seleção das ferramentas.
4.1 Identificação das Ferramentas
Tabela 3. Avaliação dos plug-ins do Redmine
Para o levantamento das ferramentas nas bases de dados foram
empregadas as palavras-chave em inglês: Requirements
engineering, Agile practices, User story management, Software
support, Agile Backlog Management, Sprint Planning,
Application lifecycle Management, Global Software Development,
Global Software Engineering, Tool, Process, Development,
Methods, Task board, Project Management.
Em português, foi realizada a busca manual em duas conferências:
CBSoft e SBSI considerando as publicações dos últimos cinco
anos. Também foi utilizada a técnica de snowballing [10],
buscando trabalhos a partir das referências.
Assim, foi possível identificar as seguintes ferramentas: (MS
project, Rally, Trac, Mingle, ScrumWorks, JIRA, MS Team
Foundation Server, XPlanner, OutSystem, AgileZen, TinyPM,
Urban Turtle, Agile Tracking tool, Agilito, Agilo, Conchango
Scrum, Digite, EmForge, Axsoft, WoodRanch, KLL Software,
LeanKitKanban, Polarion, ScrumPad, Seenowdo, EMC, Silver
Catalyst, Assembla) [1]; (Planbox, tinyPM, Agilo for track,
ScrumDesk [5]); VersionOne [1][5][4]; Redmine [7][1] e
(TargetProcess, ScrumWorks, Agilo for Scrum e FireScrum [4]).
Considerando a avaliação realizada, foi possível observar que o
plug-in Backlogs atendeu a todos os critérios adotados. O
Backlogs foi considerado o mais adequado para o contexto.
4.2 Seleção e Análise das Ferramentas
Foram estabelecidos alguns critérios para seleção das ferramentas.
A motivação é apresentada na Error! Not a valid bookmark
self-reference..
4.3 Validação da Ferramenta
Com a seleção da ferramenta e do plug-in foi necessário
configurá-los para o GeDDAS. Em seguida buscou-se a validação
com os envolvidos no processo.
Tabela 2. Critérios para seleção das ferramentas
Motivações
Critérios
A gestão do Backlog deve ser o
principal aspecto considerado,
visto que motivou a adoção de
uma ferramenta
Permitir o gerenciamento do
Backlog, como a adição, edição e
exclusão de itens, bem como a
alocação em iterações e entregas
A aquisição de uma ferramenta
não foi prevista pelo órgão, e
não havia orçamento previsto
Ser gratuita
O processo de desenvolvimento
utilizado prevê vários papéis
que devem interagir com a
ferramenta e esses papéis
devem
possuir
diferentes
permissões
Possuir configuração de perfis de
acesso
4.3.1 Configuração da Ferramenta e do Plug-in
Considerando os aspectos do processo (Tabela 4), como os papéis,
os status dos itens e o tipo de item do Backlog que pode ser
criado, foram configurados: a pontuação das histórias, os tipos de
itens do Backlog, o status dos itens, o perfil de usuário e as
permissões necessárias.
Tabela 4. Itens configurados
19
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016
4.3.2 Validação com os envolvidos
Práticas em Contratação de Soluções de Tecnologia da
Informação.
Para a validação da ferramenta e plug-in foi realizada uma
apresentação para o Ministério por meio de reunião com os
envolvidos no processo, representantes da DISIS, fornecedor de
apoio à gestão e fábrica de software. A ferramenta foi aprovada e
as configurações no ambiente do Ministério foram realizadas.
[4] Cavalcanti, E., Maciel, T.M. de M. and Albuquerque, J. 2009.
Ferramenta Open-Source para Apoio ao Uso do Scrum por
Equipes Distribuídas. III Workshop de Desenvolvimento
Distribuído de Software, (Oct. 2009), 51-60.
[5] Dimitrijević, S., Jovanović, J. and Devedžić, V. 2014. A
comparative study of software tools for user story management.
Information and Software Technology. (May 2014), 1-17. DOI =
10.1016/j.infsof.2014.05.012
4.4 Treinamento dos usuários
O treinamento da ferramenta foi realizado presencialmente e a
distância. Essa estratégia foi escolhida levando em consideração o
fato da fábrica de software ser de outra cidade.
[6] Dybå, T. and Dingsøyr, T. 2008. Empirical studies of agile
software development: A systematic review. Information and
Software Technology. 50, 9-10 (Aug. 2008), 833–859.
O Ministério possui a plataforma moodle. A equipe configurou a
plataforma para treinamentos dos processos e ferramentas
definidas. Pela plataforma, o treinamento a distância foi composto
de vídeos, slides e exercícios de fixação referentes à configuração
e utilização da ferramenta.
[7] Engum, E.., Racheva, Z. and Daneva, M. 2009. Sprint
Planning with a Digital Aid Tool: Lessons Learnt. 35th Euromicro
Conference on Software Engineering and Advanced Applications,
2009. SEAA ’09 (Aug. 2009), 259–262.
Para o treinamento presencial, professores e estudantes
ministraram os cursos. A utilização da ferramenta e do seu plug-in
foi simulada com os seus usuários em cada parte do processo.
[8] Gil, A.C. 2008. Como elaborar projetos de pesquisa. Atlas.
[9] Inglaterra National Audit Office 2012. Governance for Agile
delivery.
http://www.nao.org.uk/report/governance-for-agiledelivery-4/.
Os treinamentos aconteceram no mês de janeiro a março de 2015,
e foram direcionados a todos os envolvidos, desde usuários do
negócio do Ministério (Proprietário do Produto), servidores do
Ministério e fornecedores de fábrica e de apoio à gestão.
[10] Jalali, S. and Wohlin, C. 2012. Systematic literature studies:
database searches vs. backward snowballing. Proceedings of the
ACM-IEEE international symposium on Empirical software
engineering and measurement (Sep. 2012), 29–38.
5. CONSIDERAÇÕES FINAIS
A seleção, treinamento e configuração da ferramenta de suporte
para o GeDDAS no Ministério fez parte de uma melhoria do
processo, o que acarretou a substituição de planilhas para uma
ferramenta mais apropriada para realização das atividades.
[11] Jeff Sutherland, K.S. 2011. Guia do SCRUM: Um Guia
Definitio do SCRUM - As regras do Jogo. SCRUM Org.
[12] Melo, C. de O. and Ferreira, G.R. 2010. Adoção de métodos
ágeis em uma Instituição Pública de grande porte-um estudo de
caso. Workshop Brasileiro de Métodos Ágeis, Porto Alegre (Jun.
2010), 112-125.
Embora, a escolha da ferramenta tenha sido para um contexto
específico, os critérios analisados e a análise podem ser utilizados
para seleção de uma ferramenta para um contexto semelhante.
Atualmente, a ferramenta começou a ser utilizada em um projeto
no Ministério e como trabalho futuro será realizado o
monitoramento do uso da ferramenta.
[13] Melo, C. de O., Santos, V., Katayama, E., Corbucci, H.,
Prikladnicki, R., Goldman, A. and Kon, F. 2013. The evolution of
agile software development in Brazil. Journal of the Brazilian
Computer Society. 19, 4 (Nov. 2013), 523–552.
[14] Software Development: Effective Practices and Federal
Challenges
in
Applying
Agile
Methods:
2012.
http://www.gao.gov/assets/600/593091.pdf.
6. AGRADECIMENTOS
Nossos agradecimentos pelo apoio recebido da UnB.
[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
in Outsourced Government Projects: An Action Research. 2016
49th Hawaii International Conference on System Science. (Jan.
2016), 5447-5456.
7. REFERÊNCIAS
[1] Azizyan, G., Magarian, M.K. and Kajko-Matsson, M. 2011.
Survey of Agile Tool Usage and Needs. Agile Conference
(AGILE), (Aug. 2011), 29–38.
[2] Brasil, Tribunal de Contas da União 2013. Acórdão 231433/13-Plenário. Levantamento de Auditoria. Conhecimento acerca
da utilização de métodos ágeis nas contratações para
desenvolvimentos de ágeis pela Administração Pública Federal.
[16] Vacari, I. and Prikladnicki, R. 2015. Adopting Agile Methods
in the Public Sector: A Systematic Literature Review.
International Conference On Software Engineering And
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 BR­369 Km 64
[email protected], {menolli, glauco, rgcoelho}@uenp.edu.br, [email protected]
RESUMO
ABSTRACT
Os ambientes de Business Intelligence (BI) dão apoio aos
administradores das empresas a tomarem decisões mais precisas
para sua organização. Esses ambientes, em geral, utilizam da
tecnologia de Data Warehouse (DW), que é um banco de dados
integrado e voltado para consultas. Entretanto a construção de um
DW é um processo custoso e demorado, tornando então um
obstáculo principalmente para pequenas e médias empresas. Com
o intuito de reduzir este problema foi proposta a metodologia
Agile ROLAP, que visa auxiliar na utilização de ferramentas
OLAP a partir das bases relacionais das empresas. Porém, os
analistas na maioria das vezes necessitam visualizar os dados
categorizado (dados discretizados), sendo assim, algumas vezes é
preciso realizar essas transformações. No entanto, a metodologia
preza por não fazer modificações dentro das bases físicas e
também por minimizar o processo de Extract, Transform and
Load (ETL), o qual é necessário para fazer a discretização dos
dados. Assim, este trabalho apresenta o desenvolvimento de
plugins para a ferramenta Kettle e que auxilie na discretização de
dados de forma com que não sejam alteradas as bases originais.
The environments of Business Intelligence (BI) provide support to
managers of companies to make more accurate decisions for your
organization. These environments currently using the Data
Warehouse technology (DW), which is an integrated database and
prepared for query. However, the construction of a DW is a costly
and time consuming process, so making an obstacle mainly for
small and medium companies. In order to reduce this problem,
was proposed the Agile ROLAP methodology, which aims to
assist in the use of OLAP tools from relational databases of
companies. However, managers most often need to view
categorized data (discretized data), so sometimes these
transformations are needed. Nevertheless, the methodology
recommends not make changes in the physical basis and also to
minimize the process Extract, Transform and Load (ETL), in
which it is necessary to make the data discretization. Thus, this
work presents the development of plugins for Kettle tool that
assists in the data discretization helping that the physical
databases are not changed.
1.
Categories and Subject Descriptors
As empresas com o decorrer do tempo guardam uma grande
quantidade de informações sobre a sua organização, e no intuito
de utilizar as informações futuramente, muitas utilizam os
ambientes de Business Intelligence (BI),no qual estes ambientes
auxiliam na análise dos dados de forma eficiente e na tomada de
decisão dos administradores da empresa, facilitando também o
conhecimento sobre a sua organização.
H.2.7 [Database Management]: Database Administration – data
warehouse and repository
H.2.8 [Database Management]: Database Applications – data
mining
General Terms
Algorithms, Management, Performance.
A implementação de BI demanda custo e tempo, tornando assim
algo não trivial, pois é necessário um Data Warehouse (DW), no
qual tem como finalidade armazenar informações sobre as
atividades da empresa de forma consolidada.
Keywords
Data Warehouse,
Discretização.
Agile
Rolap,
Business
INTRODUÇÃO
Inteligence,
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
módulo[1]. Sendo assim, foi proposto o método Agile ROLAP, no
qual tem como seu objetivo corrigir alguns problemas encontrados
na implantação de um DW.
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
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
otherwise, or republish, to post on servers or to redistribu-te to lists,
requires prior specific permission and/or a fee.
SBSI 2016, May 17–20, 2016, Florianópolis, Santa Catarina, Brazil.
O objetivo da metodologia Agile ROLAP é permitir uma
implementação de forma ágil de ambientes de BI em que se
utilizem bancos de dados relacionais, e ao mesmo tempo permitir
a utilização de ferramentas OLAP projetadas para ambientes
tradicionais por meio de um servidor ROLAP[2].
Copyright SBC 2016.
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
mecanismo intermediário, no qual permita que os dados de
diversas fontes de dados sejam integrados em uma única base,
fazendo com que se mantenha o conceito de DW. Porém na
maioria das vezes os dados das bases relacionais são de forma
continua, isto é, um dado continuo contém toda informação de um
determinado domínio.
baseado nas informações geradas, assim podendo o administrador
conhecer melhor sobre o seu negócio além de possibilitar uma
melhor competição no mercado.
Na Figura 1 é mostrado como é o funcionamento do Agile
ROLAP e a função de cada etapa apresentada na Figura 1 é
descrita a seguir:
Entretanto, os administradores das empresas geralmente desejam
que os dados estejam categorizados para que se possa fazer
analise dos mesmo de forma simples. Sendo assim, o processo de
transformar dados contínuos em dados categorizados é
denominado de discretização[3].

Físico: Representa bases de dados originais. Nestas
estão armazenadas em tabelas todas as informações da
empresa obtidas com o decorrer do tempo.

FDW: Tem como finalidade agrupar todas as
informações da empresa em uma única base de dados.
Estas informações estão armazenadas em formas de
tabelas, porém são cópias das tabelas originais que estão
armazenadas no Físico. Quando um usuário acessa a
tabela, que está em base utilizando a tecnologia de
Foreign Data Wrapper (FDW), consulta diretamente a
base de origem de forma transparente, assim o usuário
acha que está acessando a base no PostgreSQL, mas na
verdade está consultado os dados da base original. Com
isso não tem o risco de que os dados da base original
não sejam modificados, pois o FDW permite apenas o
usuário a fazer consultas.

Schema: é um arquivo conhecido como schema XML.
Esse arquivo realiza o mapeamento dos dados que estão
armazenados na forma relacional, no caso no FDW, para
os dados que devem ser mostrados na forma dimensional. Basicamente esse schema indica onde estão os valores dos atributos na perspectiva multidimensional na
base de dados relacional.

OLAP: On-line Analytical Processing (OLAP) é a uma
forma de se analisar grandes dados sobre múltiplas
perspectiva, no qual é amplamente utilizado nos
ambientes de BI, pois facilita a análise rápida dos dados
gerados na implantação de tal ambiente.
Contudo, não consta na metodologia Agile ROLAP para se tornar
mais simples para sua criação, fez com a diminuísse a etapa do
Extract, Transform and Load (ETL), sendo esta importante para
realização da discretização de dados. Portanto, é proposto neste
trabalho a realização de um plugin para a ferramenta Kettle, em
que auxilie no processo de discretização de dados de forma com
que não se altere as bases originais, mantendo o que foi proposto
na metodologia Agile ROLAP.
2.
REVISÃO BIBLIOGRÁFICA
Esta seção apresenta uma visão geral de conceitos e elementos da
construção de um Data Warehouse utilizando a metodologia Agile
ROLAP, assim como uma breve revisão sobre discretização de
dados.
2.1
Agile ROLAP
A necessidade de armazenar as dados de uma empresa e fazer uma
análise eficiente das mesmas é um processo muito importante no
mercado atual, com isso originou-se o DW, no qual é um depósito
de dados em que consiste em armazenar uma grande quantidade
de dados sobre às atividades de uma empresa. O uso de um DW
favorece uma melhor análise de um grande volume de dados por
meio de ferramentas OLAP, auxiliando no processo de tomada de
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
torna um empecilho para que, principalmente pequenas e médias
empresas o implantem. Dessa forma foi proposta a metodologia
Agile ROLAP, que tem como intuito mitigar alguns problemas
encontrados na implantação de BI, principalmente diminuindo
tempo com o processo de Extract, Transform and Load (ETL) .
Apesar da metodologia não utilizar o conceito tradicional de DW,
consegue-se por meio de seu uso utilizar as ferramentas Online
Analytical Processing (OLAP) disponíveis no mercado.
2.2
Discretização de Dados
O avanço da computação e tecnologia traz consigo grandes taxas
de informações, sendo elas explosivas, e que tendem a crescer
muito mais devido aos novos recursos tecnológicos que estão
surgindo no mercado atualmente [6].
Os dados dessa grande taxa de informação geralmente são
extraídos de forma continua, isto é, tendem vir com toda a
informação de um determinado problema. Os administradores de
empresas normalmente utilizam os dados categorizados para
fazerem suas consultas nas bases de dados.
Assim, a metodologia tem como intuito diminuir o tempo
despendido no processo de ETL, pois não há necessidade de criar
uma nova base de dados. Estima-se que mais de 1/3 do custo na
elaboração de um DW se dá no processo de ETL [5]. Isto permite
que pequenas empresas possam usufruir de ferramentas OLAP
voltadas para ambientes de BI tradicionais, proporcionando
auxilio na tomada de decisão do administrador da organização
Sendo assim, muitas vezes há uma necessidade de se transformar
os dados contínuos em dados categorizados, e essa transformação
de dados é denominada de discretização de dados.
A discretização de dados normalmente é aplicadas nos atributos
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
dado contínuo em categorizado envolve duas subtarefas: decidir o
número de categorias; e determinar como mapear os valores do
atributo contínuo entre essas categorias [3]. Na primeira subtarefa,
os valores dos atributos contínuos são devidos em n intervalos,
denominado ponto de divisão. Na segunda, os valores de um
determinado intervalo são mapeados para o mesmo valor de
categoria.
Assim, com intuito de manter os preceitos da metodologia, o
plugin desenvolvido também utiliza o PostgreSQL para realizar as
suas funcionalidades, pois caso sejam necessários criar novos
atributos discretizados, estes serão criados na base intermediária e
não nas bases de origem. Dessa maneira, para o funcionamento do
plugin, são criadas views materializadas dentro da base de dados
intermediária. Uma view pode ser entendida com uma tabela
virtual, no qual se é criada por uma consulta. Isto acontece pois a
metodologia Agile ROLAP preza para que não se altere as tabelas
originais novos atributos são criados na view correspondente a
tabela original, acrescentando um novo campo, sendo este dado
por uma função que será responsável pela discretização dos dados.
Existem dois tipos de discretização de dados[3]:
 Discretização sem Supervisão: Discretização nãosupervisionada gera intervalos sem utilizar a informação da
classe, e é a única possibilidade na tarefa de agrupamento.
Esse tipo de discretização possui duas abordagens: largura
igual (divide a faixa dos atributos em um número de
intervalos especificados pelo usuário) e frequência igual
(tenta colocar o mesmo número de objetos em cada
intervalo).
 Discretização Supervisionada: Os intervalos são
determinados em função dos valores do atributo e da classe
correspondente a cada valor. Esse tipo possui vários
métodos, sendo um deles a entropia, sendo ela uma das mais
promissoras para discretização.
Os plugins já desenvolvidos para a metodologia Agile ROLAP,
foram implementados na ferramenta Pentaho Data Integration
(Kettle), sendo este uma plataforma de integração de dados, que
possibilita a análise de dados de forma precisa, além de permitir a
obtenção de dados de diversas fonte de dados e permite a
visualização por meio de componentes visuais [7]. Foi
desenvolvido um novo plugin pois necessitava de algo que não se
alterasse a tabela original e que pudesse fazer discretizações
utilizando vários atributos.
Na Figura 2 é apresentada uma interface que mostra o
funcionamento da ferramenta Kettle. Nesta interface, pode-se
observar como é realizado o processo de ETL de forma prática e
simples por meio de plugins que executam tarefas especificas,
sendo então possível a realização de transformações complexas
nos dados, no qual estes plugins tendem a convergir para um
único objetivo.
A discretização de dados consiste em uma das etapas do processo
de
Extract, Transform and Load (ETL). Como mencionado
acima, ela é realizada para que possa determinar um padrão das
informações.
Um exemplo de uso da discretização dos dados é identificar a
faixa etária das pessoas que alugam filmes em uma locadora.
Suponha-se que no sistema possua somente a idade da pessoa,
porém não consta a sua faixa etária, com isto é feita a
discretização dos dados, transformando a idade da pessoa em
categorias de idade, para que possam ser analisadas futuramente.
Por a ferramenta Kettle ser open source, existem diversos
plugins para as mais várias tarefas da ETL, inclusive que auxiliem
na discretização de dados. No entanto, pelas particularidades da
metodologia Agile ROLAP foi estabelecido que seria necessário o
desenvolvimento de um novo plugin, que pudesse ser totalmente
integrado à outros plugins já desenvolvidos para dar suporte à
metodologia.
Contudo, ao realizar uma discretização pode ser necessário a
transformação de atributos, no qual se refere a uma transformação
que seja aplicada a todos os valores de um atributo, que é
realizado “se a apenas a magnitude de um atributo for importante,
então os valores dos atributos podem ser transformados pegandose 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
discretização de dados.
Figura 2. Pentaho Data Integration (Kettle). Fonte: Pentaho (2016 )
Sendo assim, o plugin de discretização de dados é apresentado na
Figura 3. Como mostrado, este contém alguns campos que devem
ser preenchidos para o funcionamento do mesmo. Existem sete
campos dentro do plugins que podem ser preenchidos, porém seis
deles são obrigatórios.
O plugin de discretização de dados foi elaborado para ser
integrado a outros plugins que dão suporte à metodologia Agile
ROLAP. Em uma das etapas desta metodologia é previsto que os
dados de diversas fontes de dados, sejam agrupados em uma única
base de dados, utilizando a tecnologia Foreign Data Wrapper
(FDW). Com isso, é feito um mapeamento das bases de dados
relacionais para uma base intermediária, sendo esta base criada
dentro do Sistema de Gerenciamento de Banco de Dados (SGBD)
PostgreSQL.
O primeiro campo é onde se dá o nome da view materializada
criada pelo plugin. O segundo campo obrigatório é “connection”,
responsável por fazer a conexão com o banco de dados, esta
conexão serve para pegar os atributos das tabelas e também
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
será usada para discretização, sendo elas: função criadas pelo
usuário; funções próprias do banco e uma outra que é nova
função. Cada função tem um objetivo especifico para
discretização dos dados.
Com estes preliminares realizados, pode-se comprovar que o
plugin é útil para a discretização dos dados, fácil de ser utilizado e
o mesmo agiliza o processo de discretização dos dados, pois o
mesmo trabalha de forma intuitiva. Por fim, verificou-se que o
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
função”, a opção diferente de “nova função”.
Como principal limitação, constou-se que para utilização do
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 é
necessário clicar no botão “adicionar” para que o mesmo possa ser
vinculado a regra da função.
5.
CONSIDERAÇÕES FINAIS
Com a proposição da metodologia Agile ROLAP [2], muitos
desafios surgiram na sua implantação, principalmente por não
existir ferramentas específicas para este fim. Com o tempo, foi
sendo percebido, que novos plugins eram necessários para que a
metodologia se tornasse viável de ser implantada de forma fácil e
rápida, e assim atingir o seu principal objetivo. Dentre estes
plugins identificados como necessários, está o de discretização de
dados.
O sétimo e último campo, só irá aparecer caso, no campo “tipo de
função”, for selecionado o atributo “nova função”. Neste caso irá
ser exibido um novo campo, que dará a liberdade de se criar uma
nova função para discretização dos dados.
Após todos os campos serem preenchidos, é realizadas então a
discretização dos dados, criando então uma view materializada já
com o novo campo criado no qual se refere a discretização dos
dados.
Assim, foram estudadas as necessidades específicas que este
plugin deveria abordar, assim como este deveria ser integrado a
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
Gonçalves. 2014 Uma Metodologia Agile ROLAP para
Implantação de Ambientes de Inteligência de Negócios. Em:
X Escola Regional de Banco de Dados, São Francisco do
Sul. Anais 10ª. edição da ERBD.
Figura 3. Plugin de Discretização de Dados
4.
RESULTADOS
A fim de verificar se o plugin desenvolvido é viável para
discretização de dados e se adequa à metodologia Agile ROLAP,
foram realizados dois testes, utilizando uma base de dados
exemplo Postgres, chamada Pagila, pela qual foi inspirada pela
Dell DVD Store para elaboração da mesma.
[3] MENDES, Luciana 2011. Data Mining – Estudo de Técnicas
e Aplicações na Área Bancária in Faculdade De Tecnologia
De São PauloFATECPaulo FATEC-SP.
[4] KIMBALL, R., Caseta, J. 2004. The Data Warehouse ETL
Toolkit: Practical Techniques for Extracting, Cleaning,
Conforming, and Delivering Data, John Wiley & Sons.
Os testes foram feitos empregando a tabela “film” e utilizou o
atributo “length” para fazer a discretização. Este atributo foi
escolhido, pois contém a duração de cada filme e também por
estar na forma continua, tornando necessário a discretização
desses dados para que ele fique na forma categorizada. Definiramse as categorias como sendo: curta, média e longa metragem,
conforme encontrado na literatura.
[5] MENOLLI, André 2006. A Data Warehouse Architeture em
Layers for Science and Technology in Proceedings of the
Eighteenth International Conference on Software
Engineering Knowledge Engineering (SEKE'2006), San
Francisco, CA, USA.
No primeiro teste realizado, como não foi encontradas funções
que possam realizar a categorização específica de tamanho de
filmes, foi necessária a criação de uma nova função, no qual a
mesma foi elaborada no plugin.
[6] BUENO, Michel Ferreira. 2012. Mineração de Dados:
Aplicações, Eficiência e Usabilidade. Em Anais do
Congresso de Iniciação Científica do INATEL.
[7] PENTAHO. 2014 Pentaho Data Integration: Power to access,
prepare and blend all data. Pentaho Corporation Disponível
em: <http://www.pentaho.com/product/data-integration/> em
2014.
O segundo teste realizado, foi utilizando a mesma função criada
no teste anterior, porém neste caso, não foi executada a etapa de
criação da função, pois a mesma já se encontrava na lista de
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
Análise de Usabilidade em Sistema de Resposta Audível
automatizada, com base no Percurso Cognitivo, Critérios
Ergonômicos de Bastien e Scapin e Heurísticas de Nielsen
Alternative title: Usability Analysis of Automated Voice Response
System based on Cognitive Walkthrough, Bastien and Scapin’s
Ergonomic Criteria Bastien Nielsen’s Heuristics
Aline Cristina Antoneli de Oliveira1
Maria José Baldessar2
Leonardo Roza Melo3
Priscila Basto Fagundes4
Programa de Pós Graduação em Engenharia e Gestão
do Conhecimento – PPEGC/UFSC 1 2
[email protected]
[email protected]
Faculdade de Tecnologia SENAI Florianópolis 3 4
[email protected]
[email protected]
RESUMO
General Terms
A presente pesquisa tem como objetivo realizar avaliação de
usabilidade de um sistema que realiza atendimento para uma
empresa de telefonia, que possui recursos de interface de resposta
audível. A técnica aplicada para navegação no sistema foi o
Percurso Cognitivo. A avaliação da usabilidade foi baseada em 13
princípios selecionados com base nos critérios ergonômicos
Bastien e Scapin e heurísticas de Nielsen. A partir da análise do
percurso cognitivo, foi gerada uma tabela de criticidade, onde foi
possível avaliar as heurísticas respeitadas e violadas. Espera-se que
as técnicas apresentadas evoluam para um modelo de avaliação de
usabilidade de URA’s (Unidades de Resposta Audível).
Design, Human Factors.
Keywords
System Interactive Voice Response,
Cognitive Walkthrough.
Heuristics Usability,
1. INTRODUÇÃO
Ao desenvolver uma interface homem-máquina (IHM), nem
sempre o projetista leva em conta certas diferenças que existem
entre as pessoas. Nem todos os humanos são iguais e as diferenças
podem implicar em problemas tanto para o projetista como para
quem vai usar as interfaces [3].
Palavras-Chave
Sistema de Resposta Audível, Heurísticas de Usabilidade, Percurso
Cognitivo.
Problemas de interpretação podem atrapalhar ou impedir que
pessoas de diferentes particularidades executem tarefas simples ao
utilizar diversos tipos de interface. Pretende-se, neste trabalho,
avaliar o contexto das interfaces de resposta audível. As maiores
dificuldades encontradas por usuários neste tipo de interface são o
acompanhamento da informação, identificação de posição das
teclas e botões, navegação entre menus, dificuldades de adaptação
em novas ações, compreensão do áudio, entre outras.
ABSTRACT
This research aims to perform usability evaluation of a system that
performs service for a telephone company, which has voice
response interface features. The technique applied to navigation
system was the Cognitive Walkthrough. The evaluation of the
usability was based on 13 principles selected, which were based on
ergonomic criteria of Bastien and Scapin, and Nielsen’s heuristics.
From the cognitive walkthrough analysis, it generates a criticality
table, where it was possible to evaluate the respected and violated
heuristics. It is expected that the presented techniques evolve for
usability evaluation model for IVR’s (Interactive Voice Response)
systems.
A partir destas dificuldades, resolveu-se estudar melhorias de
usabilidade nesse segmento com a finalidade de facilitar o
entendimento dos usuários na utilização de interfaces de resposta
audível e facilitar a interatividade entre o homem e o sistema.
O presente trabalho objetiva, portanto, realizar avaliação de
usabilidade em um sistema que realiza atendimento para uma
empresa de telefonia, que conta com recursos de interface de
resposta audível. A avaliação será realizada com base na técnica do
Percurso Cognitivo[2], nos critérios ergonômicos de Bastien e
Scapin [1] e Heurísticas de Nielsen [10] [11] [12].
Categories and Subject Descriptors
D.2.2 [Software Engineering]: Design tools and techniques – user
interfaces.
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
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 otherwise,
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.
A utilização da técnica do Percurso Cognitivo juntamente com
Avaliações Heurísticas, normalmente são utilizadas para avaliação
de interfaces web, onde a interação é realizada basicamente através
de teclado [6] [7] [8]. Este trabalho, portanto, trouxe uma nova
perspectiva de utilização destas técnicas, aplicando-as em URA’s
(Unidades de Resposta Audível). A principal contribuição é trazer
à discussão a avaliação de usabilidade em interfaces de resposta
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
de aplicação de métodos de avaliação de usabilidade, que
fundamentalmente foram desenvolvidos para navegação através de
teclado, em sistemas multimodais (onde há múltiplas interações
simultâneas de dados e voz) [10], e softwares leitores de tela [13].
As técnicas apresentadas também já foram aplicadas em avaliação
de usabilidade sistemas web [7]. Porém, este trabalho apresenta
estas técnicas em sistemas onde o usuário, através de um aparelho
telefônico, liga para um número e interage com um sistema de
resposta audível, e através das técnicas apresentadas, heurísticas de
usabilidade são avaliadas, o que o torna relevante devido ao fato
deste conjunto de métodos ainda não haver sido aplicado em
interfaces desse tipo.
3. TESTE DE PERCURSO COGNITIVO
O percurso cognitivo é um método de inspeção, realizado por
especialistas, sem a participação de usuários. O Método de
Percurso Cognitivo foi proposto em 1994 por Wharton, Rieman,
Lewis e Polson [2]. Seu principal objetivo é avaliar a facilidade de
aprendizado de um sistema interativo, através da exploração da sua
interface. Considera principalmente a correspondência entre o
modelo conceitual dos usuários e a imagem do sistema, no que
tange à conceitualização da tarefa, ao vocabulário utilizado e à
resposta do sistema a cada ação realizada [2]. Objetiva encontrar
problemas de usabilidade relacionados à aprendizagem dos passos
necessários para realizar as tarefas [8]. Permite que os especialistas
simulem o percurso das tarefas realizadas pelos usuários,
verificando se a cada passo o usuário conseguiria alcançar o
objetivo correto, evoluindo na interação com a interface [8].
A Seção 02 trata dos aspectos conceituais sobre URA. A Seção 3
traz a respeito da Interação Humano Computador, conceitos sobre
Multimodalidade e URA Multimodal. A Seção 4 apresenta os
procedimentos e métodos adotados para que fosse realizada a
avaliação de usabilidade na interface multimodal apresentada. A
seção 5 apresenta os resultados da avaliação realizada, trazendo o
resultado do percurso cognitivo, assim como a Tabela de
Criticidade, onde são realizadas sugestões de melhorias na interface
analisada. A Seção 6 apresenta uma reflexão sobre o que foi
realizado, assim como sugestões para a continuação deste trabalho.
A aplicação da técnica consiste em:
a) definir quem são os usuários da interface, analisando suas
características e comportamentos.
b) definir as tarefas típicas que serão analisadas.
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
informações necessárias para que as tarefas sejam realizadas, como
requisitos e regras funcionais [8].
2. INTERAÇÃO HUMANO-COMPUTADOR
(IHC) e UNIDADE DE RESPOSTA AUDÍVEL
(URA)
4. PROCEDIMENTOS E MÉTODOS
A URA é um sistema automatizado de atendimento ao usuário
muito utilizado por empresas de maior porte e de grande
comunicação via telefone. Com ela é possível atender ligações e
gerenciá-las em modo espera ou então transferi-las de acordo com
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
interagir com uma espécie de robô. Já para as empresas, as URA’s
são de grande utilidade, visto que elas substituem pessoas,
redirecionam melhor as ligações sabendo exatamente para qual
setor encaminhar as mesmas e podem funcionar 24 horas por dia e
7 dias por semana, sem interrupções [10][15].
Para realizar as avaliações de usabilidade em interface de resposta
audível, utilizou-se a técnica do percurso cognitivo [2] juntamente
com as heurísticas de usabilidade de Nielsen [12] e os critérios
ergonômicos de Bastien e Scapin [1]. Para isso, foi selecionado um
sistema de resposta audível de uma empresa de telefonia. O critério
para a escolha do sistema foi feita com base na experiência do
pesquisador como usuário desta interface e cliente da referida
empresa. Necessário é mencionar que a experiência do especialista
no momento da utilização da interface é importante para a avaliação
do método a ser utilizado, pois como especialista ele precisa antever
os possíveis passos que os usuários realizarão para navegar pela
interface.
As interfaces de interação com computadores tem sido alvo de
diversas pesquisas nas últimas décadas. A IHC é a área responsável
pelo design, avaliação e implementação de sistemas
computacionais interativos para uso humano. Propicia o
desenvolvimento de sistemas mais amigáveis e úteis, provendo aos
usuários melhores experiências [17]. Procura também apoiar o
estudo de interfaces adaptativas e adaptáveis, objetivando melhores
maneiras de interação.
A presente pesquisa, classificada como qualitativa [5] [16], tem em
sua característica interpretativista [9], a visão de mundo do
pesquisador. Este fato foi levado em consideração na escolha do
sistema avaliado e mesmo que tenha sido com base em sua
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
prévio. Deve ser intuitiva para qualquer pessoa, invisível, passando
despercebida [10].
4.1 Aplicação do teste de Percurso Cognitivo
Para a aplicação do teste de percurso cognitivo foi criado um
cenário e proposta uma tarefa, que é ligar para a empresa telefonia,
que aqui será denominada X. O avaliador é o especialista.
A relação entre um dispositivo de entrada ou saída (microfone,
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
sistema [14].
5.1.1 Cenário
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
existe um problema de navegação na Internet. Ele deve ligar para a
central de atendimento e tentar resolver o problema de navegação.
Para a avaliação do sistema escolhido, foram utilizadas 13
recomendações, sendo que 07 (sete) delas foram escolhidas com
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
ao cenário da utilização do sistema de resposta audível. As
recomendações são:
5.1.2 Tarefa
Ligar para a empresa X para tentar resolver um problema de
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
sistema deve ter uma linguagem clara com os usuários. Com
palavras, frases e conceitos comuns ao usuário.
Passo 1 – Aguardar a URA informar qual é a opção referente ao
seu problema. Neste caso, o usuário não deve escolher nenhuma
opção e deixar a URA conduzir a ligação para a próxima etapa. A
URA informa que se o usuário quiser atendimento para outro
número, ele deve pressionar asterisco (*) em qualquer momento da
ligação.
H3. Controle do usuário e liberdade [12] - Os usuários
eventualmente escolhem algumas funções do sistema por engano e
deverão precisar de uma “saída de emergência” clara e distinta para
sair daquela opção indesejada.
Passo 2 – Neste passo, o usuário também não deve escolher
nenhuma opção, pois a URA o conduz para a próxima etapa para
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
usuário de digitar “1” para receber o protocolo naquele momento
ou que ele poderia aguardar em ligação para continuar.
H4. Prevenção de erros [12] - Prevenção de erros significa
permitir que os erros não aconteçam.
H5. Reconhecimento em vez de recordação [12] - O usuário não
precisa ter que lembrar da informação anterior para passar para a
próxima etapa.
Passo 3 – Aguardar a URA informar qual é a opção referente ao
problema do usuário. Neste caso, o usuário deve escolher a opção
“5”, que trata de como fazer, receber chamadas e acessar a Internet.
H6. Flexibilidade e eficiência de utilização [12] - O sistema deve
atender a ambos os usuários, inexperientes e experientes. Permitir
que os usuários possam personalizar ações mais frequentes.
Passo 4 – Aguardar a URA informar qual é a opção referente ao
seu problema. Neste caso, o usuário escolher a opção “1”, “Se não
consegue acessar a Internet, digite 1”.
H7. Estética e design minimalista [12] - Os diálogos não devem
conter informações desnecessárias ou raramente utilizadas, pois
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á
configurou e ainda permanece com dificuldades para acesso à
Internet, digite ‘2’”.
H8. Condução/convite [1] - O objetivo é conduzir o usuário a um
caminho correto na utilização do sistema.
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
informação levando em conta a relação que estes itens guardam
entre si.
5.1.4 Questões aplicadas à execução do percurso
As questões aplicadas serão as seguintes:
H10. Condução/Feedback imediato [1] - Feedback é um retorno
imediato que o sistema deve oferecer após as ações executadas
pelos usuários.
I. Os usuários farão a ação correta para atingir o resultado
desejado?
II. O usuário perceberá que a ação correta está disponível?
H11. Carga de trabalho/Brevidade/ações mínimas [1] Minimiza e simplifica um conjunto de ações necessárias para o
usuário alcançar seu objetivo.
III. O usuário associará o elemento de interface correto à meta
a ser atingida?
IV. Se a ação correta é tomada, o usuário perceberá que
progrediu em direção à solução da tarefa?
H12. Controle explícito/Controle do usuário [1] - Cabe ao
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
usuário corrija os erros de forma fácil e amigável.
Análise heurística é uma técnica de inspeção feita por especialistas,
que tomam como base princípios e orientações práticas de
usabilidade. Segundo o mesmo autor, o objetivo é identificar os
problemas de usabilidade existentes nas interfaces, através da
rigorosa aplicação desses princípios durante o processo de análise
[7].
Os problemas encontrados foram classificados em 3 graus de
criticidade: alta, média e baixa. Essa classificação tem o objetivo
de identificar quais são os problemas mais graves, que impedem a
interação do usuário com a interface; quais são medianos, que tem
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
devem ser solucionados. Problemas de criticidade alta devem ser
resolvidos em curto prazo; problemas médios têm prioridade média
de resolução; e problemas de criticidade baixa podem ser
solucionados em longo prazo.
5.2 Análise Heurística
A análise heurística foi feita nos passos onde se passam as quatro
perguntas analisadas no percurso cognitivo. Foi criada uma legenda
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
etapas desrespeitam, e o grau de criticidade que irá informar qual é
a prioridade na manutenção do produto e ainda indica as
recomendações cabíveis para cada problema.
5 RESULTADOS E DISCUSSÕES
Após realizadas as tarefas, foi feito o cruzamento das informações
entre as questões do percurso cognitivo e os passos da tarefa
executada, onde foi avaliado se a etapa do sistema está de acordo
com os critérios de usabilidade escolhidos. Foi definido três tipos
de resposta para as questões: "Sim", "Sim, porém" e "Não”.
Passo 1
Questão II
Tabela 01 – Resultado do percurso cognitivo
Passo 01
Passo 02
Questão I – Sim
Questão I – Sim
Questão II - Sim, porém a opção a ser
escolhida não é informada pela URA, pois
ela deixa a opção “oculta”. O usuário deve
aguardar e não digitar. A URA, porém,
não informa isto ao usuário.
Questão II – Sim
Questão III – Não
Passo 2
Questão
III
Questão III - Sim, porém somente
usuários
mais
experientes
compreenderão o que está sendo
solicitado.
Passo 3
Questão I
e II
Questão IV – Sim
A opção a ser escolhida não
é informada pela URA,
pois ela deixa opção
"oculta", nesse caso a
opção é "aguardar sem
digitar nada" e a URA não
informa desta forma,
entretanto, somente o
usuário mais experiente
consegue entender isso
Nesse caso a URA está
falando sobre torpedo com
protocolo e não sobre o
suporte que está sendo
buscado o que dificulta no
entendimento da tarefa
O usuário deve aguardar
vários segundos até a URA
informar outros dados e
chegar na opção desejada
H1,
H2,
H6,
H7,
H8,
H10
Informar a
opção a ser
escolhida, não
deixá-la oculta
e acrescentar
feedback
Média
H2,
H6,
H7,
H8,
H9,
H10
H1,
H7,
H8,
H9
Retirar a
mensagem
sobre torpedo
Média
Média
Essa opção está junto com
outra na mesma escolha e
acaba confundindo o
usuário
A falta do feedback do
sistema deixa o usuário na
dúvida, ela não informa que
avançou para a próxima
etapa
H6,
H7,
H9
Informar a
opção a ser
escolhida,
diminuir o
tempo de
resposta
Separar as
opções
Acrescentar
feedback
Média
Questão IV – Sim
Passo 03
Passo 04
Questão I - Sim, porém a URA informa
dados sobre conta e usuário deve aguardar
até informar a opção desejada.
Questão II - Sim, porém o usuário deve
aguardar vários segundos até a URA
informar outros dados e chegar na opção
desejada.
Questão III – Não
Passo 3
Questão
IV
Questão I – Sim
Questão II – Sim
Passo 4
Questão
IV
Questão III – Sim
Questão IV - Sim, porém a falta
de feedback do sistema deixa o
usuário na dúvida, não informando
que o usuário avançou para a
próxima etapa.
Passo 05
Questão II – Sim
Questão III – Sim
Média
No Passo 1, Questão II e Passo 2, Questão III, praticamente os
mesmos princípios foram violados. Elas iniciam com a opção do
menu a ser escolhida não sendo informada pela URA, deixando
opção "oculta". Neste caso a opção é "aguardar sem digitar nada" e
a URA não deixa esta informação explícita. Somente o usuário mais
experiente consegue compreender que deve aguardar, o que
dificulta no entendimento da tarefa fazendo com que a interface
desrespeite a heurística H1, “Visibilidade do status do sistema”.
Desrespeitou também a heurística H2, “Correspondência entre o
sistema e o mundo real”, onde o sistema deve ter uma linguagem
clara com os usuários. Com palavras, frases e conceitos comuns ao
usuário. A heurística H6, “Flexibilidade e eficiência de utilização”
também foi desrespeitada, pois o sistema deve atender a ambos os
usuários, inexperientes e experientes. O princípio H7, “Estética e
design minimalista” foi desrespeitado, pois os diálogos não devem
conter informações desnecessárias ou raramente utilizadas. O
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
Questão IV - Sim, porém essa opção está
junto com outra função na mesma opção,
o que confunde o usuário.
Questão I – Sim
H1,
H6,
H10
Criticidade
Recomendações
A tarefa consistiu em ligar para a empresa X para resolver um
problema de conexão com a Internet. A tabela 1 apresenta os
resultados dos passos realizados pelo especialista ao utilizar a
interface multimodal, relacionando os passos apresentados em
5.1.3 e às questões do percurso cognitivo apresentadas em 5.1.4.
Problema
ID
5.1 Análise do percurso cognitivo
Heurísticas
Desrespeitadas
Tabela 2 – Tabela de Criticidade
Questão IV - Sim
Analisando a Tabela 01, percebe-se que no cruzamento das
respostas fornecidas, a avaliação do percurso identificou 12
respostas “Sim”, 6 respostas “Sim, porém” e 2 respostas “Não”.
Através desta análise, pode-se concluir que a tarefa proposta neste
sistema possui 60% das etapas para chegar ao objetivo estão claras
para o usuário.
Várias heurísticas dentre as levantadas em 5.2 foram
desrespeitadas. No próximo tópico, será possível verificar as
heurísticas e as recomendações para melhoria na navegabilidade da
URA analisada.
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
após as ações executadas pelos usuários.
permitiu apresentar os testes realizados somente em um sistema de
telefonia, porém é interessante mencionar que os autores aplicaram
esta técnica também a outros sistemas de resposta audível, obtendo
resultados semelhantes, trazendo a possibilidade de validar as
técnicas como um futuro modelo.
No Passo 3, Questão I e II, a URA informa dados sobre conta e
usuário e demora alguns segundos para apresentar as opções
esperadas o que dificulta no entendimento da tarefa fazendo com
que a interface desrespeite o princípio H1, “Visibilidade do status
do sistema” e H7, “Estética e design minimalista”, onde os diálogos
não devem conter informações desnecessárias ou raramente
utilizadas.
Desrespeitou
também
o
princípio
H8,
“Condução/convite”, onde o objetivo é conduzir o usuário a um
caminho correto na utilização do sistema e o princípio H9,
“Condução/agrupamento e distinção de itens/agrupamento e
distinção por localização”. Desrespeitou o princípio H10,
“Condução/Feedback imediato”, onde o feedback é um retorno
imediato que o sistema deve oferecer após as ações executadas
pelos usuários.
As técnicas apresentadas, portanto, possuem potencial para evoluir
para um modelo de avaliação de usabilidade em sistemas de
interface de resposta audível. Sugere-se englobar testes de
usabilidade que envolvam usuários reais dos sistemas, não somente
especialistas. Seria interessante também que um conjunto de
especialistas apliquem o modelo proposto em outras interfaces
multimodais que envolvam URA’s, para que se verifique, com
outras pesquisas, a eficácia de um futuro modelo.
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
entendimento da tarefa fazendo com que a interface desrespeite o
princípio H6, “Flexibilidade e eficiência de utilização”.
Desrespeita também o princípio H7, “Estética e design
minimalista”, onde os diálogos não devem conter informações
desnecessárias ou raramente utilizadas, pois irão competir com
diálogos mais usuais confundindo ou poluindo a audibilidade.
Desrespeitou o princípio H9, “Condução/agrupamento e distinção
de itens/agrupamento e distinção por localização”.
[1] Bastien, C., and Scapin, D. Ergonomic Criteria for the
Evaluation of Human Computer Interfaces. INRIA (1993).
[2] Cathleen Wharton, John Rieman, Clayton Lewis, and Peter
Polson. The cognitive walkthrough method: a practitioner's guide.
In Usability inspection methods, Jakob Nielsen and Robert L.
Mack (Eds.). John Wiley & Sons, Inc., New York, NY, USA,
(1994) 105-140.
[3] Cordeiro, Renato, and Oliveira, Marcos Roberto, and
Chanquini, Thaís Pereira. Utilização de conceitos de interface
homem-máquina para adaptação da disciplina de requisitos do
RUP. São Paulo: Laboratório de Pesquisa em Ciência de Serviços.
Centro Paula Souza, (2009).
No Passo 4, Questão IV, a falta do feedback do sistema deixa o
usuário na dúvida, não deixando claro que a navegação avançou
para a próxima etapa. Desrespeitou, portanto o princípio H1,
“Visibilidade do status do sistema”, onde 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.
Desrespeitou o princípio H6, “Flexibilidade e eficiência de
utilização”, onde o sistema deve atender a ambos os usuários,
inexperientes e experientes. Desrespeitou o princípio H10,
“Condução/Feedback imediato”, onde o feedback é um retorno
imediato que o sistema deve oferecer após as ações executadas
pelos usuários.
[4] Costa, José Fabiano da Serra, and Felipe, Ada Priscila
Machado, and Rodrigues, Monique de Menezes. Avaliação da
escolha de unidade de resposta audível (URA) através do Método
de Análise Hierárquica (AHP). In: Revista GEPROS,
Departamento de Engenharia de Produção da Faculdade de
Engenharia da UNESP, Bauru/SP, year 3, n. 3, (2008) 147-161
[5] Creswell, J. W. Projeto de pesquisa: Métodos qualitativo,
quantitativo e misto. 3. ed. Porto Alegre: Artmed, 2010. p. 177205.
[6] Leite, S. F. C. (2013). Inspeção de usabilidade aplicada a
métodos ágeis: um estudo de caso. Monografia de Bacharelado.
Universidade Federal de Lavras-MG.
http://repositorio.ufla.br/bitstream/1/5484/1/MONOGRAFIA_Ins
pecao_de_usabilidade_aplicada_a_metodos_ageis_um_estudo_de
_caso.pdf
6. CONSIDERAÇÕES FINAIS
A presente pesquisa teve o objetivo de realizar avaliação de
usabilidade em um sistema de telefonia, que conta com recursos de
interface de resposta audível. Foram escolhidos 13 critérios
selecionados a partir dos Critérios Ergonômicos de Bastien e
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
Universitário de Belo Horizonte, Uni-BH, (2007). Disponível em:
<http://eduardoloureiro.com/EduardoLoureiro_InspecaoUsabilida
de_Relatorio.pdf>. Acesso em: 06 out. 2015.
O resultado esperado deste trabalho é que, através da estrutura
proposta, possa se consolidar um modelo que é capaz de realizar
avaliações de usabilidade de interfaces de resposta de voz que
podem ser monomodal ou multimodal. A ausência de trabalhos que
especificamente lidam com avaliações de usabilidade em URA’s
justificam a relevância do trabalho proposto.
[8] Magrinelli, J. V. B. (2010). Avaliação de usabilidade de
sistema para gerenciamento apícola: o caso laborapix. Monografia
de Bacharelado. Universidade Federal de Lavras-MG.
http://repositorio.ufla.br/bitstream/1/5313/1/MONOGRAFIA_Ava
liacao_de_usabilidade_de_sistema_para_gerenciamento_apicola_
o_caso_laborapix.pdf
Propomos que as técnicas possam ser aplicadas em outros sistemas,
monomodais ou multimodais, usando vários dispositivos de
interação simultâneas, tais como voz e teclado. Nós mostramos
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
in organization theory. Administrative science quarterly, 605-622.
[14] Santos, M. A. D. (2013). Interface multimodal de interação
humano-computador em sistema de recuperação de informação
baseado em voz e texto em português.
http://repositorio.unb.br/bitstream/10482/14843/1/2013_Marcelo
AlvesdosSantos.pdf
[10] Nielsen, J., and Molich, R. Heuristic evaluation of user
interfaces, Proc. ACM CHI'90 Conf. (Seattle, WA, 1-5 April),
(1990) 249-256.
[11] Nielsen, J. Enhancing the explanatory power of usability
heuristics. (1994a). Proc. ACM CHI'94 Conf. (Boston, MA, April
24-28), 152-158.
[15] Torezan, Eduardo Luiz Dalpiaz. Implementação de funções
avançadas em um gateway voip. 56 f. Trabalho de Conclusão de
Curso (Graduação) - Curso de Engenharia de Telecomunicações,
Universidade Regional de Blumenau - FURB, Blumenau, (2006).
[12] Nielsen, J.. Heuristic evaluation. In Nielsen, J., and Mack,
R.L. (Eds.). (1994b) Usability Inspection Methods, John Wiley &
Sons, New York, NY).
[16] Triviños, Augusto N.S. Introdução á pesquisa em ciências
sociais: a pesquisa qualitativa em educação. São Paulo: Atlas,
1987.
[13] Paes, D. M. C. (2015). Análise de problemas de
funcionalidade e usabilidade no processo de desenvolvimento do
software leitor de telas livre NVDA. Disponível em:
http://repositorio.ufla.br/bitstream/1/10743/1/TCC_An%C3%A1li
se_de_problemas_de_funcionalidade_e_usabilidade_no_processo
_de_desenvolvimento_do_software_leitor_de_telas_livre_nvda.pd
f
[17] Zuasnábar, D. H.; Cunha, A. M. da; Germano, J. S. 2003. Um
ambiente de aprendizagem via WWW Baseado em Interfaces
Inteligentes para o Ensino de Engenharia. In: COBENGE 2003,
Rio de Janeiro. Anais. Rio de Janeiro.
30
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016
Guia de Boas Práticas para Desenvolvimento de Interface
e Interação para Desenvolvedores da Plataforma Android
Alternative Title: Good Practice Guide to Development of Interface
and Interaction for developers of the Android Platform
Guaratã Alencar Ferreira de Lima Junior
Rodrigo Cezario da Silva
Faculdade AVANTIS
Curso de Sistemas de Informação
Balneário Camboriú, SC, Brasil
Faculdade AVANTIS
Curso de Sistemas de Informação
Balneário Camboriú, SC, Brasil
[email protected]
[email protected]
RESUMO
Keywords
Alguns estudos apontam que a preocupação no desenvolvimento de
interfaces contribui para o sucesso de um projeto de softwares para
dispositivos móveis. Neste sentido, a Apple detém um processo
rigoroso para aprovação das aplicações desenvolvidas por terceiros
para seus dispositivos em sua loja. Em contraponto ao que acontece
na Apple, os aplicativos desenvolvidos para sua loja de aplicativos,
não passam por nenhum processo de aprovação. No entanto,
mesmo com a publicação das diretrizes de projeto “Android
Design”, as mesmas são tratadas pela maioria dos desenvolvedores
como conselhos a serem seguidos, não como obrigações a serem
cumpridas como são tratados os aspectos de design e interação do
guia da Apple. Neste sentido, este trabalho apresenta um guia
apoiado em boas práticas relacionadas a elementos de interface e
de interação aplicadas na plataforma da Apple para
desenvolvedores da plataforma Android. O objetivo é reunir a
essência do guia da Apple sem perder as características do Android.
Interface. UI Design. Android Design.
1. INTRODUÇÃO
Em um mundo em que a tecnologia está cada vez mais presente na
vida das pessoas, seja em casa, em carros, nas ruas, e até mesmo
em nossa própria mão, podem ser citados diversos dispositivos,
como tablets, vídeo games, televisores e os smartphones que vem
se popularizando cada vez mais. Só em 2013, o envio de
smartphones pelo mundo chegou a um bilhão. Os aparelhos mais
procurados são os com telas grandes e os de baixo custo [1].
Através dos smartphones vem 80% dos acessos à internet, segundo
a [2], e do tempo total gasto nos smartphones, 89% são em
aplicativos. O uso de aplicações por usuários de smartphones pode
ser bem variado, segundo [3], boa parte usa para jogos, notícias,
mapas e navegação, redes sociais, música, entretenimento,
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
usuários segundo [4].
Palavras-Chave
Interface. UI Design. Android Design.
Alguns estudos [5][6][7] apontam que a preocupação no
desenvolvimento de interfaces contribui para o sucesso de um
projeto de softwares para dispositivos móveis. No entanto, também
é sabido que desenvolvedores de software normalmente não têm o
conhecimento aprofundado sobre diversos aspectos de elaboração
de interface de usuário, a citar: usabilidade, ergonomia,
acessibilidade e demais conceitos de design centrado no usuário
[8]. Por sua vez, a Apple [9] detém um processo rigoroso para
aprovação das aplicações desenvolvidas por terceiros para seus
dispositivos em sua App Store. Segundo [9], o processo de
aprovação de aplicações na App Store existe para que a empresa
possa manter o status de qualidade conquistada junta aos seus
clientes. Neste sentido, a Apple [9] disponibiliza aos seus
desenvolvedores um guia chamado de “iOS Human Interface
Guidelines”. Neste guia são apresentados conceitos básicos de UI
Design, estratégias de design, tecnologias do Sistema iOS,
elementos de UI, entre outros. Cabe salientar que para que uma
aplicação seja aprovada no processo para ser comercializado na
App Store, é necessário que este passe por uma avaliação inicial em
relação ao cumprimento das recomendações presentes no guia de
interface da Apple, sendo que as principais causas de rejeições de
aplicações na App Store sejam devidas à violação as diretrizes
contidas no guia [10][11]. Também neste sentido, a Google [12]
apresenta um guia chamado de “Android Design”, que trata de
princípios básicos de design, materiais para design, dispositivos,
estilos, padrões, entre outros. Em contraponto do que acontece na
Apple, os aplicativos desenvolvidos para Play Store não passam por
ABSTRACT
Some studies indicate that the concern in the development of
interfaces contributes to the success of a software project for mobile
devices. In this sense, Apple has a rigorous process for the approval
of third-party applications for their devices in your store. In contrast
to what happens at Apple, applications developed for its application
store, do not go through any approval process. However, even with
the publication of design guidelines "Android Design", they are
treated by most developers as advice to be followed, not as
obligations to be fulfilled as the aspects of design and interaction of
the Apple Guide are treated. Thus, this work presents a guide
supported on good practices related to interface elements and
interaction applied to the Apple platform Android platform
developers. The goal is to gather the essence of Apple's tab without
losing the Android features.
Categories and Subject Descriptors
D.2.m [Software Engineering]: Miscellaneous
General Terms
Interface. UI Design. Android Design.
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
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 otherwise,
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
é imposto como obrigação em relação às observações nela feita
para o desenvolvimento de interface do usuário [13]. No entanto,
mesmo com a publicação das diretrizes de projeto “Android
Design”, as mesmas são tratadas pela maioria dos desenvolvedores
como conselhos a serem seguidos, não como obrigações a serem
cumpridas como são tratados os aspectos de design e interação do
guia da Apple [14]. Para [15], a postura da Google em cumprimento
das recomendações da guideline permite “liberdade de
criatividade”, sendo que um desenvolvedor pode optar em ignorar
completamente as diretrizes e criar o seu próprio design. [14]
contribui em destacar que a Google ainda carece de uma linguagem
de design focada na interface e interação do usuário. Para [14], a
guideline carece de sentido, coerência e uniformidade nos
elementos de interface do usuário. Além de haver relatos de que os
aplicativos disponibilizados na App Store apresentam maior
qualidade nas suas interfaces em relação os aplicativos da Google
Play [16]. Como resposta a esses problemas, existem propostas para
melhorias como a utilização de padrões de projetos [17][18],
interfaces adaptativas [19] e heurísticas [20][7]. No entanto,
diversos problemas ainda estão relacionados aos aspectos de
interface e interação com o usuário. Neste sentido, este trabalho
apresenta um guia apoiado em boas práticas relacionadas a
elementos de interface e de interação aplicadas na plataforma da
Apple para desenvolvedores da plataforma Android. Este trabalho
está estruturado na seguinte forma: na Seção 2, é apresentada a
fundamentação teórica. A seção 3, apresentada a metodologia de
pesquisa utilizada. Na Seção 4 é apresentada os resultados, sendo
este um Guia com boas práticas para desenvolvedores da
plataforma Android. E por fim, a Seção 5 apresenta as conclusões.
2.2 Interações com o usuário de dispositivos
móveis
Também chamado de design de interações, de acordo com [22], é
um item que tem um foco maior no usuário, e em como será seu
comportamento a partir do momento em que ele abre a aplicação.
São utilizados elementos da interface, como botões, tipografia,
efeitos sonoros, ícones e cores para o usuário interagir com estes e
manipular o conteúdo da aplicação. Uma aplicação móvel com uma
boa interface deve ter uma boa interação do usuário com a tela, para
que o mesmo possa fazer suas tarefas da melhor forma possível. A
interface é onde o conteúdo que o usuário está buscando é exibido,
mas é através de ferramentas ou dispositivos que o usuário precisa
interagir com o conteúdo que está sendo exibido na interface. No
caso de computadores, essa interação ocorre através do mouse e do
teclado com o conteúdo que é exibido em um monitor. Em
dispositivos móveis, na maioria deles existe apenas uma tela, que
não é usada somente para a exibição do conteúdo, mas também para
a interação do usuário com o mesmo. O que faz com que
desenvolvedores considerem ergonomia, gestos, transições e
específicos padrões de interações de cada plataforma.
2.3 Características da plataforma de
dispositivos móveis
Os dispositivos móveis têm suas características que podem ser
distintas dependendo da plataforma, no entanto algumas
características são similares. A plataforma iOS tem algumas
características únicas, devido a Apple ser rígida quanto a avaliação
de aplicativos antes de serem publicados, estes seguem um padrão
e qualidade, proporcionando uma ótima experiência ao usuário
[23]. Algumas características são similares às duas plataformas,
como modo de orientação da tela, transições entre telas e
aplicativos, e para a interação dos usuários com os aplicativos
existem gestos, ao invés de cliques.
2. FUNDAMENTAÇÃO TEÓRICA
Esta seção apresenta as referências nas quais se norteia este
trabalho. Parte-se da reflexão sobre a importância de um bom
design de interface; Interações com o usuário de dispositivos
móveis; e, conclui-se com as características da plataforma de
dispositivos móveis.
3. METODOLOGIA DE PESQUISA
Este trabalho quanto aos objetivos pode ser enquadrado como uma
pesquisa exploratória. Quanto aos procedimentos técnicos, foi
utilizado a pesquisa bibliográfica e pesquisa documental, sendo este
a primeira etapa realizada. A primeira etapa, oportunizou conhecer
as guidelines para desenvolvimento de interface das plataformas,
iOS e Android. A segunda etapa consistiu no desenvolvimento do
Guia, produto deste trabalho. Uma posterior etapa, compreendeu
em uma avaliação preliminar do guia a partir da visão de
especialistas.
2.1 Importância de um bom design de
interface
O design de uma interface é muito importante para o usuário [21],
pois os usuários ficam mais confortáveis em interagir com
interfaces que são fáceis de usar e entender e façam com que eles
consigam realizar suas tarefas com o mínimo de frustração. A
aparência de uma interface e o modo de navegação podem afetar
uma pessoa de várias formas. Por sua vez, se forem confusas e
ineficientes, dificultarão para as pessoas realizarem as tarefas que
gostariam, ou dependendo da aplicação, dificultará que as pessoas
façam seus trabalhos ou cometam erros. Interfaces mal projetadas
podem fazer com que pessoas se afastem do sistema
permanentemente, fiquem frustradas e podem aumentar o nível de
stress [21]. Para [21] a importância de um bom design pode ser
demonstrada de uma maneira interessante se tratando em termos
financeiros. Para as empresas, boas interfaces (no contexto deste
trabalho corresponde a presença das recomendações de usabilidade
apresentadas em [24]) podem trazer benefícios como satisfação do
trabalhador e maior produtividade. Economicamente, isso pode
trazer benefícios como custos mais baixos, levando em conta que
sistemas mais fáceis de usar requerem menos treinamento.
4. RESULTADOS
Nesta seção são apresentados os passos e processos adotados para
o desenvolvimento do guia de boas práticas para desenvolvimento
de interfaces para a plataforma Android. Para isso optou-se em
realizar uma comparação entre as recomendações da Apple
realizadas no “iOS Human Interface Guidelines” [9] e as
recomendações da Google no “Android Design” [12]. No guia [9],
são apresentados conceitos básicos de UI Design, estratégias de
design, tecnologias do Sistema iOS, elementos de UI, entre outros.
O guia [12] apresenta princípios básicos de design, materiais para
design, dispositivos, estilos, padrões, entre outros. Cabe dizer que,
houve a preocupação de seguir boas práticas que poderão ser
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








(ii) estratégias de design (); e, (iii) elementos de UI. A User
Interface (UI), ou interface do usuário é a camada na qual o usuário
interage com a aplicação, tudo o que o usuário deseja fazer com a
aplicação, as tarefas que deseja executar, são feitos através de
interações com a interface.
Tabela 1. Classificação e organização do Guia
Classificações
Considerações
básicas de UI
(user interface)
Estratégias de
design
Elementos de
UI
Recomendações



















Conceitos Básicos para Interface
Layout e Adaptatividade
Navegação
Interatividade e Feedback
Animação
Cor e Tipografia
Integridade Estética e Consistência
Manipulação Direta
Metáforas
Barra de Status
Barra de Navegação
Barra de Ferramentas
Botões da Barra de Navegação e barra
de Ferramentas
Barra Tabulada
Barra de Busca
Barra de Escopo
Indicador de Atividade
Selecionador de Data
Paginador
Selecionador
Barra de Progresso
Controle de Recarga
Botão Segmentado
Slider
Stepper
Chaveador
Campo de Texto
Para compor esta interface são utilizados elementos de interface,
em conjunto com padrões para uso dos mesmos, cores e tipografia.
As estratégias de design consistem em vários componentes que são
utilizados para fazer com que a interface contenha os padrões e
elementos necessários para proporcionar uma boa experiência ao
usuário. No entendimento da [9], integridade estética trata de
aspectos da aparência visual de um software aplicada na interação
da sua interface. No entanto, este termo não é comumente utilizado
na literatura, sendo que talvez o termo mais apropriado seria
usabilidade. A Tabela 2 apresenta um exemplo elaborado na
construção do Guia, onde é descrito as recomendações para a
utilização da Barra de status. A norma ISO/IEC 9126-1 [24]
descreve que a usabilidade é composta de subcaracterísticas, sendo:
aprensibilidade, a capacidade do produto de software de possibilitar
que o usuário aprenda por si só a utilizar a aplicação;
operacionalidade, onde o produto dá a possibilidade ao usuário de
operá-lo e controlá-lo; inteligibilidade, sendo a capacidade do
software possibilitar o usuário de compreender se ele é apropriado
para o seu uso; e atratividade, o quanto o software é atraente ao
usuário.
Tabela 2. Elemento de Interface: Barra de Status (versão de desenvolvimento do guia)
Barra de Status
A Barra de status exibe informações importantes a respeito do dispositivo e do ambiente atual, como por exemplo, porcentagem de bateria,
data e hora ou sinal de comunicação.
IOS
ANDROID
Usada para exibir informações importantes sobre o dispositivo e
o ambiente atual. Ex.: Hora, informações sobre bateria, sinal,
provedor, e outras informações do dispositivo que podem ou não
estar ativadas, como bluetooth ou wifi.
No Android, a barra de status tem basicamente as mesmas
funcionalidades das utilizadas pela Apple (status da bateria,
horário, wi-fi, bluetooth e sinal do celular), com uma diferença
que nela também são exibidas as notificações de aplicativos.
Características
Características







É transparente;
Quando aparece está no topo da tela;
Não deve ser criada uma barra de status customizada, ela
pode ser escondida para mostrar toda a aplicação, mas não
customizada.
Evitar colocar conteúdo atrás da barra de status.
Pensar bem antes de esconder a barra, pois o usuário deverá
sair da aplicação para ver informações que ele poderia ver
diretamente na barra, sendo que ela é transparente, não
precisa necessariamente ser escondida, a não ser para jogos
ou vídeos.

As mesmas características do IOS se aplicam aqui também.
A cor da barra de status deve seguir a cor primária da
aplicação, só que mais forte, seguindo a tonalidade 700 de
variação, podendo também ser transparente dependendo da
aplicação.
A barra de status exibe as notificações de aplicativos
através de ícones, estes que devem ser visualmente simples
evitando detalhes excessivos, facilitando assim com que o
usuário possa diferenciar os ícones que podem ali estar.
Estes ícones devem ser na cor branca com os detalhes
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
que o usuário possa interagir com diferentes partes da aplicação
com a mesma facilidade, e também consiga usar várias aplicações
diferentes com esta mesma facilidade. Uma aplicação consistente
não é uma cópia de outra, mas segue todos os padrões com os quais
os usuários já estão acostumados e confortáveis em interagir, que
são encontrados em outras aplicações, fazendo com que o App
proporcione uma experiência consistente. Por sua vez, são
elementos de interface aqueles que são utilizados para fazer a
interação do usuário com a interface, através dos componentes que
os usuários realizam as tarefas ou atingem o objetivo que desejam
com a App. Estes elementos podem ser botões, barras de tarefas ou
navegações, menus, ícones, etc.
[7] Neto, O. J. M., Usabilidade da Interface de dispositivos
móveis: heurísticas e diretrizes para o design, 2013.
Dissertação de mestrado do Instituto de Ciências
Matemáticas e Computação – ICMC-USP. Disponível em
<http://goo.gl/JftkJi>. Acessado em 17/03/2015
[8] Runija, Pooja, Importance of user interface design for mobile
app success, 2014. Disponível em < https://goo.gl/9PRpbs>.
Acessado em 28/03/2015
[9] Apple, iOS Human Interface Guidelines, 2015. Disponível
em < https://goo.gl/Mmvw4d >. Acessado em 10/05/2015
[10] Woodridge, D., Schneider, M. 2012. O Negócio De Apps
Para IPhone E IPad - Criando E Comercializando Aplicativos
De Sucesso, Elsevier Editora: Rio de Janeiro
5. CONCLUSÃO
[11] Pilone, D., Pilone, T. 2013. Use a Cabeça! Desenvolvendo
para iPhone e iPad, 2 ed., Alta Books: Rio de Janeiro
A partir da revisão bibliográfica, evidenciou-se que Android não
tem um cuidado tão grande em relação à interface e interação, em
contraste ao que acontece à plataforma da Apple. Entende-se que a
utilização deste guia no desenvolvimento de interfaces pode trazer
benefícios tanto para usuários como para desenvolvedores.
Observa-se que os desenvolvedores são beneficiados com
observações e/ou recomendações em diversas características de
qualidade, como também no uso de cada elemento da maneira
correta, permitindo assim também aumentar a produtividade do
desenvolvedor. Os benefícios para o usuário, estão relacionados ao
seguimento dos padrões e boas práticas de design e interface, assim,
apresentando certa qualidade implícita. Por sua vez, uma avaliação
do guia foi realizada utilizando o método GQM (Goal Question
Metrics) de [25], do ponto de vista de um especialista na área de
usabilidade de software. A avaliação demonstrou indícios de
viabilidade de uso do guia no desenvolvimento de aplicativos para
plataforma Android, e recomendações para melhoria da mesma.
Como próximo passo, destaca-se que uma revisão mais sistemática
no guia poderia melhorar as recomendações. Entende-se que
adicionar mais plataformas como o Windows Phone, poderia
contribuir com mais recomendações no guia. Outro ponto que
poderia ser considerado seria a utilização de ilustrações nas
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
contraexemplos poderia melhorar o guia. Também se recomenda a
realização de avaliações, tanto na perspectiva de especialista, como
desenvolvedores e usuários.
[12] Google, Android Design, 2015. Disponível em
<http://goo.gl/Pd5g8>. Acessado em 17/03/2015
[13] Burton, M., Felker, D. 2014. Desenvolvimento de
Aplicativos Android para Leigos, Alta Books: Rio de Janeiro
[14] Falconer, Joel. What Will Android’s New Design Guidelines
Mean for the Platform? 2012. Disponível em <
http://goo.gl/iMnogt>. Acessado em 17/03/2015
[15] David, M., Murman, C., 2014. Designing Apps for Success:
Developing Consistent App Design Practices, Focal Press
[16] Komarov, A., Yermolayev. 2013. Designing For a Maturing
Android, Smashing Magazine. Disponível em
<http://goo.gl/Dse1wg>. Acessado em 17/03/2015
[17] Nunes, I.D., Correia, R.S., 2013. A Importância da
usabilidade no desenvolvimento de aplicativos para
dispositivos móveis. Disponível em <http://goo.gl/Fgt2r5>.
Acessado em 10/05/2015
[18] Unitid, Interaction designers, androidpatterns. Disponível em
<androidpatterns.com>. Acessado em 17/03/2015
[19] Júnior, M. A. P.; Castro, R. de O. 2011. Um estudo de caso
da plataforma Android com Interfaces Adaptativas, Revista
@LUMNI, Vol. 1 n. 1. Disponível em
<http://goo.gl/0DKIlP>. Acessado em 17/03/2015
[20] Rocha, L. C., et al., 2014. Heurísticas para avaliar a
usabilidade de aplicações móveis: estudo de caso para aulas
de campo em Geologia, In TISE 2014
6. REFERÊNCIAS
[1] Pcworld, 1 billion smartphones shiped worldwide in 2013,
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>.
Acessado em 10/05/2015
[2] Smart Insights, Statistics on mobile usage and adoption to
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
10/05/2015
[4] Sebrae, Aplicativos para celulares movem mercado
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
produto – parte 1: modelo de qualidade. Rio de Janeiro, 2003
[5] Pereira, R. S., Costa, C. C., A importância do projeto de
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
Engineering, pp. 528-532, John Wiley & Sons, I
[6] Ellwanger, C., Santos, C. P., Moreira, G. J., Gamificação e
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
Automação de Testes em Sistemas Legados: Um Estudo
de Caso para a Plataforma Flex
Alternative Title: Test Automation on Legacy Systems: A Case
Study for Flex Platform
Augusto Boehme Tepedino Martins
Departamento de Informática e Estatística INE/CTC
Universidade Federal de Santa Catarina
(48) 9973-2889
[email protected]
Jean Carlo Rossa Hauck
Departamento de Informática e Estatística INE/CTC
Universidade Federal de Santa Catarina
(48) 3721-7507
[email protected]
RESUMO
General Terms
A realização de testes demonstra cada vez mais sua importância nas
organizações que desenvolvem software. Realizar testes, no
entanto, é caro e demorado e automatizar testes é uma alternativa
interessante e tecnicamente viável. Sistemas legados comumente
apresentam limitações para a automação de testes e isso ocorre
também em sistemas Web desenvolvidos utilizando a plataforma
Flex. Assim, este trabalho apresenta o desenvolvimento da
automação de testes para plataforma Flex. Casos de teste são
elaborados, uma ferramenta é selecionada, os scripts de teste são
desenvolvidos e executados em um estudo de caso em uma empresa
de desenvolvimento de software. Os resultados observados
apontam indícios de que a automação de que testes pode aumentar
inicialmente os esforços de elaboração dos casos de teste mas
reduzem o tempo de execução, tendendo a gerar benefícios futuros.
Reliability, Verification.
Keywords
Test. Integration. Automation. Flex.
INTRODUÇÃO
Com a tecnologia cada vez mais avançada, muitas pessoas acabam
não observando o quanto os softwares estão envolvidos em suas
vidas, possivelmente porque suas ações são de tal forma
transparentes aos seus usuários que se tornam algo trivial no seu
dia-a-dia.
Com essa dependência atual de softwares em grande parte das
atividades humanas, os produtos de software e o processo de
criação de um software passaram a ser objeto de estudo, mesmo que
um software gratuito venha a ser produzido, não será bem aceito se
não for de fácil manuseio ou se possuir defeitos nas suas
funcionalidades.
Palavras-Chave
Testes. Integração. Automação. Flex.
ABSTRACT
Especificamente falando de aplicativos que rodam na Web,
algumas características esperadas de qualidade, como:
disponibilidade de acesso, desempenho, evolução contínua e
segurança [1]. Entretanto, a qualidade esperada nem sempre é
alcançada. Algumas vezes, produtos de software têm sido entregues
aos clientes
cobrindo apenas os requisitos funcionais
especificados, sem eliminar possíveis erros. Uma das maneiras de
garantir que a qualidade de um produto de software seja atendida,
e que as funcionalidades que o cliente necessita estejam presentes,
é a aplicação de testes de software.
Software testing is increasing its importance in software
development organizations. Performing tests, however, is costly
and time consuming and automate testing is an interesting and
technically viable alternative. Legacy systems often have
limitations for test automation and it occurs on Web systems
developed using the Flex platform. Thus, this work presents the
development of test automation for Flex platform. Test cases are
developed, a tool is selected, test scripts are defined and
implemented in a case study on a software development company.
The observed results indicate initial evidence that test automation
may initially increase the development efforts of the test cases but
reduce the runtime, tending to generate future benefits.
Nesse sentido, a padronizações e a automação de testes destacamse na forma de garantir a qualidade de software. A padronização
dos testes, como por exemplo a documentação sobre casos de
testes, com o passo-a-passo de como o teste deve ser feito, diminui
a chance de variações na forma como os testes são realizados
interfiram nos seus resultados. Já a automação de testes tende a
diminuir a falha humana nos processos de testes. Assim, um grupo
menor de pessoas poderia automatizar alguns tipos de testes que
seriam repetidos toda vez que fosse necessário.
Categories and Subject Descriptors
D.2.5 [Testing and Debugging]
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
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 otherwise,
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.
1
Assim, o presente trabalho apresenta um estudo de caso de
desenvolvimento de automação de testes para a plataforma Flex1
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

com objetivo de reduzir a falha humana e a necessidade de repetir
testes manuais no sistema legado.
R5: Suportar as versões mais recentes dos navegadores:
Firefox, Chrome, Internet Explorer, e Opera;

R6: Suportar testes automatizados em Aplicações Web;

R7: Possuir documentação abrangente;

R8: Ser capaz de utilizar um repositório central para que
múltiplos usuarios possam utilizar os scripts gerados
Após a execução das buscas nas ferramentas de pesquisa indicadas,
foram encontradas as seguintes ferramentas que satisfazem, ao
menos em parte, os requisitos propostos (vide Tabela 1).
Tabela 1. Ferramentas selecionadas
As próximas seções são divididas da seguinte forma: na seção 2 é
apresentado o estado da arte, seguindo da seção 3 onde a
abordagem metodológica deste trabalho é brevemente apresentada;
na seção 4 o estudo de caso é descrito e na seção 5 as conclusões
são apresentadas.
1. ESTADO DA ARTE
Como o presente trabalho trata da automação de testes de uma
aplicação legada sobre a plataforma Flex, este tópico apresenta
relatos na literatura de experiências similares, buscando por
soluções de automação já experimentadas para essa plataforma.
Ferra
menta
Flex-
Assim, a busca por trabalhos similares foi realizada em consulta as
seguintes ferramentas de pesquisa:
Google
(http://www.google.com),
Google
Scholar
(http://scholar.google.com),
Portal
CAPES
(http://wwwperiodicos-capes-govbr.Ez46.periodicos.capes.gov.br/index.php?option=com_phome),
pela facilidade de acesso e relevância como fontes de pesquisa,
procurando envolver tanto referências da literatura quanto
experiências da indústria.
uiSeleni
um2
FlexM
onkey3
Nessas ferramentas de busca, foram utilizadas as seguintes palavras
de busca: “Software”, "Teste automatizado", "Flex" e algumas
variações/complementos: “Automação de testes de software”,
“benefícios de testes automatizados”, “automatização de testes com
Flex”, “Diferenças entre Flex e HTML”. Também foram utilizadas
nas pesquisas as traduções na língua inglesa dos mesmos termos.
Badbo
y4
Sobre os resultados encontrados, para selecionar aqueles mais
pertinentes a esta pesquisa, os seguintes critérios de inclusão foram
utilizados:

Ferramentas de automação de Testes com suporte à
plataforma Flex: pois uma ferramenta para automatizar
testes que não suporta a plataforma Flex, não é relevante
ao trabalho;

Plug-ins de automação de teste para Flex: tendo mesmo
motivo de procura como foi relatado no critério acima;

Relatos de experiência de automação de teste com Flex:
para saber como ferramentas trabalham nesta plataforma
e ter uma melhor decisão sobre o software escolhido
Para apoiar a busca, alguns requisitos de automação de testes para
uma ferramenta legada sobre plataforma Flex foram identificados,
com base: (i) nas características de ferramentas de automação de
testes já previamente identificadas na literatura; (ii) nas
necessidades para automação de testes coletadas por meio de
entrevistas com analistas de testes da empresa desenvolvedora do
software (vide seção 4); e (iii) em entrevista com o gerente de
projetos da empresa desenvolvedora do software; e, especialmente,
(iv) nas limitações técnicas de automação de testes na plataforma
Flex, que impossibilita a utilização de webdrivers por não
manipular html diretamente:




Descrição
Testm
aker5
Sikuli6
Bugbu
ster
Test
Recor
R1: Possuir alguma versão gratuita
R2: Suportar testes automatizados;
R3: Estar atualizada e possuir comunidade ativa;
R4: Suportar testes automatizados sobre Flex;
Extensão da ferramenta
Selenium para a plataforma
Flex, estendendo as
possibilidades de uso do
Selenium Webdriver, e
pode gerar scrpits nas
linguagens Java, C#, Perl,
Ruby, e PHP.
Aplicativo Adobe AIR
gratuito, desenvolvida pela
GorillaLogic que permite
a criação de testes
automatizados em
plataformas AIR e Flex.
Ferramenta de automação
de testes baseada na
interface gráfica do usuário
(GUI - Graphics User
Interface), trabalhando
com a movimentação do
mouse e com um script,
usando de modo
Record/Playback para
tornar ações do usuário em
Scripts.
Ferramenta gratuita que
consegue tornar um script
de teste em um teste
funcional, um teste de
carga, ou um teste de
performance, que cria
scripts em Java, Ruby,
Python, e PHP.
Ferramenta de automações
de teste hibrida, na qual
trabalha tanto com GUI,
como com scripts de
usuário. Interage com a
tela a partir da captura de
imagens, ou regiões,
definidas no script.
Extensão feita para o
Google Chrome,
permitindo a criação de
testes a partir de cliques
feitos na janela do browser
R
R
R
R
R
R
R
R
1
2
3
4
5
6
7
8
+
+
+
+
+
+
-
+
+
+
-
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
?
-
+
-
+
+
+
+
+
+
+
+
+
+
+
?
-
+
+
-
d7
Legenda: +: atende, -: não atende, ?: não foi possível determinar.
2
6
3
7
https://code.google.com/ p/flex-ui-selenium/
https://www.gorillalogic.com/flexmonkey
4
http://www.badboy.com.au/
5 http://www.pushtotest.com/index.php
36
http://www.sikuli.org/
https://bugbuster.com/
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
relação aos requisitos propostos. Após essa avaliação, a ferramenta
que melhor atendeu os requisitos foi a ferramenta Sikuli, que cobriu
todos os requisitos definidos.
automação) e dois testadores (graduandos de Ciências da
Computação)
3.2 Preparação
A coleta de dados corresponde ao conjunto das operações, através
das quais o modelo de análise é submetido ao teste dos fatos e
confrontado com dados observáveis [3]. Como a principal pergunta
de pesquisa do presente trabalho consiste em: "Seria possível
automatizar testes para um software Flex de forma a reduzir o
esforço, tempo e retrabalho, tomando por base uma ferramenta já
existente para modelagem e automatização de testes?", os seguintes
dados foram planejados para serem coletados:

Quantidade de pontos de caso de uso;

Quantidade de erros encontrados na execução dos testes
automatizados;

Avaliação subjetiva dos resultados observados pelos
envolvidos na área de testes;

Quantidade de esforço realizado para a elaboração dos
casos de testes automatizados.
2. ABORDAGEM METODOLÓGICA
Nesta seção, são apresentadas as etapas da abordagem
metodológica do presente trabalho.
Segundo [2], pode-se definir um estudo de caso como um estudo
focado de um fenômeno em seu contexto, especialmente quanto
quando os limites entre o fenômeno e o contexto não podem ser
bem definidos. [2] indica também que é compreensível aplicar
estudos de caso às áreas relacionadas à engenharia de software tais
como desenvolvimento, operação e manutenção de software. Cada
uma das etapas é brevemente apresentada na sequência.

Planejamento: objetivos são definidos e o estudo de caso
é planejado;

Preparação: procedimentos e protocolos para coleta de
dados são definidos;

Coleta: execução e coleta de dados do estudo de caso;

Análise: onde os dados coletados são analisados e
extraídas as conclusões;

Relatório: onde os dados analisados são reportados.
A seção 4 a seguir detalha as principais etapas desta pesquisa no
contexto do estudo de caso.
3.3 Execução e coleta de Dados
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
automação seria utilizada.
A ferramenta Sikuli, conforme já apresentado, é uma ferramenta de
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 testes vem da própria forma como ocorre interação na
comunicação humana. Assim, na ferramenta Sikuli, as imagens são
utilizadas como parâmetros, de maneira similar a constantes
declaradas em qualquer linguagem de programação, onde o usuário
pode definir o nome da imagem, o grau de similaridade que procura
na tela, e aonde irá selecionar a tecla quando necessário.
De acordo com [2], é essencial para o sucesso de um estudo de caso
que ele possua um bom planejamento. Assim, no contexto deste
trabalho, o estudo de caso foi planejado onde foram definidos: a
unidade de análise, os métodos utilizados para a coleta de dados,
cronograma, participantes, etc. De forma resumida, o planejamento
do estudo de caso é apresentado na sequência, iniciando pela
definição da unidade de análise.
Para utilizar a ferramenta, foi necessário instalar o Java JDK8.
Entretanto, durante os testes não foi possível integrá-la ao Eclipse9
e utilizar a linguagem Java pois não foi encontrada documentação
que facilitasse a utilização do script com a ferramenta. Assim, os
scripts de teste m implementados em Jython10.
3.1 Contextualização do Estudo de Caso
A empresa SPECTO Tecnologia é uma empresa que iniciou suas
atividades no início da década de 90, e vem desenvolvendo
produtos atualmente por meio de três linhas de produtos: CXM
(gestão de atendimento), DCIM (gestão de datacenters), e BMS
(gestão de prédios inteligentes).
O presente estudo de caso é realizado na divisão de gestão de
datacenters (DCIM) da empresa. A DCIM tem como objetivo o
desenvolvimento de produtos de software para monitorar e
controlar o ambiente de datacenters, permitindo por exemplo,
alertar o usuário que um ambiente está com muita fumaça, ou que
um dispositivo de monitoramento foi desconectado, por exemplo.
O sistema utilizado neste estudo de caso é o DataFaz Unity, um
gerenciador de infraestrutura de datacenters, monitorando
parâmetros físicos de ambiente, tais como: umidade, temperatura,
energia, controle de acesso, etc. O sistema utiliza Flex para o
desenvolvimento de sua interface com o usuário e o back end é
desenvolvido em Java, com banco de dados tipicamente utilizado
sendo PostgreSQL.
Neste estudo de caso são envolvidos os membros das equipes
responsáveis pelos testes do sistema DataFaz Unity (membros da
equipe de garantia de qualidade de produto), sendo três analistas de
testes (dois formados em ciências da computação e um em
Com a ferramenta instalada e pronta para executar os testes de
forma automatizada, foi preparado o ambiente com as demais
ferramentas necessárias e realizada a criação dos scripts de
automação de testes. Para efetuar os testes manuais, configurou-se
um computador para possuir o sistema DataFaz Unity instalado
localmente, e também o software Enterprise Architect11 utilizado
pela empresa para documentar a análise e modelagem do software
(para organizar e documentar os casos de uso e os casos de teste
com seus cenários), o PGadmin12 para administração do banco de
dados e recuperação do backup do banco de dados somente
contendo a configuração inicial.
Com esse ambiente instalado, foram elaborados os casos de teste
que seriam realizados tanto manualmente quanto de forma
automatizada, de forma a possibilitar a comparação mais objetiva
dos resultados da automação. Os casos de testes foram
documentados na ferramenta Enterprise Architect, conforme já
citado.
Foram elaborados, ao todo, dez casos de testes completos, cada um
possuindo de três a cinco diferentes cenários, tomando-se por base
8
11
9
12
http://www.oracle.com/technetwork/pt/java/javase/downloads/index.html
http://www.eclipse.org/downloads/
10
http://www.jython.org/
37
http://www.sparxsystems.com.au/products/ea/
http://www.pgadmin.org/
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
de teste foram documentados seguindo as melhores práticas
definidas na norma ISO/IEC/IEEE 29119 [5]. Para cada caso de
teste foi realizada a implementação do seu correspondente em script
de teste automatizado
Da mesma forma, a empresa possui poucos analistas de testes na
unidade organizacional do estudo de caso, fazendo com que os
resultados obtidos fossem escassos, mais analistas trariam mais
respostas, e o resultado da aplicação questionário seria mais
abrangente.
Cada um dos casos de teste foi então executado manualmente por
dois testadores diferentes e cada um dos scripts de teste
automatizado foi executado dez vezes em um mesmo computador.
Ao final dos testes, os analistas de teste e testadores foram
submetidos a um questionário de avaliação, composto de quatro
perguntas utilizando escala Likert de respostas, procurando
identificar as percepções sobre o resultado da aplicação dos testes
automatizados.
Além disso, o autor do trabalho teve participação ativa na execução
do trabalho, e este envolvimento direto pode gerar viés de
interpretação de dados coletados.
4. CONCLUSÕES
Este trabalho apresenta uma experiência de automação de testes em
um sistema legado desenvolvido sobre plataforma Flex. Tendo em
mente as limitações de automação de testes em Flex, foram
analisadas diferentes abordagens de automação. Foi possível notar
que nenhuma ferramenta iria poder automatizar a aplicação em sua
totalidade, então foram criados requisitos para escolher qual
ferramenta seria utilizada no trabalho. A ferramenta Sikuli, que
cobriu a maior parte dos requisitos propostos, foi escolhida.
3.4 Análise dos Resultados
Durante toda a execução dos testes, os dados de duração foram
coletados por meio do registro das tarefas no sistema de gerência
de projetos utilizado pela empresa13. Como resultado, conforme
esperado, foi percebido que o tempo necessário para elaboração dos
testes automatizados e manuais apresentou grande diferença,
devido ao tempo utilizado na elaboração dos Scripts de testes
automatizados, conforme mostra a Tabela 2.
No contexto de um estudo de caso, casos de teste foram elaborados,
sendo implementados scripts de teste na linguagem aceita pelo
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
automatizado
Métricas
Teste Manual
Teste
Automatizado
Elaboração dos casos de teste
Elaboração Scripts de Testes
Automatizados
Tempo médio de execução
Total Duração
05h00min
-
05h00min
07h30min
00h08min
05h08min
00h02min30seg
12h32min30seg
Os dados coletados de esforço e tempo durante a elaboração e
realização dos testes no estudo de caso levantam indícios de que o
ganho de tempo na automação de testes é pequeno inicialmente.
Espera-se, entretanto, que a organização envolvida no estudo de
caso obtenha benefícios diretos com a redução de custos de
retrabalho e aumento de confiabilidade da aplicação com a
execução dos testes automatizados em futuros releases do sistema.
Como trabalhos futuros planeja-se a integração dos testes
automatizados com a ferramenta de documentação e modelagem
dos testes. Além disso, seria importante expandir os casos de teste
automatizados para o restante das funcionalidades do sistema.
Entretanto, conforme também mostra a Tabela 2, o tempo
necessário para execução dos testes automatizados foi
consideravelmente inferior. Espera-se que as futuras execuções dos
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
que participaram do estudo de caso. Também agradecem a
cooperação e interesse da gerência da empresa no estudo de caso.
Além dos dados de tempo de execução, a partir da aplicação do
questionário, foi possível coletar a impressão subjetiva dos
participantes em relação aos resultados da automação de testes no
sistema legado utilizando plataforma Flex.
6. REFERENCES
[1] Pressman, R. S. Engenharia de software: uma abordagem
profissional; Tradução Ariovaldo Griesi e Mario moro
Feccio. 7ª ed. São Paulo: AMGH, 2011.
[2] Runeson, P., and M. Höst. "Guidelines for conducting and
reporting case study research in software engineering."
Empirical Software Engineering 14.2, 2009.
[3] Quivy, R. et al. (1992). Manual de Investigação em Ciências
Sociais. Lisboa: Gradiva.
[4] Yeh, Tom, Chang, Tsung-Hsiang, Miller, Robert C. (2009):
Sikuli: using GUI screenshots for search and automation. In:
Proceedings of the ACM Symposium on User Interface
Software and Technology, 2009, pp. 183-192.
http://doi.acm.org/10.1145/1622176.1622213.
[5] International Organization for Standardization.
ISO/IEC/IEEE 29119. Software Testing Standard. 2010.
[6] Zelkowitz, M. V. “An update to experimental models for
validating computer technology,” J. Syst. Softw., vol. 82, pp.
373–376, 2009.
[7] Yin, R. K. Applications of case study research, vol. 34
Tabela 3 - Resultados do questionário
Questões
Facilidade na compreensão dos testes
Cenários cobriram a funcionalidade proposta
A infraestrutura disponibilizada para o ambiente de
testes foi satisfatória para a execução dos testes
O tempo gasto com teste automatizado diminui
esforços de custo e tempo com execuções repetitivas
Concordam
80%
80%
80%
100%
Conforme pode ser percebido pelas respostas dos participantes, a
automação de testes utilizando a ferramenta Sikuli, atendeu às
expectativas da maioria. Entretanto, foram percebidas
oportunidades de melhoria pela equipe, como por exemplo, a
possibilidade de integração direta com o Eclipse, possibilitando a
implementação dos scripts em Java.
3.4.1 Ameaças à validade
Como tipicamente ocorre em estudos de caso [6] [7], o presente
trabalho somente foi aplicado em um único software de uma única
empresa, não sendo possível desta forma, generalizar seus
resultados a outras empresa e cenários, mesmo que positivos.
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
Análise do uso de técnicas de pré-processamento de
dados em algoritmos para classificação de proteínas
Alternative Title: Analysis of the use of data pre-processing techniques in
algorithms to classification proteins
Lucas Nascimento Vieira
Depto de Informática - Univille
Joinville - SC - Brasil
[email protected]
Luiz Melo Romão
Depto de Informática - Univille
Joinville - SC - Brasil
[email protected]
RESUMO
Categories and Subject Descriptors
Muitos problemas têm sido tratados pela bioinformática, entre estes, se destaca a predição de funções biológicas de proteı́nas. A complexidade deste tipo de aplicação vem da própria estrutura de organização da proteı́na que descreve estas
funções utilizando uma hierarquia estruturada em árvores
ou em grafos acı́clicos dirigidos. A maioria dos classificadores de proteı́nas disponı́veis na literatura utiliza na etapa
de pré-processamento o método de discretização, que tem a
função de transformar os atributos contı́nuos das bases de
dados em intervalos discretos representados por atributos
nominais. Este artigo ilustra a alteração do funcionamento
do algoritmo HLCS-Multi que utiliza o método de discretização, para utilizar valores reais, que permitirá estimativas
mais precisas sobre os resultados.
H.4 [Information Systems]: Miscellaneous
Palavras-Chave
Descoberta do Connhecimento, Mineração de Dados, PréProcessamento
ABSTRACT
Many problems have been dealt with by bioinformatics, among
which stands out the prediction of biological functions of
proteins. The complexity of this type of application comes from the protein organization structure that describes
these functions using a structured hierarchy tree or directed
acyclic graph. Most protein binders available in the literature uses the pre-processing step the discretization method,
which has the function of transforming the continuous attributes of databases in discrete intervals represented by nominal attributes. This article illustrates the change in the
functioning of the HLCS-Multi algorithm that uses the discretization method to use actual values, which will enable
more accurate predictions about the results.
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
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 otherwise, to
republish, to post on servers or to redistribute to lists, requires prior specific
permission and/or a fee.
SBSI 2016, May 17th-20th, 2016, Florianópolis, Santa Catarina, Brazil
Copyright SBC 2016.
39
General Terms
Information Systems
Keywords
Knowledge Discovery, Data Mining, Pre-Processing
1.
INTRODUÇÃO
Muitos problemas têm sido tratados pela bioinformática,
entre estes, se destaca a predição de funções biológicas de
proteı́nas. A complexidade deste tipo de aplicação vem da
própria estrutura de organização da proteı́na que descreve
estas funções utilizando uma hierarquia estruturada em árvores ou em grafos acı́clicos dirigidos.
Devido a essa diversidade de funções, as proteı́nas exercem papel fundamental em quase todos os fenômenos biológicos, como produção de energia, defesa imunológica, contração muscular, atividade neuroquı́mica e reprodução [2]. De
acordo com [4], as proteı́nas podem variar na sua composição, sequência e número de aminoácidos, por isso, é possı́vel
uma enorme variação de sua estrutura e de sua função.
A maioria dos classificadores de proteı́nas disponı́veis na
literatura utiliza na etapa de pré-processamento o método
de discretização ou normalização que podem ocasionar perda
de informação no processo de classificação.
A proposta deste trabalho é desenvolver um algoritmo
para a classificação da função de proteı́nas que possa trabalhar durante todas as etapas da extração do conhecimento
com qualquer tipo de atributo, sendo este numérico ou categórico. Para isso, será utilizado como base o algoritmo
HLCS – Multi (Hierarchical Learning Classifier System Multilabel) proposto em [11] que apresenta um modelo global
hierárquico multirrótulo para a predição de problemas hierárquicos, mas que utiliza o método de discretização na
etapa de pré-processamento
Além desta seção introdutória, o artigo foi dividido nas
seguintes seções. A fundamentação teórica dos conceitos
principais utilizados no trabalho. Em seguida é relatada as
caracterı́sticas do algoritmo HLCS – Multi e as alterações
propostas para este projeto. Finalizando serão mostrados os
resultados alcançados e as considerações finais do trabalho
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016
2.
FUNDAMENTAÇÃO TEÓRICA
A Descoberta de Conhecimento em Banco de Dados (KDD
do inglês, Knowledge Discovery in Database), é um processo
de extração de informações de base de dados, que cria relações de interesse que não são observadas pelos especialistas
no assunto.
O KDD pode ser visto como o processo de descoberta de
padrões e tendências por análise de grandes conjuntos de
dados, tendo como principal etapa o processo de mineração,
consistindo na execução prática de análise e de algoritmos
especı́ficos que, sob limitações de eficiência computacionais
aceitáveis, produz uma relação particular de padrões a partir
de dados. A extração de conhecimento refere-se às etapas
que produzem conhecimentos a partir de dados relacionados, e sua principal caracterı́stica é a extração não-trivial de
informações implicitamente contidas em uma base de dados
[8].
A Figura 1 demonstra de uma maneira simplificada todas
as fases do KDD.
O método de discretização tem a função de transformar os
atributos contı́nuos das bases de dados em intervalos discretos representados por atributos nominais. A discretização
pode ser dividida em duas principais categorias: aprendizagem supervisionada e não supervisionada, que é uma área
de inteligência artificial, cujo o objetivo é desenvolver técnicas computacionais que possibilitem que o sistema tome
decisões baseadas nas experiências acumuladas. Conforme
[11] na discretização supervisionada, existe uma interdependência entre os valores das variáveis e a classe das instâncias
do conjunto de treinamento, já a não supervisionada não
leva em consideração a informação de classes das instâncias
do conjunto de treinamento. De acordo com [6], o objetivo
da discretização é reduzir o número de valores das variáveis
contı́nuas, agrupando as em um número n de intervalos.
A normalização de dados consiste em ajustar os valores de
cada atributo, de forma que os valores fiquem em pequenos
intervalos. É uma série de passos que é seguido para um
projeto de banco de dados, e a execução desses passos irá
permitir a criação de um formato lógico e adequado para as
estruturas dos dados, permitindo o armazenamento consistente e eficiente dos dados.
Entretanto, o uso destas técnicas podem ocasionar em
perda de informações, pois em alguns casos estas técnicas
não consideram a relação entre atributos.
O uso de técnicas de discretização ou normalização podem ser encontrados em diversos trabalhos disponı́veis na
literatura, para a classificação da função de proteı́nas. Os
principais trabalhos identificados, nesta pesquisa foram: [7],
[11], [1] e [5]
3.
Figura 1: Fases do Processo de KDD [8].
O produto esperado da extração de conhecimento é uma
informação relevante para ser utilizada pelos tomadores de
decisão. Este processo leva a descoberta de informações acionáveis em grandes conjuntos de dados à procura de padrões consistentes, como regras de associação ou sequências
temporais, para detectar relacionamentos sistemáticos entre
variáveis, detectando assim novos subconjuntos de dados.
O pré-processamento de dados é frequentemente tido como
sendo uma fase que envolve uma grande quantidade de conhecimento de domı́nio. Entende-se que essa fase depende
da capacidade de analisar os dados e identificar problemas
nos dados presentes. Esta fase de pré-processamento tendese a consumir a maior parte do tempo dedicado no processo de descoberta do conhecimento. Como a necessidade
de apresentar os dados em uma forma apropriada para a
técnica de mineração de dados escolhida, requer toda uma
preparação para a classificação dos dados.
Conforme, [3] esta fase busca-se aprimorar a qualidade
dos dados coletados. Frequentemente, os dados apresentam
diversos problemas, tais como grande quantidade de valores desconhecidos, ruı́do (atributos com valores incorretos),
atributos de baixo valor preditivo, grande desproporção entre o número de exemplos de cada classe, entre outros.
Entre as técnicas utilizadas na fase de pré-processamento
de dados pode se citar o uso de técnicas de discretização e
normalização, que são técnicas que transformam atributos
de dados contı́nuos, em valores categóricos.
40
ALGORITMO HLCS MULTI
Conforme [11], o algoritmo Hierarchical Learning Classifier System Multilabel (HLCS – Multi), apresenta uma solução global hierárquica multirrótulo para a classificação da
função de proteı́nas respeitando a hierarquia das classes em
todas as fases de desenvolvimento do sistema. É desenvolvido especificamente para trabalhar com bases hierárquicas
e utiliza como modelo de desenvolvimento os Sistemas Classificadores (LCS), que é um método que gera seus resultados
em um conjunto de regras no formato SE-ENTÃO, que são
representações, de acordo com [9] mais compreensı́veis do
que outros modelos como redes neurais, máquinas de vetor
de suporte entre outros. O HLCS – Multi é o primeiro modelo baseado em Sistemas Classificadores para a predição de
problemas hierárquicos multirrótulo.
Para trabalhar com dados hierárquicos, o HLCS – Multi
apresenta um componente especı́fico para esta tarefa que é
o componente de avaliação dos classificadores. Este componente tem a função de analisar as predições dos classificadores considerando a hierarquia das classes. Além do
componente de avaliação, a arquitetura HLCS – Multi consiste dos seguintes módulos: população de classificadores,
componente AG, componente de desempenho e componente
de cessão de créditos, que interagem entre si.
Em geral, o sistema HLCS – Multi cria sua população de
classificadores através da análise dos exemplos do ambiente,
que representam os dados de treinamento. A medida que o
HLCS – Multi interage com o ambiente, por meio dos componentes de desempenho e cessão de créditos, os classificadores
são avaliados e recebem um retorno na forma de uma recompensa que impulsiona o processo de aprendizagem. Este
processo de aprendizagem tem a intervenção do componente
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
as predições do sistema conforme a sua hierarquia. No fim
desta etapa, os classificadores passam por um mecanismo de
evolução através do componente AG, que utiliza algoritmos
genéticos como base para a melhoria do conhecimento atual
do sistema.
A questão multirrótulo é trabalhada durante todas as etapas de treinamento e teste do modelo por meio de um processo de decomposição das instâncias e na forma de análise
das predições.
4.
SOLUÇÃO PROPOSTA
A solução proposta neste artigo é chamada de HLCS –
MultiND (Hierarchical Learning Classifier System Multilabel No Discretizate). Baseada no algoritmo HLCS – Multi,
esta versão tem como diferencial a possibilidade de trabalhar durante todas as etapas da extração do conhecimento
com qualquer tipo de atributo, sendo este numérico ou categórico. Para isso foi realizada uma mudança no algoritmo
HLCS – Multi permitindo que as regras geradas pelo classificador possam criar condições de intervalos entre os atributos.
A primeira função do sistema é criar uma população inicial
de classificadores, através de uma análise feita nas instâncias da base de treinamento de tamanho N, que representa
a fonte de dados do sistema. Para formar cada classificador da população inicial, o algoritmo escolhe aleatoriamente
uma instância da base de treinamento como modelo. Cada
atributo da instância de treinamento será criado uma condição no classificador. Está instância será definida por uma
condição que receberá como parâmetro OP, VL, A/I, sendo:
• OP: operador de relação (=, <= ou >=)
lista de regras iniciais. Está lista de mı́nimo e máximo é
criada após a leitura da base de dados, e a cada geração
de regra inicial, assim evitando a necessidade de ler a lista
de regras novamente e aumentando a performance. Para a
medição da performance foi implementado métodos que registraram o tempo inicial da execução e tempo final, os quais
são relatados no fim do processo.
Além das regras já listadas, também foi alterado o algoritmo para sempre gerar uma nova população inicial, sempre
que não for identificada uma lista de regras iniciais para o
grupo corrente de atributos e valores que estão sendo processados. Com essas alterações foi possı́vel trabalhar durante
todas as etapas da extração do conhecimento com qualquer
tipo de atributo, possibilitando a execução do algoritmo em
bases com atributos nominais e contı́nuos, descartando a necessidade de utilizar o método de discretização, tornando o
algoritmo mais eficaz e compreensı́vel o bastante para que
os pesquisadores consigam analisar e confiar nas predições
recebidas.
5.
ANÁLISE DE DADOS E DISCUSSÃO DOS
RESULTADOS
A fim de demonstrar os resultados obtidos com o HLCS
– MultiND o algoritmo foi comparado com os resultados da
versão HLCS – Multi publicados em [12]. Os experimentos
foram realizados em três conjuntos de dados de funções de
proteı́nas, Cellcycle, Church e Derisi que foram utilizados
em [13] e estão disponı́veis em (http://dtai. cs. kuleuven.be
/clus /hmcdatasets). Estas bases contêm informações de
classes baseadas nos termos da Ontologia Gênica (GO) e
são organizadas em uma estrutura em forma de um DAG.
A Tabela 1 apresenta os detalhes das bases utilizadas nesta
experiência.
• VL: valor da condição
• A/I: opção de ativa (A) ou inativa (I) da condição, que
significa se a condição será utilizada na classificação ou
não.
No inı́cio as condições começam com o operador de relação
(OP) “= ou <= ou =>” a escolha dos operadores de comparação ocorre de forma randômica. O valor da condição (VL)
recebe o valor do atributo da instância em treinamento e
aletoriamente, de acordo com a probabilidade definida nas
configurações iniciais do algoritmo, é decidido se a condição
ficará ativa (A) ou inativa (I).
Conforme relatado anteriormente, esta versão tem como
diferencial a possibilidade de trabalhar com qualquer tipo
de atributo, sendo este numérico ou categórico, possibilitando a leitura de bases com valores nominais e contı́nuos.
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, assim tornando possı́vel o processo de “parser” dos valores, que
possibilitou determinar sua estrutura gramatical, evitando a
necessidade de realizar a discretização na base. Na geração
de regras iniciais passou a utilizar o método de operadores randômicos, o qual pode retornar os operadores igual
=, maior igual >= e menor igual <=, que foi modificado
para contemplar mais operadores. Com essas modificações,
tornou-se necessário criar condições randômicas para as variáveis também, onde é resgatado um valor aleatório dentro
de um intervalo de mı́nimo e máximo retirado da primeira
41
Tabela 1: Resumo dos conjuntos de dados utilizados no experimento. A primeira coluna (’Base
de dados’) define o nome da base de dados, a segunda coluna (’Trein.’) define o número de exemplos de treinamento, a terceira coluna (’Teste’) define o número de exemplos de teste, a quarta coluna
(’Atrib.’) define o número de atributos de cada base
e a quinta coluna (’Classes’) define o número de classes na classe hierárquica.
Base de Dados
Cellcycle
Church
Derisi
Trein.
2473
1627
2447
Teste
1278
1278
1272
Atrib.
77
27
63
Classes
4126
4126
4120
O desempenho dos resultados foi comparado utilizando as
medidas de precisã hierárquica (hP), revocação hierárquica
(hR) e Medida-hF (hF) proposto em [10]. Este método segue
o padrão das conhecidas medidas de Revocação, Precisão
e Medida – F, com as seguintes alterações: cada exemplo
pertence não somente a sua classe, mas também a todos os
ancestrais da classe em um gráfico hierárquico, exceto o nó
raiz.
Os experimentos foram realizados utilizando como procedimento o método de validação cruzada fator 10 e os resultados são descritos como valores-médios e desvio padrão.
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016
Tabela 2: Valores das medidas hR, hP e hF obtidas
nos três conjuntos de dados.
Cellcyle
Church
Derisi
Cellcyle
Church
Derisi
HLCS-Multi
hP
hR
0.2611 ± 0.04 0.4209 ± 0.02
0.2259 ± 0.02 0.6183 ± 0.03
0.2948 ± 0.03 0.5655 ± 0.03
HLCS-MultiND
hP
hR
0.2052 ± 0.05 0.1803 ± 0.04
0.2048 ± 0.04 0.1800 ± 0.06
0.2042 ± 0.04 0.1798 ± 0.05
hF
0.3223 ± 0.03
0.3309 ± 0.04
0.3873 ± 0.03
hF
0.1919 ± 0.05
0.1916 ± 0.05
0.1912 ± 0.05
7.
De acordo com os testes, o HLCS – Multi mostrou melhores resultados do que o HLCS – MultiND nas três bases
analisadas. Porém, segundo [9], um fator importante para a
predição da função de proteı́nas, é que o modelo de predição desenvolvido, além de ser eficaz, deve ser compreensı́vel
o bastante para que os pesquisadores consigam analisar e
confiar nas predições recebidas. Sendo assim, a principal
vantagem do modelo HLCS – MultiND com relação a versão HLCS – Multi é a forma com o qual o modelo apresenta
os resultados gerados.
Um exemplo desta diferença pode ser visto na tabela 3.
Como o HLCS – Multi realiza o processo de discretização, as
regras geradas são imprecisas, pois utiliza intervalo de dados como valores dos atributos, dificultando o trabalho dos
pesquisadores. Entretanto no modelo proposto os resultados
são mais especı́ficos e fáceis de serem interpretados.
Tabela 3: Exemplo de Regras geradas pelos Algoritmos
Versão
HLCS – Multi
HLCS - MultiND
6.
cesso de discretização e aumentando o grau de confiabilidade
dos dados.
De acordo com os testes, os resultados apresentados pelo
algoritmo HLCS – Multi, ainda são melhores que os obtidos pelo HLCS – MultiND. Entretanto é importante deixar
claro que as regras criadas pelo algoritmo proposto, são mais
compreensı́veis para que os pesquisadores consigam analisar
e confiar nas predições recebidas. Acredita-se que através
de alguns ajustes neste modelo, é provável que se consiga
resultados parecidos ou até superiores.
Pretende-se também realizar testes com outros tipos de
base de dados para auxiliar no refinamento do algoritmo.
Exemplo Regra
SE cln3-1=(0.041-0.828) e
cln3-2=(-0.228-0.45) e
e...e clb2-2=(-0.528-0.268)
ENTÃO
Proteı́na é da classe GO0005634
SE cln3-1>=-0.828 e
cln3-2<=-0.15 e
e...e clb2-2>=-0.2158
ENTÃO
Proteı́na é da classe GO0005634
CONCLUSÃO
A contribuição dessa pesquisa foi apresentar um estudo
de caso de mineração de dados e o uso de técnicas de préprocessamento de dados em algoritmos de classificação de
proteı́nas, alterando o funcionamento do algoritmo HLCS
– Multi para uma nova versão chamada de HLCS - MultiND (Hierarchical Learning Classifier System Multilabel No
Discretizate). Esta versão foi desenvolvida para trabalhar
durante todas as etapas da extração do conhecimento com
qualquer tipo de atributo, sendo este numérico ou categórico, diminuindo a perda de informação causada pelo pro-
42
REFERÊNCIAS
[1] R. T. Alves, M. R. Delgado, and A. A. Freitas.
Multi-label hierarchical classification of protein
functions with artificial immune systems. pages 1–12,
2008.
[2] P. Balid and G. A. Pollastri. Machine-Learning
Strategy for Protein Analysis. IEEE Intelligent
Systems, 17, 2002.
[3] G. E. A. P. Batista. Pré-processamento de dados em
aprendizado de máquina supervisionado. PhD thesis,
Universidade de São Paulo, 2003.
[4] M. K. Campbell. Bioquı́mica. ArtMed, 2000.
[5] R. Cerri and A. C. P. L. F. Carvalho. New top-down
methods using svms for hierarchical multilabel
classification problems. In International Joint
Conference on Neural Networks, pages 1–8. IEEE,
2010.
[6] K. J. Cios, W. Pedrycz, R. W. Swiniarski, and L. A.
Kurgan. Data Mining: A Knowledge Discovery
Approach. Springer-Verlag New York, Inc., Secaucus,
NJ, USA, 2007.
[7] A. Clare and R. D. King. Predicting gene function in
saccharomyces cerevisiae. Bioinformatics, 19:42–49,
2003.
[8] U. M. Fayyad, G. Piatetsky-Shapiro, P. Smyth, and
R. Uthurusamy, editors. Advances in knowledge
discovery and data mining. American Association for
Artificial Intelligence, Menlo Park, CA, USA, 1996.
[9] A. A. Freitas, D. C. Wieser, and R. Apweiler. On the
importance of comprehensible classification models for
protein function prediction. IEEE/ACM Trans.
Comput. Biol. Bioinformatics, 7(1):172–182, Jan.
2010.
[10] S. Kiritchenko, S. Matwin, and A. F. Famili.
Functional annotation of genes using hierarchical text
categorization. In Proc. of the BioLINK SIG: Linking
Literature, Information and Knowledge for Biology
(held at ISMB-05, 2005.
[11] L. M. Romão. Classificação Global Hierárquica
Multirrotulo da Função de Proteı́nas Utilizando
Sistemas Classificadores. PhD thesis, Pontifı́cia
Universidade Católica do Paraná, 2012.
[12] L. M. Romão and J. C. Nievola. Hierarchical
Multi-label Classification Problems: An LCS
Approach. Advances in Intelligent Systems and
Computing, 373:97–104, 2015.
[13] C. Vens, J. Struyf, L. Schietgat, S. Džeroski, and
H. Blockeel. Decision trees for hierarchical multi-label
classification. Mach. Learn., 73(2):185–214, Nov. 2008.
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016
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
Alternative Title: Development of Data Mining Techniques as
Support for Decision Making in the Hydrological System for
Statistics Production of the Telemetry Stations of the Emergency
Management in Brusque-SC
Jonathan Nau
Pedro Sidnei Zanchett
Wagner Correia
Centro Universitário de Brusque UNIFEBE
Rua Dorval Luz, 123
Brusque – SC - Brasil
[email protected]
Centro Universitário de Brusque UNIFEBE
Rua Dorval Luz, 123
Brusque – SC - Brasil
[email protected]
Centro Universitário de Brusque UNIFEBE
Rua Dorval Luz, 123
Brusque – SC - Brasil
[email protected]
Antonio Eduardo de Barros
Ruano
Marcos Rodrigo Momo
University of Algarve - Faro
Email: [email protected]
UNIFEBE
Rua Dorval Luz, 123
Brusque – SC - Brasil
[email protected]
RESUMO
Palavras-Chave
A quantidade de informação dos sistemas hidrológicos cresce a
cada medição realizada pelas estações. Com um volume tão alto
de informações acaba ficando difícil extrair conhecimento
olhando só os dados. O processo de extração de conhecimento
(KDD) tem o objetivo de auxiliar a extração do conhecimento a
partir de grandes bases de dados. Pensando em facilitar a
extração de conhecimento das grandes bases do sistema
hidrológico elaborou-se este projeto de pesquisa que visa
implantar o processo KDD para geração de estatísticas das
estações de telemetria mantidas pela defesa civil de Brusque –
SC, com base em dados de níveis de chuva e do rio em Brusque
e região oferecendo apoio a decisão estratégica. Através do Data
Mining utilizando-se o modelo cubo de decisão por associação
será possível extrair diversas visões à gestão de negócio,
transformando-se numa ferramenta de ajuda para ganho de
tempo no controle e prevenção à enchentes com antecipação e
segurança à população. A decisão baseada no conhecimento
extraído das grandes bases será mais assertiva, desta forma as
informações passadas para toda a população terá algum grau de
confiança e não precisam mais serem baseadas em inferências
das pessoas que possuem a base de dados em mãos.
Sistema de informação; Processo KDD; Data Mining.
Estatística.
ABSTRACT
The amount of information of hydrological systems grows each
measurement performed by the seasons. With such a high volume
of information ends up being difficult to extract knowledge just
looking at the data. The KDD process is intended to assist the
extraction of knowledge from large databases. Thinking about
facilitating the extraction of knowledge from large bases of the
hydrological system elaborated a work based on the KDD
process in an attempt to mine the data of hydrological systems
and extract knowledge to aid in decision making. A decision
based on knowledge extracted from large databases will be more
assertive in this way the information passed to the entire
population will have some degree of confidence and no longer
need to be based on inferences of the people who have the hands
on the database.
Keywords
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
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 otherwise,
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.
Categories and Subject Descriptors
E.2 Data Storage Representations. G.3 Probability and
Statistics: Statistical software. H. Information Systems: H. 2.8.
Database Applications: Data mining.
43
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016
se definir como problemas as enchentes a ser analisado para uma
correta tomada de decisão. Na segunda fase o passo é realizar a
criação de um conjunto de dados que serão preparados para
posteriormente serem minerados. Utilizar-se-á três dados para a
mineração, que neste caso é o nível do rio, o nível de chuva e a
vazão do rio. Estes três dados serão importantes para a extração
de conhecimento de uma base de dados do sistema hidrológico.
1. INTRODUÇÃO
A cada dia que passa o volume de informação cresce
exponencialmente, obrigando o desenvolvimento de técnicas e
ferramentas que facilitem a busca e manipulação de todos esses
dados armazenados. A mineração de dados é uma tecnologia que
combina métodos tradicionais de análise de dados com algoritmos
sofisticados para processar grandes volumes de dados” [2].
A limpeza e o processamento dos dados serão trabalhados na
terceira fase do processo KDD. Nesta fase serão eliminados
ruídos dos dados que podem afetar a qualidade do conhecimento
extraído da base de dados. Como no sistema hidrológico os dados
são coletados automaticamente pelas estações de coleta, a
possibilidade de haver erros na leitura dos sensores é alta. Os
erros que ocorrem na leitura dos sensores são tratados como
ruídos no processo KDD e podem levar a uma conclusão
precipitada dos padrões identificados, devido a isso os ruídos
precisam ser eliminados. Por exemplo, nos dados armazenados
pela defesa civil de Brusque se possui muitos meses desde 1912
com falhas nas informações históricas coletadas, essas
informações primeiramente precisam ser tratadas para então se
prosseguir.
O sistema hidrológico de Brusque gera muita informação através
das estações de telemetria que se localizam ao longo do rio Itajaí
Mirim, os sensores das estações captam o volume de chuva e o
nível do rio. Apesar de serem captadas apenas duas variáveis o
volume de informação é gigantesco devido a captura dos dados
ser em questão de minutos.
“Dados de nível de rios usados para controle de cheias podem
demandar a coleta e transmissão de dados a cada 10 minutos” [3].
Devido à grande quantidade de informação gerada pelas estações
de telemetria da defesa civil de Brusque, é fundamental adotar
técnicas de mineração de dados para identificar padrões e
anomalias que antes passavam despercebidas e que agora podem
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
mostra que em dois horários a estação captou valores acima de
três mil milímetros de chuva, logo depois o nível caiu para zero e
o nível do rio não teve alteração em nenhum momento. Estes
ruídos vão precisar ser corrigidos pois afetam diretamente na
extração de conhecimento da base de dados, apenas esses dois
valores causam uma variação enorme no nível de chuva do mês
em questão.
No momento a defesa civil de Brusque, não utiliza base de dados
históricas das estações de telemetria para tomada de decisões e
prestar orientações a sua população. As informações repassadas
são somente dos dados atualizados das estações. Esta pesquisa
teve por objetivo elaborar e aplicar técnicas de mineração de
dados na base de dados histórico da defesa civil para extrair
conhecimento que antes não se dava atenção e que agora podem
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
do processo KDD mais detalhadamente.
Figura 2. Ruído de dados.
Figura 1. Etapas do processo KDD [1]
2.1 ETAPAS DO PROCESSO KDD
Na primeira etapa é definida quais tipos de informação será
extraída de uma base de dados. Para o sistema hidrológico pode-
44
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016

Classificação: Classes de objetos são criadas para agrupar
objetos com características semelhantes. São utilizados
dados sobre o passado de determinada base para encontrar
padrões com valores significativos, aos quais irão levar a
regras sobre o futuro destes objetos.

Clusterização: Os dados heterogêneos são reagrupados em
grupos com características semelhantes, método conhecido
como clustering. A clusterização é a tarefa de segmentar uma
população heterogênea em um número de subgrupos (ou
clusters) mais homogêneos possíveis, de acordo com alguma
medida. O que diferencia a clusterização da classificação é a
não existência de grupos pré-definidos.
No sexto passo será escolhido os algoritmos de mineração de
dados. Os métodos selecionados para serem utilizados no sistema
hidrológico foram algoritmo associação, algoritmo de regressão
linear e algoritmo clusterização.
Descobrir o conhecimento oculto nas grandes bases de dados das
mais diversas organizações, seja de forma automática ou
semiautomática é o objetivo do Data Mining. Trata-se de um
processo da extração de padrões, considerados interessantes e não
corriqueiros, a partir de uma base de dados permitindo de forma
ágil e rápida a tomada de decisões.
Figura 3. Ruído de dados.
A correção dos dados é feita de maneira para acrescentar mais um
campo ao final da tabela, para que na mineração dos dados o
algoritmo saiba quais os dados que estão incorretos. Desta forma
além de eliminar os ruídos é possível treinar também o algoritmo
de forma que ele identifique os novos valores que estão sendo
registrados na base de dados, que com isso é possível garantir a
integridade dos dados e saber quando uma estação está
apresentando defeitos.
Isto vem ao encontro de Cardoso e Machado [4] que definem o
Data Mining como uma técnica que faz parte de uma das etapas
da descoberta de conhecimento em banco de dados. Ela é capaz
de revelar, automaticamente, o conhecimento que está implícito
em grandes quantidades de informações armazenadas nos bancos
de dados de uma organização. Essa técnica pode fazer, entre
outras, uma análise antecipada dos eventos, possibilitando prever
tendências e comportamentos futuros, permitindo aos gestores a
tomada de decisões baseada em fatos e não em suposições.
A quarta fase trata-se da redução e projeção dos dados, é mais
conhecida como transformação dos dados. Os dados precisam ser
armazenados e formatos de forma que os algoritmos consigam ser
aplicados e os dados possam ser minerados. Conforme figura 04
se utilizará apenas uma tabela com alguns campos (somente
números), para facilitar no momento da mineração dos dados. A
tabela vai conter como campos o código da estação de coleta, o
horário que foi realizado a coleta, os valores do nível do rio e das
chuvas.
A mineração de dados começa efetivamente no sétimo passo.
Nesta fase se irá minerar os dados na tentativa de identificar os
padrões de interesse, os interesses são necessários antes de
começar a mineração dos dados. Um interesse seria a previsão do
nível do rio nas horas seguintes, seria interessante também quais
são os meses que o risco de cheias aumenta, relação entre
quantidade chuva e nível do rio.
A tabela 01 demonstra a utilização do algoritmo EM
(expectation–maximization algorithm ou algoritmo de estimação
de máxima) para minerar dados dos níveis da chuva durante os
meses do ano. O algoritmo EM faz parte da técnica de mineração
conhecida como clusterização, o algoritmo é ideal para quando os
dados são realmente incompletos, quando existe perda de um
intervalo de dados na base de dados.
Figura 4. Dados utilizados
A próxima grande etapa é a de mineração dos dados, esta grande
fase é composta por quatro fases menores, que vão desde a
escolha de tarefas de mineração até a consolidação do
conhecimento descoberto por meio da base de dados selecionada
anteriormente.
Tabela 1. Mineração de dados da chuva
Na quinta fase vamos escolher quais serão as tarefas de mineração
que vão ser utilizadas. Nesta etapa se decide qual será o objetivo
dos processos de mineração dos dados, os mais comuns são os de
classificação, regressão e clusterização. No sistema hidrológico
vamos utilizar as três tarefas de mineração.
Segundo autores as três técnicas mais comuns no processo KDD
são:

Associação: Tem por objetivo a combinação de itens
considerados importantes, sendo que a presença de tal item
indica implicitamente na presença de outro item na mesma
transação. Este processo teve como precursor Agrawal, em
1993 [1].
45
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016
Portanto ao utilizar o algoritmo M5RULES se queria criar regras
na tentativa de modelar a forma como se comporta o rio. Na
mineração dos dados se obteve as cinco regras, que serão
exploradas abaixo:
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%]
Figura 5. Primeira regra.
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
dividir os dados em três cluster, cada cluster representa uma
massa de dados. O cluster 1 por exemplo representa apenas 2%
dos dados analisados, que correspondem a dezesseis meses em
que a precipitação de chuva chegou em aproximadamente 112
milímetros de chuva, com desvio padrão de 19 milímetros. Nele
ainda se observa que alguns meses tiveram mais ocorrência que
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
vez no cluster 2 temos uma média de 63 milímetros de
precipitação da chuva, este cluster possui um percentual de
ocorrência no valor de 30% e são destaques os meses de fevereiro,
março, setembro e dezembro. Por fim a precipitação que mais
ocorre em Brusque com 68% de ocorrência fica na média de 29
milímetros, com os meses de maio a agosto em destaque.
Figura 6. Segunda regra;
IF
Nível do rio em Botuverá <= 1.846
THEN
Nível do rio em Brusque =
0.0203 * Nível do rio em Botuverá
+ 1.4469 [192/55.59%]
Figura 7. Terceira regra
IF
Nível do rio em Botuverá <= 2.793
THEN
Nível do rio em Brusque =
-0.003 * Acumulado de chuva em Botuverá
- 0.121 * Nível do rio em Botuverá
+ 1.8809 [57/54.89%]
Esses dados mostram quais as possíveis eventualidades que
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
ficar em torno de 19 a 49 milímetros, pois sua a ocorrência dessa
media para esse mês é muito maior do que para as demais medias.
Figura 8. Quarta regra.
Nível do rio em Brusque =
- 0.0254 * Acumulado de chuva em Botuverá
+ 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
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 dia, já na estação de Brusque foi apenas utilizado a média do rio
no dia.
Figura 9. Quinta regra.
O nono e último passo é a consolidação do conhecimento
descoberto. Nesta fase irá incorporar os resultados nos sistemas,
nas documentações necessárias e nos relatórios para quem se
interessar. Neste ponto também se faz aferições de conflitos e a
resolução dos mesmos por meio do conhecimento extraído.
O algoritmo funciona da seguinte forma: uma árvore de
aprendizado é aplicada sobre todo o conjunto de treinamento e
uma árvore podada é aprendida. Em seguida, a melhor
ramificação (de acordo com alguma heurística) gera uma regra e
a árvore é descartada. Todas as instâncias cobertas pela regra são
removidas do conjunto de dados, e o processo é aplicado de modo
recursivo para os exemplos restantes até que todas as instâncias
sejam cobertas por uma ou mais regras. Ao invés de criar uma
única regra de aprendizagem, constrói-se um modelo de árvore
completo em cada fase e faz-se da melhor ramificação uma nova
regra [6].
Para consolidar as regras propostas pelo algoritmo M5RULES é
necessário apenas ter os valores, utilizar as regras para realizar os
cálculos e chegar ao resultado final. Tem-se por exemplo o
seguinte conjunto de dados nível do rio em Botuverá com 0,66
metros, um volume de chuva no valor de 0,00 milímetros e o nível
do rio em Brusque com 1,38 metros. Utilizando a primeira regra
para o conjunto de informações chega-se a o valor aproximado de
1,351428 metros, que fica muito próximo ao valor esperado de
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,
geralmente fica em torno de 80% do trabalho realizado durante a
extração do conhecimento de uma base de dados. As etapas que
foram descritas também podem ser repetidas durante a extração,
apesar de ser apresentado uma sequência para a extração dos
dados a mesma pode ser alterada conforme necessidade, também
é possível voltar para alguma etapa anterior caso seja necessário,
é aconselhável voltar para evitar erros na consolidação do
conhecimento.
[4]. CARDOSO, O. N. P., MACHADO, R. T. M. Gestão do
conhecimento usando data mining: estudo de caso na
Universidade Federal de Lavras. Revista de
Administração Pública. Rio de Janeiro 42(3): 495-528,
Maio/Jun. 2008.
[5] ALBERG, D.; LAST, M.; KANDEL, A. Knowledge
discovery in data streams with regression tree methods,
2011.
[6]. HOLMES, G.; HALL, M.; FRANK, E. Generating Rule
Sets from Model Trees. In: Twelfth Australian Joint
Conference on Artificial Intelligence, 1999.
3. CONCLUSÕES E TRABALHOS
FUTUROS
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
Uma arquitetura de banco de dados distribuído para
armazenar séries temporais provenientes de IoT
Alternative title: A distributed database architecture to store time series from IoT
Fernando Paladini
Federal University of Santa
Catarina
Florianópolis, Brazil
[email protected]
Caique R. Marques
Federal University of Santa
Catarina
Florianópolis, Brazil
[email protected]
Antônio Augusto Fröhlich
Lucas Wanner
UNICAMP
Campinas, Brazil
[email protected]
Federal University of Santa
Catarina
Florianópolis, Brazil
[email protected]
RESUMO
O crescimento das redes de sensores sem fio (WSN) e dos
sistemas de monitoramento de ambientes têm gerado dados
organizados em séries temporais. Bancos de dados relacionais não são ideais para o armazenamento de dados organizados em séries temporais. Como alternativa, apresentamos
uma solução usando um banco de dados distribuı́do especı́fico para séries temporais provenientes de redes de sensores
sem fio. Durante 5 meses um sistema de monitoramento real
coletou e armazenou medições em diferentes grandezas utilizando a arquitetura proposta. A arquitetura mostrou ser
capaz de armazenar milhões de séries temporais, sendo um
ambiente confiável para inserções e consultas; assim abrindo
caminho para análise de dados com ferramentas como o Apache Spark.
Palavras-Chave
Big data; internet of things; database; time series; WSN;
ABSTRACT
The increasing interest in wireless sensor networks (WSN)
and monitoring systems has generating measurements organized as time series. Relational databases are not recommended to store time series data. As an alternative, we propose a solution using a specific distributed database for time
series from wireless sensor network. During five months, a
real monitoring system collected and stored measurements
in different physical quantities using the proposed architecture. The architecture showed to be able to store millions
of time series, being a trustful environment to insertions
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
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 otherwise, to
republish, to post on servers or to redistribute to lists, requires prior specific
permission and/or a fee.
SBSI 2016, May 17th-20th, 2016, Florianópolis, Santa Catarina, Brazil
Copyright SBC 2016.
48
and queries; making possible to analyze data using tools
like Apache Spark.
Categories and Subject Descriptors
C.2.4 [Distributed Systems]: Distributed databases; G.3
[Probability and Statistics]: Time series analysis
Keywords
Big data; internet of things; database; time series; WSN;
1.
INTRODUÇÃO
Com o aumento do interesse em Internet das Coisas (IoT)
e Redes de Sensores Sem Fio (WSN), sistemas de monitoramento de ambientes têm surgido [18, 19, 16] e gerado um
grande número de medições em um curto perı́odo de tempo,
tornando-se importante para áreas relacionadas à indústria
[17] e ao meio ambiente [5]. As medições podem ser feitas sobre diversas grandezas, tais como temperatura, umidade, turbidez da água, consumo de energia, presença, etc..
Embora não seja possı́vel prever que tipos de medições serão realizadas, os dados medidos geralmente são organizados como séries temporais (time series), que são sequências
de observações sobre uma grandeza realizadas ao longo do
tempo. Como os sensores realizam medições periódicas em
intervalos de tempo que podem variar de milissegundos até
dias (de acordo com o ambiente), vários dados podem ser
gerados todos os dias. Banco de dados relacionais tradicionais baseados em arquitetura scale-up e SQL, tais como
MySQL e PostgreSQL, não escalam bem com as séries temporais geradas por essas plataformas de monitoramento [2]
por oferecerem recursos que não são otimizados para séries
temporais. Por exemplo, uma vez que dados de séries temporais são observações realizadas em um determinado instante
de tempo, não é necessário modificar valores passados, desta
forma, utilizar um banco de dados que suporta operações de
alteração de valores (update) é desnecessário.
Para solucionar o problema de escalabilidade para suportar melhor o armazenamento de séries temporais provenientes de redes de sensores sem fio é proposto um banco de
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016
Figura 1: Funcionamento do sistema de monitoramento.
dados distribuı́do especı́fico para séries temporais.
A seção 2 apresenta uma análise sucinta do ambiente utilizado na coleta das séries temporais; a seção 3 descreve a
arquitetura utilizada; a seção 4 mostra alguns resultados que
puderam ser observados a partir da arquitetura utilizada e,
por fim, a seção 5 apresenta as conclusões obtidas através
da arquitetura apresentada para o problema descrito.
Tabela 1: Tipos de sensores do Smart Solar Building.
Variável
Unidade
Presença
Booleano (1 ou 0)
Temperatura
Graus Celsius (◦ C)
Luminosidade
Luminosidade (%)
Ar condicionado
Watts (W)
Consumo das tomadas
Watts (W)
2. ANÁLISE DO AMBIENTE
O prédio Smart Solar Building, da Universidade Federal
de Santa Catarina (UFSC), possui 31 sensores EPOSMote[4]
que somados observam 5 grandezas (temperatura, luminosidade, presença, consumo das tomadas e consumo dos ar
condicionados) e são responsáveis pelo monitoramento e automação das instalações. A coleta de dados realizada por
esses sensores tem como objetivo: (a) o monitoramento e
a supervisão do prédio; e (b) posterior análise dos dados
mensurados afim de criar uma automação inteligente para o
prédio.
Utilizando o sistema operacional EPOS[3] e o protocolo
TSTP[15], os EPOSMote reportam as medições realizadas
para um gateway, que tem como função se comunicar com
um software SCADA (responsável pelo monitoramento e supervisão dos sensores) e também enviar as medições para um
banco de dados, onde uma futura mineração e análise de dados poderá ser realizada. Uma visão geral do funcionamento
do sistema de monitoramento pode ser visto na Figura 1.
Cada grandeza é medida por um sensor em intervalos de
tempo que variam de 1 a 60 segundos, o que significa que
os 31 sensores no Smart Solar Building podem gerar cerca
de 110 mil medições em apenas 1 hora de observação. De
maneira similar, algumas dezenas de sensores podem gerar
dezenas de milhões de medições em 1 mês de observação.
Desta forma o banco de dados que armazenará as medições
precisa ser robusto, suportar bilhões de registros e uma ingestão elevada de dados por segundo. Os dados em formato
de série temporal raramente serão atualizados e têm de ter
registros que contenham, no mı́nimo, alguma marcação de
tempo[2]. Com isso, um sistema de gerenciamento de banco
de dados (SGBD) relacional pode possuir diversas operações desnecessárias, oferecendo, por exemplo, as operações
de update, transações entre dados e não armazenando uma
marcação de tempo por padrão (necessitando o uso de ı́ndices especı́ficos). Uma alternativa ao relacional é necessária.
3. ARQUITETURA
A arquitetura do Smart Solar Building começa com a
49
coleta de dados através de uma rede de sensores sem fio
(WSN) composta por EPOSMotes, que se comunicam com
um EPOSMote especı́fico conectado a um computador (ao
qual chamamos de Gateway). O computador possui um servidor que recebe os dados via MODBUS e os estrutura para
serem enviados via HTTP para (1) um software SCADA
(ScadaBR) e (2) um banco de dados. Porém, antes de os
dados chegarem ao banco de dados é necessário realizar algumas conversões de acordo com o tipo de dado recebido
(temperatura, luminosidade, etc.), pois o dado medido normalmente não se encontra na unidade desejada. Essa conversão pode ser feita de duas maneiras: (a) no momento
da medição do dado, utilizando o dispositivo que o mensurou; e (b) em algum momento na cadeia de armazenamento
do dado, utilizando algum computador ou servidor mais robusto. Como operações em ponto flutuante são muito caras
para um dispositivo de Internet das Coisas e estes primam
por economia de energia, escolhemos realizar a conversão
dos dados em algum momento na cadeia de armazenamento
do dado, o que é feito por um programa denominado Lehder
[11]. O Lehder é uma API intermediária entre o Gateway e
o banco de dados, sendo responsável por receber os dados
do Gateway (via HTTP), convertê-los e enviar os dados já
convertidos para o banco de dados.
Devido às caracterı́sticas das séries temporais e os problemas descritos, um banco de dados especı́fico para séries
temporais, distribuı́do e robusto é desejado. Além disso, um
banco de dados que esteja preparado para Big Data também garante a escalabilidade necessária para numerosas e
esparsas redes de sensores sem fio, o que pode ser necessário
de acordo com o ambiente envolvido. Entre as opções de
banco de dados com essas caracterı́sticas estão o InfluxDB
[6], OpenTSDB [13], KairosDB [8], Prometheus [14] e outros
bancos de dados mais recentes e menores, como Warp10 [1],
Newts [12], etc..
Para a nossa arquitetura escolhemos o KairosDB, que consiste de uma interface que utiliza o Apache Cassandra como
banco de dados, otimizando-o para armazenamento de séries
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.
Figura 4: Arquitetura do Smart Solar Building.
temporais. A escolha se deu justamente pelo KairosDB utilizar o Apache Cassandra como banco de dados, que é um dos
mais confiáveis e robustos banco de dados preparados para
Big Data [7]. O KairosDB fornece uma API HTTP para
ingestão e consulta de dados, de forma que a comunicação
com o Lehder é realizada via HTTP.
Uma visão geral da arquitetura descrita do Smart Solar
Building pode ser vista na Figura 4. A tabela 1 mostra os
tipos de sensores (ou variáveis medidas) existentes no Smart
Solar Building.
2015 e o último em 3 de março de 2016. O número de medições realizadas está abaixo do previsto, pois o prédio ainda
está em ambiente de teste, onde erros relacionados à indisponibilidade de rede, às falhas nos sensores, à configuração
do ambiente e na falta de energia criaram intervalos consideráveis de tempo onde nenhuma medição pôde ser realizada.
Um gráfico exibindo quantas medições cada sensor realizou por dia (similar à Figura 2) foi disponibilizado online [9].
É importante notar que cada uma das 7 variáveis da Figura
2 são medidas por um e apenas um sensor, portanto ”Temperatura 1”não é o número de medições de todos os sensores
de temperatura, mas sim o número de medições realizado
por um único sensor. Como é possı́vel observar na Figura 2,
o número de medições realizadas pelos sensores varia consideravelmente, mas em tempos de estabilidade se mantêm
no intervalo de 3 mil a 9 mil medições por dia. Enquanto
isso, a média de medições realizadas por dia ao longo de 5
meses (”Avg”) gira em torno de 5 mil medições por dia. É
possı́vel notar através da Figura 3 (também disponı́vel online [10]) que a ingestão de dados a cada hora não é muito
alta, ficando na média de 302.8 medições por hora.
Alguns problemas de instabilidade no banco de dados foram encontrados durante os meses de teste da arquitetura,
mas todos estavam relacionados a má configuração do Apache Cassandra e limitações fı́sicas, como por exemplo falta
de memória RAM.
5.
4. RESULTADOS
Com o ambiente configurado conforme a arquitetura descrita acima, pudemos armazenar 14.113.192 medições ao
longo de 5 meses de funcionamento do Smart Solar Building,
com o primeiro dado sendo armazenado em 20 de setembro
50
CONCLUSÃO
O crescimento do interesse em Internet das Coisas (IoT) e
Redes de Sensores Sem Fio (WSN) tem se tornado evidente
nos últimos anos e a criação de produtos baseados nessas
tecnologias é inevitável. Bancos de dados relacionais tradicionais não estão preparados para tal cenário, fazendo-se ne-
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016
cessário o uso de bancos de dados especı́ficos para o problema
de armazenamento de dados provenientes de WSN. Com a
arquitetura apresentada foi possı́vel otimizar um problema
de armazenamento de milhões de medições em um banco
de dados distribuı́do e especı́fico para séries temporais. Embora uma elevada ingestão de dados não tenha sido obtida, a
arquitetura se mostrou estável durante as inserções e consultas realizadas (inclusive com testes preliminares utilizando
o Apache Spark para realizar análise dos dados). Concluise, portanto, que a arquitetura proposta pôde suportar um
ambiente onde milhões de medições serão feitas sem grandes
problemas, entretanto maiores testes precisam ser realizados
para descobrir se a arquitetura consegue escalar para bilhões
de medições.
Para trabalhos futuros é pretendido: (1) testar a arquitetura descrita com uma ingestão de dados mais elevada,
podendo chegar a bilhões de medições; (2) integrar a arquitetura com ferramentas de processamento de dados paralelas, tais como Apache Spark, e realizar mineração de dados
sobre os dados coletados; (3) armazenar dados de sensores
utilizando geolocalização ao invés de associar medições com
um sensor especı́fico.
6.
[11]
[12]
[13]
[14]
[15]
[16]
REFERÊNCIAS
[1] C. Data. Site oficial do Warp10.
http://www.warp10.io/. [Online; acessado em
26-Fevereiro-2016].
[2] T. Dunning and E. Friedman. Time Series Databases:
New Ways to Store and Access Data, pages 25–36.
O’Reilly Media, 2014.
[3] A. A. Fröhlich and W. Schröder-Preikschat. EPOS: an
Object-Oriented Operating System. In 2nd ECOOP
Workshop on Object-Orientation and Operating
Systems, volume CSR-99-04 of Chemnitzer
Informatik-Berichte, pages 38–43, Lisbon, Portugal,
June 1999.
[4] A. A. Fröhlich, R. Steiner, and L. M. Rufino. A
Trustful Infrastructure for the Internet of Things
based on EPOSMote. In 9th IEEE International
Conference on Dependable, Autonomic and Secure
Computing, pages 63–68, Sydney, Australia, Dec. 2011.
[5] J. K. Hart and K. Martinez. Environmental sensor
networks: A revolution in the earth system science?
Earth-Science Reviews, 78:177–191, 10 2006.
[6] InfluxData. Site oficial do InfluxDB.
http://influxdata.com/. [Online; acessado em
26-Fevereiro-2016].
[7] T. Ivanov, R. Niemann, S. Izberovic, M. Rosselli,
K. Tolle, and R. V. Zicari. Performance evaluation of
enterprise big data platforms with hibench. In IEEE
Trustcom/BigDataSE/ISPA, pages 120–127, Helsinki,
Finland, August 2015. IEEE.
[8] KairosDB. Site oficial do KairosDB.
http://kairosdb.org/. [Online; acessado em
26-Fevereiro-2016].
[9] LISHA. Contador de medições (dia a dia).
https://iot.lisha.ufsc.br:3000/dashboard/db/
wicsi-contador-de-medicoes-dia-a-dia?from=
1444979068656&to=1457060399999. [Online; acessado
em 23-Março-2016].
[10] LISHA. Contador de medições (hora a hora).
https://iot.lisha.ufsc.br:3000/dashboard/db/
51
[17]
[18]
[19]
wicsi-contador-de-medicoes-hora-a-hora?from=
1456887600000&to=1456973999999. [Online; acessado
em 03-Março-2016].
LISHA. Repositório Git Lehder.
https://gitlab.com/lisha/lehder/. [Online;
acessado em 29-Fevereiro-2016].
Newts. Site oficial do Newts. http://newts.io/.
[Online; acessado em 26-Fevereiro-2016].
OpenTSDB. Site oficial do OpenTSDB.
http://opentsdb.net/. [Online; acessado em
26-Fevereiro-2016].
Prometheus. Site oficial do Prometheus.
http://prometheus.io/. [Online; acessado em
26-Fevereiro-2016].
D. Resner and A. A. Fröhlich. Design Rationale of a
Cross-layer, Trustful Space-Time Protocol for Wireless
Sensor Networks. In 20th IEEE International
Conference on Emerging Technologies and Factory
Automation (ETFA 2015)., pages 1–8, Luxembourg,
Luxembourg, Sept. 2015.
R. Rushikesh and C. M. R. Sivappagari. Development
of iot based vehicular pollution monitoring system. In
International Conference on Green Computing and
Internet of Things (ICGCIoT), pages 779–783. IEEE,
October 2015.
A. Tiwari, P. Ballal, and F. L. Lewis. Energy-efficient
wireless sensor network design and implementation for
condition-based maintenance. ACM Transactions on
Sensor Networks (TOSN), 3, 3 2007.
C. Xiaojun, L. Xianpeng, and X. Peng. Iot-based air
pollution monitoring and forecasting system. In
International Conference on Computer and
Computational Sciences (ICCCS), pages 257–260.
IEEE, January 2015.
J. Zambada, R. Quintero, R. Isijara, R. Galeana, and
L. Santillan. An iot based scholar bus monitoring
system. In IEEE First International Smart Cities
Conference (ISC2), pages 1–6. IEEE, October 2015.
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.
Alternative Title: Utilization and Integration Database Relational
by means of Foreign Tables for utilization in OLAP tools.
Felipe Igawa Moskado, André Menolli, Glauco C. Silva, Ricardo G. Coelho, Luan S. Melo
Universidade Estadual do Norte do Paraná – UENP
Centro de Ciências Tecnológicas
Rod. Br 369 Km 64
[email protected], {menolli,glauco,rgcoelho}@uenp.edu.br,[email protected]
RESUMO
Categories and Subject Descriptors
Os ambientes de Business Intelligence auxiliam os
administradores das empresas a tomarem decisões mais precisas
sobre o seu negócio. Estes ambientes normalmente utilizam o
Data Warehouse que é um banco de dados integrado e voltado à
consulta. No entanto, a implantação de um DW é muito cara e
demorada, sendo um grande obstáculo, principalmente para
pequenas e médias empresas. De forma a tentar minimizar estes
problemas foi proposta a metodologia Agile ROLAP, que visa
auxiliar na utilização de ferramentas OLAP a partir das bases
relacionais das empresas. No entanto, a fim de não utilizar
diretamente a base de dados original e integrar diferentes bases,
propõe-se um mecanismo intermediário que utilize a tecnologia
Foreign Data Wrapper. Assim este trabalho apresenta o
desenvolvimento de plugins para a ferramenta Kettle que auxilie
na criação de Foreign Tables e na integração de dados.
H.2.4 [Database Management]: Systems – Distributed databases.
H.2.7 [Database Management]: Database Administration – data
warehouse and repository.
General Terms
Algorithms, Management, Security.
Keywords
Foreign Data Wrapper, Agile ROLAP, Data Warehouse, Business
Intelligence.
1. INTRODUÇÃO
As empresas com o decorrer do tempo armazenam uma grande
quantidade de informações sobre o seu negócio, e no intuito de
utilizar as informações adquiridas no decorrer do tempo, muitas
fazem uso de ambientes de Business Intelligence (BI). Estes
ambientes de BI auxiliam na análise dos dados de forma eficiente
e na tomada de decisão dos administradores da organização,
facilitando também o conhecimento sobre o seu negócio.
Palavras-Chave
Foreign Data Wrapper, Agile ROLAP, Data Warehouse, Business
Intelligence.
ABSTRACT
The Business Intelligence environments assists the companies
administrators take more accurate decisions about your
businesses. These environments normally use the Data
Warehouse, which is an integrated database and prepared for
query. However, the implementation of a DW is very expensive
and times consuming, and a great obstacle, mainly for small and
medium enterprises. In order to try to minimize these problems
was proposed the Agile ROLAP methodology, which aims to help
in the use of OLAP tools from relational databases of companies.
However, in order to not use directly the original database and
integrate different databases, it is proposed an intermediate
mechanism that uses the Foreign Data Wrapper technology. Thus,
this work presents the development of plugins for Kettle tool that
assists in the creation of Foreign Tables and data integration.
A implementação de BI não é algo trivial, demanda custo e
tempo, pois é necessário um Data Warehouse (DW), que tem
como finalidade armazenar informações relativas às atividades da
organização de forma consolidada. O processo para a criação do
DW geralmente é desenvolvido de modo iterativo, mas mesmo
assim são necessários em média 15 ou mais meses para que o
primeiro módulo entre em produção [1].
Segundo [2], o método Agile ROLAP tem por objetivo permitir a
implantação de forma ágil de ambientes de BI que utilizem bancos
de dados relacionais, e ao mesmo tempo permitam a utilização de
ferramentas OLAP projetadas para ambientes tradicionais por
meio de um servidor ROLAP.
No entanto, é proposto no Agile Rolap, que se utilize um
mecanismo intermediário que permita integrar os dados de
diversas fontes de dados em uma única base, para que se
mantenha o conceito de DW e que possa utilizar ferramentas de
BI projetadas para serem utilizadas em DWs.
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
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
otherwise, 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.
Essa integração deve ocorrer de maneira transparente ao usuário,
de forma a não migrá-los em uma nova base de dados, uma vez
que esse é o conceito de integração utilizado nos DWs. Portanto, é
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
em uma única base de dados PostgreSQL, permitindo
permit
a consulta
desses dados de fontes externas
as por meio da
d utilização da
tecnologia Foreign Data Wrapper (FDW), possibilitando uma
melhor análise em conjunto dos dados [3].

2. REVISÃO
EVISÃO BIBLIOGRÁFICA
Nesta seção são apresentados alguns dos principais conceitos
bases para o desenvolvimento do trabalho.
estão os valores dos atributos na perspectiva
multidimensional na base de dados relacional.
OLAP: São as ferramentas de consulta
Ferramentas OLAP
para os usuários finais.
finai Nesta fase, os dados já foram
mapeados e podem e devem ser visualizados de maneira
simples pelo responsável da tomada de decisão, que são
acessados por meio de um servidor ROLAP.
2.1 AGILE ROLAP
A necessidade de armazenar as informações da empresa e
conseguir fazer uma análise eficiente das mesmas é um fator
muito importante no mercado de hoje, com isso originou-se
originou
o
conceito de DW, que é um depósito de dados que consiste em
armazenar uma grande quantidade
tidade de dados relativa às atividades
de uma empresa. Além de favorecer uma melhor análise de um
grande volume de dadoss por meio de ferramentas OLAP,
facilitando e auxiliando na tomada
omada de decisão das empresas.
Figura 1 - Funcionamento do Agile ROLAP
2.2 FOREIGN DATA WRAPPER
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 [5]. No entanto, como mencionado
anteriormente, o processo de criação de um DW é custosa e
demorada, o que muitas vezes se torna um empecilho para que,
principalmente pequenas e médias empresas o implantem. Dessa
forma foi proposta a metodologia Agile ROLAP,
ROLAP que tem como
intuito mitigar alguns problemas encontrados na implantação de
BI, principalmente diminuindo tempo com o processo de Extract
Transformation Loading (ETL).. Apesar da metodologia não
utilizar o conceito tradicional de DW, consegue-se
consegue
por meio de
seu uso utilizar as ferramentas Online Analytical Processing
(OLAP) disponíveis no mercado.
O FDW é um modelo para escrever um módulo para acessar
dados externos baseado no padrão SQL/MED, este é um padrão
para acessar objetos remotos [6]. A Figura 2 ilustra como é
aplicado este conceito no banco de dados PostgreSQL,
PostgreSQL pois o
esmo oferece um melhor suporte para essa tecnologia.
mesmo
tecnologia A
estrutura é dividida em 3 partes dentro do Sistema Gerenciador de
Banco de Dados (SGBD) são: os Wrappers, os “local” tables, e
as Foreign Tables.
Os Wrappers são drivers que apontam para outros tipos de bancos
de dados, além de existir um para o próprio PostgreSQL. Por
exemplo, na Figura 2 existe um wrapper chamado mysql_fdw,
que automaticamente aponta para um banco de dados MySQL,
pois o PostgreSQL sabe que esse é o driver do MySQL e lá que
estão armazenados os dados originais.
Assim, a metodologia visa diminuir o tempo despendido no
n
processo de ETL, pois não há necessidade de criar uma nova base
de dados. Estima-se
se que mais de 1/3 do custo na elaboração de um
DW se dá no processo de ETL [4]. Isto permite que pequenas
empresas possam usufruir de ferramentas OLAP voltadas para
ambientes de BI tradicionais, proporcionando auxilio na tomada
de decisão do administrador da organização baseado nas
informações geradas,, assim podendo conhecer melhor sobre o seu
negócio
ócio além de competir melhor no mercado
mercado.
As Foreign Tables são cópias da estrutura das tabelas originais da
base de dados de origem. Ass mesmas mantém uma imagem de
tempo real do que está sendo armazenado na tabela original e caso
esta seja modificada é também alterada a Foreign Table. Nestas
tabelas não é possível fazer alterações nos dados, somente
consultas.
O “local” tables ou servidor é onde as Foreign Tables são
ste local pode ser chamado de servidor.
armazenadas. Este
servidor Os
servidores têm como objetivo fazer a conex
conexão com o banco de
dados externo, além de ser o local que armazena as tabelas
desejadas. Um wrapper pode ter vários servidores que apontam
para diferentes bases de dados do mesmo banco de dados.
A Figura 1 mostra como é o funcionamento do Agile ROLAP e a
função de cada etapa apresentada na Figura 1 é descrita a seguir:



Físico: representa bases de dados originais. Os dados
das empresas estão armazenadas em tabelas relacionais.
FDW: Tem como finalidade agrupar todas as
informações da empresa em uma única base de dados.
Estas informações estão armazenadas em formas de
tabelas, porém são mapeamentos para as tabelas
originais que estão armazenadas no Físico. Qua
Quando um
usuário acessa a tabela, o FDW consulta diretamente a
base de origem de forma transparente, assim o usuário
tem a impressão que está acessando a base original, mas
na verdade está consultando
do os dados da base original.
Com isso não tem o risco de qu
que os dados da base
original sejam modificados,, pois o FDW permite apenas
o usuário a fazer consultas.
Schema: é um arquivo conhecido como schema XML.
Esse arquivo realiza o mapeamento dos dados que estão
armazenados na forma relacional, no caso no FDW,
paraa os dados que devem ser mostrados na forma
dimensional. Basicamente esse schema indica onde
Figura 2 - Estrutura do Foreign Data Wrapper
pós ser criado toda a estrutura do FDW, esta tecnologia permite
Após
ao banco de dados PostgreSQL reunir inúmeros dados de
53
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016
diferentes fontes. Ademais, pela possiblidade de se criar vários
servidores, é possível armazenar tabelas com os mesmos dados ou
nome, desde que estejam em servidores distintos, assim
facilitando ainda mais a integração e a análise dos dados.
3. DESENVOLVIMENTO DOS PLUGINS
Com o intuito de reduzir a complexidade e tempo da implantação
de um ambiente de BI utilizando DW, é proposto à utilização da
tecnologia FDW para criar uma base de dados intermediária,
conseguindo agilizar o processo da metodologia Agile ROLAP e
garantindo a integridade dos dados originais. Para tanto, foram
desenvolvidos alguns plugins que permitam definir este processo.
Além disso, mesmo não utilizando uma base de dados
multidimensional e criando um DW, é mantido o conceito de
integridade de dados e o não acesso direto da ferramenta OLAP às
bases de dados originais.
A base de dados intermediária tem a função de buscar os dados
que estão armazenados nas bases de dados da organização, e com
a utilização de Foreign Tables, pode-se criar cópia dessas tabelas
na base de dados intermediária. Estas bases intermediárias não
devem ser confundidas como um DW, pois, o formato dos dados
não é multidimensional, e não ocorre à limpeza e a transformação
dos dados. No entanto, o ambiente de BI utilizará esses dados da
forma com que estão armazenados e organizados. Estas bases são
criadas no SGBD PostgreSQL e foi desenvolvido plugins na
ferramenta Pentaho Data Integration (Kettle), que auxilie em todo
este processo.
Figura 3 - Plugin para criação de Foreign Tables.
Foi escolhida a ferramenta Kettle para implementação dos
plugins, pois assim é possível em um mesmo ambiente utilizar
todos plugins necessários para a implantação completa do Agile
Rolap. Além disso, o Kettle é uma ferramenta que permite a
utilização de plugins para realizar transformações de dados
complexos nos dados que darão origem a um ambiente de BI.
Basta utilizar um conjunto de plugins interligados entre si, além
de facilitar o processo de ETL. O Kettle é uma plataforma de
integração de dados completa, que permite a análise dos dados de
forma precisa, podendo obter os dados de qualquer fonte de dados
e permitindo sua manipulação por meio de componentes visuais,
eliminando assim a codificação e a complexidade na integração
dos dados [7].
Após a base intermediária ser estruturada com as Foreign Tables,
são utilizados três plugins que vão usufruir desses dados
integrados, que são: O tempo, a dimensão e o fato. A Figura 4
mostra como funcionam os plugins citados anteriormente em
conjunto no Kettle.
O plugin dimensão facilita a modelagem da dimensão que será
utilizada no ambiente de BI. Nele os dados são carregados na base
intermediária, ou seja, por meio das Foreign Tables criadas. A
Figura 4 mostra a dimensão Cliente e Produto que utilizam os
dados das Foreign Tables Cliente e Produto, das suas respectivas
bases.
O plugin tempo auxilia a construção de tabelas de tempo que o
ambiente de BI precisa, e por meio deste são geradas novas
tabelas na base de dados intermediária utilizada pelo ambiente de
BI, com o objetivo de permitir uma análise temporal dos dados.
A Figura 3 ilustra a interface do plugin desenvolvido no Kettle. A
tela é composta pela Conexão Destino, Conexão Origem e uma
tabela. A Conexão Destino é responsável por fazer a conexão
SGBD PostgresSQL, o qual o administrador do banco de dados
deverá informar o número da porta, a base de dados e o host onde
foi criado o FDW, além do usuário e senha. Para conseguir ver o
conteúdo do campo “Servers do FDW” é necessário que todos os
campos anteriores estejam preenchidos, assim será mostrado todos
os servidores criados no FDW, diminuindo a chance de erro na
hora de criar a Foreign Table.
O plugin fato auxilia a criação de uma view que atua como o fato
de um modelo dimensional. Como se utiliza diretamente os dados
da base de dados da organização é necessário agrupar as medidas
em uma nova estrutura. Os dados desta view são carregados por
meio das Foreign Tables criadas na base intermediária, assim
fazendo com que o tempo de consulta seja reduzido.
A Conexão Origem faz a conexão com o banco de dados onde
estão armazenadas as tabelas originais, e apenas quando a
conexão com a base de dados original estiver estabelecida o botão
“Obter Tabela” conseguirá ser executado. Este botão por sua vez,
irá abrir uma nova aba para selecionar a tabela que será copiada
para dentro da base intermediária. Por último tem uma aba
chamada “Tabelas” que mostrará quais tabelas foram selecionadas
pelo administrador naquele momento para a criação da Foreign
Table.
Figura 4 - Funcionamento dos plugins fato, dimensão, tempo
no kettle.
54
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016
4. RESULTADOS
5. CONSIDERAÇÕES FINAIS
Além disso, a implantação de ambientes de BI utilizando a própria
base da organização faz com que seja necessária a permissão para
que sejam realizadas modificações na estrutura do banco, o que é
muito indesejável. Assim, é fortemente recomendado que na
utilização do Agile ROLAP seja criada uma base de dados
intermediária, que implementa a função de armazenar os dados
adicionais necessários para implantar o ambiente de BI.
Os resultados do uso desta tecnologia se mostraram satisfatórios
em termos de desempenho, o que mostra que seu uso é viável.
Como principal limitação, no estado em se encontra os plugins,
consegue-se acessar apenas dados de fontes de bases de dados
relacionais, não conseguindo acesso a outros tipos de fontes de
dados.
A fim de verificar se a utilização de bases intermediárias,
implantadas utilizando a tecnologia FDW, é viável em termos de
desempenho se comparado ao DW tradicional, algum testes foram
realizados. O Agile ROLAP não precisa necessariamente de uma
base intermediária para ser implantado, os dados podem ser
acessados diretamente das próprias bases transacionais utilizada
pela organização, no entanto isto dificulta a integração dos dados,
um dos preceitos do DW.
O uso do FDW como base intermediária se mostrou uma
alternativa viável para acessar de forma rápida os dados por meio
de ferramentas OLAP. O uso do FDW permite o acesso aos dados
das bases de origem de forma transparente, e ao mesmo tempo
não modifica esta base, pois caso seja necessário criar novas
tabelas, como as de Tempo, estas são criadas diretamente na base
FDW. Além disso, permite a integração de diferentes bases, um
preceito importante do DW.
Para realizar a comparação de desempenho, foi utilizada uma base
de dados exemplo do Postgres, chamada Pagila. Foram realizados
testes no qual a ferramenta OLAP acessa uma base intermediária
de três formas distintas: os dados do fato em tabela, em view e em
view materializada. Na Figura 5 é possível ver o desempenho
obtido por cada tecnologia.
Figura 6 – Comparação do desempenho entre FDW, DW e
Bases de Origem.
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
2010 5 ed.
Figura 5 – Comparação do desempenho de acesso OLAP a
três tecnologias.
[2] SOUZA, Elielson B., MENOLLI, André L. A., COELHO,
Ricardo G. “Um método Agile ROLAP para implementação
de ambientes de inteligência de negócios”.
Observando a Figura 5, percebe-se que a utilização de fatos em
view tem um tempo de resposta gerado muito superior em relação
à utilização de fatos em tabelas e fatos em views materializadas.
Baseado nas comparações de tempo de resposta foi escolhida à
utilização de fatos em views materializadas para a implementação
método Agile ROLAP no ambiente de BI, pois não haverá
necessidade de reconstruir o objeto quando os dados forem
recarregados.
[3] SAVOV, Svetoslav. “How to use PostgreSQL Foreign Data
Wrappers for external data management”
[4] MENOLLI, André L. A. “A Data Warehouse Architeture in
Layers for Science and Tecnology” Proceedings of the
Eighteenth International Conference on Software
Engineering Knowledge Engineering (SEKE’2006), San
Francisco, CA, USA.
Na Figura 6 é mostrado o desempenho obtido na implantação de
ambientes de BI, utilizando o método Agile ROLAP, por meio de
bases intermediárias usando FDW para obter os dados das bases
transacionais. Nesta Figura, é comparado o desempenho do acesso
aos dados por meio de ferramentas OLAP, quando os dados são
armazenados utilizando a tecnologia FDW em comparação ao
acesso dos dados quando estão armazenados diretamente na
própria base de dados transacionais, e ainda comparando com a
utilização de um DW.
[5] KIMBALL, Ralph., CASERTA, Joe “The Data Warehouse
ETL Toolkit: Practical Techniques for Extracting, Cleaning,
Conforming, and Delivering Data”
[6] AHMED, Ibrar., FAYYAZ, Asif., SHAHZAD, Amjad.
“PostgreSQL Developer’s Guide”.
[7] PENTAHO. “Pentaho: Writing you own Pentaho Data
Integration Plug-in”. Pentaho Community, 2014.
http://wiki.pentaho.com/dislplay/EA/Writing+your+own+Pe
ntaho+Data+Intagration+Plug-in. Acessado em 11 de março
de 2016
Percebe-se que a utilização de base de dados intermediária tem
um desempenho inferior em relação ao método Agile ROLAP, que
utiliza a própria base de dados transacionais da empresa, porém
discrepância não foi tão significativa. Apenas na primeira consulta
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
Marques, Caique R. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Martins, Augusto B.T. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Mello, Leonardo R. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Melo, Luan S. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21, 52
Menolli, André . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21, 52
Momo, Marcos R. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
W
Wanner, Lucas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Z
Zanchett, Pedro S. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5,43
56