Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
Ricardo de Holanda Busquet
Projeto de Graduação apresentado ao Curso de
Engenharia de Computação e Informação da Escola
Politécnica da Universidade Federal do Rio de
Janeiro como parte dos requisitos necessários para
a obtenção do grau de Engenheiro de Computação
e Informação.
Orientadoras: Ana Regina Cavalcanti da Rocha
Natália Chaves Lessa Schots
Uma Ferramenta para Gerência do Conhecimento no Ambiente SPEAKER
Rio de Janeiro
Março de 2015
Ricardo de Holanda Busquet
PROJETO SUBMETIDO AO CORPO DOCENTE DO CURSO DE ENGENHARIA
DE COMPUTAÇÃO E INFORMAÇÃO DA ESCOLA POLITÉCNICA DA
UNIVERSIDADE FEDERAL DO RIO DE JANEIRO COMO PARTE DOS
REQUISITOS NECESSÁRIOS PARA A OBTENÇÃO DO GRAU DE
ENGENHEIRO DE COMPUTAÇÃO E INFORMAÇÃO.
Examinadores:
__________________________________________
Prof. Ana Regina Cavalcanti da Rocha, D. Sc.
__________________________________________
Natália Chaves Lessa Schots, M. Sc.
__________________________________________
Prof. Gleison dos Santos Souza, D.Sc.
__________________________________________
Prof. Geraldo Bonorino Xexéo, D.Sc.
RIO DE JANEIRO, RJ – BRASIL
MARÇO DE 2015
Uma Ferramenta para Gerência do Conhecimento no Ambiente SPEAKER
iii
Busquet, Ricardo de Holanda
Uma Ferramenta para Gerência do Conhecimento no
Ambiente SPEAKER/Ricardo de Holanda Busquet – Rio de
Janeiro: UFRJ/Escola Politécnica – COPPE, 2015
XI, 39: il.; 29,7cm
Orientadoras: Ana Regina Cavalcanti da Rocha
Natália Chaves Lessa Schots
Projeto (graduação) – UFRJ/Escola Politécnica/Curso de
Engenharia de Computação e Informação, 2015
Referências Bibliográficas – p. 34-36
1. Gerência do Conhecimento I. da Rocha, Ana Regina
Cavalcanti et al. II. Universidade Federal do Rio de Janeiro,
Escola Politécnica, Curso de Engenharia de Computação e
Informação. III. Título
iv
A minha família de hoje.
E minha família no futuro.
v
Agradecimentos
Agradeço primeiramente a Deus acima de tudo.
Agradeço a meus pais, Almir Ricardo e Izete, e minha irmã Ingrid, pelo apoio e
pela confiança, por sempre me incentivarem em tudo.
Agradeço a Marry, pela paciência, pelo suporte.
Agradeço às professoras Ana Regina e Natália, minhas orientadoras, pelos
ensinamentos desde as aulas até nesse momento de projeto.
Agradeço aos professores Geraldo Xexéo e Gleison Santos, por aceitarem
participar da banca deste projeto de graduação.
Meus agradecimentos a todos.
vi
Resumo do Projeto de Graduação apresentado à Escola Politécnica/COPPE/UFRJ como
parte dos requisitos necessários para a obtenção do grau de Engenheiro de Computação e
Informação.
Uma Ferramenta para Gerência do Conhecimento no Ambiente SPEAKER
Ricardo de Holanda Busquet
Março/2015
Orientadoras: Ana Regina Cavalcanti da Rocha
Natália Chaves Lessa Schots
Curso: Engenharia de Computação e Informação
Nos dias atuais, grandes organizações vêm percebendo que um grande fator para manter
a competitividade é o tratamento do conhecimento organizacional como um ativo da
organização. A Gerência do Conhecimento ajuda nesse tratamento, definindo processos
para que o conhecimento leve a organização ao crescimento. Neste contexto, a utilização
de tecnologia para apoiar esses processos é uma boa opção, e alguns sistemas vêm sendo
desenvolvidos para tarefas que demandam a utilização do conhecimento. O ambiente
SPEAKER é um ambiente baseado em conhecimento para auxiliar a análise de
desempenho de processos de software. Este trabalho descreve a ferramenta desenvolvida
no contexto do SPEAKER para disponibilização do conhecimento necessário para
execução da análise de desempenho.
Palavras chave: Conhecimento, Gerência do Conhecimento, Processo de Software,
Análise de Desempenho
vii
Abstract of the Undergraduate Project presented to Poli/COPPE/UFRJ as a partial
fulfillment of the requirements for the degree of Computer and Information Engineer.
A Knowledge Management Tool for SPEAKER
Ricardo de Holanda Busquet
March/2015
Adivisors: Ana Regina Cavalcanti da Rocha
Natália Chaves Lessa Schots
Course: Computer and Information Engineering
Nowadays, large organizations are realizing that a big factor to remain competitive is the
treatment of organizational knowledge as an organizational asset. Knowledge
Management helps in such treatment, defining processes for knowledge to lead the
organization growth. In this context, the use of technology is a good option, and some
systems have been developed for tasks that require the use of knowledge. The SPEAKER
is a knowledge based environment to assist in performance analysis in software process.
This project describes a tool developed in the context of SPEAKER to provide the
knowledge required to execute the performance analysis.
Key Words: Knowledge, Knowledge Management, Software Process, Performance
Analysis
viii
Sumário
Lista de Figuras .................................................................................................................x
Lista de tabelas ................................................................................................................ xi
Capítulo 1 Introdução ....................................................................................................1
Capítulo 2 Gerência do Conhecimento .........................................................................3
2.1 Conhecimento .................................................................................................... 3
2.2 Conversão do Conhecimento ............................................................................. 4
2.3 Gerência do Conhecimento ................................................................................ 5
2.4 Processos para gerência do conhecimento ......................................................... 6
2.5 Técnicas para a Gestão do Conhecimento ......................................................... 8
Capítulo 3 Representação e Apresentação do Conhecimento .....................................11
3.1 Representação do conhecimento ...................................................................... 11
3.2 Apresentação do Conhecimento ...................................................................... 13
3.3 Uma forma de apresentação: Mapas mentais................................................... 14
Capítulo 4 Ferramenta para Gerência do Conhecimento ............................................16
4.1 Contexto ........................................................................................................... 16
4.1.1 A2M – Ambiente de Alta Maturidade ...................................................... 16
4.1.2 Ambiente SPEAKER ................................................................................ 17
4.2 Requisitos e casos de uso ................................................................................. 18
4.3 Tecnologias utilizadas ...................................................................................... 19
4.3.1 D3.js .......................................................................................................... 19
4.4 Estrutura ........................................................................................................... 21
4.5 Funcionalidades ............................................................................................... 21
4.5.1 Cadastro do Conhecimento ....................................................................... 21
4.5.2 Visualização do Conhecimento ................................................................ 23
4.6 Exemplo de uso ................................................................................................ 24
ix
Capítulo 5 Conclusão e Trabalhos Futuros .................................................................31
5.1 Conclusões ....................................................................................................... 31
5.2 Limitações ........................................................................................................ 31
5.3 Trabalhos futuros ............................................................................................. 32
Referências Bibliográficas ...............................................................................................34
Apêndice ..........................................................................................................................37
A. Casos de Uso ...................................................................................................... 37
x
Lista de Figuras
Figura 2.1 – Espiral do Conhecimento, adaptado de [10] ............................................... 4
Figura 3.1 – Exemplo de rede-semântica ...................................................................... 12
Figura 3.2 – Modelo de Visualização do Conhecimento de BURKHARD .................. 13
Figura 4.1 – Exemplo de página utilizando D3.js ......................................................... 20
Figura 4.2 – Resultado da página após execução do D3.js ........................................... 20
Figura 4.3 – Exemplo de mapa mental .......................................................................... 23
Figura 4.4 – Trecho da tela onde o conhecimento é listado .......................................... 24
Figura 4.5 – Tela inicial do A2M .................................................................................. 25
Figura 4.6 – Tela da ferramenta, com as funcionalidades ............................................. 25
Figura 4.7 – Lista de conhecimentos cadastrados ......................................................... 26
Figura 4.8 – Tela de cadastro de conhecimento com texto ........................................... 26
Figura 4.9 – Tela de cadastro de conhecimento com mapa mental ............................... 26
Figura 4.10 – Conceito central ...................................................................................... 27
Figura 4.11 – Mapa mental com nó central e um nó filho ............................................ 27
Figura 4.12 – Tela para registro de detalhes sobre nó no mapa mental ........................ 28
Figura 4.13 – Mapa mental completo ............................................................................ 28
Figura 4.14 – Tela inicial das execuções de análise de desempenho ............................ 29
Figura 4.15 – Execução da análise de desempenho ...................................................... 29
Figura 4.16 – Tela de exibição de etapa do processo de Análise de Desempenho ....... 29
Figura 4.17 – Tela de exibição de atividade do processo de Análise de Desempenho . 30
Figura 4.18 – Tela de exibição de tarefa do processo de Análise de Desempenho ....... 30
xi
Lista de tabelas
Tabela 2.1. Comparação entre os processos de gerência do conhecimento .................... 8
Tabela A.1 – Fluxo básico do caso de uso 1.................................................................. 37
Tabela A.2 – Fluxo básico do caso de uso 2.................................................................. 38
Tabela A.3 – Fluxo básico do caso de uso 3.................................................................. 38
1
Capítulo 1
Introdução
Muitos fatores influenciam na competitividade de uma organização. Recursos
humanos, capital, relevância, entre outros. Cada dia mais organizações estão
considerando como um importante fator para essa competitividade a identificação do
conhecimento possuído pela organização como um ativo que possui valor e deve ser
gerenciado. Para isso, se faz necessário buscar formas de gerenciar esse conhecimento
organizacional, identificando o que existe de conhecimento acumulado, onde ainda pode
ser desenvolvido e como pode ser compartilhado e utilizado para que traga retornos a
organização e também a possibilidade de multiplicação desse recurso.
A Gerência do Conhecimento tem como um dos objetivos tratar o conhecimento
como um recurso da organização, não apenas dos seus membros. Uma etapa importante
do processo de Gerência do Conhecimento é quando o conhecimento dos indivíduos,
gerados a partir de experiências, convicções pessoais e formação, precisa ser passado para
outros indivíduos, através de formatações desse conhecimento em representações visuais.
Essas representações precisam codificar o conhecimento pessoal de forma que uma outra
pessoa possa entender e absorver aquele conhecimento. Esse é um processo complexo
porque formalizar o conhecimento das pessoas não é trivial e esse processo demanda a
instalação de uma cultura de compartilhamento do conhecimento e aprendizagem
organizacional.
Neste contexto, atividades que demandam muito conhecimento e experiência
pessoal são difíceis de serem transmitidas. Uma atividade deste tipo é a realização da
análise de desempenho de processos, requerida nos níveis mais altos de modelos de
maturidade, tais como o MR-MPS [1] e o CMMI-DEV [2]. Verifica-se que uma das
principais dificuldades para a execução da análise de desempenho de processos nas
organizações de desenvolvimento de software é a falta de conhecimento e experiência
nesta área [3] [4]. A fim de auxiliar as organizações de software no aprendizado e uso das
técnicas da análise de desempenho de processos, um sistema baseado em conhecimento,
denominado SPEAKER (Software Process pErformance Analysis Knowledge-based
2
EnviRonment), está sendo desenvolvido pelo Grupo de Qualidade da COPPE/UFRJ [4]
[5] [6].
O objetivo deste projeto final é desenvolver uma ferramenta no contexto do
ambiente SPEAKER que apoie a gerência do conhecimento a ser provido sobre análise
de desempenho de processos no decorrer da execução das atividades de análise de
desempenho. A ferramenta desenvolvida visa cadastrar, manter e disponibilizar o corpo
de conhecimento sobre análise de desempenho de processos.
Este texto se divide em 4 capítulos além desta introdução. No segundo capítulo,
será apresentada uma revisão da literatura sobre conceitos relacionados à Gerência do
Conhecimento. Neste capítulo, serão apresentadas definições de conhecimento, a
importância da Gerência do Conhecimento nas organizações, definições de processos
para realizar essa gerência, assim como técnicas para apoiar esses processos.
O terceiro capítulo aborda técnicas de representação e apresentação do
conhecimento. Nele serão apresentados alguns estudos sobre como o conhecimento pode
ser formalizado para ser utilizado no processo de compartilhamento do conhecimento na
organização, assim como a definição mais detalhada de uma dessas formas de
apresentação, mapas mentais, uma técnica presente na ferramenta proposta neste trabalho.
No quarto capítulo, a ferramenta proposta será apresentada, as tecnologias
utilizadas, detalhes da implementação e que processos essa ferramenta busca apoiar, além
de um exemplo de uso desta ferramenta, apresentando as funcionalidades desenvolvidas.
Por fim, o quinto capítulo apresenta as conclusões obtidas com esse trabalho,
como também a perspectiva para trabalhos futuros para evolução da ferramenta proposta,
visando uma melhor capacidade e efetividade na disponibilização do conhecimento.
3
Capítulo 2
Gerência do Conhecimento
Nos dias atuais, as organizações estão vivendo grandes desafios quanto à gerência
do conhecimento pertencente aos seus integrantes. Entre estes desafios, podemos citar a
necessidade de corte de custos, a alta rotatividade de empregos e o alto crescimento a
nível geográfico das organizações, causas que muito provavelmente levam a dificuldade
de acesso ou a perda de quantidades críticas de conhecimento [7]. Tendo em vista esses
desafios, se torna necessário um investimento em técnicas de gerência do conhecimento
por parte dessas organizações, a fim de organizar e armazenar o conhecimento como um
ativo da organização e não somente dos indivíduos.
2.1 Conhecimento
Antes de tratar sobre a gerência do conhecimento, é necessário definir o que é
conhecimento. A definição de conhecimento é um tema bastante discutido, sendo possível
encontrar diversas definições, a partir de diversos pontos de vista.
De uma maneira simples porém pouco específica, conhecimento é aquilo que se
sabe sobre algo ou alguém. A definição clássica de conhecimento vem de Platão, quando
diz que conhecimento é uma “crença verdadeira e justificada”. No dicionário [8],
conhecimento é definido por meio dos termos como informação, experiência, ideia,
instrução, saber, entre outros. Outra definição de conhecimento é dada a partir da
definição de dados e informação, devido à relação entre essas definições [9]. Um número
ou um determinado fato isolado, sem uma organização ou interpretação e significado
aparente, pode ser considerado como um dado. Informação é um conjunto de dados
contextualizados e organizados; são dados com relevância e propósito. A informação
emerge da interpretação dos dados. Evoluindo e combinando esses conceitos,
conhecimento pode ser definido como a associação entre dados, informações, experiência
e interpretação individual, visando o aumento da capacidade de uma tomada de decisão
mais efetiva.
4
O conhecimento pode ser categorizado em duas formas: conhecimento tácito e
conhecimento explícito. NONAKA e TAKEUSHI [10] propõem a definição de
conhecimento tácito como todo o conhecimento presente na mente das pessoas, na forma
como estas realizam e participam dos processos das organizações, consistindo suas
habilidades, modelos mentais, crenças e perspectivas e, por isso, sua formalização e
comunicação é difícil e complexa. Conhecimento explícito, em contraste, é o
conhecimento que pode ser facilmente expressado, armazenado, capturado e reutilizado,
podendo ser transmitido de forma estruturada e organizada como em textos, gráficos,
tabelas, banco de dados, entre outros formatos [10].
2.2 Conversão do Conhecimento
Para que o conhecimento tácito possa ser utilizado pela organização, ele deve ser
codificado e armazenado, convertendo-se em conhecimento explícito. NONAKA e
TAKEUCHI [10] propuseram a Espiral do Conhecimento, onde é apresentado o processo
de conversão do conhecimento tácito em conhecimento explícito e vice-versa, por meio
da interação das pessoas que formam a organização. A Espiral do Conhecimento
apresenta quatro etapas, representadas na Figura 2.1 e descritas a seguir [10]:
Socialização: é a transformação de conhecimento tácito para conhecimento tácito,
entre duas pessoas. Acontece quando há comunicação face à face, geralmente num
Figura 2.1 – Espiral do Conhecimento, adaptado de [10]
5
formato mestre-aprendiz, onde há o compartilhamento de experiências por meio
do diálogo entre as pessoas.
Externalização: é a transformação de conhecimento tácito em conhecimento
explícito, realizado pela pessoa que detém o conhecimento buscando representar
o máximo deste por meio de modelos, conceitos e hipóteses, estruturando-o em
tabelas, texto, desenhos, etc. É iniciado por meio do diálogo ou de reflexão
coletiva sobre o conhecimento tácito dos membros da organização.
Combinação: é a distribuição do conhecimento explícito da organização, por
meio da organização, combinação e agregação dos itens de conhecimento
explícito e dos processos da organização.
Internalização: é a transformação do conhecimento explícito da organização em
conhecimento tácito de uma pessoa. Acontece por meio do estudo do
conhecimento armazenado da organização, pela visualização, prática e
reinterpretação desse conhecimento.
A Espiral do Conhecimento acontece a partir da conversão do conhecimento por
meio dessas etapas, começando pela socialização, que faz com que o conhecimento seja
compartilhado entre as pessoas da organização, passando pela externalização que faz com
esse conhecimento seja explicitado para toda a organização e possa ser utilizado no
processo de combinação e internalização do conhecimento. O novo conhecimento tácito
internalizado pode ser novamente socializado, reiniciando a espiral e estimulando um
ambiente de criação e compartilhamento de conhecimento na organização [9].
2.3 Gerência do Conhecimento
O reconhecimento por parte das organizações de que conhecimento é um ativo
importante para a sua competitividade tem levado ao aumento do interesse em técnicas
para a gerência desse conhecimento [11]. Visto como um ativo organizacional, o
conhecimento tem valor, gera retornos, tem um tempo de vida, pode ser medido e pode
ser gerenciado [12].
Segundo O’LEARY [7], a gerência do conhecimento é a gerência de ativos de
conhecimento com o objetivo de facilitar o acesso e o reuso desses ativos pela
organização, classificando formalmente esses recursos em um formato estruturado pré-
definido que pode evoluir durante os processos.
6
Por outro lado, segundo o Instituto Britânico de Padrões [13], a gerência do
conhecimento também visa conectar as pessoas à outras pessoas e informações, permitir
a conversão do conhecimento, incentivar a inovação e a criatividade, e obter, manter e
compartilhar o conhecimento da organização.
2.4 Processos para gerência do conhecimento
A gerência do conhecimento é uma atividade contínua, de vital importância para
as organizações que buscam utilizar o conhecimento como recurso. De uma forma geral,
é possível identificar que a execução da gerência do conhecimento levará a identificação
e criação do conhecimento, formas para compartilhá-lo e como aplicar o conhecimento
nas atividades da organização. Essas etapas podem ser organizadas em um processo
sistemático bem definido, visando desenvolvimento organizacional, desempenho,
efetividade, lucro e crescimento [12].
Existem diversas propostas para definição de processos para a gerência de
conhecimento. Uma dessas propostas é a apresentada por SOUZA et al. [9], contendo as
seguintes etapas:
Identificação: Deve-se identificar as competências críticas ou essenciais da
organização, ou seja, o que a organização precisa saber para realizar suas
atividades mais importantes.
Captura: Nesse processo, ocorre a aquisição dos conhecimentos, habilidades e
experiências necessárias para criar e manter as competências críticas da
organização.
Seleção e Validação: Os conhecimentos capturados devem ser filtrados,
selecionados e priorizados de acordo com a qualidade, valor e relevância,
definindo quais e como serão armazenados.
Organização e Armazenagem: Todo conhecimento capturado deve ser
armazenado de uma forma que garanta recuperação rápida, fácil e correta do
conhecimento, utilizando sistemas de armazenagem efetivos.
Compartilhamento: O conhecimento não pode ser restrito a algum grupo restrito
de indivíduos da organização, mas deve ser compartilhado por meio de
mecanismos capazes de disseminar o conhecimento para os interessados nele de
forma rápida e eficiente.
7
Aplicação: Além de compartilhados, os conhecimentos disponíveis devem ser
utilizados em situações reais da organização buscando produzir benefícios
concretos como melhoria de desempenho, qualidade, etc.
Criação: A criação de novo conhecimento deve ocorrer por meio dos processos
de conversão de conhecimento, resultando em aprendizagem, externalização,
lições aprendidas, pesquisa, experimentação, inovação, etc.
Proteção: A questão da proteção do conhecimento organização é um fator crítico
da gerência do conhecimento, por que trata de aspectos como vazamento de
informações, conhecimentos estratégicos, direitos autorais e patentes.
YOUNG [14] apresenta o processo de gerência do conhecimento definido pela
Asian Productivity Organization (APO), um processo de gerência de conhecimento com
cinco etapas, a saber: Identificação, Criação, Armazenamento, Compartilhamento e
Aplicação. A partir da etapa de Identificação, o conhecimento necessário para a
construção das competências da organização, os tipos desse conhecimento e onde locais
onde falta a utilização desse conhecimento são identificados. A etapa de Criação irá
preencher as falhas de utilização do conhecimento convertendo e gerando novos
conhecimentos. A etapa de Armazenamento visa coletar e preservar o conhecimento
organizacional, organizando para que seja possível acessá-lo fácil e rapidamente. A etapa
de Compartilhamento mantém uma cultura de troca de conhecimento entre os membros
da organização. E a etapa de Aplicação consiste do uso – e reuso – do conhecimento
organizacional nas atividades da organização.
ABECKER et al. [11] também apresenta um processo de gerência do
conhecimento semelhante, composto pelas seguintes etapas: Identificação, Aquisição,
Desenvolvimento, Disseminação, Uso, e Preservação.
Demais definições seguem um modelo semelhante de processo, que passa pela
identificação do conhecimento presente na organização (seja um conhecimento explícito
ou tácito), uma forma de criar conhecimento a partir do que já está presente na
organização, como armazenar esse conhecimento e como distribuí-lo entre os integrantes
da organização para realizarem suas tarefas de forma eficiente.
A Tabela 2.1 apresenta uma comparação entre as etapas de um processo básico de
gerência de conhecimento e os processos apresentados anteriormente. Observa-se que
todos os trabalhos apresentam uma estrutura semelhante.
8
Tabela 2.1. Comparação entre os processos de gerência do conhecimento
Passos Básicos SOUZA et al. [3] APO [7] ABECKER et al. [5]
Identificação
Identificação
Identificação Identificação
Seleção e Validação
Captura Aquisição
Criação Criação Criação Desenvolvimento
Armazenamento
Organização e
Armazenamento Armazenamento Preservação
Proteção
Compartilhamento Compartilhamento Compartilhamento Disseminação
Uso Aplicação Aplicação Uso
Para o sucesso da gerência do conhecimento, esses processos dependem do
empenho de todas as pessoas da organização, e principalmente dos líderes de grupo ou da
alta gerência, já que é necessária a mudança no comportamento e na cultura
organizacional para integração desses processos listados nos processos de trabalho da
organização, incentivando o compartilhamento e a colaboração do conhecimento [9].
É importante notar que esses processos devem ser executados de forma cíclica.
Isso deve-se ao fato de que a organização deve se adaptar ao contexto atual da necessidade
da gerência do conhecimento organizacional, dado que o ciclo de vida do conhecimento
é rápido, fazendo com que esse conhecimento perca valor se for apenas armazenado. O
conhecimento organizacional deve ser constantemente utilizado, debatido e recriado, para
que seja sempre um ativo de interesse da organização.
2.5 Técnicas para a Gestão do Conhecimento
Os processos listados anteriormente dão uma direção para a instalação de uma
cultura de gerência de conhecimento na organização. Para apoiar cada passo do processo,
existem diversas técnicas e ferramentas que podem ser utilizadas para a utilização do
conhecimento de forma mais efetiva nos processos da organização.
YOUNG [14] apresenta uma lista de técnicas que podem ser utilizadas em cada
processo. Algumas destas técnicas são descritas a seguir:
Captura de ideias e aprendizado: A gerência do conhecimento é baseada na
captura de ideias e aprendizado. Técnicas desse tipo são utilizadas nos processos
de identificação e criação de conhecimento, com o objetivo de capturar e utilizar
9
as ideias das pessoas de forma sistemática e coletiva. Esse tipo de técnica pode
ser utilizado no processo de Criação de conhecimento.
Lições aprendidas: Lições aprendidas podem ser capturadas durante ou depois
da execução de um processo da organização. O objetivo principal dessa técnica é
capturar o conhecimento adquirido com a prática da execução de cada processo
da organização. Lições aprendidas podem ser: (i) informacionais, quando
descrevem como determinado passo de um processo deve ser executado; (ii) de
sucesso, quando representa um resultado positivo durante uma crise; ou (iii)
problema, quando descreve falhas ou formas de resolver problemas [7]. Essa
técnica pode ser utilizada nos processos de Criação, Compartilhamento e
Armazenamento de Conhecimento.
Narração de histórias: No contexto de gerência de conhecimento, a narração de
histórias é uma técnica muito eficiente que vem sendo utilizada de diversas formas
para a conversão de conhecimento, principalmente pela transferência de
conhecimento tácito entre membros de uma equipe. Por não precisar de muito
conhecimento técnico para a sua utilização, sua implementação é muito prática e
pode ser facilmente combinada com outras técnicas. O processo de
Compartilhamento de conhecimento é o mais propício para a utilização dessa
técnica.
Comunidades de prática: Comunidades de prática são grupos de pessoas que
compartilham conhecimento em uma determinada área, e aprendem umas com as
outras por meio do relacionamento regular e da prática das suas habilidades. Sua
característica permite que essa técnica possa ser utilizada em qualquer processo
de gerência do conhecimento, pois envolve intensamente a interação entre as
pessoas promovendo um ambiente ótimo para a identificação, criação,
compartilhamento e aplicação do conhecimento.
Taxonomia: Uma taxonomia é uma técnica de estruturação da informação, dos
documentos e bibliotecas da organização de uma forma consistente. Pode ser
considerado como um sistema de classificação dos ativos de conhecimento da
organização. Essa técnica é utilizada nos processos de Armazenamento,
Compartilhamento e Aplicação do conhecimento.
Sistema de gerência de documentos: A utilização de um repositório de
documentos, associado a sistemas de gerência de documentos, pode ser uma
10
solução efetiva para tornar mais eficiente o acesso à informação na organização.
Como mencionado anteriormente na definição de conhecimento e nos processos
de gerência do conhecimento, o acesso à informação adequada é essencial para o
sucesso na utilização do conhecimento da organização. Essa técnica é uma forma
de armazenar, compartilhar e aplicar o conhecimento da organização.
Bases de conhecimento: Bases de conhecimento são formas de armazenar e
aplicar o conhecimento explícito da organização. São implementadas por meio da
identificação de áreas chave de conhecimento para armazenar o conhecimento
explícito associado, e a aplicação de sistemas que incentivem a manutenção desse
conhecimento por meio da transferência de conhecimento tácito.
YOUNG [14] ainda cita diversas técnicas para a gerência do conhecimento, porém
as citadas anteriormente são as técnicas que estão relacionadas ao contexto da proposta
deste projeto.
11
Capítulo 3
Representação e Apresentação do
Conhecimento
Uma questão importante quanto a gerência do conhecimento é a forma como o
conhecimento deve ser representado. Sistemas de gerência de conhecimento o
representam de formas legíveis ao ser humano, acessado via sistemas de busca e
navegação, ou legíveis à máquina, com o propósito de servir como base de conhecimento
para sistemas especialistas.
3.1 Representação do conhecimento
Um conhecimento pode ser apresentado de diversas maneiras em sistemas de
gerência de conhecimento. De maneira geral, a utilização das regras da lógica deveria ser
suficiente para representar qualquer conhecimento, mas a dificuldade em representar um
conhecimento que possa ser lido por humanos está na necessidade de representar de
maneira fácil e eficiente o conhecimento que muitas vezes é incerto, incompleto ou muito
subjetivo [15].
OLIVEIRA e CARVALHO [15] apresentam alguns paradigmas de representação
legível de conhecimento, detalhadas a seguir:
Conhecimento Procedimental: Conhecimento em formato de funções ou
procedimentos. Estabelece como realizar um processo por meio da descrição de
habilidades, algoritmos, técnicas e métodos.
Árvores de decisão: são estruturas de suporte a decisão, representando as
decisões e suas consequências em um grafo direcionado tipo árvore. Cada nó
interno representa um teste sobre um atributo e cada aresta que sai representa os
possíveis valores desse atributo. Os nós folha representam a decisão tomada
depois que os atributos são computados. São estruturas facilmente entendidas e
podem ser boas alternativas para representar análises dos conhecimentos sobre
tomadas de decisão da organização visando identificar melhores estratégias, além
12
de serem facilmente combinadas com outras formas de representação do
conhecimento. Porém podem haver limitações quando os resultados esperados
não são discretos ou quando há dificuldade na escolha dos atributos que definem
cada nó interno.
Regras: Conhecimento em formato textual pode ser representado facilmente em
formato de regras. Regras armazenam o conhecimento no formado SE-ENTÃO.
Apesar da simplicidade, não são utilizadas em sistemas de grande porte, pois o
aumento na quantidade das regras leva muito rapidamente ao aumento da
complexidade, ao tornar necessária a combinação entre diversas condições e
resultados.
Redes: Em contraste com o conceito de árvores de decisão, o conhecimento
representado em redes apresenta os conceitos e entidades nos nós de um grafo
direcionado – não necessariamente uma árvore –, e as arestas representam a
relação entre cada conceito e entidade. Uma forma específica de redes para
representação de conhecimento é a rede semântica. Uma rede semântica apresenta
os conceitos e entidades nos nós e as arestas representam relações hierárquicas
entre cada nó - por exemplo, é-um, tem-um, tipo-de, etc. A Figura 3.1 apresenta
um exemplo de rede semântica. As redes semânticas, assim como as árvores de
decisão, também são entendidas rapidamente e as relações são facilmente
detectadas, pois são representadas de forma explícita. Porém sua simplicidade não
atende a conceitos complexos, principalmente quando as relações entre estes
conceitos se apresentam de forma subjetiva.
Figura 3.1 – Exemplo de rede-semântica
13
3.2 Apresentação do Conhecimento
Associado aos paradigmas de representação do conhecimento, há a necessidade
de apresentar o conhecimento de forma a facilitar sua criação e a transferência através da
visualização. A aplicação de técnicas de apresentação do conhecimento visa criar (e
recriar), acessar, referenciar e transferir visões, experiência, atitudes, valores,
expectativas, perspectivas, opiniões e predições [16]. Para que esse processo seja efetivo,
EPPLER e BURKHARD [16] propõem cinco perguntas chave:
1) Que tipo de conhecimento deve ser visualizado?
2) Por que esse conhecimento deve ser visualizado?
3) Por quem este conhecimento deve ser visualizado?
4) Em que contexto deve ser visualizado?
5) Como deve ser representado?
A partir dessas perguntas, BURKHARD [17] propõe um Modelo de Visualização
do Conhecimento. Nesse modelo, como pode ser visto na figura 3.2, é apresentada a
interação de troca de conhecimento entre dois indivíduos, onde um deles é o remetente,
que possui um conhecimento tácito e deseja compartilhar com o segundo, o destinatário.
Uma terceira parte do modelo é um conjunto de visualizações do conhecimento para
ajudar no processo de aprendizado do destinatário. O modelo busca definir os processos
interpessoais – entre os indivíduos – e intrapessoais – na mente de cada um deles – que
definem como o conhecimento é compartilhado e como a apresentação do conhecimento
deve ser realizada para que seja correta e eficientemente ensinado.
Figura 3.2 – Modelo de Visualização do Conhecimento de BURKHARD [17]. O primeiro
bloco é o remetente, que possui conhecimento que o destinatário deseja receber. O bloco central
define como o conhecimento deve ser apresentado para efetivar esse processo.
14
O modelo define um processo realizado sobre as visualizações do conhecimento
em três etapas. Na primeira, deve-se chamar a atenção do destinatário quanto aquele
conhecimento. Na segunda, deve ser apresentado um contexto, ou seja, uma visão global
e opções sobre como ele pode se beneficiar daquele conhecimento, como aquele
conhecimento pode ser importante para ele. Por fim, devem ser apresentados detalhes
sobre determinado assunto selecionado pelo destinatário. Essa terceira etapa só é efetiva
quando o destinatário percebe a relevância do conhecimento através das duas primeiras
etapas para então se motivar a buscar mais detalhes sobre o conhecimento [17].
3.3 Uma forma de apresentação: Mapas mentais
Dentre os formatos apresentados neste capítulo para a representação do
conhecimento, pode-se destacar dois que apresentam características visuais em comum:
as árvores de decisão e as redes. Esses formatos apresentam figuras geométricas,
representando conceitos, ligadas por linhas ou setas que indicam a relação entre esses
conceitos.
Muitas formas de apresentação do conhecimento lançam mão dessa forma de
representação de relacionamentos entre conceitos, e podem ser encontrados diversos
métodos em diversas áreas [18]. Uma dessas formas de apresentação é a utilização de
mapas mentais.
Mapas mentais são diagramas radiais, que representam relacionamento semântico
entre as porções do conhecimento sendo apresentado, em um formato hierárquico [18].
Conforme se caminha por um mapa mental, os conceitos partem de uma ideia central mais
abrangente, se tornando mais detalhados enquanto se distancia do nó que representa a
ideia central. A premissa do funcionamento dos mapas mentais é que eles funcionam
como imagina-se que o cérebro humano funciona, ligando as informações através dos
relacionamentos entre elas, em um formato radial em vez de relações lineares, conectando
cada ideia com centenas ou milhares de outras ideias e conceitos [19]. Sendo assim,
podem ser utilizados para a apresentação do conhecimento em tópicos e subtópicos, de
forma criativa e de fácil manipulação.
A forma que mapas mentais apresentam conhecimento é compatível com o
modelo de visualização do conhecimento de BURKHARD [17], uma vez que apresenta
15
formas de chamar a atenção do indivíduo para buscar mais detalhes do conhecimento
apresentado de forma criativa e natural.
Ao comparar mapas mentais com outros formatos de apresentação do
conhecimento (como mapas conceituais e metáforas visuais, por exemplo), EPPLER [18]
lista as vantagens e desvantagens desse formato em relação aos outros e em que situações
os mapas mentais podem ser mais bem aproveitados.
EPPLER [18] cita como vantagens da utilização dos mapas mentais o fato de que
(i) são de fáceis de aprender e aplicar; (ii) que mapas mentais estimulam a criatividade e
a autoexpressão; (iii) que permitem uma visão hierárquica concisa sobre os conceitos
apresentados e que (iv) é fácil estender e adicionar novas informações. A partir dessas
vantagens, ele conclui que mapas mentais podem ser utilizados eficientemente para
anotações pessoais, principalmente em brainstorms de ideias. Devido a sua simplicidade,
conceitos e um mapa mental podem ser absorvidos e lembrados de forma mais eficiente.
Por outro lado, como desvantagens, EPPLER [18] lista os seguintes pontos: (i)
mapas mentais podem ser difíceis de serem lidos por terceiros; (ii) sua capacidade de
representação é mais efetiva em relacionamentos hierárquicos em detrimento de outros
formatos; (iii) podem ser inconsistentes; e (iv) podem se tornar muito complexos,
perdendo a noção da ideia central e do relacionamento geral entre os conceitos. Ele
conclui então que mapas mentais podem ser uma boa ferramenta se integrado com outras
formas de visualização do conhecimento, utilizando mapas mentais para representar
ideias de forma mais criativa e de rápida absorção – principalmente quando utilizado
como ferramenta de anotações – e outros formatos como mapas conceituais para
estruturar o conhecimento com maior formalidade [18].
Apesar disso, em [19], estudos realizados evidenciam o sucesso da utilização de
mapas mentais para diversos fins, como suporte no processo de aprendizagem,
organização e compartilhamento de conhecimento e melhoria no processo de
memorização e absorção do conhecimento.
16
Capítulo 4
Ferramenta para Gerência do Conhecimento
O propósito desse capítulo é apresentar uma ferramenta para gerência do
conhecimento baseada nos conceitos apresentados anteriormente. A ferramenta foi
implementada no contexto do ambiente SPEAKER.
O objetivo dessa ferramenta é disponibilizar o conhecimento relacionado às
atividades de análise de desempenho de processos de software, orientando o usuário de
acordo com que executa cada tarefa no ambiente SPEAKER. A ferramenta também
permite que o conhecimento sobre as execuções seja inserido para disponibilização
futura.
4.1 Contexto
A ferramenta foi implementada no contexto do ambiente SPEAKER, que está
sendo construído no contexto de uma tese de doutorado do Grupo de Qualidade da
COPPE/UFRJ. Por sua vez, o ambiente SPEAKER está sendo construído na
infraestrutura de um ambiente já existente no Grupo de Qualidade, denominado A2M
(Ambiente de Alta Maturidade).
Ambos ambientes serão apresentados a seguir a fim de auxiliar no entendimento
do contexto no qual a ferramenta deste projeto final foi desenvolvida.
4.1.1 A2M – Ambiente de Alta Maturidade
O A2M – Ambiente de Alta Maturidade – é uma plataforma desenvolvida pelo
Grupo de Qualidade da COPPE/UFRJ com o objetivo de apoiar organizações que desejam
realizar práticas sugeridas pelos altos níveis de modelos de maturidade, tais como o MR-
MPS [1] e o CMMI-DEV [2]. Diversas ferramentas foram desenvolvidas no contexto do
A2M, a partir das pesquisas realizadas pelo grupo de pesquisas em alta maturidade de
processos da COPPE/UFRJ, tais como: [20] [21] [3].
O A2M é desenvolvido na linguagem de programação JAVA, com interface do
usuário desenvolvido com as tecnologias JSP e JSF (JavaServer Pages e JavaServer
17
Faces, respectivamente). A infraestrutura do A2M provê ao desenvolvedor de
ferramentas de apoio diversos serviços auxiliares que facilitam o desenvolvimento de
novas ferramentas, tais como: persistência de dados, controle de acesso, tratamento de
exceções, elementos visuais para reutilização como tabelas e telas de cadastro, entre
outros.
Toda a infraestrutura interna da ferramenta proposta neste trabalho foi
desenvolvida no contexto do A2M e utiliza-se largamente de diversos serviços auxiliares
presentes no ambiente.
4.1.2 Ambiente SPEAKER
O ambiente SPEAKER (Software Process pErformance Analysis Knowledge-
based EnviRonment) visa auxiliar a execução da análise de desempenho de processos por
meio das práticas da gerência do conhecimento [4] [5] [6]. Esse ambiente está sendo
desenvolvido pelo Grupo de Qualidade da COPPE/UFRJ, como uma ferramenta do
ambiente do A2M.
O ambiente SPEAKER, conforme mostra a Figura 4.1, foi projetado contendo
duas ferramentas principais: (i) um sistema baseado em conhecimento (SBC) que guia o
responsável durante a execução da análise de desempenho, apresentando os
conhecimentos necessários para cada atividade, e que mantém o corpo do conhecimento
do ambiente; e (ii) uma ferramenta para instanciação e execução do processo (FIE) que
permite o controle da instanciação do processo da análise de desempenho e o
armazenamento dos resultados obtidos [4].
Figura 4.1 – Ambiente SPEAKER – Visão Arquitetural [4]
18
A ferramenta proposta neste trabalho implementa parte do SBC permitindo o
cadastro de itens de conhecimento vinculados às atividades da análise de desempenho de
processos e sua disponibilização durante a execução.
4.2 Requisitos e casos de uso
Durante a fase de levantamento de requisitos, cinco requisitos foram definidos,
sendo eles os descritos a seguir:
REQ1 – A ferramenta deve permitir o cadastro de conhecimento vinculado a uma
tarefa do processo de Análise de Desempenho de Processos
REQ2 – A ferramenta deve permitir que o conhecimento seja disponibilizado
durante a execução das tarefas da Análise de Desempenho
REQ 3 – A ferramenta deve permitir a manutenção do conhecimento cadastrado
REQ 4 – A ferramenta deve estar integrada ao Ambiente SPEAKER
REQ 5 – A ferramenta deve disponibilizar o conhecimento aos poucos, a medida
que o usuário solicite mais detalhes
A partir desses requisitos, três casos de uso foram definidos. Estes casos de uso
estão descritos a seguir. Informações mais detalhadas sobre cada caso de uso pode ser
encontrada no Apêndice deste trabalho.
UC1 – Registrar Conhecimento
A ferramenta disponibilizará aos usuários tela que permita o registro de
conhecimento relacionado a uma tarefa do processo de Análise de Desempenho, em
formato textual ou em um mapa mental. Registros feitos durante a execução de uma tarefa
associam o novo conhecimento diretamente à tarefa sendo executada.
UC2 – Disponibilizar Conhecimento
Durante a execução de uma tarefa do processo de análise de desempenho, a
ferramenta listará os conhecimentos relacionados a esta atividade. O usuário, ao indicar
que deseja visualizar detalhes sobre um conhecimento, será redirecionado a página do
conhecimento indicado.
UC3 – Manter conhecimento
19
A ferramenta disponibilizará uma tela para listagem dos conhecimentos
registrados e permitir que o usuário edite, desative ou exclua um conhecimento.
4.3 Tecnologias utilizadas
Para a visualização do conhecimento, a principal tecnologia para desenvolvimento
utilizada foi a biblioteca JavaScript de manipulação de dados D3.js. As visualizações do
conhecimento são registradas no sistema no formato JSON, facilmente integrado com a
biblioteca D3.js.
4.3.1 D3.js
D3.js – Data Driven Documents [22] é uma biblioteca JavaScript para
manipulação de documentos baseados em dados. D3.js permite que dados sejam
associados a um Modelo de Objeto de Documentos (DOM – Document Object Model),
uma interface independente de plataforma e linguagem para acesso e atualização
dinâmica de conteúdo, estrutura e estilo de documentos na WEB [23].
O objetivo principal do D3.js é a manipulação das estruturas do DOM de forma
eficiente, sempre orientada aos dados a serem representados. A biblioteca não se propõe
a ser uma ferramenta de visualização, mas permite que padrões WEB como HTML
(HyperText Markup Language – linguagem para a definição de objetos do DOM em um
documento na WEB), CSS3 (Cascading Style Sheets – linguagem de definição de estilos
para objetos do DOM) e SVG (Scalable Vector Graphics – linguagem para definição de
imagens vetoriais) sejam facilmente utilizados para potencializar a visualização dos
dados.
Devido a utilização dos padrões WEB mais recentes, D3.js é compatível
principalmente com navegadores mais modernos, conjunto que abrange praticamente
todos os navegadores mais utilizados como Firefox, Chrome, Safari, Opera, Internet
Explorer 9 e mais recentes, e navegadores para os sistemas operacionais móveis Android
e iOS. O Internet Explorer 8 e versões mais antigas deste navegador não implementam
padrões como CSS3 e SVG, e portanto a visualização de documentos com D3.js nesses
navegadores fica comprometida.
A ferramenta utiliza D3.js para a criação e visualização de mapas mentais, uma
das formas de apresentação do conhecimento providas pelo sistema. Para isso, os itens de
20
conhecimentos apresentados nos mapas mentais são representados no banco de dados
como uma cadeia de caracteres no formato JSON (JavaScript Object Notation). Esse
formato é convertido em objetos JavaScript facilmente. Com a biblioteca D3.js, é possível
associar objetos JSON a objetos no DOM, como representado nas figuras 4.1 e 4.2. No
exemplo, a lista (array) dataset é associada a elementos HTML de parágrafo (<p>).
Figura 4.1 – Exemplo de página utilizando D3.js
Figura 4.2 – Resultado da página após execução do D3.js
A página da biblioteca D3.js apresenta diversos tutoriais e exemplos [24], além de
um livro de MURRAY [25] que é possível acessar online gratuitamente, com exemplos
executáveis.
21
4.4 Estrutura
A ferramenta é composta de um módulo de serviços e persistência e um módulo
WEB. O módulo de serviços provê as estruturas necessárias para registro do
conhecimento no banco de dados, assim como o registro das associações com as entidades
que definem as tarefas da análise de desempenho. O módulo WEB provê as páginas para
cadastro e visualização do conhecimento. Também fica a cargo desse módulo a listagem
do conhecimento associado a uma tarefa do processo de análise de desempenho.
Para exibir a funcionalidade de disponibilização do conhecimento durante a
execução do processo de análise de desempenho, foi desenvolvido uma ferramenta
protótipo que contém as etapas do processo e como este se encadeia. Mais detalhes sobre
a tela serão descritos no exemplo de uso da ferramenta.
4.5 Funcionalidades
Nesta sessão, serão descritas as principais funcionalidades da ferramenta: cadastro
e manutenção do conhecimento, e visualização do conhecimento.
4.5.1 Cadastro do Conhecimento
A funcionalidade Cadastro do Conhecimento é a principal funcionalidade da
ferramenta. Consiste na possibilidade de registro do conhecimento em formato de texto e
em um mapa mental.
Texto
É o formato mais simples provido pela ferramenta, permite que um conhecimento
seja descrito no formato de uma redação, na forma que for conveniente para a
representação deste conhecimento.
Mapa mental
É o formato mais avançado de representação do conhecimento na ferramenta. A
ferramenta provê uma interface para a criação de mapas mentais que podem ser
utilizados para uma descrição mais detalhada e organizada do conhecimento
relacionado a uma determinada atividade ou tarefa.
No contexto do ambiente SPEAKER, cada tela de etapa, atividade ou tarefa
apresentará um botão para o usuário inserir um conhecimento relacionado ao item sendo
22
visualizado. Uma nova tela se abrirá para que o usuário insira o conhecimento. O usuário
também poderá cadastrar um conhecimento relacionado a uma tarefa de forma direta, fora
da execução de uma análise de desempenho, na tela inicial do ambiente SPEAKER.
4.5.1.1 Construção do Mapa Mental
Uma característica importante do cadastro do conhecimento desenvolvido é a
possibilidade da organização do conhecimento no formato de mapas mentais. Essa
característica, devido a sua complexidade, foi a que mais demandou investimento em
tempo e tecnologia para seu desenvolvimento.
Foi desenvolvida uma tela para a criação de mapas mentais. Essa tela permite a
organização do conhecimento a partir de uma ideia central. O usuário pode então expandir
o conhecimento relacionado a essa ideia principal, aumentando o nível de detalhamento
enquanto descreve o conhecimento.
O mapa mental é formado por uma rede direcionada, onde os nós da rede
correspondem a porções do conhecimento a ser representado e as arestas representam a
existência de uma relação entre essas porções. A ideia central é representada por um nó
distinto dos demais. Em cada nó, é possível definir uma descrição curta, que será exibida
na apresentação do mapa, e um texto que provê uma descrição mais detalhada, exibida
apenas se o usuário visualizando o conhecimento assim desejar.
É possível também ocultar e reexibir os nós enquanto visualiza o conhecimento.
Essa possibilidade é interessante pois permite que o usuário que visualiza o conhecimento
se atenha a uma determinada área do mapa mental enquanto oculta outra que no momento
não lhe parece interessante para a atividade que esteja executando. Isso pode ser feito com
um clique duplo sobre um nó que contenha nós filhos.
A criação do mapa mental começa com a definição da ideia central. Em uma tela
onde o usuário esteja cadastrando um novo conhecimento, é apresentada uma rede
composta por um único nó, no qual é possível editar o texto do nó com um duplo clique
em sua descrição. A partir disso, o usuário pode definir novos nós conectados ao nó que
representa a ideia central. Selecionando um desses nós, o usuário pode adicionar nós
conectados a ele, permitindo a criação de uma rede em formato de árvore. Utilizando o
botão ‘ctrl’ no teclado enquanto clica sobre um nó, uma janela se abre para que uma
descrição detalhada possa ser adicionada ao nó.
23
Figura 4.3 – Exemplo de mapa mental
Para o desenvolvimento da tela de criação e visualização de mapas mentais foi
utilizada largamente a biblioteca D3.js. Para que a sua utilização fosse viabilizada no
framework A2M, algumas modificações foram necessárias, principalmente nas formas de
leitura dos dados em formato JSON que definiam o mapa mental, já que o framework
sobrescreve algumas funções do navegador. Outra consequência da utilização da
biblioteca D3.js é que o usuário precisa utilizar navegadores atualizados, que
implementam as tecnologias utilizadas pelo D3.js, para acessar corretamente essa
funcionalidade. Por exemplo, os nós dos mapas mentais são construídos utilizando
imagens SVG e estilizadas com CSS3 e as transições e animações utilizadas precisam que
o navegador implemente versões recentes da linguagem JavaScript.
Como descrito anteriormente, o D3.js fornece a habilidade de associação de
elementos da página com os dados. A estilização dos elementos, definição de animações
e interações com o usuário ficam a cargo do desenvolvedor. D3.js possui suporte para
interações básicas com o mouse para permitir a movimentação dos elementos com o
ponteiro. Para a associação de botões do teclado a funções como apagar ou adicionar
descrições, foi utilizada a biblioteca Mousetrap.js [26].
4.5.2 Visualização do Conhecimento
Para que o conhecimento cadastrado no sistema seja útil para um usuário que
esteja realizando uma atividade de análise de desempenho em um processo de software,
é necessário que esse conhecimento esteja disponível durante a execução dessa atividade.
Para isso, a ferramenta provê uma forma de visualizar o conhecimento associado à
determinada atividade.
24
Seguindo a proposta de BURKHARD [17] para a apresentação do conhecimento,
é necessário que o usuário perceba que a atividade que está sendo executada possui um
conhecimento relacionado. Isso deve acontecer de uma forma que o usuário que deseja
absorver o conhecimento posso alcançar esse conhecimento sem que isso afete sua
atividade corrente.
Portanto, durante a execução de uma atividade da análise de desempenho no
ambiente SPEAKER, os itens de conhecimento relacionados serão apresentados,
conforme apresentado no exemplo da Figura 4.4. Ao clicar em um dos itens de
conhecimento, uma nova janela se abre com os detalhes do conhecimento. O
conhecimento é exibido em outra janela para que o usuário não perca o que estava sendo
feito enquanto executava a tarefa que se relaciona com o conhecimento.
Figura 4.4 – Trecho da tela onde o conhecimento é listado
4.6 Exemplo de uso
A fim de apresentar com mais detalhes o funcionamento da ferramenta proposta,
um exemplo de uso é descrito a seguir. Este exemplo de uso consiste em um cenário
hipotético em uma organização de desenvolvimento de software que possui o nível C do
MR-MPS e deseja atingir o nível 4. Este exemplo foi apresentado em [5] com o objetivo
de demonstrar como o corpo de conhecimento foi organizado e disponibilizado no
ambiente SPEAKER. No entanto, neste relato não havia o apoio ferramental para o
cadastro e disponibilização do conhecimento.
Ao acessar o SPEAKER a partir da tela inicial do ambiente A2M (apresentado na
Figura 4.5), o usuário pode selecionar se deseja iniciar uma nova execução da análise de
desempenho ou cadastrar um conhecimento relacionado a determina atividade da análise,
conforme apresentado na Figura 4.6.
25
Figura 4.5 – Tela inicial do A2M
Figura 4.6 – Tela da ferramenta, com as funcionalidades
Para cadastrar um novo conhecimento, o usuário deve clicar em “Cadastrar
conhecimento” e, após selecionar o sinal de "+", é direcionado para a tela de cadastro
(Figura 4.7). Nesta tela, o usuário deve informar um nome para o conhecimento e
selecionar qual o tipo de conhecimento que deseja cadastrar, textual ou mapa mental. Ao
selecionar o tipo textual, o campo “Descrição” deve ser preenchido (figura 4.8). Se o tipo
mapa mental for selecionado, uma área da tela aparecerá apresentando o nó central do
mapa mental, conforme mostra a Figura 4.9. O usuário também pode selecionar a que
tarefa do processo de análise de desempenho deseja associar esse conhecimento, no meu
“Item relacionado”.
26
Figura 4.7 – Lista de conhecimentos cadastrados
Figura 4.8 – Tela de cadastro de conhecimento com texto
Figura 4.9 – Tela de cadastro de conhecimento com mapa mental
Para a criação do mapa mental, o usuário começa editando o nó central, com dois
cliques, redigindo qual o conceito central daquele mapa (figura 4.10). Para adicionar
novos nós, o usuário deve clicar na tela duas vezes, que um novo nó se apresentará, como
27
na figura 4.11. A partir daí, pode editar seu nome e continuar criando novos nós como
desejar.
Se o usuário desejar colocar detalhes sobre um dos nós, deve clicar no nó enquanto
mantém o botão “ctrl” do teclado pressionado. Ao fazer isso, uma janela se abrirá para
que ele escreva os detalhes. A figura 4.12 exemplifica esse caso Para voltar ao mapa, deve
clicar no link “[fechar]”.
Figura 4.10 – Conceito central
Figura 4.11 – Mapa mental com nó central e um nó filho
28
Figura 4.12 – Tela para registro de detalhes sobre nó no mapa mental
Na figura 4.13, há um exemplo de um mapa mental para a primeira tarefa do
processo de Análise de Desempenho.
Figura 4.13 – Mapa mental completo
Se o usuário desejar iniciar uma nova execução do processo de Análise de
Desempenho, ele deve clicar em “Executar Análise”.
Nessa tela (figura 4.14) ele pode continuar uma instância da execução ou iniciar
uma nova. Para exemplo, será considerado o caso de uma nova instância da execução
sendo iniciada. Ao clicar no “+”, o usuário será apresentado a tela da figura 4.15, onde
29
poderá adicionar um nome para aquela execução, e selecionar a versão da análise que
deseja realizar.
Figura 4.14 – Tela inicial das execuções de análise de desempenho
Figura 4.15 – Execução da análise de desempenho
Ao clicar em “Iniciar Execução”, o usuário será levado a tela que apresentará a
primeira etapa do processo de Análise de Desempenho. Aqui ele já verá que pode
adicionar um conhecimento relacionado a etapa em geral, ao clicar no botão “Adicionar
Conhecimento” (figura 4.16). Ao clicar em “Iniciar Etapa”, o usuário é apresentado a
primeira atividade da tarefa (figura 4.17). Da mesma forma, ao clicar em “Iniciar
Atividade”, o usuário é apresentado a primeira tarefa daquela atividade.
Figura 4.16 – Tela de exibição de etapa do processo de Análise de Desempenho
30
Figura 4.17 – Tela de exibição de atividade do processo de Análise de Desempenho
Na tela da tarefa, apresentada na figura 4.18, a ferramenta SPEAKER apresenta
ao usuário dois campos onde ele pode inserir resultados sobre aquela execução do
processo. Essas informações serão registradas para análise futura. Pode-se verificar ao
lado direito da figura a lista dos conhecimentos registrados para aquela tarefa. No caso,
conhecimento sobre objetivo, definições e referências da tarefa.
Ao selecionar um conhecimento, uma nova janela se abrirá, onde o usuário poderá
visualizar o conhecimento no formato em que foi inserido, seja um mapa mental ou um
texto.
Figura 4.18 – Tela de exibição de tarefa do processo de Análise de Desempenho
O usuário continua então o processo, clicando em “Próxima tarefa”. Ao final, ele
voltará a tela onde iniciou a execução, e a ferramenta cadastrará a hora e data do término.
31
Capítulo 5
Conclusão e Trabalhos Futuros
5.1 Conclusões
Para concluir qualquer atividade em uma organização nos dias atuais, os membros
desta organização precisam utilizar conhecimento, mesmo que seja apenas tácito,
lembranças de experiências pessoais ou conhecimentos adquiridos durante a formação da
profissão. Em particular, as atividades relacionadas à análise de desempenho de processos
requerem tanto conhecimentos técnicos sobre os métodos e técnicas sobre análise de
desempenho, como conhecimento relacionado ao contexto organizacional.
Para que a organização utilize esse conhecimento de forma mais eficiente, a
Gerência do Conhecimento é imprescindível. A tecnologia pode ser uma boa aliada na
implantação de uma cultura de compartilhamento e aplicação do conhecimento
organizacional. A ferramenta proposta serve como base para incentivar os usuários a
registrar o conhecimento possuído e adquirido durante a execução de uma atividade na
organização.
Algumas limitações foram encontradas durante o desenvolvimento da ferramenta,
porém ainda há muito espaço para extensões e melhorias para que a implantação dessa
cultura do conhecimento seja mais eficaz.
5.2 Limitações
A ferramenta proposta apresenta como limitações, principalmente a falta de
compatibilidade com navegadores mais antigos para utilização de todas as
funcionalidades. Uma limitação encontrada durante os testes foi devido ao fato que o
tratamento de eventos JavaScript como, por exemplo, eventos de clique do mouse ou
detecção de botão do teclado, são implementados de forma diferente entre os diversos
navegadores atuais. Contornar essa limitação depende de um mapeamento dessas
implementações em cada navegador para identificar essas diferenças.
32
Quanto ao objetivo da ferramenta, suas funcionalidades não conseguem apoiar
todos os processos de gerência do conhecimento. As funcionalidades da ferramenta não
atendem a processos como o de Seleção e Validação definido em SOUZA et al. [3] e
implementa de forma básica os processos de Captura, Criação, Compartilhamento e Uso,
sendo esse último processo limitado às atividades de análise de desempenho de processos
cadastradas no ambiente SPEAKER.
Algumas dificuldades relacionadas ao uso do framework A2M foram encontradas
durante a implementação da ferramenta. O framework apresenta diversos recursos para
facilitar o desenvolvimento de novas ferramentas, porém a utilização desses recursos para
que a nova ferramenta se integre ao ambiente demanda um esforço de aprendizado. O
framework deixa transparente para um desenvolvedor de ferramentas alguns aspectos de
mais baixo nível de desenvolvimento web, às vezes mascarando alguns erros. Porém, com
a prática, o desenvolvimento se torna mais ágil.
5.3 Trabalhos futuros
Há muito espaço para desenvolvimento de melhorias e novas funcionalidades para
a ferramenta, tendo em vista todo o espectro que os processos de gerência de
conhecimento apresentam.
Avaliação do Conhecimento
Uma forma de aprimorar a cobertura dos processos de gerência do conhecimento
seria o desenvolvimento de técnicas para avaliação do conhecimento contido na
ferramenta. Dar aos usuários uma forma de julgar se um conhecimento é relevante para
uma tarefa evita que informações desnecessárias sejam mostradas ao usuário durante a
execução daquela tarefa, exibindo apenas aquelas que outros usuários indicaram ou que
foram mais importantes em uma execução anterior da análise de desempenho.
Reutilização e Integração com outras ferramentas
Qualquer atividade dentro de uma organização exigirá a gerência dos
conhecimentos relacionados a cada uma delas. Uma proposta é que a ferramenta de
disponibilização do conhecimento possa ser um recurso para o desenvolvedor de novas
ferramentas no ambiente A2M utilizar com suas estruturas.
33
Tipos de representação do conhecimento
A ferramenta proposta apresenta apenas dois tipos de representação do
conhecimento, em texto e mapas mentais. Permitir que conhecimento seja representado
em outros formatos como glossários, mapas conceituais, metáforas visuais, entre outros,
aumentaria a capacidade de formalização do conhecimento tácito dos usuários em
conhecimento explícito para atividades futuras.
34
Referências Bibliográficas
[1] SOFTEX, ASSOCIAÇÃO PARA PROMOÇÃO DA EXCELÊNCIA DO
SOFTWARE BRASILEIRO, “MR-MPS-SW – Guia Geral,” SOFTEX, Associação
para Promoção da Excelência do Software Brasileiro, 2013. [Online]. Disponível:
MR-MPS-SW – Guia Geral. [Acesso em Fevereiro 2015].
[2] CMMI PRODUCT TEAM, “CMMI® for Development (CMMI-DEV), V1.3,”
Software Engineering Institute, [Online]. Disponível: http://www.sei.cmu.edu/.
[Acesso em 2 Março 2015].
[3] SIMÕES, C. A., Repositório de Medidas para Organizações de Alta Maturidade em
Processos de Software, Universidade Federal do Rio de Janeiro, 2011.
[4] SCHOTS, N. C. L., GONCALVES, T. G., MAGALHAES, R. F., ROCHA, A. R.
C., SANTOS, G. E OLIVEIRA, K. M., “Supporting Software Process Performance
Analysis through a Knowledge-based Environment,” In: Proceedings of the XL
Latin American Computing Conference (CLEI), pp. 286-297, 2014.
[5] SCHOTS, N. C. L., ROCHA, A. R. C., e SANTOS, G., “A Body of Knowledge for
Executing Performance Analysis of Software Processes,” In: Proceedings of the
Twenty-Sixth International Conference on Software Engineering & Knowledge
Engineering, pp. 560-565, 2014.
[6] SCHOTS, N. C. L., Um Ambiente baseado em Conhecimento para a Análise de
Desempenho de Processos de Software. Exame de Qualificação. Universidade
Federal do Rio de Janeiro, 2013.
[7] O'LEARY, D. E., “Enterprise Knowledge Management,” Computer, pp. 54-61,
1998.
[8] FERREIRA, A. B. H., “Significado de Conhecimento,” [Online]. Disponível:
http://www.dicionariodoaurelio.com/conhecimento. [Acesso em Fevereiro de
2015].
35
[9] SOUZA, J. M., “Gestão do conhecimento e Memória de Grupo,” em Sistemas
Colaborativos, 2004, pp. 206-220.
[10] NONAKA, I. e TAKEUSHI, H., The Knowledge-Creating Company: How
Japanese Companies Create the Dynamics of Innovation, New York: NY: Oxford
University Press, 1995.
[11] ABECKER, A., BERNARDI, A., HINKELMANN, K., KÜHN, O. E SINTEK, M.,
“Toward a Technology for Organizational Memories,” In: IEEE INTELLIGENT
SYSTEMS, pp. 40-48, 1998.
[12] NAIR, P. E PRAKASH, K., Knowledge Management: Facilitators’ Guide, APO -
Asian Productivity Organization, 2009.
[13] BRITISH STANDARTS INSTITUTE - BSI APUD GILCHRIST, A., Knowledge
Management Roadmap GLOSSARY for Joint Information Systems Committee,
Londres: tfpl., 2006.
[14] YOUNG, R., Knowledge Management Tools and Techniques Manual, Tóquio:
Asian Productivity Organization, 2010.
[15] OLIVEIRA H. C. E CARVALHO, C. L. “Gestão e Representação do
Conhecimento,” 2008.
[16] EPPLER, M. J. E BURKHARD, R. A., “Visual representations in knowledge
management: framework and cases,” 2007.
[17] BURKHARD, R. A., “The Use of Complementary Visual Representations for the
Transfer of Knowledge.,” 2005.
[18] EPPLER, M. J., “A comparison between concept maps, mind maps, conceptual
diagrams, and visual metaphors as complementary tools for knowledge construction
and sharing,” Information Visualization, pp. 202-210, 2006.
[19] THINKBUZAN LTD., Mind Mapping: Scientific Research and Studies,
ThinkBuzan Ltd.
36
[20] BARRETO, A. S., Definição e Gerência de Objetivos de Software Alinhados ao
Planejamento Estratégico, Universidade Federal do Rio de Janeiro, 2011.
[21] BARRETO, A., Uma Abordagem para Definição de Processos Baseada em
Reutilização Visando à Alta Maturidade em Processos, Universidade Federal do
Rio de Janeiro, 2011.
[22] BOSTOCK, M., “D3.js - Data Driven Documents,” [Online]. Disponível:
http://d3js.org/.
[23] WORLD WIDE WEB CONSORTIUM (W3C), “W3C Document Object Model,”
[Online]. Disponível: http://www.w3.org/DOM/#what.
[24] BOSTOCK, M., “Gallery - mbostock/d3 Wiki,” [Online]. Disponível:
https://github.com/mbostock/d3/wiki/Gallery.
[25] MURRAY, S., Interactive Data Visualization for the Web, O'Reilly Media, 2013.
Disponível: http://chimera.labs.oreilly.com/books/1230000000345/index.html
[Acesso em Fevereiro de 2015]
[26] CAMPBELL, C., “Mousetrap - Keyboard shortcuts in Javascript,” [Online].
Disponível: http://craig.is/killing/mice. [Acesso em Fevereiro 2015].
37
Apêndice
A. Casos de Uso
Neste apêndice, serão descritos os casos de uso da ferramenta, com seus fluxos básicos e
alternativos e regras de negócio.
UC1 – Registrar Conhecimento
Descrição: A ferramenta disponibilizará aos usuários tela que permita o registro
de conhecimento relacionado a uma atividade no fluxo do processo de análise de
desempenho. A ferramenta deve permitir que o usuário inclua um título e uma descrição
para o conhecimento a ser registrado, em formato textual. Adicionalmente, o
conhecimento pode ser apresentado como um mapa mental.
Fluxo básico:
Tabela A.1 – Fluxo básico do caso de uso 1
No. Ações Desvios
1 O caso de uso é iniciado.
2 O sistema disponibiliza os campos para preenchimento dos dados
do item de conhecimento.
3 O Usuário escolhe o tipo de conhecimento a ser inserido.
4 O Usuário representa o conhecimento de acordo com o tipo
selecionado
FA1
5 O Usuário associa o conhecimento a uma etapa, atividade ou tarefa
do processo.
6 O sistema registra o conhecimento.
7 O caso de uso é encerrado.
Fluxos Alternativos:
FA1 – Registro durante execução do processo
Caso o usuário esteja inserindo um conhecimento durante a execução do processo,
o conhecimento é automaticamente associado à etapa, atividade ou tarefa do processo
sendo executada. Retorna no passo 6.
Regras de Negócio:
RN1 – Tipos de conhecimento
A ferramenta permite a inserção de conhecimento em formato textual e em um
mapa mental.
38
UC2 – Disponibilizar Conhecimento
Descrição: Disponibilizar aos usuários o conhecimento registrado durante a
execução de uma tarefa do processo de análise de desempenho. A ferramenta deve indicar
que existe conhecimento relacionado a tarefa sendo executada, listando todos os itens de
conhecimento associados, assim como permitir que os detalhes de cada item de
conhecimento sejam visualizados.
Fluxo básico:
Tabela A.2 – Fluxo básico do caso de uso 2
No. Ações Desvios
1 O caso de uso é iniciado. FA1
2 O sistema indica que há conhecimento relacionado a tarefa sendo
executada, listando-os na tela.
3 O Usuário indica que deseja ver mais detalhes sobre o
conhecimento.
4 O sistema exibe o conhecimento no formato em que foi inserido.
5 O caso de uso é encerrado.
Fluxos Alternativos:
FA1 – Busca de conhecimento
O usuário está buscando conhecimento relacionado ao processo de análise
de desempenho. Retorna no passo 3.
UC3 – Manter conhecimento
Descrição: Disponibilizar tela para edição e desativação ou exclusão de itens de
conhecimento.
Fluxo básico:
Tabela A.3 – Fluxo básico do caso de uso 3
No. Ações Desvios
1 O caso de uso é iniciado.
2 O usuário indica que deseja editar um item de conhecimento. FA1, FA2
3 O Usuário altera informações desse item de conhecimento.
4 O sistema registra as atualizações.
5 O caso de uso é encerrado.
39
Fluxos Alternativos:
FA1 – Desativação do conhecimento
O usuário indica a desativação do conhecimento. Esse conhecimento não poderá
ser exibido até que ativado novamente. Atualizações no conhecimento serão permitidas.
Retorna ao passo 4.
FA2 – Exclusão do conhecimento
O usuário indica a exclusão do conhecimento. Esse conhecimento será apagado
do sistema e não poderá ser recuperado. Retorna ao passo 4.