=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== https://ceur-ws.org/Vol-1460/paper5.pdf
                                                               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