to de Business Intelligence

Embed Size (px)

Citation preview

Departamento de Computao Relatrio de Estagio Curricular Obrigatrio

DESENVOLVIMENTO DE BUSINESS INTELLIGENCE E CUSTOMER RELATIONSHIP MANAGEMENT

LUS RAPHAEL GONALVES MAREZE

Londrina 2008

LUS RAPHAEL GONALVES MAREZE

DESENVOLVIMENTO DE BUSINESS INTELLIGENCE E CUSTOMER RELATIONSHIP MANAGEMENT

Relatrio de Estgio Curricular Obrigatrio apresentado ao Curso de Cincia da Computao, da Universidade Estadual de Londrina, como requisito obteno do ttulo de Bacharel. Orientador: Prof. Dra. Jandira Guenka Palma

Londrina 2008

LUS RAPHAEL GONALVES MAREZE

DESEMVOLVIMENTO DE BUSINESS INTELLIGENCE E CUSTOMER RELATIONSHIP MANAGEMENT

COMISSO EXAMINADORA

______________________________________ Prof. Dra. Jandira Guenka Palma Universidade Estadual de Londrina

______________________________________ Prof. Dr. Vitor Valrio de Souza Campos Universidade Estadual de Londrina

______________________________________ Prof. Mrcio Roberto Universidade Estadual de Londrina

Londrina, 12 de Dezembro de 2008.

A Deus, meus pais, minha namorada e meus amigos...

AGRADECIMENTOS

orientadora Prof. Dra. Jandira Guenka Palma, brao amigo de todas as etapas deste trabalho. minha famlia, pelo apoio e pela confiana. Aos meus amigos, e minha namorada pelas gargalhadas e pelo companheirismo ao longo do curso. A todos que, com boa inteno, colaboraram para a realizao e finalizao deste trabalho.

Todas as inovaes eficazes so surpreendentemente simples. Steve Jobs, CEO da Apple

MAREZE, Lus R. G. Desenvolvimento de Business Intelligence e Customer Relationship Management. 2008. Relatrio de Estgio Curricular Obrigatrio. Universidade Estadual de Londrina. RESUMO

Vem sendo muito importante a utilizao de ferramentas, aplicaes em Business Intelligence (BI) e Customer Relationship Management (CRM) para o auxilio das tomadas de decises em uma Pequena Empresa. O trabalho props implementar aplicaes de BI utilizando um sistema com modelo CRM de operaes e construir um modelo de Data Warehouse (DW) para a consulta dos dados. Por fim, demonstra a eficincia em pequenas empresas com intuito de reduo de custos e demais benefcios para as tomadas de decises. Palavras-chave: Business Intelligence; Customer Relationship Management; Pequenas Empresas.

MAREZE, Lus R. G. Desenvolvimento de Business Intelligence e Customer Relationship Management. 2008. Relatrio de Estgio Curricular Obrigatrio. Universidade Estadual de Londrina. ABSTRACT

Has been very important the use of tools, applications, Business Intelligence (BI) and Customer Relationship Management (CRM), to help the decision-making in a small business. The proposed work to implement BI applications using a model system with CRM operations and build a model for Data Warehouse (DW) to the data. Finally, demonstrates the efficiency of small firms in order to reduce costs and other beneficial for decision-making. Keywords: Business Intelligence, Customer Relationship Management, Small Business.

LISTA DE ABREVIATURAS E SIGLAS

BI CRM DBF DM DW DSS ER EUA ETL GUIS KDD MOLAP OLAP OLTP ODS PE ROLAP SAD SI SIG SQL SGDB SSTD XML

Business Intelligence Customer Relationship Management DBase File Data Mart Data Warehouse Decision Support Systems Entidade e Relacionamento United States of Amrica Extration Transformation and Load Graphical user interfaces Knowledge Discovery in Databases Multidimensional On-Line Analytical Processing On-Line Analytical Processing On-Line Transactions Processing Operational Data Store Pequenas Empresas Relational On-Line Analytical Processing Sistemas de Apoio Deciso Sistema de Informao Sistema de Informaes Gerencial Structured Query Language Sistema de gerenciamento de banco de dados Sistema de Informao de Suporte Tomada de Deciso Extensible Markup Language

LISTA DE FIGURAS

Figura 1: Interface do sistema com modelo CRM................................................................................15 Figura 2: Cadastro de vendedores.......................................................................................................18 Figura 3: Cadastro operacional de cargos. ..........................................................................................20 Figura 4: Cadastro de clientes. ............................................................................................................21 Figura 5: Lanamento de Vendas ........................................................................................................22 Figura 6: Detalhamento de itens ..........................................................................................................24 Figura 7: Modelo ER da base de dados original Northwind.................................................................25 Figura 8: Visualizao do modelo ER modificado................................................................................28 Figura 9: Visualizao do modelo multidimensional. ...........................................................................29 Figura 10: ODS_Cargos .........................................................................................................................30 Figura 11: ODS_Clientes .......................................................................................................................31 Figura 12: ODS_Vendedor.....................................................................................................................33 Figura 13: ODS_Pedidos. ......................................................................................................................34 Figura 14: ODS_Itens ............................................................................................................................35 Figura 15: ODS_Produtos. .....................................................................................................................36 Figura 16: Estrela_Pedidos. ...................................................................................................................37 Figura 17: Estrela_Produtos...................................................................................................................38 Figura 18: Estrela_Itens. ........................................................................................................................37 Figura 19: Estrela_Cargos. ....................................................................................................................38 Figura 20: Estrela_Vendedores..............................................................................................................37 Figura 21: Estrela_Clientes. ...................................................................................................................38 Figura 22: Estrela_Categoria. ................................................................................................................37 Figura 23: O resultado da criao e utilizao do componente OWC...................................................38 Figura 24: O resultado da criao pelas classes Foxcharts. .................................................................37 Figura 25: O resultado da classe Progress Bar com o Google Maps....................................................38 Figura 26: Um exemplo de como o relatrio sintetizado no VFP........................................................38

LISTA DE QUADROS

Quadro 1: Casos de uso do sistema....................................................................................................15 Quadro 2: Dados de entrada de clientes.. ...........................................................................................18 Quadro 3: Dados de entrada de produtos............................................................................................20 Quadro 4: Dados de entrada de cargos...............................................................................................21 Quadro 5: Dados de entrada de vendedores.......................................................................................22 Quadro 6: Dados de entrada de pedidos .............................................................................................24 Quadro 7: Dados de entrada de itens ..................................................................................................25 Quadro 8: Dados de entrada de usuarios ............................................................................................28 Quadro 9: Atributos da tabela Cargos do modelo................................................................................29 Quadro 10: Atributos da tabela Categoria do modelo utilizado para o sistema CRM ...........................30 Quadro 11: Atributos da tabela Itens do modelo utilizado para o sistema CRM ...................................31 Quadro 12: Atributos da tabela Produtos do modelo utilizado para o sistema CRM.............................33 Quadro 13: Atributos da tabela Vendedores..........................................................................................34 Quadro 14: Atributos da tabela Clientes ................................................................................................35 Quadro 15: Atributos da tabela Pedidos. ...............................................................................................36

SUMRIO

Introduo...............................................................................................................................................13 1.1 1.2 2 2.1 2.2 3 3.1 3.2 3.3 3.4 3.5 3.6 4 4.1 4.2 4.3 4.4 4.5 5 5.1 5.2 6 Objetivo..........................................................................................................................................14 Organizao do trabalho ...............................................................................................................15 Anlise de Requisitos ....................................................................................................................17 Metodologia Utilizada ....................................................................................................................18 Sobre as funcionalidades ..............................................................................................................19 Ambiente de Trabalho ...................................................................................................................20 Definies de Atores......................................................................................................................21 Lista de Casos de Uso...................................................................................................................23 Definies dos dados de entrada ..................................................................................................25 Definies das mensagens de respostas......................................................................................26 Descrio dos casos de uso..........................................................................................................27 Interface do sistema modelo CRM ................................................................................................29 Pr-Processamento .......................................................................................................................30 Base de dados Northwind..............................................................................................................32 Seleo dos Dados........................................................................................................................35 Tratamentos de valores ausentes .................................................................................................37 Desnormalizao ...........................................................................................................................40 Transformao dos dados .............................................................................................................44 Construo do Data Warehouse ...................................................................................................46 Scripts ODS ...................................................................................................................................50 Scripsts Estrela..............................................................................................................................52 Ferramentas para processamento anlitico ..................................................................................55

Concluso...............................................................................................................................................57 Referncias Bibliogrficas......................................................................................................................59 ANEXO A: CDIGO-FONTE DA APLICAO DESENVOLVIDA............................................. 61

INTRODUO

O acesso a informaes estratgicas no mundo em que vivemos hoje torna-se cada vez mais importante independente da rea. A visualizao mais inteligente dessas informaes surgiu a Inteligncia de Negcios - Business Intelligence (BI), simplesmente um conjunto de tecnologias orientadas aos conhecimento de negcio. Um gerenciamento de clientes Customer Relationship Management (CRM ), existente na forma de um Sistema de Informao que trata as transaes de forma on-line em um ambiente por exemplo como um de Vendas. O conceito de Inteligncia de Negcios pode ser entendido como a utilizao de variadas fontes de informao para se definir estratgias de competitividade nos negcios de uma empresa. (Correy , 2001). Entre as tecnologias que englobam o conceito de BI podemos destacar o Data Warehouse (DW), que armazena informaes com exclusividade de consultas em estruturas dimensionais e possui uma forma de dar suporte a tomada de decises. O DW integra dados de vrios sistemas incompatveis, inclusive um CRM em um banco de dados consolidado, e ao transformar os dados em informaes expressivas, permite que os administradores possam fazer uma anlise mais precisa e consistente. O trabalho prope uma modelagem de DW e o desenvolvimento de aplicaes BI que do suporte a integrao entre um DW, CRM e um ambiente de Vendas em uma Pequena Empresa. (Correy , 2001).

1.1 Objetivos

O presente trabalho tem como objetivo o aprendizado de tcnicas de modelagem de DW e desenvolvimento de aplicaes que proporcione os conceitos de BI e CRM disponibilizando uma maneira prtica e econmica para auxilio em tomadas de decises.

1.2 Organizao do trabalho

O trabalho est dividido em seis captulos sendo eles definidos da seguinte forma: O segundo captulo descreve a anlise dos requisitos, mostrando quais so as necessidades e principais funcionalidades do projeto. O terceiro captulo descreve a arquitetura do ambiente, mostrando a lista dos casos de uso, as entradas de dados e a interface do projeto. O quarto e o quinto captulos apresentam as operaes que foram necessrias serem feitas antes da modelagem do Data Warehouse e desenvolvimentos das aplicaes de BI. No sexto e ultimo captulo feito uma concluso a respeito do trabalho.

2 ANLISE DE REQUISITOSAntes de iniciar o desenvolvimento do software foram realizadas diversas entrevistas com o orientador de estgio, e lhe foi solicitado que especificasse da maneira mais detalhada o possvel o funcionamento desejado do sistema. A cada entrevista novas funcionalidades eram acrescentadas ao sistema, e outras eram retificadas. No momento em que o orientador leu o documento contendo a descrio do sistema e o aprovou, estava concluda a etapa de especificao do sistema e anlise de requisitos. (Silva , 2001). Segundo o orientador, o sistema consiste em um sistema de CRM operacional com BI para um ambiente de vendas. O sistema de CRM composto por aes operacional com delimitaes a nvel usurio, j em relao ao acesso de nvel BI com funo de apenas os Administradores podero ter acesso.

2.1 Metodologia Utilizada

A metodologia de desenvolvimento utilizada foi o Rational Unified Process (RUP), uma metodologia iterativa e incremental que possui o ciclo de vida dividido basicamente em quatro fases: concepo (definio do escopo do projeto), elaborao (definio dos requisitos e da arquitetura), construo (desenvolvimento do sistema) e transio (implantao do sistema). Cada uma dessas etapas pode ser realizada em vrias iteraes, dependendo das necessidades observadas; da a sua definio como sendo iterativa. Alm disso, ao fim de cada iterao novas funcionalidades so includas ao sistema, justificando o ttulo de incremental. Essas funcionalidades so denominadas artefatos da metodologia, que podem ser desde um documento de descrio do sistema at uma classe implementada ou at mesmo um conjunto de testes para o sistema. Ou seja, cada iterao deve produzir algum artefato concreto. (Silva , 2001). Como exemplo de disciplinas pode-se citar a Modelagem de negcios, Requisitos, Anlise, Design e Implementao.

Para o desenvolvimento desse estgio, foi necessria uma iterao para a etapa de concepo, elaborao, construo e para transio. A etapa de transio ainda no foi finalizada, ou seja, o sistema ainda no foi implantado em uma empresa. Essas iteraes sero discutidas e detalhadas adiante. Apenas uma iterao de processo foi utilizada, ou seja, apenas uma verso do software foi gerada, at mesmo por questes de tempo disponvel para o desenvolvimento. Um item importante a ser relatado foi o estudo de algumas ferramentas BI de mercado como QuickView1, Pentaho 2e Hbil BI3. Com base nelas foi retirado vrios modelos de negcio que ajudaram na modelagem do nosso problema. Essa metodologia utiliza a linguagem UML4 como base. Alm disso, guiada pelos casos de uso, que coordenam e guiam todo o processo de desenvolvimento, desde a etapa de elaborao at a de transio. (Correy,2001).

2.2 Sobre as funcionalidades

Baseando-se na descrio do sistema, alguns objetivos puderam ser especificados. O objetivo bsico do sistema era gerenciar com maior preciso e menor tempo as vendas e suas respectivas informaes, alm de acrescentar funcionalidades impossveis de existir com o tipo de controle normalmente utilizado em pequenas empresas, utilizando planilhas eletrnicas. Para tanto, as seguintes operaes deveriam ser includas no sistema: Cadastrar, excluir ou alterar clientes; Cadastrar, excluir ou alterar produtos; Cadastrar, excluir ou alterar cargos; Cadastrar, excluir ou alterar vendedores; Cadastrar, excluir ou alterar pedidos; _____________1 2

Um software comercial de Business Intelligence. http://www.pentaho.org 3 http://www.habil.com.br/bi 4 A Unified Modeling Language (UML) permite que desenvolvedores visualizem os produtos de seu trabalho em diagramas..

Cadastrar, excluir ou alterar itens; Controlar nveis de acesso por usurio, ou seja, cada usurio deveria ter acesso a determinadas reas do sistema e a outras no. Permitir a manipulao de dados de forma dinmica com consultas SQL5 no banco de dados. Permitir a emisso de grficos dinmicos com consultas SQL no banco de dados. Permitir a interao entre o usurio e os dados, estabelecendo metas para que indicadores possam ser visualizados. Permitir a emisso de relatrios com consultas SQL no banco de dados e com a utilizao de cubos de deciso. Permitir a localizao dos endereos utilizando o Google Maps6 para informar aonde para onde vo os pedidos, qual o endereo dos clientes e dos vendedores.

_____________5 6

Structured Query Language (SQL) uma linguagem de pesquisa declarativa para banco de dados relacional. Um servio da empresa Google.

3 AMBIENTE DE TRABALHOOs casos de uso foram desenvolvidos tendo como base a anlise de requisitos, conforme afirmado anteriormente. No entanto, pode-se perceber que alguns casos de uso se tornariam repetitivos. Por exemplo, o caso de uso responsvel pelo cadastro de um cliente seria muito semelhante ao caso de uso responsvel pela alterao dos dados de um cliente. Assim, apenas os casos de uso mais significativos foram detalhados. Aqueles mais simples ou que j possuam algum outro caso de uso semelhante no foram detalhados. Essa deciso foi tomada tambm devido ao pouco tempo disponvel para o desenvolvimento do sistema, que acabou sendo atrasado devido a uma ateno excessiva a essa etapa da engenharia de software. Apesar disso, sabe-seque a metodologia RUP considera essa fase como a mais importante de todas do desenvolvimento, uma vez que guia todo o restante do processo. O sistema necessitou ser composto de dois mdulos: o mdulo CRM e o mdulo BI. A seguir so apresentados os atores que interagem com o sistema, os casos de uso e um detalhamento daqueles mais importantes ao funcionamento do aplicativo. (Bispo, 1988).

3.1 Definio dos atores

Os seguintes atores interagem com o sistema:

Administrador

Administrador: ator que representa o usurio com todos os privilgios do sistema. Usurio: ator que representa a pessoa que ir interagir com o sistema.

SisBi: ator que representa o sistema que se encontra em uso atualmente.

3.2 Lista de casos de uso

Nessa seo so apresentados os casos de uso do sistema. N 01 02 03 04 05 06 07 08 09 10 11 12 13 Descrio do Caso de Uso Usurio entra no sistema Usurio cadastra ou altera cliente Usurio exclui cliente Usurio cadastra ou altera produto Usurio exclui produto Usurio cadastra ou altera cargo Usurio exclui cargo Usurio cadastra ou altera vendedor Usurio exclui vendedor Usurio cadastra ou altera pedido Usurio exclui pedido Usurio cadastra ou altera item Usurio exclui item Entrada Nome, senha DadosCliente CdigoCliente DadosProduto CdigoProduto DadosCargo CdigoCargo DadosVendedor CdigoVendedo r DadosPedido CdigoPedido DadosItem CdigoItem Caso de Uso RealizarLogin CadastrarCliente ExcluirCliente CadastrarProduto ExcluirProduto CadastrarCargo ExcluirCargo CadastrarVendedor ExcluirVendedor CadastrarPedido ExcluirPedido CadastrarItem ExcluirItem Resposta Msg01 Msg02 Msg03 Msg04 Msg05 Msg06 Msg07 Msg08 Msg09 Msg10 Msg11 Msg12 Msg13

14 15 16 17 18 19 20 21

Administrador manipula cubo de deciso Administrador manipula grfico dinmico Administrador emite grfico dinmico Administrador informa meta Administrador emite indicador Administrador emite endereo Administrador emite relatrio Administrador visualiza anlise

CuboDeDecisao Consulta SQL Consulta SQL Consulta SQL ConsultaApiGoo gle Consulta SQL Consulta SQL

ManipularCuboDecisao ManipularGraficoDinami co EmitirGraficoDinamico InformarMeta EmitirIndicador EmitirEndereco EmitirRelatorio EmitirAnalise

Relatrio Relatrio Relatrio Msg14 Relatrio Relatrio Relatrio Relatrio

Quadro 1 Casos de uso do sistema.

3.3 Definio dos Dados de Entrada

Essa seo descreve os dados de entrada do sistema. Entre eles esto os dados do cliente, da unidade de moeda, dos usurios e dos parceiros.

3.3.1 DadosCliente:

N 01 02 03

Descrio Cdigo do Cliente Nome da Empresa Nome do Cliente

Tipo String String String

04 05 06 07 08

Cargo do Cliente Endereo Cidade Estado Telefone

Numrico String String String Numrico

Quadro 2 Dados de entrada de clientes.

3.3.2 DadosProduto:

N 01 02 03 04 05

Descrio Cdigo do Produto Nome do Produto Categoria Preo Unitrio Quantidade em Estoque

Tipo Numrico String Numrico Numrico Numrico

Quadro 3 Dados de entrada de produtos.

3.3.3 DadosCargo:

N 01

Descrio Cdigo do Cargo

Tipo Numrico

02

Tipo do Cargo

String

Quadro 4 Dados de entrada de cargos.

3.3.4 DadosVendedor:

N 01 02 03 04 05 06 07 08 09

Descrio Cdigo do Vendedor Nome Sobrenome Cargo Endereo Cidade Telefone Observaes Foto

Tipo Numrico String String Numrico String String Numrico Texto Imagem

Quadro 5 Dados de entrada de vendedores.

3.3.5 DadosPedido:

N 01

Descrio Cdigo do Pedido

Tipo Numrico

02 03 04 05 06

Nome do Cliente Nome do Vendedor Nome do Destinatrio Endereo de Entrega Cidade da Entrega

String String String String String

Quadro 6 Dados de entrada de pedidos.

3.3.6 DadosItem:

N 01 02 03 04

Descrio Nome do Produto Preo Unitrio Quantidade a ser pedida Valor Total

Tipo String Numrico Numrico Numrico

Quadro 7 Dados de entrada de itens.

3.3.7 DadosUsurio:

N 01 02

Descrio Nome do Usurio Login

Tipo String String

03

Senha

String

Quadro 8 Dados de entrada de usuarios.

3.4 Definio das Mensagens de Resposta

Essa seo ilustra as mensagens de resposta oferecidas pelo sistema. Msg01 = Login ou senha esto incorretos. Msg02 = Cliente cadastrado com sucesso | Cliente alterado com sucesso | Usurio no possui permisses necessrias para efetuar essa operao | Operao cancelada Msg03 = O Cliente foi excludo | Operao cancelada Msg04 = Produto cadastrado com sucesso | Cliente alterado com sucesso | Usurio no possui permisses necessrias para efetuar essa operao | Operao cancelada. Msg05 = O Produto foi excludo | Operao cancelada. Msg06 = Cargo cadastrado com sucesso | Cargo alterado com sucesso | Usurio no possui permisses necessrias para efetuar essa operao | Operao cancelada. Msg07 = O Cargo foi excludo | Operao cancelada. Msg08 = Vendedor cadastrado com sucesso | Vendedor alterado com sucesso | Usurio no possui permisses necessrias para efetuar essa operao | Operao cancelada. Msg09 = O Vendedor foi excludo | Operao cancelada. Msg10 = Pedido cadastrado com sucesso | Pedido alterado com sucesso | Usurio no possui permisses necessrias para efetuar essa operao | Operao cancelada. Msg11 = O Pedido foi excludo | Operao cancelada.

Msg12 = Item cadastrado com sucesso | Pedido alterado com sucesso | Usurio no possui permisses necessrias para efetuar essa operao | Operao cancelada. Msg13 = O Item foi excludo | Operao cancelada. Msg14 = Insira os valores das metas da empresa.

Para cada caso de uso tm-se eventos externos ou internos associados, que estimulam o sistema.

3.5 Descrio dos Casos de Uso

Nessa seo so detalhados os principais casos de uso. Cada caso de uso possui um curso normal, e pode possuir zero ou mais cursos alternativos.

3.5.1 RealizarLogin

Esse caso de uso responsvel por efetivar a entrada de um usurio no sistema. O caso de uso recebe como entrada o Nome e a Senha do usurio e emite como resposta a Msg01. No ser detalhado por ser muito simples.

3.5.2 CadastrarCliente, CadastrarProduto, CadastrarCargo, CadastrarVendedor, CadastrarPedido, CadastrarItem.

Responsvel por realizar novos cadastros ou alterar algum cadastro j existente. A qualquer momento o caso de uso pode ser cancelado pelo usurio, causando o encerramento com a mensagem "Operao cancelada".

3.5.2.1 Curso Normal

1.Usurio escolhe novo cadastro. 2.Sistema verifica se o usurio possui permisso necessria para cadastrar. 3.Usurio insere dados. 4.Usurio confirma cadastro. 5.Sistema verifica se o(s) dados(s) informado(s) representa(m) os cadastrado(s). 6.Sistema verifica se a data de insero maior do que a data atual. 7.Caso de uso encerra emitindo mensagem " X cadastrado com sucesso".

3.5.2.2 Curso Alternativo 1

1.Usurio escolhe alterar. 1.1. Sistema verifica se usurio possui permisso para alterar. 1.1.1. Usurio no possui permisso necessria 1.1.2. Caso de uso abandonado com a mensagem Usurio no possui permisses necessrias para efetuar essa operao". 1.2. Usurio seleciona. 1.3. Usurio altera dados 1.4. Usurio confirma a alterao 1.5. Passos 5, 6 e 7 do caso de uso so executados 1.6. Sistema conclui caso de uso informando que foi alterado com sucesso.

3.5.2.3 Curso Alternativo 2

2.Usurio no possui permisso para cadastrar. 2.1. Caso de uso abandonado com a mensagem "Usurio no possui permisses necessrias para efetuar essa operao".

3.5.2.4 Curso Alternativo 5

5.Foi informado que no existe no cadastro. 5.2.Sistema informa que o tal item no existe 5.2.Usurio corrige cargo ou inicia outro caso de uso. 5.2.Caso de uso prossegue o curso normal a partir do passo 5.

3.5.2.5 Curso Alternativo 6

10.A data de cadastro cliente menor que a data atual 5.2.Sistema informa a irregularidade ao usurio 5.2.Usurio corrige a data de cadastro ou verifica se a data do sistema est correta 5.2.Caso de uso retoma o curso normal a partir do passo 6.

3.5.3 ExcluirCliente, ExcluirProduto, ExcluirCargo, ExcluirVendedor, ExcluirPedido, ExcluirItem.

Esses casos de usos so responsveis por realizar a excluso de um cadastro, ou seja, cancelar as atividades e apag-lo do sistema. A partir do momento excluda, nenhuma atividade poder ser realizada com o mesmo. A qualquer momento o caso de uso pode ser cancelado pelo usurio, causando o encerramento com a mensagem "Operao cancelada".

3.5.3.1 Curso Normal

1.Sistema verifica se o usurio possui permisso necessria para excluir. 2.Usurio seleciona a ser excludo. 3.Sistema emite aviso informando do que ocorrer se for excludo. 4.Usurio confirma a operao de excluso. 5.Caso de uso terminado com mensagem O item foi excludo.

3.5.3.2 Curso Alternativo 3

3.Usurio cancela a operao de excluso. 3.1.Caso de uso encerrado com a mensagem Operao cancelada.

3.6 Interface do Modelo de CRM

Na figura 1 mostrada a interface grfica da aplicao de BI desenvolvida em cima de um sistema de informao com modelo CRM

Figura 1 Interface da Aplicao desenvolvida e integrada.

Na figura 2 a seguir apresentada a tela da aplicao na qual possvel o usurio inserir, alterar ou cadastrar os vendedores do ambiente de Vendas de uma Pequena empresa.

Figura 2 Cadastro de vendedores.

O cadastro operacional de cargos dos vendedores do ambiente reproduzido mostrado abaixo na figura 3.

Figura 3 Cadastro operacional de cargos.

A tela na figura 4 a qual demonstra as operaes de cadastramento,

excluso e edio de clientes do ambiente de vendas.

Figura 4 Cadastro de clientes.

A figura 5 mostra como os pedidos so lanados no sistema, segue a representao abaixo.

Figura 5 - Lanamento de Vendas

Uma opo extra apresentada na figura 6 com detalhes sob o item

que foi lanado o pedido.

Figura 6 Detalhamento de itens.

4 PR-PROCESSAMENTO

Neste capitulo sero descritas as manipulaes realizadas na base de dados Northwind para a aquisio dos dados no formato apropriado para a construo de Data Warehouse e consequentemente impor os trabalhos de BI. O sistema transacional na qual foi desenvolvido o modelo CRM acima explicado utilizou uma base de dados Northwind modificada na qual ser explicado no item 4.1 abaixo.

4.1 Base de dados Nortwind

O banco de dados Northwind disponvel como exemplo na verso 9.0 do Microsoft Visual Foxpro7, nele contm dados de vendas de uma empresa fictcia chamada Northwind Traders, que importa e exporta alimentos especiais de todo o mundo. Includos neste banco de dados, possvel desenvolver idias sobre um prprio aplicativo de banco de dados. Por exemplo, voc poder praticar o consultas usando a tabela Pedidos no Northwind, uma vez que este contm registros suficientes para produzir resultados significativos e trabalhos satisfatrios. A mesma constituda de tabelas com dados dos clientes, produtos oferecidos, vendedores, cargos profissionais, itens de pedidos, categorias e relatrios, dentre outros.. Segue na figura a seguir o modelo ER8 da base de dados original Northwind.

_____________7

uma plataforma para o desenvolvimento de aplicaes Windows para o desktop centradas em bases de dados, bem como front-end para sistemas cliente-servidor. 8 Entidade Relacionamento (ER) um modelo diagramtico que descreve o modelo de dados de um sistema com alto nvel de abstrao.

Figura 7 - Modelo ER da base de dados original Northwind

Algumas alteraes em sua estrutura de relacionamentos e dados foram alteradas para adequar-se ao modelo ER compatvel com o desenvolvimento do sistema de CRM. Segue abaixo as principais alteraes efetuadas na base de dados original Northwind. Traduo dos atributos contidos em todas as tabelas da linguagem Inglesa para a Portuguesa. Criao de uma tabela chamada Cargos, para dar apoio aos dados sobre vendedores e clientes. Criao do relacionamento entre a tabela Cargo com a tabela Clientes.

4.2 Seleo dos Dados

A seleo dos dados seguida na figura 8, onde visualizado o modelo ER modificado na qual os trabalhos e desenvolvimento do sistema CRM foram executados.

Figura 8 - Visualizao do modelo ER modificado

A descrio de cada tabela do modelo apresentado acima ser relatada nos itens seguintes abaixo:

4.2.1 Tabela Cargos

Contm os diferentes tipos de trabalhos que cada vendedor, ou cliente pode desempenhar Os atributos selecionados desta tabela foram os seguintes:

Cod_cargo Descrio Domnio Cargo Descrio Domnio

Indica o cdigo do Cargo A partir de 1 Indica o nome do tipo de Cargo TextualQuadro 9 Atributos da tabela Cargos do modelo.

4.2.2 Tabela Categoria

Contm os diferentes tipos de categorias que cada produto pode enquadrar-se. Os atributos selecionados desta tabela foram os seguintes: Cod_cat Descrio Domnio Categoria Descrio Domnio Indica o cdigo da Categoria A partir de 1 Indica o nome do tipo da Categoria Textual

Quadro 10 Atributos da tabela Categoria do modelo utilizado para o sistema CRM.

4.2.3 Tabela Itens

Contm os itens relativos aos pedidos realizados, todas as informaes sobre cada pedido esta contida nesta tabela. Os atributos selecionados desta tabela foram os seguintes: Cod_ped Descrio Cod_prod Descrio Preo_unit Descrio Domnio quant Descrio Domnio Indica o cdigo do pedido Indica o cdigo do produto Indica o preo unitrio de cada produto Nmero Indica a quantidade do produto que foi pedido Nmero

Quadro 11 Atributos da tabela Itens do modelo utilizado para o sistema CRM.

4.2.4 Tabela Produtos

Contm os produtos e suas respectivas informaes. Os atributos selecionados desta tabela foram os seguintes: Cod_prod Descrio Domnio Produto Descrio Domnio Preo_unit Descrio Domnio Estoque Descrio Domnio Cod_cat Descrio Domnio Indica o cdigo do produto Indica o nome do produto Indica o preo unitrio de cada produto Nmero Indica a quantidade do produto em estoque Nmero Indica o cdigo da categoria respectiva do produto Nmero

Quadro 12 Atributos da tabela Produtos do modelo utilizado para o sistema CRM.

4.2.5 Tabela Vendedor

Contm os vendedores e suas respectivas informaes. Os atributos selecionados desta tabela foram os seguintes: Cod_vend Descrio Domnio Sobrenome Descrio Domnio Pri_nome Descrio Domnio Endereco Descrio Domnio Cidade Indica o cdigo do vendedor Indica o ultimo no do vendedor Textual Indica o primeiro nome do vendedor Textual Indica o endereo de moradia do vendedor Textual

Descrio Domnio Telefone Descrio Domnio Estado Descrio Domnio Obs Descrio Domnio foto Descrio Domnio

Indica a cidade de moradia do vendedor Textual Indica o numero do telefone do vendedor Indica a sigla do estado onde mora o vendedor Descreve um breve histrico profissional do vendedor Textual Armazena uma foto do vendedor ImagemQuadro 13 Atributos da tabela Vendedores.

4.2.6 Tabela Clientes

Contm os clientes e suas respectivas informaes. Os atributos selecionados desta tabela foram os seguintes: Cod_cli Descrio Domnio Empresa Descrio Domnio Nome Descrio Domnio Cod_cargo Descrio Domnio Endereco Descrio Domnio Cidade Descrio Domnio Telefone Descrio Indica o cdigo do cliente Indica o nome da empresa onde o cliente trabalha Textual Indica o nome do cliente Textual Indica o cdigo do cargo do cliente Indica o endereo de moradia do cliente Textual Indica a cidade de moradia do cliente Textual Indica o numero do telefone do cliente

Domnio Estado Descrio Domnio

Indica a sigla do estado onde mora o cliente

Quadro 14 Atributos da tabela Clientes.

4.2.7 Tabela Pedidos

Contm as informaes relativas sobre os pedidos realizados. Os atributos selecionados desta tabela foram os seguintes: Cod_ped Descrio Domnio Cod_cli Descrio Domnio Cod_vend Descrio Domnio Entreg_nm Descrio Domnio Entreg_end Descrio Domnio Entreg_cid Descrio Domnio Datapedido Descrio Domnio Entreg_Estado Descrio DomnioQuadro 15 Atributos da tabela Pedidos.

Indica o cdigo do pedido Indica o cdigo do cliente Indica o cdigo do vendedor Indica o nome do destinatrio Textual Indica o endereo de moradia do destinatrio Textual Indica a cidade do destinatrio Textual Indica a data de pedido Indica a sigla do estado onde ser entregue

4.3 Tratamento de Valores Ausentes

A tabela CARGOS estava incompleta e muitos dos cdigos indicados na tabela CLIENTES no possuam instncia nesta tabela. Tornou-se impossvel, portanto, indicar para os clientes que no possuem trabalho. O dados ausentes foram tratados como uma nova opo chamada : SEM_TRABALHO.

4.4 Desnormalizao

Nesta etapa, foi gerado o processo DESNORMALIZADO, isto , contendo apenas um registro para cada indivduo com todos os atributos considerados relevantes. Para isto, foi preciso realizar transformaes em algumas tabelas de relacionamento existentes na base. A tabela CLIENTES, por exemplo, continha 2 registro para cada cliente. Um registro com trs campos (DDD e nmero do telefone) para cada telefone do cliente. A transformao foi feita de modo que a tabela resultante passou a conter apenas um registro para cada cliente, com 1 campo ( telefone completo do cliente).

4.5 Transformao de Dados

Os dados devem ser transformados e integrados em um formato consistente, antes de serem carregados no Data Warehouse. Transformao a seqncia de operaes funcionais que aplicada a informao de uma fonte de dados antes de ser armazenada em seu destino. Edelstein (1997b). Alguns dados precisam ser convertidos com o propsito de melhorar a

qualidade dos resultados gerados.

Figura 9 - Visualizao do modelo multidimensional

5 CONSTRUO DO DATA WAREHOUSE

A seguir sero descritos detalhes do povoamento do Data Warehouse. Foi utilizado no projeto uma ferramenta de cdigo aberto chamada Kettle, que auxilia a integrao de dados e a construo do Data Warehouse. Chaves Inteligentes so chaves que geralmente so representadas a partir de diversos atributos na tabela de dimenso. Chaves No Inteligentes So chaves colocadas em substituio chave natural de uma tabela, sendo nmeros gerados seqencialmente pela rotina de extrao.

5.1 Scripts ODS

KETTLE

(Kettle

Extraction,

Transformation,

Transportation

and

Loading Environment) um ambiente de Extrao, Transformao, Transporte e Carga (ETL), parte integrante do pacote de ferramentas para BI distribudo pela Pentaho. Utilizando a ferramenta Kettle do pacote Pentaho, segue as representaes abaixo.

5.1.1 ODS_Cargos

Dbf_Cargos : carrega o arquivo c:\...\sisbi\dados\cargos.dbf Insert/Update: procura na tabela Cargos do ODS9 se o valor j existe se existir, o valor atualizado, se no existir, o valor adicionado tabela. ilustrado na figura a seguir. _____________9

uma estrutura hbrida que possui caractersticas de DW e sistemas transacionais.

Figura 10 - ODS_Cargos.

5.1.2 ODS_Clientes

Dbf_Clientes : carrega o arquivo c:\...\sisbi\dados\clientes.dbf Select values : seleciona apenas os atributos necessrios que devem ser carregados em Dbf_Clientes Add Constant: adiciona um atributo com um valor constante, no caso adiciona o atributo estado, com o valor do estado a ser carregado. Dados_ODS_Clientes : procura na tabela Clientes do ODS se o valor j existe, se existir, o valor atualizado, se no existir, o valor adicionado tabela. ilustrado na figura 11.

Figura 11 - ODS_Clientes.

5.1.3 ODS_Vendedor

Dbf_Vendedor : carrega o arquivo c:\...\sisbi\dados\vendedor.dbf Select values: seleciona apenas os atributos necessrios que devem ser carregados em Dbf_Vendedor Add Constant: adiciona um atributo com um valor constante, no caso adiciona o atributo estado, com o valor do estado a ser carregado.

Dados_ODS_Vendedor : procura na tabela Vendedor do ODS se o valor j existe, se existir, o valor atualizado, se no existir, o valor adicionado tabela. ilustrado na figura 12.

Figura 12 - ODS_Vendedor.

5.1.4 ODS_Pedidos

Table Input: carrega os valores armazenados em Pedidos no ODS. Dbf_Pedidos : carrega o arquivo c:\...\sisbi\dados\pedidos.dbf Stream lookup: procura por dados redundantes em Table input e em Dbf_Pedidos, s deixando passar os dados que no existam em Table input. Select values: seleciona apenas os atributos necessrios para serem carregados no ODS. Ordena: ordena os valores em relao a um atributo chave, nesse caso foi ordenado por cdigo do vendedor e nome do vendedor. Elimina_Ambiguo : elimina os valores ambguos. Dados_ODS_Pedidos : escreve na tabela Pedidos do ODS os dados resultantes da transformao. ilustrado na figura 13.

Figura 13 - ODS_Pedidos.

5.1.5 ODS_Itens

Dbf_Itens : carrega o arquivo c:\...\sisbi\dados\itens.dbf Dados_ODS_Itens : escreve na tabela Itens do ODS os lados lidos pelo Dbf_Itens. ilustrado na figura 14.

Figura 14 - ODS_Itens

5.1.6 ODS_Produtos

Dbf_Produtos : carrega o arquivo c:\...\sisbi\dados\produtos.dbf Dados_ODS_Produtos : escreve na tabela Itens do ODS os lados lidos pelo Dbf_Produtos. ilustrado na figura 15.

Figura 15 - ODS_Produtos

5.2 Scripts Estrela

Aps a carga no armazenamento temporrio, necessrio carregar o modelo estrela, fazer a carga das tabelas de dimenses e da tabela de fatos para cada ano. A seguir so apresentados os scripts utilizados no projeto que realizam a carga do modelo estrela.

5.2.1 Estrela_Pedidos

Table input : carrega os valores armazenados em PEDIDOS no ODS. Database lookup : verifica se o dado lido no ODS j se encontra armazenado no modelo estrela. E_Destino : Componente do tipo Value_Mapper, esse componente troca os valores, no caso desse script ele troca os valores 1 e 2 por sim e nao respectivamente. Add constants : adiciona um atributo com um valor constante, no caso adiciona o atributo TRANSACAO, com o valor 1 Combination lookup/update : esse componente permite criar, popular e atualizar uma dimenso, ele j cria a surrogate key para cada dado inserido na dimenso. Nesse caso foi implementado a dimenso PEDIDOS no modelo dimensional. ilustrado na figura 16.

Figura 16 - Estrela_Pedidos.

5.2.2 Estrela_Produtos

Table input : carrega os valores armazenados em PRODUTOS no ODS. Dimension lookup/update : esse componente permite criar, popular e atualizar uma dimenso, ele j cria a surrogate key para cada dado inserido na dimenso. ilustrado na figura 17.

Figura 17 - Estrela_Produtos

5.2.3 Estrela_Itens

Table input : carrega os valores armazenados em ITENS no ODS. Dimension lookup/update : esse componente permite criar, popular e atualizar uma dimenso, ele j cria a surrogate key para cada dado inserido na dimenso. ilustrado na figura 18.

Figura 18 - Estrela_Itens

5.2.4 Estrela_Cargos

Table input : carrega os valores armazenados em CARGOS no ODS. Dimension lookup/update : esse componente permite criar, popular e atualizar uma dimenso, ele j cria a surrogate key para cada dado inserido na dimenso. ilustrado na figura 19.

Figura 19 - Estrela_Cargos

5.2.5 Estrela_Vendedores

Table input : carrega os valores armazenados em VENDEDOR no ODS. Add constants : adiciona um atributo com um valor constante, no caso adiciona o atributo VENDEU, com o valor 1 Combination lookup/update : esse componente permite criar, popular e atualizar uma dimenso, ele j cria a surrogate key para cada dado inserido na dimenso. Nesse caso foi implementado a dimenso VENDEDORES no modelo dimensional. ilustrado na figura 20.

Figura 20 - Estrela_Vendedores

5.2.6 Estrela_Clientes

Table input : carrega os valores armazenados em CLIENTE no ODS. Add constants : adiciona um atributo com um valor constante, no caso adiciona o atributo COMPROU, com o valor 1 Combination lookup/update : esse componente permite criar, popular e atualizar uma dimenso, ele j cria a surrogate key para cada dado inserido na dimenso. Nesse caso foi implementado a dimenso CLIENTES no modelo dimensional. ilustrado na figura 21.

Figura 21 - Estrela_Clientes

5.2.7 Estrela_Categoria

Table input : carrega os valores armazenados em CATEGORIA no ODS. Dimension lookup/update : esse componente permite criar, popular e atualizar uma dimenso, ele j cria a surrogate key para cada dado inserido na dimenso. ilustrado na figura 22.

Figura 22 - Estrela_Categoria

5.2.8 Estrela_Fatos

Table input : carrega os valores armazenados em Clientes, Produtos , Cargos no ODS. Add Constant : adiciona a constante referente ao estado que est sendo carregado. Lookup vendedor: Verifica na dimenso Vendedor a surrogate key referente ao cargo do vendedor dos dados extrado em ODS_Cargos. Lookup pedidos: Verifica na dimenso Pedidos a surrogate key referente ao pedido do cliente dos dados extrado em Table input. Lookup itens: Verifica na dimenso Itens a surrogate key referente ao produto do cliente dos dados extrado em Table input. Select values : seleciona somente as surrogate keys que

serocarregadas na tabela de fatos. Combination lookup/update : esse componente carrega na tabela de fatos todas as surrogate keys obtidas, e j chega a surrogate key referente a tabela de fatos.

6 FERRAMENTAS PARA O PROCESSAMENTO ANLITICO

Apesar do crescimento vertiginoso do conceito de Inteligncia em Negcios as ferramentas so poucas e as que existem so relativamente recentes, e portanto, pouco maduras se comparadas as principais solues prioritrias encontradas no mercado. (DWBrasil , 2008). Nos itens abaixo sero descritos o que , como foi utilizado e os resultados da utilizao de alguns componentes para a produo de ferramentas de BI.

6.1 Processamento Analtico On-Line

Uma ferramenta de Processamento Analtico On-Line - (OLAP) responsvel por analisar os dados de um DW, essa ferramenta capaz de navegar pelos dados de um DW, possuindo uma estrutura adequada tanto para realizao de pesquisas como para apresentao de informaes. Por ser um componente que dispe de funcionalidades necessrias para a utilizao de um servio de OLAP, ser descrito as caractersticas e funcionalidades do Office Web Components (OWC). O Office Web Components (OWC) um grupo de classes implementadas por controles Activex10 nos pacotes de aplicativos distribudos pelas verses do Microsoft Office. Estes controles de ActiveX podem ser includos em programas desenvolvidos na linguagem Microsoft Visual Foxpro (VFP). O OWC tem poder de criar uma interao com as funcionalidades das aplicaes criadas em Microsoft Excel11. Dentro desses componentes esto includos os Spreadsheet12, Chartspace13 e Pivot Table14. (DWBrasil,2008). _____________10 11 12

ActiveX um conjunto de tecnologias (software) criado pela Microsoft para facilitar a integrao entre diversas aplicaes. um aplicativo Windows que fornece ferramentas para efetuar clculos atravs de frmulas e funes. uma aplicao que simula uma planilha. 13 utilizada para elaborar grficos. 14 uma sumarizao de dados, ou seja uma ferramenta que faz a visualizao de dados encontrados em programas como planilhas.

A utilizao bem simples e manipulado por cdigos em linguagem VFP e comando SQL. Segue abaixo o cdigo-fonte utilizado para a integrao da base de dados com o componente OWC.WITH this.pivotTable * configurao da string de conexo .ConnectionString = [Provider=VFPOLEDB.1;] + ; [Data Source=C:\SisBi\Dados\DW.dbc;] + ; [Password="";Collating Sequence=MACHINE] * recupera dados dos pedidos, categoria dos produtos, quantidade, preo e total LOCAL lcSQL lcSQL = " SELECT Fatos.cod_fat, Ped.datapedido, Ped.entreg_cid, Cli.nome, " + ; " Pro.produto, " + ; " Cat.categoria, " + ; " Ite.quant, Ite.preco_unit, " + ; " (Ite.quant * Ite.preco_unit) AS ValorTotal " + ; " FROM DW!pedidos Ped " + ; " INNER JOIN DW!clientes Cli " + ; " ON Cli.cod_cli = Ped.cod_cli " + ; " INNER JOIN DW!itens Ite " + ; " ON Ite.cod_ped = Ped.cod_ped" + ; " INNER JOIN DW!produtos Pro " + ; " ON Pro.cod_prod = Ite.cod_prod" + ; " INNER JOIN DW!categoria Cat " + ; " ON Cat.cod_cat = Pro.cod_cat" .CommandText = lcSQL .AutoFit = .F. * adiciona um total ao conjunto de dados da PivotTable .ActiveView.AddTotal("Total", .ActiveView.FieldSets("[ValorTotal]").Fields(0), ; .Constants.plFunctionSum) ENDWITH thisform.Resize()

O trecho de cdigo acima demonstra como foi feita a criao da tabela dinmica, a conexo com o DW atravs de um comando SQL e por fim a ativao do componente. O resultado da criao e ativao do componente OWC apresentado na figura a seguir, visualizado a possibilidade da manipulao on-line de todos os dados carregados pelo comando SQL.

Figura 23 - O resultado da criao e utilizao do componente OWC

6.2 Grficos

Uma ferramenta que trabalha com grficos responsvel por analisar os dados de uma base e tornar a sua visualizao da maneira mais amigvel possvel. Um grfico torna uma informao em forma de comunicao de um conceito ou uma ideia. Por existirem diversos componentes que dispe de funcionalidades necessrias para a criao de grficos, foi necessrio escolher um componente que tivesse uma manipulao simples por parte de cdigos e interoperabilidade com o sistema de CRM, o componente utilizado foi uma biblioteca de classes visuais chamada de Foxcharts. FoxCharts uma subclasse da classe ImageCanvas15 da GdiPlusX16, que nos permite desenhar direto em um objeto de imagem, possuindo muitas outras _____________15

uma classe que abriga uma imagem. Esta imagem pode ser conectada, e o ImageCanvas assume todas as imagens que tm as mesmas dimenses da primeira imagem. 16 A biblioteca atualmente composta de 64 VFP classes e 47 bibliotecas com mais de 1500 propriedades e mtodos.

caractersticas teis e de fcil utilizao. Como exemplo a criao de bonitos e modernos grficos com puro desenvolvimento em VFP, a no utilizao de componentes Activex, a instalao e personalizao fcil e a possibilidade de impresso ou salvamento em disco nos garante motivos para estar fazendo seu uso. A utilizao bem simples e manipulado por cdigos em linguagem VFP e comando SQL. Segue abaixo um dos cdigo-fonte utilizado para a integrao da base de dados com o componente Foxcharts..SET TALK OFF * Executa a SQL carregando o grfico! oPEN DATABASE c:\sisbi\dados\vendas.dbc SELECT cli.nome,; SUM(ite.quant * ite.preco_unit) as valortotal; FROM DW!pedidos Ped ; INNER JOIN DW!clientes Cli ; ON Cli.cod_cli = Ped.cod_cli ; INNER JOIN DW!itens Ite ; ON Ite.cod_ped = Ped.cod_ped ; WHERE ite.quant > 40 AND ite.preco_unit > 40; GROUP BY 1; INTO CURSOR ChartData WITH Thisform.FoxCharts1 as FoxCharts OF "FoxCharts.vcx" && A partir do formulrio corrente manipula a classe do foxchart atribuindo valores .BACKCOLOR = RGB(255, 255, 255)&& inicializa a cor de fundo com a branca .ShowValuesonShapes = .T. && habilita mostrar valores ao passar o mouse em cima .AlphaChannel = 220 && nvel do canal de cores alpha .BrushType = 1 && utiliza a caneta gradiente (com transparncia) .ColorType = 2 && cores randmicas .FontName = "Times"&& fonte dos textos .ShowSideLegend = .T.&& mostra as legendas ao lado do grfico .SourceAlias = 'ChartData'&& marca o alias com o cursor de dados .ChartsCount = 1&& a quantidade de graficos .ChartType = 2&& tipo de grfico selecionado .FieldValue1 = "ValorTotal"&& campo de dados do sql .Fields(1).Legend = "ValorTotal"&& legenda dos campos de dados .FieldLegend = 'nome' && dados selecionados * Especifica o tipo de grafico e titulos dos eixos .TITLE.CAPTION = 'Vendas por Clientes que mais consumiram' .title.FontSize = 8 .XAxis.CAPTION = 'Clientes' .YAxis.CAPTION = 'Total de Vendas' .AxisLegend2.ROTATION = -45 .AxisLegend2.ALIGNMENT = 1 && aliamento a direita .ScaleLegend.FORMAT = '@9,999,999' && formato dos dados a ser exibidos .ShapeLegend.FORMAT = '@9,999,999' .DrawChart() && desenha e mostra o grfico ENDWITH

O trecho de cdigo acima demonstra como foi feita a criao do grfico, a conexo com o DW atravs de um comando SQL e por fim a criao atravs das classes.

O resultado da criao pelas classes Foxcharts apresentado na figura a seguir, a visualizao dos dados carregados pelo comando SQL.

Figura 24 - O resultado da criao pelas classes Foxcharts

6.3 Dashboards

Um ferramenta de Dashboards ou seja, Painel de Indicadores capaz de fornecer informaes imediatas sobre o desempenho de um negcio. So gerados tipicamente por gerentes e executivos no qual precisam de uma viso geral e consideram primordial uma visualizao intuitiva sobre os dados estratgicos. Por no ter fcil acesso a componentes que criam painis de indicadores, foi necessrio escolher um componente que tivesse uma administrao simples e que complementassem as funcionalidades j existente por parte do sistema. Assim podemos complementar uma funcionalidade de um servio com o de uma classe. Exemplos Google Maps e Progress Bar. Google Maps um servio da gigante companhia de tecnologia Google. O interessante desse servio que a empresa disponibiliza o servio mediante a integrao com sua Application Programming Interface (API) para todos aqueles interessados em usar este servio. Essa API integrada a partir da

insero de um cdigo em Javascript17 na aplicao que deseja seu funcionamento, os cdigos fazem uma comunicao e o retorno os resultados do servio, no caso os pontos da localizao no mapa mundial. J o Progress Bar um componente de interface grfica para o usurio, usado para transmitir o progresso de uma tarefa, como um indicador de quantidade de dados. Muitas vezes o grfico acompanhado por uma representao textual com o andamento em formato de porcentagem. O desenvolvimento mais recente a barra de progresso indeterminada, que usado em situaes em que a amplitude da tarefa desconhecido ou o progresso da tarefa no pode ser determinada de uma forma que poderia ser expresso como uma porcentagem. Este movimento utiliza-se de barras ou algum outro indicador que mostre os progressos realizados, em vez de usar o tamanho da poro cheia para mostrar o valor total do curso, tornando-o mais uma soluo visual tratando-se de barras de progresso. (Edelstein ,1997b). A utilizao desses servios podem ser resumidos em alguns passo explicados a seguir: O primeiro passo para comear a usar Google Maps obter uma chave que concedida quando fazemos a inscrio no servio. Esta chave nica para cada usurio de Google Maps e restritiva no que se refere ao seu uso, j que s nos permite usar os scripts em um dos diretrios de nosso servidor. O segundo passo a insero do cdigo Javascript disponvel pela Google18 em seu site na sua aplicao. O terceiro passo necessrio fazer o carregamento dos dados a serem passados para o cdigo e obviamente enviado a API, sendo retornado as localizaes enviadas atravs da aplicao. O cdigo VFP e Javascript da implementao segue abaixo: _____________17 18

uma linguagem de programao criada pela Netscape em 1995 uma empresa desenvolvedora de servios online.

create Cursor endereco (end C(40)) OPEN DATABASE c:\sisbi\dados\vendas.dbc *USE c:\sisbi\dados\clientes.dbf Select estado; From Clientes ; INTO Array sig Insert Into estado From Array sig CLOSE DATABASES

TEXT TO lcHtml NOSHOW TEXTMERGE //

ENDTEXT STRTOFILE(lcHtml,"Google_MAPS.htm") THISFORM.oleIE.Navigate2(FULLPATH("Google_MAPS.htm"))

A classe Progress Bar utilizada atravs de acesso a base de dados por comandos SQL e seu retorno trar os indicadores visuais. Segue um exemplo do resultado em VFP da utilizao da classe Progress Bar com o Google Maps citado acima:

Figura 25 - O resultado da classe Progress Bar com o Google Maps

6.4 Relatrios

Por escrito, um relatrio um documento caracterizado pela informao ou outro contedo reflexivo de inqurito ou investigao, que adaptado ao contexto de uma determinada situao e platia. O objetivo do relatrio , normalmente, para informar. No entanto, os relatrios podem incluir elementos convincentes, como as recomendaes, sugestes, ou outros elementos motivadores conclusivos que indiquem possveis aes futuras.

Um exemplo de como o relatrio sintetizado no VFP mostrado a seguir:

Figura 26 - Um exemplo de como o relatrio sintetizado no VFP

CONCLUSO

Neste trabalho foi realizada o desenvolvimento de um sistema modelo CRM, o pr-processamento de dados, a implementao de um DW e respectivas ferramentas BI para processamento analtica de informaes. A base de dados utilizada foi a Northwind , uma disponvel como exemplo pela VFP. Para tais trabalhos, foram utilizadas ferramentas proprietrias e de cdigo aberto, com o intuito de demonstrar a eficincia de tais ferramentas para o processo de tomada de decises. Uma das principais dificuldades encontradas no projeto foi o aprendizado da ferramenta utilizada para construo do Data Warehouse, a ferramenta Kettle, uma vez que uma ferramenta relativamente recente . Atravs do Data Warehouse implementado no projeto foi possvel realizar um trabalho de Processamento Analtico On-Line, Painis de Indicadores, Relatrios e Grficos, visando extrair as informaes que possam ser teis ou que tenha um reaproveitamento e continuidade do trabalho.

REFERENCIAS BIBLIOGRAFICAS COREY, M.; ABBEY, M.; ABRAMSON, I.; TAUB, B. Oracle 8i data warehouse. Traduo Joo Tortello. Rio de Janeiro: Campus, 2001. 817 p. BISPO, C. A. F. Uma anlise da nova gerao de sistemas de apoio deciso. 1998. 165 f. Dissertao (Mestrado em Engenharia de Produo) Escola de Engenharia de So Carlos, Universidade de So Paulo, So Carlos, 1998. SMALL, R. D. Debunking data mining myths. 1997. Disponvel em . Acesso em 17 set. 2008. EDELSTEIN, H. Technology how to: mining data warehouses. 1997a. Disponvel em . Acesso em 17 nov. 2005. Sprague, R. H., Jr. and Watson, H. J., A decision support systems for banks, OMEGA, 4(6), 657, 1976. THOMSEN, E. Construindo Sistemas de Informaes Multidimensionais. 2 ed. So Paulo: Campus, 2007. DWBrasil. OLAP. 2008. Disponvel em Acesso em 24 outubro 2008. MACHADO, F.N.R. Projeto de Data Warehouse: Uma Viso Multidimensional, So Paulo: rica, 2007. LAKATOS, E. M.; MARCONI, M. A. Metodologia do trabalho cientfico: procedimentos bsicos, pesquisa bibliogrfica, projeto e relatrio, publicaes e trabalhos cientficos. So Paulo: Atlas, 1992. 214 p.

ANEXO A CDIGO-FONTE DA APLICAO DESENVOLVIDA.

Neste trabalho foi apresentado como foi o desenvolvimento de um sistema modelo CRM, o pr-processamento de dados, a implementao de um DW e respectivas ferramentas BI para processamento analtica de informaes. Segue abaixo os cdigos-fontes em linguagem de programao VFP, as respectivas classes e os formulrios utilizados. A figura 1 representa a classe de formulrios base na qual apresentam os botes que geram funes como criar, editar, excluir, prximo item, anterior, entre outros. A seguir sero expostas os respectivos e totais cdigos fonte desta classe.

Figura 1 Classes utilizadas na aplicao do modelo CRM.

Cdigo-fonte do Boto Novo:WITH THISFORM IF .Transao BEGIN TRANSACTION ENDIF APPEND BLANK .STATUS = 1 .REFRESH ENDWITH

Cdigo-fonte do Boto Alterar:WITH THISFORM IF .Transao BEGIN TRANSACTION ENDIF .STATUS = 2 .REFRESH ENDWITH

Cdigo-fonte do Boto Gravar:WITH THISFORM IF .validaes() IF NOT TABLEUPDATE() .verifica_erro ELSE WAIT WINDOW "Registro Gravado!" NOWAIT IF .Transao END TRANSACTION ENDIF UNLOCK .STATUS = 0 .REFRESH ENDIF ENDIF ENDWITH

Cdigo-fonte do Boto Desfazer:WITH THISFORM IF .Transao ROLLBACK ELSE TABLEREVERT() ENDIF UNLOCK WAIT WINDOW 'Operao cancelada.' NOWAIT IF .nreg # 0 AND .STATUS=1 GO .nreg ENDIF .STATUS = 0 .REFRESH ENDWITH

Cdigo-fonte do Boto Excluir:WITH THISFORM x=MESSAGEBOX("Confirma Excluso?",32+4+256,"Ateno") IF x=6 && Sim DELETE IF NOT TABLEUPDATE() .verifica_erro ELSE WAIT WINDOW "Registro Excludo" NOWAIT SKIP IF EOF() GO BOTTOM ENDIF .REFRESH

ENDIF ENDIF ENDWITH

Cdigo-fonte do Boto Topo:WITH THISFORM LOCATE .REFRESH WAIT WINDOW "Inicio de Arquivo" NOWAIT ENDWITH

Cdigo-fonte do Boto Anterior:WITH THISFORM IF NOT EOF() SKIP -1 IF BOF() LOCATE MESSAGEBOX ("Inicio de Arquivo",64+0+0, "Atencao!") ENDIF .REFRESH ENDIF ENDWITH

Cdigo-fonte do Boto Prximo:WITH THISFORM IF NOT EOF() SKIP+1 IF EOF() GO BOTTOM MESSAGEBOX("Final de Arquivo", 64+0+0,"Ateno!") ENDIF .REFRESH ENDIF ENDWITH

Cdigo-fonte do Boto Final:WITH THISFORM GO BOTTOM .REFRESH WAIT WINDOW "Final de Arquivo" NOWAIT ENDWITH

Cdigo-fonte do Boto Localizar:BROWSE NORMAL ; TITLE "Viso Geral..." ; PREFERENCE VisaoGeral ; NOEDIT NODELETE NOMENU THISFORM.REFRESH

Herdando as funes da classe e dos cdigos mostrados acima foram desenvolvidos formulrios na qual compem a aplicao onde sero ilustrados nas

figuras a seguir. O formulrio referente ao cadastramento de cargos mostrada no figura abaixo sendo armazenada no arquivo com no cad_cargo.scx:

Figura 2 Formulrio para cadastro de cargos.

Acima na figura 2 foi representado como os objetos e a classe foi organizada. Sendo necessrio a criao de uma funo Validaes, para determinar a integridade dos campos. Cdigo-fonte da funo Validaes:WITH Thisform IF EMPTY(.txtCargo.Value) = MessageBox('Preenchimento Obrigatrio.',; 48+0+0,'Ateno') .txtCargo.SetFocus RETURN .F. ENDIF ENDWITH

O formulrio referente ao cadastramento de clientes mostrada no figura 3 sendo armazenada no arquivo com no cad_cli.scx:

Figura 3 Formulrio de Cadastro de Clientes.

O formulrio referente ao cadastramento de itens mostrada no figura

abaixo sendo armazenada no arquivo com no cad_itens.scx:

Figura 4 Formulrio de Cadastro de itens.

O formulrio referente ao cadastramento de produtos mostrada no figura abaixo sendo armazenada no arquivo com no cad_prod.scx:

Figura 5 Formulrio de Cadastro de Produtos.

O formulrio referente ao cadastramento de vendedores mostrada no figura abaixo sendo armazenada no arquivo com no cad_vend.scx:

Figura 6 Formulrio de Cadastro de vendedores.

Acima na figura 6 foi representado como os objetos e a classe foi

organizada e sendo necessrio a criao de uma funo Foto. Cdigo-fonte da funo Foto:x = GETPICT('','Selecione a foto','Selecionar') IF ! EMPTY(x) * envolve o caminho\nome com aspas x= ['] + x + ['] WAIT WINDOW 'Aguarde ...' NOWAIT APPEND GENERAL FOTO FROM &x WAIT WINDOW ' Concludo. ' TIME 1 ENDI

O formulrio referente a utilizao do componente OWC mostrada no figura 7 sendo armazenada no arquivo com no cubo_owc.scx:

Figura 7 Formulrio do Cubo.

No formulrio representado acima foram necessrios a criao de duas funes Init e Active. Segue descritos abaixo os cdigos-fonte. Cdigo-fonte da funo Init:WITH this.pivotTable * configurao da string de conexo .ConnectionString = [Provider=VFPOLEDB.1;] + ; [Data Source=C:\SisBi\Dados\dw.dbc;] + ; [Password="";Collating Sequence=MACHINE] * recupera dados dos pedidos, categoria dos produtos, quantidade, preo e total LOCAL lcSQL lcSQL = " SELECT Ped.datapedido, Ped.entreg_cid, Cli.nome, " + ; " Pro.produto, " + ; " Cat.categoria, " + ; " Ite.quant, Ite.preco_unit, " + ; " (Ite.quant * Ite.preco_unit) AS ValorTotal " + ; " FROM Vendas!pedidos Ped " + ; " INNER JOIN Vendas!clientes Cli " + ;

" " " " " " "

ON Cli.cod_cli = Ped.cod_cli " + ; INNER JOIN Vendas!itens Ite " + ; ON Ite.cod_ped = Ped.cod_ped" + ; INNER JOIN Vendas!produtos Pro " + ; ON Pro.cod_prod = Ite.cod_prod" + ; INNER JOIN Vendas!categoria Cat " + ; ON Cat.cod_cat = Pro.cod_cat"

.CommandText = lcSQL .AutoFit = .F. * define os campos que iro ser apresentados nas linhas da PivotTable *.ActiveView.RowAxis.InsertFieldSet(.ActiveView.FieldSets("entreg_cid")) * define os campos que iro ser apresentados nas colunas da PivotTable *.ActiveView.ColumnAxis.InsertFieldSet(.ActiveView.FieldSets("nome")) * adiciona um total ao conjunto de dados da PivotTable .ActiveView.AddTotal("Total", .ActiveView.FieldSets("[ValorTotal]").Fields(0), ; .Constants.plFunctionSum) ENDWITH thisform.Resize()

Cdigo-fonte da funo Active:WITH this.msChart && utiliza os objeto criado da classe mschart .DataSource = this.Parent.ptabela.pivotTable.OBJECT && habilita o objeto .AllowPropertyToolbox = .T. && propriedade toolbox habilitada .HasChartSpaceLegend = .T.&& legendas do grfico .HasChartSpaceTitle = .T. && titulo do grafico .Charts(0).Type = 3 .ChartSpaceTitle.Caption="Grfico" ENDWITHWITH this.pivotTable .AllowPropertyToolbox = .f. ENDWITH

O formulrio referente a identificao do usurio e seleo dos privilgios de acesso ao sistema mostrada no figura 8 sendo armazenada no arquivo com no entrada.scx:

Figura 8 Formulrio de Identificao do usurio.

O formulrio referente a interface inicial do sistema mostrada no figura 9 sendo armazenada no arquivo com no interface.scx:

Figura 9 Formulrio ilustrando a interface do sistema.