• Nenhum resultado encontrado

Como foi visto anteriormente, o principal objetivo desta tese é definir um modelo de formalização do processo de desenvolvimento de sistemas de descoberta de conhecimento em banco de dados. Este modelo é representado na Figura 4.1 abaixo.

Ambiente ADesC Simulação/ Verificação Resultados da Mineração de Dados Resultados Simulação Especificação E-LOTOS Modelos UML Problema KDD Metodologia MeDesC

Figura 4.1: Modelo Geral Proposto

Ao observar a Figura 4.1, pode-se entender que o sistema de descoberta de conhecimento é desenvolvido partindo-se de um problema específico de KDD (Knowledge Discovery in Databases). Sobre esse problema é aplicada a metodologia MeDesC, que tem como resultado modelos UML representando as características específicas do sistema em desenvolvimento. Esses modelos UML resultantes são usados como argumentos de entrada no ambiente ADesC que os traduz na linguagem E- LOTOS. A especificação formal do ambiente pode ser validada através da utilização de uma ferramenta de simulação e verificação de especificações E-LOTOS disponível.

A metodologia MeDesC integra UML e E-LOTOS. UML (Unified Modeling

Language) é uma linguagem de modelagem unificada baseada em modelos de

metodologias orientadas a objetos (Booch et al, 1999). E-LOTOS (Enhancements to

Language Of Temporal Ordering Specification) é uma TDF que permite a especificação

formal e modular de sistemas e a representação de tempo; foi padronizada pela ISO (International Standards Organization) (ISO/IEC, 1997). Conforme foi visto na seção

2.3.3 do Capítulo 2, métodos formais podem ser aplicados em níveis variados de rigor; assim, na metodologia MeDesC, o nível de rigor aplicado foi 1, considerando que foi incluída uma etapa de formalização no processo de desenvolvimento de sistemas computacionais. As etapas dessa metodologia são descritas nas próximas seções.

O analista de sistemas poderá utilizar a metodologia MeDesC por completo e implementar o seu sistema de descoberta de conhecimento em banco de dados em qualquer linguagem de programação que lhe for mais conveniente, ou então, poderá utilizar a metodologia MeDesC até a fase de projeto informal e implementar seu sistema no ambiente ADesC.

O ambiente ADesC (descrito mais detalhadamente no Capítulo 5) tem como objetivos principais: auxiliar o analista de sistemas na etapa de implementação de sistemas de descoberta de conhecimento em banco de dados, oferecendo-lhe facilidades na construção desses sistemas; traduzir modelos UML para E-LOTOS e oferecer ao usuário final um ambiente interativo e amigável que gera informações relevantes à tomada de decisão da empresa. Essas informações são obtidas pelo ambiente através da aplicação de técnicas de mineração de dados.

O desenvolvimento do ambiente ADesC é baseado no ciclo de vida clássico de sistemas. No entanto, foi incluída a etapa de projeto formal para que a especificação do ambiente possa ser simulada e verificada, resultando, assim, em um ambiente confiável e de qualidade.

Na especificação do ambiente ADesC, também são usados modelos UML nas etapas de análise do sistema e de projeto informal. Os modelos resultantes da fase de projeto informal são traduzidos para E-LOTOS (Anexo 9.4).

O ambiente ADesC baseia-se na tecnologia de agentes para facilitar a busca e a seleção de informações em grandes bancos de dados, que podem estar espalhados por diferentes nós de redes de computadores; a escolha da técnica de mineração de dados mais adequada e a análise dos resultados. Os objetos definidos no ambiente possuem características que os identificam como pertencentes às classes de agentes inteligentes, agentes móveis ou agentes de software. No entanto, a tecnologia de agentes foi aplicada apenas na especificação do ambiente ADesC, o protótipo e o estudo de casos realizado não se basearam nesta tecnologia devido à complexidade de sua implementação.

Todas as fases básicas de um sistema de descoberta de conhecimento em banco de dados são realizadas no ambiente ADesC. São elas: pré-processamento, construção de um modelo e pós-processamento. Em todas essas fases, o ambiente interage com o

usuário para que este possa selecionar os atributos necessários, definir os tipos de transformações sobre os dados, escolher a técnica de mineração de dados a ser aplicada e realizar a análise dos resultados obtidos.

Na fase de pré-processamento, o ambiente ADesC possui uma função não encontrada em outras ferramentas de mineração de dados, que é a função de Tradução para E-LOTOS. Esta função traduz os modelos UML, que representam as características do sistema projetado pelo analista de sistemas, para a linguagem E-LOTOS; possibilitando, assim, a formalização da especificação do sistema.

Assim como é descrito na literatura (Berry e Linoff, 1997), (Groth, 1998), (Freitas, 1998), (Feldens et al, 1998) etc, a fase de pré-processamento do ambiente ADesC engloba as tarefas de preparação e de transformação de dados. Essas tarefas são realizadas com a ajuda de agentes móveis e de agentes de software. O conjunto de dados preparado e transformado é armazenado em uma estrutura de dados denominada

Dataset, que é definida de acordo com o sistema desenvolvido. A função de definição

das formas de povoamento dos dados, realizada pelo ambiente ADesC, também pode ser considerada como pertencente à fase de pré-processamento. Essa função é importante na manutenção de dados atualizados no DataSet. As informações sobre os dados selecionados, sobre as transformações realizadas nos dados e sobre as definições das formas de povoamento dos dados, são armazenadas em tabelas do metadados.

Na fase de construção de um modelo é aplicada uma técnica de mineração de dados sobre o Dataset, adequada ao tipo de problema KDD em estudo. A escolha dessa técnica é realizada pelo usuário (analista de sistemas) com a ajuda de um agente inteligente.

Após o modelo ser construído, através da aplicação de uma técnica de mineração de dados, os resultados são armazenados para que, posteriormente, o usuário final possa analisá-los na fase de pós-processamento. A análise dos resultados também é realizada com a ajuda de um agente inteligente, que poderá, por exemplo, eliminar resultados menos relevantes.