Elementos para a Construção de
uma Memória Organizacional
Edson Emílio Scalabrin
telefone: 0xx41-330-1746
e-mail: [email protected]
download: http://www.ppgia.pucpr.br/~scalabrin
Plano
 Assunto:
• A construção de uma memória organizacional.
 Objetivos:
• Descrever alguns pontos importantes relativos a
fase de construção de uma memória
organizacional.
• Apresentar algumas tecnologias/metodologias de
implementação de sistemas computacionais
• Apresentar um projeto de capitalização de
conhecimentos usando CBR e Agentes
Elementos para a construção de MO
Primeira etapa
Tarefa:
• fazer um inventário sobre o estado atual
Objetivo:
• Determinar as pessoas da empresa envolvidos
pelo operação de Capitalização (tanto como
fonte de expertise como usuários em
potencial)
• Determinar as fontes documentárias e as bases
de dados disponíveis na empresa.
Elementos para a construção de MO
Possíveis fontes . . .
Exemplos:
• especialistas humanos
• documentos em papel ou eletrônicos existentes
– notas, relatórios, documentos contratuais,
documentação técnica, atas de reuniões,...
• mensagens trocas por correio eletrônico
• base de dados
• dicionários
• glossários, esquemas de CAD ...
Elementos para a construção de MO
Antecipando o registro formal dos . . .
 O estudo do ambiente de trabalho dos
futuros usuários permite escolher o modo
de materialização da memória
 Esta memória pode compor-se de
documentos em papel ou eletrônicos
tornando explícitos os conhecimentos dos
especialista da empresa
Elementos para a construção de MO
Formas de implementação . . .
Por meio de:
• um sistema de gestão de documentação, que explore
os documentos existentes da empresa
• uma base de dados relacional
• um armazém de dados (data warehouse)
• uma base de conhecimentos
• uma base de casos
• um sistema baseado na Web
• um sistema multi-agente
Elementos para a construção de MO
Tecnologia de implementação . . .
Objetivo
• Fazer um sobrevôo as tecnologias: banco de
dados relacional, armazém de dados (d/w),
base de casos, agentes de software.
Forma de apresentar
• Evolução tecnológica do processamento de
dados e da informação, e apresentação de
uma aplicação.
Tecnologia de Implementação
Evolução histórica . . .
 1as.
Edições de BD não separavam:
• processamento de transações (online)
• processamento em lote
• processamento analítico
 Edições
subsequentes promoveram a separação :
• para atender necessidades operacionais
• para atender necessidades informacionais ou
analíticas
 Evolução
= PC + LQ Geração.
Tecnologia de Implementação
Separação em operacional e informacional
Razões da divisão:
• os dados que atendem as necessidades
operacionais são fisicamente diferentes dos dados
que atendem as necessidades informacionais;
• a tecnologia de suporte é diferente;
• a comunicação dos usuários com os BDs é
diferente;
• as características de processamento do ambiente
operacional e do ambiente informacional são
fundamentalmente diferentes.
Tecnologia de Implementação
Processamento informacional
Definição: Processamento informacional
• É o processamento que atende às necessidades
dos gerentes durante o processo de tomada de
decisões
Particularidade:
• O processamento analítico examina amplos
espectros de dados para detectar tendências
• A execução de um processamento analítico
requer acesso a muitos registros.
Tecnologia de Implementação
Evolução tecnológica
1960
Arquivos mestres, relatórios
1965
Explosão dos arquivos mestres
• complexidade de manutenção
e desenvolvimento
• sincronização dos dados
• hardware
Tecnologia de Implementação
Evolução tecnológica
1970
DASD (Direct access storage device)
• SGBD
• BD
• “uma única fonte de dados para
todo o processamento”
1975
Processamento de transações
online e de alta performance
Tecnologia de Implementação
Evolução tecnológica
MIS/SAD
Processamento
de transações
1980
PCs, tecnologia L4G
O paradigma de
um único BD para
todos os fins
Tecnologia de Implementação
Evolução tecnológica - Programas de extração
Definição: Programas de extração
• São programas mais simples que varrem um
arquivo ou BD, usando alguns critérios de
seleção, e, ao encontrar dados que atendem aos
critérios, transporta os dados para outro
arquivo ou BD.
Tecnologia de Implementação
Evolução tecnológica - Programas de extração
1985 - PCs, tecnologia L4G
Iniciar com alguns parâmetros, pesquisar um
arquivo baseado na satisfação dos parâmetros,
e, então passar os dados para outro local.
Por que processamento de extração ?
• Performance e controle
Tecnologia de Implementação
Evolução tecnológica -Arquitetura D.E.
Ambiente de sistemas herdados
Tecnologia de Implementação
Evolução tecnológica -Arquitetura D.E.
Problemas da arquitetura D. E .
• credibilidade dos dados
• produtividade
• impossibilidade de transformar dados em
informação
Tecnologia de Implementação
Evolução tecnológica -Arquitetura D.E.
Dept. A
10%
SGBD
A
Business
Week
Wall
Street
Journal
SGBD
B
SGBD
C
Diferencial algorítmico:
A) domingo à tarde + contas antigas
B) 4a feria à tarde + contas grandes
Nenhuma fonte de dados comum para começar
Dept. B
-20%
Tecnologia de Implementação
Evolução tecnológica -Arquitetura D.E.
Problemas de produtividade
Caso 1:
• a gerência pretende produzir um relatório
corporativo utilizando os diversos arquivos e
conjuntos de dados que acumulou durante os
anos.
• O que fazer ?
Tecnologia de Implementação
Evolução tecnológica -Arquitetura D.E.
Continuação caso 1:
O projetista destacado para a tarefa decide que
há três coisas que devem ser feitas para
produzir o relatório corporativo:
• localizar e analisar os dados para o relatório
• compilar os dados para o relatório
• obter recursos humanos de programação /
análise para realizar os pontos acima.
Tecnologia de Implementação
Arquitetura D.E não conduz a produtividade
Produzir um relatório
corporativo, varrendo
todos os dados
Para localizar os dados
é necessário examinar
muitos arquivos
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
Muitos programas de
extração, todos
customizados, precisam
cruzar diversas barreiras
tecnológicas.
Tecnologia de Implementação
Arquitetura D.E. - Tempo para geração dos . . .
x
x
x
x
x
x
x
x
x
x
Localizar os dados
9 - 12 meses
Obter os dados
15- 24 meses
Programadores/analistas ???
---------------------------------------------------------3 - 5 anos
1o. Relatório
2o. Relatório
...
No. relatório
3 - 5 anos
OBS:
Exceto ser em raras
circunstâncias, o
trabalho realizado
para o 1o. Relatório
não prepara o
caminho
para os demais.
Tecnologia de Implementação
Evolução tecnológica - do à informação
“. . . já é difícil descobrir quais dados estão
associados a uma conta, logo tentar extrair
informações dessas aplicações segundo um
critério geral é quase impossível . . .”
Problema:
• a construção das aplicações jamais levou em
conta a noção de integração ;
• decifrar uma informação não é uma tarefa fácil
para o analista de SAD.
Banco de Dados
Modelo Relacional
Modelo Relacional

Sistemas Operacionais: Geralmente implementados
através de banco de dados relacionais.

Sistemas Analíticos: Geralmente implementados
através de um banco de dados dimensional.
SISTEMA OPERACIONAL
PROJETO
BOTTOM-UP
SISTEMA ANALÍTICO
PROJETO
TOP-DOWN
Modelo Relacional
 Definição: Representa os dados como uma coleção de
tabelas.
Tabela Produto
Chave_produto
Descrição
Tabela Loja
Chave_loja endereço
Marca
Categoria
Preço Compra
Preço Venda
nome
Tabela Venda
Chave_venda
Chave_produto
Chave_loja
quantidade nota
data
Relacionamento

No modelo relacional, as tabelas mantém um relacionamento
entre si. No exemplo abaixo, os registros da tabela venda se
relacionam com os registros das tabelas loja e produto.
venda
No modelo relacional os dados
do produto não precisam ser
duplicados para cada registro
de venda.
1
2
3
produto
4
loja
X
a
b
Y
Implementação Física do
Relacionamento

Os relacionamentos são implementados fisicamente
através do relacionamento das chaves primárias de cada
tabela que compõe o relacionamento.
Tabela Produto
Chave_produto
Descrição
Tabela Loja
Chave_loja endereço
Tabela Venda
Chave_venda
Marca
nome
Chave_produto
Categoria
Preço Compra
Preço Venda
Chaves estrangeiras
Chave_loja
quantidade nota
data
Formas Normais
 Regras desenvolvidas para:
• Evitar inconsistências lógicas nas operações de
atualização das tabelas.
• Evitar redundância na organização das tabelas.
Primeira
Forma
Normal
Segunda
Forma
Normal
Terceira
Forma
Normal
Aumenta as restrições
Diminui o desempenho
Primeira Forma Normal – 1FN

Definição: o domínio de todos os atributos das
tabelas deve ser atômico (indivisível)
• Cada coluna da tabela deve conter só um tipo de
atributos
Não
Tabela id_pessoa nome contato
Satisfaz
Pessoa
Brigadeiro Franco
1FN
233-3932
[email protected]
Satisfaz
Tabela
Pessoa id_pessoa nome endereço telefone email 1FN
Segunda Forma Normal – 2FN
Definição: cada tabela deve satisfazer a 1FN, cada
registro deve ter uma chave primária e cada campo
não chave deve depender totalmente da chave
Não Satisfaz 2FN
chaveprimária.
primária: id_pessoa, conta

id_pessoa nome endereço conta saldo agência endereço_agência
Satisfaz 2FN
chave primária: id_pessoa
id_pessoa nome endereço conta
os campos dependem
apenas de parte da chave
primária, alguns apenas de
conta outros apenas de
id_pessoa
chave primária: conta
conta saldo agência endereço_agência
Terceira Forma Normal – 3FN

Definição: cada tabela deve satisfazer a 2FN e cada
atributo não chave primária depende diretamente da
chave primária.
id_pessoa nome endereço conta
o endereço da agência não
depende da conta, mas da
agência.
conta saldo agência endereço_agência
conta saldo agência
agência endereço_agência
Não Satisfaz 3FN
Satisfaz
3FN
Integridade

Devem ser observados dois tipos de integridade:
• a) Integridade de Entidades (cada tabela deve ter
exatamente uma chave primária)
• b) Integridade Referencial (cada chave estrangeira
deve ser consistente com sua chave primária
correspondente)
Chave
primária
Tabela Pessoa
id_pessoa nome endereço id_empresa
Tabela Empresa
id_empresa nome_da_empresa endereço
Chave
estrangeira
Integridade Referencial


O valor da chave estrangeira deve existir na tabela
empresa ou ser NULO.
Quando um registro da tabela empresa for excluído, todas
os registros da tabela pessoa que façam referência a
esse registro devem ter o valor da sua chave estrangeira
alterado para NULO.Tabela Pessoa
id_pessoa nome
endereço
id_empresa
1
Adao
YYY
2
2
Eva
YYY
2
Tabela Empresa
id_empresa nome_da_empresa endereço
2
ZZZZ
WWW
Características do Modelo
Relacional



Reduz a redundância das informações armazenadas, diminuindo
o espaço total gasto para armazenar-las.
Simplifica significativamente as operações de escrita, tanto na
inserção de novas informações quanto a alteração de
informações existentes.
Complica as operações de leitura. Quanto mais normalizado for o
modelo do banco de dados operacional, mais lenta e trabalhosa
será a operação de leitura.
1a FORMA
NORMAL
Redução no volume
de dados e aumento
da consistência
2a FORMA
NORMAL
3a FORMA
NORMAL
Desempenho
na leitura
Modelo Relacional: Conclusões
Operação: ESCRITA:
• Apenas um pequeno número de registros precisa ser
alterado.
• Por exemplo, para associar uma nova conta ao usuário os
dados do usuário não precisam ser recadastrados.
Operação: LEITURA:
• Várias tabelas precisam ser associadas para obter a
resposta.
• Por exemplo, para obter o faturamento total que uma loja
obteve com um dado produto, num dado período.
ESCRITA
LEITURA
Banco de Dados
Modelo Dimensional
Modelo Dimensional

Considere a seguinte afirmativa.
• “Nós vendemos produtos em vários mercados, e nós
medimos nosso desempenho ao longo do tempo”.

O modelo de dados mais adequado para representar
diversas relações entre grandezas é o modelo
dimensional.
TEMPO
Cada ponto do cubo
representa uma
combinação de
Produto, Mercado e
Tempo armazenado.
MERCADO
PRODUTO
Modelo Dimensional = Esquema em Estrela

O projeto de um banco de dados dimensional é do
tipo top-down, isto é, ele é projetado a partir do
tipo de análise que se quer efetuar.
DIMENSÃO PRODUTO
ANÁLISE DE VENDAS
(TABELA DE FATOS)
DIMENSÃO TEMPO
Chave_tempo
dia_da_semana
mês
quadrimestre
ano
flag_feriado
Chave_tempo
Chave_produto
Chave_loja
reais_faturados
unidades_vendidas
reais_gastos
Chave_produto
descrição
marca
categoria
DIMENSÃO LOJA
Chave_loja
nome_da_loja
endereço
tipo_de_planta_da_loja
Modelo Dimensional:
Conclusões
Operações:
• ESCRITA: Não pode ser utilizado, pois não guarda os registros na
forma de unidades.
• LEITURA: Rápida, pois a consulta é feita basicamente em uma única
tabela.
Características dos Bancos Analíticos:
• A dimensão de tempo é definida de acordo com uma granularidade
pré-definida: dia, semana, mês. Ela não reflete o instante em que as
operações individuais foram efetuadas.
• O projeto é top-down, isto é, a tabela central parte do objetivo final da
análise.
• Não contém necessariamente todos os atributos relativos aos dados,
apenas os que interessam para análise.
• Não é adequado para efetuar transações operacionais.
Exemplo
Projeto PROCEE
Projeto ProCSEE :
IACK (Interaction Agent for Capitalizing Knowledge)


Exemplo de projeto de capitalização de
conhecimentos visando a construção de
uma memória de um projeto software.
Particularidade:
• agentes de software
• CBR - Case Based Reasoning
Projeto ProCSEE
Objetivo:
• Construir uma arquitetura para um
ambiente de engenharia de software
cooperativo, atendendo a interação de um
grande grupo de pessoas distribuídas.
Projeto ProCSEE
optimization, statistics and
coordination algorithms
customization, update
and query mechanisms
programmer
Interaction
Agent
Systems
analyst
Interaction
Agent
Design-Patterns,
Frameworks and
Components Library
Systems
Interaction manager
Agent
.
knowledge
repository
CSCW
metrics
repository
tools for
supporting
communication,
collaboration and
coordination
Software engineering
processes templates
customer
Projeto ProCSEE
IACK
Consulta a
Competências
Visualizador
de Estado de
Projeto
Repositório de
Competências
Repositório
de Projetos
Scheduler
Capturador
de Eventos
Repositório
de Eventos
Interpretador
de Eventos
Parte do ProCSEE referente ao implementador
Projeto I.A.C.K

Implementação de um agente de software para capitalizar os
conhecimentos de um implementador de software.

Principais atividades :
• a definição e implementação de um modelo para representar e
armazenar as atividades de um implementador
• a captura de eventos relacionados as atividades de um
implementador
• o armazenamento de eventos em repositório
• a interpretação dos eventos relativos ( capturados ) a execução de
uma atividade de um implementador
• o calculo de desempenho ( nota ) de um implementador no tocante
a execução de suas atividades
Projeto I.A.C.K : motivação

Desenvolver de mecanismos visando a
capitalização dos conhecimentos de
implementador de software de maneira semiautomática.

Alimentar e atualizar uma base de conhecimentos
sobre as competências dos implementadores de
softwares de uma organização.

Melhorar a alocação de recursos e o cálculo dos
custos de um projeto de software.
Tarefa, atividade, eventos
Tarefa
Atividade
Atividade
Atividade
...
Modelo de atividades inclui:
Eventos Eventos Eventos
...
 recursos utilizados
 descrição da atividade
 astúcias
Armazenamento . . .
Os conhecimentos sobre a execução das
atividades são armazenados na forma de
casos.
• CBR - Case-Based Reasoning
Os conhecimentos sobre as competências
dos programadores são armazenados na
forma de objetos + ligações
Raciocínio baseado em casos
Idéia:
• Raciocínio baseado em
casos resolve novos
problemas adaptando
soluções que foram usadas
no passado para resolver
problemas similares
no presente.
?
Descrever a
situação atual
!
base de
casos
Aplicar o
conhecimento
Raciocínio baseado em casos
CBR tipicamente possui um processo cíclico
que compreende quatro Re’s:
•
•
•
•
Recuperar os casos mais similares ou próximos
Reutilizar o(s) caso(s) para tentar resolver um problema
Revisar a solução proposta se necessário
Reter a nova solução um novo caso
Obs.:
Memória dinâmica
Ciclo do CBR
Recupera
Problema
Retenção
Base de Casos
R
e
u
s
o
Revisão
Confirmação da Solução
Solução Proposta
Agente de interação
“É um programa que pode agir no lugar de um ser
humano, empregando técnicas de INTELIGÊNCIA
ARTIFICIAL:
 para executar certas tarefas relativas a manipulação de informações
[Sycara 96];
 para fornecer uma assistência a um usuário, negociando uma
informação com uma outra aplicação [Maes 94a,b];
 para responder solicitações feitas por usuários e/ou por
outros agentes [Wooldridge & Jennings 95];
 para criar um perfil do usuário a partir de um modelo de suas
atividades, habilitando assim o agente a fornecer informações no
tocante a execução de suas atividades.”
Organização dos agentes por função
USER 1
Goal and Task
Specification
USER 2
USER N
Results
Interface Agent 1
Interface Agent 2
Interface Agent n
Task
Task
Proposed Solution
Task Agent 1 Conflit Resolution
Information
Integration
Information
Reply
Request
InfoAgent 1
query
Collaborative
Query
Processing
Task Agent 1
InfoAgent 2
InfoAgent n
answer
Info
Source 1
Info
Source 2
Info
Source 3
Info
Source n
Considerações . . .

Permite melhor avaliar a competência de cada
implementador, e consequentemente melhor
alocar os implementadores nos projetos

Permite gerenciar o conhecimento de grupo
através do modelo de atividades

Permite a disseminação das astúcias ao grupo,
bem como as informações ligadas a execução as
suas atividades
Considerações gerais . . .

O conhecimento deve deixar de ser propriedade
de alguns privilegiados e se transformar em uma
ferramenta de negócio comum a todos os
profissionais (ex. implementador) de uma
empresa

Inteligência acumulada  vantagem estratégica
Exercício

Propor uma definição para competência

Propor um modelo de representação de competências

Elaborar um conjunto de questionamento possível e
desejável que poderão ser feitas ao sistema de gestão de
talentos ou competências

Se existe, quais são os benefícios estratégicos que uma
organização pode obter a partir deste sistema ?

Na sua opinião esse sistema pode servir como uma primeira
abordagem para se fazer uma gestão racional do capital
intelectual de uma organização ?
Referências . . .

GRUNDSTEIN M., BARTHÈS J-P., An Industrial View of the Process
of Capitalizing Knowledge, 4th. International ISMICK Symposium,
Edited by Dr. J.F. Schreinemakers, 21-22 October, 1996.

KOLODNER, JANET, Case-Based Reasoning - Morgan Kaufmann
Publishers, San Mateo, 1993.

MAES P., Agents that reduce work and information overload, In :
Communications of the ACM, 37(7), July, 1994a.

MAES P., Social interface agents : Acquiring competence by learning
from users and ohter agetns, In : O. Etzioni (eds.) Software Agents Papers from the 1994 Spring Symposium
(Technical Report SS-94-03), pp. 71-78, AAAI Press, 1994b.
Referências . . .






R.C.Burnett, A.Calsavara, C.Maziero, E.Jamhour, E.Scalabrin, R.Betini –
“An Integrated Environment for Supporting Cooperative Software
Engineering”- PUCPR – Curitiba - Brasil,1998.
SCHEIREINEMAKERS, Jos F. KNOWLEDGE MANAGEMENT
Organizatioon, Conpetence and Methodology. Würzburg: ERGON-Verl; 1996.
SYCARA K., DECKER K., WILLIAMSON M., PANNU A., Distributed
Intelligent Agents, In : IEEE Expert, July, 1996.
WIIG, Karl M. KNOWLEDGE MANAGEMENT – Thinking about Thinking
– How People and Organizations Create, Represent and Use
Knowledge.Schema Press,Texas, 1993.
WIIG, Karl M. – KNOWLEDGE MANAGEMENT METHODS – Pratical
Approachs to Managing Knowledge – Schema Press – Texas, 1993.
WOOLDRIDGE M., JENNINGS N., Intelligent agents : theory and practice,
In : The knowledge Engineering Review, Vol. 10 (2), pp. 115-152, 1995.
Download

Elementos para a Construção de uma Memória