AgileKDD - CONTECSI

Propaganda
AgileKDD: AN AGILE PROCESS MODEL TO KNOWLEDGE DISCOVERY IN
DATABASES AND BUSINESS INTELLIGENCE SYSTEMATIZATION
Givanildo Santana do Nascimento
(Petrobras, Sergipe, Brasil) - [email protected]
Adicinéia Aparecida de Oliveira
(Universidade Federal de Sergipe, Sergipe, Brasil) - [email protected]
Abstract — In the context of knowledge-based economies and Knowledge Society, the
global competition is increasingly based on the capacity of transforming data into
information, information into knowledge and knowledge into value. Data, information and
knowledge constitute fundamental intangible assets for all organizations working in this
social and economical model. In this context, the mission of Software Engineering is to
produce systems able to process large volumes of data, transform them into relevant
knowledge and deliver them to customers, so they can make right decisions at the right
time. The development of this kind of systems must have the guidance of a process capable
of conduct the transformation of customers business requirements into explicit knowledge
and software products, observing harder time, budget and quality constraints. The
Knowledge Discovery in Databases and Business Intelligence systematization effort has
resulted in several process models. However, companies still face failures in determining
the process model used in their Knowledge Discovery in Databases and Business
Intelligence projects. The available processes still do not consider Software Engineering
fundamental capabilities as projects, requirements and changes managements disciplines.
Several existing processes are unsuitable to the ever-changing business environments or
lack of scientific experimentation in real cases, in order to confirm their qualities and
identify their shortcomings. The process proposed in this work, the AgileKDD, aims to
integrate the best practices of the main Knowledge Discovery in Databases processes with
an agile software process. The AgileKDD applicability was verified by a real case study, in
which common problems such as requirements changes and poor data quality strongly
influenced the project results. The case study pointed out some process improvement
needs, which were considered in AgileKDD refinement. The resulting refined process can
be applied as an adaptive and flexible framework to develop software systems capable of
discover knowledge from data and information. The process supports the early and
continuous delivery of value to the costumer by means of an iterative and incremental
lifecycle, immediate response to changes, as well as the adaptability and flexibility
intrinsic to agile processes.
Keywords: Software Process, Knowledge Discovery in Databases, Business Intelligence,
Agile Software Development.
I. INTRODUÇÃO
A Organização para a Cooperação Econômica e Desenvolvimento definiu as
economias, baseadas em conhecimento, como “economias que são diretamente baseadas na
produção, distribuição e uso de conhecimento e informação” (OECD, 1996). No contexto
das economias baseadas em conhecimento e, de forma mais ampla, na Sociedade do
Conhecimento, a competição global é cada vez mais baseada na capacidade de transformar
dados em informações, informações em conhecimento e conhecimento em valor. O
conhecimento equipara-se aos fatores tradicionais de produção – terra, capital, matériaprima, energia e mão-de-obra – no processo de criação de riqueza. Desta forma, dados,
informação e conhecimento constituem-se ativos intangíveis fundamentais para todas as
organizações que atuam neste modelo sócio-econômico. Os processos produtivos
tradicionais estão evoluindo para modelos de produção intensivos em informação e
conhecimento e esta é uma das principais preocupações dos gestores no século XXI
(BRASIL, 2010).
As empresas estão organizadas como grandes coleções de processos que consomem e
produzem quantidades crescentes de dados e informações (GONÇALVES, 2000). Os
dados têm a capacidade de acumular conhecimento sobre os processos de negócio e este
conhecimento, por sua vez, pode ser utilizado na análise e melhoria dos processos. De
acordo com Pressman (2006), ao longo da história, a computação nas organizações evoluiu
dos Centros de Processamento de Dados (CPD) para as Gerências de Tecnologia da
Informação e a grande maioria do software desenvolvido durante esse período teve como
finalidade processar dados e produzir informações. A Engenharia de Software, como
sustenta Pressman, tem o desafio de construir software que processe dados e informações e
produza conhecimento.
A Descoberta de Conhecimento em Bases de Dados (DCBD), ou Knowledge
Discovery in Databases (KDD), é o processo de busca e extração de conhecimento em
bases de dados (BOENTE, OLIVEIRA e ROSA, 2007). Os Sistemas de Descoberta de
Conhecimento em Banco de Dados (Sistemas de DCBD) apoiam a Gestão do
Conhecimento possibilitando a extração e a disseminação de conhecimento organizacional
oculto em grandes volumes de dados provenientes dos processos de negócio (DIAS, 2001).
O Business Intelligence (BI) integra uma categoria de aplicações e tecnologias
voltadas para a transformação de dados em informações e conhecimento (GOLFARELLI,
RIZZI e CELLA, 2004). Fayyad et al. (1996) definiram DCBD como o processo não
trivial de identificação de padrões válidos e potencialmente úteis, perceptíveis a partir dos
dados. A Mineração de Dados (MD) é uma das principais técnicas utilizada tanto no BI
quanto na DCBD, chegando a ser confundida com a própria DCBD (MARISCAL,
MARBÁN e FERNÁNDEZ, 2010).
Os Sistemas de DCBD são desenvolvidos a partir de tecnologias como BI e DCBD,
formando um arcabouço essencial para as organizações que competem no contexto sócioeconômico do conhecimento. Esses sistemas são vitais para organizações que desejam
desenvolver, integrar, gerenciar e compartilhar informações e conhecimento como ativos
indispensáveis para o alcance dos objetivos organizacionais. Por exemplo, os
investimentos feitos pela Continental Airlines em BI tiveram um Retorno sobre
Investimento, ou Return on Investment (ROI), equivalente a 1000%, atribuídos ao aumento
nas vendas e à redução de custos (ALNOUKARI et al., 2012; WATSON et al., 2006;
WIXOM et al., 2008).
Com o objetivo de sistematizar as atividades relacionadas à implementação de
Sistemas de DCBD, alguns modelos de processos e metodologias foram propostos. Os dois
modelos mais utilizados, citados na literatura e suportados por ferramentas, são o KDD
Process (FAYYAD et al., 1996) e o CRoss Industry Standard Process for Data Mining
(CRISP-DM) (CHAPMAN et al., 2000). Diversos outros processos foram propostos com o
mesmo objetivo, entretanto o KDD Process e o CRISP-DM continuaram sendo os
principais modelos e os outros processos são considerados variações deles (ALNOUKARI
e SHEIKH, 2012; MARISCAL, MARBÁN e FERNÁNDEZ, 2010; ALNOUKARI et al.,
2012). O KDD Process, o CRISP-DM e as suas variações são centrados nas técnicas de
MD e não contemplam ciclos de vida, fases, disciplinas, papeis, produtos de trabalho e
outros elementos tipicamente presentes na Engenharia de Sistemas de Software (KURGAN
e MUSILEK, 2006). Entretanto, tais elementos são indispensáveis no desenvolvimento de
Sistemas de DCBD.
Por isso, Dias (2001) propôs um modelo para formalização do processo de
desenvolvimento de Sistemas de DCBD. Nesse modelo, os dados são armazenados em um
Data Warehouse (DW)1 antes de serem submetidos aos algoritmos de mineração de dados.
A partir do modelo de processo proposto por Dias (2001), Valentin (2006) descreveu uma
arquitetura de referência para Sistemas de DCBD. Sobre esta arquitetura de referência, foi
definido o Unified Process for Knowledge Discovery in Database (UPKDD) (HERDEN,
2007; HERDEN et al., 2011), um processo de software baseado no Processo Unificado
(PU)2 para aplicações analíticas centradas em objetivos de descoberta de conhecimento. O
UPKDD oferece uma sequência ordenada e disciplinada de atividades para especificação,
projeto, implementação e evolução de Sistemas de DCBD.
1.1 Problemática e Hipótese
Apesar da prioridade dada pelas organizações à DCBD nos últimos anos, dos
processos, metodologias e ferramentas criados, muitos projetos de DCBD não atingiram os
seus objetivos ou foram cancelados (MARISCAL, MARBÁN e FERNÁNDEZ, 2010). O
agravamento da crise financeira internacional provocou cortes significativos nos
orçamentos de Tecnologia da Informação (TI) das organizações a partir de 2009,
privilegiando iniciativas mais produtivas e econômicas, em detrimento das que possuem
maior risco e maior prazo para ROI. Por esses motivos, o BI deixou de ocupar o primeiro
lugar na lista das dez maiores prioridades em TI em 2010 e 2011, caindo para o quinto
lugar na lista (GARTNER GROUP, 2005, 2006, 2007, 2008, 2009, 2010, 2011). Outro
estudo revelou que mais de cinquenta por cento dos projetos de BI tiveram baixa aceitação
ou falharam devido à baixa qualidade dos dados e à falta de envolvimento dos clientes
(GARTNER GROUP, 2005).
Assim como o desenvolvimento de sistemas de processamento operacional, o
desenvolvimento de sistemas de processamento analítico, aqui denominados Sistemas de
DCBD, deve ser guiado por processos de software. No entanto, as organizações ainda
falham na determinação do modelo de processos utilizado para o desenvolvimento de
Sistemas de DCBD (ALNOUKARI, 2011). À medida que os requisitos de negócio tornamse mais dinâmicos e incertos, os processos de software tradicionais tornam-se menos
adequados ao desenvolvimento deste tipo de sistemas. Larson (2012) afirma que os
1
O Data Warehouse é uma coleção de dados orientada por assuntos, integrada, não-volátil e variante em
relação ao tempo, que tem por objetivo apoiar os processos de tomada de decisão (INMON, 1997).
2
O Processo Unificado determina um conjunto de atividades necessárias para transformar requisitos em
sistemas de software, de forma iterativa e incremental (JACOBSON, BOOCH e RUMBAUGH, 1999).
processos tradicionais de desenvolvimento de software não são efetivos no
desenvolvimento de Sistemas de DCBD porque são incompatíveis com a dinâmica e a
evolução constante dos ambientes de negócios corporativos. O processo adotado para a
implementação da maioria dos projetos de DCBD é o CRISP-DM, sendo este o padrão de
facto. Contudo a adoção do CRISP-DM vem caindo devido à ausência de atividades
relacionadas ao gerenciamento de projetos, requisitos e mudanças e à Engenharia de
Software de forma geral (MARBÁN et al., 2008).
Portanto, o desenvolvimento de Sistemas de DCBD necessita de um processo de
software que garanta o envolvimento do cliente em todas as etapas e a qualidade mínima
dos dados operacionais, antecipe o retorno do investimento, contenha disciplinas para
gerenciamento de projetos, requisitos e mudanças. O processo precisa ser suficientemente
simples para ser compreendido e seguido por seus praticantes, sem aumentar a
complexidade natural dos projetos de DCBD. Essas características esperadas de um
processo para desenvolvimento de Sistemas de DCBD vão ao encontro dos valores
presentes no Manifesto para o Desenvolvimento Ágil de Software (BECK et al., 2001).
Estes valores estão presentes nos processos ágeis de software, os quais são caracterizados
por flexibilidade, adaptabilidade, comunicação face a face e fluxo contínuo de
conhecimento entre as equipes de projetos (ALZOABI, 2012; LARSON, 2012).
A hipótese deste trabalho é: um processo ágil de software pode aumentar o fator de
sucesso dos projetos de desenvolvimento de Sistemas de DCBD em cenários nos quais há
mudanças nos requisitos e baixa qualidade dos dados operacionais.
1.2 Contribuições Esperadas
Com o desenvolvimento deste trabalho, podem-se apontar as seguintes contribuições:
 Avaliação dos processos de DCBD existentes;
 Adequação dos processos de DCBD a um processo ágil de Engenharia de
Software;
 Definição de um processo ágil de software para a Engenharia de Sistemas de
DCBD;
 Melhoria do fator de sucesso dos projetos de Sistemas de DCBD, minimizando os
riscos de fracasso causados por mudança nos requisitos durante os projetos e
baixa qualidade dos dados operacionais; e,
 Melhoria da satisfação dos clientes dos projetos de Sistemas de DCBD por meio
da entrega antecipada e contínua de produtos de software, antecipando, por
conseguinte, o retorno do investimento.
1.3 Organização do artigo
Este artigo está organizado da seguinte forma: a seção um, que corresponde a esta
introdução, trata da contextualização, problemática, hipótese, objetivos, contribuições
esperadas e organização deste artigo. A seção dois apresenta o enquadramento
metodológico desta pesquisa. A seção três aborda os processos para descoberta de
conhecimento em bancos de dados existentes. A seção quatro descreve o processo
AgileKDD, suas fases, atividades e papeis. O estudo de caso que confirmou a
aplicabilidade do AgileKDD é apresentado na seção cinco. A seção seis explica o
refinamento do processo AgileKDD a partir dos pontos de melhoria identificados no
estudo de caso. Finalmente, a seção sete apresenta as conclusões, as considerações finais,
as principais contribuições, limitações deste trabalho e as oportunidades de trabalhos
futuros.
II. METODOLOGIA
A Figura 1 apresenta o enquadramento metodológico desta pesquisa. Sob o ponto de
vista da sua natureza, esta pesquisa é aplicada, pois objetiva gerar conhecimentos para
aplicação prática, dirigidos à solução de problemas específicos. Quanto à forma de
abordagem do problema, esta pesquisa é qualitativa3, pois é baseada na interpretação dos
resultados e na atribuição de significados descritivos (MIGUEL, 2007). Na pesquisa
qualitativa, diferentemente da quantitativa, o pesquisador busca compreender os
fenômenos observando-os, interpretando-os e descrevendo-os (MELLO et al., 2012).
Com relação aos seus objetivos, esta pesquisa é exploratória, pois visa proporcionar
maior familiaridade com o problema com vistas a torná-lo explícito ou a construir
hipóteses (GIL, 1996). Ela envolve levantamento bibliográfico e análise de exemplos que
estimulam a compreensão. Este tipo de pesquisa assume, em geral, as formas de revisões
bibliográficas e estudos de caso (SILVA, 2005). Sob a ótica dos procedimentos técnicos,
esta pesquisa utilizará Estudo de Caso4 para a validação de hipóteses. Para Severino
(2007), esta modalidade de pesquisa científica se concentra no estudo de um caso
particular, considerado representativo de um conjunto de casos análogos. Portanto, esta
pesquisa é Aplicada, Qualitativa, Exploratória, com Estudo de Caso.
O estudo de caso é um estudo de natureza empírica que investiga um determinado
fenômeno dentro de um contexto real. Trata-se de uma análise aprofundada de um ou mais
objetos (casos), para que permita o seu amplo e detalhado conhecimento (GIL, 1996;
MIGUEL, 2007). Seu objetivo é aprofundar o conhecimento acerca de um problema não
suficientemente definido, visando estimular a compreensão, sugerir hipóteses e questões ou
desenvolver a teoria. Os estudos de casos podem ser classificados segundo a quantidade de
casos como caso único ou casos múltiplos. A principal tendência das pesquisas realizadas
com estudo de caso é que estes tentem esclarecer o motivo pelo qual foram tomadas uma
decisão ou um conjunto de decisões, como foram implementadas e como os resultados
foram alcançados (YIN, 2001).
3
Em pesquisas qualitativas os pesquisadores analisam os resultados indutivamente, sem utilizarem
obrigatoriamente de métodos estatísticos, como acontece nas pesquisas quantitativas (MIGUEL, 2007).
4
Pesquisas com estudos de casos podem ser caracterizadas como exploratórias, pois provêem ao
pesquisador e sua audiência um maior conhecimento sobre o tema, relacionando um caso real às teorias do
assunto (MIGUEL, 2007).
Enquadramento
Metodológico
Natureza da
pesquisa
Abordagem do
problema
Natureza do
objetivo
Procedimentos
técnicos
Aplicada
Qualitativa
Exploratória
Estudo de
caso
Básica
Quantitativa
Descritiva
Pesquisaação
Qualiquantitativa
Explanatória
Pesquisa
bibliográfica
Pesquisa
documental
Pesquisa
participante
Figura 1 – Enquadramento metodológico desta pesquisa.
A Figura 2 ilustra o método de condução de estudos de casos definido por Miguel
(2007) e adotado neste trabalho. Primeiramente, foi definida uma estrutura conceitualteórica acerca do tema estudado. Em seguida, planejou-se a execução do caso ou dos casos
que serão trabalhados. Na sequência, o caso foi executado e os dados resultantes da
execução do caso foram coletados e analisados. Finalmente, esta dissertação foi redigida
para descrever a execução e as conclusões do trabalho.
Este trabalho foi executado de acordo com o seguinte roteiro:
(i)
Definição da estrutura conceitual-teórica: revisão da literatura relacionada aos
processos de BI e DCBD, associando-os aos processos da Engenharia de
Software. Ao final desta fase, foi elaborado o processo AgileKDD, visando à
solução dos problemas encontrados nos processos estudados.
(ii)
Planejamento do caso: foi selecionado um caso real de uma necessidade de
Sistema de DCBD em uma empresa integrada de energia, para ser
desenvolvido de acordo com o processo AgileKDD.
(iii)
Condução do piloto: o Sistema de DCBD foi desenvolvido visando à
confirmação da aplicabilidade do processo AgileKDD.
(iv)
Coleta de dados: durante a condução do piloto, os dados relativos ao
desenvolvimento do produto com base no processo AgileKDD foram
coletados.
(v)
Análise dos dados: os dados coletados foram analisados e, com base nesta
análise, o processo AgileKDD foi refinado.
(vi)
Geração do relatório: a presente dissertação foi escrita com a finalidade de
descrever todas as etapas da pesquisa.
Figura 2 – Método de condução de estudos de casos. Fonte: Miguel (2007).
III. PROCESSOS PARA DESCOBERTA DE CONHECIMENTO EM BANCOS
DE DADOS
O esforço de sistematização da DCBD resultou em uma variedade de processos, cuja
evolução, desde a definição do KDD Process em 1993, a definição do CRISP-DM em
2000 e do ASD-BI em 2012, está ilustrada na Figura 3. Entre todos os processos
apresentados nesta figura, o KDD Process e o CRISP-DM destacam-se como os mais
adotados, mais citados na literatura e suportados por ferramentas de DCBD. Esses dois
processos são considerados os padrões de facto na área da DCBD (KURGAN e
MUSILEK, 2006; MARISCAL, MARBÁN e FERNÁNDEZ, 2010; ALNOUKARI e
SHEIKH, 2012; ALNOUKARI et al., 2012).
Outro processo que merece destaque por associar as atividades da DCBD às práticas
da Engenharia de Software é o Unified Process for Knowledge Discovery in Database, o
qual é baseado no Processo Unificado. O KDD Process, o CRISP-DM e o UPKDD serão
apresentados individualmente e, ao final do capítulo, serão comparados com o objetivo de
destacar as lacunas deixadas por eles.
3.1 KDD Process
O KDD Process foi proposto por Fayyad et al. (1996) como o resultado da primeira
iniciativa de sistematização da DCBD, caracterizando-a como uma atividade
multidisciplinar que envolve Bancos de Dados, Estatística, Reconhecimento de Padrões,
Inteligência Computacional, entre outras disciplinas. O termo Process está relacionado à
ideia de que a DCBD envolve um conjunto de passos que precisam ser executados para a
descoberta de conhecimento útil a partir de um conjunto de dados.
Figura 3 – Evolução dos processos de DCBD, do KDD Process ao ASD-BI.
Fonte: Adaptado de Mariscal, Marbán e Fernández (2010).
O KDD Process é um processo iterativo e interativo, composto por nove passos que
transformam dados operacionais em ações baseadas no conhecimento descoberto. O
processo é interativo porque se não houver mecanismos de comunicação com o usuário,
principalmente no domínio da aplicação, para a avaliação de padrões interessantes, a busca
torna-se inválida e inadequada. É iterativo porque possibilita repetições entre quaisquer dos
seus nove passos. A natureza iterativa proporciona maior interação do usuário ao processo
de descoberta, visto que não é suficiente apenas seguir passos, mas sim interagir com o
processo de descoberta várias vezes até que o conhecimento esperado pelo especialista seja
encontrado. As iterações dos passos do processo indicam mais interação do usuário e a
obtenção de conhecimento mais preciso, já que os refinamentos só podem ser realizados
pelos usuários e não automaticamente pelas técnicas de mineração de dados (HERDEN,
2007).
O primeiro passo tem como objetivo entender o domínio de negócio do qual se
deseja extrair conhecimento. No segundo passo um conjunto de dados no qual será
aplicada a descoberta de conhecimento é selecionado. Em seguida é realizada a limpeza
para remoção de ruídos e inconsistências dos dados, além do preenchimento de valores
importantes ausentes nos dados originais. No quarto passo é feita a redução no número de
variáveis consideradas pelo processo de DCBD e a busca por representações invariantes
dos dados, nas quais a MD é infrutífera. Continuando o fluxo do processo, os objetivos do
projeto de DCBD, definidos no primeiro passo, são relacionados a um método de MD, para
que sejam selecionados os algoritmos de MD no passo seguinte (FAYYAD et al., 1996).
O sétimo passo é o da MD, no qual algoritmos procuram por relações de similaridade
ou discordância entre dados, com o objetivo de encontrar padrões, irregularidades e regras.
Os resultados da MD são interpretados por pessoas que possuem conhecimento tácito
acerca do domínio de negócio. Caso sejam encontrados padrões inválidos, incoerentes ou
os objetivos do projeto não sejam plenamente atingidos, volta-se a qualquer dos passos
anteriores para que sejam realizados ajustes, até que sejam satisfeitas todas as expectativas
do usuário. Finalmente, o conhecimento extraído dos dados é utilizado para subsidiar a
tomada de decisões, podendo ser também representado, documentado e enviado ao seu
público de interesse (FAYYAD et al., 1996). Uma possibilidade não prevista por Fayyad et
al. (1996) é tradução do conhecimento descoberto para uma linguagem de representação
do conhecimento, a fim de preservá-lo em bases de conhecimento.
A Figura 4 ilustra o KDD Process com foco nas transformações realizadas nos dados
até atingirem o grau de conhecimento que conduz à ação. O processo foi resumido na
figura aos cinco passos nos quais os dados são transformados em informações e
conhecimento. O passo 1 foi suprimido; o passo 2 é exibido com o rótulo de Seleção; os
passos 3 e 4 são resumidos como Transformação; os passos 5, 6 e 7 são apresentados como
Data Mining; o passo 8 é apresentado sem adaptações; e, finalmente, o passo 9 é
representado pelas ações tomadas com base no conhecimento descoberto.
Figura 4 – KDD Process resumido. Fonte: Fayyad et al. (1996).
O passo 7, Mineração de Dados, é o mais abordado pela literatura. Muitos trabalhos
abordam as definições e otimizações dos algoritmos e ferramentas de mineração de dados.
Entretanto, os outros passos são tão importantes quanto o sétimo para o sucesso de um
projeto de DCBD (FAYYAD et al., 1996). O algoritmo mais eficiente para mineração de
dados aplicado sobre um conjunto de dados mal selecionado não resultará em
conhecimento útil. Da mesma maneira, a presença de ruídos em dados bem selecionados
levará a distorções nos resultados da mineração de dados. Por fim, se não forem
interpretados, os padrões minerados não serão convertidos em conhecimento e ação.
3.2 Cross-Industry Standard Process for Data Mining – CRISP-DM
O Cross-Industry Standard Process for Data Mining (CRISP-DM) é um modelo de
processos iterativo, genérico e padronizado para o uso de mineração de dados
(CHAPMAN et al., 2000). O CRISP-DM organiza o processo de MD em seis fases,
descrevendo um roteiro a ser seguido pelas organizações que desejam planejar e executar
projetos de MD. As fases e o ciclo iterativo descrito pelo processo são ilustrados pela
Figura 5.
A fase inicial do processo, Entendimento do Negócio, visa o entendimento dos
objetivos do projeto e dos requisitos, sob o ponto de vista do negócio. Com base nesse
entendimento, o problema de mineração de dados é definido e um plano preliminar do
projeto é produzido. A fase Entendimento dos Dados inicia com uma coleta de dados e
prossegue com atividades que visam descrever e explorar os dados, identificar problemas
de qualidade e detectar subconjuntos interessantes para formar hipóteses da informação
escondida. A terceira fase, Preparação de Dados, cobre todas as atividades de construção
de um conjunto de dados (dataset) de trabalho. As atividades desta fase incluem a seleção,
a limpeza, o preenchimento, a integração e a formatação dos dados (CHAPMAN, 2000).
As fases do CRISP-DM e as atividades prescritas para elas estão apresentadas na Figura 5.
Na fase Modelagem, técnicas de modelagem são selecionadas e aplicadas e seus
parâmetros são ajustados para valores ótimos. Modelagem aqui significa encontrar um ou
mais modelos que sejam compatíveis com os dados submetidos à MD. Ou seja, os modelos
gerados correspondem aos padrões e às regras induzidos a partir dos dados. Geralmente,
existem várias técnicas para o mesmo tipo de problema de mineração de dados, tais como
indução de árvores de decisão, geração de redes neurais, regras de associação, entre outras.
Algumas dessas técnicas têm requisitos específicos quanto à formatação dos dados, por
isso pode ser necessário retornar à fase de preparação de dados. Nesta fase os conjuntos de
dados de testes e treinamento são separados. O conjunto de testes tem a finalidade de
assegurar a qualidade e a validade do modelo. A execução das técnicas de MD
propriamente ditas ocorre na atividade Construir Modelo de Dados. A última atividade
desta fase compreende a avaliação do modelo gerado (CHAPMAN, 2000).
Entendimento do
Negócio
Entendimento
dos Dados
Preparação
dos Dados
Modelagem
Determinar
Objetivos do
Negócio
Coleta
Inicial de
Dados
Selecionar
Dados
Selecionar
Técnicas de
Modelagem
Avaliar
Situação
Descrever
Dados
Limpar
Dados
Technique
Gerar Projeto
de Testes
Determinar
Objetivos da
MD
Explorar
Dados
Construir
Dados
Construir
Modelo
Produzir
Plano de
Projeto
Verificar
Qualidade
dos Dados
Integrar
Dados
Avaliar
Modelo
Avaliação
Utilização
Avaliar
Resultados
Planejar
Publicação
Revisar
Processo
Planejar
Monitoram. e
Manutenção
Determinar
Próximos
Passos
Produzir
Relatório
Final
Revisar
Projeto
Formatar
Dados
Figura 5 – Fases e atividades do CRISP-DM. Fonte: Shearer (2000).
Na fase Avaliação, o modelo (ou os modelos) construído na fase anterior é avaliado e
são revistos os passos executados na sua construção para se ter certeza de que o modelo
representa os objetivos do negócio identificados na primeira fase. O propósito principal é
determinar se existe algum objetivo de negócio importante que não foi alcançado. Após o
modelo ser construído e avaliado, ele é publicado e interpretado na fase Utilização. Nesta
fase, podem-se recomendar ações e decisões a serem tomadas com base nos resultados
modelados ou pode-se repetir o fluxo com um novo conjunto de dados (DIAS, 2001).
O projeto CRISP-DM 2.0 é uma proposta de evolução do CRISP-DM pela inclusão
do suporte a novos tipos de dados como texto e conteúdo Web, além de novas técnicas
para o pré-processamento e a análise dos dados. O projeto também prevê a integração da
DCBD com as técnicas de Gerenciamento de Processos de Negócio. O CRISP-DM 2.0
também modificará os conjuntos de fases, atividades e produtos de trabalho do processo
atual (MARISCAL, MARBÁN e FERNÁNDEZ, 2010).
3.3 Unified Process for Knowledge Discovery in Database – UPKDD
O Unified Process for Knowledge Discovery in Database (UPKDD) é definido como
um processo de software para aplicações de tecnologias analíticas e centradas em objetivos
de descoberta de conhecimento (HERDEN, 2007). O UPKDD tem como referências
principais os seguintes processos, arquiteturas e práticas: (1) disciplinas de DCBD segundo
o KDD Process; (2) definição e implementação da arquitetura de DW segundo a Data
Mart Bus Architecture; (3) Práticas de ES segundo o PU; e (4) conjunto de ElementosChave – artefatos, papeis e atividades – das áreas de processo, arquitetura e implementação
de soluções de sistemas de apoio à decisão. Os princípios, as fases, os workflows e também
os elementos-chave do UPKDD, são similares aos estabelecidos no processo de software
PU (HERDEN et al., 2011).
O UPKDD divide-se em duas fases: Concepção e Elaboração. As atividades do
processo estão distribuídas nas disciplinas de Requisitos, Análise e Projeto. O processo não
considera as disciplinas de Implementação e Teste, nem as fases de Construção e Transição
do PU, devido às incertezas e às dependências do ambiente de implantação do Sistema de
DCBD, também porque o UPKDD nada acrescenta a essas fases e disciplinas em relação
ao PU. O processo é modelado em linguagem UML, com os diagramas de pacotes,
atividades, caso de uso e classes, para representar a visão geral e as disciplinas do processo
(HERDEN et al., 2011).
Na fase de Concepção são definidos a visão do sistema, as listas de requisitos
funcionais e não funcionais e os principais modelos de análise. Também é realizada a
caracterização das ferramentas que serão utilizadas na implementação, juntamente com o
modelo de projeto. Na fase Elaboração ocorre o detalhamento dos casos de usos, a
definição da arquitetura do sistema, com foco na arquitetura do DW. Finalmente, o modelo
dimensional do DW é elaborado.
A Figura 6 mostra uma visão geral do UPKDD em um diagrama de atividades. O
fluxo inicia na disciplina de Requisitos, na qual as expectativas do cliente são mapeadas, a
visão do projeto é definida e os dados operacionais disponíveis são examinados. Na
disciplina de Análise, os casos de uso são detalhados e na disciplina Projeto, a arquitetura
dimensional do sistema é definida e o modelo dimensional é elaborado.
Figura 6 – Diagrama de atividades do processo UPKDD. Fonte: Herden et al. (2011).
O UPKDD define os seguintes papeis para as pessoas envolvidas nos projetos:
 Engenheiro de Conhecimento – responsável pela aquisição de conhecimento a
partir das informações de negócio do sistema.
 Especialista de KDD – implementa aplicações analíticas de MD e OLAP em
resposta ao contexto de tomada de decisão.
 Usuário final ou Tomador de decisão – visualiza as informações e o
conhecimento descoberto, assim como determina os requisitos do projeto.
Sob o ponto de vista da arquitetura de software, o UPKDD utiliza uma arquitetura de
referência para Sistemas de DCBD definida por Valentin (2006). Essa arquitetura descreve
o ciclo de vida dos dados desde as Fontes Operacionais, passando por uma Área de Estágio
até serem preservados definitivamente em um DW. O DW passa a ser a fonte de dados
preferencial para as operações de OLAP e MD. Os padrões, regras e tendências
identificados na análise dos dados, são mantidos em uma base de conhecimento, definida
genericamente como Armazém de Resultados.
No UPKDD o DW é estruturado de acordo com a arquitetura Data Mart Bus
Architecture, segundo Kimball e Ross (2002). Desta forma, o DW é composto por uma
coleção de DM e não existe a figura do repositório central corporativo de dados
(HERDEN, 2007; HERDEN et al., 2011).
3.4 Comparação dos processos
Os três processos descritos neste capítulo foram comparados quanto às suas fases,
disciplinas, arquitetura e papeis. Também foram observadas as capacidades relativas à
gestão de projeto, configuração e mudança. Outro fator analisado foi a capacidade de
controlar o ciclo de vida dos dados desde as fontes operacionais, passando pelo DW e
culminando numa base de conhecimento.
Quanto ao número de fases, o KDD Process é dividido em nove fases, o CRISP-DM
em seis e o UPKDD em duas. O KDD Process e o CRISP-DM não especificam as
disciplinas nas quais o esforço do projeto é distribuído. Já o UPKDD especifica as
disciplinas Requisitos, Análise e Projeto. Este mesmo processo está alicerçado no PU e no
KDD Process, utiliza a arquitetura de referência de Valentin (2006) e, como arquitetura de
DW, a Data Mart Bus Architecture (KIMBALL e ROSS, 2002). No UPKDD o Armazém
de resultados tem propósito semelhante ao de uma base de conhecimento. Quanto aos
papeis, o UPKDD define o Engenheiro de conhecimento, o Especialista de KDD e o
Usuário final ou tomador de decisão. Entre todas essas propriedades, somente as fases são
especificadas no KDD Process e no CRISP-DM.
Tanto o KDD Process quanto o CRISP-DM utilizam a MD como principal forma de
exploração analítica dos dados. O KDD Process, inclusive, recomenda que as técnicas de
MD sejam aplicadas sobre um ambiente DW, visto que este tipo de ambiente apresenta
condições de qualidade e acesso aos dados favoráveis para a MD. No UPKDD a principal
forma de exploração dos dados é por ferramentas OLAP operando sobre os DM que
compõem o DW.
As fases 1 (Entender o domínio da aplicação) e 2 (Selecionar um conjunto de dados
alvo) do KDD Process são equivalentes às fases 1 (Entendimento do Negócio) e 2
(Entendimento dos Dados) do CRISP-DM. Já no UPKDD essa equivalência ocorre com a
fase 1 (Concepção). As fases 3 (Limpeza e pré-processamento dos dados) e 4 (Redução e
projeção de dados) do KDD Process são equivalentes à fase 3 (Preparação de Dados) do
CRISP-DM e à 2 (Elaboração) do KDD Process.
Já as fases 5 (Relacionar os objetivos do projeto a um método de MD), 6 (Escolha do
algoritmo de MD) e 7 (Mineração de dados) do KDD Process correspondem à fase 4
(Modelagem) do CRISP-DM. As fases 8 (Interpretação) e 9 (Utilização do conhecimento
descoberto) do KDD Process possuem os mesmos propósitos das fases 5 (Avaliação) e 6
(Utilização) do CRISP-DM, respectivamente. Todas essas fases não possuem
correspondência no UPKDD.
O controle do ciclo de vida dos dados é realizado parcialmente pelo UPKDD. Na
arquitetura empregada neste processo, o repositório histórico dos dados continua sendo as
bases operacionais, uma vez que não existe a figura do DW corporativo normalizado e de
granularidade atômica. O processo também não especifica a estrutura do armazém de
resultados para que ele possa ser considerado uma base de conhecimento. Para isto, seria
necessária a utilização de técnicas para representação e preservação do conhecimento.
No tocante às capacidades para gestão de projetos e gestão de configuração e
mudança, nenhum dos três processos contempla. E, finalmente, esses processos não
possuem ciclos de vida iterativos e incrementais, como é comum se observar em processos
considerados ágeis.
Na comparação entre as fases dos processos de DCBD e de ES, também é possível
estabelecer relações de correspondência, como mostra o Quadro 1. As fases do KDD
Process, do CRISP-DM e do UPKDD apresentam similaridades às do Processo Unificado
e do OpenUP (SANTOS, 2009; HRISTOV, 2011). No entanto, somente no processo ágil
de software OpenUP existem disciplinas específicas para gestão de projetos, configuração
e mudanças.
Quadro 1 – Comparação entre as fases dos processos de DCBD e os processos de
software.
KDD
Process
1 – Entender o domínio da
aplicação.
2 – Selecionar um conjunto
de dados alvo.
3 – Limpeza e préprocessamento dos dados.
CRISP-DM
UPKDD
Processo
Unificado
OpenUP
1 – Concepção.
1 – Concepção.
1 – Concepção.
2 – Elaboração.
2 – Elaboração.
2 – Elaboração.
Não possui.
3 – Construção.
3 – Construção.
Não possui.
4 – Transição.
4 – Transição.
1 – Entendimento do
Negócio.
2 – Entendimento dos
Dados.
3 – Preparação de Dados.
4 – Redução e projeção de
dados.
Fases
5 – Relacionar os objetivos
do projeto a um método de
MD.
6 – Escolha do algoritmo
de MD.
4 – Modelagem.
7 – Mineração de dados.
8 – Interpretação.
Faz Gestão de
Projeto?
Faz Gestão de
Configuração e
Mudança?
É iterativo e
incremental?
5 – Avaliação.
9 – Utilização do
conhecimento descoberto.
6 – Utilização.
Não.
Não.
Não.
Sim.
Sim.
Não.
Não.
Não.
Não.
Sim.
Não.
Não.
Não.
Não.
Sim.
O último fator a ser mencionado na comparação diz respeito à utilização dos
processos de DCBD em projetos acadêmicos e industriais. Segundo Kurgan e Musilek
(2006), a maior parte das utilizações do KDD Process ocorreram em projetos acadêmicos,
enquanto o CRISP-DM teve maior aceitação na indústria. Foi encontrada uma referência
sobre a utilização do UPKDD em um projeto comercial, porém com o propósito acadêmico
de avaliar experimentalmente o processo por meio de um estudo de caso (HERDEN et al.,
2011).
IV. AGILEKDD: UM PROCESSO ÁGIL PARA A ENGENHARIA DE SISTEMAS
DE DESCOBERTA DE CONHECIMENTO
O desenvolvimento de Sistemas de DCBD necessita da definição de processos que
contemplem tanto os aspectos de Banco de Dados e Inteligência Computacional quanto as
disciplinas da ES. Um processo dessa natureza, que também seja ágil e disciplinado, pode
melhorar o fator de sucesso dos projetos de DCBD e, consequentemente, a promoção deste
tipo de sistemas nas organizações. Desta forma, finalmente será possível dar o passo
seguinte ao longo do espectro traçado por Pressman (2006) e desenvolver sistemas que
processem dados e informações e produzam conhecimento.
4.1 Introdução ao processo AgileKDD
O AgileKDD é um processo ágil e disciplinado para o desenvolvimento de Sistemas
de DCBD, alicerçado pelos processos OpenUP, KDD Process e CRISP-DM
(NASCIMENTO e OLIVEIRA, 2012a, 2012b). O OpenUP fornece o suporte relativo à ES,
agregando também os valores e os princípios presentes no Manifesto para o
Desenvolvimento Ágil de Software, especialmente a colaboração e a comunicação
contínua entre os atores do processo, sem abrir mão das disciplinas de gerenciamento. Já o
KDD Process e o CRISP-DM contribuem com os elementos específicos da DCBD
relativos ao pré-processamento e mineração dos dados e ao pós-processamento do
conhecimento descoberto.
O esforço pessoal em um projeto AgileKDD está organizado em micro-incrementos.
Cada micro-incremento representa uma unidade de trabalho que produz um passo do
progresso do projeto. O processo aplica a colaboração intensiva à medida que o sistema é
desenvolvido incrementalmente por uma equipe comprometida e auto-organizada. Estes
micro-incrementos fornecem um ciclo de feedback extremamente curto que direciona
decisões adaptativas durante cada iteração.
O AgileKDD divide o projeto em iterações planejadas e com intervalos de tempo
definidos, medidos em semanas. As iterações direcionam a equipe na entrega incremental
do valor aos stakeholders de uma forma previsível. O plano de iteração define o que deve
ser entregue durante a iteração e o resultado é uma versão demonstrável ou entregável do
produto de software. As equipes dos projetos se auto-organizam para definir como atingir
os objetivos da iteração e entregar o resultado. Elas fazem isso definindo e distribuindo
tarefas detalhadas de uma lista de itens de trabalho. O processo define um ciclo de vida de
iteração que estrutura como os micro-incrementos são aplicados para entregar versões
estáveis e coesas do sistema, desenvolvidas incrementalmente até que todos os objetivos da
iteração sejam alcançados.
O ciclo de vida de projeto fornece aos stakeholders e à equipe visibilidade e pontos
de decisão durante a execução do projeto. Este ciclo possibilita uma efetiva supervisão do
projeto e pontos de controle para avaliação de resultados e revisão do planejamento. Um
plano de projeto define o ciclo de vida e o resultado final é uma aplicação liberada.
4.2 Fases e atividades do AgileKDD
O AgileKDD estrutura o ciclo de vida do projeto em quatro fases: Concepção,
Elaboração, Construção e Transição. A Figura 7 apresenta uma visão geral das fases e
atividades do AgileKDD. Resumidamente, o processo recebe como insumos os requisitos
do projeto, a documentação e os dados dos sistemas operacionais e produz incrementos de
software entregues sucessivamente ao cliente, até que todos os requisitos viáveis sejam
contemplados.
4.2.1 Concepção
A fase de Concepção (I) é a primeira das quatro fases no ciclo de vida do
AgileKDD. Esta fase é representada na Figura 7 pela letra I (Inception). Desta fase resulta
um entendimento geral sobre a visão, o escopo, os objetivos, a seleção dos dados alvo, a
viabilidade e o planejamento geral do projeto. Os projetos podem ter uma ou mais
iterações nesta fase, cujo foco recai na identificação dos requisitos, na comunicação com o
cliente e no planejamento do projeto. Esta fase recebe como entradas os requisitos do
projeto, os modelos de processos de negócio, os Diagramas Entidade-Relacionamento
(DER), os dicionários de dados e os casos de uso dos sistemas transacionais, além das
fontes de dados operacionais, sobre as quais os processos de descoberta de conhecimento
serão executados. A fase de Concepção tem como saídas o documento de visão, o glossário
inicial do projeto, a avaliação de viabilidade e riscos, o plano de projeto e os protótipos.
Figura 7 – Fases e atividades do AgileKDD inicial.
As atividades entender o domínio da aplicação (I1) e identificar a visão e os
objetivos do projeto de DCBD (I2) estão relacionadas à disciplina Gerência de Requisitos.
A atividade entender o domínio da aplicação tem como objetivo principal analisar e
desenvolver um conhecimento acerca do domínio de negócios no qual a aplicação está
inserida. Esse conhecimento pode ser obtido em modelos de processos de negócio, na
documentação dos sistemas transacionais, em entrevistas com os stakeholders e qualquer
outra técnica de elicitação de requisitos. Um dos produtos de trabalhos criados nesta
atividade é o glossário inicial do projeto, um documento no qual os principais termos e
conceitos envolvidos no sistema são definidos.
A atividade identificar a visão e os objetivos do projeto de DCBD (I2) tem como
principal saída o documento de visão do projeto. A visão do projeto fornece uma descrição
de alto nível para os requisitos funcionais e as restrições de projeto do sistema. A essência
do sistema é apresentada e serve como entrada para o processo de aprovação do projeto,
comunicando o propósito e os objetivos gerais do sistema.
Na atividade selecionar um conjunto de dados alvo (I3), um conjunto de dados no
qual será aplicada a descoberta de conhecimento é selecionado a partir das fontes de dados
operacionais. Em geral, esses dados são obtidos nos bancos de dados operacionais dos
sistemas OLTP, num subconjunto das tabelas mantidas por estes sistemas.
A atividade gerir projeto, configuração e mudanças (I4) tem o objetivo principal de
criar os planos de projeto e de configuração (versionamento, rótulos, ramos, etc.), bem
como fazer a gestão das mudanças que o projeto ou a iteração provocarão nos dados e nos
softwares existentes. Além de criar estes planos, o gerente de projeto avalia a viabilidade e
os riscos do projeto com a equipe e atualiza Avaliação inicial de risco. A lista de riscos
ajudará a equipe na priorização do que deve ser feito em cada iteração. Os riscos elevados
são direcionados para as iterações iniciais.
4.2.2 Elaboração
A fase de Elaboração (E) tem foco na análise e no projeto (design) do sistema, na
comunicação com o cliente e na definição da arquitetura. Os insumos desta fase são as
entradas e saídas da fase de Concepção. As saídas da fase de Elaboração compreendem a
descrição da arquitetura do software, os modelos de DW e DM, os mapeamentos de origem
dos dados e os dados pré-processados.
As atividades limpeza e pré-processamento dos dados (E1) e redução e projeção de
dados (E2) preparam os dados operacionais para o processamento analítico e a mineração
de dados. O processo de preparação consiste na remoção de inconsistências,
preenchimento de dados ausentes, agregação, redução da granularidade, entre outras
tarefas inerentes ao pré-processamento dos dados.
A atividade definir arquitetura (E3) especifica como os componentes e módulos do
sistema serão integrados. Os sistemas desenvolvidos segundo o processo AgileKDD têm o
DW estruturado de acordo com a Hub and Spoke Architecture (INMON, 1997; INMON,
STRAUSS e NEUSHLOSS, 2008). O processamento analítico e a mineração dos dados
serão realizados por aplicações conectadas aos DM. A forma de carregamento e a
frequência de atualização dos dados das fontes de dados operacionais (que podem estar
dispersas geograficamente) para o DW são especificadas no escopo da atividade definir
arquitetura. Também é definido se o DW será centralizado ou se haverá instâncias
distribuídas dele. A arquitetura especifica também a forma de acesso aos dados pelas
ferramentas de exploração (OLAP e MD), bem como os mecanismos de autenticação e
autorização para acesso ao sistema pelo usuário final. A saída produzida por esta atividade
é a descrição da arquitetura do software.
A atividade verificar qualidade dos dados (E4) tem como objetivo confirmar que os
dados operacionais disponíveis têm a consistência e a integridade necessárias para o
desenvolvimento do projeto. Esta é uma atividade crítica e essencial, uma vez que
problemas na qualidade dos dados podem inviabilizar projetos de BI e DCBD.
Na atividade modelar DW e DM (E5), o DW é modelado de acordo com a
modelagem relacional normalizada. Já os DM, agrupados por assuntos ou processos de
negócio, são modelados de acordo com o paradigma dimensional. A modelagem do DW é
composta pelos diagramas Entidade-Relacionamento, pelos dicionários de dados, bem
como pelos mapeamentos de origem dos dados. Primeiramente são criados modelos
conceituais, representando as entidades, os fatos, as dimensões e os relacionamentos, numa
perspectiva de alto nível. Os modelos conceituais são facilmente compreendidos e
validados por todos os participantes do projeto. Após a validação, os modelos conceituais
são transformados em modelos físicos, voltados para as tecnologias de implementação de
banco de dados. A partir do projeto físico do DW, é elaborado um mapeamento dos dados
disponíveis nas fontes de dados operacionais para o DW.
4.2.3 Construção
A fase de Construção (C) traduz o modelo de projeto em produtos integrados de
software implementados de acordo com arquitetura definida na fase de Elaboração. Desta
fase resultam principalmente os incrementos de software validados e preparados para
serem entregues aos clientes e usuários.
A atividade ETL (C1) produz as rotinas responsáveis por extrair, transformar e
carregar os dados das fontes de dados operacionais para o DW. Os processos ETL são
programados para executarem periodicamente, mantendo o DW sincronizado com as
fontes de dados operacionais. As tarefas de transformação dos processos ETL também
realizam remoção de inconsistências, preenchimento de dados ausentes, agregação,
redução da granularidade, entre outras tarefas inerentes ao pré-processamento dos dados.
A atividade denominada mineração de dados (C2) consiste na aplicação de
algoritmos para extrair modelos ou padrões dos dados. Nesta atividade, os métodos de MD
capazes de fazer o reconhecimento de padrões (árvores de decisão, máquinas de vetores de
suporte, métodos estatísticos, redes neurais, algoritmos genéticos, entre outros) são
aplicados sobre os dados carregados no DW. Para isso, são utilizadas ferramentas que
disponibilizam os diversos algoritmos já implementados, testados e otimizados, para uso
em uma série de aplicações.
A criação de consultas OLAP (C3) consiste no mapeamento do DW em uma
ferramenta OLAP, criando uma representação lógico-conceitual compreensível pelos
usuários. A partir desse mapeamento, são criados relatórios, gráficos e dashboards
predefinidos e personalizáveis. Também é oferecida ao usuário uma interface para a
construção de consultas personalizadas (ad-hoc) a partir dos mapeamentos do DW.
A atividade integração de dados e aplicações (C4) trata da pesquisa pelos conceitos
criados no DW em Data Marts já existentes. Esta atividade analisa também os impactos
causados pelas mudanças que podem ser necessárias para modificação dos conceitos
existentes. Os possíveis impactos incluem mudanças em aplicações que já acessam os
conceitos que serão modificados.
O objetivo da atividade verificação e validação (C5) é assegurar que o software
cumpra as suas especificações e atenda às necessidades dos usuários e clientes. A
verificação confere se o software está sendo desenvolvido de acordo com a sua
especificação, respondendo à seguinte pergunta: “Estamos construindo certo o produto?”.
Já a validação busca assegurar que o software atenda às necessidades dos usuários:
“Estamos construindo o produto certo?”. As técnicas de verificação e validação incluem a
inspeção de software e os testes de software. Nesta atividade do AgileKDD, os resultados
da mineração de dados e das consultas OLAP são confrontados com as fontes de dados
operacionais. Assim, verifica-se não apenas os métodos de exploração do DW como
também os processos ETL que carregam os dados das fontes operacionais para o DW. A
validação inclui também a homologação do software pelo cliente.
4.2.4 Transição
A fase de Transição (T) tem o objetivo de entregar o software para o cliente explorar,
interpretar e utilizar as informações e o conhecimento. Esta fase também contribui para a
melhoria contínua do processo, por meio de uma retrospectiva que reflete sobre a
adequação do processo ao projeto implementado.
A atividade GCM e publicação (T1) tem o propósito de rotular os artefatos do
projeto, implantar os objetos de banco de dados, os processos ETL e o software executável
nos ambientes de desenvolvimento, homologação e produção. A publicação consiste da
execução de scripts, da configuração e agendamento dos processos ETL e da instalação do
software necessário para a entrega do software ao usuário. Trata-se de uma atividade de
infraestrutura, realizada juntamente com a gerência de configuração do software. Cada
versão publicada dos artefatos deve ser rotulada, a fim de identificar a versão do software
que está sendo entregue para homologação ou produção.
A interpretação (T2) é uma atividade relacionada essencialmente aos resultados da
mineração de dados. O conhecimento descoberto é submetido à análise das pessoas
detentoras do conhecimento tácito, capazes de discernir acerca da validade das regras e dos
padrões reconhecidos a partir dos dados. Após a interpretação, o conhecimento refinado e
validado é utilizado (T3) pela organização no suporte à tomada de decisão e na melhoria
dos seus processos de negócio.
A retrospectiva (T4) é uma atividade relacionada à melhoria contínua do processo e à
sua melhor adequação ao projeto. Ao final de cada iteração, uma retrospectiva é realizada
para que a equipe identifique as atividades e atitudes que contribuíram para o alcance dos
objetivos e as que devem ser aperfeiçoadas ou ignoradas para a melhor adequação do
processo ao projeto.
4.3 Papeis das pessoas no AgileKDD
O AgileKDD define os seguintes papeis para as pessoas envolvidas nos projetos:
 Gerente de Projeto – conduz o planejamento do projeto, coordena as interações
com os clientes e mantêm o time focado em alcançar os objetivos do projeto.
 Arquiteto – responsável por definir a arquitetura de software, incluindo a tomada
das principais decisões técnicas que orientam todo o design e a implementação do
projeto.
 Analista de Requisitos – representa os interesses do cliente e do usuário final
colhendo informações dos clientes para entender o problema a ser resolvido,
capturando os requisitos e definindo suas prioridades.
 Administrador de dados – responsável pelo entendimento e avaliação da
qualidade das bases de dados OLTP, pela modelagem e documentação do Data
Warehouse e dos Data Marts.
 Testador – é responsável pelas principais atividades de verificação e validação.
Estas atividades incluem identificar, definir, implementar e conduzir os testes
necessários, bem como registrar e analisar os resultados dos testes.
 Desenvolvedor – responsável por desenvolver as rotinas ETL, executar os
algoritmos de mineração de dados, criar as consultas OLAP e implementar a
integração de dados e soluções.

Cliente – representa grupos de interessados cujas necessidades devem ser
satisfeitas pelo projeto.
4.4 Disciplinas do AgileKDD
As disciplinas do processo AgileKDD são as mesmas do OpenUP: Requisitos,
Arquitetura, Desenvolvimento, Teste, Gestão de Projeto e Gestão de Configuração e
Mudança, como apresenta o Quadro 2.
Durante um ciclo completo de projeto, a maior parte do esforço da disciplina de
Requisitos é concentrada na fase de Concepção. A Arquitetura é a principal disciplina
durante a fase de Elaboração. Nesta mesma fase, o Desenvolvimento é intensificado a
partir da definição da arquitetura do sistema e continua como principal disciplina da fase
de Construção. Os testes ocorrem principalmente na tarefa Verificação e Validação da fase
de Construção. A disciplina de Gestão de Projeto está concentrada predominantemente na
fase de Concepção. A Gestão de Configuração e Mudança tem maior destaque na fase de
Transição. Cada disciplina pode ser relacionada a um conjunto de produtos de trabalho
criados durante as fases do processo.
Quadro 2 – Produtos de trabalho em cada disciplina do AgileKDD.
Disciplina
Requisitos
Propósito
Elicitar, analisar, especificar, validar e
gerenciar os requisitos para o sistema a ser
desenvolvido.
Produtos de Trabalho
Documento de visão.
Glossário inicial do projeto.
Protótipos.
Arquitetura
Definir uma arquitetura para os
componentes do sistema.
Descrição da arquitetura do software.
Modelos de DW e DM.
Desenvolvimento
Projetar e implementar uma solução
técnica que seja aderente à arquitetura e
atenda aos requisitos.
Componentes de software.
Incremento integrado de software.
Teste
Validar a maturidade do sistema através do
projeto, implementação, execução e
avaliação dos testes.
Plano e procedimento de teste.
Registro de teste.
Gestão de Projeto
Instruir, ajudar e suportar a equipe,
ajudando-a a lidar com os riscos e
obstáculos encontrados quando da
construção de software.
Plano de projeto.
Avaliação de viabilidade e riscos.
Gestão de
Configuração e
Mudança
Controlar as mudanças nos artefatos,
assegurando uma evolução sincronizada
do conjunto de Produtos de Trabalho que
compõem um sistema de software.
Lista de itens de trabalho.
Uma vez definido o processo, faz-se necessário verificar a sua aplicabilidade em
projetos de Sistemas de DCBD reais e confirmar se os resultados esperados pela aplicação
do processo são alcançados. Esta verificação foi realizada por meio de um estudo de caso
no qual o processo foi aplicado e os seus efeitos sobre a execução do projeto foram
registrados sob o ponto de vista da Engenharia de Software. O estudo de caso indicou
melhorias que posteriormente foram aplicadas ao processo visando à sua melhor
adequação a projetos de Sistemas de DCBD gerenciados de acordo com os valores e
princípios do Manifesto para o Desenvolvimento Ágil de Software.
V. ESTUDO DE CASO
Após a definição do processo AgileKDD, foi necessário validar a sua aplicabilidade
no desenvolvimento de Sistemas de DCBD. Para tanto, foi selecionado um projeto de
Sistema de DCBD da área de Petróleo e Gás, executado em quatro iterações, como mostra
a Figura 8. Estas iterações tiveram a finalidade de construir e entregar o produto de formas
adaptativa, iterativa e incremental, verificando a aplicabilidade do processo AgileKDD a
um projeto de Sistema de DCBD.
A primeira iteração do projeto foi destinada exclusivamente à fase de Concepção (I).
A segunda iteração teve como objetivo atender aos requisitos funcionais de mineração de
dados. A terceira iteração teve como objetivo calcular e apresentar os indicadores de gestão
da atividade atendida pelo estudo de caso. A quarta iteração contemplou os requisitos
funcionais de processamento analítico (OLAP).
Figura 8 – Iterações realizadas na implementação do estudo de caso.
O estudo de caso escolhido permitiu avaliar a aplicabilidade do processo em um
projeto real, influenciado por restrições de prazo, escopo e qualidade comuns em projetos
comerciais. As seguintes características do estudo de caso permitiram que ele confirmasse
a aplicabilidade do AgileKDD:
(i)
Abrangência. O estudo de caso contemplou tanto requisitos de MD como de
OLAP, além dos indicadores de gestão. As atividades definidas no processo
AgileKDD foram suficientemente abrangentes para suportarem a
implementação de todos os requisitos.
(ii)
Houve mudanças nos requisitos. A execução do estudo de caso foi
influenciada por mudanças nos requisitos de negócio do cliente. O
AgileKDD proporcionou a resposta rápida às mudanças dos requisitos,
demonstrando a adaptabilidade esperada em um processo ágil.
(iii) Houve problemas de qualidade de dados. O alcance dos objetivos do projeto
também foi influenciado por problemas de qualidade nos dados
operacionais submetidos à DCBD. Esses problemas, ocorridos na execução
do estudo de caso, permitiram identificar pontos de melhoria no processo.
(iv)
Equipe multidisciplinar. O estudo de caso foi implementado por uma equipe
multidisciplinar e distribuída geograficamente. Nesses cenários, a
comunicação é um fator crítico para o sucesso do projeto de software. O
AgileKDD foi capaz de promover a comunicação entre os membros da
equipe, bem como a participação do cliente em todas as fases do projeto.
(v)
Necessidade de entrega frequente de software funcional. As restrições de
prazo do projeto demandavam a entrega de resultados do projeto em
intervalos curtos de tempo. Esta necessidade confirmou a adequação de um
processo ágil a projetos de Sistemas de DCBD nos quais o cliente necessita
que o conhecimento descoberto suporte a tomada de decisões com rapidez.
Portanto, a aplicabilidade do AgileKDD foi confirmada por meio do estudo de caso
desenvolvido. Observou-se que processo AgileKDD foi capaz de guiar o desenvolvimento
do produto, desde o início da iteração de concepção até a fase de transição da última
iteração realizada. Não obstante, verifica-se que alguns ajustes no processo são necessários
para aumentar a sua adequação a projetos de Sistemas de DCBD. As observações e
necessidades de ajustes identificados na realização das quatro iterações contribuíram para a
revisão do processo, que será descrita no próximo capítulo.
Durante a execução do estudo de caso, algumas considerações gerais e pontos de
melhoria existentes no AgileKDD foram coletados com o propósito de refinamento do
processo. As considerações gerais e os principais pontos de melhoria identificados foram:
(i) A atividade Gerir projeto, configuração e mudanças (I4) concentrou as
principais atividades de gestão do processo. Dada a importância dessas
atividades e a completa distinção entre elas, percebe-se a necessidade de
separá-las em atividades independentes.
(ii) A atividade Verificar qualidade dos dados (E4) deve migrar da fase Elaboração
(E) para a fase Concepção (C) do processo, uma vez que o resultado dela
influencia as avaliações de viabilidade e riscos e o planejamento do projeto.
(iii) As atividades Limpeza e pré-processamento dos dados (E1), Redução e
projeção de dados (E2), previstas na fase de Elaboração (E) do AgileKDD,
foram executadas como parte dos processos ETL (C1). Por se tratarem de
atividades de relacionadas à preparação e transformação dos dados, observa-se
que E1 e E2 podem ser consideradas tarefas internas à atividade C1.
(iv) As atividades Criar consultas OLAP (C3) e Integração de dados e aplicações
(C4) não precisaram ser executadas na segunda iteração, focada na mineração
de dados. Analogamente, as iterações focadas em OLAP e indicadores de
gestão não necessitaram da atividade Mineração de dados (C2). Portanto, nem
todas as atividades do processo são requeridas para todos os projetos. Devemse admitir atividades opcionais, executadas somente quando a iteração
necessitar das suas saídas.
(v) A arquitetura de DW Data Mart Bus Architecture é mais compatível com os
valores ágeis do que a Hub and Spoke Architecture, uma vez que ela
proporciona a antecipação da entrega de resultados ao cliente. A arquitetura de
DW não deve ser determinada pelo processo, mas deve ser selecionada de
acordo com as necessidades e prioridades de cada projeto.
(vi) O processo não deve direcionar como o produto será desenvolvido, mas deve
limitar-se a especificar o que deve ser feito, quais fases e atividades devem ser
realizadas, para que o produto seja criado e entregue ao cliente.
(vii) Toda a documentação escrita necessária para o desenvolvimento do estudo de
caso foi composta pelo documento de visão e pelos modelos de dados das
fontes operacionais e do DW. Não houve a necessidade de Casos de Uso,
diagramas ou qualquer outra documentação adicional. Boa parte do
conhecimento necessário para a execução do projeto foi trocada pessoalmente
entre os participantes do projeto, inclusive o cliente.
(viii) A verificação dos resultados da mineração de dados contra as fontes de dados
operacionais foi fundamental para a aceitação do conhecimento descoberto por
parte do cliente. A comprovação das regras utilizando os dados operacionais
não deu margem a questionamentos quanto à correção dos métodos e
ferramentas de MD utilizados.
(ix) A estabilidade dos requisitos ao longo do desenvolvimento da segunda iteração
contribuiu para o alcance dos objetivos dentro das expectativas de prazo do
cliente. No entanto, as mudanças nos requisitos durante o desenvolvimento da
terceira iteração exerceram um impacto significativo no projeto. A
identificação precoce das mudanças e a resposta imediata a elas foram
fundamentais para que o produto desenvolvido atendesse às necessidades do
cliente.
(x) Todos os envolvidos na execução do projeto devem compartilhar dos valores e
princípios ágeis presentes no processo. O fato de a equipe de infraestrutura
exigir toda a documentação exigida em projetos desenvolvidos de acordo com
os processos tradicionais provocou um esforço adicional desnecessário e o
atraso na entrega do produto ao cliente.
(xi) A documentação do conhecimento descoberto em uma apresentação eletrônica
foi suficiente para suportar a comunicação com os usuários do conhecimento.
Nenhuma outra forma de representação e armazenamento de conhecimento foi
solicitada pelo cliente. Em seguida, a apresentação foi armazenada em uma
base não estruturada de documentos. Entretanto, sob o ponto de vista da Gestão
do Conhecimento, recomenda-se o armazenamento dos resultados em uma base
de conhecimentos de forma estruturada.
Com base nas considerações sobre a aplicação do AgileKDD no estudo de caso, foi
realizado o refinamento do processo.
VI. REFINAMENTO DO PROCESSO AGILEKDD APÓS O ESTUDO DE CASO
O processo AgileKDD teve a sua aplicabilidade testada por meio de um estudo de
caso. No entanto, alguns aspectos do processo proposto não apresentaram resultados
satisfatórios, o que levou à necessidade de melhorias e refinamento no processo. O
refinamento do AgileKDD resultou nas seguintes mudanças na distribuição das atividades
do processo:
(i)
A atividade Gerir projeto, configuração e mudanças (I4) foi desmembrada nas
atividades Gerir projeto e Gerir configuração e mudanças, permanecendo na
fase Concepção (I).
(ii)
A atividade Verificar qualidade dos dados (E4) migrou da fase Elaboração
(E) para a fase Concepção (C) do processo, passando a contribuir para as
avaliações de viabilidade e riscos, bem como para o planejamento do projeto.
(iii)
As atividades Limpeza e pré-processamento dos dados (E1), Redução e
projeção de dados (E2) foram transformadas em tarefas da atividade ETL
(C1).
A nova representação gráfica do AgileKDD após o seu refinamento é apresentada na
Figura 9. Uma mudança importante a ser ressaltada é a da representação quadrangular para
uma representação circular. Esta mudança teve o objetivo principal de explicitar a
orientação iterativa e incremental do processo. A representação circular também remete à
melhoria contínua do processo, reforçada pela atividade Retrospectiva (T4), a última
atividade da fase Transição (T).
O AgileKDD refinado também torna explícita a existência de dois ciclos, o ciclo de
vida do projeto e o ciclo de vida da iteração. O ciclo de vida do projeto agrupa todos os
requisitos de negócio que devem ser atendidos pelo projeto. A cada iteração, um
subconjunto dos requisitos do projeto é priorizado pelo cliente e compõe os objetivos da
iteração. As fases do ciclo de vida da iteração serão executadas visando à transformação
dos objetivos da iteração em componentes de software e conhecimento entregáveis ao
cliente.
Figura 9 – Fases e atividades do AgileKDD refinado.
Outro significado da nova representação do processo é que ela torna o AgileKDD
mais semelhante ao ciclo PDCA – Plan, Do, Check, Act (ORIBE, 2009). O Quadro 3
estabelece um paralelo entre as fases do PDCA e o processo AgileKDD. A fase PDCA
Plan corresponde à fase Concepção do AgileKDD. A fase Do está relacionada às fases
Elaboração e Construção. Já o Check é correspondido pelas atividades C4 e T2 do
AgileKDD. Finalmente, a fase Act corresponde às atividades T3 e T4.
O conhecimento entregue ao cliente é analisado, discutido e interpretado por um
grupo detentor do conhecimento tácito acerca domínio de negócio. Em seguida esse
conhecimento é utilizado no suporte a decisões e ações da organização. No final do ciclo
de vida da iteração realiza-se uma retrospectiva com todos os membros da equipe do
projeto para análise dos pontos positivos e negativos, bem como das lições aprendidas
durante a execução do projeto. A partir dessa retrospectiva, são identificadas oportunidades
de melhoria contínua e de adaptação do processo ao projeto.
Outras mudanças realizadas no processo não têm reflexos na estrutura de fases e
atividades, mas no modo de aplicação do AgileKDD. A arquitetura de DW não é mais
determinada pelo processo, devendo ser selecionada de acordo com as necessidades e
prioridades de cada projeto. As atividades previstas no processo devem ser realizadas de
acordo com as necessidades de cada iteração ou projeto, não sendo obrigatória a execução
todas as atividades em uma determinada iteração ou em um projeto.
VII. CONCLUSÃO
A construção de sistemas de software capazes de extrair conhecimento de dados e de
informações constitui um dos desafios mais significativos com que se depara a comunidade
de Engenharia de Software (PRESSMAN, 2006). O desenvolvimento desse tipo de
sistemas deve ser guiado por processos específicos, capazes de conduzir a transformação
dos requisitos de negócio do cliente em produtos de software, observando restrições cada
vez mais rígidas de prazo, custo e qualidade.
Quadro 3 – Relação entre o ciclo PDCA e o AgileKDD.
Fases do PDCA
Plan
Fases e atividades do AgileKDD
Concepção (I)
Propósitos
Identificar a visão e os objetivos do projeto.
Planejar o projeto.
Do
Elaboração (E) e
Construção (C)
Definir a arquitetura do software.
Modelar e carregar as estruturas
informacionais.
Desenvolver os componentes de software.
Check
Verificação e validação (C4) e
Interpretação (T2)
Testes e homologação dos componentes de
software.
Validação e interpretação do conhecimento
descoberto.
Act
Utilização do conhecimento descoberto
(T3) e
Retrospectiva (T4)
Decisões e ações suportadas pelo
conhecimento descoberto.
Melhoria contínua do processo.
O esforço de sistematização da Descoberta de Conhecimento em Bancos de Dados e
do Business Intelligence resultou em uma variedade de processos, sendo o KDD Process e
o CRISP-DM os mais aceitos pelas comunidades acadêmica e industrial. O processo
adotado para a implementação da maioria dos projetos de DCBD é o CRISP-DM, sendo
este o padrão de facto na implementação da DCBD (MARISCAL, MARBÁN e
FERNÁNDEZ, 2010; ALNOUKARI et al., 2012; ALNOUKARI e SHEIKH, 2012). No
entanto, a adoção do CRISP-DM vem caindo devido à ausência de atividades relacionadas
ao gerenciamento de projetos, requisitos e mudanças e à Engenharia de Software de forma
geral (MARBÁN et al., 2008).
Dias (2001), Kurgan e Musilek (2006), Herden (2007) e Herden et al. (2011)
observaram que os processos de DCBD e BI existentes não contemplavam ciclos de vida,
fases, disciplinas, papéis, produtos de trabalho e outros elementos fundamentais para a
Engenharia de Sistemas de Software. Buscando solucionar esse problema, Herden (2007)
definiu o processo UPKDD, baseado no Processo Unificado. O UPKDD fornece elementos
de Engenharia de Software sólidos para o desenvolvimento de Sistemas de DCBD, em uma
perspectiva tradicional, orientada a planejamento e com muitos artefatos documentais.
Todavia, de acordo com Alnoukari, Alzoabi e Hanna (2008), Alnoukari (2011),
Larson (2012), Alnoukari (2012) e Alnoukari e Sheikh (2012), processos tradicionais de
software não são efetivos no desenvolvimento de Sistemas de DCBD porque são
incompatíveis com a dinâmica e as evoluções constantes dos ambientes de negócios
corporativos atuais. Esses autores foram os primeiros a relacionarem o desenvolvimento de
Sistemas de DCBD às metodologias ágeis de desenvolvimento de software. Estas
metodologias são caracterizadas por flexibilidade, adaptabilidade, iteratividade,
comunicação face a face e fluxo contínuo de conhecimento entre as pessoas que atuam nos
projetos (ALZOABI, 2012; LARSON, 2012). A junção da metodologia ágil Adaptive
Software Development com o processo CRISP-DM resultou na definição dos processos
ASD-DM5 (ALNOUKARI, ALZOABI e HANNA, 2008) e ASD-BI (ALNOUKARI,
2012).
Não obstante as contribuições trazidas pelo ASD-DM e pelo ASD-BI para o maior
sucesso dos projetos de DCBD, estes processos são fundamentados em uma metodologia
ágil carente de comprovação científica. A metodologia ASD estrutura os projetos nas fases
Especulação (Speculation), Colaboração (Collaboration) e Aprendizado (Learning). Estas
fases pouco se assemelham às fases que estruturam os processos de software maduros, a
saber: Concepção (Inception), Elaboração (Elaboration), Construção (Construction) e
Transição (Transition), as quais tiveram origem no Processo Unificado. O ASD-DM e o
ASD-BI também carecem de atividades e disciplinas relacionadas ao gerenciamento de
projetos, requisitos e mudanças, as quais são imprescindíveis em um processo de software.
Finalmente, falta a esses processos uma maior experimentação científica em casos reais,
capazes de confirmar as suas qualidades e identificar as suas deficiências.
O processo proposto neste trabalho, o AgileKDD, busca integrar as melhores práticas
do KDD Process e do CRISP-DM com o OpenUP, um processo de software ágil e
fundamentado no Processo Unificado. A aplicabilidade do AgileKDD foi verificada em um
projeto de Sistema de DCBD real, executado em quatro iterações, nas quais problemas
como mudanças nos requisitos e baixa qualidade dos dados operacionais exerceram uma
influência significativa no alcance dos objetivos. O estudo de caso apontou necessidades
de melhoria do processo, as quais foram consideradas no refinamento do AgileKDD.
Portanto, a resposta para a pergunta que motivou este trabalho é: sim, um processo
ágil tem a capacidade de guiar projetos de Sistemas de DCBD na direção do alcance dos
seus objetivos em cenários de mudanças nos requisitos e baixa qualidade dos dados
operacionais.
O AgileKDD passa a integrar a relação de processos definidos com o propósito de
sistematizar a DCBD. A Figura 10 posiciona o AgileKDD na linha evolutiva dos processos
de DCBD e destaca os processos ágeis como uma nova categoria composta pelo ASD-DM,
ASD-BI e, a partir deste trabalho, pelo AgileKDD.
Finalmente, conclui-se que o AgileKDD pode ser empregado no desenvolvimento de
Sistemas de DCBD como um arcabouço adaptável e flexível, do qual são utilizadas apenas
as atividades necessárias para cada iteração ou projeto. O processo favorece a entrega
antecipada e contínua de valor ao cliente por meio de um ciclo de vida iterativo e
5
Apesar de os autores classificarem o ASD-DM como uma metodologia, ele seria mais bem classificado
como um processo, uma vez que define uma sequência ordenada de fases e atividades para o
desenvolvimento de projetos de DCBD. Uma metodologia pressupõe um conjunto de práticas e
procedimentos técnicos que determinam como um produto pode ser desenvolvido, o que não é encontrado
no ASD-DM. Por isso, neste documento, o ASD-DM será classificado como um processo.
incremental, da resposta imediata a mudanças, da adaptabilidade e da flexibilidade
inerentes aos processos ágeis.
7.1 Limitações e trabalhos futuros
Uma limitação deste trabalho refere-se à aplicação do AgileKDD em apenas um
caso. A validação efetiva do processo demanda sua aplicação em mais casos, não apenas
na área de petróleo como também em outras áreas como a jurídica, a bancária, a varejista,
entre outras. Portanto, trabalhos futuros podem contribuir para a avaliação experimental e a
melhoria contínua do AgileKDD em casos reais e representativos.
Figura 10 – Evolução dos processos de DCBD, do KDD Process ao AgileKDD.
Fonte: Adaptado de Mariscal, Marbán e Fernández (2010).
Pode-se também trabalhar na criação de ferramentas que facilitem a utilização do
processo em projetos de DCBD. Um tipo possível de ferramenta conduziria as equipes de
projetos na execução das fases e atividades do processo, orientando-os quanto à
necessidade de realizar ou não cada atividade, de acordo com os requisitos de negócio do
cliente. Outro tipo de ferramenta poderia integrar o processo a ferramentas de MD e
OLAP, de modo a permitir a integração entre todos os artefatos produzidos durante os
projetos de DCBD. Desta forma, será possível a rastreabilidade entre os requisitos, os
modelos, os códigos-fontes e quaisquer outros produtos de trabalho dos projetos. Esta
rastreabilidade auxiliará nas análises de impactos causados por mudanças nos requisitos,
bem como na manutenção dos Sistemas de DCBD.
Outra limitação deste trabalho refere-se ao armazenamento dos resultados da DCBD
em bases de conhecimentos, não contemplado no AgileKDD. Esse armazenamento é
fundamental para uma efetiva Gestão do Conhecimento e deve estar presente em um
processo de DCBD. Entretanto, verifica-se que os processos ágeis de DCBD existentes,
inclusive o AgileKDD, ainda não são capazes de atender a esta necessidade. Portanto, um
possível trabalho futuro incluiria no AgileKDD atividades específicas para a definição da
arquitetura da base de conhecimento, bem como para o armazenamento dos resultados
(árvores de decisão, regras de associação, padrões, anormalidades, etc.) obtidos pelos
Sistemas de DCBD.
REFERÊNCIAS
ALNOUKARI, M.; ALZOABI, Z.; HANNA, S. Applying adaptive software development
(ASD) agile modeling on predictive data mining applications: ASD-DM Methodology. In
IEEE Proceedings of International Symposium on Information Technology, 2008, p.
1083-1087.
ALNOUKARI, M. Business Intelligence and Agile Methodologies for Knowledge-Based
Organizations: Cross-Disciplinary Applications. In: CEPIS UPGRADE: The European
Journal for the Informatics Professional. v. 12, n. 3, p. 56-59, Jul. 2011. Disponível em:
<http://www.cepis.org/upgrade/media/III_2011_alnoukari1.pdf>. Acesso em: 20 jan. 2012.
ALNOUKARI, M. ASD-BI: A Knowledge Discovery Process Modeling Based on
Adaptive Software Development Agile Methodology. In: SHEIKH, A. E.; ALNOUKARI,
M. Business Intelligence and Agile Methodologies for Knowledge-Based
Organizations: Cross-Disciplinary Applications. IGI Global, 2012. p. 183-207.
doi:10.4018/978-1-61350-050-7.ch009.
ALNOUKARI, M. et al. Business Intelligence: Body of Knowledge. In: SHEIKH, A. E.;
ALNOUKARI, M. Business Intelligence and Agile Methodologies for KnowledgeBased Organizations: Cross-Disciplinary Applications. IGI Global, 2012. p. 1-13.
doi:10.4018/978-1-61350-050-7.ch001.
ALNOUKARI, M.; SHEIKH, A. E. Knowledge Discovery Process Models: From
Traditional to Agile Modeling. In: SHEIKH, A. E.; ALNOUKARI, M. Business
Intelligence and Agile Methodologies for Knowledge-Based Organizations: CrossDisciplinary Applications. IGI Global, 2012. p. 72-100. doi:10.4018/978-1-61350-0507.ch004.
ALZOABI, Z. Agile Software: Body of Knowledge. In: SHEIKH, A. E.; ALNOUKARI,
M. Business Intelligence and Agile Methodologies for Knowledge-Based
Organizations: Cross-Disciplinary Applications. IGI Global, 2012. p. 14-34.
doi:10.4018/978-1-61350-050-7.ch002.
BECK, K. et al. Manifesto para o desenvolvimento ágil de software. 2001. Disponível
em http://manifestoagil.com.br/. Acesso em 01 out. 2011.
BOENTE, A. N. P.; OLIVEIRA, F. S. G.; ROSA, J. L. A.. Utilização de Ferramenta de
KDD para Integração de Aprendizagem e Tecnologia em Busca da Gestão
Estratégica do Conhecimento na Empresa. Anais do Simpósio de Excelência em Gestão
e Tecnologia, v. 1, p. 123-132, 2007.
BRASIL. Universidade Federal do Rio de Janeiro. Centro de Referência em Inteligência
Empresarial.
Gestão
do
Conhecimento.
Disponível
em:
http://portal.crie.coppe.ufrj.br/portal/main.asp?ViewID={B796852D-22A7-4515-997F537BD8378B1C}&u=u. Acesso em: 02 dez. 2010.
CARVALHO, A. C. et al. Grandes Desafios da Pesquisa em Computação no Brasil –
2006 – 2016. São Paulo. Sociedade Brasileira de Computação. 2006.
CHAPMAN, P.; CLINTON, J.; LERBER, R.; KHABAZA, T.; REINARTZ, T.;
SHEARER, C.; WIRTH, R. CRoss Industry Standard Process for Data Mining (CRISPDM 1.0): step-by-step data mining guide. 2000. Disponível em: <http://www.crispdm.org/>. Acessado em 05 Maio 2011.
DIAS, M. M. Um modelo de formalização do processo de desenvolvimento de sistemas
de descoberta de conhecimento em banco de dados. Tese de Doutorado. Universidade
Federal de Santa Catarina. Florianópolis. 2001.
FAYYAD, U.; PIATETSKY-SHAPIRO, G.; SMYTH, P.; UTHURUSAMY, R. Advances
in Knowledge Discovery and Data Mining. 1996. AAAIPress, The Mit Press.
GARTNER GROUP. Gartner says more than 50 percent of data warehouse projects will
have limited acceptance or will be failures through 2007. 2005. Disponível em
http://www.gartner.com/press_releases/asset_121817_11.html. Acesso em 01 out. 2011.
______. Gartner Survey of 1,400 CIOs Shows Transformation of IT Organisation is
Accelerating.
2006.
Disponível
em
http://www.gartner.com/press_releases/asset_143678_11.html. Acesso em 01 out. 2011.
______. Gartner EXP Survey of More than 1,400 CIOs Shows CIOs Must Create
Leverage to Remain Relevant to the Business. 2007. Disponível em
http://www.gartner.com/it/page.jsp?id=501189. Acesso em 01 out. 2011.
______. Gartner EXP Worldwide Survey of 1,500 CIOs Shows 85 Percent of CIOs
Expect "Significant Change" Over Next Three Years. 2008. Disponível em
http://www.gartner.com/it/page.jsp?id=587309. Acesso em 01 out. 2011.
______. Gartner EXP Worldwide Survey of More than 1,500 CIOs Shows IT Spending
to Be Flat in 2009. 2009. Disponível em http://www.gartner.com/it/page.jsp?id=855612.
Acesso em 01 out. 2011.
______. Gartner EXP Worldwide Survey of Nearly 1,600 CIOs Shows IT Budgets in
2010
to
be
at
2005
Levels.
2010.
Disponível
em
http://www.gartner.com/it/page.jsp?id=1283413. Acesso em 01 out. 2011.
______. Gartner Executive Programs Worldwide Survey of More Than 2,000 CIOs
Identifies Cloud Computing as Top Technology Priority for CIOs in 2011. 2011.
Disponível em http://www.gartner.com/it/page.jsp?id=1526414. Acesso em 01 out. 2011.
GIL, A. C. Como elaborar projetos de pesquisa. São Paulo: Atlas, 1996.
GOLFARELLI, M.; RIZZI, S.; CELLA, I. Beyond data warehousing: what's next in
business intelligence?. In Proceedings of the 7th ACM international workshop on Data
warehousing and OLAP. Washington, EUA. 2004.
GONÇALVES, J. E. L. As Empresas São Grandes Coleções de Processos. RAE – Revista
de Administração de Empresas. , v. 40, n.1, p. 6-19, 2000.
HERDEN, A.. UPKDD: um processo para desenvolvimento de sistemas de descoberta
de conhecimento em banco de dados. Dissertação (Mestrado em Ciência da Computação)
- Universidade Estadual de Maringá. 2007.
HERDEN, A. et al. UPKDD: Processo de Software para Aplicações de Tecnologias
Analíticas e Centradas em Objetivos de Descoberta de Conhecimento. In: Simpósio
Brasileiro de Qualidade de Software, 10, 2011, Curitiba. Anais do X Simpósio Brasileiro
de Qualidade de Software (SBQS), 2011. v. 1. p. 327-341.
HRISTOV,
H.
T.
Introduction
to
OpenUP.
2011.
Disponível
http://epf.eclipse.org/wikis/openup/index.htm. Acesso em 08 out. 2011.
INMON, W. Como Construir o Data Warehouse. Rio de Janeiro. Campos. 1997.
em
INMON, W.; STRAUSS, D.; NEUSHLOSS, G. DW 2.0: the architecture for the next
generation of data warehousing. Amsterdam. 2008.
JACOBSON, I.; BOOCH, G.; RUMBAUGH, J. The unified software development
process. 2.ed. Addison-Wesley, 1999. 463p.
KIMBALL, R. Data Warehouse toolkit. São Paulo. Makron Books, 1998.
KIMBALL, R.; ROSS, M. Data warehouse toolkit: o guia completo para modelagem
dimensional. Rio de Janeiro: Campus, 2002. 494p.
KURGAN, L.; MUSILEK, P. A survey of Knowledge Discovery and Data Mining process
models. The Knowledge Engineering Review, 21 , p. 1-24. 2006.
LARSON, D. Agile Methodologies for Business Intelligence. In: SHEIKH, A. E.;
ALNOUKARI, M. Business Intelligence and Agile Methodologies for KnowledgeBased Organizations: Cross-Disciplinary Applications. IGI Global, 2012. p. 101-119.
MARBÁN, Ó.; SEGOVIA, J.; MENASALVAS, E.; FERNÁNDEZ, C. Towards data
mining engineering: a software engineering approach. 2008. Information Systems
Journal.
MARISCAL, G.; MARBÁN, Ó.; FERNÁNDEZ, C. A survey of data mining and
knowledge discovery process models and methodologies. The Knowledge Engineering
Review, ed. 25, p. 137-166. 2010.
MELLO, C. H. P. et al . Pesquisa-ação na engenharia de produção: proposta de
estruturação para sua condução. Produção, São Paulo, v. 22, n. 1, 2012 . Disponível
em:
<http://www.scielo.br/scielo.php?script=sci_arttext&pid=S010365132012000100001&lng=pt&nrm=iso>.
Acesso
em:
12
jul. 2012.
http://dx.doi.org/10.1590/S0103-65132011005000056.
MIGUEL, P. A. C. Estudo de caso na engenharia de produção: estruturação e
recomendações para sua condução. Produção, São Paulo, v. 17, n. 1, Abr. 2007.
Disponível
em:
<http://www.scielo.br/scielo.php?script=sci_arttext&pid=S010365132007000100015&lng=en&nrm=iso>.
Acessado
em
09
Jul.
2012.
http://dx.doi.org/10.1590/S0103-65132007000100015.
NASCIMENTO, G. S.; OLIVEIRA, A. A. AgileKDD: An Agile Business Intelligence
Process Model. In: ICSEA 2012 - The Seventh International Conference on Software
Engineering Advances, 2012a, Lisboa.
______. An Agile Knowledge Discovery in Databases Software Process. In: Xiang et al.
(Eds.): IDCS 2012 and ICDKE 2012, LNCS – Springer Lecture Notes in Computer
Science, vol. 7646, p. 343-351. Springer, Heidelberg, 2012b.
OECD. Organisation for Economic Cooperation and Development. The KnowledgeBased
Economy.
Paris,
1996.
Disponível
em
<http://www.oecd.org/dataoecd/51/8/1913021.pdf>. Acesso em 01 mai. 2012.
ORIBE, C. Y. Os 70 Anos do Ciclo PDCA. Revista Banas Qualidade. n. 209. p.20-25.
2009.
PRESSMAN, R. S. Engenharia de Software. 6 ed. São Paulo. McGraw-Hill. 2006.
SANTOS,
S.
S.
OpenUP:
Um
processo
ágil
Disponível
em:
http://www.ibm.com/developerworks/br/rational/local/open_up/index.html. 2009. Acesso
em 08 out 2011.
SEVERINO, A. J. Metodologia do trabalho científico. 23 ed. rev. e atualizada. São
Paulo: Cortez, 2007.
SHEARER, C. The CRISP-DM model: the new blueprint for data mining. Journal for
data warehousing, Vol. 5, No. 4, 13-22, ISSN 1548-3924. 2000.
SILVA, E. L.; MENEZES, E. M. Metodologia da pesquisa e elaboração de dissertação.
4.
ed.
Florianópolis:
UFSC,
2005.
138
p.
Disponível
em:
<http://www.portaldeconhecimentos.org.br/index.php/por/content/view/full/10232>.
Acesso em: 12 dez. 2010.
VALENTIN, L. G. Uma arquitetura de software para sistemas de descoberta de
conhecimento em banco de dados. Dissertação (Mestrado em Ciência da Computação) –
Universidade Estadual de Maringá. 2006.
YIN, R. K. Estudo de Caso – Planejamento e Método. 2. ed. São Paulo: Bookman, 2001.
WATSON, H. J.; WIXOM, B. H.; HOFFER, J. A.; LEHMAN, R. A. REYNOLDS, A. M.
Real-Time Business Intelligence: Best Practices at Continental Airlines. Information
Systems Management, Bristol, v. 23, n. 1, p. 7-18, Dez. 2006. Disponível em:
<http://dx.doi.org/10.1201/1078.10580530/45769.23.1.20061201/91768.2>. Acesso em:
10 jul. 2012.
WIXOM, B. H.; WATSON, H. J.; REYNOLDS, A. M.; HOFFER, J. A. Continental
Airlines Continues to Soar with Business Intelligence. Information Systems
Management, Bristol, v. 25, n. 2, p. 102-112, Mar. 2008. Disponível em:
<http://dl.acm.org/citation.cfm?id=1451615>. Acesso em: 10 jul. 2012.
Download