<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Pedro Sousa</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>30 Encontro Nacional para a Qualidade nas Tecnologias de Informao Universidade do Minho 4-6 de Novemb 998</institution>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Alberto Bigotte de Almeida</institution>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>e Comunical;;</institution>
          <addr-line>Ses</addr-line>
        </aff>
      </contrib-group>
      <pub-date>
        <year>1998</year>
      </pub-date>
      <fpage>4</fpage>
      <lpage>6</lpage>
      <abstract>
        <p>DAMAG Fernando En-to e Abreu INESC _______________________________________________________________________</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Resumo</title>
      <p>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.</p>
      <sec id="sec-1-1">
        <title>A evoluo</title>
        <p>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</p>
        <p>e da complexidade em geral do sistema.</p>
      </sec>
      <sec id="sec-1-2">
        <title>A obteno do modelo conceptual, a partir do catogo do Sistema de Gesto de _______________________________________________________________________</title>
        <p>.Levantamento de Mode|es de Dados
em Sistemas Legados
estas so
inc&amp;Fazes de lidar com</p>
        <p>a realidade dos SGBD's legados, Que foram
norrnalmente criados sem regras de Domes ou sem declara5es de chaves, entre outros.</p>
        <p>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
a Qualidade nas Tecnologias de Informa50
Universidade do Minho
4 de Novembro 1998</p>
        <p>e ComunicaC8es
dos SiStemaS ODde estes no so coDhecidos.</p>
        <p>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
a Qualidade Has Tecnologias de InformaC5o e ComunicaV6es
Universidade do Minna
46 de Novembro 1998
3
Levantamento de Modelos de Dados
em S2sLemasLegados
*
rotatividade do pessoal, sem existncia de uma politica de actualizao
dos modelos;
compulsiva
*
ngo existirem mecanismos de verificao</p>
        <p>da rastreabilidade sincr6nica.</p>
        <p>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 Vidatitil.</p>
      </sec>
      <sec id="sec-1-3">
        <title>O cen5/io descrito no exclusivo da Marinha. Infelizmente,</title>
        <p>em muitas organiza6es [McClure92].
algo generalizado</p>
        <p>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.</p>
        <p>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.
4
3o Encontro Nac2onal para
a Qual2dade nas Tecnologias de Informao
Un2versidade do Minke
4-6 de Novembro 1998</p>
        <p>e Comunica&amp;es</p>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>2.Metodologia</title>
      <p>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</p>
      <p>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.</p>
      <sec id="sec-2-1">
        <title>2 As chaves estteiras so Osatributos de uma tabela Quereferem outra tabela, onde s5o Chanept.ima._</title>
        <p>30 Encontro Nacional para
a Qualidade nos Tecnologias de InformaVSo e Comunicaes
Universidade do Minho
6 de Novembro 1998
5
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 Ospr6prios utilizadores a definir a Chane primaria, face ao</p>
        <p>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 QueSepossa 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.</p>
        <p>6
3o Encontro Nacional para
a Qualidade nas Tecnologias de Informao
Universidade do Minho
4-6 de Novembro 1998</p>
        <p>e ComunicaSes</p>
        <p>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 Quea 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.</p>
        <p>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 Queidentificam 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
a Qualidade nas Tecnologias de Informao
Universidade do Minho
4-6 de Novembro 1998
e ComunicaCSes
Levantamenta de Madelas de Dadas
em Sistemas Legadas</p>
        <p>Figura 1- Esquema abstracto do S11F
2.3. Especificag&amp;o do esquema abracIto</p>
        <p>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.</p>
        <sec id="sec-2-1-1">
          <title>A classificago tern como base &amp;</title>
          <p>composio
dos atributos Queconstituem a Chane primia
da tabela [Batini92, Chiang94,</p>
        </sec>
        <sec id="sec-2-1-2">
          <title>Soutou96].</title>
          <p>30 Encontro Nacional para
a Qualidade nas Tecnologias de Informsa
Universidade da Minho
4-5 de Novembro 1998</p>
          <p>e Camunicaq;;5es
,qualquer outra Chaneprima</p>
          <p>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"</p>
          <p>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.</p>
          <p>A maior dificuldade nesta lase foi emender o significado dos atributos de algumas
entidades fracas.</p>
          <p>Na figura 2, apresentamos o esquema conceptual obtido pelo levantamento das tabelas
que pertencem a entidade abstracta NIT"
3o =_ncontm Nacional para</p>
          <p>. ' '</p>
          <p>. ,
Nii_sa</p>
          <p>NOS_nliS
ncshf
Figura 2 - RepresentaSo
interns da entidade abstracta
, massuas componentes especf5cas
Nesta {ase pretende-Se identificar as tabelas com as mesmas chaves primias
hem
2.4ldentificao
de general!6es</p>
          <p>e fragmentaes
como constatar as dependncias de incJuso entre elas.</p>
          <p>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
a Quatidade Has Tecno\iogias de Informsg5o e Comunicai!;:5es
Universidade do Minho
6 de Novembro 1998
,^</p>
        </sec>
        <sec id="sec-2-1-3">
          <title>Desenvolvemos uma aplicao,</title>
          <p>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</p>
          <p>no caso das chaves comuns nos registos de ambas as tabelas serem
exactamente as mesmas.</p>
          <p>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.</p>
          <p>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 e ComunicaVSes
Universidade do Minho
4-6 de Novembro 1998
Levantamento de Modelos de Dodos
em Sistemas Legados</p>
          <p>T_Con
~...-~.....--~.
~'1'_on_Ilpcoi</p>
        </sec>
        <sec id="sec-2-1-4">
          <title>T_Codunidade</title>
          <p>Figura 3 - FragmentaSo
vertical e subconjunto</p>
        </sec>
        <sec id="sec-2-1-5">
          <title>A figura 4 ilustra uma generalizao.</title>
        </sec>
        <sec id="sec-2-1-6">
          <title>Esta envolve um conjunto de tabelas com a</title>
          <p>mesma Chane prima.</p>
          <p>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&amp;tin&amp;dos elementos vinos da Marinha. Note-Se Que na
figura, as entidades VIVOS, INDIVUOS
(a sombre&amp;do) no
esto implementadas
fisicamente, so apenas conceitos represent&amp;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.</p>
          <p>12
30 Ehcohtro Nacional para
a Qualidade has Tecnologias de Informago e Comunicac5es
Universidade do Minho</p>
        </sec>
      </sec>
      <sec id="sec-2-2">
        <title>4-S de NOvembrO1998</title>
        <p>2.5 Detecl;;dodas restantes associaties</p>
        <p>Nesta lase pretendemos identificar associa6es atravs de chaves estrangeiras.</p>
        <p>Tal como no porno 2, a obten5o de chaves estrangeiras segne as Segnlutes fases:
,i)
l1)
111)</p>
        <p>geraV:o de hip6teses;
30 Encontro Nacional para
a Qualidade nas Tecnologias de Informao
Universidade do Minho
4-6 de Novembro 1998</p>
        <p>e ComunicaCSes</p>
        <p>Ltomento de Modelos de Dodos
em Sistemas Legodos</p>
        <sec id="sec-2-2-1">
          <title>Na obteno das generalizaHes, encontramos muitos casos de sobreposio de conjuntos. Estes casos de sobreposiVo s6 podero ser modelados como subconjuntos t</title>
          <p>30 Encontro Nacional para
a Qualidode nos Tecnologias de InformaC5o e ComunicaV5es
Unlversldade do Minho
4-6 de Novembro 1998</p>
        </sec>
        <sec id="sec-2-2-2">
          <title>Naturalmente Que estes dovero ser confirm&amp;dos com os utilizadores do sistema, quell|</title>
          <p>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.</p>
          <p>Estes ensaios vo elirninar algumas das possIveis chaves estrangeiras obtidas
anteriormente.</p>
          <p>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.</p>
        </sec>
        <sec id="sec-2-2-3">
          <title>2.6 Outros Mtodos</title>
          <p>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</p>
          <p>de padr8es procedimentais na abstrac3o de esquemas re!acionais.</p>
          <p>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
a QuaEidade nas TecnoEogiasde Informa(;;;8oe ComunEcaV8es
UniversEdade do Minho
46 de Novembro 1998
Levantamento de Mode|Os de Dados
em Sistemas Legados
de queries por forma a melhorar o reverse engineering
de bases de
dados.</p>
          <p>Nesta
abordagem
descrita
em
[Petit94], pretende-Se obter um
esquema
entidade-associao</p>
          <p>estendido (EAE) de uma base de dados relacional partindo de dois</p>
          <p>baseia-se em pressupostos verdadeiros (prticos);
16
3o Encontr.</p>
          <p>Nadanal</p>
          <p>para</p>
          <p>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&amp;lidadedos sistemas de inform&amp;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.</p>
          <p>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</p>
          <p>O result&amp;do pratico deste projecto foi a obteno do modelo de dados do S.
Este result&amp;dofoi alcanado com o suporte de vlas {err&amp;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
a Qualidade nas Tecnologias de Informao
Universidade do Minho
4-6 de Novembro 1998
e ComunicaBes
Levantamento de Modeios de Dados
em Sistemas Legados
Ainda</p>
          <p>cedo para avaiiar o impacto do trabalho efectuado. Este ainda Se encontra em
fase de concluso, mas Osseguintes resultados sero esperados:
3o Encontro Nacional para
a Qualidade nas Tecnologias de Informso
Universidade do Minho
46 de Novembro :L998</p>
          <p>e ComunicaV5es
^ .</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>4. Trabalhe Future</title>
      <p>A actualizao
da documentao,
referida no ponto anterior,
uma aco
incremental e For isso, a alterao
dinca
dever ser vista como um objectivo futuro.</p>
      <p>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.</p>
      <p>processos que Seespera razer futuramente.
^"
.^"
30 Encontro Nacional para
a Qualidade masTecnologias de Informao
Umiversidade do Minho
4-6 de Novembro 1998
e ComunicaBes
32</p>
      <p>20</p>
    </sec>
    <sec id="sec-4">
      <title>Refer&amp;ncias</title>
      <p>Carlo Batini, Stefano Ceri, Shamkant B. Navathe, "Conceptual Database</p>
      <sec id="sec-4-1">
        <title>Design - An Entity-Relationship Aproach", Benjamin/Cumings, 1992. [Chiang94]</title>
      </sec>
      <sec id="sec-4-2">
        <title>Roger H.L. Chiang, Terence</title>
      </sec>
      <sec id="sec-4-3">
        <title>M. Barron, Veda C. Storey, "Reverse Engineering of relational databases: Extraction of na FER model from a relational database", Data &amp; Knowledge Engineering 12 (1994) 107 - 142,</title>
        <p>Y, .</p>
      </sec>
      <sec id="sec-4-4">
        <title>Isevler</title>
        <p>, .</p>
        <p>clence.</p>
        <p>S-DESIGNER, AppModeler for PowerBuilder, Evaluation Version 5.1.0
bit, Sybase Inc., and its subsidiaries, 1991.</p>
      </sec>
      <sec id="sec-4-5">
        <title>Makron Books do Brasil Editora Lda, 1994.</title>
      </sec>
      <sec id="sec-4-6">
        <title>Repository, Reusability", Prentice Hall, 1992. [Furlan94]</title>
      </sec>
      <sec id="sec-4-7">
        <title>Jos David Furlan, "Reengenharia da Inforrnao - Do Mito</title>
      </sec>
      <sec id="sec-4-8">
        <title>Realidade",</title>
        <p>[McClure92] Carma McClure, "The Three Rs of Software Automation : Re-engineering,
[Petit94l</p>
        <p>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</p>
      </sec>
      <sec id="sec-4-9">
        <title>Science, Volume 881, pp 369-386, Dec. 1994, Manchester, UK</title>
        <p>3o Encontro Madame! para
a Qualidade nas Tecnologias de Informao
Universidade do Minho
4-6 de Novembro 1998
e ComunicaV6es
..^
,Procedural Patterns in Abstracting Relational Schemata", in Proc. Of the</p>
        <p>Pedro Sousa, Lurdes Pedro-de'-Jesus, Fernando Brito e Abreu, "Clustering</p>
      </sec>
      <sec id="sec-4-10">
        <title>Relations into</title>
      </sec>
      <sec id="sec-4-11">
        <title>Schemas", submetido</title>
      </sec>
      <sec id="sec-4-12">
        <title>CSMR99,</title>
      </sec>
      <sec id="sec-4-13">
        <title>Amesterdam, Netherlands.</title>
        <p>Palavras chave: Reverse Engineering, Qualidade, Sistemas Legados, Bases de</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          <article-title>a Qualidade has Tecnologias de Informa(;;3o e ComunicaBes Universidade do</article-title>
          Minke de Novembro 1998
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>