Você está na página 1de 66

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) Marcello Thiry (UNIVALI)
Celia Ralha (UNB) Marcelo Morandini (USP)
Christiane Gresse von Wangenheim (UFSC) Maria Inés Castiñeira (UNISUL)
Clodis Boscarioli (UNIOESTE) Mauricio Capobianco Lopes (FURB)
Cristiane Ferreira (UFG) Merisandra Côrtes de Mattos (UNESC)
Daniel Kaster (UEL) Ovidio Felippe da Silva Júnior (UNIVALI)
Elisa Huzita (UEM) Pablo Schoeffel (UDESC)
Ellen Francine Barbosa (ICMC-USP) Renato Bulcão Neto (UFG)
Fabiana Mendes (UnB) Renato Fileto (UFSC)
Fabiane Barreto Vavassori Benitti (UFSC) Roberto Willrich (UFSC)
Fatima Nunes (EACH-USP) Rosângela Penteado (UFSCar)
Iwens Sene Jr (UFG) Vinicius Sebba Patto (UFG)
Jean Hauck (UFSC) Vitório Mazzola (UFSC)
João Porto de Albuquerque (ICMC-USP)
Luanna Lopes Lobato (UFG)

Revisores
Antônio Esteca (USP)
Flávia Horita (USP)
Kalinka Castelo Branco (USP)
Lívia Castro Degrossi (USP)

iv
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016

Realização
INE/UFSC – Departamento de Informática e Estatística/ Universidade Federal de Santa Catarina

Promoção
SBC – Sociedade Brasileira de Computação

Patrocínio
CAPES – Coordenação de Aperfeiçoamento de Pessoal de Nível Superior
CNPq - Conselho Nacional de Desenvolvimento Científico e Tecnológico
FAPESC - Fundação de Amparo à Pesquisa e Inovação do Estado de Santa Catarina
FAPEU - Fundação de Amparo à Pesquisa e Extensão Universitária

Apoio
Centro Tecnológico - UFSC
Pixel Empresa júnior - UFSC

v
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016

Apresentação

A iniciação científica é a base para formar futuros pesquisadores em todas as áreas de conhecimento. Com essa convicção, a

Comissão Especial de Sistemas de Informação da SBC criou o Workshop de Iniciação Científica em Sistemas de Informação

(WICSI). O WICSI é um evento nacional para divulgação de resultados de trabalhos de pesquisa em nível de Graduação na

área de Sistemas de Informação. O objetivo do WICSI é incentivar o desenvolvimento de pesquisas de Iniciação Científica e,

para tanto, busca estimular futuros pesquisadores da comunidade de Sistemas de Informação a apresentar seus trabalhos.

Em 2016, foi realizada a terceira edição do WICSI, contando com 41 artigos submetidos e, destes, 13 foram aprovados

(32%) com rigorosa e competente avaliação realizada pelos revisores. Durante o evento, os artigos aprovados foram apresen-

tados oralmente pelos seus respectivos autores. Os temas tratados nos artigos envolvem o uso de técnicas de computação em

várias áreas de conhecimento ou atuação, tais como: metodologias de desenvolvimento de software, usabilidade, educação,

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 Fed-
eral de Santa Catarina (1987 e 1991) e doutorado em Informática pela Université de Toulouse
III/França (Paul Sabatier) (1996). Ele realizou um estágio pós-doutoral no Laboratoire d’Analyse
et d’Architecture des Systemes, LAAS, França (2005-2006). Atualmente é professor titular da
Universidade Federal de Santa Catarina. Tem experiência na área de Ciência da Computação,
com ênfase em Repositórios Digitais, Web Semântica, Anotações Digitais, Informática na Edu-
cação.

Vinícius Sebba Patto é professor adjunto pelo Instituto de Informática da Universidade Federal
de Goiás. Possui doutorado em Ciência da Computação pelo LIP6 - Laboratoire d’Informatique
de Paris 6 (2010). Possui mestrado em Engenharia de Computação pela Universidade Federal
de Goiás (2005) e graduação em Análise de Sistemas pela Universidade Salgado de Oliveira
(2000). Tem experiência na área de Ciência da Computação e Sistemas de Informação, com
ênfase em Sistemas Inteligentes, atuando principalmente nas seguintes áreas: lógica nebulosa,
sistemas multiagentes, sistemas de suporte a decisão, gerenciamento participativo, modelagem
de dados, simulação, modelagem de sistemas e linguagens de programação.

vii
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016

Artigos Técnicos
ST1 - Aplicações e Aspectos Humanos de SI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Desenvolvimento de um Jogo Digital como Objeto de Aprendizagem em um Curso de Sistemas para Internet . . . . . . . . 1
Alexandre Soares Silva (IFMS), Viviane Andrade da Silva (IFMS)

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) Instituto Federal de Mato Grosso do Sul (IFMS)
R. Treze de Maio, 3086, campus Campo Grande R. Treze de Maio, 3086, campus Campo Grande
Centro, Campo Grande - MS Centro, Campo Grande - MS
+55 (67) 3378-9500 +55 (67) 3378-9500
alexandre.silva@ifms.edu.br viviandrade.as@gmail.com

RESUMO Categories and Subject Descriptors


Devido sua característica lúdica e multidisciplinar, jogos digitais K.3.2 [Computers an Education]: Computer and Information
são utilizados nas mais diversas áreas como ferramentas e objetos Science Education – Information Systems education; K.8.0
de aprendizagem. Este artigo apresenta o desenvolvimento de um [Personal Computing]: General – Games.
jogo digital, planejado para rodar em navegadores web, cujo
conteúdo pretende contribuir para o desenvolvimento do General Terms
raciocínio lógico e habilidades em solucionar problemas de Algorithms, Design
estudantes de um curso Tecnológico de Sistemas para Internet. A
mecânica do jogo exibe, na forma de puzzles interativos, Keywords
problemas aplicados de lógica. Não obstante, sua arquitetura digital games; programing; learning objects; web development
também permite a inserção destes puzzles criados de forma
independente, sem muitas restrições de projeto. Deste modo, o 1.INTRODUÇÃO
jogo é empregado como objeto de aprendizagem onde os Jogos digitais, videojogos ou ainda games, como são mais
estudantes colaboram implementando recursos adicionais comumente chamados, proveem uma forma lúdica de desenvolver
enquanto paralelamente praticam algumas das habilidades determinada tarefa proposta pelo próprio jogo. Para determinado
desejadas pelo curso. grupo de jogos, existe um conjunto de funções comuns entre eles
como, por exemplo, algoritmos de ocultação de superfícies,
Palavras-chave rotinas de renderização, estruturas de dados para representar os
Jogos digitais; programação; objetos de aprendizagem; atores, bibliotecas com funções matemáticas, dentre outros. Este
desenvolvimento web 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
ABSTRACT recursos comuns, além de otimizar o tempo de desenvolvimento e
Because its playful and multidisciplinary aspects, games are used consequentemente os custos.
in several areas as tools and learning objects. This paper presents Do mesmo modo, o projeto e desenvolvimento de um jogo digital
the development of a game designed to run on web browsers por si só possui natureza multidisciplinar pois engloba arte,
which purpose is develop logical thinking and problems solving cultura, processamento gráfico, comunicação via rede,
skills in students of a Systems for the Internet Technology course. armazenamento de informações, engenharia de software,
The game mechanism displays, as interactive puzzles, applied sonorização, dentre outras áreas. Portanto, engloba áreas da
logic problems. Nevertheless, its architecture also allows the computação como computação gráfica, redes de computadores,
addition of independently created puzzles, without many design engenharia de software, métodos numéricos, dentre outras.
constraints. Thus, the game is used as an object of learning, where Levando em consideração esta multidisciplinaridade, em 2012
students collaborate implementing additional features while at the iniciamos um projeto de desenvolvimento de um motor 2D
same time practicing some of the skills demanded by the course. 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
Permission to make digital or hard copies of all or part of intenção era criar um motor com objetivo primariamente didático,
this work for personal or classroom use is granted without sem intenção de competir com os motores já existentes. A ideia
fee provided that copies are not made or distributed for era de utilizá-lo como ferramenta para ensinar o funcionamento
profit or commercial advantage and that copies bear this geral de um motor de jogos partindo de um código muito mais
notice and the full citation on the first page. To copy simples do que os existentes. Os estudantes, neste caso do CST 1
otherwise, or republish, to post on servers or to redistribute em Sistemas para Internet, poderiam modificá-lo, visualizar o
to lists, requires prior specific permission and/or a fee. 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
Curso Superior de Tecnologia

1
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 Figura 2: Uma variação do desafio da travessia de compras
simples, o objetivo dos quebra-cabeças era permitir aos estudantes por um rio com interface arrastar e soltar. A ideia é que o
construir um mapa mental dos tipos mais comuns de problemas de estudante perceba estruturas condicionais que devem ser
lógica encontrados na programação, porém de uma forma mais utilizadas para solucionar o problema.
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).
2.FUNDAMENTAÇÃO TEÓRICA
Segundo o Comitê de Padrões de Tecnologia de Aprendizagem da
Se forem deixados sozinhos em uma mesma margem, o lobo come
IEEE2, um objeto de aprendizagem pode ser caracterizado por uma
a cabra, e a cabra come a maçã. O desafio consiste em atravessar a
entidade, digital ou não, que pode ser usada para aprendizagem,
si mesmo e as suas compras para a margem oposta do rio,
educação ou treinamento [4]. Wiley D. A. [9] dá uma visão mais
deixando cada compra intacta (Figura 2).
próxima dos objetos deste trabalho, definindo um objeto de
Com o amadurecimento do projeto e considerando os relatos dos aprendizagem como qualquer recurso digital que pode ser reusado
próprios estudantes, vimos que a programação dos puzzles do jogo para apoiar a aprendizagem. A ideia principal é quebrar o
despertava mais interesse do que simplesmente jogá-lo. Além conteúdo educacional em pequenos pedaços que possam ser
disso, é possível construí-los utilizando como base o reusados em vários ambientes de aprendizagem, tal qual no
conhecimento adquirido durante o próprio CST em Sistemas para paradigma da programação orientada a objetos.
Internet. Quando finalizado, cada artefato desenvolvido pode ser
Objetos de aprendizagem já são amplamente utilizados nas mais
incluído no jogo completo devido a sua arquitetura desacoplada. A
diversas áreas. Umas dessas áreas é a da programação de
criação de novos desafios para incrementar este jogo é uma
computadores e competências relacionadas. Isso ocorre
alternativa na elaboração de atividades inerentes ao próprio curso
basicamente porque a capacidade cognitiva dos estudantes
como, por exemplo, atividades complementares, trabalhos de
novatos em entender um problema é base fundamental para a
disciplinas de desenvolvimento web ou programação de
leitura e escrita de programas; domínio dos conceitos básicos de
computadores. Vale ressaltar que, mesmo sendo construído
programação é vital para a escrita de um bom programa [8]. Para
colaborativamente pelos estudantes, o jogo não tem como
aprender a programar é necessário o entendimento correto de
pretensão substituir as aulas tradicionais, mas sim atuar como uma
alguns conceitos abstratos, conhecimentos sobre linguagens de
ferramenta alternativa de aprendizagem auxiliando na construção
programação, ferramentas, habilidades de solucionar problemas,
de habilidades previstas pelo projeto pedagógico do curso.
estratégias no planejamento e implementação de um programa.
A Seção 2 apresenta a fundamentação teórica por trás da ideia do Além disso, o maior problema de programadores novatos não é de
projeto. Descrevemos pontos relevantes da metodologia de aprender os conceitos básicos, mas sim aprender como utilizá-los.
desenvolvimento do jogo na Seção 3. Em seguida, na Seção 4, Dois fatores cognitivos apresentam-se como prováveis
relatamos os resultados obtidos até o momento e posteriormente responsáveis por deixar o aprendizado a programar mais difícil –
concluímos este trabalho na Seção 5. 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].
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
Figura 1: Cenário isométrico com desafios. Desafios são chamados jogos sérios, ou jogos educativos; estes por sua vez não
indicados por um sinal: verde se solucionado, amarelo caso possuem a diversão como foco principal, o que em alguns casos,
iniciado mas ainda não solucionado ou vermelho se ainda não pode torná-lo uma atividade entediante. O jogo desenvolvido
foi acessado. durante este projeto tem como principal contribuição a
participação dos estudantes também na sua criação,
2
Institute of Electrical and Electronics Engineers

2
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 Figura 3: Arquitetura básica do projeto do jogo
quebra-cabeças disponíveis. A escolha dos quebra-cabeças é
baseada em desafios de lógica retirados de livros sobre puzzles
clássicos ou aplicados a algoritmos. O objetivo era iniciar a
implantação do jogo e futuramente expandir a ideia para outros Criado o primeiro protótipo, o mesmo foi submetido a apreciação
cursos da área. Nesta etapa, definimos também a arquitetura de alguns estudantes e professores através de apresentações. Isso
básica do projeto: cada fase seria representada por uma página serviu para reavaliar algumas decisões como, por exemplo,
web, em um cenário isométrico, onde haveriam objetos interativos utilizar os mesmos desafios para todos os personagens
e cada um destes objetos poderiam disparar desafios disponíveis, evitando assim comparações de gênero, idade, ou
predeterminados. A escolha pela perspectiva isométrica deu-se características físicas com a dificuldade dos desafios. Reavaliando
pelo fato de ser possível trabalhar com gráficos 2D e as contribuições esperadas, a principal contribuição passou a ser a
posicionamento espacial de forma mais simples do que com possibilidade de encaixar o desenvolvimento dos puzzles como
gráficos 3D, mas ainda sim simulando um aspecto tridimensional. objeto de aprendizagem, pois o interesse era maior em criar
Não obstante, a modelagem tridimensional ocuparia um tempo quebra-cabeças do que jogar. Planejamos então a aplicação de
considerável da equipe e o projeto poderia ter seu escopo alterado. algumas atividades (as quais serão expandidas futuramente):

O passo seguinte foi selecionar um motor para jogos adequado.  Implementação de desafios completos e funcionais
Primando por um motor com caráter mais didático do que (layout, recursos, lógica) como parte de atividades
comercial, optamos pelo motor para jogos 2D desenvolvido complementares do curso.
dentro da própria instituição de ensino por membros do grupo de
 Criação ou melhoria de layouts dos desafios ou telas do
pesquisa NIJOD – Núcleo Interdisciplinar de Pesquisa para Jogos
jogo (desenvolvimento web inicial)
Digitais. Para a implementação da lógica dos desafios e
manipulação das informações sobre os jogadores utilizamos a  Implementação da lógica e persistência de dados no
tecnologia JSP3. Durante o processo, tomamos o cuidado de servidor para os layouts já desenvolvidos.
permitir o desenvolvimento dos quebra-cabeças sem a (desenvolvimento web mais avançado)
obrigatoriedade de conhecer o motor, recursos avançados do
HTML5 ou qualquer outra tecnologia em especial. Assim, bastaria  Implementação de algoritmos para os desafios como
implementar a página web com o desafio e em seguida acoplá-la validação, respostas, contagem de pontos, etc.
ao cenário principal. Este acoplamento funciona através de uma (programação de computadores)
API do próprio jogo que recebe e envia dados no formato JSON4, Da mesma maneira vislumbramos a possibilidade de criar
facilitando a integração. Essa integração não será necessariamente atividades relacionados ao jogo em projetos integradores ou
tarefa de quem implementou o desafio; por exemplo, cada trabalhos em cursos técnicos da área.
estudante pode criar uma parte do puzzle como o layout, a arte, a
lógica em JavaScript, a consulta e gravação das respostas no 4.RESULTADOS
banco de dados ou chamadas dos controladores e assim por A princípio, o objetivo era criar um jogo para incentivar o
diante. A Figura 3 mostra a ideia básica da arquitetura do jogo. O pensamento algorítmico nos estudantes do CST em Sistemas para
projeto do banco de dados responsável por armazenar informações Internet. Entretanto, diante de sugestões da comunidade
sobre jogadores, progressos e desafios foi criado após a definição acadêmica e consequentemente reavaliação dos objetivos, logo
de alguns dos desafios. Desejávamos uma modelagem que percebemos que projeto não permanecerá limitado a cursos
atendesse todos os desafios de forma genérica, fornecendo as superiores, passando a ser considerado também uma boa opção
respostas, dicas, dentre outras informações sem a necessidade de para cursos técnicos da área.
remodelar a base de dados a cada novo desafio criado. Qualquer
que seja o quebra-cabeça, ele pode possuir atributos comuns aos Antes de publicar o primeiro protótipo jogável, optamos por usá-
outros, por exemplo, dicas, resposta, descrição e título. lo como ferramenta em algumas disciplinas do CST em Sistemas
para Internet local. A intenção era de que os estudantes criassem
uma série de desafios para o jogo e em consequência
disponibilizá-los à comunidade interna. Disciplinas como
desenvolvimento web, banco de dados, engenharia de software e
3
linguagem de programação foram as primeiras planejadas. A
Java Server Pages iniciativa foi mais bem recebida do que o jogo em si, mesmo não
4
JSON (JavaScript Object Notation) é um formato de dados leve havendo opiniões negativas sobre o mesmo.
para troca de informações.

3
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016

Em linguagem de programação, um dos trabalhos da disciplina foi 6.REFERÊNCIAS


criar um jogo de dedução de palavras, similar ao clássico jogo da [1] Boyer, K., Buffum, P.S., et. al. 2015. ENGAGE: A Game-
forca. Todos os estudantes frequentes finalizaram o trabalho, o based Learning Environment for Middle School
que é um bom indicativo em relação a motivação. Na área de Computational Thinking. SIGCSE 15 Proceedings of the
desenvolvimento web a atividade foi propor uma layout web para 46th ACM Technical Symposium on Computer Science
um dos diversos problemas disponibilizados pelo professor. Neste Education. Pages 440-440. ACM New York, NY, USA.
caso, houve a participação de aproximadamente 80% da turma, ISBN: 978-1-4503-2966-8.
não sendo tão efetivo. Ao questionar os estudantes, os mesmos DOI=http://dx.doi.org/10.1145/2676723.2691876
alegaram que por causa da grande quantidade de avaliações e
trabalhos no final do semestre priorizaram algumas disciplinas [2] Drake, P., Goadrich, M. 2014. Learn Java in N games.
que precisaram de maior dedicação. SIGCSE 14 Proceedings of the 45th ACM technical
symposium on Computer science education. Pages 748-748.
Ao ser apresentado ao primeiro semestre do curso, houve interesse ACM New York, NY, USA. ISBN: 978-1-4503-2605-6.
de aproximadamente 20 estudantes de um total de 30. DOI=http://dx.doi.org/10.1145/2538862.2539009
Infelizmente, devido a algumas situações atípicas como troca de
[3] Ghannem, A. 2014. Characterization of serious games
professores da disciplina e greve dos servidores as atividades
guided by the educational objectives. TEEM 14 Proceedings
foram interrompidas. Neste meio tempo, dois estudantes do último
of the Second International Conference on Technological
semestre paralelamente desenvolveram desafios completos para o
Ecosystems for Enhancing Multiculturality. Pages 227-233.
jogo, o que os ajudou a pontuar em atividades complementares
ACM New York, NY, USA. ISBN: 978-1-4503-2896-8.
obrigatórias; os desafios destes estudantes foram mais simples,
DOI=http://dx.doi.org/10.1145/2669711.2669904
pois havia um projeto de uma versão do jogo para crianças, com
puzzles menos complexos tais como jogo da memória, caça- [4] IEEE 1484.12.1-2002. 2002. Draft Standard for Learning
palavras, coleta seletiva de lixo, dentre outros (Figura 4). Object Metadata. IEEE Learning Technology Standards
Committee (LTSC).15 July 2002. DOI=
Os próximos passos são expandir a ideia para novas turmas, pois http://standards.ieee.org/findstds/standard/1484.12.1-
até o momento todos os testes foram realizados com uma 2002.html
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
Figura 4: Exemplos de dois desafios desenvolvidos pelos visualization for learning programming. MTDL 11
estudantes como atividades complementares do curso 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.
5.CONCLUSÃO DOI=http://dx.doi.org/10.1145/2072598.2072607
Mesmo atuando sobre uma amostra pequena de estudantes, [8] Matthews, R., Hin, H.S., Choo, K.A. 2009. Multimedia
tivemos alguns resultados interessantes, mas que podem ser learning object to build cognitive understanding in learning
melhorados. Ao contrário de trabalhos tradicionais como introductory programming. MoMM 09 Proceedings of the
implementar um sistema de cadastro, criar um algoritmo sem 7th International Conference on Advances in Mobile
motivação real ou modelar um banco de dados para um e- Computing and Multimedia. Pages 396-400. ACM New
commerce, o desenvolvimento de parte de um jogo cria novas York, NY, USA. 2009. ISBN: 978-1-60558-659-5.
perspectivas: gerar um artefato com caráter mais lúdico e DOI=http://dx.doi.org/10.1145/1821748.1821824
interativo do que as atividades tradicionais além da expectativa de
criar algo para os próprios colegas. [9] Wiley, D.A. 2000. Connecting learning objects to
instructional design theory: A definition, a metaphor, and a
A possibilidade de criar jogos com temas e públicos variados taxonomy. In D. A. Wiley (Ed.), The Instructional Use of
deixou também em aberto uma nova possibilidade: implementar a Learning Objects: Online Version. Utah State University,
ideia em outras áreas do conhecimento; não somente para USA. DOI=http://reusability.org/read/chapters/wiley.doc
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 Centro Universitário de Brusque Centro Universitário de Brusque
momo@unifebe.edu.br pedrozanchett@gmail.com cristianz@unifebe.edu.br

Wagner Correia Christian R. C. de Abreu


Centro Universitário de Brusque Prefeitura Municipal de Blumenau
wagnercorreia@hotmail.com.br crca.com@gmail.com
RESUMO bacia hidrográfica do rio Itajaí-Açú, o histórico das enchentes é
As inundações são fenômenos naturais que vem ocorrendo em bastante extenso devido principalmente ao relevo natural da área
várias partes do mundo. Na região do Vale do Itajaí, na bacia e ao processo de ocupação ao longo dos rios deste vale. Os
hidrográfica do rio Itajaí-Mirim, o histórico das enchentes é primeiros registros de cheias datam de 1852. Na bacia do rio do
extenso. Para minimizar os danos causados por estes eventos, Itajaí-Mirim, as enchentes ocorrem periodicamente até os dias
medidas estruturais de prevenção vêm sendo realizados, tais atuais, sendo a mais recente ocorrida em 2011 quando o nível do
como, a construção de uma barragem. Entretanto, entender a rio alcançou a marca de 13,03 metros no Município de Brusque.
evolução hidrológica destes eventos é de fundamental As inundações situam-se entre os principais tipos de desastres
importância para apoiar as atividades de monitoramento. Neste naturais na nossa região. São comumente deflagradas por chuvas
sentido, este trabalho tem como objetivo desenvolver um rápidas e fortes, chuvas intensas e de longa duração. Estes
modelo hidrológico chuva-vazão, utilizando técnicas de Redes fenômenos podem acontecer em regiões naturais, trazendo
Neurais Artificiais (RNAs) para simular o sistema hidrológico alterações ambientais. Entretanto, também atingem locais
no rio Itajaí-Mirim no Município de Brusque. ocupados pelos seres humanos. Assim, as áreas urbanas, são as
mais delicadas, pois apresentam mais superfícies impermeáveis,
ABSTRACT maior adensamento das construções. Além disso, a conservação
Floods are natural phenomena that have occurred in various do calor e a poluição atmosférica propicia a aceleração dos
parts of the world. In the region of Itajaí Vale, in the basin of the escoamentos, redução do tempo de pico e aumento das vazões
Itajaí-Mirim River the history of flooding is extensive. To das máximas, causando danos cada vez maiores e sendo tratado
minimize the damage caused by these events, structural como desastres. O maior destes desastres nesta região foi de
prevention measures have been carried out, such as the deslizamentos acompanhados de enxurradas e enchentes, que
construction of a dam. However, understanding the hydrological ocorreu em novembro de 2008 com o registro de 24 mortes, 6
evolution of these events is crucial to support the monitoring pessoas desaparecidas, mais de 30.000 pessoas desalojadas ou
activities. In this sense, his work aims to develop a hydrological desabrigadas [3].
rainfall-runoff model, using techniques of the artificial neural
network to simulate the hydrological system in Itajaí-Mirim Na tentativa de monitorar e diminuir os danos causados por
River in the city of Brusque/SC. 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
Categories and Subject Descriptor deste trabalho, está em andamento o projeto para a construção
I. [Computing Methodologies]: I.2. Artificial Intelligence: de uma barragem a montante do Município de Brusque,
I.2.6.Learning: Connectionism and neural nets. localizada em Botuverá. Esta barragem terá a capacidade de
armazenamento do volume de 15.700.000 m³. Desta forma, a
General Terms expectativa é que a vazão máxima do rio Itajaí Mirim, em
Experimentation, Measurement, Verification. 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
Keywords pico de 10,03 metros, baixaria para 8,75 metros. Além disso, a
Modelo Chuva-Vazão; Simulação Hidrológica; Redes Neurais barragem oferecerá potencial de abastecimento de água aos
Artificiais; Hidrometeorologia. municípios de Botuverá, Brusque, Itajaí e Balneário Camboriú.
Em 2012 a Prefeitura Municipal de Brusque mapeou toda a área
1. INTRODUÇÃO do Município e as cotas de inundação por ruas, denominadas de
As enchentes são fenômenos naturais que têm sido registrados Carta-Enchente e a Cota-Enchente, respectivamente. Este
nas diversas partes do mundo e que muitas vezes geram mapeamento de áreas suscetíveis de inundação representa um
expressivos prejuízos ao homem e à natureza. Na região da grande avanço para gestão e controle de cheias, possibilitando o
monitoramento em uma situação de possível ocorrência de
Permission to make digital or hard copies of all or part of this work for
enchente. Recentemente a Defesa Civil de Brusque implantou
personal or classroom use is granted without fee provided that copies are
not made or distributed for profit or commercial advantage and that
um sistema telemétrico para coleta de dados hidrológicos e
copies bear this notice and the full citation on the first page. To copy meteorológicos em vários pontos da bacia do rio Itajaí-Mirim,
otherwise, or republish, to post on servers or to redistribute to lists, possibilitando realizar o monitoramento hidrometeorológico em
requires prior specific permission and/or a fee. SBSI 2016, May 17–20, tempo real. O sistema de telemetria instalado no Município de
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 longo prazo são para tempo de retorno de um evento de cheias,
realizar o monitoramento hidrometeorológico da bacia em relacionados às mudanças climáticas ou eventos cíclicos do tipo
tempo real, e por outro, viabiliza dados que subsidiam as El Niño e La Niña.
pesquisas científicas nas áreas de hidrologia e meteorologia.
A previsão de curto prazo é realizada com horizontes pequenos
Neste sentido, o objetivo deste trabalho é realizar a modelagem
de tempo, variando de minutos até horas (ou dias). Estas
hidrológica baseada em redes neurais artificiais (RNAs), visando
previsões são realizadas postos de medições a montante e dados
simular o comportamento hidrológico do rio Itajaí-Mirins,
de precipitação ocorrida. São as mais utilizadas para controle de
durante as ocorrências de cheias pretéritas. Estas informações
inundações em regiões ribeirinhas [4].
poderão integrar ao conjunto de medidas preventivas que vem
sendo realizadas na bacia ao longo do tempo. Estas medidas têm
o objetivo de minimizar os danos causados pelos eventos de 2.4 Redes Neurais Artificiais (RNA)
cheias. A RNA é um paradigma de aprendizado e processamento
automático inspirado na forma que funciona o sistema cerebral
2. FUNDAMENTAÇÃO TEÓRICA humano. Através de interconexões de neurônios artificiais
colabora para produzir estímulos de saída.
2.1 Modelos hidrológicos
O modelo hidrológico é uma representação simplificada de um Neurônios artificiais são funções matemáticas capazes de
sistema com o objetivo de entendê-lo e encontrar respostas para receber uma série de entradas e emitir uma saída. Basicamente
distintas circunstâncias [10]. Através dos modelos hidrológicos um neurônio artificial da RNA é dado por três funções, são elas:
é possível encontrar respostas (saídas) de uma bacia hidrográfica 1) função de propagação, responsável por realizar a somatória
a partir de informações (entradas). A Figura 1 apresenta a de cada entrada multicamada; 2) função de ativação, que
representação esquemática de um modelo modifica a função anterior, caso a saída seja a mesma função
hidrológico disponibilizada dada na função anterior, neste caso a função de
ativação não existe e 3) função de transferência que relaciona o
sinal de entrada com o sinal de saída da rede neural [5].
As Soluções baseadas em RNA iniciam de um conjunto de
dados de entrada suficientemente significativo com o objetivo
de que a rede aprenda automaticamente as propriedades
desejadas. O processo de adequação dos parâmetros da rede não
é obtido através de programação genérica e sim através do
treinamento neural. Neste sentido, para alcançar a solução
Figura 1: Representação esquemática de um modelo
aceitável para um dado problema, é necessário previamente
hidrológico [8].
adequar um tipo de modelo RNA e realizar a tarefa de pré-
Na modelagem hidrológica são utilizadas ferramentas processamento dos dados, os quais que formarão o conjunto de
matemáticas para representar o comportamento dos principais treinamentos. Estas características permitem a RNA oferecer
elementos que compõe o ciclo hidrológico. Desta forma, o diversas vantagens, tais como, capacidade de aprendizagem,
objetivo é reproduzir os resultados mais próximos possíveis aos auto-organização, tolerância a falhas, flexibilidade e a obtenção
resultados encontrados na natureza. Devida à grande de resultados em tempo real. Redes neurais têm sido utilizadas
complexidade de se representar todos os fenômenos naturais, a com sucesso em vários campos da ciência. Na hidrologia sua
modelagem hidrológica trabalha com simplificações desses aplicabilidade tem feito evoluir a modelagem de sistemas não
fenômenos [8]. lineares[4]. As principais vantagens na utilização da
metodologia de RNA na modelagem de bacias hidrográficas são:
2.2 Modelo Chuva-Vazão a) possibilitam a resolução de problemas complexos e não bem
Na literatura há uma grande quantidade de modelos chuva- definidos; b) podem ser aplicados em sistemas sem soluções
vazão, desde os mais simples, com métodos matemáticos, até os específicas; c) não requerem conhecimento detalhado dos
mais complexos envolvendo modelos conceituais distribuídos processos físicos; d) não potencializam erros de medição; e)
que consideram a variabilidade espacial e tempo de um evento permitem otimizar os dados de entrada e dados de saída; f)
chuvoso, assim como as características da bacia [1]. Com a possibilitam treinamento contínuo da rede; g) baseado em dados
evolução tecnológica, a modelagem chuva-vazão está sendo históricos, permite extrair informação e generalizar respostas
aplicada para resolver situações específicas de como fazer adequadas para cenários diferentes daqueles já ocorridos.
previsões de cheias, melhorando o ajuste dos parâmetros e
avaliando a interligação entre os parâmetros e as características 2.4.1 Arquitetura da RNA
físicas da bacia [8]. A rede neural é formada pelas camadas de entrada,
processamento e saída. Na camada de entrada, são apresentados
Os principais usos destes modelos estão voltados para estudos os dados de entradas da rede, que produzem sinais de saída,
de comportamento de fenômenos hidrológicos, previsão de estas por sua vez, estimularão os neurônios da camada
nível, previsão de cenários de planejamento entre outros [10]. subsequente. Este processo segue até atingir a última camada,
chamada de camada de saída. Vale salientar que as camadas de
2.3 Previsão de nível do rio uma rede neural podem ter um ou vários neurônios por camadas.
A previsão de nível do rio é a estimativa das condições em um Na Figura 2 se ilustra a arquitetura de uma rede neural [5].
determinado tempo específico futuro [1]. A previsão pode ser
classificada em função do intervalo de tempo, como sendo de Para resolver um dado problema, não existe, todavia, uma
curto prazo ou de longo prazo. Alguns exemplos de previsão de solução bem definida para a escolha do número de camadas e de

6
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016

neurônios a serem criados na rede. Se por um lado uma rede 3.3 Área de estudo
muito complexa pode causar um superajustamento (overfiting). A bacia hidrográfica do rio Itajaí-Mirim está localizada na
Por outro lado, a simplicidade excessiva da rede pode não região do Vale do Itajaí entre as latitudes -27°6’2 e longitudes -
conseguir reproduzir o comportamento desejado, mais 48°55’0. O rio Itajaí-Mirim faz parte da bacia do rio Itajaí-Açú,
conhecido como mínimos locais [5]. Para alcançar a melhor que por sua vez, faz parte do sistema de drenagem da vertente
arquitetura da rede neural, para cada configuração devem-se Atlântico. O rio Itajaí-Mirim com a área de drenagem de
realizar simulações e análises de resultados, através das etapas 1.700km² é a maior sub-bacia da bacia de drenagem do rio
de treinamento e testes da rede. Itajaí-Açú, fazendo parte da região hidrográfica do Vale do
Itajaí [6]. Esta bacia engloba um total de nove municípios: Vidal
Ramos, Presidente Nereu, Botuverá, Guabiruba, Brusque,
Gaspar, Ilhota, Camboriú e Itajaí. Suas nascentes encontram-se
na Serra dos Faxinais, a cerca de 1.000 metros de altitude, e
deságua na região estuarina do Itajaí-Açú, tendo o leito
principal, uma extensão aproximada de 170 km. A figura 3
ilustra a área de estudo.

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 Figura 3: Bacia hidrográfica Vale do Itajaí e sub-bacias [7].
opções de configuração dos parâmetros de ajustes da rede
(número de neurônios, número de camadas, algoritmos de
treinamento etc.), foram realizados baterias de simulações para 4. RESULTADOS
encontrar o melhor resultado da RNA; 3-Análise de resultados: No total foram criadas 10 RNAs utilizando as mesmas séries de
com o objetivo de eleger a melhor configuração da RNA, para dados para as fases de treinamento e teste. Nas simulações foram
cada simulação a análise de rendimento da rede, foi baseada no alterados os parâmetros de configuração para cada rede testada.
coeficiente de determinação R². Este coeficiente permite obter o Com base no coeficiente de determinação R², verificou-se que o
ajuste entre o modelo de simulação e os dados observados que melhor rendimento do modelo foi com a seguinte configuração
variam entre 0 e 1. Desta forma, indica em percentagem o da RNA: rede Feed_Forward BackPropagation, com 50
quanto o modelo consegue explicar os valores observados, neurônios, 2 camadas, algoritmo de treinamento TRAINLN,
quanto maior o valor de R² (mais próximo à 1), maior é o camada escondida função TANSIG e de saída função
rendimento do modelo, ou seja, melhor ele se ajusta à amostra. PURELIN. Nesta configuração da RNA obteve um índice de R²
= 0,3686. A figura 4 ilustra o nível observado e o nível simulado
3.2 Dados utilizados pela RNA.
Para a realização deste trabalho, foram utilizados os dados do
nível do rio nos pontos de Brusque e Vidal Ramos, registrados Vale salientar que neste trabalho foram simuladas também as
nas ocorrências de cheias dos seguintes eventos: 09/08/2011, redes neurais recorrentes Elman. Redes recorrentes são
30/08/2011, 14/01/2012, 08/06/2014, 29/09/2014 e 01/10/2014. adequadas para sistemas dinâmicos, entretanto, os resultados
Estes dados são provenientes da rede telemétrica de coleta de obtidos para as mesmas séries de dados foram inadequados para
dados hidrometeorológicos mantida pelo CEOPS/FURB [2]. O o estudo proposto.
ponto de Brusque é o local desejado da previsão de nível, ou Estudos similares ao apresentado aqui, utilizando RNA para
seja, na ponte Estaiada localizada centro da cidade. simulação hidrológica, nos quais mostraram uma eficiência na
utilização desta técnica. Em [11] utilizou técnicas de redes

7
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016

neurais para realizar a previsão de cheias no rio Itajaí-Açú no Finalmente, vale destacar que a aplicabilidade das RNAs para
de Rio do Sul. O melhor desempenho foi com a RNA dom tipo estudos hidrometeorológicos são promissoras, uma vez que
MLP com 9 neurônios na camada oculta. Para analisar a necessitam uma quantidade de dados relativamente pequena,
performance do modelo, foram utilizados três coeficientes quando comparados aos modelos hidrológicos mais sofisticados
estatísticos: Coeficiente de Eficiência de NS (Nash e Sutcliffe), do tipo distribuídos, que consideram a variabilidade espacial nas
RMSE (Root Mean Square Error) e MAPE (Mean Absolute diversas variáveis do modelo, sendo necessário a discretização
Percentage Error), alcançando os valores de 0.9779, 0.0201 e da área, representando um conjunto elevado de parâmetros.
5.625, respectivamente.
No trabalho de [8] apresenta os resultados do modelo de
6. AGRADECIMENTOS
Este trabalho de Iniciação Científica teve o apoio da Secretaria
previsão hidrológica de curto prazo utilizando RNA. Para
verificar o rendimento do modelo, foi aplicado como estatística de Estado da Educação de Santa Catarina, através da concessão
de qualidade o coeficiente de NS e apresentou como o menor de bolsas com recursos do Artigo 170 da Constituição Estadual,
resultado 0,91 e o maior resultado 0,97. para os alunos de graduação regularmente matriculados na
Em [12] apresenta um trabalho utilizando RNA de múltiplas UNIFEBE.
camadas para realizar a previsão de vazão mensal da bacia
hidrográfica do rio Piancó no Estado da Paraíba. A RNA 7. REFERENCIAS
configurada com 15 neurônios na camada intermediária, [1] CORDERO, Ademar; MOMO, Marcos Rodrigo; SEVERO,
utilizando o coeficiente de NS, apresentou um resultado de 0,77. Dirceu Luis. Prevenção de Cheias em Tempo Atual, com
um modelo ARMAX, para a Cidade de Rio do Sul-SC. In:
Simp. Brasileiro de Rec. Hídricos XIX, 2011, Maceió.
[2] CEOPS. Sistema de Alerta da Bacia do Rio Itajaí. 2016.
Disponível em: <www.ceops.furb.br>, Último acesso:
15/03/2016.
[3] Defesa Civil de Brusque. Estações de monitoramento
hidrometeorológico. 2016. Disponível em: <
http://defesacivil.brusque.sc.gov.br/monitoramento.php>,
Último acesso: 15/04/2016.
[4] DORNELLES, Fernando. Previsão contínua de níveis
fluviais com redes neurais utilizando previsão de
precipitação: investigação metodológica da técnica. 2007.
97 p. Dissertação-IPH, UFRGS, Porto Alegre, 2007.
[5] HAYKIN, S. Redes neurais: princípios e prática. 2ª edição,
Figura 4: Simulação hidrológica Observado/Simulado com São Paulo, Bookman, 2001, 900 p.
RNA. [6] HOMECHIN, M. Jr & A.C. BEAUMOR. Caracterização
Este trabalho permitiu obter informações relacionadas à da qualidade das águas do trecho médio do Rio Itajaí-
simulação do processo hidrológico na bacia hidrográfica do rio Mirim, S/C. Anais do VIII Congresso de Ecologia do
Itajaí-Mirim durante um evento de cheias. Estas informações são Brasil, 2007.
de vital importância para entender o clico hidrológico, [7] BACIAS. Bacias Hidrográficas do Brasil. GEO-Conceição.
objetivando prever com antecedência a subida do nível do rio e Disponível em:
apoiar no monitoramento hidrológico em situações de eventos <http://geoconceicao.blogspot.com.br/2011/08/bacias-
de cheias. O serviço de monitoramento hidrometeorológico do hidrograficas-do-brasil.html.>, Último acesso: 15/04/2016.
Município de Brusque atende de forma direta ou indiretamente, [8] MATOS, Alex Bortolon de. Efeito do controle de montante
uma população de cerca de 100 mil habitantes. Desta forma, na previsão hidrológica de curto prazo com redes neurais:
estas informações poderão ser integrados ao Sistema de aplicação à bacia do Ijuí. 2012.75 f. Dissertação (Mestrado
Informação da Defesa Civil de Brusque para apoiar na tomada em Recursos Hídricos e Saneamento Ambiental) –
de decisão em situações iminentes às enchentes. Por outro lado, PPRHSA, UFRGS, 2012.
a continuidade destes estudos viabilizará a geração de novos
conhecimentos hidrológicos da bacia e o fortalecimento da [9] TOOLBOX S. I., The MathWorks - MatLab and
parceria entre a Defesa Civil municipal, UNIFEBE e a Simulation, T. MathWorks, Editor. 2016. Disponível em:
comunidade acadêmica em geral. www.mathworks.com. Último acesso: 15/03/2016.
[10] TUCCI, C.E.M., Modelos hidrológicos, Porto Alegre,
5. CONCLUSÃO UFRS/ABRH, 1998, 668 p.
Com base nestes resultados, verifica-se a necessidade de realizar [11] SOARES, D. G.; TEIVE, R.. C. G. Previsão de Cheias do
um levantamento de uma maior quantidade de dados Rio Itajaí-Açu Utilizando Redes Neurais Artificiais. Anais
hidrometeorológicos da bacia, assim como a inserção de novos do Computer on the Beach, p. 308-317, 2015.
pontos de medição do nível do rio. Intui-se que uma quantidade
maior de dados, viabilizará uma melhor qualidade na fase de [12] SOUZA, W. S.; SOUZA, F. A. S. Rede neural artificial
treinamento da RNA, melhorando o rendimento do modelo de aplicada à previsão de vazão da Bacia Hidrográfica do Rio
simulação hidrológica na bacia do rio Itajaí-Mirim. Piancó. Rev. Bras. Eng. Agr. Amb., v.14, p.173-180. 2010.

8
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016

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 Mônica Ximenes Carneiro da
Instituto Federal de Alagoas Instituto Federal de Alagoas Cunha
R. Mizael Domingues, 75 - Centro, R. Mizael Domingues, 75 - Centro, Instituto Federal de Alagoas
Maceió - AL Maceió - AL R. Mizael Domingues, 75 - Centro,
matheusialins@gmail.com duda.ifal@gmail.com Maceió - AL
mxcc@hotmail.com

RESUMO General Terms


A terceirização de sistemas de informação (TSI) tornou-se uma
estratégia bastante procurada pelas organizações nos últimos anos. Management, Measurement, Documentation, Theory.
Inúmeros estudos encontrados na literatura tratam dos principais
aspectos que envolvem esse fenômeno no setor privado. Devido a Palavras-Chave
escassez de estudos direcionados ao setor público, esse artigo tem Terceirização de SI; Setor Público; Outsourcing de TI.
como objetivo analisar publicações científicas com propósito de
elencar riscos, benefícios e motivações da terceirização de Keywords
sistemas de informação no setor público através de uma revisão
sistemática de literatura (RSL). Os resultados da RSL sinalizaram IS outsourcing; Public Sector; IT outsourcing.
diferença na frequência de citações relacionadas às motivações, 1. INTRODUÇÃO
riscos e benefícios quando comparados ao setor privado. Tudo
O fenômeno da terceirização não é algo recente. Desde o século
isso mostra a importância deste levantamento para contribuir com
XVIII, Ingleses e Franceses terceirizavam alguns serviços e
um trabalho em andamento que pretende fazer um mapeamento
atividades especializadas [2][6]. Terceirização refere-se à prática
quantitativo desses três fatores em instituições do setor público
de transferir parte das atividades comerciais de uma empresa para
em um estado do nordeste brasileiro, bem como para trabalhos
um fornecedor externo [1]. Geralmente atividades muito
futuros.
específicas ou que não fazem parte dos interesses comerciais são
transmitidas para que empresas ou pessoas externas à organização
ABSTRACT possam fazê-las de maneira melhor [2].
Information Systems Outsourcing (ISO) has become a much Empresas cujo negócio principal não está diretamente relacionado
sought strategy by organizations in recent years. Numerous a serviços de TI enxergam na terceirização algumas
studies in the literature deals with the main aspects surrounding possibilidades, dentre elas: ter acesso a novas tecnologias e
this phenomenon in the private sector. Due to the lack of studies recursos humanos capacitados, direcionar os esforços para a
directed to the public sector, this article aims to analyze scientific atividade principal e reduzir custos. Este último, por sua vez, é um
publications focused on this sector with purpose to list risks, dos principais fatores motivadores indicados em estudos voltados
benefits and motivations through a systematic literature review principalmente para empresas privadas [7][3].
(SLR). The SLR results signed some difference in the frequency
of citations related to motivations, risks and benefits when O setor público tem seguido a tendência definida pelo setor
compared to the private sector. It shows the importance of this privado e atividades relacionadas a TI têm sido uma das que são
survey to contribute with a work in progress which aims to make a mais terceirizadas [13]. O risco de falhas nas parcerias enceta o
quantitative mapping of these risks, motivations and benefits in interesse dos órgãos públicos a se aprofundarem no formato de
public sector institutions in a state in northeastern Brazil, as well gerência da terceirização, uma vez que a publicidade que cerca o
as future works. governo é fundamental para a gestão em exercício.
Apesar de alguns fatores motivadores da TSI no setor público
Categories and Subject Descriptors serem semelhantes aos do privado, como foco nas competências
A1 [Introductory and Survey] centrais, melhoria na qualidade dos serviços e acesso à expertise
[11], estes diferem quanto ao grau de importância e a frequência
Permission to make digital or hard copies of all or part of this work for
com que são mencionados. Inclusive existem aspectos dissonantes
personal or classroom use is granted without fee provided that copies are entre eles, como a carência de recursos humanos causada por
not made or distributed for profit or commercial advantage and that inexistência de cargos na área de TI dentro das instituições, e
copies bear this notice and the full citation on the first page. To copy também problemas na contratação devido a restrições burocráticas
otherwise, or republish, to post on servers or to redistribute to lists, ocasionada por leis [10].
requires prior specific permission and/or a fee.
SBSI 2016, May 17–20, 2016, Florianópolis, Santa Catarina, Brazil. A escassez de estudos orientados ao setor público dificulta
Copyright SBC 2016. 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 2.2 Estratégias de pesquisa e seleção
motivações [11][12]. Em virtude de tais diferenças entre setor
público e privado, não se pode fazer generalizações para estudar a Elaboradas as questões da pesquisa, o próximo passo consistiu na
terceirização de SI como um todo. Para isso, é necessário um definição dos termos de busca (strings de busca) que foram
aprofundamento no setor público com intuito de conseguir elaborados a partir da identificação da população (setor público),
conhecimento sólido de maneira a evitar viés nas pesquisas. intervenção (terceirização de sistemas de informação,
terceirização de tecnologia da informação), em conjunto com os
Este artigo apresenta os resultados de uma RSL, que teve como termos correlatos à população e intervenção identificadas. Por
objetivo realizar um levantamento de artigos existentes sobre os fim, foram realizadas combinações com palavras chaves e
riscos, benefícios e motivações que envolvem a terceirização de operadores booleanos.
sistemas de informação no setor público. A intenção foi sumarizar
as informações obtidas, com finalidade de criar um arcabouço Assim sendo, foram construídas strings de busca com termos em
teórico que servirá como fonte para embasar um survey com português e em inglês para cada questão.
intuito de confrontar as visões dos fornecedores e contratantes a  Strings para Q1
respeito dos riscos, benefícios e fatores motivadores da parceria
público-privada que envolvem sistemas de informação. Inglês: (("information systems outsourcing" OR "information
technology outsourcing" OR "IS outsourcing" OR "IT
A estruturação do restante do artigo é a seguinte: na seção 2 é Outsourcing") AND ("public sector" or "public service" OR
apresentado o procedimento metodológico, onde serão vistos os "public administration") AND (risk* or barrier* OR obstacle* or
conceitos de RSL, como foram definidos o protocolo e as etapas challeng* or hurdle*))
da presente pesquisa; na seção 3 são exibidos os resultados das
buscas e seleções em torno das perguntas de pesquisa, além de
uma sucinta discussão. Por fim, as conclusões são apresentadas na Português: (("terceirização de sistemas de informação OR
seção 4. terceirização de tecnologia da informação OR terceirização de SI
OR terceirização de TI) AND ("Setor público" OR "Serviço
2. PROCEDIMENTO METODOLÓGICO público" OR "administração pública") AND (riscos OR
2.1 Revisão Sistemática obstáculos OR barreiras OR desafios)).
As revisões sistemáticas de literatura (RSL) são estudos  Strings para Q2
secundários que adotam um processo de pesquisa
metodologicamente bem definido para identificar, analisar e Inglês: (("Information systems outsourcing" OR "Information
interpretar as evidências disponíveis relacionadas a uma ou mais technology outsourcing" OR "IS outsourcing" OR "IT
questões de pesquisa especificas [8]. A RSL difere dos outros Outsourcing") AND ("Public sector" OR "Public service" OR
tipos de revisões pelo fato de ser formalmente planejada e "Public administration") AND (motivat* OR cause OR reason*))
executada de maneira metódica, dessa forma garante a Português: (("Terceirização de sistemas de informação” OR
reprodutibilidade da pesquisa, proporcionando maior credibilidade “terceirização de tecnologia da informação” OR “terceirização de
científica. SI” OR “terceirização de TI”) AND ("setor público" OR "serviço
O ponto de partida de uma revisão sistemática se dá na elaboração público" OR “administração pública") AND (motivação OR
do protocolo de pesquisa, disponível em https://goo.gl/Yhg9Nh, causa))
onde são listadas as questões de pesquisa e os procedimentos que
 Strings para Q3
serão adotados durante a execução da revisão. Dessa forma, [9]
determinaram um conjunto de fases que são essenciais para o Inglês: (("information systems outsourcing" OR "information
desenvolvimento de uma RSL, sendo elas: planejamento, technology outsourcing" OR "IS outsourcing" OR "IT
execução e análise dos resultados. Outsourcing") AND ("public sector" OR "public service" OR
As fases definidas por [9], e os conceitos de revisão sistemática "public administration") AND (benefit* OR advantage*))
abordados por [8], serviram como diretrizes para a elaboração da Português: (("terceirização de sistemas de informação OR
metodologia do presente trabalho. Os três aspectos (riscos, terceirização de tecnologia da informação OR terceirização de SI
benefícios, motivações) escolhidos como base para esta revisão OR terceirização de TI) AND ("setor público" OR "serviço
emergiram de estudos bibliográficos realizados por dois alunos de público" OR “administração pública") AND (benefícios OR
iniciação científica que trabalharam neste artigo, em conjunto com vantagens))
a orientadora. Observou-se durante o levantamento da literatura
que esses aspectos são costumeiramente citados quando se trata de 2.3 Seleção das bases de dados
TSI de maneira geral. O propósito foi de ampliar os
Os termos de busca definidos foram aplicados nas bases de dados
conhecimentos acerca da terceirização de SI no setor público em
estabelecidas no protocolo da pesquisa. A seleção das bases se
âmbito mundial. Dessa forma, foram elaboradas três questões de
deu a partir do reconhecimento acadêmico em âmbito nacional e
pesquisa para serem respondidas após a obtenção dos estudos
internacional. Com isso as selecionadas para a pesquisa foram:
primários. São elas:
Periódicos da CAPES; ACM Digital Library; Science Direct; ISI
Q1. Quais os riscos da terceirização de sistemas de informação Web of Science; Scopus; IEEE Xplore Digital Library; Google
no setor público? Scholar.
Q2. Quais as motivações da terceirização de sistemas de Vale salientar que as respectivas bases de dados possuem
informação no setor público? particularidades com relação ao seu mecanismo de pesquisa, com
isso surgiu a necessidade de realizar pequenas adequações nas
Q3. Quais as benefícios da terceirização de sistemas de
strings para se adequar a base e assim obter resultados
informação no setor público?
satisfatórios.

10
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016

2.4 Estratégias de inclusão e exclusão A seguir são apresentadas as respostas paras as questões de
pesquisa tendo como base os aspectos mais citados nos artigos
O procedimento para a inclusão e exclusão de documentos que selecionados:
retornaram após a aplicação dos argumentos de pesquisa (strings
de busca) nas bases de dados se deu em dois momentos. No Q1. Quais os riscos da terceirização de sistemas de
primeiro momento, foram definidos no protocolo de pesquisa informação no setor público?
como critérios de inclusão: a disponibilidade do documento na
internet para download e que esteja em formato PDF, Constatou-se que dos 24 documentos, 9 abordavam os riscos de
disponibilidade do documento em língua inglesa ou portuguesa, e maneira primaria, e 4 de maneira secundaria. Dentre os resultados,
a delimitação do tempo de publicação de dez anos, ou seja, conforme a Tabela 2, ficou evidente a preocupação com questões
publicados entre 2005 a 2015, tendo em vista que esta etapa da de segurança, uma vez que 6 dentre os 13 artigos que falam de
pesquisa iniciou em novembro de 2015 e encerrou em março de riscos, citam esse ponto. Isso ocorre, principalmente, pelo fato de
2016. Por fim, foram aceitos documentos que tratam de forma que os gestores das instituições públicas se preocupam
primária ou secundária sobre motivações, riscos e benefícios da demasiadamente com possíveis vazamentos e acesso não
TSI no setor público. Dessa forma, os critérios de exclusão foram autorizado às informações que são confidenciais. Além de
elaborados de forma que contrariem os critérios de inclusão. prejudicar a organização e a população, pode também manchar a
imagem da corrente gestão do governo.
No segundo momento foi realizada uma análise do título e das
palavras chaves com finalidade de reduzir a enorme gama de Observou-se também o elevado número de citações com relação a
resultados que havia sido retornada após a aplicação dos dependência excessiva do fornecedor, fator que é refletido a partir
argumentos. Ao término dessa análise restaram 239 documentos. de outros riscos como, por exemplo, a perda de habilidades
Eles tiveram seu resumo e conclusão lidos para confirmar se críticas de TI. É comum que haja uma acomodação quando um
estavam de acordo com o que foi estabelecido nos critérios de serviço é prestado de maneira eficiente, e isso acarreta na falta de
inclusão, e no fim restaram 24 documentos relevantes, que foram interesse da organização em fazer novos investimentos internos
utilizados para responder as questões propostas pela revisão. A para capacitação e melhoria das atividades. Apesar da perda de
tabela 1 exibe os resultados obtidos durante toda a fase de busca e habilidades de TI estar como um dos menos citados na tabela,
seleção dos documentos primários. possui características gradativas, visto que a dificuldade em
manter tais habilidades abre espaço para a dependência.
Tabela 1. Resultados das buscas por estudos primários nas
bases de dados. Tabela 2. Principais riscos abordados nos artigos selecionados.
QTD DE FREQUÊNCIA
1ª Seleção 2ª Seleção RISCOS
CITAÇÕES DE CITAÇÕES
Fonte Quantidade (Título e (Abstract e
Questões de segurança 6 46%
Palavras-chave) Conclusão)
Dependência excessiva do fornecedor 6 46%
Periódicos Capes 32 7 4 Perda de competências centrais em TI 5 38%
ACM Digital library 45 13 1 Custos ocultos 4 31%
Science Direct 564 28 3 Perda de controle da atividade terceirizada 3 23%
ISI Web of Science 8 8 1 Falta de experiência do fornecedor na atividade Terceirizada 3 23%
Scopus 26 7 1 Diminuição da moral dos funcionários 3 23%
IEEE 13 7 1 Qualificação dos funcionários do fornecedor 3 23%
Google Scholar 2716 169 13 Perda de flexibilidade dos serviços de TI 3 23%
Total 3404 239 24 Diferenças culturais 3 23%
Instabilidade financeira do fornecedor 2 15%
3. RESULTADOS E DISCUSSÕES Perda de habilidades criticas de TI 2 15%
Dos 24 artigos que restaram após os processos de seleção,
identificou-se que, em alguns casos, um mesmo artigo tratava de Q2. Quais as motivações da terceirização de sistemas de
mais de um dos assuntos pesquisados: riscos, motivações e informação no setor público?
benefícios. O Gráfico 1 mostra o número de artigos que está A Tabela 3 sinaliza que a motivação relacionada a direcionar o
diretamente ligado a cada uma das perguntas de pesquisa, foco para as competências essenciais foi a mais citada. Em
separando pelas bases de dados onde foram encontrados. No total, segundo lugar está a redução de custos, que geralmente é a mais
17 artigos abordaram sobre motivações, 13 sobre riscos e 4 sobre citada nos estudos voltados para o setor privado. A intensidade de
benefícios. citações sobre este fator é compreendida pela possibilidade de
Gráfico 1. Quantidade de artigos por bases de dados que direcionamento do foco da empresa para as atividades principais,
falam em Motivação, Risco ou Benefício. com canalização dos investimentos financeiros que seriam feitos
no setor de TI sendo remanejados para as tarefas centrais. Outra
20 motivação bastante citada foi a busca pela melhoria na qualidade
15 dos serviços, viabilizada pelo acesso às novas tecnologias e novas
10 Motivações expertises. Isso se dá pelo fato de os fornecedores de serviços
5 terceirizados geralmente dispõem de recursos humanos e
0 Riscos tecnológicos mais capacitados e avançados, possibilitando a
substituição de tecnologias defasadas e suprindo a falta de
Benefícios profissionais, às vezes causada pela inexistência de cargos
específicos.

11
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016

Tabela 3. Principais aspectos motivadores citados nos artigos flexibilidade dos serviços de TI, melhoria dos produtos e serviços
selecionados. e acesso a novos recursos e habilidades.
Como trabalhos futuros pretende-se utilizar os conhecimentos
QTD DE FREQUÊNCIA
MOTIVAÇÃO
CITAÇÕES DE CITAÇÕES
gerados por este artigo para compor um survey para aferir a
opinião de gestores públicos estaduais e municipais sobre
FOCO NA COMPETÊNCIA PRINCIPAL 12 71% motivações, benefícios e riscos da parceria público-privada de
REDUÇÃO DE CUSTOS 11 65%
sistemas de informação, com vistas a atestar ou refutar as
MELHORIA QUALIDADE DOS SERVIÇOS 10 59% informações preliminares obtidas na revisão sistemática.
ACESSO A NOVAS TECNOLOGIAS/HABILIDADES 8 47%
FLEXIBILIDADE PARA RESPONDER RAPIDAMENTE
ÀS MUDANÇAS NA ÁREA DE TI
6 35% REFERÊNCIAS
ESCASSEZ DE RECURSOS INTERNOS 6 35% [1] GORLA, Narasimhaiah; CHIRAVURI, Ananth. 2011.
ACESSO A EXPERTISE 5 29% Information systems outsourcing success: a review. In: 2010
FALTA DE CONHECIMENTO INTERNO/EXPERTISE 3 18%
COMPARTILHAMENTO DE RISCOS 2 12%
International Conference on E-business, Management
REDUÇÃO DE PROBLEMAS ROTINEIROS DE TI 2 12% and Economics. 2011. p. 170-174.
ATENDIMENTO A DEMANDAS URGENTES DE TI 1 6% [2] BERGAMASCHI, S. Modelos de gestão da terceirização
TRATAMENTO DE FUNÇÕES DIFÍCEIS DE GERENCIAR
1 6% de Tecnologia da Informação: um estudo exploratório. Tese
OU FORA DE CONTROLE
PRESSÕES EXTERNAS 1 6%
(Doutorado em Administração) - Universidade de São Paulo,
PROBLEMAS COM RECRUTAMENTO DE PESSOAL 1 6% São Paulo, 2004.
[3] PRADO, E. P. V.; TAKAOKA, H.. 2000. Terceirização da
Q3. Quais as benefícios da terceirização de sistemas de
Tecnologia de Informação: Uma Avaliação dos Fatores que
informação no setor público?
Motivam sua Adoção em Empresas do Setor Industrial de
Apesar de restarem poucos documentos que falam em benefícios, São Paulo. Dissertação (Mestrado em Administração de
foi possível ter acesso às informações necessárias para responder Empresas) - Universidade de São Paulo, São Paulo, 2000.
a pergunta supracitada. Em meio aos 24 artigos selecionados, 4 [4] LOH, L.; VENKATRAMAN, N.. 1992. Diffusion of
deles citaram algum tipo de benefício. Conforme ilustrado na information technology outsourcing: influence sources and
Tabela 4, a metade dos artigos apontou que um dos principais the kodak effect. Information Systems Research, 1992.
benefícios é o acesso a novas capacidades e competências, visto
que, em muitas ocasiões, a equipe interna de TI não tem [5] DIBBERN, J. et al.. 2004. Information Systems
habilidade e expertise necessária para gerenciar problemas mais Outsourcing: A Survey and Analysis of the Literature. The
complexos e atender novas demandas. Consequentemente, junto DATA BASE for Advances in Information Systems, v.35,
das novas competências e recursos, tecnologias inovadoras n.4, 2004.
aparecem como o segundo mais citado, seguido da melhoria na [6] DOMBERGER, Simon. 1998. The contracting
qualidade dos serviços, que pode ser compreendido como organization: a strategic guide to outsourcing. Oxford:
resultado da soma dos demais benefícios. Oxford Univ. Press, 1998. 229p.
Tabela 4. Principais benefícios citados nos artigos. [7] LEITE, J. C.. 1994. Terceirização em informática. São
Paulo: Makron Books, 1994.
QTD DE FREQUÊNCIA
BENEFÍCIOS [8] KITCHENHAM, B. 2004. Procedures for performing
CITAÇÕES DE CITAÇÕES
systematic reviews. Keele, UK, Keele University, v. 33, n.
ACESSO A NOVAS CAPACIDADES, COMPETÊNCIAS E RECURSOS 2 50%
TR/SE-0401, p. 28, 2004.

MELHORIA DOS PRODUTOS E SERVIÇOS 2 50%


[9] BIOLCHINI, J. et al. 2005. Systematic Review in Software
AUMENTO DA FLEXIBILIDADE DOS SERVIÇOS 2 50% Engineering. Engineering, v. 679, n. May, p. 165–176,
REDUÇÃO DE CUSTOS 2 50%
2005.
ACESSO A NOVAS TECNOLOGIAS 2 50% [10] CUNHA, M.X.C. 2011. Aspectos e Fatores Motivadores
FOCO NAS COMPETÊNCIAS ESSENCIAIS 1 25% da Terceirização de Sistemas de Informação no Setor
MELHORIA DOS PROCESSOS E NEGÓCIOS 1 25% Público: Um Estudo em Instituições Públicas de Alagoas.
Tese (Doutorado em Administração) - Universidade Federal
4. CONCLUSÃO de Pernambuco, Recife, 2011.
A revisão sistemática conduzida neste artigo identificou as
[11] COX, Michael, Martyn Roberts, and John Walton. 2011. IT
principais contribuições na literatura, nos últimos dez anos, para
outsourcing in the public sector: experiences form local
terceirização de sistemas de informação no setor público.
government. The Electronic Journal Information Systems
Seguindo as etapas definidas no protocolo, foi possível responder
Evaluation 14.2 (2011): 193-203.
as três questões de pesquisa propostas.
[12] GANTMAN, Sonia. 2011. IT outsourcing in the public
Quanto aos riscos, os mais populares entre os artigos selecionados
sector: A literature analysis. Journal of Global Information
foram questões relacionadas à segurança, dependência dos
Technology Management, v. 14, n. 2, p. 48-83, 2011.
fornecedores e perda das competências centrais de TI. As
principais motivações foram o foco nas competências essenciais [13] LACITY, M. C.; Willcocks, L. 1997. Information systems
da organização, redução de custos e melhoria na qualidade dos sourcing: examining the privatization option in USA public
serviços. Já em relação aos benefícios, foi apontado o aumento na 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 IFSP - Instituto Federal de Educação, Ciência e
Tecnologia de São Paulo Tecnologia de São Paulo
Rua José Ramos Júnior, 27-50 Rua José Ramos Júnior, 27-50
CEP 19470-000 - Pres. Epitácio - SP CEP 19470-000 - Pres. Epitácio - SP
brunolp@hotmail.com.br kleber@ifsp.edu.br

ABSTRACT os recursos são virtuais e ilimitados e que detalhes dos sistemas


This paper compare aspects related to development of a same físicos de software são abstraídos.
Web application, when developed to a cloud application provider Já [5], analisa a computação em nuvens sob uma ótica diferente, e
and when developed to a non-cloud environment. This afirma que o surgimento do fenômeno conhecido como
comparison are mainly concerned about highlight the differences computação em nuvem representa uma mudança fundamental na
for developers. forma como a tecnologia da informação (TI) é inventada,
desenvolvida, implantada, escalada, atualizada, mantida e
RESUMO mensurada monetariamente.
Este artigo compara aspectos relacionados ao desenvolvimento de
uma mesma aplicação Web, quando desenvolvida para um 2. OBJETIVOS E JUSTIFICATIVAS
provedor de aplicações em nuvem e quando desenvolvida para um O mercado de computação em nuvens é dominado pela Amazon
ambiente não classificado como nuvem. Nessa comparação são seguida pelos seus concorrentes IBM, Apple, Cisco, Google,
consideradas principalmente as diferenças relevantes para os Microsoft, Salesforce e Rackspace. Estima-se que o mercado
programadores. 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
Atualmente há uma considerável adesão de aplicações
Análise e Desenvolvimento de Sistemas
implantadas em nuvens, como por exemplo, Google Drive, One
CCS Drive, DropBox, ICloud, entre outras. No entanto, nota-se que as
aplicações mais difundidas têm o objetivo de armazenamento de
• Information systems ➝ Information systems applications ➝
arquivos na nuvem e são classificadas como SaaS. Por outro lado,
Computing platforms; • Networks ➝ Networks services ➝
o desenvolvimento de aplicações para provedores de serviço de
Cloud computing;
nuvens que oferecem PaaS, ainda não está amplamente
Palavras-chave disseminado.
Cloud Computing, Software Development, Computing Platforms. Este trabalho tem por objetivo comparar aspectos relacionados ao
desenvolvimento de uma determinada aplicação Web quando
1. INTRODUÇÃO desenvolvida para um provedor de serviços de nuvem que oferece
Computação em nuvem é um modelo que permite acesso sob PaaS e quando desenvolvida para um ambiente não classificado
demanda, de maneira ubíqua e conveniente, por meio de uma rede como nuvem (referenciada a partir desse ponto como aplicação
de computadores, a um conjunto compartilhado de recursos convencional). Foram levados em consideração nessa comparação
computacionais (ex. redes, servidores, armazenamento, aplicações a dificuldade de desenvolvimento, a quantidade e qualidade das
e serviços) que podem rapidamente ser provisionados e liberados bibliotecas de software disponibilizadas e a dificuldade de
com mínimo esforço de gerenciamento ou interação com o implantação da infraestrutura necessária. Como resultado, serão
provedor de serviços [1]. Os serviços oferecidos pela nuvem apresentados detalhes sobre o processo de desenvolvimento,
variam desde aspectos de baixo nível, como a infraestrutura lógica destacando as vantagens e desvantagens identificadas.
e física (IaaS - Insfrastructure as a Service), serviços no nível de
aplicação (SaaS - Software as a Service) e plataformas de É importante ressaltar que o trabalho em questão foi totalmente
software (PaaS - Platform as a Service) [2]. desenvolvido por um discente† e orientado por um docente‡,
ambos do curso superior de tecnologia em Analise e
Segundo [3], computação em nuvem é um termo utilizado para Desenvolvimento de Sistemas do IFSP Campus Presidente
descrever um ambiente de computação baseado em uma imensa Epitácio.
rede de servidores, sejam eles virtuais ou físicos. Um conjunto de
recursos como capacidade de processamento, conectividade, 3. DESENVOLVIMENTO
plataformas, aplicações e serviços disponibilizados na Internet. 3.1 Descrição do cenário
Com uma definição mais restrita, [4] descreve a computação em Considerando a necessidade de implementar operações CRUD
nuvem referindo-se a aplicativos e serviços que são executados (Create, Retrieve, Update and Delete) para a grande maioria dos
em uma rede distribuída usando recursos virtualizados e acessados sistemas de informação tradicionais, foi decidido que a aplicação
por normas comuns de protocolo. Distingue-se pela noção de que a ser desenvolvida deveria realizar tais operações. Devido a
limitações de tempo, somente foi possível implantar a aplicação

13
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016

em um único provedor de serviços de nuvem, nesse caso, o GAE A plataforma de desenvolvimento GAE possui três formas de
(Google App Engine). armazenamento não relacionais (Bigtable, Blobstore, Google
Storage), todas elas utilizando a uma estrutura semelhante de
Para facilitar a comparação, decidiu-se que ambas aplicações armazenamento, porém com algumas diferenças. O Bigtable é a
fossem desenvolvidas utilizando uma mesma linguagem de forma mais simples delas, porém limita o armazenamento de
programação e um mesmo ambiente de desenvolvimento. Nesse arquivos do tipo blob (binários) a no máximo 1MB. O Blobstore
contexto, foram selecionados a linguagem Java e o ambiente de permite o armazenamento de arquivos maiores em relação ao
desenvolvimento integrado Eclipse. É importante destacar que o Bigtable, mas ele força o uso de uma URL única de upload [9].
GAE também suporta implantação de aplicações desenvolvidas
em Python e PHP [7]. Em relação a desempenho, o Google Storage é a melhor das três
opções de armazenamento do GAE. Adicionalmente, ele é de
simples utilização após seu funcionamento ser compreendido. O
Google Storage tem muito em comum com o Amazon S3, pois os
dois usam o mesmo protocolo e possuem a mesma interface
RESTful, considerando que as bibliotecas desenvolvidas para
trabalhar com o S3, como a JetS3t, também funcionam no Google
Storage [9].
Como a aplicação desenvolvida não necessita da utilização de
blobs (binários) com tamanhos grandes e nem muito espaço de
armazenamento, foi selecionado o modelo do Bigtable,
Figura 1. Interface gráfica utilizada. considerando que o mesmo oferece recursos suficientes para o
desenvolvimento da aplicação em nuvem proposta, além de
Com o mesmo objetivo, foi decidido que ambas aplicações simplificar a implementação.
deveriam utilizar o mesmo layout para a interface gráfica,
conforme ilustrado pela Figura 1. Devido a utilização da mesma Para persistir um objeto no GAE, primeiramente é necessário
linguagem de programação para o desenvolvimento das duas obter as informações preenchidas pelo usuário nos formulários
aplicações, foi possível utilizar a mesma tecnologia para JSF, o que é possível utilizando métodos específicos do Manager
elaboração de interfaces, nesse caso, o framework JSF (Java Bean.
Server Faces). A Figura 4 apresenta trechos de código que foram utilizados para
realizar a persistência de objetos nas aplicações desenvolvidas. É
3.2 Persistência de dados possível observar que os dois métodos são bastantes similares,
A manipulação de dados pela aplicação convencional foi porém o método da aplicação em nuvem utiliza o ofy(), que é
realizada utilizando uma API da linguagem Java que descreve uma instancia da biblioteca Objectify utilizada para persistir os
uma interface comum para frameworks de persistência de dados dados na nuvem [8].
chamada JPA (Java Persistence API) além do sistema gerenciador
de banco de dados PostgreSQL. O servidor de aplicações public Long save(Cliente c) {
GlassFish também foi utilizado para implantar a aplicação. (a) ofy().save().entity(cliente).now();
return cliente.getId();
No GAE somente é possível realizar o armazenamento utilizando }
persistência de dados, não havendo possibilidade de selecionar um
sistema gerenciador de banco de dados, considerando que essa public void persist(Cliente c) {
(b) em.persist(c);
tarefa é realizada de forma transparente e o programador não
precisa conhecer detalhes sobre o SGBD utilizado. O GAE }
fornece um framework de persistência que permite o Figura 4. (a) Persistência no GAE. (b) Persistência JPA.
armazenamento dos objetos instanciados, chamado Objectify [8].
A Figura 2 ilustra a interação entre os componentes importantes 3.3 Detalhes do provedor de nuvem
para realizar a persistência de dados na aplicação convencional e O desenvolvimento da aplicação em nuvem necessita de algumas
na aplicação desenvolvida para nuvem. atividades adicionais em relação ao desenvolvimento da aplicação
convencional, como por exemplo, importar a biblioteca Objectify,
instalar o plugin GAE no IDE Eclipse e editar o arquivo de
configuração web.xml (Figura 3). Nesse arquivo, um elemento
listener deve indicar a classe Java responsável pelo registro das
entidades (classes) que serão persistidas no Objectify (Figura 3a).
A configuração do Objectify também precisa ser descrita no
arquivo web.xml para que o servidor tenha conhecimento que o
framework Objectify está sendo utilizado no projeto (Figura 3b).
O controle de threads na aplicação convencional é gerenciado
pelo próprio JSF. Entretanto, na aplicação em nuvem, esse
controle é realizado pelo GAE, obrigando o desenvolvedor a
desabilitar tal funcionalidade para evitar incompatibilidades com
o JSF (Figura 3c). Ainda dentro desse arquivo, deve ser indicado
o padrão de projeto que será utilizado pelo framework JSF, nesse
Figura 2. Interação entre os componentes. (a) Aplicação caso em específico (Figura 3d), o Front Controller [10].
convencional. (b) Aplicação em nuvem.

14
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016

(a) <!-- Registro de entidades no Objectfy --> uma conta do Google. Cada conta pode ter mais de uma aplicação
<listener> implantada no GAE, porém cada aplicação possui um
<listener-class>
identificador para diferenciá-la das outras. Por essa razão, ao
config.ConfigStartup
</listener-class> realizar uma implantação ou atualização, é necessário fornecer o
</listener> título do projeto e o Application Identifier que foram previamente
criados no próprio site do GAE.
(b) <!-- Configuração do Objectify -->
<filter>
<filter-name>
ObjectifyFilter
</filter-name>
<filter-class>
com.googlecode.objectify.ObjectifyFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>
ObjectifyFilter
</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

(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 --> Figura 6. Implantação de aplicação no GAE via Eclipse
<servlet>
<servlet-name>Faces Servlet</servlet-name> 4. CONSIDERAÇÕES FINAIS
<servlet-class>
javax.faces.webapp.FacesServlet
O desenvolvimento da aplicação em nuvem no GAE é bastante
</servlet-class> similar em relação ao desenvolvimento de uma aplicação Web
<load-on-startup>1</load-on-startup> para ambientes não classificados como nuvem, considerando a
</servlet> utilização da linguagem Java e o cenário apresentado, pois é
Figura 3. Arquivo web.xml utilizado. possível utilizar os mesmos recursos para ambas, como por
exemplo, JSP (Java Server Pages) e JSF.
3.4 Implantação Em relação ao armazenamento de dados, nesse caso em
A implantação de ambas aplicações apresenta complexidade
específico, pode-se dizer que um desenvolvedor que tem
baixa. Para implantação da aplicação Web convencional no
conhecimento em JPA teria maior facilidade para a desenvolver a
servidor GlassFish é necessário utilizar o console administrativo
aplicação em nuvem do que outro que domina somente o
do mesmo (Figura 5) por meio de um navegador Web.
armazenamento de dados utilizando técnicas que não realizam a
Posteriormente deve-se abrir a aba Applications, no canto
persistência de objetos, como por exemplo, JDBC.
esquerdo do console, selecionar o botão deploy e indicar o
caminho local do projeto a ser implantado. Para atualização da Mesmo sendo uma comparação com abrangência restrita, devido a
aplicação deve-se utilizar o mesmo procedimento, mas deve-se utilização de um único provedor de serviços de nuvem e uma
pressionar o botão Redeploy e selecionar localmente o projeto a única linguagem de programação, foi possível perceber que o
ser atualizado. conhecimento da filosofia do provedor de nuvens, sua API e seus
mecanismos de armazenamento são muito importantes para o
desenvolvimento de aplicações para o mesmo. Esses
conhecimentos demandam tempo de aprendizado significativo,
principalmente para programadores inexperientes, como foi o caso
deste trabalho
Como trabalho futuro, pretende-se a utilização de outros
provedores de nuvem e outras linguagens de programação para
realizar a comparação. Também pretende-se utilizar outros
parâmetros que impactam na decisão de migrar uma aplicação
convencional para nuvem, como por exemplo, desempenho e
Figura 5. Console administrativo do Glassfish custo de hospedagem.

Já a aplicação em nuvem é implantada utilizando um botão no 5. AGRADECIMENTOS


Ecplise (deploy), disponibilizado pelo plugin do GAE, que invoca Os autores agradecem ao IFSP - Instituto Federal de Educação,
a interface apresentada pela Figura 6. Nesse caso, o Eclipse Ciência e Tecnologia de São Paulo pelo apoio financeiro durante
solicita que o desenvolvedor se autentique previamente utilizando 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

6. REFERENCIAS computing-united-states-businesses-will-spend-13-billion-
on-it/>. Acesso em: 10 Mar 2016.
[1] Mell, Peter, and Tim Grance. "The NIST definition of cloud [7] Google App Engine Docs. Disponível em: <https://cloud.
computing." Communications of the ACM 53.6 (2010): 50. google.com/appengine/docs>. Acesso em: 10 Mar. 2016.
[2] Coulouris, George F., Jean Dollimore, and Tim Kindberg. [8] Schnitzer, J. et. al. Introduction to Objectify: Loading,
Distributed systems: concepts and design. pearson education, Saving, and Deleting Data. Disponível em: <https://github.
2005. com/objectify/objectify/wiki/BasicOperations>. Acesso em:
10 Mar 2016.
[3] Taurion, C. Cloud Computing-Computação em Nuvem.
Brasport, 2009. [9] Wheeler, J. Armazenamento do GAE com Bigtable,
Blobstore e Google Storage. 2011. Disponível em:
[4] Sosinsky, B. Cloud computing bible. John Wiley & Sons, <www.ibm.com/developerworks/br/library/j-gaestorage/>.
2010. Acesso em: 10 Mar 2016.
[5] Marston, S., et al. "Cloud computing—The business [10] MEDEIROS, H. Padrões de Projeto: Introdução aos Padrões
perspective." Decision support systems 51.1 (2011): 176-189. Front Controller e Command. Disponível em: <http://www.
[6] Mccue, TJ. Cloud Computing: United States Businesses Will devmedia.com.br/padroes-de-projetos-introducao-aos-
Spend U$13 Billion On it. Disponível em: padroes-front-controller-e-command/30644>. Acesso em: 10
<http://www.forbes.com/sites/tjmccue/2014/01/29/cloud- Mar 2016.

16
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016

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 D. Software. D.2 Software Engineering. D.2.2 Design Tools.
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 General Terms
partir da adoção de metodologias ágeis, tem sido recorrente. Neste Management.
cenário, o apoio de uma ferramenta em processos de
desenvolvimento ágil pode ser essencial, dada a quantidade de Keywords
envolvidos e, muitas vezes, tendo os fornecedores Tool; Agile methods; Backlog; Federal Public Organization.
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
1. INTRODUÇÃO
software de um órgão público federal brasileiro. O estudo foi Os órgãos públicos não são responsáveis, em sua maioria, pela
realizado em duas vertentes, a definição e execução de um produção de software, mas sim pela gestão de demandas para
processo de seleção de ferramentas e o emprego de estudo de caso contratação desse tipo de serviço. A terceirização de serviços de
para levantamento dos requisitos específicos. Como resultado foi desenvolvimento de software é uma realidade no setor público [3].
definida e configurada uma ferramenta para um órgão. A Nesse cenário a adoção da metodologia ágil tem sido crescente [2]
ferramenta encontra-se em uso. [12] [13][16] [9].
Nos métodos ágeis os requisitos geralmente são gerenciados com
Palavras-Chave papel e caneta, ou seja, com o uso de notas pregadas em um mural
Ferramenta; Métodos ágeis; Backlog; Órgão público federal. ou uma parede [5] [1]. Isso acontece visto que a maioria dos times
ágeis é formada por poucas pessoas e estão alocadas no mesmo
ABSTRACT lugar. A gestão desse desenvolvimento normalmente é realizada
The hiring of supplier for Information Technology (IT) is a reality no nível do time de desenvolvimento. Já no setor público, quando
for federal public organizations. And the movement of federal o serviço é terceirizado, o time é formado por integrantes de
public organization in hiring companies for offshore software fábricas de software e deve ser realizada pelo contratante, que
development, starting from the adoption of agile methodologies deve gerenciar as demandas de serviços prestados pelo contratado,
has been recurrent. In this scenario the support of a tool for agile que podem estar em outra região. Nesse cenário, é essencial o
software development processes might be essential, given the apoio ferramental para o gerenciamento das demandas de
amount of involved parts and, many times, the offshore companies serviços, dos requisitos e do processo de execução.
are geographically distant. The objective of this study was the Este trabalho faz parte de um Projeto de Pesquisa e
identification and setting of a tool to support a process of demand Desenvolvimento, oriundo de um Termo de Cooperação entre
management of agile software development of a Brazilian federal uma universidade e um órgão público federal, denominado neste
public organization. The study has been done in two aspects, the trabalho como Ministério. O Ministério possui um Processo de
definition and the execution of tool selection process and the Gestão de Demandas de Desenvolvimento Ágil de Software
employment of the study of case for gathering the specific (GeDDAS) [15]. Esse processo foi baseado no framework Scrum
requirements. As result, it has been defined and set a tool for the [11]. Um dos artefatos gerados é o Backlog do Produto1 [15].
O objetivo deste trabalho foi definir um processo de identificação
Permission to make digital or hard copies of all or part of this work for e configuração de ferramentas para dar apoio à gestão de
personal or classroom use is granted without fee provided that copies are demandas de serviços do processo de desenvolvimento ágil.
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 Este trabalho está organizado em seções. Na Seção 2 é
otherwise, or republish, to post on servers or to redistribute to lists, apresentada uma breve descrição de métodos ágeis e do
requires prior specific permission and/or a fee. framework Scrum. Na Seção 3, apresentam-se os materiais e
SBSI 2016, May 17–20, 2016, Florianópolis, Santa Catarina, Brazil.
Copyright SBC 2016.
1
Lista de itens necessários ao produto. Origem única de
requisitos. [11]

17
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016

métodos adotados. Na Seção 4 apresentam-se a execução e análise Para desenvolvimento de software, o órgão possui dois processos,
do processo de seleção da ferramenta definido. Na Seção 5, as um baseado na metodologia tradicional e outro processo baseado
considerações finais. no framework Scrum, conhecido como GeDDAS (Gestão de
Demandas de Desenvolvimento Ágil de Software) [15].
2. MÉTODOS ÁGEIS
A metodologia ágil tem atraído um grande interesse da indústria 3.1.2 Processo GeDDAS
de software [6] e a adoção da metodologia tem crescido no setor Dado que, neste trabalho, a identificação e configuração da
público, como mostram os levantamentos feitos por [2], [9], [13] e ferramenta foi realizada para apoiar o processo de
[16]. No levantamento feito pelo TCU [2] é percebido que a desenvolvimento de software do Ministério, nesta seção
abordagem mais adotada tem sido o Scrum. apresenta-se uma breve descrição do processo GeDDAS.
O GeDDAS [15] é composto por seis subprocessos: Planejar
2.1 Scrum Projeto, Planejar Release, Executar Sprints, Atestar Qualidade da
O Scrum é definido como uma estrutura (framework) na qual se Release, Homologar Release e Implantar Release. E também são
pode empregar vários processos ou técnicas [11]. O framework é previstos papéis e artefatos [15].
composto de eventos, papéis e artefatos que auxiliam na busca das
melhores práticas de gerenciamento, orientando atividades de Um dos artefatos definidos é o Backlog do Produto e da Sprint. O
desenvolvimento [11]. Backlog do Produto não é utilizado apenas no subprocesso de
Implantar Release. Assim, a ferramenta adequada ao Ministério
Os eventos que formam o Scrum são: Sprint, Cancelamento da deve apoiar o emprego do Backlog em cada um dos subprocessos
Sprint, Reunião de Planejamento da Sprint, Reunião Diária, por cada um dos papéis responsáveis.
Retrospectiva da Sprint. E os papéis estabelecidos são: Product
Owner (PO), Time de Desenvolvimento e Scrum Master [11]. No emprego do Backlog, os itens: Funcionalidades; Defeitos;
Histórias técnicas; Não Conformidades e Aquisição de
Dentre os artefatos propostos pelo Scrum constam o Backlog do Conhecimento e seus status devem ser monitorados.
Produto e o Backlog da Sprint. Ambos consistem em uma lista dos
requisitos inerentes ao produto que deve ser entregue. No caso do Na Tabela 1 é apresentado o uso do Backlog de acordo com os
Backlog do Produto estão reunidos todos os itens que formam o papéis do processo.
produto completo e no Backlog da Sprint contém os itens
Tabela 1. Relação entre os papéis e a utilização do Backlog
referentes a um incremento de software [11].
Emprego do Backlog Papéis
3. METODOLOGIA DE PESQUISA Visualização dos itens Todos os envolvidos
Dado o objetivo de identificação, seleção e configuração de uma
Revisão (edição) dos itens Proprietário do Produto,
ferramenta para um órgão brasileiro, essa pesquisa é considerada
Time de Desenvolvimento
descritiva [8], que geralmente utiliza a técnica de levantamento.
Também foi empregada a técnica de estudo de caso. Adição de itens de funcionalidades Proprietário do Produto,
Usuários-chave
Este trabalho foi dividido em três principais fases: Planejamento;
Adição de itens de não conformidade Proprietário do Produto,
Coleta e Análise de dados; e Redação dos resultados. No Equipe de Qualidade
planejamento foram previstas duas vertentes: caracterização do
objeto do estudo de caso, na qual são identificadas as demandas Adição de itens de defeito Equipe de Qualidade
do processo de desenvolvimento e caracterizados os Adição de itens de história técnica e Time de Desenvolvimento
relacionamentos do órgão com seus usuários de negócio e seus aquisição de conhecimento
fornecedores, e outra vertente, relacionada à definição e execução Priorização dos itens Proprietário do Produto
de um processo de seleção de ferramentas, composto pelas etapas:
Identificação, Seleção e avaliação; Validação; e Treinamento. Na Para a implantação do processo foi realizado um projeto-piloto
fase Coleta e análise de dados o processo estabelecido foi [15], no qual a gestão do Backlog do Produto era realizada em
executado. Os resultados foram redigidos. uma planilha. Dessa forma, foi identificada a necessidade de uma
ferramenta que apoiasse o processo principalmente o Backlog.
3.1 Caracterização do Objeto
Foram caracterizados o órgão e seu processo de software. 3.2 Processo de Seleção da Ferramenta
O processo de seleção de ferramentas é composto pelas etapas:
3.1.1 Ministério identificação, seleção e avaliação, validação e treinamento.
O setor de TI do órgão é composto por uma Coordenação-Geral,
uma Coordenação de Informática, duas Divisões, de Recursos e 3.2.1 Identificação
Administração de Rede e de Desenvolvimento de Sistemas e uma Na etapa de identificação foi realizada uma pesquisa bibliográfica
unidade de Serviço de Atendimento ao Usuário. para levantamento das ferramentas e definição de critérios de
No contrato vigente, o Ministério possui quatro fornecedores: seleção de ferramentas adequadas ao Ministério. A revisão foi
apoio à gestão, responsável por auxiliar nas atividades de realizada pela busca em bases de dados, busca manual em
acompanhamento dos projetos e sistemas; apoio técnico, que conferências brasileiras e utilização do processo de snowballing2.
auxilia na garantia da qualidade; fábrica de software, responsável
pelo desenvolvimento de sistemas e pela manutenção dos legados
do Ministério; infraestrutura de TI, responsável pela 2
infraestrutura. Identificação de estudos a partir de um estudo, através das
referências ou dos trabalhos que citam este estudo. [10]

18
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016

3.2.2 Seleção e Análise Considerando os critérios estabelecidos foram selecionadas as


Na etapa de seleção foram definidos critérios de seleção e análise ferramentas XPlanner, FireScrum, IceScrum e Redmine. Que,
das ferramentas identificadas a partir da literatura, dos requisitos embora gratuitas, algumas apresentavam limitações de uso.
do Ministério e de seu processo de desenvolvimento de software. 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 plug-
3.2.3 Validação ins do Redmine para apoio ao desenvolvimento ágil: Backlogs,
Na etapa de validação, uma vez selecionada a ferramenta, essa foi Scrum e Scrumbler.
configurada segundo os requisitos do GeDDAS. Em seguida, a No estudo realizado por Dimitrijević et al [5] foram definidas as
ferramenta configurada foi avaliada pelos envolvidos no processo. 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
3.2.4 Treinamento testes de aceitação, Planejamento de release, Planejamento de
Nesta etapa, após a validação da ferramenta foram previstos iteração, Acompanhamento do processo. Aspectos como
treinamentos a distância e presencial para os usuários. usabilidade, integração com outros sistemas e opção de
customizações, foram utilizados por Azizyan et al [1].
4. SELEÇÃO DAS FERRAMENTAS
Nesta seção apresenta-se o processo de 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.
4.1 Identificação das Ferramentas
Para o levantamento das ferramentas nas bases de dados foram Tabela 3. Avaliação dos plug-ins do Redmine
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
4.2 Seleção e Análise das Ferramentas Backlogs foi considerado o mais adequado para o contexto.
Foram estabelecidos alguns critérios para seleção das ferramentas.
A motivação é apresentada na Error! Not a valid bookmark 4.3 Validação da Ferramenta
self-reference.. 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
Tabela 2. Critérios para seleção das ferramentas
com os envolvidos no processo.
Motivações Critérios
A gestão do Backlog deve ser o Permitir o gerenciamento do 4.3.1 Configuração da Ferramenta e do Plug-in
principal aspecto considerado, Backlog, como a adição, edição e Considerando os aspectos do processo (Tabela 4), como os papéis,
visto que motivou a adoção de exclusão de itens, bem como a os status dos itens e o tipo de item do Backlog que pode ser
uma ferramenta alocação em iterações e entregas criado, foram configurados: a pontuação das histórias, os tipos de
A aquisição de uma ferramenta Ser gratuita itens do Backlog, o status dos itens, o perfil de usuário e as
não foi prevista pelo órgão, e permissões necessárias.
não havia orçamento previsto Tabela 4. Itens configurados
O processo de desenvolvimento Possuir configuração de perfis de
utilizado prevê vários papéis acesso
que devem interagir com a
ferramenta e esses papéis
devem possuir diferentes
permissões

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


Para a validação da ferramenta e plug-in foi realizada uma Informação.
apresentação para o Ministério por meio de reunião com os [4] Cavalcanti, E., Maciel, T.M. de M. and Albuquerque, J. 2009.
envolvidos no processo, representantes da DISIS, fornecedor de Ferramenta Open-Source para Apoio ao Uso do Scrum por
apoio à gestão e fábrica de software. A ferramenta foi aprovada e Equipes Distribuídas. III Workshop de Desenvolvimento
as configurações no ambiente do Ministério foram realizadas. Distribuído de Software, (Oct. 2009), 51-60.
[5] Dimitrijević, S., Jovanović, J. and Devedžić, V. 2014. A
4.4 Treinamento dos usuários comparative study of software tools for user story management.
O treinamento da ferramenta foi realizado presencialmente e a Information and Software Technology. (May 2014), 1-17. DOI =
distância. Essa estratégia foi escolhida levando em consideração o 10.1016/j.infsof.2014.05.012
fato da fábrica de software ser de outra cidade.
[6] Dybå, T. and Dingsøyr, T. 2008. Empirical studies of agile
O Ministério possui a plataforma moodle. A equipe configurou a software development: A systematic review. Information and
plataforma para treinamentos dos processos e ferramentas Software Technology. 50, 9-10 (Aug. 2008), 833–859.
definidas. Pela plataforma, o treinamento a distância foi composto
[7] Engum, E.., Racheva, Z. and Daneva, M. 2009. Sprint
de vídeos, slides e exercícios de fixação referentes à configuração
Planning with a Digital Aid Tool: Lessons Learnt. 35th Euromicro
e utilização da ferramenta.
Conference on Software Engineering and Advanced Applications,
Para o treinamento presencial, professores e estudantes 2009. SEAA ’09 (Aug. 2009), 259–262.
ministraram os cursos. A utilização da ferramenta e do seu plug-in [8] Gil, A.C. 2008. Como elaborar projetos de pesquisa. Atlas.
foi simulada com os seus usuários em cada parte do processo.
[9] Inglaterra National Audit Office 2012. Governance for Agile
Os treinamentos aconteceram no mês de janeiro a março de 2015, delivery. http://www.nao.org.uk/report/governance-for-agile-
e foram direcionados a todos os envolvidos, desde usuários do delivery-4/.
negócio do Ministério (Proprietário do Produto), servidores do
[10] Jalali, S. and Wohlin, C. 2012. Systematic literature studies:
Ministério e fornecedores de fábrica e de apoio à gestão.
database searches vs. backward snowballing. Proceedings of the
ACM-IEEE international symposium on Empirical software
5. CONSIDERAÇÕES FINAIS engineering and measurement (Sep. 2012), 29–38.
A seleção, treinamento e configuração da ferramenta de suporte [11] Jeff Sutherland, K.S. 2011. Guia do SCRUM: Um Guia
para o GeDDAS no Ministério fez parte de uma melhoria do Definitio do SCRUM - As regras do Jogo. SCRUM Org.
processo, o que acarretou a substituição de planilhas para uma
ferramenta mais apropriada para realização das atividades. [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
Embora, a escolha da ferramenta tenha sido para um contexto caso. Workshop Brasileiro de Métodos Ágeis, Porto Alegre (Jun.
específico, os critérios analisados e a análise podem ser utilizados 2010), 112-125.
para seleção de uma ferramenta para um contexto semelhante.
Atualmente, a ferramenta começou a ser utilizada em um projeto [13] Melo, C. de O., Santos, V., Katayama, E., Corbucci, H.,
no Ministério e como trabalho futuro será realizado o Prikladnicki, R., Goldman, A. and Kon, F. 2013. The evolution of
monitoramento do uso da ferramenta. agile software development in Brazil. Journal of the Brazilian
Computer Society. 19, 4 (Nov. 2013), 523–552.
6. AGRADECIMENTOS [14] Software Development: Effective Practices and Federal
Nossos agradecimentos pelo apoio recebido da UnB. Challenges in Applying Agile Methods: 2012.
http://www.gao.gov/assets/600/593091.pdf.

7. REFERÊNCIAS [15] Sousa, T.L. de, Figueiredo, R.M. da C., Venson, E.,
Kosloski, R.A.D. and Ribeiro Junior, L.C.M. 2016. Using Scrum
[1] Azizyan, G., Magarian, M.K. and Kajko-Matsson, M. 2011.
in Outsourced Government Projects: An Action Research. 2016
Survey of Agile Tool Usage and Needs. Agile Conference
49th Hawaii International Conference on System Science. (Jan.
(AGILE), (Aug. 2011), 29–38.
2016), 5447-5456.
[2] Brasil, Tribunal de Contas da União 2013. Acórdão 2314-
[16] Vacari, I. and Prikladnicki, R. 2015. Adopting Agile Methods
33/13-Plenário. Levantamento de Auditoria. Conhecimento acerca
in the Public Sector: A Systematic Literature Review.
da utilização de métodos ágeis nas contratações para
International Conference On Software Engineering And
desenvolvimentos de ágeis pela Administração Pública Federal.
Knowledge Engineering, 27, 2015.
[3] Brasil, Tribunal de Contas da União 2012. Guia de Boas

20
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016

Um Plugin para Discretização de Dados para Suporte à
Metodologia Agile Rolap
Alternative Title: A Plugin for Discretization of Data to Support the
Methodology Agile Rolap
Luan S. Melo, André Menolli, Glauco C. Silva, Ricardo G. Coelho, Felipe Igawa Moskado
Universidade Estadual do Norte do Paraná – UENP
Centro de Ciências Tecnológicas
Rod BR­369 Km 64
luan.sm50@gmail.com, {menolli, glauco, rgcoelho}@uenp.edu.br, felipe.moskado@gmail.com

RESUMO ABSTRACT
Os ambientes de Business Intelligence (BI) dão apoio aos The environments of Business Intelligence (BI) provide support to
administradores das empresas a tomarem decisões mais precisas managers of companies to make more accurate decisions for your
para sua organização. Esses ambientes, em geral, utilizam da organization. These environments currently using the Data
tecnologia de Data Warehouse (DW), que é um banco de dados Warehouse technology (DW), which is an integrated database and
integrado e voltado para consultas. Entretanto a construção de um prepared for query. However, the construction of a DW is a costly
DW é um processo custoso e demorado, tornando então um and time consuming process, so making an obstacle mainly for
obstáculo principalmente para pequenas e médias empresas. Com small and medium companies. In order to reduce this problem,
o intuito de reduzir este problema foi proposta a metodologia was proposed the Agile ROLAP methodology, which aims to
Agile ROLAP, que visa auxiliar na utilização de ferramentas assist in the use of OLAP tools from relational databases of
OLAP a partir das bases relacionais das empresas. Porém, os companies. However, managers most often need to view
analistas na maioria das vezes necessitam visualizar os dados categorized data (discretized data), so sometimes these
categorizado (dados discretizados), sendo assim, algumas vezes é transformations are needed. Nevertheless, the methodology
preciso realizar essas transformações. No entanto, a metodologia recommends not make changes in the physical basis and also to
preza por não fazer modificações dentro das bases físicas e minimize the process Extract, Transform and Load (ETL), in
também por minimizar o processo de Extract, Transform and which it is necessary to make the data discretization. Thus, this
Load (ETL), o qual é necessário para fazer a discretização dos work presents the development of plugins for Kettle tool that
dados. Assim, este trabalho apresenta o desenvolvimento de assists in the data discretization helping that the physical
plugins para a ferramenta Kettle e que auxilie na discretização de databases are not changed.
dados de forma com que não sejam alteradas as bases originais.
1. INTRODUÇÃO
Categories and Subject Descriptors As empresas com o decorrer do tempo guardam uma grande
H.2.7 [Database Management]: Database Administration – data quantidade de informações sobre a sua organização, e no intuito
warehouse and repository de utilizar as informações futuramente, muitas utilizam os
H.2.8 [Database Management]: Database Applications – data ambientes de Business Intelligence (BI),no qual estes ambientes
mining auxiliam na análise dos dados de forma eficiente e na tomada de
decisão dos administradores da empresa, facilitando também o
General Terms conhecimento sobre a sua organização.
Algorithms, Management, Performance.
A implementação de BI demanda custo e tempo, tornando assim
Keywords algo não trivial, pois é necessário um Data Warehouse (DW), no
Data Warehouse, Agile Rolap, Business Inteligence, qual tem como finalidade armazenar informações sobre as
Discretização. atividades da empresa de forma consolidada.
O processo de criação de um DW normalmente é realizado de
modo iterativo, porém, mesmo assim são necessários em torno de
15 meses ou mais para o que entre em produção o primeiro
Permission to make digital or hard copies of all or part of this work for módulo[1]. Sendo assim, foi proposto o método Agile ROLAP, no
personal or classroom use is granted without fee provided that copies are
qual tem como seu objetivo corrigir alguns problemas encontrados
not made or distributed for profit or commercial advantage and that
copies bear this notice and the full citation on the first page. To copy na implantação de um DW.
otherwise, or republish, to post on servers or to redistribu-te to lists, O objetivo da metodologia Agile ROLAP é permitir uma
requires prior specific permission and/or a fee.
implementação de forma ágil de ambientes de BI em que se
SBSI 2016, May 17–20, 2016, Florianópolis, Santa Catarina, Brazil. utilizem bancos de dados relacionais, e ao mesmo tempo permitir
Copyright SBC 2016. a utilização de ferramentas OLAP projetadas para ambientes
tradicionais por meio de um servidor ROLAP[2].

21
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016

No entanto, é proposto no Agile ROLAP, que se utilize um baseado nas informações geradas, assim podendo o administrador
mecanismo intermediário, no qual permita que os dados de conhecer melhor sobre o seu negócio além de possibilitar uma
diversas fontes de dados sejam integrados em uma única base, melhor competição no mercado.
fazendo com que se mantenha o conceito de DW. Porém na Na Figura 1 é mostrado como é o funcionamento do Agile
maioria das vezes os dados das bases relacionais são de forma ROLAP e a função de cada etapa apresentada na Figura 1 é
continua, isto é, um dado continuo contém toda informação de um descrita a seguir:
determinado domínio.
 Físico: Representa bases de dados originais. Nestas
Entretanto, os administradores das empresas geralmente desejam estão armazenadas em tabelas todas as informações da
que os dados estejam categorizados para que se possa fazer empresa obtidas com o decorrer do tempo.
analise dos mesmo de forma simples. Sendo assim, o processo de
transformar dados contínuos em dados categorizados é  FDW: Tem como finalidade agrupar todas as
denominado de discretização[3]. informações da empresa em uma única base de dados.
Estas informações estão armazenadas em formas de
Contudo, não consta na metodologia Agile ROLAP para se tornar tabelas, porém são cópias das tabelas originais que estão
mais simples para sua criação, fez com a diminuísse a etapa do armazenadas no Físico. Quando um usuário acessa a
Extract, Transform and Load (ETL), sendo esta importante para tabela, que está em base utilizando a tecnologia de
realização da discretização de dados. Portanto, é proposto neste Foreign Data Wrapper (FDW), consulta diretamente a
trabalho a realização de um plugin para a ferramenta Kettle, em base de origem de forma transparente, assim o usuário
que auxilie no processo de discretização de dados de forma com acha que está acessando a base no PostgreSQL, mas na
que não se altere as bases originais, mantendo o que foi proposto verdade está consultado os dados da base original. Com
na metodologia Agile ROLAP. isso não tem o risco de que os dados da base original
não sejam modificados, pois o FDW permite apenas o
2. REVISÃO BIBLIOGRÁFICA usuário a fazer consultas.
Esta seção apresenta uma visão geral de conceitos e elementos da  Schema: é um arquivo conhecido como schema XML.
construção de um Data Warehouse utilizando a metodologia Agile Esse arquivo realiza o mapeamento dos dados que estão
ROLAP, assim como uma breve revisão sobre discretização de armazenados na forma relacional, no caso no FDW, para
dados. os dados que devem ser mostrados na forma dimensio-
2.1 Agile ROLAP nal. Basicamente esse schema indica onde estão os valo-
res dos atributos na perspectiva multidimensional na
A necessidade de armazenar as dados de uma empresa e fazer uma base de dados relacional.
análise eficiente das mesmas é um processo muito importante no
mercado atual, com isso originou-se o DW, no qual é um depósito  OLAP: On-line Analytical Processing (OLAP) é a uma
de dados em que consiste em armazenar uma grande quantidade forma de se analisar grandes dados sobre múltiplas
de dados sobre às atividades de uma empresa. O uso de um DW perspectiva, no qual é amplamente utilizado nos
favorece uma melhor análise de um grande volume de dados por ambientes de BI, pois facilita a análise rápida dos dados
meio de ferramentas OLAP, auxiliando no processo de tomada de gerados na implantação de tal ambiente.
decisão das grandes organizações.
DW é o resultado do processo de transformação dos dados obtidos
de sistemas legados e de bancos de dados transacionais que ficam
organizados sob um formato compreensível ao usuário, auxiliando
na tomada de decisão [4]. Além disso, o DW possui algumas
características no qual se diferencia de outros tipos de modelagem
de dados, que são: Orientação por assunto, Integração, Não
Volatilidade e Não Variação no Tempo.
Figura 1. Funcionamento do Agile Rolap
No entanto, como mencionado anteriormente, o processo de
criação de um DW é custosa e demorada, o que muitas vezes se 2.2 Discretização de Dados
torna um empecilho para que, principalmente pequenas e médias O avanço da computação e tecnologia traz consigo grandes taxas
empresas o implantem. Dessa forma foi proposta a metodologia de informações, sendo elas explosivas, e que tendem a crescer
Agile ROLAP, que tem como intuito mitigar alguns problemas muito mais devido aos novos recursos tecnológicos que estão
encontrados na implantação de BI, principalmente diminuindo surgindo no mercado atualmente [6].
tempo com o processo de Extract, Transform and Load (ETL) .
Apesar da metodologia não utilizar o conceito tradicional de DW, Os dados dessa grande taxa de informação geralmente são
consegue-se por meio de seu uso utilizar as ferramentas Online extraídos de forma continua, isto é, tendem vir com toda a
Analytical Processing (OLAP) disponíveis no mercado. informação de um determinado problema. Os administradores de
empresas normalmente utilizam os dados categorizados para
Assim, a metodologia tem como intuito diminuir o tempo fazerem suas consultas nas bases de dados.
despendido no processo de ETL, pois não há necessidade de criar
Sendo assim, muitas vezes há uma necessidade de se transformar
uma nova base de dados. Estima-se que mais de 1/3 do custo na
os dados contínuos em dados categorizados, e essa transformação
elaboração de um DW se dá no processo de ETL [5]. Isto permite
de dados é denominada de discretização de dados.
que pequenas empresas possam usufruir de ferramentas OLAP
voltadas para ambientes de BI tradicionais, proporcionando A discretização de dados normalmente é aplicadas nos atributos
auxilio na tomada de decisão do administrador da organização que são usados para a análise de classificação ou associação. Para

22
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016

a realização da discretização de dados, ou seja, transformar um Assim, com intuito de manter os preceitos da metodologia, o
dado contínuo em categorizado envolve duas subtarefas: decidir o plugin desenvolvido também utiliza o PostgreSQL para realizar as
número de categorias; e determinar como mapear os valores do suas funcionalidades, pois caso sejam necessários criar novos
atributo contínuo entre essas categorias [3]. Na primeira subtarefa, atributos discretizados, estes serão criados na base intermediária e
os valores dos atributos contínuos são devidos em n intervalos, não nas bases de origem. Dessa maneira, para o funcionamento do
denominado ponto de divisão. Na segunda, os valores de um plugin, são criadas views materializadas dentro da base de dados
determinado intervalo são mapeados para o mesmo valor de intermediária. Uma view pode ser entendida com uma tabela
categoria. virtual, no qual se é criada por uma consulta. Isto acontece pois a
Existem dois tipos de discretização de dados[3]: metodologia Agile ROLAP preza para que não se altere as tabelas
originais novos atributos são criados na view correspondente a
 Discretização sem Supervisão: Discretização não-
tabela original, acrescentando um novo campo, sendo este dado
supervisionada gera intervalos sem utilizar a informação da
por uma função que será responsável pela discretização dos dados.
classe, e é a única possibilidade na tarefa de agrupamento.
Esse tipo de discretização possui duas abordagens: largura Os plugins já desenvolvidos para a metodologia Agile ROLAP,
igual (divide a faixa dos atributos em um número de foram implementados na ferramenta Pentaho Data Integration
intervalos especificados pelo usuário) e frequência igual (Kettle), sendo este uma plataforma de integração de dados, que
(tenta colocar o mesmo número de objetos em cada possibilita a análise de dados de forma precisa, além de permitir a
intervalo). obtenção de dados de diversas fonte de dados e permite a
 Discretização Supervisionada: Os intervalos são visualização por meio de componentes visuais [7]. Foi
determinados em função dos valores do atributo e da classe desenvolvido um novo plugin pois necessitava de algo que não se
correspondente a cada valor. Esse tipo possui vários alterasse a tabela original e que pudesse fazer discretizações
métodos, sendo um deles a entropia, sendo ela uma das mais utilizando vários atributos.
promissoras para discretização.
Na Figura 2 é apresentada uma interface que mostra o
A discretização de dados consiste em uma das etapas do processo funcionamento da ferramenta Kettle. Nesta interface, pode-se
de Extract, Transform and Load (ETL). Como mencionado observar como é realizado o processo de ETL de forma prática e
acima, ela é realizada para que possa determinar um padrão das simples por meio de plugins que executam tarefas especificas,
informações. sendo então possível a realização de transformações complexas
Um exemplo de uso da discretização dos dados é identificar a nos dados, no qual estes plugins tendem a convergir para um
faixa etária das pessoas que alugam filmes em uma locadora. único objetivo.
Suponha-se que no sistema possua somente a idade da pessoa, Por a ferramenta Kettle ser open source, existem diversos
porém não consta a sua faixa etária, com isto é feita a plugins para as mais várias tarefas da ETL, inclusive que auxiliem
discretização dos dados, transformando a idade da pessoa em na discretização de dados. No entanto, pelas particularidades da
categorias de idade, para que possam ser analisadas futuramente. metodologia Agile ROLAP foi estabelecido que seria necessário o
Contudo, ao realizar uma discretização pode ser necessário a desenvolvimento de um novo plugin, que pudesse ser totalmente
transformação de atributos, no qual se refere a uma transformação integrado à outros plugins já desenvolvidos para dar suporte à
que seja aplicada a todos os valores de um atributo, que é metodologia.
realizado “se a apenas a magnitude de um atributo for importante,
então os valores dos atributos podem ser transformados pegando-
se o valor absoluto” [3]. Por exemplo, se ao invés de ter
armazenado na base de dados a idade das pessoas e sim a data de
nascimento, antes de realizar a categorização dos dados, seria
necessário transformar a data de nascimento em um atributo
contínuo idade.

3. DESENVOLVIMENTO DO PLUGIN
Com o intuito a dar suporte às necessidades do administrador de
empresas que visa consultar as fontes de dados de forma que os
dados estejam categorizados, e para que pudesse agilizar o
processo de implantação de um ambiente de BI utilizando a
metodologia Agile ROLAP, foi desenvolvido um plugin de Figura 2. Pentaho Data Integration (Kettle). Fonte: Pentaho (2016 )
discretização de dados. Sendo assim, o plugin de discretização de dados é apresentado na
O plugin de discretização de dados foi elaborado para ser Figura 3. Como mostrado, este contém alguns campos que devem
integrado a outros plugins que dão suporte à metodologia Agile ser preenchidos para o funcionamento do mesmo. Existem sete
ROLAP. Em uma das etapas desta metodologia é previsto que os campos dentro do plugins que podem ser preenchidos, porém seis
dados de diversas fontes de dados, sejam agrupados em uma única deles são obrigatórios.
base de dados, utilizando a tecnologia Foreign Data Wrapper O primeiro campo é onde se dá o nome da view materializada
(FDW). Com isso, é feito um mapeamento das bases de dados criada pelo plugin. O segundo campo obrigatório é “connection”,
relacionais para uma base intermediária, sendo esta base criada responsável por fazer a conexão com o banco de dados, esta
dentro do Sistema de Gerenciamento de Banco de Dados (SGBD) conexão serve para pegar os atributos das tabelas e também
PostgreSQL. servirá para indicar onde será criada a view materealizada. O
terceiro campo obrigatório é o campo tabela, responsável por
identificar qual tabela receberá os dados discretizados.

23
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016

O quarto campo é responsável por identificar qual tipo de função Com estes preliminares realizados, pode-se comprovar que o
será usada para discretização, sendo elas: função criadas pelo plugin é útil para a discretização dos dados, fácil de ser utilizado e
usuário; funções próprias do banco e uma outra que é nova o mesmo agiliza o processo de discretização dos dados, pois o
função. Cada função tem um objetivo especifico para mesmo trabalha de forma intuitiva. Por fim, verificou-se que o
discretização dos dados. mesmo está totalmente de acordo com a metodologia Agile
ROLAP, que era um dos principais objetivos do plugin.
O quinto campo, obtém as funções já implementadas, porém este
campo só é liberado caso seja escolhida no campo “tipo de Como principal limitação, constou-se que para utilização do
função”, a opção diferente de “nova função”. plugin é necessário o entendimento do mecanismo de criação de
funções por meio de PL/SQL.
O sexto campo conterá atributos no qual a função receberá para
fazer a discretização de dados. Para cada atributo selecionado é 5. CONSIDERAÇÕES FINAIS
necessário clicar no botão “adicionar” para que o mesmo possa ser Com a proposição da metodologia Agile ROLAP [2], muitos
vinculado a regra da função. desafios surgiram na sua implantação, principalmente por não
existir ferramentas específicas para este fim. Com o tempo, foi
O sétimo e último campo, só irá aparecer caso, no campo “tipo de
sendo percebido, que novos plugins eram necessários para que a
função”, for selecionado o atributo “nova função”. Neste caso irá
metodologia se tornasse viável de ser implantada de forma fácil e
ser exibido um novo campo, que dará a liberdade de se criar uma
rápida, e assim atingir o seu principal objetivo. Dentre estes
nova função para discretização dos dados.
plugins identificados como necessários, está o de discretização de
Após todos os campos serem preenchidos, é realizadas então a dados.
discretização dos dados, criando então uma view materializada já Assim, foram estudadas as necessidades específicas que este
com o novo campo criado no qual se refere a discretização dos plugin deveria abordar, assim como este deveria ser integrado a
dados. outros plugins já existentes. Com o uso do plugin desenvolvido,
verificou-se que, apesar de necessitar do entendimento do
mecanismo de criação de funções por meio de PL/SQL, para sua
utilização, os resultados foram satisfatórios, pois o mesmo agiliza
no processo de discretização de dados, já que o mesmo tem uma
interface intuitiva e simples de ser usada.

6. AGRADECIMENTOS
Meu agradecimento ao órgão CNPq (Conselho Nacional de
Pesquisas) pela bolsa que me foi concebida.

7. REFERÊNCIAS
[1] MACHADO, Felipe N. R. “Tecnologia e Projeto de Data
Warehouse: Uma visão multidimensional” São Paulo: Érica
2010 5 ed.
[2] SOUZA, E. B.; MENOLLI, André; COELHO, Ricardo
Figura 3. Plugin de Discretização de Dados Gonçalves. 2014 Uma Metodologia Agile ROLAP para
Implantação de Ambientes de Inteligência de Negócios. Em:
4. RESULTADOS X Escola Regional de Banco de Dados, São Francisco do
A fim de verificar se o plugin desenvolvido é viável para Sul. Anais 10ª. edição da ERBD.
discretização de dados e se adequa à metodologia Agile ROLAP, [3] MENDES, Luciana 2011. Data Mining – Estudo de Técnicas
foram realizados dois testes, utilizando uma base de dados e Aplicações na Área Bancária in Faculdade De Tecnologia
exemplo Postgres, chamada Pagila, pela qual foi inspirada pela De São PauloFATECPaulo FATEC-SP.
Dell DVD Store para elaboração da mesma. [4] KIMBALL, R., Caseta, J. 2004. The Data Warehouse ETL
Os testes foram feitos empregando a tabela “film” e utilizou o Toolkit: Practical Techniques for Extracting, Cleaning,
atributo “length” para fazer a discretização. Este atributo foi Conforming, and Delivering Data, John Wiley & Sons.
escolhido, pois contém a duração de cada filme e também por [5] MENOLLI, André 2006. A Data Warehouse Architeture em
estar na forma continua, tornando necessário a discretização Layers for Science and Technology in Proceedings of the
desses dados para que ele fique na forma categorizada. Definiram- Eighteenth International Conference on Software
se as categorias como sendo: curta, média e longa metragem, Engineering Knowledge Engineering (SEKE'2006), San
conforme encontrado na literatura. Francisco, CA, USA.
No primeiro teste realizado, como não foi encontradas funções [6] BUENO, Michel Ferreira. 2012. Mineração de Dados:
que possam realizar a categorização específica de tamanho de Aplicações, Eficiência e Usabilidade. Em Anais do
filmes, foi necessária a criação de uma nova função, no qual a Congresso de Iniciação Científica do INATEL.
mesma foi elaborada no plugin. [7] PENTAHO. 2014 Pentaho Data Integration: Power to access,
O segundo teste realizado, foi utilizando a mesma função criada prepare and blend all data. Pentaho Corporation Disponível
no teste anterior, porém neste caso, não foi executada a etapa de em: <http://www.pentaho.com/product/data-integration/> em
criação da função, pois a mesma já se encontrava na lista de 2014.
funções criadas.

24
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016

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 Leonardo Roza Melo3
Maria José Baldessar2 Priscila Basto Fagundes4
Programa de Pós Graduação em Engenharia e Gestão Faculdade de Tecnologia SENAI Florianópolis 3 4
do Conhecimento – PPEGC/UFSC 1 2 proinfotecnologia@gmail.com3
alineantonelioliveira@gmail.com1 priscila@edu.sc.senai.br4
mbaldessar@gmail.com2

RESUMO General Terms


A presente pesquisa tem como objetivo realizar avaliação de Design, Human Factors.
usabilidade de um sistema que realiza atendimento para uma
empresa de telefonia, que possui recursos de interface de resposta Keywords
audível. A técnica aplicada para navegação no sistema foi o System Interactive Voice Response, Heuristics Usability,
Percurso Cognitivo. A avaliação da usabilidade foi baseada em 13 Cognitive Walkthrough.
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 1. INTRODUÇÃO
possível avaliar as heurísticas respeitadas e violadas. Espera-se que
as técnicas apresentadas evoluam para um modelo de avaliação de Ao desenvolver uma interface homem-máquina (IHM), nem
usabilidade de URA’s (Unidades de Resposta Audível). 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
Palavras-Chave podem implicar em problemas tanto para o projetista como para
Sistema de Resposta Audível, Heurísticas de Usabilidade, Percurso quem vai usar as interfaces [3].
Cognitivo.
Problemas de interpretação podem atrapalhar ou impedir que
ABSTRACT pessoas de diferentes particularidades executem tarefas simples ao
utilizar diversos tipos de interface. Pretende-se, neste trabalho,
This research aims to perform usability evaluation of a system that avaliar o contexto das interfaces de resposta audível. As maiores
performs service for a telephone company, which has voice dificuldades encontradas por usuários neste tipo de interface são o
response interface features. The technique applied to navigation acompanhamento da informação, identificação de posição das
system was the Cognitive Walkthrough. The evaluation of the teclas e botões, navegação entre menus, dificuldades de adaptação
usability was based on 13 principles selected, which were based on em novas ações, compreensão do áudio, entre outras.
ergonomic criteria of Bastien and Scapin, and Nielsen’s heuristics.
From the cognitive walkthrough analysis, it generates a criticality A partir destas dificuldades, resolveu-se estudar melhorias de
table, where it was possible to evaluate the respected and violated usabilidade nesse segmento com a finalidade de facilitar o
heuristics. It is expected that the presented techniques evolve for entendimento dos usuários na utilização de interfaces de resposta
usability evaluation model for IVR’s (Interactive Voice Response) audível e facilitar a interatividade entre o homem e o sistema.
systems. O presente trabalho objetiva, portanto, realizar avaliação de
usabilidade em um sistema que realiza atendimento para uma
Categories and Subject Descriptors empresa de telefonia, que conta com recursos de interface de
D.2.2 [Software Engineering]: Design tools and techniques – user resposta audível. A avaliação será realizada com base na técnica do
interfaces. Percurso Cognitivo[2], nos critérios ergonômicos de Bastien e
Scapin [1] e Heurísticas de Nielsen [10] [11] [12].
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 A utilização da técnica do Percurso Cognitivo juntamente com
not made or distributed for profit or commercial advantage and that copies Avaliações Heurísticas, normalmente são utilizadas para avaliação
bear this notice and the full citation on the first page. To copy otherwise, de interfaces web, onde a interação é realizada basicamente através
or republish, to post on servers or to redistribute to lists, requires prior de teclado [6] [7] [8]. Este trabalho, portanto, trouxe uma nova
specific permission and/or a fee.
perspectiva de utilização destas técnicas, aplicando-as em URA’s
SBSI 2016, May 17–20, 2016, Florianópolis, Santa Catarina, Brazil.
Copyright SBC 2016. (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 3. TESTE DE PERCURSO COGNITIVO
de aplicação de métodos de avaliação de usabilidade, que
fundamentalmente foram desenvolvidos para navegação através de O percurso cognitivo é um método de inspeção, realizado por
teclado, em sistemas multimodais (onde há múltiplas interações especialistas, sem a participação de usuários. O Método de
simultâneas de dados e voz) [10], e softwares leitores de tela [13]. Percurso Cognitivo foi proposto em 1994 por Wharton, Rieman,
As técnicas apresentadas também já foram aplicadas em avaliação Lewis e Polson [2]. Seu principal objetivo é avaliar a facilidade de
de usabilidade sistemas web [7]. Porém, este trabalho apresenta aprendizado de um sistema interativo, através da exploração da sua
estas técnicas em sistemas onde o usuário, através de um aparelho interface. Considera principalmente a correspondência entre o
telefônico, liga para um número e interage com um sistema de modelo conceitual dos usuários e a imagem do sistema, no que
resposta audível, e através das técnicas apresentadas, heurísticas de tange à conceitualização da tarefa, ao vocabulário utilizado e à
usabilidade são avaliadas, o que o torna relevante devido ao fato resposta do sistema a cada ação realizada [2]. Objetiva encontrar
deste conjunto de métodos ainda não haver sido aplicado em problemas de usabilidade relacionados à aprendizagem dos passos
interfaces desse tipo. necessários para realizar as tarefas [8]. Permite que os especialistas
simulem o percurso das tarefas realizadas pelos usuários,
A Seção 02 trata dos aspectos conceituais sobre URA. A Seção 3 verificando se a cada passo o usuário conseguiria alcançar o
traz a respeito da Interação Humano Computador, conceitos sobre objetivo correto, evoluindo na interação com a interface [8].
Multimodalidade e URA Multimodal. A Seção 4 apresenta os
procedimentos e métodos adotados para que fosse realizada a A aplicação da técnica consiste em:
avaliação de usabilidade na interface multimodal apresentada. A
a) definir quem são os usuários da interface, analisando suas
seção 5 apresenta os resultados da avaliação realizada, trazendo o
características e comportamentos.
resultado do percurso cognitivo, assim como a Tabela de
Criticidade, onde são realizadas sugestões de melhorias na interface b) definir as tarefas típicas que serão analisadas.
analisada. A Seção 6 apresenta uma reflexão sobre o que foi
realizado, assim como sugestões para a continuação deste trabalho. c) definir a sequência de ações para a realização correta de
cada tarefa.
c) definir a interface a ser analisada, que é a descrição de
2. INTERAÇÃO HUMANO-COMPUTADOR informações necessárias para que as tarefas sejam realizadas, como
requisitos e regras funcionais [8].
(IHC) e UNIDADE DE RESPOSTA AUDÍVEL
(URA)
A URA é um sistema automatizado de atendimento ao usuário 4. PROCEDIMENTOS E MÉTODOS
muito utilizado por empresas de maior porte e de grande
comunicação via telefone. Com ela é possível atender ligações e Para realizar as avaliações de usabilidade em interface de resposta
audível, utilizou-se a técnica do percurso cognitivo [2] juntamente
gerenciá-las em modo espera ou então transferi-las de acordo com
com as heurísticas de usabilidade de Nielsen [12] e os critérios
a especificação que o usuário disca no teclado do telefone. Para o
usuário, não é um sistema muito agradável, pois se vê obrigado a ergonômicos de Bastien e Scapin [1]. Para isso, foi selecionado um
interagir com uma espécie de robô. Já para as empresas, as URA’s sistema de resposta audível de uma empresa de telefonia. O critério
são de grande utilidade, visto que elas substituem pessoas, para a escolha do sistema foi feita com base na experiência do
pesquisador como usuário desta interface e cliente da referida
redirecionam melhor as ligações sabendo exatamente para qual
setor encaminhar as mesmas e podem funcionar 24 horas por dia e empresa. Necessário é mencionar que a experiência do especialista
7 dias por semana, sem interrupções [10][15]. no momento da utilização da interface é importante para a avaliação
do método a ser utilizado, pois como especialista ele precisa antever
As interfaces de interação com computadores tem sido alvo de os possíveis passos que os usuários realizarão para navegar pela
diversas pesquisas nas últimas décadas. A IHC é a área responsável interface.
pelo design, avaliação e implementação de sistemas
computacionais interativos para uso humano. Propicia o A presente pesquisa, classificada como qualitativa [5] [16], tem em
desenvolvimento de sistemas mais amigáveis e úteis, provendo aos sua característica interpretativista [9], a visão de mundo do
pesquisador. Este fato foi levado em consideração na escolha do
usuários melhores experiências [17]. Procura também apoiar o
sistema avaliado e mesmo que tenha sido com base em sua
estudo de interfaces adaptativas e adaptáveis, objetivando melhores
maneiras de interação. experiência pessoal como usuário do sistema e cliente da empresa,
não influenciou nos resultados alcançados.
Alguns autores dizem que o ideal é que interfaces sejam o mais
minimalista possível, para que a operação do equipamento seja
possível com a menor necessidade de habilidade ou conhecimento 4.1 Aplicação do teste de Percurso Cognitivo
prévio. Deve ser intuitiva para qualquer pessoa, invisível, passando
despercebida [10]. Para a aplicação do teste de percurso cognitivo foi criado um
cenário e proposta uma tarefa, que é ligar para a empresa telefonia,
A relação entre um dispositivo de entrada ou saída (microfone,
que aqui será denominada X. O avaliador é o especialista.
teclado, tela sensível ao toque) e uma linguagem de interação
(linguagem natural, manipulação direta) é chamada modalidade.
Consequentemente, a interação multimodal pode ser definida como
a utilização de duas ou mais modalidades para interagir com um 5.1.1 Cenário
sistema [14].
O usuário está enfrentando problemas de navegação e seu provedor
de Internet é a empresa X. Ele já é cliente da empresa há muito

26
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016

tempo, todas as configurações do aparelho estão corretas, porém Para a avaliação do sistema escolhido, foram utilizadas 13
existe um problema de navegação na Internet. Ele deve ligar para a recomendações, sendo que 07 (sete) delas foram escolhidas com
central de atendimento e tentar resolver o problema de navegação. base nos 10 princípios de Jakob Nielsen [12], e 06 (seis) nos
critérios ergonômicos de Scapin e Bastien [1]. O critério utilizado
para a escolha destas recomendações é que, através de estudos do
pesquisador, as recomendações escolhidas são as mais adequadas
5.1.2 Tarefa ao cenário da utilização do sistema de resposta audível. As
Ligar para a empresa X para tentar resolver um problema de recomendações são:
conexão com a Internet. H1. Visibilidade do status do sistema [12] - O sistema deve
informar aos usuários sobre o que está acontecendo, através de
feedback disparados a cada interação ou a cada escolha de opção.
5.1.3 Sequência de ações H2. Correspondência entre o sistema e o mundo real [12] - O
Passo 1 – Aguardar a URA informar qual é a opção referente ao sistema deve ter uma linguagem clara com os usuários. Com
seu problema. Neste caso, o usuário não deve escolher nenhuma palavras, frases e conceitos comuns ao usuário.
opção e deixar a URA conduzir a ligação para a próxima etapa. A H3. Controle do usuário e liberdade [12] - Os usuários
URA informa que se o usuário quiser atendimento para outro eventualmente escolhem algumas funções do sistema por engano e
número, ele deve pressionar asterisco (*) em qualquer momento da deverão precisar de uma “saída de emergência” clara e distinta para
ligação. sair daquela opção indesejada.
Passo 2 – Neste passo, o usuário também não deve escolher H4. Prevenção de erros [12] - Prevenção de erros significa
nenhuma opção, pois a URA o conduz para a próxima etapa para permitir que os erros não aconteçam.
resolver o problema. A URA informa que o usuário receberá um
torpedo com o protocolo inicial do atendimento e dá a opção do H5. Reconhecimento em vez de recordação [12] - O usuário não
usuário de digitar “1” para receber o protocolo naquele momento precisa ter que lembrar da informação anterior para passar para a
ou que ele poderia aguardar em ligação para continuar. próxima etapa.
Passo 3 – Aguardar a URA informar qual é a opção referente ao H6. Flexibilidade e eficiência de utilização [12] - O sistema deve
problema do usuário. Neste caso, o usuário deve escolher a opção atender a ambos os usuários, inexperientes e experientes. Permitir
“5”, que trata de como fazer, receber chamadas e acessar a Internet. que os usuários possam personalizar ações mais frequentes.
Passo 4 – Aguardar a URA informar qual é a opção referente ao H7. Estética e design minimalista [12] - Os diálogos não devem
seu problema. Neste caso, o usuário escolher a opção “1”, “Se não conter informações desnecessárias ou raramente utilizadas, pois
consegue acessar a Internet, digite 1”. irão competir com diálogos mais usuais confundindo ou poluindo a
visibilidade.
Passo 5 – Aguardar a URA informar qual é a opção referente ao
seu problema. Neste caso, escolher a opção 2 “Se você já H8. Condução/convite [1] - O objetivo é conduzir o usuário a um
configurou e ainda permanece com dificuldades para acesso à caminho correto na utilização do sistema.
Internet, digite ‘2’”.
H9. Condução/agrupamento e distinção de itens/agrupamento
e distinção por localização [1] - Proporciona mais facilidade a
todos os tipos de usuário, trata da organização dos itens de
5.1.4 Questões aplicadas à execução do percurso informação levando em conta a relação que estes itens guardam
entre si.
As questões aplicadas serão as seguintes:
H10. Condução/Feedback imediato [1] - Feedback é um retorno
I. Os usuários farão a ação correta para atingir o resultado imediato que o sistema deve oferecer após as ações executadas
desejado? pelos usuários.
II. O usuário perceberá que a ação correta está disponível? H11. Carga de trabalho/Brevidade/ações mínimas [1] -
III. O usuário associará o elemento de interface correto à meta Minimiza e simplifica um conjunto de ações necessárias para o
a ser atingida? usuário alcançar seu objetivo.

IV. Se a ação correta é tomada, o usuário perceberá que H12. Controle explícito/Controle do usuário [1] - Cabe ao
progrediu em direção à solução da tarefa? sistema deixar o usuário no controle dos processos, dando a
liberdade de cancelamento, reinício, retomada, interrupção ou a
finalização.

4.2 Análise heurística H13. Gestão de erros/Correção de erros [1] - Permitir a correção
de seus erros, o sistema deve oferecer meios que permitam que o
Análise heurística é uma técnica de inspeção feita por especialistas, usuário corrija os erros de forma fácil e amigável.
que tomam como base princípios e orientações práticas de
Os problemas encontrados foram classificados em 3 graus de
usabilidade. Segundo o mesmo autor, o objetivo é identificar os
criticidade: alta, média e baixa. Essa classificação tem o objetivo
problemas de usabilidade existentes nas interfaces, através da
de identificar quais são os problemas mais graves, que impedem a
rigorosa aplicação desses princípios durante o processo de análise
interação do usuário com a interface; quais são medianos, que tem
[7].
grande chance de causar problemas na interação; e quais são leves,
que eventualmente podem causar problemas de interação. Os graus

27
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016

de criticidade são proporcionais à prioridade com que os problemas 5.2 Análise Heurística
devem ser solucionados. Problemas de criticidade alta devem ser
resolvidos em curto prazo; problemas médios têm prioridade média A análise heurística foi feita nos passos onde se passam as quatro
de resolução; e problemas de criticidade baixa podem ser perguntas analisadas no percurso cognitivo. Foi criada uma legenda
solucionados em longo prazo. para identificar cada heurística e apresentado na Tabela 02.
A tabela de criticidade é onde estão cruzadas todas as informações
levantadas no percurso cognitivo, quais princípios e heurísticas as
5 RESULTADOS E DISCUSSÕES etapas desrespeitam, e o grau de criticidade que irá informar qual é
a prioridade na manutenção do produto e ainda indica as
Após realizadas as tarefas, foi feito o cruzamento das informações recomendações cabíveis para cada problema.
entre as questões do percurso cognitivo e os passos da tarefa
executada, onde foi avaliado se a etapa do sistema está de acordo Tabela 2 – Tabela de Criticidade
com os critérios de usabilidade escolhidos. Foi definido três tipos

Recomendações
de resposta para as questões: "Sim", "Sim, porém" e "Não”.

Desrespeitadas
Heurísticas

Criticidade
Problema
5.1 Análise do percurso cognitivo

ID
A opção a ser escolhida não H1, Informar a Média
A tarefa consistiu em ligar para a empresa X para resolver um Passo 1 é informada pela URA, H2, opção a ser
problema de conexão com a Internet. A tabela 1 apresenta os Questão II pois ela deixa opção H6, escolhida, não
resultados dos passos realizados pelo especialista ao utilizar a "oculta", nesse caso a H7, deixá-la oculta
opção é "aguardar sem H8, e acrescentar
interface multimodal, relacionando os passos apresentados em digitar nada" e a URA não H10 feedback
5.1.3 e às questões do percurso cognitivo apresentadas em 5.1.4. informa desta forma,
entretanto, somente o
Tabela 01 – Resultado do percurso cognitivo usuário mais experiente
consegue entender isso
Passo 01 Passo 02 Nesse caso a URA está H2, Retirar a Média
Questão I – Sim Questão I – Sim Passo 2 falando sobre torpedo com H6, mensagem
Questão protocolo e não sobre o H7, sobre torpedo
Questão II - Sim, porém a opção a ser Questão II – Sim III suporte que está sendo H8,
escolhida não é informada pela URA, pois buscado o que dificulta no H9,
ela deixa a opção “oculta”. O usuário deve Questão III - Sim, porém somente entendimento da tarefa H10
aguardar e não digitar. A URA, porém, usuários mais experientes O usuário deve aguardar H1, Informar a Média
não informa isto ao usuário. compreenderão o que está sendo Passo 3 vários segundos até a URA H7, opção a ser
solicitado. Questão I informar outros dados e H8, escolhida,
Questão III – Não e II chegar na opção desejada H9 diminuir o
Questão IV – Sim
tempo de
Questão IV – Sim
resposta
Passo 03 Passo 04 Essa opção está junto com H6, Separar as Média
Passo 3 outra na mesma escolha e H7, opções
Questão I - Sim, porém a URA informa Questão I – Sim Questão acaba confundindo o H9
dados sobre conta e usuário deve aguardar IV usuário
Questão II – Sim A falta do feedback do H1, Acrescentar Média
até informar a opção desejada.
Passo 4 sistema deixa o usuário na H6, feedback
Questão III – Sim
Questão II - Sim, porém o usuário deve Questão dúvida, ela não informa que H10
aguardar vários segundos até a URA Questão IV - Sim, porém a falta IV avançou para a próxima
informar outros dados e chegar na opção de feedback do sistema deixa o etapa
desejada. usuário na dúvida, não informando
que o usuário avançou para a
Questão III – Não
próxima etapa. No Passo 1, Questão II e Passo 2, Questão III, praticamente os
Questão IV - Sim, porém essa opção está mesmos princípios foram violados. Elas iniciam com a opção do
junto com outra função na mesma opção, menu a ser escolhida não sendo informada pela URA, deixando
o que confunde o usuário.
opção "oculta". Neste caso a opção é "aguardar sem digitar nada" e
Passo 05 a URA não deixa esta informação explícita. Somente o usuário mais
Questão I – Sim Questão II – Sim Questão III – Sim Questão IV - Sim experiente consegue compreender que deve aguardar, o que
dificulta no entendimento da tarefa fazendo com que a interface
Analisando a Tabela 01, percebe-se que no cruzamento das desrespeite a heurística H1, “Visibilidade do status do sistema”.
respostas fornecidas, a avaliação do percurso identificou 12 Desrespeitou também a heurística H2, “Correspondência entre o
respostas “Sim”, 6 respostas “Sim, porém” e 2 respostas “Não”. sistema e o mundo real”, onde o sistema deve ter uma linguagem
Através desta análise, pode-se concluir que a tarefa proposta neste clara com os usuários. Com palavras, frases e conceitos comuns ao
sistema possui 60% das etapas para chegar ao objetivo estão claras usuário. A heurística H6, “Flexibilidade e eficiência de utilização”
para o usuário. também foi desrespeitada, pois o sistema deve atender a ambos os
Várias heurísticas dentre as levantadas em 5.2 foram usuários, inexperientes e experientes. O princípio H7, “Estética e
desrespeitadas. No próximo tópico, será possível verificar as design minimalista” foi desrespeitado, pois os diálogos não devem
heurísticas e as recomendações para melhoria na navegabilidade da conter informações desnecessárias ou raramente utilizadas. O
URA analisada. princípio H8, “Condução/convite” foi desrespeitado, pois a URA
deveria conduzir o usuário a um caminho correto na utilização do
sistema e o princípio H10, “Condução/Feedback imediato” foi

28
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016

desrespeitado, pois a URA deveria fornecer um retorno imediato permitiu apresentar os testes realizados somente em um sistema de
após as ações executadas pelos usuários. telefonia, porém é interessante mencionar que os autores aplicaram
esta técnica também a outros sistemas de resposta audível, obtendo
No Passo 3, Questão I e II, a URA informa dados sobre conta e resultados semelhantes, trazendo a possibilidade de validar as
usuário e demora alguns segundos para apresentar as opções técnicas como um futuro modelo.
esperadas o que dificulta no entendimento da tarefa fazendo com
que a interface desrespeite o princípio H1, “Visibilidade do status As técnicas apresentadas, portanto, possuem potencial para evoluir
do sistema” e H7, “Estética e design minimalista”, onde os diálogos para um modelo de avaliação de usabilidade em sistemas de
não devem conter informações desnecessárias ou raramente interface de resposta audível. Sugere-se englobar testes de
utilizadas. Desrespeitou também o princípio H8, usabilidade que envolvam usuários reais dos sistemas, não somente
“Condução/convite”, onde o objetivo é conduzir o usuário a um especialistas. Seria interessante também que um conjunto de
caminho correto na utilização do sistema e o princípio H9, especialistas apliquem o modelo proposto em outras interfaces
“Condução/agrupamento e distinção de itens/agrupamento e multimodais que envolvam URA’s, para que se verifique, com
distinção por localização”. Desrespeitou o princípio H10, outras pesquisas, a eficácia de um futuro modelo.
“Condução/Feedback imediato”, onde o feedback é um retorno
imediato que o sistema deve oferecer após as ações executadas
pelos usuários.
7. REFERÊNCIAS
No Passo 3, Questão IV, essa opção está junto com outra na
mesma escolha e acaba confundindo o usuário, o que dificulta no [1] Bastien, C., and Scapin, D. Ergonomic Criteria for the
entendimento da tarefa fazendo com que a interface desrespeite o Evaluation of Human Computer Interfaces. INRIA (1993).
princípio H6, “Flexibilidade e eficiência de utilização”. [2] Cathleen Wharton, John Rieman, Clayton Lewis, and Peter
Desrespeita também o princípio H7, “Estética e design Polson. The cognitive walkthrough method: a practitioner's guide.
minimalista”, onde os diálogos não devem conter informações In Usability inspection methods, Jakob Nielsen and Robert L.
desnecessárias ou raramente utilizadas, pois irão competir com Mack (Eds.). John Wiley & Sons, Inc., New York, NY, USA,
diálogos mais usuais confundindo ou poluindo a audibilidade. (1994) 105-140.
Desrespeitou o princípio H9, “Condução/agrupamento e distinção
de itens/agrupamento e distinção por localização”. [3] Cordeiro, Renato, and Oliveira, Marcos Roberto, and
Chanquini, Thaís Pereira. Utilização de conceitos de interface
No Passo 4, Questão IV, a falta do feedback do sistema deixa o homem-máquina para adaptação da disciplina de requisitos do
usuário na dúvida, não deixando claro que a navegação avançou RUP. São Paulo: Laboratório de Pesquisa em Ciência de Serviços.
para a próxima etapa. Desrespeitou, portanto o princípio H1, Centro Paula Souza, (2009).
“Visibilidade do status do sistema”, onde o sistema deve informar
aos usuários sobre o que está acontecendo, através de feedback [4] Costa, José Fabiano da Serra, and Felipe, Ada Priscila
disparados a cada interação ou a cada escolha de opção. Machado, and Rodrigues, Monique de Menezes. Avaliação da
Desrespeitou o princípio H6, “Flexibilidade e eficiência de escolha de unidade de resposta audível (URA) através do Método
utilização”, onde o sistema deve atender a ambos os usuários, de Análise Hierárquica (AHP). In: Revista GEPROS,
inexperientes e experientes. Desrespeitou o princípio H10, Departamento de Engenharia de Produção da Faculdade de
“Condução/Feedback imediato”, onde o feedback é um retorno Engenharia da UNESP, Bauru/SP, year 3, n. 3, (2008) 147-161
imediato que o sistema deve oferecer após as ações executadas
pelos usuários. [5] Creswell, J. W. Projeto de pesquisa: Métodos qualitativo,
quantitativo e misto. 3. ed. Porto Alegre: Artmed, 2010. p. 177-
205.
[6] Leite, S. F. C. (2013). Inspeção de usabilidade aplicada a
6. CONSIDERAÇÕES FINAIS métodos ágeis: um estudo de caso. Monografia de Bacharelado.
A presente pesquisa teve o objetivo de realizar avaliação de Universidade Federal de Lavras-MG.
usabilidade em um sistema de telefonia, que conta com recursos de http://repositorio.ufla.br/bitstream/1/5484/1/MONOGRAFIA_Ins
interface de resposta audível. Foram escolhidos 13 critérios pecao_de_usabilidade_aplicada_a_metodos_ageis_um_estudo_de
selecionados a partir dos Critérios Ergonômicos de Bastien e _caso.pdf
Scapin e as Heurísticas de Nielsen para a avaliação que se
enquadram nesse tipo de sistema.
[7] Loureiro, Eduardo. Inspeção de usabilidade. Centro
O resultado esperado deste trabalho é que, através da estrutura Universitário de Belo Horizonte, Uni-BH, (2007). Disponível em:
proposta, possa se consolidar um modelo que é capaz de realizar <http://eduardoloureiro.com/EduardoLoureiro_InspecaoUsabilida
avaliações de usabilidade de interfaces de resposta de voz que de_Relatorio.pdf>. Acesso em: 06 out. 2015.
podem ser monomodal ou multimodal. A ausência de trabalhos que
especificamente lidam com avaliações de usabilidade em URA’s [8] Magrinelli, J. V. B. (2010). Avaliação de usabilidade de
justificam a relevância do trabalho proposto. sistema para gerenciamento apícola: o caso laborapix. Monografia
de Bacharelado. Universidade Federal de Lavras-MG.
Propomos que as técnicas possam ser aplicadas em outros sistemas, http://repositorio.ufla.br/bitstream/1/5313/1/MONOGRAFIA_Ava
monomodais ou multimodais, usando vários dispositivos de liacao_de_usabilidade_de_sistema_para_gerenciamento_apicola_
interação simultâneas, tais como voz e teclado. Nós mostramos o_caso_laborapix.pdf
neste trabalho a interação em um sistema de telefonia, mas muitos
outros tipos de serviços atualmente também utilizam interação
simultânea para servir os seus clientes, por exemplo, empresas de
cartões de crédito, operadoras móveis etc. O escopo deste trabalho

29
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016

[9] Morgan, G. (1980). Paradigms, metaphors, and puzzle solving [14] Santos, M. A. D. (2013). Interface multimodal de interação
in organization theory. Administrative science quarterly, 605-622. humano-computador em sistema de recuperação de informação
baseado em voz e texto em português.
[10] Nielsen, J., and Molich, R. Heuristic evaluation of user http://repositorio.unb.br/bitstream/10482/14843/1/2013_Marcelo
interfaces, Proc. ACM CHI'90 Conf. (Seattle, WA, 1-5 April), AlvesdosSantos.pdf
(1990) 249-256.
[15] Torezan, Eduardo Luiz Dalpiaz. Implementação de funções
[11] Nielsen, J. Enhancing the explanatory power of usability avançadas em um gateway voip. 56 f. Trabalho de Conclusão de
heuristics. (1994a). Proc. ACM CHI'94 Conf. (Boston, MA, April Curso (Graduação) - Curso de Engenharia de Telecomunicações,
24-28), 152-158. Universidade Regional de Blumenau - FURB, Blumenau, (2006).
[12] Nielsen, J.. Heuristic evaluation. In Nielsen, J., and Mack, [16] Triviños, Augusto N.S. Introdução á pesquisa em ciências
R.L. (Eds.). (1994b) Usability Inspection Methods, John Wiley & sociais: a pesquisa qualitativa em educação. São Paulo: Atlas,
Sons, New York, NY). 1987.
[13] Paes, D. M. C. (2015). Análise de problemas de [17] Zuasnábar, D. H.; Cunha, A. M. da; Germano, J. S. 2003. Um
funcionalidade e usabilidade no processo de desenvolvimento do ambiente de aprendizagem via WWW Baseado em Interfaces
software leitor de telas livre NVDA. Disponível em: Inteligentes para o Ensino de Engenharia. In: COBENGE 2003,
http://repositorio.ufla.br/bitstream/1/10743/1/TCC_An%C3%A1li Rio de Janeiro. Anais. Rio de Janeiro.
se_de_problemas_de_funcionalidade_e_usabilidade_no_processo
_de_desenvolvimento_do_software_leitor_de_telas_livre_nvda.pd
f

30
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016

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 Faculdade AVANTIS
Curso de Sistemas de Informação Curso de Sistemas de Informação
Balneário Camboriú, SC, Brasil Balneário Camboriú, SC, Brasil
guara_st@hotmail.com rodrigo.cezario@avantis.edu.br

RESUMO Keywords
Alguns estudos apontam que a preocupação no desenvolvimento de Interface. UI Design. Android Design.
interfaces contribui para o sucesso de um projeto de softwares para
dispositivos móveis. Neste sentido, a Apple detém um processo 1. INTRODUÇÃO
rigoroso para aprovação das aplicações desenvolvidas por terceiros Em um mundo em que a tecnologia está cada vez mais presente na
para seus dispositivos em sua loja. Em contraponto ao que acontece vida das pessoas, seja em casa, em carros, nas ruas, e até mesmo
na Apple, os aplicativos desenvolvidos para sua loja de aplicativos, em nossa própria mão, podem ser citados diversos dispositivos,
não passam por nenhum processo de aprovação. No entanto, como tablets, vídeo games, televisores e os smartphones que vem
mesmo com a publicação das diretrizes de projeto “Android se popularizando cada vez mais. Só em 2013, o envio de
Design”, as mesmas são tratadas pela maioria dos desenvolvedores smartphones pelo mundo chegou a um bilhão. Os aparelhos mais
como conselhos a serem seguidos, não como obrigações a serem procurados são os com telas grandes e os de baixo custo [1].
cumpridas como são tratados os aspectos de design e interação do Através dos smartphones vem 80% dos acessos à internet, segundo
guia da Apple. Neste sentido, este trabalho apresenta um guia a [2], e do tempo total gasto nos smartphones, 89% são em
apoiado em boas práticas relacionadas a elementos de interface e aplicativos. O uso de aplicações por usuários de smartphones pode
de interação aplicadas na plataforma da Apple para ser bem variado, segundo [3], boa parte usa para jogos, notícias,
desenvolvedores da plataforma Android. O objetivo é reunir a mapas e navegação, redes sociais, música, entretenimento,
essência do guia da Apple sem perder as características do Android. operações bancárias e outros. O mercado de aplicativos cresce no
mundo a cada ano com mais de 1,8 milhão de Apps disponíveis aos
Palavras-Chave usuários segundo [4].
Interface. UI Design. Android Design.
Alguns estudos [5][6][7] apontam que a preocupação no
ABSTRACT desenvolvimento de interfaces contribui para o sucesso de um
Some studies indicate that the concern in the development of projeto de softwares para dispositivos móveis. No entanto, também
interfaces contributes to the success of a software project for mobile é sabido que desenvolvedores de software normalmente não têm o
devices. In this sense, Apple has a rigorous process for the approval conhecimento aprofundado sobre diversos aspectos de elaboração
of third-party applications for their devices in your store. In contrast de interface de usuário, a citar: usabilidade, ergonomia,
to what happens at Apple, applications developed for its application acessibilidade e demais conceitos de design centrado no usuário
store, do not go through any approval process. However, even with [8]. Por sua vez, a Apple [9] detém um processo rigoroso para
the publication of design guidelines "Android Design", they are aprovação das aplicações desenvolvidas por terceiros para seus
treated by most developers as advice to be followed, not as dispositivos em sua App Store. Segundo [9], o processo de
obligations to be fulfilled as the aspects of design and interaction of aprovação de aplicações na App Store existe para que a empresa
the Apple Guide are treated. Thus, this work presents a guide possa manter o status de qualidade conquistada junta aos seus
supported on good practices related to interface elements and clientes. Neste sentido, a Apple [9] disponibiliza aos seus
interaction applied to the Apple platform Android platform desenvolvedores um guia chamado de “iOS Human Interface
developers. The goal is to gather the essence of Apple's tab without Guidelines”. Neste guia são apresentados conceitos básicos de UI
losing the Android features. Design, estratégias de design, tecnologias do Sistema iOS,
elementos de UI, entre outros. Cabe salientar que para que uma
Categories and Subject Descriptors aplicação seja aprovada no processo para ser comercializado na
D.2.m [Software Engineering]: Miscellaneous App Store, é necessário que este passe por uma avaliação inicial em
relação ao cumprimento das recomendações presentes no guia de
General Terms interface da Apple, sendo que as principais causas de rejeições de
Interface. UI Design. Android Design. aplicações na App Store sejam devidas à violação as diretrizes
contidas no guia [10][11]. Também neste sentido, a Google [12]
Permission to make digital or hard copies of all or part of this work for apresenta um guia chamado de “Android Design”, que trata de
personal or classroom use is granted without fee provided that copies are princípios básicos de design, materiais para design, dispositivos,
not made or distributed for profit or commercial advantage and that copies estilos, padrões, entre outros. Em contraponto do que acontece na
bear this notice and the full citation on the first page. To copy otherwise, Apple, os aplicativos desenvolvidos para Play Store não passam por
or republish, to post on servers or to redistribute to lists, requires prior
specific permission and/or a fee.
SBSI 2016, May 17–20, 2016, Florianópolis, Santa Catarina, Brazil.
Copyright SBC 2016. 31
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016

nenhum processo de aprovação. Sendo assim, o guia da Google não 2.2 Interações com o usuário de dispositivos
é imposto como obrigação em relação às observações nela feita
para o desenvolvimento de interface do usuário [13]. No entanto, móveis
mesmo com a publicação das diretrizes de projeto “Android Também chamado de design de interações, de acordo com [22], é
Design”, as mesmas são tratadas pela maioria dos desenvolvedores um item que tem um foco maior no usuário, e em como será seu
como conselhos a serem seguidos, não como obrigações a serem comportamento a partir do momento em que ele abre a aplicação.
cumpridas como são tratados os aspectos de design e interação do São utilizados elementos da interface, como botões, tipografia,
guia da Apple [14]. Para [15], a postura da Google em cumprimento efeitos sonoros, ícones e cores para o usuário interagir com estes e
das recomendações da guideline permite “liberdade de manipular o conteúdo da aplicação. Uma aplicação móvel com uma
criatividade”, sendo que um desenvolvedor pode optar em ignorar boa interface deve ter uma boa interação do usuário com a tela, para
completamente as diretrizes e criar o seu próprio design. [14] que o mesmo possa fazer suas tarefas da melhor forma possível. A
contribui em destacar que a Google ainda carece de uma linguagem interface é onde o conteúdo que o usuário está buscando é exibido,
de design focada na interface e interação do usuário. Para [14], a mas é através de ferramentas ou dispositivos que o usuário precisa
guideline carece de sentido, coerência e uniformidade nos interagir com o conteúdo que está sendo exibido na interface. No
elementos de interface do usuário. Além de haver relatos de que os caso de computadores, essa interação ocorre através do mouse e do
aplicativos disponibilizados na App Store apresentam maior teclado com o conteúdo que é exibido em um monitor. Em
qualidade nas suas interfaces em relação os aplicativos da Google dispositivos móveis, na maioria deles existe apenas uma tela, que
Play [16]. Como resposta a esses problemas, existem propostas para não é usada somente para a exibição do conteúdo, mas também para
melhorias como a utilização de padrões de projetos [17][18], a interação do usuário com o mesmo. O que faz com que
interfaces adaptativas [19] e heurísticas [20][7]. No entanto, desenvolvedores considerem ergonomia, gestos, transições e
diversos problemas ainda estão relacionados aos aspectos de específicos padrões de interações de cada plataforma.
interface e interação com o usuário. Neste sentido, este trabalho
apresenta um guia apoiado em boas práticas relacionadas a
2.3 Características da plataforma de
elementos de interface e de interação aplicadas na plataforma da dispositivos móveis
Apple para desenvolvedores da plataforma Android. Este trabalho Os dispositivos móveis têm suas características que podem ser
está estruturado na seguinte forma: na Seção 2, é apresentada a distintas dependendo da plataforma, no entanto algumas
fundamentação teórica. A seção 3, apresentada a metodologia de características são similares. A plataforma iOS tem algumas
pesquisa utilizada. Na Seção 4 é apresentada os resultados, sendo características únicas, devido a Apple ser rígida quanto a avaliação
este um Guia com boas práticas para desenvolvedores da de aplicativos antes de serem publicados, estes seguem um padrão
plataforma Android. E por fim, a Seção 5 apresenta as conclusões. e qualidade, proporcionando uma ótima experiência ao usuário
[23]. Algumas características são similares às duas plataformas,
2. FUNDAMENTAÇÃO TEÓRICA como modo de orientação da tela, transições entre telas e
Esta seção apresenta as referências nas quais se norteia este aplicativos, e para a interação dos usuários com os aplicativos
trabalho. Parte-se da reflexão sobre a importância de um bom existem gestos, ao invés de cliques.
design de interface; Interações com o usuário de dispositivos
móveis; e, conclui-se com as características da plataforma de 3. METODOLOGIA DE PESQUISA
dispositivos móveis. Este trabalho quanto aos objetivos pode ser enquadrado como uma
pesquisa exploratória. Quanto aos procedimentos técnicos, foi
2.1 Importância de um bom design de utilizado a pesquisa bibliográfica e pesquisa documental, sendo este
interface a primeira etapa realizada. A primeira etapa, oportunizou conhecer
O design de uma interface é muito importante para o usuário [21], as guidelines para desenvolvimento de interface das plataformas,
pois os usuários ficam mais confortáveis em interagir com iOS e Android. A segunda etapa consistiu no desenvolvimento do
interfaces que são fáceis de usar e entender e façam com que eles Guia, produto deste trabalho. Uma posterior etapa, compreendeu
consigam realizar suas tarefas com o mínimo de frustração. A em uma avaliação preliminar do guia a partir da visão de
aparência de uma interface e o modo de navegação podem afetar especialistas.
uma pessoa de várias formas. Por sua vez, se forem confusas e
ineficientes, dificultarão para as pessoas realizarem as tarefas que
4. RESULTADOS
gostariam, ou dependendo da aplicação, dificultará que as pessoas Nesta seção são apresentados os passos e processos adotados para
façam seus trabalhos ou cometam erros. Interfaces mal projetadas o desenvolvimento do guia de boas práticas para desenvolvimento
podem fazer com que pessoas se afastem do sistema de interfaces para a plataforma Android. Para isso optou-se em
permanentemente, fiquem frustradas e podem aumentar o nível de realizar uma comparação entre as recomendações da Apple
stress [21]. Para [21] a importância de um bom design pode ser realizadas no “iOS Human Interface Guidelines” [9] e as
demonstrada de uma maneira interessante se tratando em termos recomendações da Google no “Android Design” [12]. No guia [9],
financeiros. Para as empresas, boas interfaces (no contexto deste são apresentados conceitos básicos de UI Design, estratégias de
trabalho corresponde a presença das recomendações de usabilidade design, tecnologias do Sistema iOS, elementos de UI, entre outros.
apresentadas em [24]) podem trazer benefícios como satisfação do O guia [12] apresenta princípios básicos de design, materiais para
trabalhador e maior produtividade. Economicamente, isso pode design, dispositivos, estilos, padrões, entre outros. Cabe dizer que,
trazer benefícios como custos mais baixos, levando em conta que houve a preocupação de seguir boas práticas que poderão ser
sistemas mais fáceis de usar requerem menos treinamento. utilizadas na plataforma Android, e também não desrespeitam as
restrições adicionadas na nova versão do guia da Google. Para um
melhor entendimento para o desenvolvimento deste Guia, optou-se
em apresentar lado-a-lado as recomendações das plataformas iOS e
Android, organizada como (conforme retrata a Tabela 1): (i)
considerações básicas de UI (user interface) (6 recomendações);

32
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016

(ii) estratégias de design (); e, (iii) elementos de UI. A User  Selecionador


Interface (UI), ou interface do usuário é a camada na qual o usuário  Barra de Progresso
interage com a aplicação, tudo o que o usuário deseja fazer com a  Controle de Recarga
aplicação, as tarefas que deseja executar, são feitos através de  Botão Segmentado
interações com a interface.  Slider
Tabela 1. Classificação e organização do Guia  Stepper
 Chaveador
Classificações Recomendações  Campo de Texto
 Conceitos Básicos para Interface
 Layout e Adaptatividade Para compor esta interface são utilizados elementos de interface,
Considerações
 Navegação em conjunto com padrões para uso dos mesmos, cores e tipografia.
básicas de UI
 Interatividade e Feedback As estratégias de design consistem em vários componentes que são
(user interface)
 Animação utilizados para fazer com que a interface contenha os padrões e
 Cor e Tipografia elementos necessários para proporcionar uma boa experiência ao
 Integridade Estética e Consistência usuário. No entendimento da [9], integridade estética trata de
Estratégias de aspectos da aparência visual de um software aplicada na interação
 Manipulação Direta
design da sua interface. No entanto, este termo não é comumente utilizado
 Metáforas
na literatura, sendo que talvez o termo mais apropriado seria
 Barra de Status
usabilidade. A Tabela 2 apresenta um exemplo elaborado na
 Barra de Navegação
construção do Guia, onde é descrito as recomendações para a
 Barra de Ferramentas utilização da Barra de status. A norma ISO/IEC 9126-1 [24]
 Botões da Barra de Navegação e barra descreve que a usabilidade é composta de subcaracterísticas, sendo:
de Ferramentas aprensibilidade, a capacidade do produto de software de possibilitar
Elementos de
 Barra Tabulada que o usuário aprenda por si só a utilizar a aplicação;
UI
 Barra de Busca operacionalidade, onde o produto dá a possibilidade ao usuário de
 Barra de Escopo operá-lo e controlá-lo; inteligibilidade, sendo a capacidade do
 Indicador de Atividade software possibilitar o usuário de compreender se ele é apropriado
 Selecionador de Data para o seu uso; e atratividade, o quanto o software é atraente ao
 Paginador 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 No Android, a barra de status tem basicamente as mesmas
o ambiente atual. Ex.: Hora, informações sobre bateria, sinal, funcionalidades das utilizadas pela Apple (status da bateria,
provedor, e outras informações do dispositivo que podem ou não horário, wi-fi, bluetooth e sinal do celular), com uma diferença
estar ativadas, como bluetooth ou wifi. que nela também são exibidas as notificações de aplicativos.
Características Características
 É transparente;  As mesmas características do IOS se aplicam aqui também.
 Quando aparece está no topo da tela;  A cor da barra de status deve seguir a cor primária da
 Não deve ser criada uma barra de status customizada, ela aplicação, só que mais forte, seguindo a tonalidade 700 de
pode ser escondida para mostrar toda a aplicação, mas não variação, podendo também ser transparente dependendo da
customizada. aplicação.
 Evitar colocar conteúdo atrás da barra de status.  A barra de status exibe as notificações de aplicativos
 Pensar bem antes de esconder a barra, pois o usuário deverá através de ícones, estes que devem ser visualmente simples
sair da aplicação para ver informações que ele poderia ver evitando detalhes excessivos, facilitando assim com que o
diretamente na barra, sendo que ela é transparente, não usuário possa diferenciar os ícones que podem ali estar.
precisa necessariamente ser escondida, a não ser para jogos Estes ícones devem ser na cor branca com os detalhes
ou vídeos. transparentes.

Recomendação do Guia
A barra de status deve estar obrigatoriamente posicionada na parte superior da tela. Deve-se seguir o padrão do material design para
definição da cor da barra (variação da tonalidade em 700 na escala de cor). A barra não deve ser customizada, no entanto pode ser ocultada
para uma melhora apresentação do conteúdo em rolagens para baixo, sendo restaurada quando houver rolagem da tela para cima. Em caso
de projetos de jogos ou apresentação de vídeos, para uma melhor imersão do usuário a barra de status poderá ser ocultada.

33
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016

Por sua vez, a consistência em uma aplicação é aquilo que faz com [7] Neto, O. J. M., Usabilidade da Interface de dispositivos
que o usuário possa interagir com diferentes partes da aplicação móveis: heurísticas e diretrizes para o design, 2013.
com a mesma facilidade, e também consiga usar várias aplicações Dissertação de mestrado do Instituto de Ciências
diferentes com esta mesma facilidade. Uma aplicação consistente Matemáticas e Computação – ICMC-USP. Disponível em
não é uma cópia de outra, mas segue todos os padrões com os quais <http://goo.gl/JftkJi>. Acessado em 17/03/2015
os usuários já estão acostumados e confortáveis em interagir, que [8] Runija, Pooja, Importance of user interface design for mobile
são encontrados em outras aplicações, fazendo com que o App app success, 2014. Disponível em < https://goo.gl/9PRpbs>.
proporcione uma experiência consistente. Por sua vez, são Acessado em 28/03/2015
elementos de interface aqueles que são utilizados para fazer a
interação do usuário com a interface, através dos componentes que [9] Apple, iOS Human Interface Guidelines, 2015. Disponível
os usuários realizam as tarefas ou atingem o objetivo que desejam em < https://goo.gl/Mmvw4d >. Acessado em 10/05/2015
com a App. Estes elementos podem ser botões, barras de tarefas ou [10] Woodridge, D., Schneider, M. 2012. O Negócio De Apps
navegações, menus, ícones, etc. Para IPhone E IPad - Criando E Comercializando Aplicativos
De Sucesso, Elsevier Editora: Rio de Janeiro
5. CONCLUSÃO
A partir da revisão bibliográfica, evidenciou-se que Android não [11] Pilone, D., Pilone, T. 2013. Use a Cabeça! Desenvolvendo
tem um cuidado tão grande em relação à interface e interação, em para iPhone e iPad, 2 ed., Alta Books: Rio de Janeiro
contraste ao que acontece à plataforma da Apple. Entende-se que a [12] Google, Android Design, 2015. Disponível em
utilização deste guia no desenvolvimento de interfaces pode trazer <http://goo.gl/Pd5g8>. Acessado em 17/03/2015
benefícios tanto para usuários como para desenvolvedores. [13] Burton, M., Felker, D. 2014. Desenvolvimento de
Observa-se que os desenvolvedores são beneficiados com Aplicativos Android para Leigos, Alta Books: Rio de Janeiro
observações e/ou recomendações em diversas características de
qualidade, como também no uso de cada elemento da maneira [14] Falconer, Joel. What Will Android’s New Design Guidelines
correta, permitindo assim também aumentar a produtividade do Mean for the Platform? 2012. Disponível em <
desenvolvedor. Os benefícios para o usuário, estão relacionados ao http://goo.gl/iMnogt>. Acessado em 17/03/2015
seguimento dos padrões e boas práticas de design e interface, assim, [15] David, M., Murman, C., 2014. Designing Apps for Success:
apresentando certa qualidade implícita. Por sua vez, uma avaliação Developing Consistent App Design Practices, Focal Press
do guia foi realizada utilizando o método GQM (Goal Question
Metrics) de [25], do ponto de vista de um especialista na área de [16] Komarov, A., Yermolayev. 2013. Designing For a Maturing
usabilidade de software. A avaliação demonstrou indícios de Android, Smashing Magazine. Disponível em
<http://goo.gl/Dse1wg>. Acessado em 17/03/2015
viabilidade de uso do guia no desenvolvimento de aplicativos para
plataforma Android, e recomendações para melhoria da mesma. [17] Nunes, I.D., Correia, R.S., 2013. A Importância da
Como próximo passo, destaca-se que uma revisão mais sistemática usabilidade no desenvolvimento de aplicativos para
no guia poderia melhorar as recomendações. Entende-se que dispositivos móveis. Disponível em <http://goo.gl/Fgt2r5>.
adicionar mais plataformas como o Windows Phone, poderia Acessado em 10/05/2015
contribuir com mais recomendações no guia. Outro ponto que [18] Unitid, Interaction designers, androidpatterns. Disponível em
poderia ser considerado seria a utilização de ilustrações nas <androidpatterns.com>. Acessado em 17/03/2015
recomendações, tanto as positivas (o que fazer), como nas negativas
(o que não fazer). Além disso, a utilização de exemplo e [19] Júnior, M. A. P.; Castro, R. de O. 2011. Um estudo de caso
contraexemplos poderia melhorar o guia. Também se recomenda a da plataforma Android com Interfaces Adaptativas, Revista
realização de avaliações, tanto na perspectiva de especialista, como @LUMNI, Vol. 1 n. 1. Disponível em
desenvolvedores e usuários. <http://goo.gl/0DKIlP>. Acessado em 17/03/2015
[20] Rocha, L. C., et al., 2014. Heurísticas para avaliar a
6. REFERÊNCIAS usabilidade de aplicações móveis: estudo de caso para aulas
[1] Pcworld, 1 billion smartphones shiped worldwide in 2013, de campo em Geologia, In TISE 2014
2013. Disponível em < http://goo.gl/tMV3Zf >. Acessado em
28/03/2015 [21] Stone et al,. 2004. User Interface Design and Evaluation,
Steve Krug. Disponível em <https://goo.gl/CQEdLz>.
[2] Smart Insights, Statistics on mobile usage and adoption to Acessado em 10/05/2015
inform your mobile marketing strategy, 2015. Disponível em
< http://goo.gl/paQFV>. Acessado em 28/03/2015 [22] Banga, C., Weinhold, J. 2014. Essential Mobile Interaction
Design, Pearson Education
[3] Pew Research, The rise of apps culture, 2010. Disponível em
< http://goo.gl/Zwc5fK>. Acessado em 28/03/2015 [23] Dclick, Guideline iOS – Características da Plataforma – 1,
2012. Disponível em <http://goo.gl/Qyg8xM>. Acessado em
[4] Sebrae, Aplicativos para celulares movem mercado 10/05/2015
bilionário, 2014. Disponível em <http://goo.gl/tRp2zQ>.
Acessado em 28/03/2015 [24] Abnt, Associação Brasileira De Normas Técnicas, NBR
ISO/IEC 9126-1: Engenharia de Software – Qualidade de
[5] Pereira, R. S., Costa, C. C., A importância do projeto de produto – parte 1: modelo de qualidade. Rio de Janeiro, 2003
interface no desenvolvimento, 2012. Disponível em <
http://goo.gl/1FJVcX>. Acessado em 28/03/2015 [25] Basili, V., Caldiera, G., Rombach, H. D. Goal Question
Metric Approach, 1994, Encyclopedia of Software
[6] Ellwanger, C., Santos, C. P., Moreira, G. J., Gamificação e Engineering, pp. 528-532, John Wiley & Sons, I
padrões de interface em dispositivos móveis: Uma aplicação
no contexto educacional, 2014. Disponível em <
https://goo.gl/Txjg5a>. Acessado em 08/12/2015

34
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016

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 Jean Carlo Rossa Hauck
Departamento de Informática e Estatística - Departamento de Informática e Estatística -
INE/CTC INE/CTC
Universidade Federal de Santa Catarina Universidade Federal de Santa Catarina
(48) 9973-2889 (48) 3721-7507
augusto.tepedino@gmail.com jean.hauck@ufsc.br

RESUMO General Terms


A realização de testes demonstra cada vez mais sua importância nas Reliability, Verification.
organizações que desenvolvem software. Realizar testes, no
entanto, é caro e demorado e automatizar testes é uma alternativa Keywords
interessante e tecnicamente viável. Sistemas legados comumente Test. Integration. Automation. Flex.
apresentam limitações para a automação de testes e isso ocorre
também em sistemas Web desenvolvidos utilizando a plataforma INTRODUÇÃO
Flex. Assim, este trabalho apresenta o desenvolvimento da Com a tecnologia cada vez mais avançada, muitas pessoas acabam
automação de testes para plataforma Flex. Casos de teste são não observando o quanto os softwares estão envolvidos em suas
elaborados, uma ferramenta é selecionada, os scripts de teste são vidas, possivelmente porque suas ações são de tal forma
desenvolvidos e executados em um estudo de caso em uma empresa transparentes aos seus usuários que se tornam algo trivial no seu
de desenvolvimento de software. Os resultados observados dia-a-dia.
apontam indícios de que a automação de que testes pode aumentar Com essa dependência atual de softwares em grande parte das
inicialmente os esforços de elaboração dos casos de teste mas atividades humanas, os produtos de software e o processo de
reduzem o tempo de execução, tendendo a gerar benefícios futuros. 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
Palavras-Chave não for de fácil manuseio ou se possuir defeitos nas suas
Testes. Integração. Automação. Flex. funcionalidades.
ABSTRACT
Especificamente falando de aplicativos que rodam na Web,
Software testing is increasing its importance in software
algumas características esperadas de qualidade, como:
development organizations. Performing tests, however, is costly
disponibilidade de acesso, desempenho, evolução contínua e
and time consuming and automate testing is an interesting and
segurança [1]. Entretanto, a qualidade esperada nem sempre é
technically viable alternative. Legacy systems often have
alcançada. Algumas vezes, produtos de software têm sido entregues
limitations for test automation and it occurs on Web systems
aos clientes cobrindo apenas os requisitos funcionais
developed using the Flex platform. Thus, this work presents the
especificados, sem eliminar possíveis erros. Uma das maneiras de
development of test automation for Flex platform. Test cases are
garantir que a qualidade de um produto de software seja atendida,
developed, a tool is selected, test scripts are defined and
e que as funcionalidades que o cliente necessita estejam presentes,
implemented in a case study on a software development company.
é a aplicação de testes de software.
The observed results indicate initial evidence that test automation
may initially increase the development efforts of the test cases but Nesse sentido, a padronizações e a automação de testes destacam-
reduce the runtime, tending to generate future benefits. se na forma de garantir a qualidade de software. A padronização
dos testes, como por exemplo a documentação sobre casos de
Categories and Subject Descriptors testes, com o passo-a-passo de como o teste deve ser feito, diminui
D.2.5 [Testing and Debugging] 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
Permission to make digital or hard copies of all or part of this work for menor de pessoas poderia automatizar alguns tipos de testes que
personal or classroom use is granted without fee provided that copies are seriam repetidos toda vez que fosse necessário.
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, Assim, o presente trabalho apresenta um estudo de caso de
or republish, to post on servers or to redistribute to lists, requires prior desenvolvimento de automação de testes para a plataforma Flex1
specific permission and/or a fee.
SBSI 2016, May 17–20, 2016, Florianópolis, Santa Catarina, Brazil.
Copyright SBC 2016.

1
http://www.adobe.com/products/flex.html

35
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016

com objetivo de reduzir a falha humana e a necessidade de repetir 


R5: Suportar as versões mais recentes dos navegadores:
testes manuais no sistema legado. Firefox, Chrome, Internet Explorer, e Opera;
 R6: Suportar testes automatizados em Aplicações Web;
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  R7: Possuir documentação abrangente;
abordagem metodológica deste trabalho é brevemente apresentada;  R8: Ser capaz de utilizar um repositório central para que
na seção 4 o estudo de caso é descrito e na seção 5 as conclusões múltiplos usuarios possam utilizar os scripts gerados
são apresentadas. Após a execução das buscas nas ferramentas de pesquisa indicadas,
foram encontradas as seguintes ferramentas que satisfazem, ao
1. ESTADO DA ARTE menos em parte, os requisitos propostos (vide Tabela 1).
Como o presente trabalho trata da automação de testes de uma Tabela 1. Ferramentas selecionadas
aplicação legada sobre a plataforma Flex, este tópico apresenta Ferra Descrição R R R R R R R R
relatos na literatura de experiências similares, buscando por
menta 1 2 3 4 5 6 7 8
soluções de automação já experimentadas para essa plataforma.
Flex- Extensão da ferramenta + + + + + + - +
Assim, a busca por trabalhos similares foi realizada em consulta as Selenium para a plataforma
ui-
seguintes ferramentas de pesquisa: Google Flex, estendendo as
(http://www.google.com), Google Scholar Seleni possibilidades de uso do
(http://scholar.google.com), Portal CAPES (http://www- Selenium Webdriver, e
um2 pode gerar scrpits nas
periodicos-capes-gov-
linguagens Java, C#, Perl,
br.Ez46.periodicos.capes.gov.br/index.php?option=com_phome),
Ruby, e PHP.
pela facilidade de acesso e relevância como fontes de pesquisa, FlexM Aplicativo Adobe AIR + + - + + + + +
procurando envolver tanto referências da literatura quanto gratuito, desenvolvida pela
experiências da indústria. onkey3 GorillaLogic que permite
a criação de testes
Nessas ferramentas de busca, foram utilizadas as seguintes palavras automatizados em
de busca: “Software”, "Teste automatizado", "Flex" e algumas plataformas AIR e Flex.
variações/complementos: “Automação de testes de software”, Badbo Ferramenta de automação + + + - + + + +
“benefícios de testes automatizados”, “automatização de testes com de testes baseada na
Flex”, “Diferenças entre Flex e HTML”. Também foram utilizadas y4 interface gráfica do usuário
nas pesquisas as traduções na língua inglesa dos mesmos termos. (GUI - Graphics User
Interface), trabalhando
Sobre os resultados encontrados, para selecionar aqueles mais com a movimentação do
pertinentes a esta pesquisa, os seguintes critérios de inclusão foram mouse e com um script,
utilizados: usando de modo
Record/Playback para
 Ferramentas de automação de Testes com suporte à tornar ações do usuário em
plataforma Flex: pois uma ferramenta para automatizar Scripts.
testes que não suporta a plataforma Flex, não é relevante Testm Ferramenta gratuita que + + + ? - + -
ao trabalho; consegue tornar um script
aker5 de teste em um teste
 Plug-ins de automação de teste para Flex: tendo mesmo funcional, um teste de
motivo de procura como foi relatado no critério acima; carga, ou um teste de
 Relatos de experiência de automação de teste com Flex: performance, que cria
para saber como ferramentas trabalham nesta plataforma scripts em Java, Ruby,
e ter uma melhor decisão sobre o software escolhido Python, e PHP.
Para apoiar a busca, alguns requisitos de automação de testes para Sikuli6 Ferramenta de automações + + + + + + + +
uma ferramenta legada sobre plataforma Flex foram identificados, de teste hibrida, na qual
trabalha tanto com GUI,
com base: (i) nas características de ferramentas de automação de
como com scripts de
testes já previamente identificadas na literatura; (ii) nas usuário. Interage com a
necessidades para automação de testes coletadas por meio de tela a partir da captura de
entrevistas com analistas de testes da empresa desenvolvedora do imagens, ou regiões,
software (vide seção 4); e (iii) em entrevista com o gerente de definidas no script.
projetos da empresa desenvolvedora do software; e, especialmente, Bugbu Extensão feita para o + + + ? - + + -
(iv) nas limitações técnicas de automação de testes na plataforma Google Chrome,
ster
Flex, que impossibilita a utilização de webdrivers por não permitindo a criação de
manipular html diretamente: Test testes a partir de cliques
feitos na janela do browser
Recor
 R1: Possuir alguma versão gratuita
 R2: Suportar testes automatizados; d7
 R3: Estar atualizada e possuir comunidade ativa; Legenda: +: atende, -: não atende, ?: não foi possível determinar.
 R4: Suportar testes automatizados sobre Flex;

2 https://code.google.com/ p/flex-ui-selenium/ 6 http://www.sikuli.org/


3 https://www.gorillalogic.com/flexmonkey 7 https://bugbuster.com/
4
http://www.badboy.com.au/
5 http://www.pushtotest.com/index.php

36
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016

As ferramentas foram então instaladas e avaliadas uma a uma em automação) e dois testadores (graduandos de Ciências da
relação aos requisitos propostos. Após essa avaliação, a ferramenta Computação)
que melhor atendeu os requisitos foi a ferramenta Sikuli, que cobriu
todos os requisitos definidos.
3.2 Preparação
A coleta de dados corresponde ao conjunto das operações, através
2. ABORDAGEM METODOLÓGICA das quais o modelo de análise é submetido ao teste dos fatos e
Nesta seção, são apresentadas as etapas da abordagem confrontado com dados observáveis [3]. Como a principal pergunta
metodológica do presente trabalho. de pesquisa do presente trabalho consiste em: "Seria possível
automatizar testes para um software Flex de forma a reduzir o
Segundo [2], pode-se definir um estudo de caso como um estudo esforço, tempo e retrabalho, tomando por base uma ferramenta já
focado de um fenômeno em seu contexto, especialmente quanto existente para modelagem e automatização de testes?", os seguintes
quando os limites entre o fenômeno e o contexto não podem ser dados foram planejados para serem coletados:
bem definidos. [2] indica também que é compreensível aplicar
 Quantidade de pontos de caso de uso;
estudos de caso às áreas relacionadas à engenharia de software tais
 Quantidade de erros encontrados na execução dos testes
como desenvolvimento, operação e manutenção de software. Cada
automatizados;
uma das etapas é brevemente apresentada na sequência.
 Avaliação subjetiva dos resultados observados pelos
 Planejamento: objetivos são definidos e o estudo de caso envolvidos na área de testes;
é planejado;  Quantidade de esforço realizado para a elaboração dos
 Preparação: procedimentos e protocolos para coleta de casos de testes automatizados.
dados são definidos;
 Coleta: execução e coleta de dados do estudo de caso; 3.3 Execução e coleta de Dados
 Análise: onde os dados coletados são analisados e O estudo de caso foi executado no período de 5 de Maio de 2015
até 10 de Setembro de 2015, após a análise de qual ferramenta de
extraídas as conclusões;
automação seria utilizada.
 Relatório: onde os dados analisados são reportados.
A seção 4 a seguir detalha as principais etapas desta pesquisa no A ferramenta Sikuli, conforme já apresentado, é uma ferramenta de
contexto do estudo de caso. automação de testes de GUI que mescla Scripts com imagens, que
são procuradas quando o programa está rodando.
3. ESTUDO DE CASO Segundo [4], a ideia de utilizar imagens para auxiliar na automação
De acordo com [2], é essencial para o sucesso de um estudo de caso de testes vem da própria forma como ocorre interação na
que ele possua um bom planejamento. Assim, no contexto deste comunicação humana. Assim, na ferramenta Sikuli, as imagens são
trabalho, o estudo de caso foi planejado onde foram definidos: a utilizadas como parâmetros, de maneira similar a constantes
unidade de análise, os métodos utilizados para a coleta de dados, declaradas em qualquer linguagem de programação, onde o usuário
cronograma, participantes, etc. De forma resumida, o planejamento pode definir o nome da imagem, o grau de similaridade que procura
do estudo de caso é apresentado na sequência, iniciando pela na tela, e aonde irá selecionar a tecla quando necessário.
definição da unidade de análise.
Para utilizar a ferramenta, foi necessário instalar o Java JDK8.
3.1 Contextualização do Estudo de Caso Entretanto, durante os testes não foi possível integrá-la ao Eclipse9
A empresa SPECTO Tecnologia é uma empresa que iniciou suas e utilizar a linguagem Java pois não foi encontrada documentação
atividades no início da década de 90, e vem desenvolvendo que facilitasse a utilização do script com a ferramenta. Assim, os
produtos atualmente por meio de três linhas de produtos: CXM scripts de teste m implementados em Jython10.
(gestão de atendimento), DCIM (gestão de datacenters), e BMS Com a ferramenta instalada e pronta para executar os testes de
(gestão de prédios inteligentes). forma automatizada, foi preparado o ambiente com as demais
O presente estudo de caso é realizado na divisão de gestão de ferramentas necessárias e realizada a criação dos scripts de
datacenters (DCIM) da empresa. A DCIM tem como objetivo o automação de testes. Para efetuar os testes manuais, configurou-se
desenvolvimento de produtos de software para monitorar e um computador para possuir o sistema DataFaz Unity instalado
controlar o ambiente de datacenters, permitindo por exemplo, localmente, e também o software Enterprise Architect11 utilizado
alertar o usuário que um ambiente está com muita fumaça, ou que pela empresa para documentar a análise e modelagem do software
um dispositivo de monitoramento foi desconectado, por exemplo. (para organizar e documentar os casos de uso e os casos de teste
O sistema utilizado neste estudo de caso é o DataFaz Unity, um com seus cenários), o PGadmin12 para administração do banco de
gerenciador de infraestrutura de datacenters, monitorando dados e recuperação do backup do banco de dados somente
parâmetros físicos de ambiente, tais como: umidade, temperatura, contendo a configuração inicial.
energia, controle de acesso, etc. O sistema utiliza Flex para o Com esse ambiente instalado, foram elaborados os casos de teste
desenvolvimento de sua interface com o usuário e o back end é que seriam realizados tanto manualmente quanto de forma
desenvolvido em Java, com banco de dados tipicamente utilizado automatizada, de forma a possibilitar a comparação mais objetiva
sendo PostgreSQL. dos resultados da automação. Os casos de testes foram
Neste estudo de caso são envolvidos os membros das equipes documentados na ferramenta Enterprise Architect, conforme já
responsáveis pelos testes do sistema DataFaz Unity (membros da citado.
equipe de garantia de qualidade de produto), sendo três analistas de Foram elaborados, ao todo, dez casos de testes completos, cada um
testes (dois formados em ciências da computação e um em possuindo de três a cinco diferentes cenários, tomando-se por base

8 11
http://www.oracle.com/technetwork/pt/java/javase/downloads/index.html http://www.sparxsystems.com.au/products/ea/
9 12
http://www.eclipse.org/downloads/ http://www.pgadmin.org/
10
http://www.jython.org/

37
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016

as principais funcionalidades do sistema Datafaz Unity. Os casos Da mesma forma, a empresa possui poucos analistas de testes na
de teste foram documentados seguindo as melhores práticas unidade organizacional do estudo de caso, fazendo com que os
definidas na norma ISO/IEC/IEEE 29119 [5]. Para cada caso de resultados obtidos fossem escassos, mais analistas trariam mais
teste foi realizada a implementação do seu correspondente em script respostas, e o resultado da aplicação questionário seria mais
de teste automatizado abrangente.
Cada um dos casos de teste foi então executado manualmente por Além disso, o autor do trabalho teve participação ativa na execução
dois testadores diferentes e cada um dos scripts de teste do trabalho, e este envolvimento direto pode gerar viés de
automatizado foi executado dez vezes em um mesmo computador. interpretação de dados coletados.
Ao final dos testes, os analistas de teste e testadores foram
submetidos a um questionário de avaliação, composto de quatro 4. CONCLUSÕES
perguntas utilizando escala Likert de respostas, procurando Este trabalho apresenta uma experiência de automação de testes em
identificar as percepções sobre o resultado da aplicação dos testes um sistema legado desenvolvido sobre plataforma Flex. Tendo em
automatizados. mente as limitações de automação de testes em Flex, foram
analisadas diferentes abordagens de automação. Foi possível notar
3.4 Análise dos Resultados que nenhuma ferramenta iria poder automatizar a aplicação em sua
Durante toda a execução dos testes, os dados de duração foram totalidade, então foram criados requisitos para escolher qual
coletados por meio do registro das tarefas no sistema de gerência ferramenta seria utilizada no trabalho. A ferramenta Sikuli, que
de projetos utilizado pela empresa13. Como resultado, conforme cobriu a maior parte dos requisitos propostos, foi escolhida.
esperado, foi percebido que o tempo necessário para elaboração dos
testes automatizados e manuais apresentou grande diferença, No contexto de um estudo de caso, casos de teste foram elaborados,
devido ao tempo utilizado na elaboração dos Scripts de testes sendo implementados scripts de teste na linguagem aceita pelo
automatizados, conforme mostra a Tabela 2. Sikuli. Os testes foram então executados de forma manual e
automatizada, em um ambiente controlado.
Tabela 2 - Comparações entre teste manual e teste
Os dados coletados de esforço e tempo durante a elaboração e
automatizado
realização dos testes no estudo de caso levantam indícios de que o
Métricas Teste Manual Teste ganho de tempo na automação de testes é pequeno inicialmente.
Automatizado Espera-se, entretanto, que a organização envolvida no estudo de
Elaboração dos casos de teste 05h00min 05h00min caso obtenha benefícios diretos com a redução de custos de
Elaboração Scripts de Testes - 07h30min retrabalho e aumento de confiabilidade da aplicação com a
Automatizados execução dos testes automatizados em futuros releases do sistema.
Tempo médio de execução 00h08min 00h02min30seg
Total Duração 05h08min 12h32min30seg Como trabalhos futuros planeja-se a integração dos testes
Entretanto, conforme também mostra a Tabela 2, o tempo automatizados com a ferramenta de documentação e modelagem
necessário para execução dos testes automatizados foi dos testes. Além disso, seria importante expandir os casos de teste
consideravelmente inferior. Espera-se que as futuras execuções dos automatizados para o restante das funcionalidades do sistema.
testes automatizados venham a compensar o maior esforço aplicado
na elaboração dos scripts de teste. 5. AGRADECIMENTOS
Os autores agradecem aos membros da equipe da empresa Specto
Além dos dados de tempo de execução, a partir da aplicação do que participaram do estudo de caso. Também agradecem a
questionário, foi possível coletar a impressão subjetiva dos cooperação e interesse da gerência da empresa no estudo de caso.
participantes em relação aos resultados da automação de testes no
sistema legado utilizando plataforma Flex. 6. REFERENCES
Tabela 3 - Resultados do questionário [1] Pressman, R. S. Engenharia de software: uma abordagem
profissional; Tradução Ariovaldo Griesi e Mario moro
Questões Concordam Feccio. 7ª ed. São Paulo: AMGH, 2011.
Facilidade na compreensão dos testes 80%
Cenários cobriram a funcionalidade proposta 80%
[2] Runeson, P., and M. Höst. "Guidelines for conducting and
A infraestrutura disponibilizada para o ambiente de 80% reporting case study research in software engineering."
testes foi satisfatória para a execução dos testes Empirical Software Engineering 14.2, 2009.
O tempo gasto com teste automatizado diminui 100% [3] Quivy, R. et al. (1992). Manual de Investigação em Ciências
esforços de custo e tempo com execuções repetitivas Sociais. Lisboa: Gradiva.
Conforme pode ser percebido pelas respostas dos participantes, a [4] Yeh, Tom, Chang, Tsung-Hsiang, Miller, Robert C. (2009):
automação de testes utilizando a ferramenta Sikuli, atendeu às Sikuli: using GUI screenshots for search and automation. In:
expectativas da maioria. Entretanto, foram percebidas Proceedings of the ACM Symposium on User Interface
oportunidades de melhoria pela equipe, como por exemplo, a Software and Technology, 2009, pp. 183-192.
possibilidade de integração direta com o Eclipse, possibilitando a http://doi.acm.org/10.1145/1622176.1622213.
implementação dos scripts em Java.
[5] International Organization for Standardization.
3.4.1 Ameaças à validade ISO/IEC/IEEE 29119. Software Testing Standard. 2010.
Como tipicamente ocorre em estudos de caso [6] [7], o presente [6] Zelkowitz, M. V. “An update to experimental models for
trabalho somente foi aplicado em um único software de uma única validating computer technology,” J. Syst. Softw., vol. 82, pp.
empresa, não sendo possível desta forma, generalizar seus 373–376, 2009.
resultados a outras empresa e cenários, mesmo que positivos. [7] Yin, R. K. Applications of case study research, vol. 34

13
http://www.jexperts.com.br/category/pse/pse-pch/

38
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016

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 Luiz Melo Romão
Depto de Informática - Univille Depto de Informática - Univille
Joinville - SC - Brasil Joinville - SC - Brasil
l.nvieira@hotmail.com luiz.melo@univille.br

RESUMO Categories and Subject Descriptors


Muitos problemas têm sido tratados pela bioinformática, en- H.4 [Information Systems]: Miscellaneous
tre estes, se destaca a predição de funções biológicas de pro-
teı́nas. A complexidade deste tipo de aplicação vem da pró-
pria estrutura de organização da proteı́na que descreve estas General Terms
funções utilizando uma hierarquia estruturada em árvores Information Systems
ou em grafos acı́clicos dirigidos. A maioria dos classifica-
dores de proteı́nas disponı́veis na literatura utiliza na etapa
de pré-processamento o método de discretização, que tem a
Keywords
função de transformar os atributos contı́nuos das bases de Knowledge Discovery, Data Mining, Pre-Processing
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 discreti-
1. INTRODUÇÃO
zação, para utilizar valores reais, que permitirá estimativas Muitos problemas têm sido tratados pela bioinformática,
mais precisas sobre os resultados. 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
Palavras-Chave estas funções utilizando uma hierarquia estruturada em ár-
Descoberta do Connhecimento, Mineração de Dados, Pré- vores ou em grafos acı́clicos dirigidos.
Processamento Devido a essa diversidade de funções, as proteı́nas exer-
cem papel fundamental em quase todos os fenômenos bioló-
gicos, como produção de energia, defesa imunológica, contra-
ABSTRACT ção muscular, atividade neuroquı́mica e reprodução [2]. De
Many problems have been dealt with by bioinformatics, among acordo com [4], as proteı́nas podem variar na sua composi-
which stands out the prediction of biological functions of ção, sequência e número de aminoácidos, por isso, é possı́vel
proteins. The complexity of this type of application co- uma enorme variação de sua estrutura e de sua função.
mes from the protein organization structure that describes A maioria dos classificadores de proteı́nas disponı́veis na
these functions using a structured hierarchy tree or directed literatura utiliza na etapa de pré-processamento o método
acyclic graph. Most protein binders available in the litera- de discretização ou normalização que podem ocasionar perda
ture uses the pre-processing step the discretization method, de informação no processo de classificação.
which has the function of transforming the continuous attri- A proposta deste trabalho é desenvolver um algoritmo
butes of databases in discrete intervals represented by no- para a classificação da função de proteı́nas que possa traba-
minal attributes. This article illustrates the change in the lhar durante todas as etapas da extração do conhecimento
functioning of the HLCS-Multi algorithm that uses the dis- com qualquer tipo de atributo, sendo este numérico ou ca-
cretization method to use actual values, which will enable tegórico. Para isso, será utilizado como base o algoritmo
more accurate predictions about the results. HLCS – Multi (Hierarchical Learning Classifier System Mul-
tilabel) proposto em [11] que apresenta um modelo global
hierárquico multirrótulo para a predição de problemas hi-
erárquicos, mas que utiliza o método de discretização na
Permission to make digital or hard copies of all or part of this work for etapa de pré-processamento
personal or classroom use is granted without fee provided that copies are Além desta seção introdutória, o artigo foi dividido nas
not made or distributed for profit or commercial advantage and that copies seguintes seções. A fundamentação teórica dos conceitos
bear this notice and the full citation on the first page. To copy otherwise, to principais utilizados no trabalho. Em seguida é relatada as
republish, to post on servers or to redistribute to lists, requires prior specific caracterı́sticas do algoritmo HLCS – Multi e as alterações
permission and/or a fee.
SBSI 2016, May 17th-20th, 2016, Florianópolis, Santa Catarina, Brazil propostas para este projeto. Finalizando serão mostrados os
Copyright SBC 2016. resultados alcançados e as considerações finais do trabalho

39
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 O método de discretização tem a função de transformar os


A Descoberta de Conhecimento em Banco de Dados (KDD atributos contı́nuos das bases de dados em intervalos discre-
do inglês, Knowledge Discovery in Database), é um processo tos representados por atributos nominais. A discretização
de extração de informações de base de dados, que cria rela- pode ser dividida em duas principais categorias: aprendiza-
ções de interesse que não são observadas pelos especialistas gem supervisionada e não supervisionada, que é uma área
no assunto. de inteligência artificial, cujo o objetivo é desenvolver téc-
O KDD pode ser visto como o processo de descoberta de nicas computacionais que possibilitem que o sistema tome
padrões e tendências por análise de grandes conjuntos de decisões baseadas nas experiências acumuladas. Conforme
dados, tendo como principal etapa o processo de mineração, [11] na discretização supervisionada, existe uma interdepen-
consistindo na execução prática de análise e de algoritmos dência entre os valores das variáveis e a classe das instâncias
especı́ficos que, sob limitações de eficiência computacionais do conjunto de treinamento, já a não supervisionada não
aceitáveis, produz uma relação particular de padrões a partir leva em consideração a informação de classes das instâncias
de dados. A extração de conhecimento refere-se às etapas do conjunto de treinamento. De acordo com [6], o objetivo
que produzem conhecimentos a partir de dados relaciona- da discretização é reduzir o número de valores das variáveis
dos, e sua principal caracterı́stica é a extração não-trivial de contı́nuas, agrupando as em um número n de intervalos.
informações implicitamente contidas em uma base de dados A normalização de dados consiste em ajustar os valores de
[8]. cada atributo, de forma que os valores fiquem em pequenos
A Figura 1 demonstra de uma maneira simplificada todas intervalos. É uma série de passos que é seguido para um
as fases do KDD. 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 consis-
tente 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 po-
dem 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. ALGORITMO HLCS MULTI


Conforme [11], o algoritmo Hierarchical Learning Classi-
fier System Multilabel (HLCS – Multi), apresenta uma so-
lução global hierárquica multirrótulo para a classificação da
Figura 1: Fases do Processo de KDD [8]. função de proteı́nas respeitando a hierarquia das classes em
O produto esperado da extração de conhecimento é uma todas as fases de desenvolvimento do sistema. É desenvol-
informação relevante para ser utilizada pelos tomadores de vido especificamente para trabalhar com bases hierárquicas
decisão. Este processo leva a descoberta de informações aci- e utiliza como modelo de desenvolvimento os Sistemas Clas-
onáveis em grandes conjuntos de dados à procura de pa- sificadores (LCS), que é um método que gera seus resultados
drões consistentes, como regras de associação ou sequências em um conjunto de regras no formato SE-ENTÃO, que são
temporais, para detectar relacionamentos sistemáticos entre representações, de acordo com [9] mais compreensı́veis do
variáveis, detectando assim novos subconjuntos de dados. que outros modelos como redes neurais, máquinas de vetor
O pré-processamento de dados é frequentemente tido como de suporte entre outros. O HLCS – Multi é o primeiro mo-
sendo uma fase que envolve uma grande quantidade de co- delo baseado em Sistemas Classificadores para a predição de
nhecimento de domı́nio. Entende-se que essa fase depende problemas hierárquicos multirrótulo.
da capacidade de analisar os dados e identificar problemas Para trabalhar com dados hierárquicos, o HLCS – Multi
nos dados presentes. Esta fase de pré-processamento tende- apresenta um componente especı́fico para esta tarefa que é
se a consumir a maior parte do tempo dedicado no pro- o componente de avaliação dos classificadores. Este com-
cesso de descoberta do conhecimento. Como a necessidade ponente tem a função de analisar as predições dos classi-
de apresentar os dados em uma forma apropriada para a ficadores considerando a hierarquia das classes. Além do
técnica de mineração de dados escolhida, requer toda uma componente de avaliação, a arquitetura HLCS – Multi con-
preparação para a classificação dos dados. siste dos seguintes módulos: população de classificadores,
Conforme, [3] esta fase busca-se aprimorar a qualidade componente AG, componente de desempenho e componente
dos dados coletados. Frequentemente, os dados apresentam de cessão de créditos, que interagem entre si.
diversos problemas, tais como grande quantidade de valo- Em geral, o sistema HLCS – Multi cria sua população de
res desconhecidos, ruı́do (atributos com valores incorretos), classificadores através da análise dos exemplos do ambiente,
atributos de baixo valor preditivo, grande desproporção en- que representam os dados de treinamento. A medida que o
tre o número de exemplos de cada classe, entre outros. HLCS – Multi interage com o ambiente, por meio dos compo-
Entre as técnicas utilizadas na fase de pré-processamento nentes de desempenho e cessão de créditos, os classificadores
de dados pode se citar o uso de técnicas de discretização e são avaliados e recebem um retorno na forma de uma re-
normalização, que são técnicas que transformam atributos compensa que impulsiona o processo de aprendizagem. Este
de dados contı́nuos, em valores categóricos. processo de aprendizagem tem a intervenção do componente

40
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016

de avaliação, que ajuda no cálculo da recompensa avaliando lista de regras iniciais. Está lista de mı́nimo e máximo é
as predições do sistema conforme a sua hierarquia. No fim criada após a leitura da base de dados, e a cada geração
desta etapa, os classificadores passam por um mecanismo de de regra inicial, assim evitando a necessidade de ler a lista
evolução através do componente AG, que utiliza algoritmos de regras novamente e aumentando a performance. Para a
genéticos como base para a melhoria do conhecimento atual medição da performance foi implementado métodos que re-
do sistema. gistraram o tempo inicial da execução e tempo final, os quais
A questão multirrótulo é trabalhada durante todas as eta- são relatados no fim do processo.
pas de treinamento e teste do modelo por meio de um pro- Além das regras já listadas, também foi alterado o algo-
cesso de decomposição das instâncias e na forma de análise ritmo para sempre gerar uma nova população inicial, sempre
das predições. que não for identificada uma lista de regras iniciais para o
grupo corrente de atributos e valores que estão sendo proces-
4. SOLUÇÃO PROPOSTA sados. Com essas alterações foi possı́vel trabalhar durante
todas as etapas da extração do conhecimento com qualquer
A solução proposta neste artigo é chamada de HLCS –
tipo de atributo, possibilitando a execução do algoritmo em
MultiND (Hierarchical Learning Classifier System Multila-
bases com atributos nominais e contı́nuos, descartando a ne-
bel No Discretizate). Baseada no algoritmo HLCS – Multi,
cessidade de utilizar o método de discretização, tornando o
esta versão tem como diferencial a possibilidade de traba-
algoritmo mais eficaz e compreensı́vel o bastante para que
lhar durante todas as etapas da extração do conhecimento
os pesquisadores consigam analisar e confiar nas predições
com qualquer tipo de atributo, sendo este numérico ou ca-
recebidas.
tegórico. Para isso foi realizada uma mudança no algoritmo
HLCS – Multi permitindo que as regras geradas pelo classi-
ficador possam criar condições de intervalos entre os atribu- 5. ANÁLISE DE DADOS E DISCUSSÃO DOS
tos. RESULTADOS
A primeira função do sistema é criar uma população inicial A fim de demonstrar os resultados obtidos com o HLCS
de classificadores, através de uma análise feita nas instân- – MultiND o algoritmo foi comparado com os resultados da
cias da base de treinamento de tamanho N, que representa versão HLCS – Multi publicados em [12]. Os experimentos
a fonte de dados do sistema. Para formar cada classifica- foram realizados em três conjuntos de dados de funções de
dor da população inicial, o algoritmo escolhe aleatoriamente proteı́nas, Cellcycle, Church e Derisi que foram utilizados
uma instância da base de treinamento como modelo. Cada em [13] e estão disponı́veis em (http://dtai. cs. kuleuven.be
atributo da instância de treinamento será criado uma con- /clus /hmcdatasets). Estas bases contêm informações de
dição no classificador. Está instância será definida por uma classes baseadas nos termos da Ontologia Gênica (GO) e
condição que receberá como parâmetro OP, VL, A/I, sendo: são organizadas em uma estrutura em forma de um DAG.
A Tabela 1 apresenta os detalhes das bases utilizadas nesta
• OP: operador de relação (=, <= ou >=)
experiência.
• VL: valor da condição
• A/I: opção de ativa (A) ou inativa (I) da condição, que Tabela 1: Resumo dos conjuntos de dados utili-
significa se a condição será utilizada na classificação ou zados no experimento. A primeira coluna (’Base
não. de dados’) define o nome da base de dados, a se-
gunda coluna (’Trein.’) define o número de exem-
No inı́cio as condições começam com o operador de relação plos de treinamento, a terceira coluna (’Teste’) de-
(OP) “= ou <= ou =>” a escolha dos operadores de compa- fine o número de exemplos de teste, a quarta coluna
ração ocorre de forma randômica. O valor da condição (VL) (’Atrib.’) define o número de atributos de cada base
recebe o valor do atributo da instância em treinamento e e a quinta coluna (’Classes’) define o número de clas-
aletoriamente, de acordo com a probabilidade definida nas ses na classe hierárquica.
configurações iniciais do algoritmo, é decidido se a condição
ficará ativa (A) ou inativa (I).
Conforme relatado anteriormente, esta versão tem como Base de Dados Trein. Teste Atrib. Classes
diferencial a possibilidade de trabalhar com qualquer tipo Cellcycle 2473 1278 77 4126
de atributo, sendo este numérico ou categórico, possibili- Church 1627 1278 27 4126
tando a leitura de bases com valores nominais e contı́nuos. Derisi 2447 1272 63 4120
Para isso, foi desenvolvido um método intermediário, o qual
é executado sempre na leitura de bases ou comparação de
valores, para analisar a sequência de entrada de dados, as- O desempenho dos resultados foi comparado utilizando as
sim tornando possı́vel o processo de “parser” dos valores, que medidas de precisã hierárquica (hP), revocação hierárquica
possibilitou determinar sua estrutura gramatical, evitando a (hR) e Medida-hF (hF) proposto em [10]. Este método segue
necessidade de realizar a discretização na base. Na geração o padrão das conhecidas medidas de Revocação, Precisão
de regras iniciais passou a utilizar o método de operado- e Medida – F, com as seguintes alterações: cada exemplo
res randômicos, o qual pode retornar os operadores igual pertence não somente a sua classe, mas também a todos os
=, maior igual >= e menor igual <=, que foi modificado ancestrais da classe em um gráfico hierárquico, exceto o nó
para contemplar mais operadores. Com essas modificações, raiz.
tornou-se necessário criar condições randômicas para as va- Os experimentos foram realizados utilizando como proce-
riáveis também, onde é resgatado um valor aleatório dentro dimento o método de validação cruzada fator 10 e os resul-
de um intervalo de mı́nimo e máximo retirado da primeira tados são descritos como valores-médios e desvio padrão.

41
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016

cesso de discretização e aumentando o grau de confiabilidade


Tabela 2: Valores das medidas hR, hP e hF obtidas dos dados.
nos três conjuntos de dados. De acordo com os testes, os resultados apresentados pelo
algoritmo HLCS – Multi, ainda são melhores que os obti-
HLCS-Multi
dos pelo HLCS – MultiND. Entretanto é importante deixar
hP hR hF
claro que as regras criadas pelo algoritmo proposto, são mais
Cellcyle 0.2611 ± 0.04 0.4209 ± 0.02 0.3223 ± 0.03 compreensı́veis para que os pesquisadores consigam analisar
Church 0.2259 ± 0.02 0.6183 ± 0.03 0.3309 ± 0.04 e confiar nas predições recebidas. Acredita-se que através
Derisi 0.2948 ± 0.03 0.5655 ± 0.03 0.3873 ± 0.03 de alguns ajustes neste modelo, é provável que se consiga
HLCS-MultiND resultados parecidos ou até superiores.
hP hR hF Pretende-se também realizar testes com outros tipos de
Cellcyle 0.2052 ± 0.05 0.1803 ± 0.04 0.1919 ± 0.05 base de dados para auxiliar no refinamento do algoritmo.
Church 0.2048 ± 0.04 0.1800 ± 0.06 0.1916 ± 0.05
Derisi 0.2042 ± 0.04 0.1798 ± 0.05 0.1912 ± 0.05 7. 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,
De acordo com os testes, o HLCS – Multi mostrou me- 2008.
lhores resultados do que o HLCS – MultiND nas três bases [2] P. Balid and G. A. Pollastri. Machine-Learning
analisadas. Porém, segundo [9], um fator importante para a Strategy for Protein Analysis. IEEE Intelligent
predição da função de proteı́nas, é que o modelo de predi- Systems, 17, 2002.
ção desenvolvido, além de ser eficaz, deve ser compreensı́vel [3] G. E. A. P. Batista. Pré-processamento de dados em
o bastante para que os pesquisadores consigam analisar e aprendizado de máquina supervisionado. PhD thesis,
confiar nas predições recebidas. Sendo assim, a principal Universidade de São Paulo, 2003.
vantagem do modelo HLCS – MultiND com relação a ver-
[4] M. K. Campbell. Bioquı́mica. ArtMed, 2000.
são HLCS – Multi é a forma com o qual o modelo apresenta
[5] R. Cerri and A. C. P. L. F. Carvalho. New top-down
os resultados gerados.
methods using svms for hierarchical multilabel
Um exemplo desta diferença pode ser visto na tabela 3.
classification problems. In International Joint
Como o HLCS – Multi realiza o processo de discretização, as
Conference on Neural Networks, pages 1–8. IEEE,
regras geradas são imprecisas, pois utiliza intervalo de da-
2010.
dos como valores dos atributos, dificultando o trabalho dos
pesquisadores. Entretanto no modelo proposto os resultados [6] K. J. Cios, W. Pedrycz, R. W. Swiniarski, and L. A.
são mais especı́ficos e fáceis de serem interpretados. Kurgan. Data Mining: A Knowledge Discovery
Approach. Springer-Verlag New York, Inc., Secaucus,
NJ, USA, 2007.
Tabela 3: Exemplo de Regras geradas pelos Algorit- [7] A. Clare and R. D. King. Predicting gene function in
mos saccharomyces cerevisiae. Bioinformatics, 19:42–49,
2003.
Versão Exemplo Regra [8] U. M. Fayyad, G. Piatetsky-Shapiro, P. Smyth, and
SE cln3-1=(0.041-0.828) e R. Uthurusamy, editors. Advances in knowledge
cln3-2=(-0.228-0.45) e discovery and data mining. American Association for
HLCS – Multi e...e clb2-2=(-0.528-0.268) Artificial Intelligence, Menlo Park, CA, USA, 1996.
ENTÃO [9] A. A. Freitas, D. C. Wieser, and R. Apweiler. On the
Proteı́na é da classe GO0005634 importance of comprehensible classification models for
SE cln3-1>=-0.828 e protein function prediction. IEEE/ACM Trans.
cln3-2<=-0.15 e Comput. Biol. Bioinformatics, 7(1):172–182, Jan.
HLCS - MultiND e...e clb2-2>=-0.2158 2010.
ENTÃO [10] S. Kiritchenko, S. Matwin, and A. F. Famili.
Proteı́na é da classe GO0005634 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.
6. CONCLUSÃO [11] L. M. Romão. Classificação Global Hierárquica
A contribuição dessa pesquisa foi apresentar um estudo Multirrotulo da Função de Proteı́nas Utilizando
de caso de mineração de dados e o uso de técnicas de pré- Sistemas Classificadores. PhD thesis, Pontifı́cia
processamento de dados em algoritmos de classificação de Universidade Católica do Paraná, 2012.
proteı́nas, alterando o funcionamento do algoritmo HLCS [12] L. M. Romão and J. C. Nievola. Hierarchical
– Multi para uma nova versão chamada de HLCS - Mul- Multi-label Classification Problems: An LCS
tiND (Hierarchical Learning Classifier System Multilabel No Approach. Advances in Intelligent Systems and
Discretizate). Esta versão foi desenvolvida para trabalhar Computing, 373:97–104, 2015.
durante todas as etapas da extração do conhecimento com [13] C. Vens, J. Struyf, L. Schietgat, S. Džeroski, and
qualquer tipo de atributo, sendo este numérico ou categó- H. Blockeel. Decision trees for hierarchical multi-label
rico, diminuindo a perda de informação causada pelo pro- classification. Mach. Learn., 73(2):185–214, Nov. 2008.

42
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 - Centro Universitário de Brusque - Centro Universitário de Brusque -
UNIFEBE UNIFEBE UNIFEBE
Rua Dorval Luz, 123 Rua Dorval Luz, 123 Rua Dorval Luz, 123
Brusque – SC - Brasil Brusque – SC - Brasil Brusque – SC - Brasil
jonathan_nau@live.com pedrozanchett@gmail.com wagnercorreia@hotmail.com.br

Antonio Eduardo de Barros Marcos Rodrigo Momo


Ruano UNIFEBE
University of Algarve - Faro Rua Dorval Luz, 123
Email: aruano@ualg.pt Brusque – SC - Brasil
marcos.rodrigomomo@gmail.com

RESUMO Palavras-Chave
A quantidade de informação dos sistemas hidrológicos cresce a Sistema de informação; Processo KDD; Data Mining.
cada medição realizada pelas estações. Com um volume tão alto Estatística.
de informações acaba ficando difícil extrair conhecimento
olhando só os dados. O processo de extração de conhecimento ABSTRACT
(KDD) tem o objetivo de auxiliar a extração do conhecimento a The amount of information of hydrological systems grows each
partir de grandes bases de dados. Pensando em facilitar a measurement performed by the seasons. With such a high volume
extração de conhecimento das grandes bases do sistema of information ends up being difficult to extract knowledge just
hidrológico elaborou-se este projeto de pesquisa que visa looking at the data. The KDD process is intended to assist the
implantar o processo KDD para geração de estatísticas das extraction of knowledge from large databases. Thinking about
estações de telemetria mantidas pela defesa civil de Brusque – facilitating the extraction of knowledge from large bases of the
SC, com base em dados de níveis de chuva e do rio em Brusque hydrological system elaborated a work based on the KDD
e região oferecendo apoio a decisão estratégica. Através do Data process in an attempt to mine the data of hydrological systems
Mining utilizando-se o modelo cubo de decisão por associação and extract knowledge to aid in decision making. A decision
será possível extrair diversas visões à gestão de negócio, based on knowledge extracted from large databases will be more
transformando-se numa ferramenta de ajuda para ganho de assertive in this way the information passed to the entire
tempo no controle e prevenção à enchentes com antecipação e population will have some degree of confidence and no longer
segurança à população. A decisão baseada no conhecimento need to be based on inferences of the people who have the hands
extraído das grandes bases será mais assertiva, desta forma as on the database.
informações passadas para toda a população terá algum grau de
confiança e não precisam mais serem baseadas em inferências Keywords
das pessoas que possuem a base de dados em mãos. Information System; KDD process; Data Mining. Statistic.

General Terms
Experimentation and Database Management.
Permission to make digital or hard copies of all or part of this work for
personal or classroom use is granted without fee provided that copies are Categories and Subject Descriptors
not made or distributed for profit or commercial advantage and that copies
E.2 Data Storage Representations. G.3 Probability and
bear this notice and the full citation on the first page. To copy otherwise,
or republish, to post on servers or to redistribute to lists, requires prior Statistics: Statistical software. H. Information Systems: H. 2.8.
specific permission and/or a fee. Database Applications: Data mining.
SBSI 2016, May 17–20, 2016, Florianópolis, Santa Catarina, Brazil.
Copyright SBC 2016.

43
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016

1. INTRODUÇÃO se definir como problemas as enchentes a ser analisado para uma


A cada dia que passa o volume de informação cresce correta tomada de decisão. Na segunda fase o passo é realizar a
exponencialmente, obrigando o desenvolvimento de técnicas e criação de um conjunto de dados que serão preparados para
ferramentas que facilitem a busca e manipulação de todos esses posteriormente serem minerados. Utilizar-se-á três dados para a
dados armazenados. A mineração de dados é uma tecnologia que mineração, que neste caso é o nível do rio, o nível de chuva e a
combina métodos tradicionais de análise de dados com algoritmos vazão do rio. Estes três dados serão importantes para a extração
sofisticados para processar grandes volumes de dados” [2]. de conhecimento de uma base de dados do sistema hidrológico.

O sistema hidrológico de Brusque gera muita informação através A limpeza e o processamento dos dados serão trabalhados na
das estações de telemetria que se localizam ao longo do rio Itajaí terceira fase do processo KDD. Nesta fase serão eliminados
Mirim, os sensores das estações captam o volume de chuva e o ruídos dos dados que podem afetar a qualidade do conhecimento
nível do rio. Apesar de serem captadas apenas duas variáveis o extraído da base de dados. Como no sistema hidrológico os dados
volume de informação é gigantesco devido a captura dos dados são coletados automaticamente pelas estações de coleta, a
ser em questão de minutos. possibilidade de haver erros na leitura dos sensores é alta. Os
erros que ocorrem na leitura dos sensores são tratados como
“Dados de nível de rios usados para controle de cheias podem ruídos no processo KDD e podem levar a uma conclusão
demandar a coleta e transmissão de dados a cada 10 minutos” [3]. precipitada dos padrões identificados, devido a isso os ruídos
precisam ser eliminados. Por exemplo, nos dados armazenados
Devido à grande quantidade de informação gerada pelas estações
pela defesa civil de Brusque se possui muitos meses desde 1912
de telemetria da defesa civil de Brusque, é fundamental adotar
com falhas nas informações históricas coletadas, essas
técnicas de mineração de dados para identificar padrões e
informações primeiramente precisam ser tratadas para então se
anomalias que antes passavam despercebidas e que agora podem
prosseguir.
ajudar na tomada de decisão, como por exemplo alertar a
população de uma possível enchente. Nas figuras 02 e 03 observa-se claramente o ruído causado por
uma estação de telemetria da defesa civil de Brusque. A imagem
No momento a defesa civil de Brusque, não utiliza base de dados
mostra que em dois horários a estação captou valores acima de
históricas das estações de telemetria para tomada de decisões e
três mil milímetros de chuva, logo depois o nível caiu para zero e
prestar orientações a sua população. As informações repassadas
o nível do rio não teve alteração em nenhum momento. Estes
são somente dos dados atualizados das estações. Esta pesquisa
ruídos vão precisar ser corrigidos pois afetam diretamente na
teve por objetivo elaborar e aplicar técnicas de mineração de
extração de conhecimento da base de dados, apenas esses dois
dados na base de dados histórico da defesa civil para extrair
valores causam uma variação enorme no nível de chuva do mês
conhecimento que antes não se dava atenção e que agora podem
em questão.
ser usados no processo de tomada de decisão.

2. METODOLOGIA DE EXTRAÇÃO DE
INFORMAÇÕES HIDROLÓGICAS
O processo de extração de dados é conhecido pela sigla KDD
(knowledge-discovery in databases). O conceito deste processo se
trata da extração de dados de uma grande base de dados, a fim de
identificar padrões para adquirir conhecimento.
A extração de conhecimento de uma base de dados consiste em
duas grandes fases. A primeira trata da preparação dos dados, que
consiste em selecionar os dados que serão utilizados onde faz a
limpeza e a projeção destes dados. Já a segunda etapa trata da
mineração dos dados, se faz a escolha dos algoritmos e tarefas de
mineração, a interpretação de padrões e a consolidação do
conhecimento descoberto. Na figura 1 pode-se observar as fases Figura 2. Ruído de dados.
do processo KDD mais detalhadamente.

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
Figura 3. Ruído de dados. semiautomática é o objetivo do Data Mining. Trata-se de um
A correção dos dados é feita de maneira para acrescentar mais um processo da extração de padrões, considerados interessantes e não
campo ao final da tabela, para que na mineração dos dados o corriqueiros, a partir de uma base de dados permitindo de forma
algoritmo saiba quais os dados que estão incorretos. Desta forma ágil e rápida a tomada de decisões.
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 Isto vem ao encontro de Cardoso e Machado [4] que definem o
registrados na base de dados, que com isso é possível garantir a Data Mining como uma técnica que faz parte de uma das etapas
integridade dos dados e saber quando uma estação está da descoberta de conhecimento em banco de dados. Ela é capaz
apresentando defeitos. de revelar, automaticamente, o conhecimento que está implícito
em grandes quantidades de informações armazenadas nos bancos
A quarta fase trata-se da redução e projeção dos dados, é mais de dados de uma organização. Essa técnica pode fazer, entre
conhecida como transformação dos dados. Os dados precisam ser outras, uma análise antecipada dos eventos, possibilitando prever
armazenados e formatos de forma que os algoritmos consigam ser tendências e comportamentos futuros, permitindo aos gestores a
aplicados e os dados possam ser minerados. Conforme figura 04 tomada de decisões baseada em fatos e não em suposições.
se utilizará apenas uma tabela com alguns campos (somente
números), para facilitar no momento da mineração dos dados. A A mineração de dados começa efetivamente no sétimo passo.
tabela vai conter como campos o código da estação de coleta, o Nesta fase se irá minerar os dados na tentativa de identificar os
horário que foi realizado a coleta, os valores do nível do rio e das padrões de interesse, os interesses são necessários antes de
chuvas. 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
Figura 4. Dados utilizados (expectation–maximization algorithm ou algoritmo de estimação
de máxima) para minerar dados dos níveis da chuva durante os
A próxima grande etapa é a de mineração dos dados, esta grande meses do ano. O algoritmo EM faz parte da técnica de mineração
fase é composta por quatro fases menores, que vão desde a conhecida como clusterização, o algoritmo é ideal para quando os
escolha de tarefas de mineração até a consolidação do dados são realmente incompletos, quando existe perda de um
conhecimento descoberto por meio da base de dados selecionada intervalo de dados na base de dados.
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 Figura 6. Segunda regra;
dividir os dados em três cluster, cada cluster representa uma
massa de dados. O cluster 1 por exemplo representa apenas 2% IF
dos dados analisados, que correspondem a dezesseis meses em Nível do rio em Botuverá <= 1.846
que a precipitação de chuva chegou em aproximadamente 112 THEN
Nível do rio em Brusque =
milímetros de chuva, com desvio padrão de 19 milímetros. Nele 0.0203 * Nível do rio em Botuverá
ainda se observa que alguns meses tiveram mais ocorrência que + 1.4469 [192/55.59%]
outros, como por exemplo, o mês de março com três ocorrências
e os meses de fevereiro e abril com duas ocorrências cada. Por sua Figura 7. Terceira regra
vez no cluster 2 temos uma média de 63 milímetros de IF
precipitação da chuva, este cluster possui um percentual de Nível do rio em Botuverá <= 2.793
ocorrência no valor de 30% e são destaques os meses de fevereiro, THEN
Nível do rio em Brusque =
março, setembro e dezembro. Por fim a precipitação que mais -0.003 * Acumulado de chuva em Botuverá
ocorre em Brusque com 68% de ocorrência fica na média de 29 - 0.121 * Nível do rio em Botuverá
milímetros, com os meses de maio a agosto em destaque. + 1.8809 [57/54.89%]

Esses dados mostram quais as possíveis eventualidades que Figura 8. Quarta regra.
podem ocorrer durante o ano, por exemplo, o mês de agosto é
mais assertivo falar que as medias de precipitação da chuva vão
Nível do rio em Brusque =
ficar em torno de 19 a 49 milímetros, pois sua a ocorrência dessa - 0.0254 * Acumulado de chuva em Botuverá
media para esse mês é muito maior do que para as demais medias. + 1.1194 * Nível do rio em Botuverá
- 0.2767 [15/72.772%]
Outra mineração feita foi utilizando o algoritmo M5RULES [5],
que utilizou dados da estação de Botuverá e da estação de Figura 9. Quinta regra.
Brusque. Os dados utilizados da estação de Botuverá foram o
acumulado de chuva do dia e a média do nível do rio também para O nono e último passo é a consolidação do conhecimento
o dia, já na estação de Brusque foi apenas utilizado a média do rio descoberto. Nesta fase irá incorporar os resultados nos sistemas,
no dia. nas documentações necessárias e nos relatórios para quem se
O algoritmo funciona da seguinte forma: uma árvore de interessar. Neste ponto também se faz aferições de conflitos e a
aprendizado é aplicada sobre todo o conjunto de treinamento e resolução dos mesmos por meio do conhecimento extraído.
uma árvore podada é aprendida. Em seguida, a melhor Para consolidar as regras propostas pelo algoritmo M5RULES é
ramificação (de acordo com alguma heurística) gera uma regra e necessário apenas ter os valores, utilizar as regras para realizar os
a árvore é descartada. Todas as instâncias cobertas pela regra são cálculos e chegar ao resultado final. Tem-se por exemplo o
removidas do conjunto de dados, e o processo é aplicado de modo seguinte conjunto de dados nível do rio em Botuverá com 0,66
recursivo para os exemplos restantes até que todas as instâncias metros, um volume de chuva no valor de 0,00 milímetros e o nível
sejam cobertas por uma ou mais regras. Ao invés de criar uma do rio em Brusque com 1,38 metros. Utilizando a primeira regra
única regra de aprendizagem, constrói-se um modelo de árvore para o conjunto de informações chega-se a o valor aproximado de
completo em cada fase e faz-se da melhor ramificação uma nova 1,351428 metros, que fica muito próximo ao valor esperado de
regra [6]. 1,38 metros.

46
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016

A primeira grande fase demanda mais tempo no processo KDD, [4]. CARDOSO, O. N. P., MACHADO, R. T. M. Gestão do
geralmente fica em torno de 80% do trabalho realizado durante a conhecimento usando data mining: estudo de caso na
extração do conhecimento de uma base de dados. As etapas que Universidade Federal de Lavras. Revista de
foram descritas também podem ser repetidas durante a extração, Administração Pública. Rio de Janeiro 42(3): 495-528,
apesar de ser apresentado uma sequência para a extração dos Maio/Jun. 2008.
dados a mesma pode ser alterada conforme necessidade, também [5] ALBERG, D.; LAST, M.; KANDEL, A. Knowledge
é possível voltar para alguma etapa anterior caso seja necessário, discovery in data streams with regression tree methods,
é aconselhável voltar para evitar erros na consolidação do 2011.
conhecimento.
[6]. HOLMES, G.; HALL, M.; FRANK, E. Generating Rule
3. CONCLUSÕES E TRABALHOS Sets from Model Trees. In: Twelfth Australian Joint
FUTUROS Conference on Artificial Intelligence, 1999.
A técnica Data Minning contribui para extração precisa e
inteligente dos dados obtidos pelas estações de telemetria do
município de Brusque SC, mantidas pela Defesa Civil para
análise dos problemas ocorridos com cheias, fornecendo
informações de apoio à decisão para técnicos da área e população
em geral, de forma simples e rápida.
Com este trabalho conseguiu-se exibir os meses em que mais
ocorre chuva e quais são os meses mais propícios para chuva
durante o ano, com essa informação é possível verificar os meses
de risco, planejar as estratégias durante o ano e disponibilizar a
informação para a população. Também foi possível com este
trabalho a criação de regras para inferir o nível do rio na cidade
de Brusque a partir dos dados da estação da cidade vizinha
Botuverá.
No sistema hidrológico de Brusque as técnicas de mineração de
dados para extração de conhecimento foram utilizadas pela
primeira vez com esse trabalho, o que resulta em um grande
avanço para a cidade e para a população. Mesmo exibindo algum
resultado ainda é necessário mais estudo na aérea de Data Mining
com foco nos sistemas hidrológicos. A utilização das redes
neurais se mostra interessante para ampliar mais este trabalho,
pois com as redes neurais consegue-se modelar a bacia do rio
Itajaí Mirim de forma a utilizar todas as estações disponíveis ao
longo do rio e saber com precisão qual o nível do rio na última
estação. As redes neurais também permitem que os novos dados
sejam validados a partir dos ruídos que já foram encontrados.

4. AGRADECIMENTOS
Este trabalho de Iniciação Científica teve o apoio da Secretaria de
Estado da Educação de Santa Catarina, através da concessão de
bolsas com recursos do Artigo 170 da Constituição Estadual, para
os alunos de graduação regularmente matriculados na UNIFEBE.

5. REFERÊNCIAS
[1]. AGRAWAL, R.; IMIELINSKI, T.; SWAMI, A. Mining
associations between sets of items in massive databases.
ACM-SIGMOD, 1993. Proceedings... Int’l Conference on
Management of Data, Washington D.C., May 1993.
[2] . ANTUNES, J. F. G.; OLIVEIRA, S. R. M.; RODRIGUES,
L. H. A. Mineração de dados para classificação das fases
fenológicas da cultura da cana-de-açúcar utilizando
dados do sensor modis e de precipitação. VIII Congresso
Brasileiro de Agroinformática. Bento Gonçalves, 2011.
[3]. BLAINSKI, É.; GARBOSSA, L. H. P.; ANTUNES, E. N.
Estações hidrometeorológicas automáticas: recomendações
técnicas para instalação. Disponível em:
<http://ciram.epagri.sc.gov.br/recomendacoes_tecnicas_par
a_instalacao_de_estacoes.pdf >. Acesso em: 25 fev. 2016.

47
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016

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 Caique R. Marques Lucas Wanner
Federal University of Santa Federal University of Santa UNICAMP
Catarina Catarina Campinas, Brazil
Florianópolis, Brazil Florianópolis, Brazil lucas@ic.unicamp.br
paladini@lisha.ufsc.br caique@lisha.ufsc.br
Antônio Augusto Fröhlich
Federal University of Santa
Catarina
Florianópolis, Brazil
guto@lisha.ufsc.br

RESUMO and queries; making possible to analyze data using tools


O crescimento das redes de sensores sem fio (WSN) e dos like Apache Spark.
sistemas de monitoramento de ambientes têm gerado dados
organizados em séries temporais. Bancos de dados relacio- Categories and Subject Descriptors
nais não são ideais para o armazenamento de dados organi- C.2.4 [Distributed Systems]: Distributed databases; G.3
zados em séries temporais. Como alternativa, apresentamos [Probability and Statistics]: Time series analysis
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 Keywords
coletou e armazenou medições em diferentes grandezas uti- Big data; internet of things; database; time series; WSN;
lizando 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
1. INTRODUÇÃO
caminho para análise de dados com ferramentas como o Apa- Com o aumento do interesse em Internet das Coisas (IoT)
che Spark. e Redes de Sensores Sem Fio (WSN), sistemas de monito-
ramento de ambientes têm surgido [18, 19, 16] e gerado um
grande número de medições em um curto perı́odo de tempo,
Palavras-Chave tornando-se importante para áreas relacionadas à indústria
Big data; internet of things; database; time series; WSN; [17] e ao meio ambiente [5]. As medições podem ser fei-
tas sobre diversas grandezas, tais como temperatura, umi-
ABSTRACT dade, turbidez da água, consumo de energia, presença, etc..
Embora não seja possı́vel prever que tipos de medições se-
The increasing interest in wireless sensor networks (WSN)
rão realizadas, os dados medidos geralmente são organiza-
and monitoring systems has generating measurements orga-
dos como séries temporais (time series), que são sequências
nized as time series. Relational databases are not recom-
de observações sobre uma grandeza realizadas ao longo do
mended to store time series data. As an alternative, we pro-
tempo. Como os sensores realizam medições periódicas em
pose a solution using a specific distributed database for time
intervalos de tempo que podem variar de milissegundos até
series from wireless sensor network. During five months, a
dias (de acordo com o ambiente), vários dados podem ser
real monitoring system collected and stored measurements
gerados todos os dias. Banco de dados relacionais tradici-
in different physical quantities using the proposed architec-
onais baseados em arquitetura scale-up e SQL, tais como
ture. The architecture showed to be able to store millions
MySQL e PostgreSQL, não escalam bem com as séries tem-
of time series, being a trustful environment to insertions
porais 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 tempo-
Permission to make digital or hard copies of all or part of this work for rais são observações realizadas em um determinado instante
personal or classroom use is granted without fee provided that copies are de tempo, não é necessário modificar valores passados, desta
not made or distributed for profit or commercial advantage and that copies forma, utilizar um banco de dados que suporta operações de
bear this notice and the full citation on the first page. To copy otherwise, to alteração de valores (update) é desnecessário.
republish, to post on servers or to redistribute to lists, requires prior specific Para solucionar o problema de escalabilidade para supor-
permission and/or a fee.
SBSI 2016, May 17th-20th, 2016, Florianópolis, Santa Catarina, Brazil tar melhor o armazenamento de séries temporais proveni-
Copyright SBC 2016. entes de redes de sensores sem fio é proposto um banco de

48
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 uti- Tabela 1: Tipos de sensores do Smart Solar Building.
lizado na coleta das séries temporais; a seção 3 descreve a Variável Unidade
arquitetura utilizada; a seção 4 mostra alguns resultados que Presença Booleano (1 ou 0)
puderam ser observados a partir da arquitetura utilizada e, Temperatura Graus Celsius (◦ C)
por fim, a seção 5 apresenta as conclusões obtidas através Luminosidade Luminosidade (%)
da arquitetura apresentada para o problema descrito. 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] coleta de dados através de uma rede de sensores sem fio
que somados observam 5 grandezas (temperatura, lumino- (WSN) composta por EPOSMotes, que se comunicam com
sidade, presença, consumo das tomadas e consumo dos ar um EPOSMote especı́fico conectado a um computador (ao
condicionados) e são responsáveis pelo monitoramento e au- qual chamamos de Gateway). O computador possui um ser-
tomação das instalações. A coleta de dados realizada por vidor que recebe os dados via MODBUS e os estrutura para
esses sensores tem como objetivo: (a) o monitoramento e serem enviados via HTTP para (1) um software SCADA
a supervisão do prédio; e (b) posterior análise dos dados (ScadaBR) e (2) um banco de dados. Porém, antes de os
mensurados afim de criar uma automação inteligente para o dados chegarem ao banco de dados é necessário realizar al-
prédio. gumas conversões de acordo com o tipo de dado recebido
Utilizando o sistema operacional EPOS[3] e o protocolo (temperatura, luminosidade, etc.), pois o dado medido nor-
TSTP[15], os EPOSMote reportam as medições realizadas malmente não se encontra na unidade desejada. Essa con-
para um gateway, que tem como função se comunicar com versão pode ser feita de duas maneiras: (a) no momento
um software SCADA (responsável pelo monitoramento e su- da medição do dado, utilizando o dispositivo que o mensu-
pervisão dos sensores) e também enviar as medições para um rou; e (b) em algum momento na cadeia de armazenamento
banco de dados, onde uma futura mineração e análise de da- do dado, utilizando algum computador ou servidor mais ro-
dos poderá ser realizada. Uma visão geral do funcionamento busto. Como operações em ponto flutuante são muito caras
do sistema de monitoramento pode ser visto na Figura 1. para um dispositivo de Internet das Coisas e estes primam
Cada grandeza é medida por um sensor em intervalos de por economia de energia, escolhemos realizar a conversão
tempo que variam de 1 a 60 segundos, o que significa que dos dados em algum momento na cadeia de armazenamento
os 31 sensores no Smart Solar Building podem gerar cerca do dado, o que é feito por um programa denominado Lehder
de 110 mil medições em apenas 1 hora de observação. De [11]. O Lehder é uma API intermediária entre o Gateway e
maneira similar, algumas dezenas de sensores podem gerar o banco de dados, sendo responsável por receber os dados
dezenas de milhões de medições em 1 mês de observação. do Gateway (via HTTP), convertê-los e enviar os dados já
Desta forma o banco de dados que armazenará as medições convertidos para o banco de dados.
precisa ser robusto, suportar bilhões de registros e uma in- Devido às caracterı́sticas das séries temporais e os pro-
gestão elevada de dados por segundo. Os dados em formato blemas descritos, um banco de dados especı́fico para séries
de série temporal raramente serão atualizados e têm de ter temporais, distribuı́do e robusto é desejado. Além disso, um
registros que contenham, no mı́nimo, alguma marcação de banco de dados que esteja preparado para Big Data tam-
tempo[2]. Com isso, um sistema de gerenciamento de banco bém garante a escalabilidade necessária para numerosas e
de dados (SGBD) relacional pode possuir diversas opera- esparsas redes de sensores sem fio, o que pode ser necessário
ções desnecessárias, oferecendo, por exemplo, as operações de acordo com o ambiente envolvido. Entre as opções de
de update, transações entre dados e não armazenando uma banco de dados com essas caracterı́sticas estão o InfluxDB
marcação de tempo por padrão (necessitando o uso de ı́ndi- [6], OpenTSDB [13], KairosDB [8], Prometheus [14] e outros
ces especı́ficos). Uma alternativa ao relacional é necessária. bancos de dados mais recentes e menores, como Warp10 [1],
Newts [12], etc..
Para a nossa arquitetura escolhemos o KairosDB, que con-
3. ARQUITETURA siste de uma interface que utiliza o Apache Cassandra como
A arquitetura do Smart Solar Building começa com a banco de dados, otimizando-o para armazenamento de séries

49
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016

Figura 2: Número de medições diárias feitas por sete sensores do Smart Solar Building.

Figura 3: Número de medições realizadas por hora em 2 de março de 2016 no Smart Solar Building.

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 à indis-
ponibilidade de rede, às falhas nos sensores, à configuração
do ambiente e na falta de energia criaram intervalos conside-
ráveis de tempo onde nenhuma medição pôde ser realizada.
Um gráfico exibindo quantas medições cada sensor reali-
zou 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 ”Tem-
peratura 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 con-
sideravelmente, mas em tempos de estabilidade se mantêm
Figura 4: Arquitetura do Smart Solar Building. 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. É
temporais. A escolha se deu justamente pelo KairosDB utili- possı́vel notar através da Figura 3 (também disponı́vel on-
zar o Apache Cassandra como banco de dados, que é um dos line [10]) que a ingestão de dados a cada hora não é muito
mais confiáveis e robustos banco de dados preparados para alta, ficando na média de 302.8 medições por hora.
Big Data [7]. O KairosDB fornece uma API HTTP para Alguns problemas de instabilidade no banco de dados fo-
ingestão e consulta de dados, de forma que a comunicação ram encontrados durante os meses de teste da arquitetura,
com o Lehder é realizada via HTTP. mas todos estavam relacionados a má configuração do Apa-
Uma visão geral da arquitetura descrita do Smart Solar che Cassandra e limitações fı́sicas, como por exemplo falta
Building pode ser vista na Figura 4. A tabela 1 mostra os de memória RAM.
tipos de sensores (ou variáveis medidas) existentes no Smart
Solar Building.
5. CONCLUSÃO
4. RESULTADOS O crescimento do interesse em Internet das Coisas (IoT) e
Com o ambiente configurado conforme a arquitetura des- Redes de Sensores Sem Fio (WSN) tem se tornado evidente
crita acima, pudemos armazenar 14.113.192 medições ao nos últimos anos e a criação de produtos baseados nessas
longo de 5 meses de funcionamento do Smart Solar Building, tecnologias é inevitável. Bancos de dados relacionais tradi-
com o primeiro dado sendo armazenado em 20 de setembro cionais não estão preparados para tal cenário, fazendo-se ne-

50
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 wicsi-contador-de-medicoes-hora-a-hora?from=


de armazenamento de dados provenientes de WSN. Com a 1456887600000&to=1456973999999. [Online; acessado
arquitetura apresentada foi possı́vel otimizar um problema em 03-Março-2016].
de armazenamento de milhões de medições em um banco [11] LISHA. Repositório Git Lehder.
de dados distribuı́do e especı́fico para séries temporais. Em- https://gitlab.com/lisha/lehder/. [Online;
bora uma elevada ingestão de dados não tenha sido obtida, a acessado em 29-Fevereiro-2016].
arquitetura se mostrou estável durante as inserções e consul- [12] Newts. Site oficial do Newts. http://newts.io/.
tas realizadas (inclusive com testes preliminares utilizando [Online; acessado em 26-Fevereiro-2016].
o Apache Spark para realizar análise dos dados). Conclui- [13] OpenTSDB. Site oficial do OpenTSDB.
se, portanto, que a arquitetura proposta pôde suportar um http://opentsdb.net/. [Online; acessado em
ambiente onde milhões de medições serão feitas sem grandes 26-Fevereiro-2016].
problemas, entretanto maiores testes precisam ser realizados [14] Prometheus. Site oficial do Prometheus.
para descobrir se a arquitetura consegue escalar para bilhões http://prometheus.io/. [Online; acessado em
de medições. 26-Fevereiro-2016].
Para trabalhos futuros é pretendido: (1) testar a arqui-
[15] D. Resner and A. A. Fröhlich. Design Rationale of a
tetura descrita com uma ingestão de dados mais elevada,
Cross-layer, Trustful Space-Time Protocol for Wireless
podendo chegar a bilhões de medições; (2) integrar a arqui-
Sensor Networks. In 20th IEEE International
tetura com ferramentas de processamento de dados parale-
Conference on Emerging Technologies and Factory
las, tais como Apache Spark, e realizar mineração de dados
Automation (ETFA 2015)., pages 1–8, Luxembourg,
sobre os dados coletados; (3) armazenar dados de sensores
Luxembourg, Sept. 2015.
utilizando geolocalização ao invés de associar medições com
um sensor especı́fico. [16] R. Rushikesh and C. M. R. Sivappagari. Development
of iot based vehicular pollution monitoring system. In
International Conference on Green Computing and
6. REFERÊNCIAS Internet of Things (ICGCIoT), pages 779–783. IEEE,
[1] C. Data. Site oficial do Warp10. October 2015.
http://www.warp10.io/. [Online; acessado em [17] A. Tiwari, P. Ballal, and F. L. Lewis. Energy-efficient
26-Fevereiro-2016]. wireless sensor network design and implementation for
[2] T. Dunning and E. Friedman. Time Series Databases: condition-based maintenance. ACM Transactions on
New Ways to Store and Access Data, pages 25–36. Sensor Networks (TOSN), 3, 3 2007.
O’Reilly Media, 2014. [18] C. Xiaojun, L. Xianpeng, and X. Peng. Iot-based air
[3] A. A. Fröhlich and W. Schröder-Preikschat. EPOS: an pollution monitoring and forecasting system. In
Object-Oriented Operating System. In 2nd ECOOP International Conference on Computer and
Workshop on Object-Orientation and Operating Computational Sciences (ICCCS), pages 257–260.
Systems, volume CSR-99-04 of Chemnitzer IEEE, January 2015.
Informatik-Berichte, pages 38–43, Lisbon, Portugal, [19] J. Zambada, R. Quintero, R. Isijara, R. Galeana, and
June 1999. L. Santillan. An iot based scholar bus monitoring
[4] A. A. Fröhlich, R. Steiner, and L. M. Rufino. A system. In IEEE First International Smart Cities
Trustful Infrastructure for the Internet of Things Conference (ISC2), pages 1–6. IEEE, October 2015.
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
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
felipe.moskado@gmail.com, {menolli,glauco,rgcoelho}@uenp.edu.br,luan.sm50@gmail.com

RESUMO
Os ambientes de Business Intelligence auxiliam os
Categories and Subject Descriptors
administradores das empresas a tomarem decisões mais precisas H.2.4 [Database Management]: Systems – Distributed databases.
sobre o seu negócio. Estes ambientes normalmente utilizam o
Data Warehouse que é um banco de dados integrado e voltado à H.2.7 [Database Management]: Database Administration – data
consulta. No entanto, a implantação de um DW é muito cara e warehouse and repository.
demorada, sendo um grande obstáculo, principalmente para
pequenas e médias empresas. De forma a tentar minimizar estes General Terms
problemas foi proposta a metodologia Agile ROLAP, que visa Algorithms, Management, Security.
auxiliar na utilização de ferramentas OLAP a partir das bases
relacionais das empresas. No entanto, a fim de não utilizar Keywords
diretamente a base de dados original e integrar diferentes bases, Foreign Data Wrapper, Agile ROLAP, Data Warehouse, Business
propõe-se um mecanismo intermediário que utilize a tecnologia Intelligence.
Foreign Data Wrapper. Assim este trabalho apresenta o
desenvolvimento de plugins para a ferramenta Kettle que auxilie 1. INTRODUÇÃO
na criação de Foreign Tables e na integração de dados. As empresas com o decorrer do tempo armazenam uma grande
quantidade de informações sobre o seu negócio, e no intuito de
Palavras-Chave utilizar as informações adquiridas no decorrer do tempo, muitas
Foreign Data Wrapper, Agile ROLAP, Data Warehouse, Business fazem uso de ambientes de Business Intelligence (BI). Estes
Intelligence. ambientes de BI auxiliam na análise dos dados de forma eficiente
e na tomada de decisão dos administradores da organização,
ABSTRACT facilitando também o conhecimento sobre o seu negócio.
The Business Intelligence environments assists the companies A implementação de BI não é algo trivial, demanda custo e
administrators take more accurate decisions about your tempo, pois é necessário um Data Warehouse (DW), que tem
businesses. These environments normally use the Data como finalidade armazenar informações relativas às atividades da
Warehouse, which is an integrated database and prepared for organização de forma consolidada. O processo para a criação do
query. However, the implementation of a DW is very expensive DW geralmente é desenvolvido de modo iterativo, mas mesmo
and times consuming, and a great obstacle, mainly for small and assim são necessários em média 15 ou mais meses para que o
medium enterprises. In order to try to minimize these problems primeiro módulo entre em produção [1].
was proposed the Agile ROLAP methodology, which aims to help
in the use of OLAP tools from relational databases of companies. Segundo [2], o método Agile ROLAP tem por objetivo permitir a
However, in order to not use directly the original database and implantação de forma ágil de ambientes de BI que utilizem bancos
integrate different databases, it is proposed an intermediate de dados relacionais, e ao mesmo tempo permitam a utilização de
mechanism that uses the Foreign Data Wrapper technology. Thus, ferramentas OLAP projetadas para ambientes tradicionais por
this work presents the development of plugins for Kettle tool that meio de um servidor ROLAP.
assists in the creation of Foreign Tables and data integration. No entanto, é proposto no Agile Rolap, que se utilize um
mecanismo intermediário que permita integrar os dados de
Permission to make digital or hard copies of all or part of this work for diversas fontes de dados em uma única base, para que se
personal or classroom use is granted without fee provided that copies are mantenha o conceito de DW e que possa utilizar ferramentas de
not made or distributed for profit or commercial advantage and that BI projetadas para serem utilizadas em DWs.
copies bear this notice and the full citation on the first page. To copy
otherwise, or republish, to post on servers or to redistribute to lists, Essa integração deve ocorrer de maneira transparente ao usuário,
requires prior specific permission and/or a fee. de forma a não migrá-los em uma nova base de dados, uma vez
SBSI 2016, May 17–20, 2016, Florianópolis, Santa Catarina, Brazil. que esse é o conceito de integração utilizado nos DWs. Portanto, é
Copyright SBC 2016. proposta a criação de plugins para a ferramenta Kettle, que
auxiliem que dados de diferentes fontes de dados sejam integrados

52
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016

em uma única base de dados PostgreSQL, permitindo


permit a consulta estão os valores dos atributos na perspectiva
desses dados de fontes externasas por meio da d utilização da multidimensional na base de dados relacional.
tecnologia Foreign Data Wrapper (FDW), possibilitando uma  OLAP: São as ferramentas de consulta
Ferramentas OLAP
melhor análise em conjunto dos dados [3]. para os usuários finais.
finai Nesta fase, os dados já foram
mapeados e podem e devem ser visualizados de maneira
2. REVISÃO
EVISÃO BIBLIOGRÁFICA simples pelo responsável da tomada de decisão, que são
Nesta seção são apresentados alguns dos principais conceitos acessados por meio de um servidor ROLAP.
bases para o desenvolvimento do trabalho.
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
DW é o resultado do processo de transformação dos dados obtidos 2.2 FOREIGN DATA WRAPPER
de sistemas legados e de bancos de dados transacionais que ficam O FDW é um modelo para escrever um módulo para acessar
organizados sob um formato compreensível ao usuário, auxiliando dados externos baseado no padrão SQL/MED, este é um padrão
na tomada de decisão [5]. No entanto, como mencionado para acessar objetos remotos [6]. A Figura 2 ilustra como é
anteriormente, o processo de criação de um DW é custosa e aplicado este conceito no banco de dados PostgreSQL,
PostgreSQL pois o
demorada, o que muitas vezes se torna um empecilho para que, esmo oferece um melhor suporte para essa tecnologia.
mesmo tecnologia A
principalmente pequenas e médias empresas o implantem. Dessa estrutura é dividida em 3 partes dentro do Sistema Gerenciador de
forma foi proposta a metodologia Agile ROLAP,
ROLAP que tem como Banco de Dados (SGBD) são: os Wrappers, os “local” tables, e
intuito mitigar alguns problemas encontrados na implantação de as Foreign Tables.
BI, principalmente diminuindo tempo com o processo de Extract
Transformation Loading (ETL).. Apesar da metodologia não Os Wrappers são drivers que apontam para outros tipos de bancos
utilizar o conceito tradicional de DW, consegue-se
consegue por meio de de dados, além de existir um para o próprio PostgreSQL. Por
seu uso utilizar as ferramentas Online Analytical Processing exemplo, na Figura 2 existe um wrapper chamado mysql_fdw,
(OLAP) disponíveis no mercado. que automaticamente aponta para um banco de dados MySQL,
pois o PostgreSQL sabe que esse é o driver do MySQL e lá que
Assim, a metodologia visa diminuir o tempo despendido no n estão armazenados os dados originais.
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 As Foreign Tables são cópias da estrutura das tabelas originais da
DW se dá no processo de ETL [4]. Isto permite que pequenas base de dados de origem. Ass mesmas mantém uma imagem de
empresas possam usufruir de ferramentas OLAP voltadas para tempo real do que está sendo armazenado na tabela original e caso
ambientes de BI tradicionais, proporcionando auxilio na tomada esta seja modificada é também alterada a Foreign Table. Nestas
de decisão do administrador da organização baseado nas tabelas não é possível fazer alterações nos dados, somente
informações geradas,, assim podendo conhecer melhor sobre o seu consultas.
negócio
ócio além de competir melhor no mercado
mercado. O “local” tables ou servidor é onde as Foreign Tables são
A Figura 1 mostra como é o funcionamento do Agile ROLAP e a armazenadas. Esteste local pode ser chamado de servidor.
servidor Os
função de cada etapa apresentada na Figura 1 é descrita a seguir: 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
 Físico: representa bases de dados originais. Os dados desejadas. Um wrapper pode ter vários servidores que apontam
das empresas estão armazenadas em tabelas relacionais. para diferentes bases de dados do mesmo banco de dados.
 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á consultandodo 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, Figura 2 - Estrutura do Foreign Data Wrapper
paraa os dados que devem ser mostrados na forma pós ser criado toda a estrutura do FDW, esta tecnologia permite
Após
dimensional. Basicamente esse schema indica onde 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 Após a base intermediária ser estruturada com as Foreign Tables,
todos plugins necessários para a implantação completa do Agile são utilizados três plugins que vão usufruir desses dados
Rolap. Além disso, o Kettle é uma ferramenta que permite a integrados, que são: O tempo, a dimensão e o fato. A Figura 4
utilização de plugins para realizar transformações de dados mostra como funcionam os plugins citados anteriormente em
complexos nos dados que darão origem a um ambiente de BI. conjunto no Kettle.
Basta utilizar um conjunto de plugins interligados entre si, além O plugin dimensão facilita a modelagem da dimensão que será
de facilitar o processo de ETL. O Kettle é uma plataforma de utilizada no ambiente de BI. Nele os dados são carregados na base
integração de dados completa, que permite a análise dos dados de intermediária, ou seja, por meio das Foreign Tables criadas. A
forma precisa, podendo obter os dados de qualquer fonte de dados Figura 4 mostra a dimensão Cliente e Produto que utilizam os
e permitindo sua manipulação por meio de componentes visuais, dados das Foreign Tables Cliente e Produto, das suas respectivas
eliminando assim a codificação e a complexidade na integração bases.
dos dados [7].
O plugin tempo auxilia a construção de tabelas de tempo que o
A Figura 3 ilustra a interface do plugin desenvolvido no Kettle. A ambiente de BI precisa, e por meio deste são geradas novas
tela é composta pela Conexão Destino, Conexão Origem e uma tabelas na base de dados intermediária utilizada pelo ambiente de
tabela. A Conexão Destino é responsável por fazer a conexão BI, com o objetivo de permitir uma análise temporal dos dados.
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 O plugin fato auxilia a criação de uma view que atua como o fato
foi criado o FDW, além do usuário e senha. Para conseguir ver o de um modelo dimensional. Como se utiliza diretamente os dados
conteúdo do campo “Servers do FDW” é necessário que todos os da base de dados da organização é necessário agrupar as medidas
campos anteriores estejam preenchidos, assim será mostrado todos em uma nova estrutura. Os dados desta view são carregados por
os servidores criados no FDW, diminuindo a chance de erro na meio das Foreign Tables criadas na base intermediária, assim
hora de criar a Foreign Table. 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


A fim de verificar se a utilização de bases intermediárias, O uso do FDW como base intermediária se mostrou uma
implantadas utilizando a tecnologia FDW, é viável em termos de alternativa viável para acessar de forma rápida os dados por meio
desempenho se comparado ao DW tradicional, algum testes foram de ferramentas OLAP. O uso do FDW permite o acesso aos dados
realizados. O Agile ROLAP não precisa necessariamente de uma das bases de origem de forma transparente, e ao mesmo tempo
base intermediária para ser implantado, os dados podem ser não modifica esta base, pois caso seja necessário criar novas
acessados diretamente das próprias bases transacionais utilizada tabelas, como as de Tempo, estas são criadas diretamente na base
pela organização, no entanto isto dificulta a integração dos dados, FDW. Além disso, permite a integração de diferentes bases, um
um dos preceitos do DW. preceito importante do DW.
Além disso, a implantação de ambientes de BI utilizando a própria Os resultados do uso desta tecnologia se mostraram satisfatórios
base da organização faz com que seja necessária a permissão para em termos de desempenho, o que mostra que seu uso é viável.
que sejam realizadas modificações na estrutura do banco, o que é Como principal limitação, no estado em se encontra os plugins,
muito indesejável. Assim, é fortemente recomendado que na consegue-se acessar apenas dados de fontes de bases de dados
utilização do Agile ROLAP seja criada uma base de dados relacionais, não conseguindo acesso a outros tipos de fontes de
intermediária, que implementa a função de armazenar os dados dados.
adicionais necessários para implantar o ambiente de BI.
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
Figura 5 – Comparação do desempenho de acesso OLAP a
2010 5 ed.
três tecnologias.
[2] SOUZA, Elielson B., MENOLLI, André L. A., COELHO,
Observando a Figura 5, percebe-se que a utilização de fatos em
Ricardo G. “Um método Agile ROLAP para implementação
view tem um tempo de resposta gerado muito superior em relação
de ambientes de inteligência de negócios”.
à utilização de fatos em tabelas e fatos em views materializadas.
Baseado nas comparações de tempo de resposta foi escolhida à [3] SAVOV, Svetoslav. “How to use PostgreSQL Foreign Data
utilização de fatos em views materializadas para a implementação Wrappers for external data management”
método Agile ROLAP no ambiente de BI, pois não haverá [4] MENOLLI, André L. A. “A Data Warehouse Architeture in
necessidade de reconstruir o objeto quando os dados forem Layers for Science and Tecnology” Proceedings of the
recarregados. Eighteenth International Conference on Software
Na Figura 6 é mostrado o desempenho obtido na implantação de Engineering Knowledge Engineering (SEKE’2006), San
ambientes de BI, utilizando o método Agile ROLAP, por meio de Francisco, CA, USA.
bases intermediárias usando FDW para obter os dados das bases [5] KIMBALL, Ralph., CASERTA, Joe “The Data Warehouse
transacionais. Nesta Figura, é comparado o desempenho do acesso ETL Toolkit: Practical Techniques for Extracting, Cleaning,
aos dados por meio de ferramentas OLAP, quando os dados são Conforming, and Delivering Data”
armazenados utilizando a tecnologia FDW em comparação ao
acesso dos dados quando estão armazenados diretamente na [6] AHMED, Ibrar., FAYYAZ, Asif., SHAHZAD, Amjad.
própria base de dados transacionais, e ainda comparando com a “PostgreSQL Developer’s Guide”.
utilização de um DW. [7] PENTAHO. “Pentaho: Writing you own Pentaho Data
Percebe-se que a utilização de base de dados intermediária tem Integration Plug-in”. Pentaho Community, 2014.
um desempenho inferior em relação ao método Agile ROLAP, que http://wiki.pentaho.com/dislplay/EA/Writing+your+own+Pe
utiliza a própria base de dados transacionais da empresa, porém ntaho+Data+Intagration+Plug-in. Acessado em 11 de março
discrepância não foi tão significativa. Apenas na primeira consulta de 2016
resultou em uma diferença expressiva, nas demais consultas o
resultado foi equivalente ou muito próximo.

55
III Workshop de Iniciação Científica em Sistemas de Informação, Florianópolis, SC, 17 a 20 de Maio de 2016

Índice Remissivo

Morais, Emilie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Moskado, Felipe I. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21, 52
A
Abreu, Christian R.C. de . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
N
Araújo, Cristian Z. de . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Nau, Jonathan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
B
O
Baldessar, Maria J. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Oliveira, Aline C.A. de . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Oliveira, Geovanni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
C
Coelho, Ricardo G. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21, 52
P
Correia, Wagner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5, 43
Paladini, Fernando . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Cunha, Mônica X.C. da . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
R
D
Romão, Luiz Melo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Duda Júnior, José da S. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Ruano, Antonio E. de B. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
F
S
Fagundes, Priscila B. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Silva, Alexandre S. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Figueiredo, Rejane M. da C. . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Silva, Glauco C. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21, 52
Frohlich, Antonio A. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Silva, Rodrigo C. da . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Silva, Viviane A. da . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
H
Hauck, Jean C.R. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
T
Trevisani, Kleber M. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
L
Lima Junior, Guaratã A.F. de . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
V
Lins, Matheus I.A. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Venson, Elaine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Lopes, Bruno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Vieira, Lucas N. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
M
W
Marques, Caique R. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Wanner, Lucas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Martins, Augusto B.T. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Mello, Leonardo R. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Z
Melo, Luan S. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21, 52
Zanchett, Pedro S. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5,43
Menolli, André . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21, 52
Momo, Marcos R. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5

56

Você também pode gostar