Vous êtes sur la page 1sur 69

FAED

Douglas Granzotto
TCC - Curso de Sistemas de Informao

BUSINESS INTELLIGENCE IMPLEMENTAO DE UMA FERRAMENTA OLAP PARA ANLISE DE DADOS


MULTIDIMENSIONAIS

Dois Vizinhos - PR
2011

Douglas Granzotto

BUSINESS INTELLIGENCE IMPLEMENTAO DE UMA FERRAMENTA OLAP PARA ANLISE DE DADOS


MULTIDIMENSIONAIS

TCC - Trabalho de Concluso de Curso

Orientador: Esp. Fbio De Carli

Dois Vizinhos - PR
2011

TERMO DE APROVAO

Douglas Granzotto

BUSINESS INTELLIGENCE IMPLEMENTAO DE UMA FERRAMENTA OLAP PARA ANLISE DE DADOS


MULTIDIMENSIONAIS

Trabalho de Concluso de Curso aprovado como requisito parcial para a obteno


do grau Bacharel em Sistemas de Informao pela Faculdade Educacional de Dois
Vizinhos - Unio de Ensino do Sudoeste do Paran.

BANCA EXAMINADORA

Esp. Fbio De Carli


(Orientador)

Esp. Rodrigo Siega


(Membro da Banca)

Esp. Diego Lovison


(Membro da Banca)

Dois Vizinhos, 14 de novembro de 2011

DEDICATRIA

A minha esposa Rosngela, meus filhos Christine e Matheus e aos meus pais
Enore e Ilza. Essa conquista de todos eles.

Agradeo primeiramente a Deus por


conceder-me todas as condies para a
obteno

desta

conquista.

minha

esposa Rosngela, pelo apoio, incentivo e


compreenso. Tivemos que abrir mo de
tantas coisas nesse tempo. Aos meus
filhos Christine e Matheus, razo principal
dos meus esforos. Aos meus pais Enore
e Ilza, que desde a infncia incentivaramme nos estudos. Aos professores e
colegas com quem muito aprendi nesses
quatro anos. Ao professor Fbio de Carli,
pela dedicao e contribuies durante a
orientao deste trabalho.

O temor do Senhor o princpio da


sabedoria; bom entendimento tm todos
os que obedecem aos seus preceitos. O
seu louvor permanece para sempre.
(Salmos 111.10)

RESUMO

GRANZOTTO, Douglas1
CARLI, Fabio De2
O presente trabalho refere-se ao desenvolvimento de uma ferramenta analtica projetada para o
suporte tomada de deciso. Trata-se de uma ferramenta OLAP, que constitui parte de uma soluo
de Business Intelligence, destinada principalmente as empresas de menor porte. O objetivo
disponibilizar uma interface grfica, multiplataforma, destinada ao ambiente desktop dos sistemas
operacionais Windows, Linux, Unix e Mac. Atravs desta interface, o usurio poder definir e realizar
anlises multidimensionais. As informaes disponibilizadas pelas anlises podero ser detalhadas
ou agregadas dinamicamente pelo prprio usurio conforme sua necessidade no momento, recursos
estes conhecidos por Drill Down e Roll Up. Operaes Slice e Dice, por meio das quais o usurio
poder visualizar apenas parte do cubo de dados ou mudar a perspectiva de viso dos mesmos
tambm estaro presentes. A maioria das funcionalidades OLAP disponibilizadas, podero ser
utilizadas facilmente por meio de operaes de arrastar e soltar (Drag and Drop), visando agilizar e
facilitar o processo de anlise. Aps serem recuperados de um banco de dados operacional ou de um
data warehouse, os dados que compem uma determinada anlise sero gravados localmente em
um arquivo. Isso permitir ao usurio efetuar anlises complexas sem sobrecarregar o servidor da
fonte de dados, bem como possibilitar o trabalho mesmo estando desconectado. O desenvolvimento
desse trabalho, com foco nas caractersticas propostas, resultou em uma ferramenta simples, de fcil
instalao e de utilizao imediata, porm contendo os principais recursos que um produto OLAP
tradicional deve oferecer. Com isso, espera-se proporcionar aos potenciais usurios, uma ferramenta
acessvel, que de apoio significativo aos processos analticos tanto no nvel gerencial quanto no nvel
estratgico.
Palavras-chave: Business Intelligence; OLAP; Cubo; Anlise; Deciso.

1
2

Acadmico do curso de Sistemas de Informao pela UNISEP/FAED Dois Vizinhos, 2011.


Orientador, Especialista na Tecnologia Java pela UNIPAN/Brasil, 2009.

ABSTRACT

GRANZOTTO, Douglas13
CARLI, Fabio De2
The present paper concerns the development of an analytical tool designed to support decision
making. It is an OLAP tool, which is part of a Business Intelligence solution, primarily intended for
smaller companies. The goal is to provide a graphical interface, multi-platform, intended for desktop
environment of the operating systems Windows, Linux, Unix and Mac. Through this interface, the user
can define and perform multidimensional analysis. The information provided by the analysis may be
detailed or aggregated dynamically by the user as needed at the moment, these resources are known
as Drill Down and Roll Up. Operations Slice and Dice, through which the user can view only part of the
data cube or change the perspective view of the same, will also be present. The most OLAP features
available, can be used easily by drag and drop operations, to expedite and facilitate the analysis
process. After being retrieved from an operating database or a data warehouse, the data that
compose a given analysis will be stored locally in a file. This will allow the user to perform complex
analysis without overloading the server of the data source and enabling the work even when
disconnected. The development of this work, focusing on the proposed features, resulted in a tool
simple, easy installation and immediate use, but containing the main features that a traditional OLAP
product should offer. Thus, is expected provide to potential users, an accessible tool that offer
significant support to the analytical process, both as tactical level such as in the strategic level.
Key words: Business Intelligence; OLAP; Cube; Analysis; Decision.

1
2

Academic course Information Systems by UNISEP/FAED, 2011.


Adivisor, Java Technology Specialist by UNIPAN/Brazil, 2009.

LISTA DE FIGURAS

Figura 1: Modelo Dimensional (Star Schema) ............................................................. 7


Figura 2: Arquitetura .................................................................................................. 14
Figura 3: Arquitetura de Integrao ........................................................................... 15
Figura 4: Diagrama de casos de uso ......................................................................... 26
Figura 5: Diagrama de classes .................................................................................. 35
Figura 6: Tela de configurao dos Data Sources .................................................... 37
Figura 7: Tela Novo/Editar/Visualizar/Copiar Data Sources ...................................... 38
Figura 8: Passo 1 do wizard de definio de anlise (Script SQL) ............................ 39
Figura 9: Passo 2 do wizard de definio de anlise (Dimenses e Medidas) .......... 40
Figura 10: Passo 3 do wizard de definio de anlise (Layout) ................................ 41
Figura 11: Passo 4 do wizard de definio de anlise (Ttulo e Arquivos) ................ 42
Figura 12: Tela para realizao de anlises .............................................................. 43
Figura 13: Tela para realizao de anlises no Ubuntu Linux em ingls................... 44

LISTA DE TABELAS

Tabela 1: Requisitos funcionais................................................................................. 20


Tabela 2: Requisitos no-funcionais ......................................................................... 22
Tabela 3: Casos de uso x requisitos ......................................................................... 25

LISTA DE QUADROS

Quadro 1: Caso de uso Configurar Data Sources ..................................................... 28


Quadro 2: Caso de uso Manter Variveis de Script .................................................. 30
Quadro 3: Caso de uso Selecionar Preferncias ...................................................... 31
Quadro 4: Caso de uso Criar e Alterar Definies de Anlises ................................. 32
Quadro 5: Caso de uso Criar Anlises ...................................................................... 33
Quadro 6: Caso de uso Realizar Anlises ................................................................. 33
Quadro 7: Caso de uso Exportar Anlises ................................................................ 34

LISTA DE ABREVIATURAS E SIGLAS

3FN

Terceira Forma Normal

API

Application Programming Interface

BI

Business Intelligence

CSV

Comma Separated Values

DB

Database

DBMS

Database Management Systems

DER

Diagrama de Entidade e Relacionamento

DM

Data Mart

DOLAP Desktop Online Analytical Processing


DSS

Decision Support System

DW

Data Warehouse

ER

Entidade Relacionamento

ERP

Enterprise Resource Planning

ETL

Extract, Transform and Load

FAED

Faculdade Educacional de Dois Vizinhos

HOLAP Hybrid Online Analytical Processing


IDE

Integrated Development Environment

IHC

Interao Humano-Computador

JDBC

Java Database Connectivity

JVM

Java Virtual Machine

MOLAP Multidimensional Online Analytical Processing


OLAP

Online Analytical Processing

OMG

Object Management Group

RF

Requisito Funcional

RNF

Requisito No Funcional

ROLAP Relational Online Analytical Processing


SQL

Structured Query Language

UML

Unified Modeling Language

XML

eXtensible Markup Language

SUMRIO

INTRODUO ...................................................................................................... 1
1.1

JUSTIFICATIVAS ...................................................................................... 2

1.2

OBJETIVOS .............................................................................................. 2

1.3
2

1.2.1

Objetivo Geral ................................................................................... 2

1.2.2

Objetivos Especficos ........................................................................ 2

ORGANIZAO DO TRABALHO.............................................................. 3

BUSINESS INTELLIGENCE: CONCEITOS E TECNOLOGIAS ........................... 4


2.1

SISTEMAS DE APOIO A DECISO .......................................................... 4

2.2

BUSINESS INTELLIGENCE ...................................................................... 4

2.3

DATA WAREHOUSE................................................................................. 5

2.4

MODELAGEM DIMENSIONAL .................................................................. 6

2.5

DATA MINING ........................................................................................... 8

2.6

PROCESSAMENTO ANALTICO ON-LINE (OLAP) .................................. 8


2.6.1

Operaes Bsicas OLAP................................................................. 9

2.6.1.1 Drill Down e Roll Up .................................................................... 9


2.6.1.2 Slice and Dice ............................................................................. 9
2.6.2
Diferentes Abordagens de Ferramentas OLAP ................................. 9

2.6.2.1 ROLAP (Relational OLAP) ........................................................ 10


2.6.2.2 MOLAP (Multidimensional OLAP) ............................................. 10
2.6.2.3 HOLAP (Hybrid OLAP) .............................................................. 10
2.6.2.4 DOLAP (Desktop OLAP) ........................................................... 10
MODELO DE NEGCIO ..................................................................................... 11
3.1

CLIENTE ................................................................................................. 11
3.1.1

Situao Atual ................................................................................. 12

3.1.2

Problemas Encontrados .................................................................. 12

3.1.3

Soluo Proposta ............................................................................ 13

3.1.4

Arquitetura....................................................................................... 14

3.1.4.1 Integrao ................................................................................. 14


MATERIAIS E MTODOS .................................................................................. 16
4.1

FERRAMENTAS E TECNOLOGIAS UTILIZADAS .................................. 16


4.1.1

Linguagem de Programao ........................................................... 16

4.1.2

IDE (Integrated Development Environment).................................... 17

4.1.3

Swing .............................................................................................. 17

4.1.4

Jide Software .................................................................................. 17

4.2

4.1.5

API para Acesso aos Bancos de Dados Relacionais ...................... 18

4.1.6

XML (eXtensible Markup Language) ............................................... 18

4.1.7

Ferramenta de Diagramao UML .................................................. 19

DOCUMENTAO DA FERRAMENTA .................................................. 19


4.2.1

Anlise de Requisitos ...................................................................... 19

4.2.1.1 Requisitos funcionais................................................................. 20


4.2.1.2 Requisitos no-funcionais ......................................................... 22
4.2.2
Limitaes da ferramenta ................................................................ 23
4.2.3

Diagramao UML .......................................................................... 23

4.2.3.1 Atores ........................................................................................ 23


4.2.3.2 Casos de uso ............................................................................ 24
4.2.3.3 Diagrama de casos de uso ........................................................ 25
4.2.3.4 Diagrama de classes ................................................................. 34
INTERFACE DA FERRAMENTA ........................................................................ 37

CONSIDERAES FINAIS ................................................................................ 45

TRABALHOS FUTUROS.................................................................................... 46

REFERNCIAS BIBLIOGRFICAS ................................................................... 47

APNDICE A ESPECIFICAO DA LINGUAGEM DE SCRIPT .......................... 49


APNDICE B ESPECIFICAO DO ARQUIVO DE DEFINIO DE ANLISE .. 51
APNDICE C ESPECIFICAO DO ARQUIVO DE ANLISE ............................ 53

INTRODUO
Atualmente os sistemas de informao esto presentes nas mais diversas

reas de negcios. Diariamente so criadas novas funcionalidades e aplicaes


para os mesmos, aumentando o escopo das solues. Com isso, o volume de
informao armazenada cresce exponencialmente, dificultando a explorao
adequada das mesmas em benefcio dos interesses da empresa.
As solues de Business Intelligence (BI) surgem para viabilizar este
processo, disponibilizando entre outras tecnologias, as ferramentas OLAP (On-Line
Analytical Processing Processamento Analtico On Line).
Ferramentas OLAP proporcionam ao usurio a habilidade de explorar e
analisar informaes de maneira sumarizada ou detalhada. Este usurio tem
autonomia para modificar dinamicamente a forma de como as informaes so
apresentadas, criando visualizaes que satisfaam suas necessidades em um
determinado momento. A finalidade principal do processo analtico a gerao de
conhecimento a partir das informaes de domnio da empresa, objetivando o
suporte a tomada de deciso e a gesto adequada dos negcios.
Assim sendo, este trabalho prope o desenvolvimento de uma ferramenta
OLAP acessvel s empresas de menor porte, mas que disponibilize os recursos
necessrios a realizao do processo analtico.
O trabalho contempla toda documentao necessria para a devida
compreenso da ferramenta. Aps uma explanao sobre os conceitos e
tecnologias relacionados s solues de Business Intelligence apresentado o
Modelo de Negcio e os potenciais clientes. Na sequncia, so relacionadas as
ferramentas

tecnologias

utilizadas

no

desenvolvimento

da

soluo.

levantamento de requisitos apresentado, seguido pelos atores, casos de uso com


seus respectivos detalhamentos, bem como os diagramas UML (Unified Modeling
Language). E, finalmente, uma demonstrao das principais telas que compe a
interface com o usurio da ferramenta, seguidas pelas consideraes finais e as
sugestes para trabalhos futuros.

1.1

JUSTIFICATIVAS
O

crescimento

constante

acentuado

do

volume

de

informaes

armazenadas nos bancos de dados dos mais diversos tipos de sistemas utilizados
pelas empresas, a concorrncia global, em conjunto com as necessidades cada vez
maiores de velocidade e eficincia nos processos de tomada de deciso, resultam
na necessidade de ferramentas de software dinmicas que possam dar apoio s
pessoas envolvidas nessas atividades.
Solues de Business Intelligence apresentam-se como um importante
diferencial competitivo no mundo nos negcios. Sabe-se, porm, que tais solues
costumam ser caras e de difcil acesso s empresas de menor porte. Atualmente
existem solues Open Source4 disponveis no mercado, entretanto, estas ainda
podem ser onerosas, devido ao trabalhoso processo de implantao envolvendo
profissionais qualificados durante um longo perodo.
1.2

OBJETIVOS
Esta seo apresenta o Objetivo Geral e os Objetivos Especficos a serem

atingidos com o desenvolvimento deste trabalho.


1.2.1 Objetivo Geral
Desenvolver uma ferramenta OLAP de fcil implantao e utilizao, que
apresente custos reduzidos tornando-a acessvel s empresas de menor porte.
Porm, que apresente os principais recursos das ferramentas OLAP existentes no
mercado, resultando em uma soluo que facilite as atividades analticas e d o
devido suporte ao processo de tomada de deciso.
1.2.2 Objetivos Especficos

Aplicar de forma prtica as tcnicas apresentadas pelas disciplinas que


compe a grade curricular do curso de sistemas de informao;

Efetuar o levantamento dos requisitos comuns a uma ferramenta OLAP;

Open Source software de cdigo aberto, o qual est disponvel para modificaes, possibilitando a correo de erros, a
adio de novos recursos e a criao de novas verses, sempre dando crdito fonte.

Projetar a ferramenta proposta, para que a mesma possa ser utilizada


diretamente pelo usurio e tambm seja facilmente integrada a sistemas
de gesto empresarial existentes;

Desenvolver a ferramenta conforme o projeto realizado, utilizando


tecnologias adequadas, resultando em uma soluo que proporcione
resultados efetivos aos usurios.

1.3

ORGANIZAO DO TRABALHO
Este trabalho composto por sete captulos, dos quais o primeiro descreve os

objetivos a serem atingidos atravs do seu desenvolvimento.


No segundo captulo so apresentados os principais conceitos e tecnologias
que compem o mundo das solues de Business Intelligence.
O terceiro captulo trs o modelo de negcio, destacando os potenciais
clientes, a situao atual, os problemas encontrados e a soluo proposta.
No quarto captulo so destacados os materiais e mtodos utilizados no
desenvolvimento deste trabalho. Este captulo contm toda documentao tcnica
relacionada soluo, tais como, as ferramentas e tecnologias utilizadas, a anlise
de requisitos, as limitaes da ferramenta, os atores e casos de uso envolvidos, bem
como os diagramas da UML.
As principais interfaces que compem a ferramenta esto disponveis no
quinto captulo.
No sexto captulo esto as consideraes finais, as quais destacam os
resultados obtidos atravs do desenvolvimento deste trabalho.
E por fim, o stimo captulo, apresentando as sugestes para a elaborao de
trabalhos futuros.

BUSINESS INTELLIGENCE: CONCEITOS E TECNOLOGIAS


Dentro do contexto de Business Intelligence, encontra-se uma grande

quantidade de conceitos, tecnologias e ferramentas envolvidas. Alguns temas que


envolvem as solues de BI podem ser bastante exaustivos, apresentando contedo
suficiente para a elaborao de grandes livros.
Dessa forma, este captulo tem por objetivo, apresentar de maneira resumida
os principais elementos do mundo do BI que esto relacionados ao desenvolvimento
deste trabalho.
2.1

SISTEMAS DE APOIO A DECISO


Os DSS (Decision Support Systems), tambm conhecidos como SAD

(Sistemas de Apoio Deciso) surgiram j no incio da dcada de 60, tendo desde


ento, evoludo junto com toda a rea da tecnologia da informao at os dias
atuais. A evoluo tecnolgica ocorrida neste perodo, nas reas de hardware e
software tem favorecido o desenvolvimento de solues efetivas no suporte a
tomada de deciso. Em termos de hardware, a capacidade de armazenamento e
processamento cresceu exponencialmente. Em relao ao software, pode-se
destacar o surgimento dos DBMS (Database Management Systems), SGBD
(Sistemas Gerenciadores de Banco de Dados) no portugus, alm das modernas
linguagens de programao. Na rea das comunicaes, a internet foi responsvel
por uma grande revoluo, acabando com as fronteiras geogrficas. Todo este
aparato tecnolgico em conjunto, possibilita hoje, a construo de avanadas
solues que beneficiam as organizaes nos nveis operacional, ttico e
estratgico. (INMON, 2003, p. 2, 3)
Os sistemas de apoio deciso so sistemas que ajudam na anlise de
informaes do negcio. Sua meta ajudar a administrao a definir tendncias,
apontar problemas e tomar... decises inteligentes. (DATE, 2000, p. 598)
2.2

BUSINESS INTELLIGENCE
O termo Business Intelligence, ou simplesmente BI, surgiu na dcada de 80

na empresa Gartner Group. Conforme Primak (2008, p. 5), trata-se de um processo

inteligente de coleta, organizao, anlise, compartilhamento e monitorao de


dados contidos em Data Warehouse / Data Mart, gerando informaes para o
suporte tomada de decises no ambiente de Negcios.
De acordo com Machado (2000, p. 2) BI o conjunto de Tecnologias
orientadas a disponibilizar informao e conhecimento em uma empresa.
Solues de BI abrangem uma variedade de tecnologias e ferramentas, cada
uma com objetivos bem definidos. Na sequncia sero relacionadas s que
possuem maior relao com a proposta deste trabalho.
2.3

DATA WAREHOUSE
Segundo Date (2000, p. 611), Data Warehouse um grande banco de dados,

cuja principal finalidade concentrar todas as informaes corporativas em uma


nica fonte, visando suprir todas as atividades direcionadas ao apoio do processo
decisrio.
Inmon, considerado o pai dos conceitos de Data Warehouse, define este
como um depsito de dados, orientado por assunto, integrado, no voltil, variante
no tempo, com o objetivo de apoiar as decises da gerncia. (INMON, 2003, p. 31)
O Data Mart possui certa semelhana com o Data Warehouse, porm
menor, mais especializado, disponibilizando um subconjunto de dados especficos
de uma determinada rea ou departamento da empresa.
Como o Data Warehouse se prope a unificar os dados empresarias, existe a
necessidade de ferramentas que facilitem o processo de integrao dos dados das
diversas fontes envolvidas. Tais ferramentas so conhecidas por ETL (Extract,
Transform and Load), ou seja, extraem os dados de um banco de dados
operacional, aplicam transformaes sobre os mesmos e os carregam em um Data
Warehouse ou Data Mart.
Tanto o Data Warehouse quanto o Data Mart, possui um padro de
modelagem diferente dos bancos de dados tradicionais. As regras de normalizao
so geralmente ignoradas, privilegiando modelos mais adequados ao processo
analtico, tanto em termos de desempenho como na facilidade de extrao das
informaes

desejadas.

Nesse

contexto,

pode-se

Multidimensional, a qual ser abordada na sequncia.

destacar

Modelagem

2.4

MODELAGEM DIMENSIONAL
Ralph Kimball, ao lado de William Inmon a outra grande autoridade quando

o assunto data warehouse, embora ambos possam divergir sobre alguns aspectos
dessa tecnologia. Ele defende a modelagem dimensional como a mais apropriada
para ambientes de data warehouse. Conforme Kimball (2002, p. 11), a modelagem
dimensional muito diferente da modelagem tradicional na terceira forma normal
(3FN), tambm conhecida como modelo entidade-relacionamento (ER), esta tcnica
visa remover dados redundantes, dividindo-os em inmeras entidades distintas,
cada uma delas representada por uma tabela em um banco de dados relacional.
Ambos os modelos podem ser representados atravs de diagramas entidaderelacionamento (DER), pois consistem em junes de tabelas, porm a grande
diferena entre os modelos est no grau de normalizao.
O modelo dimensional no normalizado, objetivando facilitar a sua
compreenso, privilegiando o bom desempenho e a facilidade de extrao dos
dados para fins analticos.
Conceitualmente, existem trs elementos fundamentais em um modelo
dimensional: Fatos, Dimenses e Medidas.
Segundo Machado (2000, p. 63) Cada fato representa um item de negcio,
uma transao de negcio ou um evento de negcio. E utilizado para analisar o
processo de negcio de uma empresa.
Um Fato representado no modelo dimensional por uma tabela central, que
possui atributos numricos e aditivos chamados de Medidas. Na modelagem
dimensional, vendas, compras, pagamentos, etc, so considerados Fatos. Valores,
quantidades, etc, so consideradas Medidas. As Dimenses so elementos que
participam de um Fato. Como exemplos de Dimenses relacionadas ao Fato
vendas, podem ser citados, data, cliente, municpio e produto entre outros.
Uma das tcnicas de modelagem dimensional mais utilizada o Star Schema,
ou esquema estrela. Este modelo recebe esse nome devido a sua semelhana com
uma estrela, sendo representado por uma tabela Fato ao centro, ligada a vrias
Dimenses ao seu redor. A figura 1 mostra um exemplo de um modelo dimensional
baseado no Star Schema para um conjunto de tabelas de um sistema de anncios
de cargas.

Figura 1: Modelo Dimensional (Star Schema)

Neste exemplo pode-se observar a simplicidade dos relacionamentos, bem


como a desnormalizao existente na dimenso d_municipio, onde existe a
redundncia dos atributos nomeuf e regiaouf que em um modelo normalizado
estariam em uma tabela especfica para UFs (estados). Outra caracterstica
importante que todas as tabelas possuem uma chave primria (PK) sequencial
prpria. Com raras excees, um data warehouse no deve sofrer alteraes em
seus registros, mas sim novas inseres, j que sua finalidade manter um histrico
evolutivo das informaes gravadas. Por exemplo, um mesmo cliente gravado em
uma tabela do data warehouse pode ter mais de um registro armazenado. Uma
verso onde o mesmo estaria gravado com o estado civil solteiro e uma segunda
onde seu estado civil seria casado. Este cliente pode ter feito compras em sua
poca de solteiro e tambm na de casado, ento cada fato desses deve estar
ligado a sua respectiva verso do registro do cliente. Dessa forma uma possvel

anlise, onde se pretendesse identificar os produtos mais comprados por solteiros


ou casados poderia ser feita com fidelidade. Em um banco de dados normalizado
comum, essa anlise apresentaria distoro, atribuindo todas as vendas apenas a
ltima situao do cliente, pois existe um nico registro deste atualizado na tabela.
2.5

DATA MINING
Conforme descrito por Machado (2000, p. 23), o Data Mining possibilita a

avaliao de tendncias e padres desconhecidos entre os dados, para isso, utilizase das mais modernas tcnicas de computao, tais como, redes neurais, algoritmos
genricos e lgica nebulosa.
A minerao de dados pode ser descrita como anlise de dados
exploratria. O objetivo procurar padres interessantes nos dados,
padres que possam ser usados para definir a estratgia do negcio ou
identificar um comportamento pouco usual [...]. As ferramentas de
minerao de dados aplicam tcnicas estatsticas a grandes quantidades de
dados armazenados, a fim de procurar por tais padres. (DATE, 2000, p.
621, 622)

2.6

PROCESSAMENTO ANALTICO ON-LINE (OLAP)


Segundo Date (2000, p. 615), OLAP pode ser definido como o processo

interativo de criar, administrar, analisar e gerar relatrios sobre dados.


Para Primak (2008, p. 56), A funcionalidade de uma ferramenta OLAP
caracterizada pela anlise multidimensional dinmica dos dados, apoiando o usurio
final nas suas atividades.
Normalmente as ferramentas OLAP apresentam os resultados de consultas,
atravs de tabulaes cruzadas ou crosstabs. Pode-se ainda usar o termo tabela
piv (Pivot Table), pois o usurio pode manipular as linhas e colunas, atravs de
aes de arrastar e soltar. Dessa forma um dado expresso em uma linha pode ser
arrastado

passando

compor

uma

coluna,

processo

este

chamado

de

pivoteamento.
Devido ao conceito dimensional ser largamente utilizado em ambientes OLAP,
comum ouvir-se o termo cubo de dados ou cube. O uso deste termo se deve aos
trs elementos principais do modelo dimensional vistos anteriormente: Fato,

Dimenses e Medidas. Assim, cada um desses elementos representaria uma das


trs faces do cubo. Como um cubo pode ser visualizado em diversos ngulos, um
cubo de dados apresentado em uma ferramenta OLAP atravs de tabelas piv,
permite a visualizao dos dados sob diversas perspectivas, atravs das aes de
arrastar e soltar campos nas diferentes reas da interface.
2.6.1 Operaes Bsicas OLAP
As ferramentas OLAP costumam disponibilizar pelo menos quatro operaes
bsicas para a anlise dos dados:
2.6.1.1 Drill Down e Roll Up
As operaes de Drill Down e Roll Up permitem ao usurio aumentar ou
diminuir o grau de detalhamento dos dados a serem analisados.
Drill Down e Roll Up so operaes para movimentar nossa viso dos
dados ao longo dos nveis hierrquicos de uma dimenso.
Com a capacidade de Drill Down o usurio pode navegar do mais alto nvel
at o dado detalhado.
Com a capacidade de Roll Up o usurio pode navegar do nvel de detalhe
at o mais alto nvel de sumarizao de dados.
Os caminhos de navegao so determinados pelas hierarquias de
dimenso. (MACHADO, 2000, p. 69).

2.6.1.2 Slice and Dice


Slice and Dice so operaes para realizar navegao por meio dos dados
na visualizao de um cubo. Slice a operao que corta o cubo, mas mantm a
mesma perspectiva de visualizao dos dados. MACHADO (2000, p. 71)
Ainda segundo Machado (2000, p. 72) Dice e a mudana de perspectiva da
viso.
2.6.2 Diferentes Abordagens de Ferramentas OLAP
Atualmente possvel encontrar no mercado, ferramentas OLAP que adotam
diferentes abordagens em sua implementao. O objetivo de todas o mesmo, a
diferena concentra-se apenas na forma de acesso e ou processamento dos dados

10

a serem analisados.

Na sequncia, sero apresentadas as abordagens mais

comuns:
2.6.2.1 ROLAP (Relational OLAP)
Segundo Primak (2008, p. 60), a consulta processada por um banco de
dados relacional, que mantm o cubo no prprio servidor. Tem a vantagem de
processar um grande volume de dados, porm se muitos usurios acessarem esse
recurso simultaneamente poder ocorrer srios problemas de performance.
2.6.2.2 MOLAP (Multidimensional OLAP)
Primak (2008, p. 60) explica que neste caso, usado um servidor
multidimensional atravs do qual os dados so processados. Como vantagem,
existe o ganho de performance, entretanto podem ocorrer problemas de
escalabilidade, alm do alto custo de aquisio.
2.6.2.3 HOLAP (Hybrid OLAP)
Conforme Primak (2008, p. 60), caracteriza-se pelo processamento hbrido,
combinando as tecnologias ROLAP e MOLAP.
2.6.2.4 DOLAP (Desktop OLAP)
Ainda segundo Primak (2008, p. 60), a ferramenta envia uma instruo SQL
ao servidor, este devolve um micro-cubo de informaes a estao de trabalho, a
qual far o processamento local do mesmo. Essa arquitetura diminui o trfego na
rede, uma vez que o processamento OLAP feito na mquina cliente. Isso tambm
contribui para que o servidor de banco de dados no seja sobrecarregado. A
desvantagem pode ocorrer em casos em que o micro-cubo seja muito grande,
podendo ocasionar demora no processamento das anlises.
A ferramenta OLAP proposta por este trabalho enquadra-se na categoria
DOLAP.

11

MODELO DE NEGCIO
O conceito de Business Intelligence no novo, solues nesta rea so

disponibilizadas a muitos anos por diversos fornecedores. Entretanto, so poucas as


empresas que se beneficiam desta tecnologia, devido principalmente ao alto custo
desses produtos.
Desta forma, faz-se necessrio uma maior oferta dessas solues, atendendo
principalmente as empresas de menor porte, proporcionando as mesmas, melhorias
significativas nos processos de gesto e suporte a tomada de deciso.
3.1

CLIENTE
A ferramenta OLAP proposta para este Trabalho de Concluso de Curso,

poder ser utilizada por qualquer empresa que possua um sistema de informao
implantado. Empresas de todos os segmentos de negcio podero usufruir dos
benefcios que uma soluo OLAP pode proporcionar em relao anlise de dados
em uma viso multidimensional, bem como obter suporte aos processos gerenciais e
de tomada de deciso. Independente do porte da empresa, esta poder obter
melhores resultados no gerenciamento e na compreenso das informaes em seu
domnio.
Solues de Business Intelligence esto disponveis a bastante tempo no
mercado, normalmente so fornecidas por grandes players da rea de tecnologia da
informao com foco nas grandes corporaes. Por esse motivo, muitas vezes
essas solues acabam sendo muito onerosas e inviveis as empresas de menor
porte, assim sendo, estas empresas seriam os principais clientes da ferramenta
proposta.
Outros clientes em potencial seriam software houses5 que desenvolvam
sistemas de gesto e que ainda no possuam esse recurso em seus produtos.
Desta forma, esta ferramenta poderia ser facilmente integrada a esses sistemas e
consequentemente disponibilizada aos seus usurios.

Software houses empresas ou organizaes dedicadas ao desenvolvimento de software.

12

3.1.1 Situao Atual


Atualmente poucos sistemas de gesto empresarial disponibilizam uma
soluo integrada de Business Intelligence aos seus clientes. Naturalmente esses
recursos se encontram disponveis nos produtos desenvolvidos pelos grandes
fabricantes de sistemas ERP (Enterprise Resource Planning) do mercado, mas
esses produtos normalmente so inviveis as empresas de menor porte. O fato ,
que cada vez mais os usurios de sistemas de informao, tem sentido a
necessidade de ferramentas que os auxiliem no processo de anlise do volume
crescente de informaes armazenadas em seus bancos de dados.
Uma realidade comum em empresas que no possuem ferramentas OLAP,
uma excessiva quantidade de telas de consulta e relatrios com os mais diferentes
layouts, isso ocorre porque frequentemente surgem necessidades de anlise das
informaes sobre diferentes ngulos e nveis de detalhamento, indo do mais
sinttico ao mais analtico.
3.1.2 Problemas Encontrados
O crescimento do volume de informaes armazenadas pelos sistemas de
informao dificulta o processo de anlise das mesmas. Soma-se a isso, a
necessidade de rapidez, eficincia e dinamismo nesse processo para um suporte
efetivo a tomada de deciso. Da ento, a necessidade de ferramentas adequadas,
que tenham a capacidade de trabalhar com essa grande massa de dados,
organizando, agrupando, sumarizando e categorizando as informaes de maneira
dinmica, proporcionando ao usurio autonomia em relao forma que o mesmo
deseja visualizar suas informaes. Ferramentas que supram essas necessidades
existem, mas como citado anteriormente, costumam ser caras e de difcil
implantao, tornando-se inacessveis a grande maioria das empresas.
A necessidade praticamente ilimitada de novas consultas e relatrios nas
empresas onde solues OLAP no esto disponveis atrapalham os processos
decisrios, j que comum os gestores precisarem de novas informaes com
urgncia, e estes, muitas vezes acabam tendo que esperar at que novas consultas
ou relatrios sejam desenvolvidos e disponibilizados. Deve-se considerar ainda, que
muitas vezes uma determinada informao til apenas em um dado momento, e

13

totalmente desnecessria em outro, da surge necessidade de rapidez na


construo das anlises que disponibilizem tais informaes em tempo hbil.
3.1.3 Soluo Proposta
Desenvolvimento

de

uma

ferramenta

OLAP

para

anlise

dados

multidimensionais, em ambiente desktop, com capacidade de processamento local e


multiplataforma. Por meio de uma interface grfica amigvel o usurio ter a
possibilidade de abrir um cubo de dados, sobre o qual poder efetuar diversas
anlises, alterando a viso dos dados em diferentes dimenses conforme sua
necessidade. Alm de abrir anlises prontas, novas definies de anlises podero
ser criadas de maneira dinmica pelo prprio usurio.

Ao abrir uma anlise, sero disponibilizados ao usurio, os principais recursos


que uma ferramenta OLAP deve oferecer, dos quais se destacam:
Drill Down
Navegao sobre as hierarquias de uma dimenso aumentando o nvel de
detalhamento da informao.
Ex: Vendas por Ano => Trimestre => Ms => Dia.
Drill Up ou Roll Up
Navegao sobre as hierarquias de uma dimenso diminuindo o nvel de
detalhamento da informao.
Ex: Vendas por Dia => Ms => Trimestre => Ano.
Slice
Fatiar o cubo de dados mantendo a perspectiva de visualizao.
Dice
Mudana de perspectiva da viso dos dados, girar o cubo.
Pivoting
Rotao entre linhas e colunas do grid.
Ranking
Ordenao ascendente ou descendente sobre uma medida.
Filtros
Possibilitar a filtragem dos dados sobre qualquer campo do cubo de dados.
Agregaes

14

Possibilitar a agregao (soma, contagem, mnimo, mximo, mdia, etc.)


sobre qualquer campo que caracterize uma medida do cubo de dados.

3.1.4 Arquitetura
As funcionalidades do sistema sero disponibilizadas atravs de uma
interface grfica, a qual poder ser executada no desktop das plataformas Windows,
Linux, Unix e Mac.

Figura 2: Arquitetura

Conforme expresso na figura 2, o usurio abrir a interface da ferramenta


(J4nalytics UI), por meio da qual poder abrir arquivos do tipo CubeData que contm
os dados para a anlise. Novas anlises podero ser geradas tendo como base
arquivos do tipo CubeDef, tambm criados pela ferramenta.
Os arquivos CubeDef contm toda a lgica de extrao dos dados, que
depois de recuperados, so formatados e gravados em novos arquivos CubeData,
dando origem a novas anlises.
3.1.4.1 Integrao
A ferramenta poder ser utilizada de forma autnoma, independente de
qualquer outro aplicativo. Entretanto, muitos sistemas de gesto empresarial no
possuem funcionalidades OLAP entre seus recursos, sendo assim potenciais
clientes da soluo, a qual poder ser integrada de forma rpida e fcil a esses
sistemas.
Para realizar a integrao, os outros sistemas podero abrir a interface da
ferramenta (J4nalytics UI) e passar por parmetro o nome do arquivo CubeData para

15

visualizao dos dados da anlise, ou o nome do arquivo CubeDef para a gerao


de uma nova anlise. A figura 3 demonstra esse processo de integrao.

Figura 3: Arquitetura de Integrao

Os arquivos CubeData podero ser criados normalmente pela prpria


ferramenta OLAP, ou diretamente pelo sistema que est realizando a integrao,
seguindo o modelo apresentado no Apndice C.

16

MATERIAIS E MTODOS
Esta seo tem por objetivo apresentar os materiais e mtodos utilizados para

a gerao dos artefatos referentes ao desenvolvimento do software proposto.


4.1

FERRAMENTAS E TECNOLOGIAS UTILIZADAS


Atravs das necessidades e dos objetivos deste trabalho, foi possvel fazer o

levantamento dos critrios que permitiram efetuar a avaliao e a seleo das


ferramentas e tecnologias utilizadas no desenvolvimento do projeto.
4.1.1 Linguagem de Programao
A ferramenta OLAP em questo ser desenvolvida na linguagem de
programao Java.
Java uma linguagem de programao de propsito geral e completa, com a
qual possvel desenvolver aplicaes de misso crtica robustas. Atualmente Java
utilizada tanto no desenvolvimento de aplicaes web, como em aplicaes
autnomas em servidores, desktops e dispositivos mveis, contemplando as mais
variadas plataformas de hardware e software disponveis no mercado. (LIANG,
2007, p. 15).
Java possui caractersticas que a diferenciam da maioria das outras
linguagens de programao. A partir do cdigo fonte escrito pelo programador, o
compilador Java gera um cdigo intermedirio chamado Byte Code, esse cdigo em
formato binrio multiplataforma, podendo ser executado pelos diversos sistemas
operacionais para os quais existam implementaes da Mquina Virtual Java (JVM
Java Virtual Machine).
Algumas funcionalidades da ferramenta sero viabilizadas atravs da
linguagem Groovy. Essas funcionalidades esto ligadas a execuo de expresses
Java no compiladas, que podero ser inseridas no cdigo da linguagem de script
que ser desenvolvida para ser utilizada na definio das anlises.
Segundo o Codehaus (2011), Groovy uma linguagem gil e dinmica feita
para ser executada pela Mquina Virtual Java. Baseia-se nos pontos fortes do Java,
alm de adicionar recursos poderosos inspirados nas linguagens Python, Ruby e
Smalltalk.

17

4.1.2 IDE (Integrated Development Environment)


O NetBeans IDE ser o ambiente integrado de desenvolvimento utilizado na
fase de codificao.
O NetBeans considerado um dos melhores e mais completos ambientes de
desenvolvimento integrado disponveis na atualidade. Ele facilita o processo de
desenvolvimento dos mais variados tipos de aplicaes Java, sejam estas
destinadas ao ambiente web, desktop ou dispositivos mveis. Alm de sua
qualidade amplamente reconhecida, a mesma open source e pode ser utilizada
tanto em projetos no comerciais quanto em projetos comerciais. (SANTOS, 2007, p.
47)
4.1.3 Swing
Swing a biblioteca padro de componentes de interface grfica
disponibilizada pelo Java para aplicaes desktop.
Em sua grande maioria, os componentes Swing so escritos, manipulados e
exibidos completamente em Java, sem a necessidade de chamadas nativas a API
do sistema operacional, facilitando assim, a portabilidade desses componentes em
diferentes plataformas. Essas caractersticas, aliadas a sua arquitetura, do ao
programador a capacidade de desenvolver interfaces, mantendo a uniformidade da
aparncia e do comportamento do aplicativo nos diversos sistemas suportados pela
plataforma Java. (DEITEL, H. M.; DEITEL, P. J., 2003, p. 605).
4.1.4 Jide Software
uma biblioteca proprietria de componentes Java/Swing avanados. Foi
escolhida principalmente por disponibilizar um bom componente OLAP chamado
Pivot Grid, ela ainda oferece dezenas de outros componentes que facilitam muito o
desenvolvimento de interfaces ricas com Java. Esta biblioteca possui custo de
licenciamento para o desenvolvedor, mas este pode distribuir os cdigos binrios da
biblioteca junto com seus aplicativos, sem custos ao usurio final. Entretanto, para o
desenvolvimento desse trabalho ser utilizada a verso de avaliao que contm
todas as funcionalidades da verso proprietria, apresentando porm, data de
expirao e restries quanto a sua redistribuio.

18

O site da Jide Software descreve o Jide Pivot Grid como uma implementao
Java/Swing do famoso recurso de tabela dinmica encontrado no Microsoft Office
Excel, bem como em muitas outras aplicaes OLAP.
4.1.5 API para Acesso aos Bancos de Dados Relacionais
O acesso aos diversos bancos de dados relacionais do mercado se dar
atravs da JDBC (Java Database Connectivity).
A JDBC atinge seus objetivos por intermdio de um conjunto de interfaces
Java, cada uma implementada de maneira diferente por cada fornecedor. O
conjunto das classes que implementam as interfaces JDBC para um
determinado mecanismo de banco de dados chamado driver JDBC. Na
construo de uma aplicao de banco de dados, voc no precisa pensar
na implementao dessas classes subjacentes; toda a finalidade da JDBC
ocultar os aspectos especficos de cada banco de dados e permitir que voc
se preocupe apenas com sua aplicao. (REESE, 2001, p. 30).

Como possvel observar, por meio da JDBC possvel executar instrues


SQL (Structured Query Language Linguagem de Consulta Estruturada), de
maneira uniforme em qualquer banco de dados relacional que disponibilize um driver
JDBC padro. Os drivers JDBC do tipo 4, que atualmente so disponibilizados por
quase todos os fornecedores de bancos de dados, permitem o acesso aos
respectivos bancos de dados sem a necessidade de instalao de qualquer outro
software na mquina cliente, alm do driver JDBC, o qual normalmente distribudo
em um nico e pequeno arquivo com a extenso .jar.
4.1.6 XML (eXtensible Markup Language)
A

ferramenta

precisar

armazenar

dados

localmente,

entre

eles,

configuraes de Data Sources6, definies de anlises e seus respectivos layouts


de apresentao. Na persistncia deste tipo de contedo sero utilizados arquivos
no formato XML.
O XML foi desenvolvido para ser uma metalinguagem flexvel, porm
formalizada, com o objetivo de descrever linguagens de marcao. Linguagens de
marcao utilizam-se de tags para identificar estruturas em dados. O XML d ao

Data Sources so configuraes de conexes para acessos a bancos de dados.

19

desenvolvedor, a possibilidade de criar linguagens de marcao personalizadas que


satisfaam necessidades especficas de um aplicativo. (BROGDEN, 2002, p. 2)
4.1.7 Ferramenta de Diagramao UML
A ferramenta de diagramao UML selecionada foi o Jude Community. Com
ela possvel realizar a modelagem de um projeto de software atravs dos
diferentes tipos de diagramas definidos pela UML, entre eles os diagramas de casos
de uso e os diagramas de classes utilizados na modelagem deste projeto.
Atualmente o Jude desenvolvido e distribudo sob o nome Astah.
Conforme a Astah Community, trata-se de uma ferramenta de modelagem
com suporte a UML 2.x, sendo leve, de fcil utilizao e livre. Existe tambm uma
verso comercial (Professional), com recursos adicionais e suporte tcnico.
4.2

DOCUMENTAO DA FERRAMENTA
Esta seo apresenta a documentao necessria para o entendimento da

soluo proposta, os requisitos funcionais e no funcionais, as limitaes impostas


que delimitam o escopo do projeto, bem como os atores, casos de uso e classes
envolvidas e seus respectivos diagramas UML.
4.2.1 Anlise de Requisitos
De acordo com Larman (2000, p. 60) Requisitos so uma descrio das
necessidades ou dos desejos para um produto.
Dentro do processo de engenharia de software, a fase de anlise de
requisitos compreende o primeiro passo tcnico a ser realizado. atravs dela que
se obtm uma especificao concreta do escopo do software a ser desenvolvido.
Esta especificao servir de base para todas as demais atividades de engenharia
de software que sero desempenhadas no decorrer do projeto. (PRESSMAN, 1995,
p. 271)
Sendo a anlise de requisitos o alicerce sobre o qual o projeto de software
estar fundamentado, o sucesso ou fracasso deste, estar intimamente ligado
qualidade dos trabalhos realizados nesta fase.

20

Como OLAP um conceito bastante conhecido no domnio das solues de


Business Intelligence, existe um conjunto de funcionalidades padro citadas em
praticamente todos os livros que tratam do assunto e que costumam estar presentes
na maioria das ferramentas OLAP disponveis no mercado. Essas funcionalidades
padro formam a base dos requisitos para este trabalho.
4.2.1.1 Requisitos funcionais
Os requisitos que descrevem as interaes entre o sistema e seu ambiente
so chamados de requisitos funcionais.

Esses requisitos determinam como o

sistema dever responder aos estmulos realizados em um determinado contexto.


(PFLEEGER, 2004, p. 115)

A tabela 1 contm os requisitos funcionais identificados que devero ser


implementados pela ferramenta objeto deste trabalho.

Tabela 1: Requisitos funcionais


REQUISITOS FUNCIONAIS
Id.
RF01

RF02

RF03

Nome
Configurar Data Sources

Descrio
Criao
e
manuteno
de
configuraes de acesso aos
bancos de dados
Implementar
uma Implementao de uma linguagem
linguagem de script para de script para ser usada nas
as definies de anlises definies de anlises. Esta
linguagem
deve
disponibilizar
comandos para conectar a um
determinado Data Source, definir
parmetros que sero solicitados
ao usurio na gerao da anlise,
criar variveis, avaliar expresses
Java e executar comandos SQL
Criar e alterar definies Possibilidade
de
criao
e
de anlises
alterao de definies de anlises.
Essa definio de anlise dever
conter um script que apontar para
um
data
source,
solicitar
parmetros ao usurio quando
necessrio e retornar um conjunto
de linhas e colunas do banco de
dados sobre os quais sero feitas
as anlises multidimensionais. Para
auxiliar no processo de escrita do
script o sistema dever mostrar os

Categoria
Evidente

Evidente

Evidente

21

RF04

Criar e alterar anlises

RF05

Realizar anlises

RF06

Exportar anlises

RF07

Criar e alterar variveis


de script

RF08

Selecionar preferncias

RF09

Execuo da ferramenta
informando do nome do
arquivo
contendo
a
anlise a ser visualizada

RF10

Execuo da ferramenta
informando do nome do
arquivo
contendo
a
definio da anlise a ser
criada e visualizada

metadados (tabelas, vises e


colunas) dos bancos de dados
disponveis
Possibilidade de criar e alterar
anlises atravs da seleo e
execuo de uma definio de
anlise existente
Possibilidade de visualizao e
manipulao
de
anlises
multidimensionais utilizando-se de
recursos de Drill Down, Roll Up,
Slice, Dice, Pivoting, Ranking,
Filtros e Agregaes
Possibilidade de exportar anlises
para outros formatos de arquivo tais
como, Excel, PDF, etc.
Possibilidade de criar e alterar
variveis de script, as quais
podero ser compartilhadas por
todas as definies de anlises
criadas com a ferramenta
Possibilidade do usurio selecionar
conforme suas preferncias, alguns
itens como, pasta padro para o
armazenamento de definies de
anlise,
pasta
padro
para
armazenamento dos dados das
anlises
Possibilidade de execuo da
ferramenta atravs de chamada
com envio de parmetros para
facilitar a integrao com outros
sistemas
Possibilidade de execuo da
ferramenta atravs de chamada
com envio de parmetros para
facilitar a integrao com outros
sistemas

Evidente

Evidente

Evidente

Desejvel

Desejvel

Evidente

Evidente

22

4.2.1.2 Requisitos no-funcionais


Os requisitos denominados no-funcionais descrevem os atributos qualitativos
que um sistema deve apresentar em relao s suas funcionalidades. (BEZERRA,
2007, p. 23).
Segundo Pfleeger (2004, p. 115) Os requisitos no-funcionais ou restries
descrevem uma restrio no sistema que limita nossas opes para criar uma
soluo para o problema.

Na tabela 2 esto relacionados os requisitos no-funcionais que devero ser


contemplados pela ferramenta proposta.

Tabela 2: Requisitos no-funcionais


Id.
RNF01
RNF02
RNF03

RNF04

RNF05

REQUISITOS NO-FUNCIONAIS
Nome
Restrio
Usabilidade
A ferramenta dever ser de fcil
utilizao
Desempenho
A ferramenta dever ter um bom
desempenho.
Multiplataforma
A ferramenta dever rodar nas
plataformas Windows, Linux, Unix
e Mac
Multi Banco de Dados
A ferramenta dever ter a
capacidade
de
acessar
os
principais bancos de dados
relacionais do mercado
Integrao
A ferramenta dever ser de fcil
integrao por outros sistemas

Categoria
Obrigatrio
Obrigatrio
Obrigatrio

Obrigatrio

Obrigatrio

23

4.2.2 Limitaes da ferramenta


Aqui esto descritas as limitaes impostas ferramenta, delimitando o
escopo de projeto em questo. Estas limitaes esto previstas para serem
desenvolvidas como trabalhos futuros, promovendo a evoluo da soluo proposta.

No ser possvel a gerao de grficos baseados nos dados visualizados


em uma anlise.

No haver a possibilidade de o usurio fazer simulaes em uma anlise


alterando manualmente os valores recuperados pela mesma.

No haver controle de acesso atravs de usurios e senhas na prpria


ferramenta. Assim como ocorre com ferramentas como Word e Excel, o
usurio poder abrir qualquer arquivo que esteja em seu domnio. Porm,
naturalmente existir o controle de acesso aos bancos de dados, conforme
os usurios e senhas informados nas configuraes dos Data Sources.

4.2.3 Diagramao UML


Conforme Larman (2000, p. 28), UML a abreviao de Linguagem de
Modelagem Unificada (Unified Modeling Language), uma notao (principalmente
diagramtica) para modelagem de sistemas, usando conceitos orientados a objetos.
Em 1997, a UML tornou-se um padro aprovado pelo OMG (Object
Management Group). A partir da passou a ter grande aceitao da comunidade
desenvolvedora de software em todo o mundo, sendo amplamente utilizada nos dias
de hoje. (BEZERRA, 2007, p. 15)
Na sequncia sero apresentados os diagramas e demais elementos que
compem o modelo da soluo apresentada por este projeto.
4.2.3.1 Atores
Um ator todo e qualquer elemento externo ao sistema que em um dado
momento interage com o mesmo. Em um sistema podem existir diversas categorias
de atores, tais como, cargos, organizaes ou divises de uma organizao, outros
sistemas ou equipamentos. (BEZERRA, 2007, p. 60)

24

Haver apenas um ator relacionado aos casos de uso que integram esta
soluo, o qual ser chamado simplesmente de Usurio. Esta pessoa utilizar a
ferramenta com a finalidade de realizar anlises multidimensionais, extraindo
informaes e conhecimento da base de dados para obter suporte ao processo de
tomada de deciso e gesto do negcio. Mesmo usurios com pouco conhecimento
em informtica podero explorar facilmente estes recursos, entretanto, para que
uma anlise possa ser realizada, ser necessria a criao de uma definio de
anlise. A definio de uma anlise envolve o conhecimento da estrutura do banco
de dados ou data warehouse a ser acessado, alm disso, necessria a capacidade
de escrita de scripts baseados em SQL. Assim sendo, mais provvel que o usurio
que definir as anlises no seja o mesmo que realizar as anlises, este ltimo
normalmente ser um gestor e ou tomador de deciso.
4.2.3.2 Casos de uso
Um caso de uso um documento narrativo que descreve a sequncia de
eventos de um ator (um agente externo) que usa um sistema para
completar um processo [Jacobson92]. Eles so histrias ou casos de
utilizao de um sistema. Casos de uso no so exatamente especificao
de requisitos ou especificao funcional, mas ilustram e implicam requisitos
na histria que eles contam. (LARMAN, 2000, p. 68).

Segundo Booch (2000, p. 217) Os casos de uso fornecem uma maneira para
os desenvolvedores chegarem a uma compreenso comum com os usurios finais
do sistema e com os especialistas do domnio.
A UML no define uma estrutura textual a ser utilizada na descrio de um
caso de uso. Consequentemente h vrios estilos de descrio propostos para
definir casos de uso. A escolha de um ou de outro estilo fica a cargo da equipe de
desenvolvimento, ou ento, pode ser uma restrio definida pelos clientes que
encomendam o sistema. (BEZERRA, 2007, p. 55)
Na sequncia, a tabela 3 apresenta a lista de casos de uso identificados e
seus respectivos atores, bem como seus relacionamentos com os requisitos
funcionais e no funcionais da ferramenta.

25

Tabela 3: Casos de uso x requisitos


CASO DE USO X REQUISITOS
UC

Nome

Ator

Descrio

Configurar
Data Sources

Usurio

Manter
Usurio
variveis
de
script
Selecionar
Usurio
preferncias
Criar e alterar Usurio
definies de
anlises

Criao e manuteno de
configuraes de acesso aos
bancos de dados
Manuteno de variveis para
uso em scripts de definio de
anlise
Seleo de preferncias do
usurio
Criao e manuteno de
definies de anlises atravs
de uma interface wizard. Os
dados para a anlise sero
extrados do banco de dados
atravs da linguagem de script
definida para a ferramenta
Criao
e
alterao
de
anlises
Realizar anlises atravs da
manipulao da mesma
Exportar anlises para outros
formatos de arquivos

3
4

Criar anlises

Usurio

Realizar
anlises
Exportar
anlises

Usurio

Usurio

Referncias
Cruzadas
RF01

RF07

RF08
RF02, RF03

RF04
RF05
RF06

4.2.3.3 Diagrama de casos de uso


O comportamento de um sistema, subsistema ou classe pode ser modelado
atravs de diagramas de caso de uso. Esses diagramas exibem um conjunto de
casos de uso, atores envolvidos e seus relacionamentos. Atravs deles, possvel
visualizar, especificar e documentar o comportamento dos elementos que integram o
sistema, tornando este compreensvel ao apresentar uma viso externa e de alto
nvel. (BOOCH, 2000, p. 231)
Bezerra (2007, p. 70) comenta que o objetivo de um caso de uso ilustrar
em um nvel alto de abstrao quais elementos externos interagem com que
funcionalidades do sistema.
Nesse sentido, a figura 3 contempla o diagrama de casos de uso principal da
ferramenta OLAP proposta, apresentando uma viso global da soluo a ser
desenvolvida. Na sequncia, os quadros 1, 2, 3, 4, e 5, descrevem os casos de uso
envolvidos.

26

Figura 4: Diagrama de casos de uso

27

UC 1: Configurar Data Sources


Ator: Usurio
Descrio: Criao e manuteno de configuraes de acesso aos bancos de
dados
Pr-Condies: Conhecer a localizao, usurio e senha do banco de dados
Ps-Condies: Os data sources criados podero ser utilizados em scripts de
definio de anlise
Requisitos Relacionados: RF01, RF03 e RNF04
Fluxo Principal:
O usurio acessa a funcionalidade atravs do menu Configuraes,

Data

Sources
1. Filtro
1.1. O usurio informa parte do nome do data source
1.2. A ferramenta filtra os data sources a cada tecla digitada pelo usurio
2. Novo
2.1. O usurio pressiona o boto Novo
2.2. A ferramenta abre o formulrio vazio
2.3. O usurio informa os dados do solicitados
2.4. O usurio pressiona o boto Ok
2.5. A ferramenta salva os dados no arquivo XML e fecha o formulrio retornando
a tela de seleo dos data sources
3. Editar
3.1. O usurio efetua o passo 1 do fluxo principal
3.2. O usurio seleciona o data source e pressiona o boto Editar
3.3. A ferramenta abre o formulrio para edio
3.4. O usurio altera os dados
3.5. O usurio pressiona o boto Ok
3.6. A ferramenta atualiza os dados no arquivo XML e fecha o formulrio
retornando a tela de seleo dos data sources
4. Visualizar
4.1. O usurio efetua o passo 1 do fluxo principal
4.2. O usurio seleciona o data source e pressiona o boto Visualizar
4.3. A ferramenta abre o formulrio para visualizao
4.4. O usurio visualiza os dados
4.5. O usurio pressiona o boto Fechar
4.6. A ferramenta fecha o formulrio retornando a tela de seleo dos data
sources
5. Excluir
5.1. O usurio efetua o passo 1 do fluxo principal

28

5.2. O usurio seleciona o data source e pressiona o boto Excluir


5.3. A ferramenta solicita confirmao ao usurio
5.4. A ferramenta exclui o data source do arquivo XML e apresenta a mensagem
de registro excludo com sucesso.
6. Copiar
6.1. O usurio efetua o passo 1 do fluxo principal
6.2. O usurio seleciona o data source e pressiona o boto Copiar
6.3. A ferramenta abre o formulrio para edio
6.4. O usurio altera os dados
6.5. O usurio pressiona o boto Ok
6.6. A ferramenta salva os dados no arquivo XML e fecha o formulrio retornando
a tela de seleo dos data sources
7. Importar
7.1. O usurio pressiona o boto Importar
7.2. O usurio seleciona ou informa o nome do arquivo para importao
7.3. O usurio pressiona o boto Importar
7.4. A ferramenta salva os data sources importados
8. Exportar
8.1. O usurio efetua o passo 1 do fluxo principal
8.2. O usurio seleciona os data sources e pressiona o boto Exportar
8.3. O usurio seleciona ou informa o nome do arquivo para exportao
8.4. O usurio pressiona o boto Exportar
8.5. A ferramenta exporta os data sources selecionados
9. Testar Conexo
9.1. O usurio efetua o passo 1 do fluxo principal
9.2. O usurio seleciona o data source e pressiona o boto Testar Conexo
9.3. A ferramenta tenta conectar ao banco de dados com base nos dados do data
source mostrando ao usurio o resultado do teste
Fluxo Alternativo:
2.3, 3.4, 4.4 e 6.4
1. O usurio pode testar a conexo com o banco de dados com base nos
dados da tela
Tratamento de Excees:
2.4, 3.5 e 6.5
Ao salvar os dados do data source a ferramenta encontra campos
obrigatrios no preenchidos
1. A ferramenta apresenta mensagem informando a necessidade de
preenchimento dos campos obrigatrios
2. A ferramenta retorna ao formulrio para preenchimento dos campos
Quadro 1: Caso de uso Configurar Data Sources

29

UC 2: Manter Variveis de Script


Ator: Usurio
Descrio: Manuteno de variveis para uso em scripts de definio de anlise
Pr-Condies:
Ps-Condies: As variveis criadas podero ser utilizadas em scripts de definio
de anlise
Requisitos Relacionados: RF01, RF03 e RNF04
Fluxo Principal:
O usurio acessa a funcionalidade atravs do menu Configuraes, Variveis
de Script
1. Filtro
1.1. O usurio informa parte do nome da varivel
1.2. A ferramenta filtra as variveis a cada tecla digitada pelo usurio
2. Novo
2.1. O usurio pressiona o boto Novo
2.2. A ferramenta abre o formulrio vazio
2.3. O usurio informa os dados do solicitados
2.4. O usurio pressiona o boto Ok
2.5. A ferramenta salva os dados no arquivo XML e fecha o formulrio retornando
a tela de seleo das variveis
3. Editar
3.1. O usurio efetua o passo 1 do fluxo principal
3.2. O usurio seleciona a varivel e pressiona o boto Editar
3.3. A ferramenta abre o formulrio para edio
3.4. O usurio altera os dados
3.5. O usurio pressiona o boto Ok
3.6. A ferramenta atualiza os dados no arquivo XML e fecha o formulrio
retornando a tela de seleo das variveis
4. Visualizar
4.1. O usurio efetua o passo 1 do fluxo principal
4.2. O usurio seleciona a varivel e pressiona o boto Visualizar
4.3. A ferramenta abre o formulrio para visualizao
4.4. O usurio visualiza os dados
4.5. O usurio pressiona o boto Fechar
4.6. A ferramenta fecha o formulrio retornando a tela de seleo das variveis
5. Excluir
5.1. O usurio efetua o passo 1 do fluxo principal
5.2. O usurio seleciona a varivel e pressiona o boto Excluir
5.3. A ferramenta solicita confirmao ao usurio

30

5.4. A ferramenta exclui a varivel do arquivo XML e apresenta a mensagem de


registro excludo com sucesso.
6. Copiar
6.1. O usurio efetua o passo 1 do fluxo principal
6.2. O usurio seleciona a varivel e pressiona o boto Copiar
6.3. A ferramenta abre o formulrio para edio
6.4. O usurio altera os dados
6.5. O usurio pressiona o boto Ok
6.6. A ferramenta salva os dados no arquivo XML e fecha o formulrio retornando
a tela de seleo das variveis
7. Importar
7.1. O usurio pressiona o boto Importar
7.2. O usurio seleciona ou informa o nome do arquivo para importao
7.3. O usurio pressiona o boto Importar
7.4. A ferramenta salva as variveis importadas
8. Exportar
8.1. O usurio efetua o passo 1 do fluxo principal
8.2. O usurio seleciona as variveis e pressiona o boto Exportar
8.3. O usurio seleciona ou informa o nome do arquivo para exportao
8.4. O usurio pressiona o boto Exportar
8.5. A ferramenta exporta as variveis selecionadas
Tratamento de Excees:
2.4, 3.5 e 6.5
Ao salvar os dados da varivel a ferramenta encontra campos obrigatrios
no preenchidos
1. A ferramenta apresenta mensagem informando a necessidade de
preenchimento dos campos obrigatrios
2. A ferramenta retorna ao formulrio para preenchimento dos campos
Quadro 2: Caso de uso Manter Variveis de Script

UC 3: Selecionar Preferncias
Ator: Usurio
Descrio: Seleo de preferncias do usurio
Pr-Condies:
Ps-Condies: A ferramenta ir operar conforme as opes do usurio
Requisitos Relacionados: RF01, RF03 RF04, RF05 e RF06
Fluxo Principal:

31

1. O usurio acessa a funcionalidade atravs do menu Configuraes,


Preferncias
2. A ferramenta abre a tela para seleo das preferncias
3. O usurio informa suas preferncias
4. O usurio pressiona o boto Ok
5. A ferramenta salva os dados no arquivo XML e fecha o formulrio
Tratamento de Excees:
4
Ao salvar os dados a ferramenta encontra campos obrigatrios no
preenchidos
1. A ferramenta apresenta mensagem informando a necessidade de
preenchimento dos campos obrigatrios
2. A ferramenta retorna ao formulrio para preenchimento dos campos
Quadro 3: Caso de uso Selecionar Preferncias

UC 4: Criar e Alterar Definies de Anlises


Ator: Usurio
Descrio: Criao e manuteno de definies de anlises atravs de uma
interface wizard
Pr-Condies: Existncia de data sources configurados
Ps-Condies: As definies de anlises podero ser utilizadas para criar novas
anlises
Requisitos Relacionados: RF01, RF02, RF03 e RF04
Fluxo Principal:
1. O usurio acessa a funcionalidade atravs do menu Ferramentas, Nova
Definio de Anlise ou Editar Definio de Anlise
2. O usurio escreve o script baseado na linguagem SQL com algumas extenses
3. O usurio pressiona o boto Executar
4. A ferramenta executa o script mostrando a matriz de dados retornados pelo
mesmo
5. O usurio pressiona o boto Prximo
6. A ferramenta mostra a tela Dimenses e Medidas com os campos retornados
pelo script na tela anterior
7. O usurio edita as propriedades de cada um dos campos disponveis quando
necessrio
8. O usurio pressiona o boto Prximo
9. A ferramenta mostra a tela Layout baseada nas definies de Campos, Filtros,
Colunas, Linhas e Medidas selecionadas na tela anterior
10. O usurio ajusta de forma visual o layout conforme suas necessidades atravs
de aes de arrastar e soltar (drag-and-drop)

32

11. O usurio pressiona o boto Finalizar


12. A ferramenta salva a definio da anlise em um arquivo XML com a extenso
.cubedef e fecha o wizard
Fluxo Alternativo:
2
1. O usurio pode visualizar os metadados (tabelas, vises e colunas) dos
bancos de dados disponveis
2. O usurio pode visualizar as variveis pr-definidas disponveis para uso
no script, como por exemplo, currentDate, currentDatetime, etc, bem como
as variveis definidas com o comando set e as definidas nas Variveis de
Script
3. O usurio pode pressionar as teclas Ctrl+Espao abrindo um painel (Autocompletar) para seleo de palavras reservadas do script, nomes de
tabelas e colunas, que sero automaticamente inseridas no cdigo
4. O usurio pode visualizar os comandos da linguagem de script, as
sintaxes, exemplos e descries de uso dos mesmos
Tratamento de Excees:
3
Ao executar o script a ferramenta encontra algum erro
1. A ferramenta apresenta mensagem com detalhes do erro
2. A ferramenta retorna ao editor de script no passo 2
Quadro 4: Caso de uso Criar e Alterar Definies de Anlises

UC 5: Criar Anlises
Ator: Usurio
Descrio: Criao de anlises
Pr-Condies: Existncia de definies de anlises previamente criadas
Ps-Condies: O processo de anlise poder ser realizado
Requisitos Relacionados: RF01, RF03 RF04, RF05 e RF06
Fluxo Principal:
1. O usurio acessa a funcionalidade atravs do menu Arquivo, Nova Anlise
2. A ferramenta abre a tela para seleo de um arquivo de definio de anlise
(arquivos .cubedef)
3. O usurio seleciona uma definio de anlise
4. A ferramenta executa a definio de anlise selecionada gerando um cubo de
dados (arquivo .cubedata)
5. A ferramenta abre uma nova aba mostrando os dados para anlise (cubo de
dados), conforme especificado na definio de anlise selecionada

33

Tratamento de Excees:
4
Ao executar a definio de anlise a ferramenta encontra algum erro
1. A ferramenta apresenta mensagem com detalhes do erro
Quadro 5: Caso de uso Criar Anlises

UC 6: Realizar Anlises
Ator: Usurio
Descrio: Realizar anlises atravs da manipulao da mesma por meio de
operaes OLAP padronizadas
Pr-Condies: Existncia de anlises previamente criadas
Ps-Condies: Disponibilizao das informaes para o usurio
Requisitos Relacionados: RF01, RF03, RF04, RF05 e RF06
Fluxo Principal:
1. O usurio acessa a funcionalidade atravs do menu Arquivo, Abrir Anlise
2. A ferramenta abre a tela para seleo de um arquivo de anlise (arquivos
.cubedata)
3. A ferramenta abre uma nova aba mostrando os dados para anlise conforme o
layout definido
4. O usurio realiza a anlise multidimensional utilizando-se de recursos OLAP tais
como: Drill Down, Roll Up, Slice, Dice, Pivoting, Ranking, Filtros e Agregaes
Fluxo Alternativo:
4
1. O usurio pode salvar as alteraes que tenha feito durante o processo
analtico atravs do menu Arquivo, Salvar Anlise ou Salvar Anlise Como
Quadro 6: Caso de uso Realizar Anlises

UC 7: Exportar Anlises
Ator: Usurio
Descrio: Exportar anlises para outros formatos de arquivos
Pr-Condies: Existncia de anlises previamente criadas
Ps-Condies: Criao de um arquivo no formato especificado

34

Requisitos Relacionados: RF03, RF04 e RF06


Fluxo Principal:
1. Durante a execuo do caso de uso 4 (Realizar Anlises), o usurio acessa a
funcionalidade atravs do menu Ferramentas, Exportar Anlise
2. A ferramenta abre a tela de exportao
3. O usurio informa as opes de exportao
4. A ferramenta gera o arquivo no formato especificado pelo usurio
Tratamento de Excees:
4
Ao gerar o arquivo pode ocorrer do usurio no ter permisso de gravao
em uma determinada pasta
1. A ferramenta apresenta mensagem com detalhes do erro
2. A ferramenta retorna ao passo 3
Quadro 7: Caso de uso Exportar Anlises

4.2.3.4 Diagrama de classes


Os diagramas de classes so os diagramas mais comumente utilizados na
modelagem de sistemas orientados a objetos. Eles expressam visualmente um
conjunto de classes, interfaces e colaboraes e seus relacionamentos. (BOOCH,
2000, p. 94)
Bezerra (2007, p. 112) explica que o diagrama de classes utilizado na
construo do modelo de classes desde o nvel de anlise at o nvel de
especificao. E que de todos os diagramas da UML, esse o mais rico em termos
de notao.
Abaixo, a figura 4 apresenta o diagrama de classes que compem o domnio
da soluo.

35

Figura 5: Diagrama de classes

36

O pacote br.edu.dg.j4nalytics.cube contm algumas classes que so


armazenadas pela ferramenta em arquivos XML. DataSource que contm as
informaes de conexo com o banco de dados, ScriptVar que contm o nome e
valor de cada varivel de script que pode ser armazenada para compartilhamento
entre os vrios scripts de definio de anlise. E Prefs que contm as preferncias
selecionadas pelo usurio.
O pacote br.edu.dg.j4nalytics.cube contm classes fundamentais a soluo
apresentada pela ferramenta. CubeDef que representa a definio de uma anlise
contendo principalmente o script de extrao dos dados, o layout inicial da anlise e
os campos disponveis ao usurio, representados pela classe CubeDefField. A
classe CubeData representa os dados reais de uma anlise, contendo os dados
extrados e formatados conforme a definio da anlise (CubeDef).
O pacote br.edu.dg.j4nalytics.script contm as classes que representam cada
um dos comandos que compe a linguagem de script, classes CmdXxx. A classe
Script composta por uma coleo de comandos (Cmd). Ainda nesse pacote, a
classe ExecScript, responsvel pela interpretao do script, executando cada
comando deste e gerando o arquivo contendo os dados para anlise (CubeData).

37

INTERFACE DA FERRAMENTA
Este captulo apresenta as principais telas que compem a interface grfica

por meio da qual o usurio ir interagir com a ferramenta e realizar suas anlises.

A figura 6 apresenta a tela onde o usurio far a configurao de acesso aos


bancos de dados que sero utilizados como fontes de dados para as anlises.

Figura 6: Tela de configurao dos Data Sources

38

A figura 7 mostra o formulrio onde o usurio ir informar os dados do Data


Source. As aes, Novo, Editar, Visualizar e Copiar utilizam a mesma tela.

Figura 7: Tela Novo/Editar/Visualizar/Copiar Data Sources

39

A figura 8 mostra a tela que compe o passo 1 do wizard com o qual o


usurio poder criar e editar as definies de anlises. Neste passo o usurio ir
escrever o script responsvel pela recuperao dos dados que iro compor a
anlise.

Figura 8: Passo 1 do wizard de definio de anlise (Script SQL)

40

A figura 9 mostra a tela que compe o passo 2 do wizard com o qual o


usurio poder criar e editar as definies de anlises. Neste passo o usurio
definir as dimenses e medidas que iro compor a anlise, as reas em que cada
campo dever ser apresentado e suas respectivas propriedades.

Figura 9: Passo 2 do wizard de definio de anlise (Dimenses e Medidas)

41

A figura 10 mostra a tela que compe o passo 3 do wizard com o qual o


usurio poder criar e editar as definies de anlises. Neste passo o usurio
poder fazer ajustes finais no layout da anlise.

Figura 10: Passo 3 do wizard de definio de anlise (Layout)

42

A figura 11 mostra a tela que compe o passo 4 do wizard com o qual o


usurio poder criar e editar as definies de anlises. Neste passo o usurio
informa o nome e a descrio da anlise, o nome do arquivo que ir armazenar a
definio da anlise e do arquivo de dados.

Figura 11: Passo 4 do wizard de definio de anlise (Ttulo e Arquivos)

43

A figura 12 apresenta a tela onde o usurio realizar o processo analtico.


Este poder fazer uso de aes de arrastar e soltar adequando a visualizao dos
dados conforme sua necessidade. Este o recurso principal da ferramenta onde
estaro disponveis as operaes OLAP padro, Drill Down, Roll Up, Slice, Dice,
Pivoting, Ranking, Filtros e Agregaes.

Figura 12: Tela para realizao de anlises

44

Assim como na figura 12, a figura 13 mostra a tela onde o usurio realizar o
processo analtico. Esta, porm, sendo executada em uma mquina Linux com
Ubuntu 11 em ingls, demonstrando a caracterstica multiplataforma da ferramenta,
alm do recurso de internacionalizao.

Figura 13: Tela para realizao de anlises no Ubuntu Linux em ingls

45

CONSIDERAES FINAIS
Das diversas etapas que contemplam o processo de desenvolvimento de uma

soluo de software, foram previstas para serem aplicadas neste trabalho, o


levantamento de requisitos, o projeto, a implementao e os testes.
A primeira parte do trabalho de concluso de curso contemplou o
levantamento dos requisitos, o projeto e a respectiva documentao, possibilitando
sua utilizao como base para o desenvolvimento da ferramenta OLAP proposta.
As solues de Business Intelligence so formadas por uma srie de
conceitos e tecnologias que so abordados por diversos autores em inmeras obras.
Existe um conjunto bsico de recursos que so normalmente disponibilizados por
ferramentas OLAP, tais como, Drill Down, Roll UP, Slice, Dice, entre outros. A
disponibilizao desses recursos forma a base para os requisitos dessa ferramenta.
Devido riqueza de termos tcnicos utilizados na rea de BI, fez-se
necessrio a incluso de um captulo especfico, com o objetivo de apresentar os
principais conceitos e tecnologias que possuem alguma relao com este trabalho,
de forma a contribuir com a compreenso do mesmo.
Com a aplicao das tcnicas de engenharia de software abordadas pelas
disciplinas relacionadas, foi possvel alcanar dentro do cronograma inicialmente
proposto, os objetivos estabelecidos por este trabalho. Com a produo da
documentao necessria a compreenso da soluo proposta, formaram-se os
subsdios necessrios a realizao das atividades que envolveram a segunda parte
do trabalho, ou seja, o desenvolvimento da soluo idealizada.
O trabalho de implementao foi realizado segundo as especificaes aqui
apresentadas, seguindo com fidelidade o projeto elaborado, alcanando todos os
objetivos inicialmente propostos. Isso resultou em uma ferramenta apta a ser
utilizada por empresas no processo analtico voltado ao suporte a tomada de
deciso.

46

TRABALHOS FUTUROS
Outros importantes recursos podero ser incorporados a esta ferramenta

enriquecendo significativamente o processo analtico. Tais recursos, integrados a


ferramentas OLAP so necessidades reais no suporte a tomada de deciso,
constituindo caractersticas de peso na seleo de um produto com essa finalidade.
Na sequncia, esto relacionadas as sugestes de trabalhos futuros
identificadas no desenvolvimento desse TCC:

Gerao automatizada de grficos baseados nas informaes visualizadas


em uma anlise, permitindo ao usurio aumentar ou diminuir o nvel de
detalhamento

das

informaes,

interagindo

diretamente

sobre

os

elementos que compem o grfico.

Criao de um mecanismo de simulao de resultados, onde o usurio


tenha a possibilidade de inserir e ou alterar os dados que compem uma
anlise.

Criao de um repositrio atravs de um aplicativo web, onde possam ser


armazenadas as anlises e definies de anlises. Esses recursos
poderiam ser enviados, baixados e compartilhados entre os usurios ou
grupos de usurios, mediante as devidas permisses de acesso e
segurana.

47

REFERNCIAS BIBLIOGRFICAS

ASTAH COMMUNITY, Astah. Disponvel em : < http://astah.change-vision.com/en/


>. Acesso em: 27 de maro de 2011.
BEZERRA, Eduardo. Princpios de Anlise e Projeto de Sistemas com UML. 2
Edio. Rio de Janeiro: Campus, 2007.
BOOCH, Grady; RUMBAUGH, James; JACOBSON, Ivar. UML, guia do usurio.
Rio de Janeiro: Campus, 2000.
BROGDEN, Bill; MINNICK, Chris. Guia do Desenvolvedor Java Desenvolvendo
E-Commerce com Java, XML e JSP. So Paulo: Pearson Education do Brasil,
2002.
CODEHAUS, Groovy. Disponvel em : < http://groovy.codehaus.org/ >. Acesso em:
30 de abril de 2011.
COSTA, Daniel. Disponvel em : < http://danielcosta.info/arquivo/2004/05/softwarelivre-x-codigo-aberto/ >. Acesso em: 26 de outubro de 2011.
DATE, C. J. Introduo a Sistemas de Bancos de Dados. 7 Edio. Rio de
Janeiro: Campus, 2000.
DEITEL, H. M.; DEITEL, P. J. JAVA Como Programar. 4 Edio. Porto Alegre:
Bookman, 2003.
INMON, Willian Harvey. Building the Data Warehouse. 3 Edio. New York: Wiley,
2003.
JIDE
SOFTWARE.
JIDE
Pivot
Grid.
Disponvel
em:
http://www.jidesoft.com/products/pivot.htm >. Acesso em: 27 de maro 2011.

<

KIMBALL, Ralph. The Data Warehouse Toolkit the complete guide for
dimensional modeling. 2 Edio. New York: Wiley, 2002.
LARMAN, Craig. Utilizando UML e padres. 2 Edio. Porto Alegre: Bookman,
2004.
LIANG, Y. Daniel. Introduction to Java programming. 6 Edio. Bergen, NJ USA: Pearson Prentice Hall, 2007.
MACHADO, Felipe Nery Rodrigues. Projeto de Data Warehouse Uma Viso
Multidimensional. So Paulo: rica, 2000.
PFLEEGER, Shari Lawrence. Engenharia de Software Teoria e Pratica. 2 Edio.
So Paulo: Prentice Hall, 2004.
PRESSMAN, Roger S. Engenharia de Software. 6 Edio. So Paulo: Pearson
Makron Books, 1995.

48

PRIMAK, Fbio Vincius da Silva. Decises com B.I. (Business Intelligence). 1


Edio. Rio de Janeiro: Editora Cincia Moderna, 2008.
REESE, George. JDBC e Java Programao para banco de dados. So Paulo:
Berkeley Brasil, 2001.
SANTOS, Rui Rossi dos. Java na Web Programando Sites Dinmicos. Rio de
Janeiro: Axcel Books, 2007.

49

APNDICE A ESPECIFICAO DA LINGUAGEM DE SCRIPT


Para prover flexibilidade na criao das definies de anlises, faz-se
necessrio a criao de uma linguagem de script customizada para a ferramenta.
Esta linguagem dever suportar instrues SQL com algumas extenses. Um
interpretador tambm dever ser desenvolvido, o qual ser responsvel pela
execuo dos scripts escritos nessa linguagem no momento da criao das anlises.
Na sequncia so apresentados os comandos suportados pela linguagem:

connect nome_do_data_source;
Conecta a um banco de dados, cuja configurao de acesso esteja definida
nas Configuraes de Data Sources.

parameter

nome_do_parametro

label="Rtulo

do

Parmetro"

type="tipo_do_parametro" [ format="#,##0.00|dd/MM/yyyy" ]
[ default="valor_inicial" ]
[ values="valor1|descrio1 & valor2|descrio2" ]
[ multi="true|false" ]
[ enabled="true|false" ];
Abre um formulrio solicitando ao usurio a entrada de um valor para o
parmetro, o qual pode ser usado na sequncia do script em uma instruo SQL. O
parmetro pode ser referenciado atravs da sintaxe $v{nome_do_parametro}.
tipo_do_parametro pode ter os seguintes valores: character, integer, long, float,
double, decimal, date, datetime.

set nome_da_variavel = expressao_java;


Define uma varivel que armazenar o resultado de uma expresso vlida na
linguagem Java. Essa varivel pode ser reutilizada na sequncia do script. A varivel
pode ser referenciada atravs da sintaxe $v{nome_da_variavel}. As seguintes
variveis estaro declaradas implicitamente e podero ser utilizadas em qualquer
local do script: currentDate, currentDatetime, firstDateOfMonth, lastDateOfMonth,
charset, dateFormat, dateTimeFormat, decimalSeparator, fieldSeparator, fieldQuote,
escapeChar e lineEnd.

50

sql instruo_sql [ var_sql(nome_da_variavel) ];


Executa uma instruo SQL no data source ao qual est conectado. Os
valores retornados por essa instruo podem ser reutilizados na sequncia do script.
As colunas podem ser referenciadas atravs da sintaxe $c{nome_da_coluna}.

sql_cube instruo_sql;
Executa uma instruo SQL no data source ao qual est conectado. Os
valores retornados por essa instruo iro formar o cubo de dados que ser
analisado pelo usurio.
Abaixo segue um exemplo de script baseado nesta linguagem:

connect datasource1;

parameter dataInicial label="Data Inicial" type="date" default="$v{currentDate}";


parameter dataFinal label="Data Final" type="date" default="$v{currentDate}";
parameter situacao label="Situao" type="integer" values="0|Em aberto & 1|Pagos
& 2|Todos";

set yyy = "teste".toUpperCase();


set emp = 1;

sql select val1, val2 from tab1 where val1 > 10;

sql_cube
select t1.col1, t1.col2, t2.col3
from tab1 t1, tab2 t2
where t1.col1 = t2.col2 and
t1.emp = $v{emp} and
t2.col3 = $c{val1} and
t1.dat between '$v{dataInicial}' and '$v{dataFinal}';

51

APNDICE B ESPECIFICAO DO ARQUIVO DE DEFINIO DE ANLISE


As definies de anlise sero armazenadas em arquivos no formato XML
com a extenso (.cubedef), conforme a estrutura descrita na tabela 4:

Tabela 4: Estrutura do arquivo de definio de anlise


nome_da_analise.cubedef
Id. Campo
El.
1 cubeDef
R

Pai
-

Tipo
-

name

description

cubeDataFolder

cubeDataFileName

6
7
8
9
10
11
12
13
14
15
16

script
fields
field
name
label
tip
type
format
customProps
order
layout

E
G
G
A
A
A
A
A
A
A
E

1
1
7
8
8
8
8
8
8
8
1

C
C
C
C
C
C
C
N
XML

Legenda:

Ocor. Descrio
1
Elemento raiz
Nome da definio da
1
anlise
1
Descrio da anlise
Nome da pasta para o
1
arquivo de dados da anlise
Nome do arquivo que
1
conter os dados da anlise
1
Script
1
Grupo de campos
1..n Elemento campo
1
Nome do campo
1
Rtulo do campo
1
Dica do campo
1
Tipo do campo
1
Formato do campo
1
Propriedades customizadas
1
Ordem do campo
Layout padro da anlise

Id. Identificador do campo


El. Elemento (R Raiz, E Elemento, G Grupo, A Atributo)
Pai Id. do campo ao qual esta ligado hierarquicamente
Tipo Tipo do campo (C Caracter, N Numrico, XML contedo
XML)
Ocor. Ocorrncia, quantidade de vezes que o campo pode se repetir
na estrutura do arquivo

52

Abaixo apresentado um exemplo do arquivo de definio de anlise


devidamente formatado:

<?xml version="1.0" encoding="UTF-8"?>


<cubeDef>
<name><![CDATA[]]></name>
<description><![CDATA[]]></description>
<cubeDataFolder><![CDATA[]]></cubeDataFolder>
<cubeDataFileName><![CDATA[]]></cubeDataFileName>
<script>
<![CDATA[
Script SQL
]]>
</script>
<fields>
<field name="" label="" tip="" type="" format="" customProps="" area=""
order=""/>
</fields>
<layout>
<![CDATA[
XML de layout do PivotGrid
]]>
</layout>
</cubeDef>

53

APNDICE C ESPECIFICAO DO ARQUIVO DE ANLISE


Os dados para as anlises sero armazenados em arquivos com a extenso
(.cubedata), conforme o modelo a seguir:

//
// Os atributos abaixo so opcionais, se informados definem o
// padro utilizado no processamento do arquivo
//
~charset=UTF8
~dateFormat=dd/MM/yyyy
~dateTimeFormat=dd/MM/yyyy HH:mm:ss
~decimalSeparator=.
~fieldSeparator=;
~fieldQuote='
~escapeChar=\
~lineEnd=\n
~name=Nome da Anlise
~description=Descrio da Anlise
//
// Os atributos abaixo so opcionais, se informados definem as
// caractersticas do campo em relao ao tipo, formato, rea
// de visualizao no layout, etc
// Os atributos de campo vlidos so: name, label, tip, type,
// format, customProps, area, order
// Alguns atributos possuem valores pr-determinados:
//

type = character, integer, long, float, double, decimal, date, datetime

//

area = fields, filters, columns, rows, measures

// Opcionalmente ainda, este arquivo poder ser acompanhado de


// um outro arquivo que define o layout de apresentao dos
// dados: mesmo_nome.xml
//

54

^regiao=label="Regio" tip="Regio do pas" type="character" area="rows" order="1"


^data=label="Data"

tip="Data

da

venda"

type="date"

format="dd/MM/yyyy",

area="columns"
^valor=label="Valor" type="decimal" format="###,###,##0.00" area="measures"
//
// A estrutura de dados abaixo obrigatria (padro csv):
// 1 linha com a lista de nomes dos campos
// n linhas de dados
//
regiao;estado;municipio;grupo;produto;data;valor;quantidade
'Sul';'PR';'Dois Vizinhos';'Frutas';'Uva';'09/04/2011';'3.60';'2'
'Sul';'SC';'Lages';'Frutas';'Pssego';'10/04/2011';'2.78';'1'

Vous aimerez peut-être aussi