=Paper=
{{Paper
|id=Vol-1460/paper5
|storemode=property
|title=Levantamento de Modelos de Dados em Sistemas Legados
|pdfUrl=https://ceur-ws.org/Vol-1460/paper5.pdf
|volume=Vol-1460
|dblpUrl=https://dblp.org/rec/conf/quatic/RibeiroAAS98
}}
==Levantamento de Modelos de Dados em Sistemas Legados==
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 efectuadas
podero tel consequncias imprevisincis, conduZindo ao aumento da dimenso, da
redundcia 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 1
a Qualidade nas Tecnologias de Informao e Comunical;;Ses
Universidade do Minho
4-6 de Novemb 998
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 do
30 Encontro Nacional para
2 a Qualidade nas Tecnologias de Informa50 e ComunicaC8es
Universidade do Minho
4 de Novembro 1998
98
dos SiStemaS ODde estes no so coDhecidos.
O Sistema Integrado de Informao de Pessoal da Maritma Formesa, doravante
designado pox SflP, foi um sistema criado na dcada de 80. icimente este sistema
"^
* grande parte dos elementos que estiveram directamente envolvidos no
desenvolvimento j 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 3
a Qualidade Has Tecnologias de InformaC5o e ComunicaV6es
Universidade do Minna
46 de Novembro 1998
99
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 da rastreabilidade sincr6nica.
Para inverter esta situao, o levantamento do modelo de dados de extrema
importcia. 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, primeira vista, uma tarefa pouco
complexa e, de certa forma, rapida. A existencia de vas 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 do modelo de dados necessio uma abordagem mais rigorosa e
abrangente, na quaJ necesso consultar para al6m do catogo da base de dados, o
c6digo fonte das aplica6es que acedem aos dados, os dados e os pr6prios utilizadores.
3o Encontro Nac2onal para
4 a Qual2dade nas Tecnologias de Informao e Comunica&es
Un2versidade do Minke
4-6 de Novembro 1998
100
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 5
a Qualidade nos Tecnologias de InformaVSo e Comunicaes
Universidade do Minho
6 de Novembro 1998
101
Levantamento de Modelos de Dados
em Sistemas Legados
referentes a cada uma das tabelas como sendo a sua chave primia. Nos cases em que
D0 existem Indices tinicos declarados no catogo, a Chane tel de ser identificada por
inspeco 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 dividir o
problema em vOs 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.
3o Encontro Nacional para
6 a Qualidade nas Tecnologias de Informao e ComunicaSes
Universidade do Minho
4-6 de Novembro 1998
102
^
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 de reduzir a
complexidade do problema do levantamento do modelo de dados tambm um precioso
"^ auxilio compreensao do "Universo do Discurso" do Sl]P.
30 Encontm Nacional para 7
a Qualidade nas Tecnologias de Informao e ComunicaCSes
Universidade do Minho
4-6 de Novembro 1998
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 abstractas em entidades fortes, fracas e associaJes de acordo com a
semtica do modelo de dados entidade-associao. A classificago tern como base &
composio dos atributos Queconstituem a Chane primia da tabela [Batini92, Chiang94,
Soutou96].
30 Encontro Nacional para
a Qualidade nas Tecnologias de Informsa e Camunicaq;;5es
Universidade da Minho
4-5 de Novembro 1998
104
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 9
a Qualidade has Tecnologias de Inform@Bo e ComunicaCSes
Universidade do Minho
4-6 de Novelnbro 1998
105
Levantamento de Mode|as de Dados
em Sistemas Legados
.,'-
I . ' '
. . ,
Nii_sa NOS_nliS ncshf
]
Figura 2 - RepresentaSo interns da entidade abstracta , mas suas componentes especf5cas
2.4ldentificao de general!6es 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.
3o Encontro Nacional para
10 a Quatidade Has Tecno\iogias de Informsg5o e Comunicai!;:5es
Universidade do Minho
6 de Novembro 1998
106
- Desenvolvemos uma aplicao, Que gera os ensaios necessos de forma a cobrir todos
* sobreposio, 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 cerca de 500 ensaios base de dados para validar
as depend8ncias de incluso 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 11
a Qualidade nas Tecnologias de Inform@o e ComunicaVSes
Universidade do Minho
4-6 de Novembro 1998
107
Levantamento de Modelos de Dodos
em Sistemas Legados
T_Con
~...-~.....--~.
~'1'_on_Ilpcoi
T_Codunidade
Figura 3 - FragmentaSo vertical e subconjunto
A figura 4 ilustra uma generalizao. Esta envolve um conjunto de tabelas com a
mesma Chane prima. Todas as tabelas fazem refer8ncias a pessoas. A anise das
depend8ncias entre os valores das chaves primas 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.
30 Ehcohtro Nacional para
12 a Qualidade has Tecnologias de Informago e Comunicac5es
Universidade do Minho
4-S de NOvembrO1998
-
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)
,-
30 Encontro Nacional para
14 a Qualidade nas Tecnologias de Informao e ComunicaCSes
Universidade do Minho
4-6 de Novembro 1998
109
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 13
a Qualidode nos Tecnologias de InformaC5o e ComunicaV5es
Unlversldade do Minho
4-6 de Novembro 1998
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 do esquema da base de dados,
chaves primias, instru5es SQL, indicadores procedimentais e heuristicas que
conduzem reconstruo do esquema conceptual.
30 Encontro NacionaE para 15
a QuaEidade nas TecnoEogiasde Informa(;;;8oe ComunEcaV8es
UniversEdade do Minho
46 de Novembro 1998
111
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. Nadanal para
16 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, e o desenvolvimento ou melhoria do
soare legado, e/ou a rnigrao 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 tabelas com a
mesma Chane prima. Nesta situaV8o surge o problema da definio de associaJes
entre elas. Utilizando ferramentas automatizadas, poder5o ser definidas associaJes
erradas. No estado da arte actual, julga-se necesso o apoio de um perito da organizao
como Validao das hip6teses formuladas, no aspecto respeitante definio das
O result&do pratico deste projecto foi a obteno do modelo de dados do S.
Este result&dofoi alcanado com o suporte de vlas {err&mantasde apoio reengenharia,
entre as quais Se destacam o S-Designer [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
30 Enconbo Nacional para 17
a Qualidade nas Tecnologias de Informao e ComunicaBes
Universidade do Minho
4-6 de Novembro 1998
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
_____________________________________________________________________
3o Encontro Nacional para
18 a Qualidade nas Tecnologias de Informso e ComunicaV5es
Universidade do Minho
46 de Novembro :L998
114
^ ..
4. Trabalhe Future
A actualizao da documentao, referida no ponto anterior, uma aco
incremental e For isso, a alterao dinca dever ser vista como um objectivo futuro.
Todo este trabalho contribuiu para a clarificao da forma como o sistema est a
funcionar e pode vir a conduzir a outros desenvolvimentos, nomeadamente a anSe dos
atributos no Chane, deteco de redundcias e de atributos derivados e opcionais.
processos que Se espera razer futuramente.
^"
.^"
"^ ________________________________________________________________________
30 Encontro Nacional para 19
a Qualidade mas Tecnologias de Informao e ComunicaBes
Umiversidade do Minho
4-6 de Novembro 1998
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
_____________________________________________________________________
3o Encontro Madame! para
20 a Qualidade nas Tecnologias de Informao e ComunicaV6es
Universidade do Minho
4-6 de Novembro 1998
116
,_
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 21
a Qua!Idade Has Tecnologias de Informa;;8o e ComunicaV5es
,- Universidade do Minna
46 de Novem!::)ro1998
117