CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DO RIO GRANDE DO NORTE
GERÊNCIA EDUCACIONAL DE TECNOLOGIA DA INFORMAÇÃO
CURSO SUPERIOR DE TECNOLOGIA EM DESENVOLVIMENTO DE SOFTWARE
PROPOSTA DE MODELO PARA GERÊNCIA DE
CONHECIMENTO EM ACOMPANHAMENTO DE PROJETO DE
SOFTWARE
Plácido Antônio de Souza Neto
Orientador: João Maria Filgueira, M.Sc.
(GEINF / CEFET-RN)
CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DO RIO GRANDE DO NORTE
GERÊNCIA EDUCACIONAL DE TECNOLOGIA DA INFORMAÇÃO
CURSO SUPERIOR DE TECNOLOGIA EM DESENVOLVIMENTO DE SOFTWARE
PROPOSTA DE MODELO PARA GERÊNCIA DE
CONHECIMENTO EM ACOMPANHAMENTO DE PROJETO DE
SOFTWARE
Plácido Antônio de Souza Neto
Orientador: João Maria Filgueira, M.Sc.
(GEINF / CEFET-RN)
Monografia apresentada à Banca Examinadora do Trabalho de Conclusão do Curso de Tecnologia em Desenvolvimento de Software, em cumprimento às exigências legais como requisito parcial à obtenção do título de Tecnólogo em Desenvolvimento de Software.
“O temor do Senhor é o princípio da
Sabedoria”.(Pv 1.7)
Dedico este trabalho ao Senhor da minha vida,
Cristo Jesus, que é a verdadeira fonte de
conhecimento e sabedoria. Por me resgatar para a
vida que Ele tem preparado para os que o amam e
AGRADECIMENTOS
A princípio, agradeço a Deus, o Criador de todas as coisas e único dono de inigualável sabedoria. Sem ele, confesso, não teria capacidade e forças para alcançar meus ideais.
Agradeço a todos os familiares que se fizeram presentes na minha vida, principalmente pela compreensão quando me fiz ausente.
Agradeço a Ana Flávia Leandro Machado, pelo companheirismo, amor e preocupação. Por estar ao meu lado em todos os momentos, me proporcionando felicidade.
Agradeço também ao meu orientador, João Maria Filgueira, pela dedicação na orientação, pelos conselhos e pelo aprendizado. Mestre que se preocupa com seus alunos, fazendo com que o conhecimento seja produzido. Sua ajuda foi de suma importância na conclusão deste trabalho.
Agradeço as colegas de curso, pela amizade, força e até mesmo pela paciência em me transmitir alguns conteúdos importantes no decorrer do curso.
E por último, agradeço ao CEFET-RN, pois foi através dessa instituição que conseguirei o almejado diploma.
SUMÁRIO
LISTA DE ABREVIATURAS viii
LISTA DE FIGURAS ix RESUMO x ABSTRACT xi 1. INTRODUÇÃO 1 1.1. OBJETIVOS 2 1.1.1. GERAL 2 1.1.2. ESPECÍFICOS 2 1.2. METODOLOGIA 3 1.3. ESTRUTURA DO TRABALHO 3 2. GERÊNCIA DE CONHECIMENTO 5
2.1. IMPORTÂNCIA DA GERÊNCIA DE CONHECIMENTO -KNOWLEDGE MANAGEMENT 6
2.1.1. PROCESSOS ESSENCIAIS 7
2.1.2. ELEMENTOS CONSTRUTIVOS DA GERÊNCIA DO CONHECIMENTO 8
2.2. MODELOS DE KNOWLEDGE MANAGEMENT 10
2.2.1. MODELO COM FOCO NO TÉRMINO DO PROJETO 11 2.2.2. MODELO COM FOCO NO TÉRMINO DA FASE 12 2.2.3. MODELOS COM FOCO NO TÉRMINO DA ITERAÇÃO E FOCO NO PROCESSO 13 2.2.4. MODELO OU ESTILO ARQUITETURAL DE INVOCAÇÃO IMPLÍCITA 14 2.2.5. MODELO OU ESTILO ARQUITETURAL QUADRO-NEGRO 15
2.3. APLICAÇÕES DE KNOWLEDGE MANAGEMENT 17
3. DESENVOLVIMENTO DO PROJETO 19
3.1. METODOLOGIA 19
3.2. MODELO PROPOSTO –KNOWLEDGE FLOW MODEL (KFM) 20
3.2.1. DESCRIÇÃO FUNCIONAL DO KFM 21
3.2.2. CONTEXTO DE DESENVOLVIMENTO DO MODELO 25
3.3.2. TECNOLOGIAS UTILIZADAS 28 3.3.3. ARQUITETURA DO SISTEMA PARA APLICAÇÃO 29
3.3.4. AMBIENTE DE APLICAÇÃO 31 3.3.5. DESCRIÇÃO DA APLICAÇÃO 32 3.4. RESULTADOS 43 4. CONSIDERAÇÕES FINAIS 46 4.1. CONCLUSÃO 46 4.2. SUGESTÕES E RECOMENDAÇÕES 46
APÊNDICE A – SCRIPT BANCO DE DADOS 48
REFERÊNCIAS BIBLIOGRÁFICAS 52
GLOSSÁRIO 53
ANEXO I – UM MODELO DE GESTÃO DE CONHECIMENTO PARA A MELHORIA DE QUALIDADE DO PRODUTO.
ANEXO II – ESTRATÉGIAS DE AQUISIÇÃO E DISSIMINAÇÃO DE CONHECIMENTO PARA APOIAR O DESENVOLVIMENTO DE SOFTWARE COM RUP.
ANEXO III – UTILIZAÇÃO DO PROCESSO PRAXIS NA PRODUÇÃO DE UM PORTAL WEB PARA ACOMPANHAMENTO DE PROJETO.
LISTA DE ABREVIATURAS
DER Diagrama de Entidade-Relacionamento
KM Knowledge Manangement
MVC Model-View-Controller
I.A. Inteligência Artificial
KFM Knowledge Flow Model – Modelo de Fluxo de Conhecimento COPPE/UFRJ instituto alberto COinbra de Pós-graduação e Pesquisa em
LISTA DE FIGURAS
FIGURA 1-PROCESSOS ESSENCIAIS... 8
FIGURA 2-ELEMENTOS CONSTRUTIVOS DA GERÊNCIA DO CONHECIMENTO... 9
FIGURA 3-MODELO COM FOCO NO TÉRMINO DO PROJETO... 12
FIGURA 4-MODELO COM FOCO NO TÉRMINO DA FASE... 13
FIGURA 5-ESTRUTURA INVOCAÇÃO IMPLÍCITA... 14
FIGURA 6-ESTILO QUADRO-NEGRO... 16
FIGURA 7-ARQUITETURA DO PROKNOWHOW... 18
FIGURA 8-ESTRUTURA DO MODELO... 23
FIGURA 9-MÉTODO DE APLICAÇÃO DO MODELO... 27
FIGURA 10-DIAGRAMA DER ... 29
FIGURA 11-MÉTODO DE APLICAÇÃO DO MODELO... 30
FIGURA 12-TELA INICIAL... 31
FIGURA 13-FLUXO DE DADOS,INFORMAÇÃO E CONHECIMENTO... 33
FIGURA 14-APLICAÇÃO KFM NA ATIVAÇÃO DO TRABALHO... 35
FIGURA 15-APLICAÇÃO DO KFM NA ANÁLISE DE REQUISITOS... 36
FIGURA 16-APLICAÇÃO DO KFM NA DESCRIÇÃO DA METODOLOGIA... 39
FIGURA 17-APLICAÇÃO DO KFM NA IMPLEMENTAÇÃO... 42
FIGURA 18-APLICAÇÃO DO KFM ... 45
RESUMO
SOUZA NETO, Plácido Antônio. Proposta de Modelo para Gerência de
Conhecimento em Acompanhamento de Projeto de Software. Natal, 2005. 67 f.
Trabalho de Conclusão de Curso (Tecnologia em Desenvolvimento de Software) – Gerência Educacional de Tecnologia da Informação, Centro Federal de Educação Tecnológica do Rio Grande do Norte, Natal-RN, 2005.
Este trabalho apresenta o KFM, Knowledge Flow Model, o qual representa um modelo de fluxo de conhecimento na aplicação e utilização em desenvolvimento de sistemas e ambientes de pesquisa. Para a construção desse modelo, são aplicados conceitos de gerência e gestão de conhecimento em ambientes de software. Tais conceitos têm como objetivo a melhoria do uso do conhecimento em ambientes de pesquisa e desenvolvimento. Os conceitos e os exemplos da aplicação de gerência de conhecimento também são tratados nesse trabalho. Após a integração desses conceitos, um modelo é proposto para que seja utilizado e testado na área de desenvolvimento de software. O trabalho também apresenta um sistema para aplicação específica em acompanhamento de projetos de desenvolvimento de software.
Palavras-chave: Gerência de Conhecimento, KFM, Desenvolvimento e Pesquisa,
ABSTRACT
This work presents the KFM, Knowledge Flow Model, which represents a knowledge flow model to application and use in systems development and research environments. For the construction of this model, concepts of management and knowledge management in software environments are applied. Such concepts have as objectives the knowledge use improvement in research and development’s environments. The concepts and examples of knowledge management application also are treated in this work. After integration of these concepts, a model is proposed to be used and tested in the software development area. This work also presents a specific application system to accompaniment of development software projects.
Keywords: Knowledge Management, KFM, Development and Researches, Software,
Knowledge System .
1. INTRODUÇÃO
O conhecimento obtido no desenvolvimento de software é um recurso importante e o seu uso promove um aprendizado evolutivo, evitando que um mesmo erro seja cometido novamente. Porém, para atingir esse aprendizado, é necessário que o conhecimento esteja disponível e acessível. Nesse contexto, ambientes de gerência de conhecimento podem ser bastante úteis. A gerência de conhecimento facilita a criação, acesso e reuso do conhecimento e seu objetivo principal é promover o surgimento de conhecimento novo, seu armazenamento e compartilhamento.
Embora cada projeto de desenvolvimento de software seja único, experiências similares e comuns a eles podem ajudar aos desenvolvedores na execução de suas atividades. O reuso desse conhecimento ajuda a evitar que falhas se repitam e auxilia na solução de problemas recorrentes.
Mas, para ser efetiva, a gerência de conhecimento deve ser integrada ao processo de trabalho, ou seja, o sistema de gerência de conhecimento deve estar integrado ao ambiente de trabalho existente. No contexto de desenvolvimento de software, esse ambiente de trabalho é exatamente um Ambiente de Desenvolvimento de Software e, portanto, tal ambiente e gerência de conhecimento complementam um ao outro no apoio ao projeto de software.
Gerência de Conhecimento consiste em coletar e armazenar sistematicamente o conhecimento adquirido, compartilhar este conhecimento através de uma memória organizacional e promover o surgimento de novo conhecimento. Neste contexto, conhecimento pode ser definido como informação combinada com experiência, contexto, interpretação e reflexão. Existem vários conjuntos de atividades propostos para a Gerência de Conhecimento. Alguns autores afirmam que as atividades básicas da Gerência de Conhecimento são: identificação, aquisição, desenvolvimento, disseminação, uso e preservação de conhecimento. Nessa visão, a memória organizacional está no centro do processo, sendo considerada como um repositório do conhecimento disponível na organização. Para atingir seus objetivos, a Gerência de Conhecimento pode se beneficiar de diversas tecnologias, tais como bancos de dados, Internet, máquinas de busca, dentre outras.
facilidade em expressar suas idéias, uma lógica de pensamento, uma opinião em determinado assunto, acaba se destacando mais que aquela que tem o conhecimento e não consegue aplicá-lo.
Cruz [1] afirma que quem transforma informação em conhecimento e este gera mais conhecimento, transmitindo para outras pessoas, soube utilizar corretamente o conhecimento.
A informação se transforma em conhecimento quando utilizada de forma a gerar mais conhecimento.
Muitos projetos e processos de software se preocupam com o gerenciamento de conteúdo e artefatos. Esse é passo inicial para gerência de conhecimento. Tem que se preocupar tanto com gerência de conteúdo quanto de conhecimento. O conteúdo quando não utilizado e aplicado de forma correta, não gera conhecimento. Os conteúdos são apenas informações que são coletadas e armazenadas para possíveis mudanças. A consulta periódica desses documentos e artefatos é que irá gerar conhecimento, e a análise e aplicação deste conhecimento a gerar mais conhecimento.
Nesse contexto, a gerência de conhecimento em ambientes de software irá auxiliar o desenvolvimento continuo de um crescente aprendizado do projeto de software.
1.1. Objetivos
1.1.1. Geral
Apresentar um modelo para gerenciamento de conhecimento, aplicável em acompanhamento de projetos.
1.1.2. Específicos
Aplicar adequadamente conhecimentos adquiridos ao longo do curso Superior de Tecnologia em Desenvolvimento de Software, sistematizando-os em um trabalho acadêmico.
Revisar literatura referente à gerência de conhecimento, bem como sua pertinência ao escopo do trabalho.
Analisar modelos de gerência de conhecimento, com vistas à identificar suas principais características, bem como algumas aplicações dos mesmos.
Definir um modelo para gerência de conhecimento, baseando-se nos demais modelos analisados.
Desenvolver uma aplicação para o modelo proposto, definindo sua estrutura lógica, física.
1.2. Metodologia
O trabalho foi elaborado em etapas, utilizando-se das tecnologias descritas a seguir.
Em relação às etapas, foram as seguintes: a definição do tema, a coletânea de textos, a avaliação da pertinência dos textos para o trabalho, a avaliação de modelos de gerência de conhecimento, definição e aplicação de um modelo para gerenciamento de conhecimento.
Foram utilizadas tecnologias para a definição lógica da base de conhecimento, para a criação física da base de conhecimento, para o desenvolvimento da aplicação de acesso à base de conhecimento. Para a definição da base de conhecimento foi utilizado a ferramenta CASE PowerDesign 9.0. Para a criação física da base de conhecimento, utilizou-se o Sistema de Gerenciamento de Base de Dados Postgresql. O desenvolvimento da aplicação foi realizado com tecnologia Java – jsp, servelet, classes de controle e de conexão.
1.3. Estrutura do trabalho
O presente trabalho nas seguintes partes: a introdução, a gerência de conhecimento, o desenvolvimento do projeto, as considerações finais, apêndice, referencia bibliográfica, glossário, anexos.
No capítulo de gerência de conhecimento é descrito a importância da utilização de gerência de conhecimento, os modelos de gerência, com os focos específicos de cada modelo e será apresentado por fim um exemplo de aplicação de gerência de conhecimento em um ambiente de software.
O desenvolvimento do projeto descreve o modelo proposto, KFM – Knowledge Flow Model, com sua descrição funcional e contexto de aplicação. Descreve também a aplicação do modelo, apresentando sua importância, tecnologias utilizadas, arquitetura do sistema, ambiente de aplicação e sua descrição. Por fim, são apresentados os resultados da aplicação do modelo KFM.
Nas considerações finais é apresentada a conclusão do trabalho, explicitando as sugestões e recomendações para a continuidade do projeto.
O apêndice apresenta o script do banco de dados usado como base de conhecimento para o trabalho.
A referência bibliografia mostra a lista de textos consultados e referenciados no trabalho.
O glossário contém uma lista de termos significativos para o trabalho, para os quais há uma breve descrição.
Os anexos apresentam os modelos de gerência de conhecimento criados a partir de estudos específicos na área de software. Modelos estes que foram utilizados como referencial teórico deste trabalho.
2. GERÊNCIA DE CONHECIMENTO
A aplicação de conhecimento no dia a dia em ambientes de trabalho é constante. Sempre há algum tipo de dado, informação ou conhecimento para se resolver problemas cotidianos. A informação nos dias atuais tem ajudado de diversas maneiras ao crescimento de empresas e instituições em geral. Nunca se teve um fluxo de dados e informação tão grande. Diariamente os jornais e noticias apresentam coisas novas. Revistas especializadas em diversos assuntos, jornais impressos e televisão apresentam a cada minuto um fato, novo acontecimento ou descoberta que influencia indireta e muitas vezes diretamente nossas vidas.
Está se presenciando uma revolução na economia mundial, a transformação para uma economia baseada no conhecimento. Na “sociedade do conhecimento” os tradicionais fatores de produção como o trabalho, capital e terra tornam-se secundários, e o conhecimento passa a ser o recurso mais importante. Em [2] Probst at all reforça essa idéia afirmando que na nova “era da informação” as fontes fundamentais de riqueza são o conhecimento e a comunicação, e não os recursos naturais ou o trabalho físico. Ao que tudo indica, essa transformação é irreversível e incontrolável.
Em [2] argumenta-se que o valor da maioria dos produtos e serviços depende de como são desenvolvidos os “fatores intangíveis baseados no conhecimento”.
É interessante notar como as pessoas estão ligadas à informação e consequentemente ao conhecimento. As atividades em ambientes de trabalho requerem conhecimento prévio de determinadas informações. Freqüentemente as pessoas se voltam para trabalhos antigos ou materiais produzidos em um determinado momento anterior, para resolver problemas e ter soluções novas.
Tadeu Cruz [1] descreve a sociedade atual como sendo a sociedade do conhecimento. As pessoas precisam de conhecimento para ter uma vida diária que proporcione soluções para os problemas enfrentados. Ao analisar a sociedade, percebe-se a corrida constante em busca do conhecimento.
Então, como as pessoas precisavam de informações de conhecimento que já havia sido utilizado, viu-se a necessidade de se administrar esse conhecimento. Cruz [1] ainda define gerência de conhecimento como segue.
“Gerência de Conhecimento, ou Knowledge Manangement (KM), é um conjunto formado por metodologias e tecnologias que tem por finalidade criar condições para identificar, integrar, capturar, recuperar e compartilhar conhecimento existente em qualquer tipo de organização”.
Em [2] afirma-se que é muito mais lucrativo para uma organização investir certa quantia em seus ativos de conhecimento do que despender a mesma quantia em ativos materiais. Vê-se que o crescente conhecimento global faz com que haja uma preocupação em como gerenciar dados, informações e conhecimento para tirar melhor proveito em ambiente de trabalho. No próximo tópico será descrito mais detalhadamente o uso do conhecimento e a importância do seu gerenciamento para que a qualidade do ambiente de pesquisa ou produto produzido cresça proporcional à qualidade do gerenciamento adotado.
2.1.
Importância da Gerência de Conhecimento - Knowledge
Management
O valor de um produto está no conteúdo intelectual, não físico [2]. Isso implica a reconceitualização do significado de produção e produto, pois o conhecimento tornou-se o ingrediente mais importante para projetar, executar e produzir.
A gerência do conhecimento deve ajudar, em geral, a tratar o conhecimento como um recurso e deve estimular idéias praticas que possam ser implementadas. O conceito de gerência de conhecimento se baseia, em partes, em considerações teóricas e, em parte em problemas reais.
É importante que gerência de conhecimento seja entendido e estudado constantemente durante os projetos e estudos com o fim de aperfeiçoar e melhorar o conhecimento e a gerência deste.
O conceito de gerência de projeto em [4] é a aplicação de conhecimento, habilidades, ferramentas, e técnicas ás atividades do projeto, de forma a atingir as necessidades e expectativas das partes envolvidas.
Nota-se que a aplicação de conhecimento é essencial para o gerenciamento de um projeto. No entanto vê-se também que aplicar o conceito de gerência de conhecimento é utilizar o próprio conhecimento para atingir e exercer as necessidade e expectativas de conhecimento.
Gerenciar o conhecimento proporcionará maior domínio do que se está sendo produzido. Entender e resolver as necessidades de um ambiente é objetivo primordial
em projetos de desenvolvimento. Então a utilização de conhecimento e a gestão deste aumentará proporcionalmente de acordo com a qualidade do gerenciamento.
Nos sub-tópicos a seguir serão apresentados alguns elementos essenciais para a gerência de dados e informação com o objetivo de melhor conhecimento.
2.1.1. Processos Essenciais
Começa-se agrupando e categorizando em termos gerais os problemas encontrados nos ambientes de projeto. Isso permite que sejam identificadas diversas atividades que são consideradas essenciais na gerência do conhecimento e que estão todas, muito proximamente, relacionadas. É claro que se pode fazer intervenções em processos essenciais isoladamente, mas isso, inevitavelmente , afetará os demais. Portanto deve-se evitar tentar aperfeiçoar atividades de conhecimento em áreas individuais sem considerar os efeitos mais amplos.
Probst em [2] classifica os processos essenciais com sendo os seguintes: Aquisição do Conhecimento, Identificação do Conhecimento, Retenção do Conhecimento, Utilização do Conhecimento, Partilha ou Distribuição do Conhecimento e Desenvolvimento do Conhecimento.
Para o bom controle do conhecimento, os processos essenciais são importantes, pois servem de norte para o gerenciamento da informação que está sendo adquirido e do conhecimento que está sendo gerado.
As atividades citadas têm uma relação de interdependência uma das outras. É importante que quem esta responsável pelo controle destas atividades tenha conhecimento para que tais atividades (as atividades aqui, são os processos essenciais) sejam bem aproveitadas e que o conhecimento seja gerado de forma a atingir os fins necessários, que é contribuir para o crescimento intelectual do ambiente de pesquisa.
As pessoas precisam entender e saber utilizar o conhecimento que está presente no ambiente de desenvolvimento. O conhecimento é a aplicação de determinado dado ou informação em uma área especifica, portanto os ambientes de trabalho e pesquisa necessitam a cada dia da aplicação das informações para que assim seja gerado conhecimento.
Figura 1 - Processos Essenciais
Em [2] os processos essenciais é concluído com o seguinte argumento:
“Os processos essenciais de gerência de conhecimento produzem um quadro amplo dos problemas operacionais que podem surgir ao se considerar o conhecimento como recurso. Também pode haver dificuldades, se a empresa deixar de inserir na gestão do conhecimento em uma estratégia global. As intervenções operacionais devem ser feitas em uma estrutura que as coordene e lhes dê orientação. Compete a gerência criar uma estrutura. Para isso, acrescentamos mais dois elementos construtivos, isto é, objetivos do conhecimento e avaliação do conhecimento. Isso amplia nosso conceito de gerência do conhecimento e o transforma em um sistema de gestão. As metas do conhecimento esclarecem a orientação estratégica de gestão do conhecimento e os objetivos concretos de intervenções específicas. O processo de avaliação do conhecimento completa o sistema. Ele fornece os dados essenciais para o controle estratégico de projetos de gerência de conhecimento”.
A utilização dos elementos essenciais no entendimento de gestão ou gerência de conhecimento é base para que os conceitos reais de Knowledge Management sejam aplicados de forma padrão em projetos. O conceito de KM está presente nos modelos de gerência que serão citados.
A seguir serão apresentados os elementos construtivos na evolução da aplicação dos conceitos de KM.
2.1.2. Elementos Construtivos da Gerência do Conhecimento
Têm-se como elementos construtivos do conhecimento, os processos essenciais junto com a avaliação do conhecimento e os objetivos estabelecidos para o conhecimento.
Figura 2 - Elementos Construtivos da Gerência do Conhecimento
A Figura 2 mostra os elementos construtivos e suas inter-relações lógicas.
Em [2]é apresentado a avaliação de conhecimento de acordo com os elementos construtivos afirmando que se precisa de métodos para medir os conhecimentos normativos, estratégicos e racionais. A forma em que as metas de conhecimento são formuladas determina as maneiras pelas quais podem ser avaliadas. A qualidade das metas, portanto, torna-se aparente no estágio de avaliação, se não ocorrer antes.
A idéia de implementar elementos construtivos faz com que o projeto seja mais bem trabalhado, contudo tem-se como conseqüência o tempo de duração. Para organizações maduras e que tem uma equipe de gerência de conhecimento, esse trabalho é facilitado. Para trabalhos individuais é interessante que a avaliação do conhecimento e o estabelecimento de metas seja analisado de forma a não atrasar o projeto.
Vários modelos de conhecimento são aplicados para uma melhor gerência de conhecimento. Cada organização e projetos distintos utilizam e aplicam estruturas e modelos de gerência de conhecimento diferentes, mas conservando o conceito padrão de gerência de conhecimento.
Esses conceitos apresentados servem de base para explicar o modelo proposto na fase de desenvolvimento.
qualidade da aplicação de um modelo específico de gestão de conhecimento influenciará o produto final desenvolvido.
2.2. Modelos de Knowledge Management
O fluxo de dados e informações constante em um projeto de desenvolvimento faz, muitas vezes, que determinado dado deixe de ser coletado de forma a ajudar ou ser útil no futuro. Muitas vezes os gerentes de projeto ou desenvolvedores tentam lembrar de alguma informação que existiu em determinada fase e que precisa ser utilizada na fase atual, mas por causa da não preocupação anterior com as informações e conhecimento de circulavam no ambiente do projeto, esses dados não podem ser utilizados como conhecimento e ajudar na continuidade do projeto.
Modelos de gerência são criados com o objetivo de aplicar conceitos de conhecimento e gestão de informações e a partir deste ponto especifico provar que o modelo está de acordo com os padrões e conceitos base de Knowledge Management.
A criação e aplicação de regras, modelos ou estilos arquiteturais para gerência de conhecimento tem sido uma preocupação nos últimos anos. Como foi descrito, o mundo gira em torno de informações e conhecimento que devem ser tratados para serem utilizados para atividades especificas.
Serão apresentados 4 modelos base (Para aprofundamento nos modelos apresentados, ver ANEXO II), desenvolvidos na COPPE/UFRJ [3]. Esses modelos abordam a aplicação dos modelos criados em programas de graduação e pós-graduação. Junto a apresentação desses modelos será mostrado a utilização desses conceitos em aplicações distintas. Isso com o objetivo de melhor explicar o conceito aplicado de gerência de conhecimento.
Existem também 2 estilos arquiteturais que implementam conceitos de distribuição de informações e conhecimento com o objetivo de agilizar a distribuição de conhecimento. Esse modelos ou estilos arquiteturais utilizam inteligência artificial (IA) na implementação desses conceitos.
Após a apresentação desses modelos será feita uma comparação entre eles, com o fim de melhor compreensão de qual modelo é importante para qual ambiente.
Em relação aos modelos desenvolvidos e com base no projeto de desenvolvimento [3], os focos são: Término do Projeto, Término da Fase, Término da Iteração e Foco no Processo.
Os estilos arquiteturais que implementam conceitos de gerência e conhecimento são: Invocação Implícita e Quadro-Negro.
Os modelos apresentados serão descritos a seguir.
2.2.1. Modelo com Foco no Término do Projeto
O primeiro modelo apresentado foca o término do projeto. A avaliação e coleta de conhecimentos aplicados, das dificuldades e as novidades aprendidas (sucesso nas atividades) são feitas após a conclusão do projeto.
O conceito é simples e direto, mas é importante entender como funciona o conceito do modelo.
No projeto de desenvolvimento as informações que trafegam e o conhecimento existente não deixam de serem coletados. É interessante notar que sempre a constante informação existirá em um projeto de pesquisa e desenvolvimento. Então, como as informações são coletadas, a análise é feita com base na matéria-prima existente, que terá como marco, o final de todo o projeto.
Pode-se ter como exemplo a modelagem e implementação usando um banco de dados objeto-relacional. O objeto principal de estudo do exemplo é o banco de dados.
Como é um projeto relativamente pequeno e que é um trabalho seqüencial existente ao longo de projetos distintos, a análise de tal modelagem pode ser feita ao término do mapeamento das tabelas e objetos. O conhecimento gerado através das informações coletadas será apenas utilizado no projeto seguinte.
As dificuldades encontradas e os sucessos conquistados não poderão ser tratados e utilizados no próprio projeto de desenvolvimento. Com isso muitas informações podem ser perdidas no decorrer do projeto.
Como nos próximos modelos que serão apresentados, os benefícios e as implicações que cada modelo apresenta devem ser previamente analisado para que o projeto não se torne de difícil implementação.
Gerência de conhecimento foi feita para dar qualidade e facilidade ao processo de desenvolvimento. A partir do momento que este se torna uma dificuldade, os conceitos de utilização de conhecimento não estão sendo implementados de uma forma concreta.
Figura 3 - Modelo com Foco no Término do Projeto
Os próximos dois modelos apresentados também seguem o conceito deste modelo centrado no projeto, sendo que a diferença, são os marcos de análise das informações e conhecimento.
2.2.2. Modelo com Foco no Término da Fase
O segundo modelo apresenta o foco no término da fase. As informações geram conhecimento para ser utilizado no próprio projeto. O marco de análise das informações, das dificuldades e facilidades são as fases. A cada fase as informações são analisadas e o conhecimento é produzido. O conhecimento na fase final é sempre maior que o conhecimento inicial.
Este modelo é importante para projetos maiores que o primeiro citado, pois existe uma necessidade de se utilizar e gerenciar às informações de uma fase para solucionar problemas das fases seguintes e de, conseqüentemente, de projetos seguintes.
O foco na fase faz com que problemas de implementação da gerência de conhecimento sejam vistos e que o conhecimento melhor produzido.
Em [3] obtém-se o que se espera com este modelo que mais pontos fracos e pontos fortes possam ser identificados nas fases em que os processos de gerência sejam mais executados.
Esse foi o modelo aplicado no estudo de caso feito por [3] para verificar e mostrar a importância de utilização de gerência de conhecimento. No artigo base [3]
A Figura 4 mostra como funciona o modelo com foco nas fases de desenvolvimento de um projeto ou processo de software.
Figura 4 - Modelo com Foco no Término da Fase
2.2.3. Modelos com Foco no Término da Iteração e foco no Processo
Os dois últimos modelos descritos por [3] descreve o foco no término da iteração e em seguida descreve sobre o foco no processo de desenvolvimento.
O modelo com foco no término da iteração segue a mesma estrutura do com foco na fase e do com foco no projeto, sendo que agora o ponto de análise e coleta de informações é o término da iteração. Esse modelo é o que mais se aproxima de um com o objetivo em fluxo de informação. A modelo a seguir, que será proposto na sessão de 3, sessão de desenvolvimento, tratará de um com foco no fluxo de informação.
Por último, o modelo com foco no processo tem o objetivo de melhoria continua na qualidade do processo. É interessante pensar em melhoria de processo e qualidade de processo a partir da gerência de conhecimento, pois, se a estrutura do modelo de processo for estruturado de uma forma a boa aplicação, a qualidade do produto será uma conseqüência do conhecimento existente no ambiente que implementa o processo de software.
2.2.4. Modelo ou Estilo Arquitetural de Invocação Implícita
Sabe-se que à medida que a quantidade de modificações e aperfeiçoamentos aumenta, também cresce a complexidade das interações entre os módulos do sistema. Isso faz com que projetistas de software busquem uma abordagem para tratar tais mudanças de modo que componentes do sistema possam ser modificados independentemente, bem como aperfeiçoamentos possam ocorrer de forma incremental [5]. Alguns sistemas se aproximam desses objetivos.
Figura 5 - Estrutura Invocação Implícita
A Figura 5 apresenta um exemplo de uma organização de um sistema de produção. Esse paradigma de implementação para sistemas consiste de um conjunto de regras. Essas regras são um conjunto de pares, padrão-ação, que são ativadas quando um ou mais padrões correspondem àquelas existentes no conhecimento do trabalho, por exemplo, um banco de dados compartilhado.
Um conjunto de regras compõe a base de conhecimento, em que cada regra apresenta um formato.
se padrão então ação
O padrão define as condições sob as quais a ação associada deveria ser aplicada. Os padrões têm como base elementos que se tem na memória, ou conhecimento, do ambiente de trabalho. Assim quando um conjunto de padrões é
identificado, o sistema de produção determina a ordenação das regras aplicáveis bem como controla as ações correspondentes [5].
O modelo ou estilo arquitetural de invocação implícita é uma forma de gerenciar componentes de conhecimento. A implementação deste estilo requer conhecimento mais aprofundado em agentes. Esse tipo de modelo apresenta um estudo especifico e focado em ambientes de produção em alta escala e de tempo real.
2.2.5. Modelo ou Estilo Arquitetural Quadro-Negro
Segundo [5] o modelo, ou estilo, de arquitetura quadro-negro (blackboard) originou-se no campo de inteligência artificial, no qual ele era utilizado como um mecanismo para o compartilhamento de conhecimento ou dados por vários componentes inteligentes. Esse estilo considera a existência de um repositório central de dados circulando por um conjunto de componentes, que são chamados de células de conhecimento.
O uso de componentes inteligentes para obtenção e armazenamento de conhecimento tem sido uma constância no estudo de Inteligência Artificial (I.A.). Formas de coleta e disseminação de conhecimento tem sido não só um objetivo nas áreas de administração de negócio e conhecimento, mas é importante esse estudo e pesquisa também na área computacional.
Mendes [5] ainda diz que a idéia do estilo arquitetural quadro-negro tem como base um modelo de solução de problemas que fornece uma estrutura conceitual para organizar o conhecimento do domínio bem como uma estratégia para aplicar esse conhecimento. Esse estilo arquitetural prescreve a organização do conhecimento do domínio, todas as entradas e soluções parciais para solucionar o problema.
A organização do estilo quadro-negro, que será apresentado como modelo, consiste basicamente de três componentes: Células de Conhecimento, Estrutura de Dados do Quadro-Negro e a Estrutura de Controle.
Nas Células de Conhecimento, o conhecimento necessário para solucionar um problema é particionado em células de conhecimento. Tais células são separadas e independentes.
Na Estrutura de Dados, os dados de soluções de problemas são mantidos num banco de dados compartilhado, denominado de quadro-negro. As células de conhecimento causam modificações no quadro-negro que desencadeiam alterações
até chegar nua solução. Toda interação e comunicação entre as células de conhecimento ocorrem unicamente através do quadro [5].
É importante analisar o tipo de implementação que o modelo quadro-negro propõe. Ambientes de pesquisa e desenvolvimento com uma estrutura complexa e de coleta e análise de dados constantes, essa implementação do quadro negro é um importante meio para solucionar problemas, contudo em ambientes onde a produtividade e o fluxo de informações e conhecimento são reduzidos, é custosa a implementação e utilização do estilo.
Por último, na Estrutura de Controle, as células de conhecimento respondem de forma oportunista às mudanças no quadro [5].
Figura 6 - Estilo Quadro-Negro
A Figura 6 ilustra o modelo do quadro-negro.
O estilo arquitetural descrito possui um banco de dados compartilhado que apresenta uma organização dependente da aplicação. Existe, também um conjunto de células de conhecimento que são logicamente independentes e respondem às mudanças que ocorrem na base de dados.
As células de conhecimento podem ser ativadas através de um estado do banco de dados. Dessa forma, as células de conhecimento respondem às alterações que atuam no quadro-negro.
É importante observar que o fluxo de controle do sistema que implementa esse modelo não é explicitamente definido. Em vez disso, o fluxo de controle é determinado pelo conjunto de componentes ativos em um determinado instante.
2.3. Aplicações de Knowledge Management
Iniciativas de pesquisas e aplicações de gerência de conhecimento na área de software têm se transformado em uma constância. Projetos de pesquisa, como este trabalho monográfico, procuram formas novas de implementar conceitos de gestão, ou gerência de conhecimento, no meio da informática de forma a propor melhores soluções de desenvolvimento, aumento da qualidade de um produto de software [6], estabelecer um processo de desenvolvimento padrão assim como aplicar os conceitos de gestão na área de software.
Assim como os modelos apresentados anteriormente, mostrando como desenvolver diferentes tipos de gerência de conhecimento e aplicações mais avançadas com I.A., outros projetos têm procurado descobrir e aplicar tais conceitos, utilizando interpretações e aplicações distintas.
É o caso do ProKnowHow [11], onde foi construída uma ferramenta de disseminação de conhecimento para auxiliar o processo de desenvolvimento de uma filial de uma empresa, instalado no estado do Espírito Santo, Brasil.
O ProKnowHow, nome dado à ferramenta desenvolvida, era responsável por armazenar os dados e apresentados quando necessário. O responsável por manipular a ferramenta é chamado de gerente de conhecimento, onde este faz um trabalho paralelo com os grupos responsáveis por diferentes módulos do sistema (desenvolvedores) e o gerente do projeto.
“ProKnowHow contém um repositório para o processo padrão da organização que é composto pelos modelos de ciclo de vida, procedimentos, atividades, ferramentas, modelos de documentos e políticas. Toda a infra-estrutura necessária à manutenção do processo e dos seu componentes também é fornecida. Essa manutenção é efetuada de acordo com as regras estabelecidas pela organização, que define como a necessidade de alteração no processo é detectada, registrada, assim como os recursos para efetuar essa alteração e os procedimentos para a aprovação do mesmo” .
Figura 7 - Arquitetura do ProKnowHow
Para ajudar uma organização na busca da melhoria contínua do processo de software, é útil fornecer apoio automatizado por meio de uma ferramenta capaz de suportar o armazenamento e disseminação de experiências. Essa ferramenta deve possuir um repositório contendo os conhecimentos formal e informal obtidos nos projetos, organizados de forma a poderem ser reutilizados em outros projetos.
A ferramenta ProKnowHow foi desenvolvida com o objetivo principal de apoiar a disseminação do conhecimento sobre processos [11].
3. DESENVOLVIMENTO DO PROJETO
O trabalho de desenvolver um modelo produtivo e fazer com que o crescimento de conhecimento seja visível é objetivo de muitas pesquisas. Os modelos criados, e as técnicas utilizadas, são, a cada dia, melhores. Mas como o conhecimento não é estanque, pode-se coletar mais informações de aplicações já formadas e aplicadas, onde esta, gerou um conhecimento suficiente para ser utilizado em determinadas situações diferentes, para suprir necessidades diversas e comuns entre si em diferentes projetos.
Outro objetivo da aplicação de um novo modelo para gerência de conhecimento é fazer com que a gerência de conhecimento seja uma atividade comum em ambientes de software. Pensando nisso, sua aplicação é fazer com que esse conhecimento sobre como gerenciar o conhecimento seja propagado. Aplicando o próprio conceito de gerência de conhecimento, a meta é fazer com que o conhecimento gere conhecimento e esse conhecimento esteja à disposição de todos.
3.1. Metodologia
A metodologia aqui apresentada constará dos seguintes itens: Inicialmente será apresentado o modelo proposto, em seguida uma aplicação para este modelo e, finalmente, uma descrição dos principais resultados obtidos.
Na sessão 3.2 será feita uma descrição detalhada do modelo proposto, apresentando a estrutura e seqüência de aplicação do modelo em um ambiente de desenvolvimento de sistemas de software. Nesta sessão também será apresentado como foi montada a base de conhecimento para armazenar as informações que serão utilizadas em um determinado projeto e que, a partir destas, o conhecimento será gerado.
Na sessão 3.3 será apresentada a aplicação do modelo. A aplicação descreverá como o modelo foi utilizado, as dificuldades e benefícios que este trará para um projeto de software e como foi utilizado para a construção deste trabalho. Como foram utilizadas as informações e como foi gerado conhecimento, junto com os resultados obtidos, também serão objetivos desta sessão. O modelo será aplicado na construção do próprio trabalho monográfico, com o objetivo de apresentar o uso de informações e
Finalmente, na sessão 3.4 serão mostrados os resultados obtidos e como este pode ser utilizado em projetos futuros.
3.2. Modelo Proposto – Knowledge Flow Model (KFM)
Pensando na continuidade do estudo, será apresentado um novo modelo que tem como base a seguinte afirmação: “As informações não entram no início da
atividade e nem saem no final da atividade, existe um fluxo de informações que ocorre a todo o momento” [6]. Os modelos apresentados anteriormente, junto com a afirmação
apresentada, servem como base forte para aplicação dessa proposta (modelo) para gerência de conhecimento.
O fluxo constante de conhecimento, dados e informações em um ambiente de pesquisa e desenvolvimento, não é usado de forma a produzir o conhecimento que poderia produzir. O conhecimento, como descrito anteriormente, só é gerado, quando as informações são usadas de forma a produzir uma aplicação de conhecimento e utilização futura. Se existe um fluxo constante, o conhecimento pode ser coletado e aplicado de forma constante. De acordo com que o aumento de fluxo de dados, deve ser aplicado um modelo de análise e aplicação para que esses dados gerem uma base de conhecimento concreta que é utilizada constantemente no decorrer do projeto e que nenhum dado e informação, nem conhecimento seja perdido. Cada dado é importante, cada informação deve ser levada em consideração. As informações são úteis e quando aplicada corretamente aumenta o conhecimento do ambiente de produção. Como o conhecimento está ligado a pessoas, essas pessoas devem criar o hábito de ir à fonte de conhecimento, e usar o conhecimento necessário para resolver algum problema, para apenas se inteirar do andamento do projeto, para descrever algum documento gerado ou para publicar mais conhecimento.
A partir dos modelos apresentados na fundamentação teórica do trabalho, notou-se a necessidade de gerenciamento do fluxo de informações existente em um projeto de desenvolvimento de software e sistemas relacionados.
A partir dos estilos descritos, também foram coletados conceitos para que o modelo seja um modelo de gerência de conhecimento conciso e com uma usabilidade elevada. A prévia conceituação teórica e descrições apresentadas são importantes para a estruturação da base do modelo que será proposto.
tentam resolver problemas relacionados a alguma fase de um projeto de pesquisa. E é importante ressaltar que a preocupação com o fluxo de conhecimento não tem sido abordada como um fim, mas como um meio para a concretização e aplicação do modelo.
É interessante avaliar também a dificuldade existente nos momentos de transição das fases de desenvolvimento (Milestones), onde se analisa a fase anterior, corrigindo erros ou problemas gerados durante a execução do processo.
Essa atividade de análise e correção de erros ajuda o gerente e desenvolvedor a diminuir o tempo de correção na fase final do projeto. Gerenciar conhecimento adquirido e torná-los reutilizáveis é de vital importância para qualquer projeto [3].
O modelo proposto tem como foco o fluxo de informações e conhecimento existente em um ambiente de projeto e desenvolvimento.
Para melhor identificação do modelo proposto em relação aos modelos apresentados, o modelo proposto será descrito como: Knowledge Flow Model, ou Modelo de Fluxo de Conhecimento, ou ainda descrito pela sigla KFM.
Este modelo tem como objetivo propor uma melhor forma de coletar informação e conhecimento durante um projeto de desenvolvimento. Além da coleta de conhecimento e informação é interessante que haja uma forma de ter maior proveito desse conhecimento armazenado, para que mais conhecimento seja gerado, e que o ambiente de software e desenvolvimento seja um ambiente onde a diferença de conhecimento entre os participantes do projeto seja cada vez menor.
A apresentação do modelo proposto será feito nas seguintes subseções: Descrição funcional do KFM, contexto de desenvolvimento e escopo do modelo.
3.2.1. Descrição Funcional do KFM
O KFM tem como base os conceitos dos modelos descritos no trabalho. Então, partindo do principio dos conceitos de marco de avaliação das informações e conhecimento existente, este modelo apresentará todos os marcos descritos nos modelos apresentados no Anexo I, também descritos neste trabalho, sendo que o foco não será o término de projeto, fase ou iterações de algum processo ou projeto de desenvolvimento de software. O foco será o fluxo de informações e como essas informações podem ser coletadas para gerar conhecimento que possa ser utilizado para resolução de algum problema futuro, dentro do escopo do projeto de
Em cada processo de desenvolvimento de um projeto de software, existem fases e iterações, onde são analisadas atividades praticadas durante o decorrer do projeto de pesquisa. O KFM está sendo trabalhado e aperfeiçoado de acordo com a fase inicial de um processo de desenvolvimento de software.
Os conceitos que serão descritos valem para qualquer iteração, ou fase de qualquer processo que seja utilizado em um projeto de pesquisa e desenvolvimento.
Inicialmente, para utilização do KMF, é necessária uma base de conhecimento para armazenamento das informações que serão coletadas no decorrer do projeto. Essa base de conhecimento pode ser abstraída, pois projetos diferentes poderão utilizar base de dados de conhecimento distinta uma das outras. O importante da aplicação do modelo é a teoria que se encontra por traz da aplicação.
Definida a base de conhecimento para aplicação do modelo em um projeto, será iniciada a utilização dos conceitos do KMF.
O modelo apresenta partes essenciais. A estrutura para que o modelo seja conservado na aplicação em um ambiente de pesquisa deve ser seguida. Projetos que utilizarem uma definição diferente estarão instanciando um novo modelo, onde existem conceitos de fluxo, mas não o foco em fluxo de conhecimento. O KFM não se limita a um projeto especifico, mas sim pode ser utilizado em distintos projetos com objetivos diferentes. De modo que a estrutura que será descrita é importante que seja utilizada para conservação do modelo.
Figura 8 - Estrutura do Modelo
3.2.1.1. Utilização do Conhecimento
Ao iniciar uma fase ou uma iteração estabelecida nesta fase, é necessário saber sobre a existência de conhecimento e informações no ambiente de pesquisa e desenvolvimento. Sempre que é necessário conhecer ou buscar algum conhecimento é utilizada a estrutura de seta que parte do centro da fase para a parte superior da base de conhecimento.
É importante descrever o significado deste tipo de tarefa, que o modelo proporciona para quem está implementando.
Na Figura 8 tal tarefa é descrita como “Utilização do Conhecimento”. O usuário do modelo faz uma pesquisa para saber como o projeto e suas fases estão estruturadas em relação ao conhecimento e informações existentes.
É importante notar que o marco inicial da aplicação do KFM é conhecer a base de conhecimento, isso se aplica a cada iteração e consequentemente a cada fase. E isso faz com que as pessoas tenham conhecimento de dificuldades e soluções que problemas antigos provocaram. Deste modo, caso haja uma dificuldade, esta poderá ser resolvida facilmente, pois a base de conhecimento proporciona soluções anteriores,
pessoas poderão saber como se posicionar diante das dificuldades que as fases e iterações podem apresentar.
3.2.1.2. Aplicação do Conhecimento
Após a explicação da utilização do conhecimento, será apresentado como será aplicado o conhecimento existente na base de conhecimento nas atividades da fase ou iteração do projeto.
Esta segunda tarefa, “Aplicação do Conhecimento”, mostra a aplicação de informações ou conhecimento para que estes venham a gerar conhecimento. É importante mostrar que o conhecimento gerado pode ser utilizado na mesma iteração.
A aplicação do conhecimento é feito de forma a solucionar problemas mais rapidamente, para que a qualidade do produto desenvolvido seja maior e melhor e para que o tempo de produção diminua.
A Engenharia de Software tem como meta solucionar estes tipos de dificuldades em relação ao tempo e qualidade, e como esta proposta de modelo, mais especificamente o KFM, tem como estrutura os conceitos de Engenharia de Software, tais conceitos da Engenharia estão presentes no modelo apresentado e proposto.
A aplicação do conhecimento consiste em utilizar conceitos existentes na base de dados ou base de conhecimento do modelo e aplicar no próprio projeto, com a meta de gerar conhecimento que será utilizado posteriormente.
3.2.1.3. Revisão da Base de Conhecimento
A descrição do item 3.2.1.3 é de certa forma parecida com a da descrição do item 3.2.1.2 quando este último é utilizado nas fases iniciais com o objetivo de entender e ficar a par do conhecimento existente do projeto. Sendo que existem diferenças, pois são aplicadas em momentos distintos.
Tal tarefa pode ser utilizada a qualquer momento do projeto de desenvolvimento, não sendo uma tarefa seqüencial do modelo.
A qualquer momento qualquer pessoa pode ir à base de conhecimento e tirar dúvidas existentes ou até mesmo entender o conhecimento que foi gerado no decorrer dos trabalhos passados. Essa tarefa também pode ser uma tarefa que tenha ao final de sua aplicação um conhecimento gerado, pois este aplicará as informações colhidas em uma área especifica do projeto e assim aplicar o conceito de conhecimento.
É crucial ter atenção ao conhecimento e informações existentes na base de conhecimento, para que não tenha conhecimento e informações duplicadas e isso cause alguma duvida no momento da pesquisa e da aplicação.
Para isso é importante ter uma pessoa responsável pela base de conhecimento e pela gerência de conhecimento que o modelo proporciona. Se o projeto for um projeto pequeno e com poucas pessoas, ou até mesmo individual, o responsável por gerenciar este conhecimento deve ter cuidado para a duplicidade de informações.
3.2.1.4. Geração do Conhecimento
A Geração de Conhecimento é o objetivo principal do modelo. É normal pensar em como gerar conhecimento e ter preocupação com uma gerência que colete informações, dados e conhecimento suficiente para que a base de dados seja povoada e que seja tirado proveito de todo conhecimento gerado. Sendo que esta tarefa do modelo é conseqüência de todas as anteriores junto com a aplicação correta do modelo.
A partir do momento que o fluxo de informações é trabalhado, coletado e analisado de forma satisfazível, o conhecimento será construído e gerado naturalmente. O importante é aplicar a informação e o conhecimento nas áreas estabelecidas nas iterações do projeto, aplicando assim os conceitos base para gerar o conhecimento.
3.2.2. Contexto de Desenvolvimento do Modelo
Após algumas análises da aplicação de gerência de conhecimento em ambientes de software, foi notada uma ausência de tal aplicação em projetos de pequeno porte.
Existem processos robustos que aplicam o conceito de gerência de conhecimento de uma forma implícita, mas não mostram uma seqüência de atividades a ser seguida de forma a tirar proveito do conhecimento existente. A aplicação de gerência de conhecimento vem através de modelos estudados e aplicados de forma a melhorar o ambiente gerencial dos projetos.
Empresas utilizam sua própria forma de gerência e a aplicação do conceito de conhecimento muitas vezes é deixada de lado por motivos particulares de aplicação.
ajudado a apresentar a importância da utilização de gerência de conhecimento em ambiente de desenvolvimento de sistemas e de pesquisas.
Nesse contexto, o Knowledge Flow Modelo (KFM) vem a somar e a ajudar no desenvolvimento e crescimento da aplicação do conhecimento e gerência de conhecimento baseado no fluxo de informações, com o objetivo já descrito neste trabalho.
3.3. Aplicação do Modelo
O modelo de gerenciamento será aplicado na própria proposta de criação do modelo de gerenciamento e também em uma proposta de modelagem de um sistema. Juntamente com a proposta de aplicação, o modelo será utilizado.
É interessante notar que a todo o momento, os termos dificuldades e benefícios de uma aplicação, de uma informação ou de um conhecimento está sendo citado. Poder-se-ia aplicar o modelo de gerência de conhecimento apenas no próprio trabalho monográfico, mas como o objetivo do trabalho é a análise de gerência em ambientes de software, tal aplicação consolidaria apenas parcialmente os objetivos estabelecidos. Pensando nos objetivos estabelecidos, aplicação será uma junção do próprio trabalho monográfico como também da produção de um sistema que implemente os conceitos do KFM.
É importante perceber que a aplicação do KFM tem como objetivo coletar e verificar o que o modelo propõe de forma concreta para o crescimento e amadurecimento de gerência de conhecimento em ambientes de pesquisa e produção de software.
A aplicação do modelo de gerência será focada na fase inicial (concepção) de um projeto de software, pois utilizando esta fase, os resultados em curto prazo serão satisfeitos. A base de dados proposta conterá as informações das diferentes aplicações, fazendo com que a análise do modelo seja de mais fácil entendimento. Juntamente com a proposta do modelo, esta sendo apresentado uma modelagem para a base de dados onde serão armazenadas as informações de um projeto de software ou de um processo aplicado.
Como a criação do modelo de gerência, com suas regras e atividades fins, segue a orientação de um processo de desenvolvimento, pode-se utilizar o próprio modelo proposto no processo, para gerenciar o conhecimento que detalha a proposta
decorrer do projeto de construção e aplicação do modelo serão coletados e analisados, seguindo a orientação do próprio modelo proposto. Na criação da base de dados, metodologia de desenvolvimento, descrição do modelo e conclusões a respeito da proposta em análise, serão coletadas informações importantes sobre tudo que esta sendo produzido. Ao final de cada ponto do processo, a base de conhecimento será analisada, e os dados serão comparados sempre com o ponto anterior analisado.
É importante se deixar claro como está sendo aplicado o modelo proposto. O modelo esta sendo aplicado no próprio processo de proposta e criação das especificações do KFM.
3.3.1. Importância da Aplicação
Após descrever teoricamente e estabelecer objetivos em uma proposta para gerência de conhecimento, é importante verificar que tal teoria e linha de raciocínio estabelecido podem ser utilizadas concretamente.
Figura 9 - Método de Aplicação do Modelo
A Figura 9 mostra graficamente a atividade de aplicação da abstração teórica com o objetivo de atingir a um modelo e estrutura concreta, que facilite o entendimento teórico e que futuras aplicações do KFM possam ser facilmente utilizadas.
É importante perceber que a seqüência de transformação de uma informação ou teoria em algo concreto não é trivial. A Figura 9 descreve a transformação dos conceitos de fluxo de conhecimento para o próprio modelo. Primeiramente o modelo de fluxo foi criado de maneira prática e incremental. A cada revisão e aplicação dos conceitos, uma nova visão do modelo era estabelecida. A Figura 9 apresenta um fluxo simples, mas se notado, os conceitos por traz desta informação têm sua devida
criação de um modelo foram estudados e revisado para que tal proposta fosse concreta no momento de sua implementação.
Durante qualquer momento de aplicação, erros são encontrados e revisões são estabelecidas com o objetivo de aprimoramento da estrutura proposta. Nota-se que este é o procedimento normal na aplicação de qualquer conceito para se tentar provar a corretude ou a objetividade do que esta se propondo.
Por fim, a parte inferior da Figura 9 apresenta o modelo criado. Após todas as mudanças devidas, um modelo de fluxo de conhecimento KFM foi estabelecido para que aplicações de conhecimento fossem feitas e que o conhecimento gerado fosse absorvido de uma forma concreta.
3.3.2. Tecnologias Utilizadas
Para aplicação do modelo foi desenvolvido um sistema para dar suporte à aplicação do KFM. Basicamente para tal aplicação, foram utilizadas classes JAVA e uma base de dados que funciona como a base de conhecimento do modelo. A base de dados escolhida foi o PostgreSQL.
O sistema é um sistema WEB de requisição e coleta de informações e conhecimento. Nesta parte do sistema, a tecnologia utilizada foi à especificação JAVA, Java Server Pages, JSP.
Essa estrutura simples foi escolhida para que a produção e a validação do modelo KFM fosse feito de uma forma mais rápida e de qualidade.
A seguir será apresentada a arquitetura do sistema proposto para a aplicação do KFM.
Para a modelagem do sistema, foi utilizada a ferramenta case PowerDesigner, que produziu o diagrama de entidade e relacionamento, apresentado na Figura 10 e os scripts [apêndice A] utilizados do PostgreSQL.
1 3 7 5 2 4 10 5 9 8 tipo_informacao id_tipo_informacao descrisao nome INT4 TEXT TEXT <pk> informacao id_tipo_informacao id_informacao id_iteracao titulo descricao data INT4 INT4 INT4 text text TEXT <fk1> <pk> <fk2> fase id_fase nome_fase descrisao data_inicio data_fim INT4 TEXT TEXT TEXT TEXT <pk> iteracao id_iteracao id_fase id_atividade nome_iteracao descrisao data_inicio data_fim INT4 INT4 INT4 TEXT TEXT TEXT TEXT <pk> <fk1> <fk2> atividade id_atividade nome_atividade descrisao INT4 TEXT TEXT <pk> conhecimento_infomacao id_informacao id_conhecimento id_km data_uso INT4 INT4 INT2 TEXT <fk1> <fk2> <pk> tipo_conhecimento id_tipo_conhecimento descrisao nome INT4 TEXT TEXT <pk> conhecimento id_tipo_conhecimento id_conhecimento id_iteracao titulo descricao qtdUso data_uso INT4 INT4 INT4 text text INT4 TEXT <fk1> <pk> <fk2> sucesso id_conhecimento id_sucesso descricao data INT4 INT4 TEXT TEXT <fk> <pk> dificuldade id_conhecimento id_dificuldade descricao data INT4 INT4 TEXT TEXT <fk> <pk>
Figura 10 - Diagrama DER
3.3.3. Arquitetura do Sistema para Aplicação
A arquitetura escolhida para implementação do sistema foi uma arquitetura que tem como base a arquitetura MVC.
O Modelo MVC [8], Modelo-Visão-Controlador, representa os objetos ou dados de um aplicativo. A Visão é a representação deste modelo em formato de apresentação para o usuário, com interface apropriada para a entrada de informações. O Controlador, por sua vez, programa a interatividade, através do processamento das ações tomadas pelo usuário e atualização do modelo.
O fluxo de interação entre as camadas é cíclico. O usuário indica uma operação através da interface ou visão. Esta operação é processada pelo controlador que altera o modelo conforme a lógica de negócio, retornando ao usuário o novo estado do modelo no formato de uma nova visão. O usuário prossegue então a sua próxima tarefa, reiniciando o ciclo e assim por diante.
O molde MVC [8] oferece vantagens significativas no desenvolvimento de aplicativos, através da separação das camadas, possibilitando implementar com maior facilidade e clareza questões programáticas importantes como a persistência de dados, controle de segurança, comunicação em rede e fluxo de visualização. Equipes de
através de interfaces bem definidas. Esta separação permite que aplicativos possam ser mais facilmente modificados e estendido para atender a novas exigências, bem como possibilita que a interface com o usuário apresente várias visões de um só modelo, sem interferir com a lógica de negócio.
Através dessa arquitetura, o sistema foi desenvolvido. As páginas de requisição e resposta HTML e JSP, são a visão do usuário. O servlet, as classes JAVA junto com o banco de dados formam o modelo e o controle da arquitetura.
Figura 11 - Método de Aplicação do Modelo
A Figura 11 mostra graficamente como o sistema foi desenvolvido.
De acordo com a Figura 11, vê-se a representação da visão através das páginas html e jsp que ficam responsável por estabelecer o controle das requisições e receber as respostas no servidor em relação aos dados a serem apresentados. Em seguida tem-se o modelo que fica responsável pela parte intermediária do sistema, fazendo a comunicação do alto nível com o baixo nível - o baixo nível representado, neste caso, pelo controlador que faz a interface com a base de dados. E por fim, o controle é estabelecido pelas classes JAVA responsáveis por tal função como descrito na Figura 11.
O banco de dados PostGreSQL relaciona-se com o modelo MVC de uma forma indireta: recebendo as solicitações e enviando, caso tais solicitações estejam concretas, as respostas necessárias.
3.3.4. Ambiente de Aplicação
O ambiente de aplicação do modelo será o meio por onde foram transformadas as informações referentes à gerência e aos conceitos de aplicações de conhecimento em um produto concreto de aplicação do Modelo de Fluxo de Conhecimento.
Como foi descrito no inicio da aplicação, o modelo KFM é aplicado no trabalho monográfico e na produção de um sistema para gerência de conhecimento, mais especificamente o KFM. Utilizando esse contexto, a aplicação do KFM foi feita de forma a coletar resultados suficientes para a validação do modelo proposto.
Pensando na forma com que o modelo foi estruturado, com as tarefas, inicialmente quatro, estabelecidas, a aplicação seguiu tal descrição com o objetivo de utilizar todos os conceitos.
A Figura 12 apresenta a tela inicial do ambiente desenvolvido para a aplicação do Modelo de Fluxo de Conhecimento. Neste sistema serão utilizadas as funcionalidades do KFM. A seqüência de utilização no sistema é: Inicialmente verifica-se as iterações existentes no projeto ou processo que aplica o modelo KFM, em seguida pode-se adicionar uma informação na iteração, informação esta que poderá ou não se tornar um conhecimento para a equipe. Qualquer membro da equipe que utiliza o KFM poderá ir ao sistema e verificar as informações existentes no banco de conhecimento.
Figura 12 - Tela Inicial
Na geração do conhecimento a partir do sistema, ao se verificar as informações, o usuário do sistema pode adicionar um conhecimento, pois naquele momento a
desenvolvimento. Existem tipos de informação e conhecimento que podem classificar os dados inseridos.
Por fim a partir do conhecimento utilizado podem ser inseridos sucessos e dificuldades do conhecimento. Todos esses dados ficam gravados na base de conhecimento, onde podem ser acessados a qualquer momento para novas atualizações.
3.3.5. Descrição da Aplicação
Inicialmente será apresentada a seqüência de aplicação dos conceitos e logo após, será apresentado o diagrama de um ambiente que venha a utilizar a gerência de conhecimento pensando em fluxo de informação.
Na Figura 13 é apresentada a estrutura de fluxo de dados, informação e conhecimento em ambientes de conhecimento. Na parte inferior da figura, os dados existentes no ambiente de produção ou de pesquisa se transformam em informação específica quando inseridos em um contexto próprio. No contexto de desenvolvimento de software, onde o sistema KFM foi criado, tais dados são aplicados de tal forma a se interpretar as informações na área onde o dado esta inserido. A partir daí, as informações são utilizadas de forma a ajudar na continuidade da implementação e desenvolvimento. As informações quando aplicadas em áreas específicas proporcionam conhecimento, fazendo com que a base de conhecimento absorva e que seja aplicada futuramente.
Para a geração do conhecimento, nota-se, ainda na Figura 13 que além dessas informações serem inseridas em uma área específica, estas têm que ser manipuladas por alguém. Na parte superior da mesma figura vê-se que existe uma cooperação, indivíduo, equipe e gerência na manipulação dessas informações. O conhecimento só é gerado quando existe essa transformação, pois sem um indivíduo ou um grupo deste, a informação não será utilizada, nem o conhecimento será transformado.
É interessante notar ainda na Figura 13 que o conhecimento gerado pode ser reutilizado e novamente aplicado, criando conhecimento diferente do que o gerando da primeira vez.
O sistema de aplicação do KFM foi desenvolvido durante todo o projeto de pesquisa para consolidação deste trabalho mais especifico.
A Figura 13 mostra como ocorre o fluxo de dados, informação e conhecimento em um ambiente de pesquisa e desenvolvimento,
Figura 13 - Fluxo de Dados, Informação e Conhecimento
Foram analisadas para a aplicação do modelo KFM, nessa estrutura de ambiente apresentada, as seguintes atividades: Ativação do Trabalho, Verificação da Documentação, Mudança no Processo de Produção da Monografia, Mudança na Aplicação, Análise de Requisitos, Implementação, Estruturação da Metodologia de Aplicação, Mudança na Descrição da Metodologia do Trabalho.
Verifica-se que, as tarefas onde foram aplicados a gerência de conhecimento e o modelo de fluxo KFM se distinguem em relação ao tipo de aplicação. Como foi apresentado nas sessões anteriores o KFM foi aplicado na produção monográfica e na implementação de um sistema que aplique o modelo de fluxo de conhecimento, KFM.
As atividades referentes a implementação e construção do sistema de aplicação do KFM temos: Ativação de Trabalho (também referente ao trabalho monográfico), Verificação da Documentação, Mudança na Aplicação, Análise de Requisitos e Implementação.
3.3.5.1. Ativação do Trabalho
Inicialmente, sem informações ou conhecimento algum cadastrado, foi analisado formas de produção e quais assuntos poderiam ser tratados em um trabalho de pesquisa.
A idéia de gestão de conhecimento e a construção de um modelo que implementasse o fluxo de informações que eram geradas em um ambiente foram
No entanto, a partir do ponto inicial, o sistema apresentava uma informação que, ao ser analisada de forma a comparar com as decisões anteriormente tomadas, tinha um embasamento teórico e uma proposta mais concreta. Primeiro, notou-se que a pesquisa era concisa e tinha uma quantidade de conceitos complexos e relevantes em relação às decisões de assuntos abordados em projetos de pesquisa tomados anteriormente.
Então, partindo das condições apresentadas, é importante perceber que a partir da estruturação de um trabalho de curto prazo e que não tem um embasamento teórico concreto, este apresentará um período maior para aprovação.
É importante tecer considerações em se tratando da base de conhecimento. Partindo de uma informação inicial de ativação de um trabalho de pesquisa, foram tiradas conclusões relevantes em se tratando de ativação do trabalho.
É importante ficar atento à descrição do tipo de aplicação e como se está sendo analisada e comparada a base de conhecimento.
Primeiro, tinha-se uma informação inicial de ativação de trabalho, informação esta que se pode chamar, informação zero, ou informação não presente na base de dados. A partir desta informação, o conceito de conhecimento foi aplicado e verificou-se que projetos com conceitos concretos e objetivos estabelecidos são mais rapidamente aprovados.
É interessante notar o contexto especifico da aplicação. Antes da ativação do projeto, o sistema KFM não tinha sido implementado, no entanto a coleta de informações referente ao constante fluxo vinha sendo analisada.
Portanto, após esta aplicação inicial, a base de conhecimento continha a informação de importância da ativação, conceitos de conhecimento aplicados, sucessos em relação ao tempo de aprovação e análise das dificuldades de não ter um embasamento teórico concreto antes de dar inicio a um projeto de pesquisa e desenvolvimento.
Figura 14 - Aplicação KFM na Ativação do Trabalho
A Figura 14 apresenta a estruturação da construção do conhecimento na fase inicial de trabalho de pesquisa.
Primeiramente, verifica-se, que como a base de conhecimento não havia sido usada, o dado ou informação inicial deu inicio a todo o ciclo de conhecimento. A informação inicial do projeto, após a sua aplicação gerou o primeiro conhecimento com suas características específicas, sucessos e dificuldades.
Isso aconteceu pois era a primeira vez que o KFM estava sendo implantado. A seqüência de informação e aplicação a partir desse momento acontecerá de uma forma que a base de conhecimento ofereça as informações necessárias. Nota-se também a partir dessa figura que sempre a base inferior irá conter mais conhecimento que a base superior, pois o fluxo e aquisição de conhecimento ocorrem da parte superior para a parte inferior.
3.3.5.2. Verificação da Análise de Requisitos
Após se estabelecer o tema do trabalho e as informações iniciais, povoando a base de conhecimento com conceitos e aprendizado nesta fase inicial, foi necessário estabelecer e analisar os requisitos do trabalho e conseqüentemente do modelo KFM e como este seria implementado.
Como a base de conhecimento não apresentava nenhuma aplicação anterior e nenhuma informação de sucesso ou dificuldade neste assunto de análise de requisitos, a aplicação foi feita de uma forma a não utilizar conhecimento da base de dados (base de conhecimento) e aplicar na utilização do modelo.