Levantamento de Modelos de Dados em Sistemas - CEUR

Transcrição

Levantamento de Modelos de Dados em Sistemas - CEUR
em Sistemas Legados
Nuno Palmeiro Ribeiro
Alberto Bigotte de Almeida
DAMAG
Fernando En-to e Abreu
Pedro Sousa
INESC
Resumo
Um conhecimento detalhado do modelo de dados dos sistemas de informaVo nas
organiza6es, tanto ao nine} conceptual como aos n{veis l6gico e fisico,
fundamental
para perlnitir a sua evoluo.
A evoluo
obviamente, tantO mais dificil quanto menos conhecimento do
modelo de dados Se tern. Sem esse conhecimento, pequenas altera5es
podero
tel consequncias
redundcia
efectuadas
imprevisincis, conduZindo ao aumento da dimenso,
da
e da complexidade em geral do sistema.
A obteno
do modelo conceptual, a partir do catogo
do Sistema de Gesto
de
_______________________________________________________________________
30 Encontro Nacional para
a Qualidade nas Tecnologias de Informao
Universidade do Minho
4-6 de Novemb
998
1
e Comunical;;Ses
97
.Levantamento de Mode|es de Dados
em Sistemas Legados
estas so
inc&Fazes de lidar com a realidade dos SGBD's legados, Que foram
norrnalmente criados sem regras de Domes ou sem declara5es de chaves, entre outros.
Nesta comunicao,
apresentamos um mtodo para a recuperao
do modelo de
dados, born como um caso de estudo aplicado ao Sistema Integrado de Informao
2
30 Encontro Nacional para
a Qualidade nas Tecnologias de Informa50
Universidade do Minho
4 de Novembro 1998
98
do
e ComunicaC8es
dos SiStemaS ODde estes no
so coDhecidos.
O Sistema Integrado de Informao
de Pessoal da Maritma Formesa,
designado pox SflP, foi um sistema criado na dcada de 80.
icimente
doravante
este sistema
"^
*
grande
parte
dos
desenvolvimento j
elementos
no
que
estiveram
directamente
envolvidos
no
Se encontram na Marinha, tendo-Se perdido muita da
informao Quelevou criao do sistema tal como ele se apresenta actualmente;
_______________________________________________________________________
3o Enconbo Nacional para
a Qualidade Has Tecnologias de InformaC5o e ComunicaV6es
Universidade do Minna
46 de Novembro 1998
99
3
Levantamento de Modelos de Dados
em S2sLemasLegados
*
rotatividade do pessoal, sem existncia de uma politica de actualizao
compulsiva
dos modelos;
* ngo existirem mecanismos de verificao
Para inverter esta situao,
importcia.
da rastreabilidade sincr6nica.
o levantamento do modelo de dados
de extrema
este Que perrnite que os novos elementos possam facilmente emender
como o sistema est deenvolvido, sendo um elemento fundamental para qualquer aco
de manuteno
e/ou evoluo
do sistema, de forma a alargar o sen tempo de Vida titil.
O cen5/io descrito no
exclusivo da Marinha. Infelizmente,
algo generalizado
em muitas organiza6es [McClure92].
A recuperao
do modelo de dados parece,
complexa e, de certa forma, rapida. A existencia de vas
primeira vista, uma tarefa pouco
ferramentas de reengenharia no
mercado destinadas a este efeito [Furlan94l contribuem para esta forma de pensar.
Por6m, a tarefa no 6 to simples. As ferramentas existentes baseiam-se, normalmente,
apenas no catlogo da base de dados. De facto, assumem entre outras coisas que no
existam hom6nimos (atributos com Domes iguais mas significados diferentes) e
sin6nimos (atributos com Domes diferentes e significados iguais) e assumem Que no
existem fragrnentaBes
de tabelas- Contudo estas situaJes
existem na prtica,
mostrando-se essas ferramentas inadequadas no tratamento da maioria dos casos reais.
Para a obteno
abrangente, na quaJ
do modelo de dados
necesso
necessio
uma abordagem mais rigorosa e
consultar para al6m do catogo
da base de dados, o
c6digo fonte das aplica6es que acedem aos dados, os dados e os pr6prios utilizadores.
4
3o Encontro Nac2onal para
a Qual2dade nas Tecnologias de Informao
Un2versidade do Minke
4-6 de Novembro 1998
100
e Comunica&es
2.Metodologia
A metodologia Que agora Se descreve para a recuperao
do modelo de dados
fundarnenta-se na detec5o de chaves primariasl, chaves estrangeiras2 das tabelas e na
..,. decomposio
do problema inicial em problemas mais simples.
,, pasta forma, a metodologia adoptada seguiu as seguintes fases:
1As chaves primarias so o conjunto de atributos que identificam, de forma exclusiva, cada um dos
elementos de uma tabela.
2 As chaves estteiras
so Osatributos de uma tabela Quereferem outra tabela, onde s5o Chanept.ima._
30 Encontro Nacional para
a Qualidade nos Tecnologias de InformaVSo e Comunicaes
Universidade do Minho
6 de Novembro 1998
101
5
Levantamento de Modelos de Dados
em Sistemas Legados
referentes a cada uma das tabelas como sendo a sua chave primia.
existem Indices tinicos declarados no catogo,
D0
inspeco
Nos cases em que
a Chane tel de ser identificada por
aos dados ou ao c6digo fonte, onde Se fazem as inserJes
dos dados nessas
tabelas. No caso de existir mais de um fndice nico declarado no catogo,
surgem duas
opV;6es.Na primeira, sero Os pr6prios utilizadores a definir a Chane primaria, face ao
Devido
grande dimenso
dos sistemas, centenas de tabelas e milhares de
atributOs, Osmodelos conceptuais Que os representam so lambm complexos e de grande
dimenso. Uma forma hem conhecida de abordar os problemas complexos
problema em vOs
dividir o
problemas mais simples (dividir para conquistar). Assim, nesta fase
da metodologia aglupam-Se as tabelas por forma a Que Se possa razer o levantamento do
modelo de dados das tabelas de cada grupo isoladamente. Muito embora seja necesso
uma fase final para agregar os modelos obtidos num tinico e completar as eventuais
dependncias entre estes, o problema inicial ficou decomposto numa srie de problemas
mais tratveis.
6
3o Encontro Nacional para
a Qualidade nas Tecnologias de Informao
Universidade do Minho
4-6 de Novembro 1998
102
e ComunicaSes
^
A descriGo detalhada dos crit6dos de agruparnento das tabelas que Se
1, apresentamos os grupos obtidos processando as 185 tabelas do SEP. Cada grupo
apresentado como uma entidade abstracta ou como uma associao
de um modelo
abstracto. Os critdos de agrupamento das tabelas asseguram que:
*
^
o identificador de uma entidade abstracta
a intersecgo das chaves primar:ias das
talJelas Que a constituem, Que garantidamente no vazia;
a intersecVo das chaves de quaisquer duas tabelas de quaisquer duas entidades
abstractas vazia;
*
!^
Os grupos representados como associaJes do modelo abstracto significam que a
Chane das suas tabelas cont8m elementos das chaves das entidades Que
relacionam.
APresenta-se um exemplo na figura I , onde a entidade abstracta "NII" representa o
grupo das tabelas que identificam e descrevem as pessoas. A entidade abstracta
"UNIDADE" representa o grupo das tabelas Que identificam e descrevem as unidades. A
associa5o "PERTENCEM" representa todas as tabelas Que relacionam tabelas das
pessoas com tabelas das unidades. Este esquema abstracto, para alm
complexidade do problema do levantamento do modelo de dados
"^
de reduzir a
tambm um precioso
auxilio compreensao do "Universo do Discurso" do Sl]P.
30 Encontm Nacional para
a Qualidade nas Tecnologias de Informao
Universidade do Minho
4-6 de Novembro 1998
7
e ComunicaCSes
103
Levantamenta de Madelas de Dadas
em Sistemas Legadas
n_
Figura 1- Esquema abstracto do S11F
2.3. Especificag&o do esquema abracIto
Nesta fase, pretende-Se classificar as diferentes tabelas de cada grupo ou
associa5es
semtica
abstractas em entidades fortes, fracas e associaJes
do modelo de dados entidade-associao.
composio
de acordo com a
A classificago tern como base
dos atributos Queconstituem a Chane primia
da tabela [Batini92, Chiang94,
Soutou96].
Encontro Nacional para
a Qualidade nas Tecnologias de Informsa
Universidade da Minho
4-5 de Novembro 1998
30
104
&
e Camunicaq;;5es
qualquer outra Chaneprima
.
,-
de outra tabela;
representantes das entidades fracas, as tabelas cuja Chane primia
constituida
For uma Chane de outra tabela e o(s) restante(s) atributo(s) no contm a Chane de
outra tabela;
*
associaV5es, caracterizam'-se pelas suas chaves primias
serem compostas pol
chaves de pelo monos duas tabelas"
Foi desenvolvida uma aplicago para produzir automaticamente esta classificaVo,
^
recorrendo a um conjunto de interroga6es
base de dados. Desta forma, foram obtidas
104 tabelas classificadas como fortes, 67 fracas e 14 associa5es.
A maior dificuldade nesta lase foi emender o significado dos atributos de algumas
entidades fracas.
Na figura 2, apresentamos
"^
o esquema conceptual obtido pelo levantamento das tabelas
que pertencem a entidade abstracta NIT"
"^
3o =_ncontm Nacional para
a Qualidade has Tecnologias de Inform@Bo e ComunicaCSes
Universidade do Minho
4-6 de Novelnbro 1998
105
9
Levantamento de Mode|as de Dados
em Sistemas Legados
.,'-
I
.
'
'
.
Nii_sa
. ,
NOS_nliS
ncshf
]
Figura
2 - RepresentaSo
2.4ldentificao
interns
da entidade
de general!6es
abstracta
, mas suas componentes
especf5cas
e fragmentaes
Nesta {ase pretende-Se identificar as tabelas com as mesmas chaves primias
hem
como constatar as dependncias de incJuso entre elas.
Quando encontramos duas tabelas com a mesma Chane primia
interessa
conhecer as interdependncias das chanes comuns nos registos entre duas tabelas.
10
3o Encontro Nacional para
a Quatidade Has Tecno\iogias de Informsg5o e Comunicai!;:5es
Universidade do Minho
6 de Novembro 1998
106
-
Desenvolvemos uma aplicao,
*
sobreposio,
Que gera os ensaios necessos
de forma a cobrir todos
no caso de existirem chaves comuns nos registos comuns a ambas
as tabelas e simultaneamente cada tabela ter registos exclusivos;
disjuno,
quando a intersecVo das chaves comuns nos registos de ambas as
tabelas for vazia;
* incluso,
quando todas as chaves comuns nos registos de uma tabela esto
inclufdas na outra;
'
"^
coincidncia no caso das chaves comuns nos registos de ambas as tabelas serem
exactamente as mesmas.
-
No caso do SIJ]P,foram necessos
as depend8ncias de incluso
cerca de 500 ensaios base de dados para validar
das chaves primas.
Como resultados conseguimos
identifica:!:duas fragmentaJes verticals e trs generaliza5es.
A figura 3 ilustra o caso de uma fragmentao
,^
das tabelas T_Con_Tipcol e
T_Con_Coloca- Trata-se de tabelas de converso de c6digos em que verificamos Que
alem de terem a mesma Chane prima,
ambas as tabelas tinham o mesmo ndmero de
registos e cram exactamente os mesmos (coincidentes). Assim, criando uma entidade
abstracta, no caso T_Con, poderemos tratar ambas as tabelas como uma s6, a um nfvel
mais elevado em que no
se discutem implementa6es mas conceitos. De seguida
verificamos que todos os registos dessas tabelas estavam incluidos numa outra tabela
(T_Codunidade).
3o Encontro Nacional para
a Qualidade nas Tecnologias de Inform@o
Universidade do Minho
4-6 de Novembro 1998
11
e ComunicaVSes
107
Levantamento de Modelos de Dodos
em Sistemas Legados
T_Con
~...-~.....--~.
~'1'_on_Ilpcoi
T_Codunidade
Figura 3 - FragmentaSo
A figura 4 ilustra uma generalizao.
mesma Chane prima.
vertical e subconjunto
Esta envolve um conjunto de tabelas com a
Todas as tabelas fazem refer8ncias a pessoas. A anise
depend8ncias entre os valores das chaves primas
das
destas tabelas mostrou que existia um
conjunto de tabelas Que cram disjuntas da tabela de mortos e simultaneamente estavam
incluidos numa entidade represent&tin&dos elementos vinos da Marinha. Note-Se Que na
figura, as entidades VIVOS, INDIVUOS
(a sombre&do) no
esto implementadas
fisicamente, so apenas conceitos represent&dos como entidades do modelo conceptual.
Entretanto as tabelas Idnoso e Nosol, referentes a registos nosol6gicos, incluem registos
de elementos vinos e mortos. A unio destas quarto entidades formam o grupo de todos
indivjlduos que estiveram ou esto na Marinha.
12
30 Ehcohtro Nacional para
a Qualidade has Tecnologias de Informago
Universidade do Minho
4-S de NOvembrO1998
e Comunicac5es
108
\Al
Levantamento de Mode|as de Dados
em Sistemas Legados
2.5 Detecl;;dodas restantes associaties
Nesta lase pretendemos identificar associa6es atravs de chaves estrangeiras.
Tal como no porno 2, a obten5o de chaves estrangeiras segne as Segnlutes fases:
i)
geraV:o de hip6teses;
l1)
111)
,-
14
30 Encontro Nacional para
a Qualidade nas Tecnologias de Informao
Universidade do Minho
4-6 de Novembro 1998
109
e ComunicaCSes
Ltomento de Modelos de Dodos
em Sistemas Legodos
| F.aI-e
Na obteno
das generalizaHes, encontramos muitos casos de sobreposio
de
conjuntos. Estes casos de sobreposiVo s6 podero ser modelados como subconjuntos t
30 Encontro Nacional para
a Qualidode nos Tecnologias de InformaC5o
Unlversldade do Minho
4-6 de Novembro 1998
13
e ComunicaV5es
110
Naturalmente
Que estes dovero
ser confirm&dos com os utilizadores do sistema, quell|
Foi desenvolvido um conjunto de queries que ensaiam se uma tabela referencia
outra. Assim, se uma tabela contm todos os registos de um atributo Chane de uma outra
tabela em que o atributo no pertence
Chane, ento
existem fortes probabilidades de esta
tiItima estar a referenciar a primeira.
Estes ensaios vo
elirninar algumas das possIveis chaves estrangeiras obtidas
anteriormente.
No caso do SUP, geraram-se cerca de vinte mil ensaios e foram levantadas cerca
de quarto mil hip6teses de chaves estrangeiras. Desta hip6teses foram validadas cerca de
150.
2.6 Outros Mtodos
Outros mtodos de levantamentos de modelos de dados tm sido publicados na
literatura cientifica. Alguns destes so em seguida brevemente descritos.
2.6.1 Utilizao
de padr8es procedimentais na abstrac3o de esquemas re!acionais.
Neste tipo de abordagem proposto em [Signore94], pretende-Se desencadear um
processo de reverse engineering atravs da identificao
chaves primias,
instru5es
conduzem reconstruo
do esquema da base de dados,
SQL, indicadores procedimentais e heuristicas que
do esquema conceptual.
30 Encontro NacionaE para
a QuaEidade nas TecnoEogiasde Informa(;;;8oe ComunEcaV8es
UniversEdade do Minho
46 de Novembro 1998
111
15
Levantamento de Mode|Os de Dados
em Sistemas Legados
2.6.2 Utilizeo
de queries por forma a melhorar o reverse engineering
de bases de
dados.
Nesta abordagem descrita em [Petit94], pretende-Se obter um esquema
entidade-associao
estendido (EAE) de uma base de dados relacional partindo de dois
* o mtodo baseia-se em pressupostos verdadeiros (prticos);
_____________________________________________________________________
3o Encontr.
16
Nadanal
para
a Qualidade has Tecnologias de Informa(;;3o e ComunicaBes
Universidade do Minke
4 de Novembro 1998
112
Os sistemas legados so uma fonte de preocupaVo para qualquer organizao.
Porem, 6 not6ria a consciencializao
por parte das organizaBes para a importcia
do
conhecirnento do modelo de dados como factor de qu&lidadedos sistemas de inform&o,
ressaltando o sen contributo para a manuteno,
soare
legado, e/ou a rnigrao
e o desenvolvimento ou melhoria do
dos sistemas para outras plataformas tecnol6gicas.
Embora o processo de reverse engineering, seja aquele em que se obt6m um
esquema l6gico ou conceptual do sistema a partir do nfvel fIsico atrav6s de ferramentas
automatizadas [McClure92], a verdade,
Queno
possivel automatizar todo o processo.
Existem situa6es em que apenas os utilizadores podero indicar como o sistema est a
funcionar. A titulo de exemplo considere-se o caso em que existam vas
mesma Chane prima.
Nesta situaV8o surge o problema da definio
tabelas com a
de associaJes
entre elas. Utilizando ferramentas automatizadas, poder5o ser definidas associaJes
erradas. No estado da arte actual, julga-se necesso
como Validao
o apoio de um perito da organizao
das hip6teses formuladas, no aspecto respeitante
O result&do pratico deste projecto foi a obteno
Este result&dofoi alcanado com o suporte de vlas
entre as quais Se destacam o S-Designer
definio
das
do modelo de dados do S.
{err&mantasde apoio reengenharia,
[Designer9l]
e o DB-Extract. Este
Itimo,
produzido para o efeito, foi desenvolvido em Visual Basic e produz um ficheiro SQL com
informaVo sobre as tabelas, nomeadamente quanto
sua classificao,
agregados e
relacionamentos. O S-Designer, foi utilizado como ferramenta grca,
de modo a
Enconbo Nacional para
a Qualidade nas Tecnologias de Informao
Universidade do Minho
4-6 de Novembro 1998
17
30
e ComunicaBes
113
Levantamento de Modeios de Dados
em Sistemas Legados
Ainda
cedo para avaiiar o impacto do trabalho efectuado. Este ainda Se encontra em
fase de concluso, mas Os seguintes resultados sero esperados:
\w
_____________________________________________________________________
18
3o Encontro Nacional para
a Qualidade nas Tecnologias de Informso
Universidade do Minho
46 de Novembro :L998
114
e ComunicaV5es
^
..
4. Trabalhe Future
A actualizao
da documentao,
incremental e For isso, a alterao
referida no ponto anterior,
dinca
uma aco
dever ser vista como um objectivo futuro.
Todo este trabalho contribuiu para a clarificao
da forma como o sistema est
funcionar e pode vir a conduzir a outros desenvolvimentos, nomeadamente a anSe
atributos no Chane,
deteco
de redundcias
a
dos
e de atributos derivados e opcionais.
processos que Se espera razer futuramente.
^"
.^"
"^
________________________________________________________________________
30 Encontro Nacional para
a Qualidade mas Tecnologias de Informao
Umiversidade do Minho
4-6 de Novembro 1998
19
e ComunicaBes
115
Levantamento de Modelos de Dados
em Sistemas Legados
Refer&ncias
[Batini92]
Carlo Batini, Stefano Ceri, Shamkant B. Navathe, "Conceptual Database
Design - An Entity-Relationship Aproach", Benjamin/Cumings, 1992.
[Chiang94]
Roger H.L. Chiang, Terence M. Barron, Veda C. Storey, "Reverse
Engineering of relational databases: Extraction of na FER model from a
relational database", Data & Knowledge Engineering 12 (1994) 107 - 142,
Y,
. , .
Isevler clence.
[Designer9l]
S-DESIGNER, AppModeler for PowerBuilder, Evaluation Version 5.1.0
32-
bit, Sybase Inc., and its subsidiaries, 1991.
[Furlan94]
Jos David Furlan, "Reengenharia da Inforrnao
- Do Mito
Realidade",
Makron Books do Brasil Editora Lda, 1994.
[McClure92] Carma McClure, "The Three Rs of Software Automation : Re-engineering,
Repository, Reusability", Prentice Hall, 1992.
[Petit94l
J-M. Petit, J. Kouloumdjian, J-F. Boulicaut, F. Toumani, "Using Queries to
Improve Database Reverse engineering", in Proc. Of the 13~ International
Conference on Entity-Relationship Approach, Lecture Notes in Computer
Science, Volume 881, pp 369-386, Dec. 1994, Manchester, UK
_____________________________________________________________________
20
3o Encontro Madame! para
a Qualidade nas Tecnologias de Informao
Universidade do Minho
4-6 de Novembro 1998
116
e ComunicaV6es
,_
Levantamento de Modelos de Dados
Procedural Patterns in Abstracting Relational Schemata", in Proc. Of the
-
Notes in Computer Science, Volume 881, Dec. 1994, Manchester, UK
[Sousa99]
Pedro Sousa, Lurdes Pedro-de'-Jesus, Fernando Brito e Abreu, "Clustering
Relations
into
Abstract
ER
Schemas", submetido
CSMR99,
Amesterdam, Netherlands.
[Soutou96]
.Palavras chave: Reverse Engineering, Qualidade, Sistemas Legados, Bases de
.^
"^
"^
"^
,-
_______________________________________________________________________
30 Encontro Radons! para
a Qua!Idade Has Tecnologias de Informa;;8o e ComunicaV5es
Universidade do Minna
46 de Novem!::)ro1998
117
21