• Aucun résultat trouvé

Levantamento de Modelos de Dados em Sistemas Legados

N/A
N/A
Protected

Academic year: 2022

Partager "Levantamento de Modelos de Dados em Sistemas Legados"

Copied!
21
0
0

Texte intégral

(1)

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

_______________________________________________________________________

1 30 Encontro Nacional para

a Qualidade nas Tecnologias de Informao e Comunical;;Ses Universidade do Minho

4-6 de Novemb 998

(2)

.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

(3)

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 Que levou 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

(4)

Levantamento de Modelos de Dados em S2sLemas Legados

* 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

a Qual2dade nas Tecnologias de Informao e Comunica&es Un2versidade do Minke

4-6 de Novembro 1998

4

(5)

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:

1 As chaves primarias so o conjunto de atributos que identificam, de forma exclusiva, cada um dos elementos de uma tabela.

2 As chaves estteiras so Os atributos de uma tabela Que referem outra tabela, onde s5o Chane pt.ima._

5

30 Encontro Nacional para

a Qualidade nos Tecnologias de InformaVSo e Comunicaes Universidade do Minho

6 de Novembro 1998

(6)

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, Os modelos 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

(7)

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

a Qualidade nas Tecnologias de Informao e ComunicaCSes Universidade do Minho

4-6 de Novembro 1998

7

(8)

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 Que constituem 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

(9)

qualquer outra Chane prima 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"

^

"^

"^

9 3o =_ncontm Nacional para

a Qualidade has Tecnologias de Inform@Bo e ComunicaCSes Universidade do Minho

4-6 de Novelnbro 1998

(10)

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

a Quatidade Has Tecno\iogias de Informsg5o e Comunicai!;:5es Universidade do Minho

6 de Novembro 1998 10

(11)

-

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

a Qualidade nas Tecnologias de Inform@o e ComunicaVSes Universidade do Minho

4-6 de Novembro 1998

11

(12)

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

a Qualidade has Tecnologias de Informago e Comunicac5es Universidade do Minho

4-S de NOvembrO 1998 12

-

(13)

Levantamento de Mode|as de Dados em Sistemas Legados

2.5 Detecl;;do das 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

(14)

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 e ComunicaV5es Unlversldade do Minho

13

(15)

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 TecnoEogias de Informa(;;;8o e ComunEcaV8es UniversEdade do Minho

46 de Novembro 1998

(16)

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

(17)

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&lidade dos 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, Que no 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&do foi alcanado com o suporte de vlas {err&mantas de 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

17

30 Enconbo Nacional para

a Qualidade nas Tecnologias de Informao e ComunicaBes Universidade do Minho

4-6 de Novembro 1998

(18)

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

(19)

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.

^"

.^"

"^ ________________________________________________________________________

19

30 Encontro Nacional para

a Qualidade mas Tecnologias de Informao e ComunicaBes Umiversidade do Minho

4-6 de Novembro 1998

(20)

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.

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

[Petit94l

_____________________________________________________________________

3o Encontro Madame! para

20 a Qualidade nas Tecnologias de Informao e ComunicaV6es

Universidade do Minho 4-6 de Novembro 1998

(21)

Levantamento de Modelos de Dados

Procedural Patterns in Abstracting Relational Schemata", in Proc. Of the

-

[Sousa99]

Notes in Computer Science, Volume 881, Dec. 1994, Manchester, UK

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!::)ro 1998

Références

Documents relatifs

por um lade, os custos das comunicac6es ir5o baixar para o mesmo volume de trdfego, quer por via da evoluc5o das tarifas quer peta oferta de novos servicos de

* Ensaio: atrav6s do mtodo de aproxima5es sucessivas foram deterlninados valores do factor de converso e das trs constantes de calibrao Que permitem obter intervalos de

Zentrale wissenschaftliche Konzepte, die in einer Betreuungssituation häufig benannt wer- den müssen, um über die entstehende Arbeit sprechen zu können, lassen sich in Objekte

No âmbito dessa política 30 novas áreas protegidas foram propostas para o território nacional, representando a primeira tentativa de organização de um sistema nacional

A inflação do imaginário em detrimento das referências simbólicas articula-se à injunção superegóica do gozo, que, como detecta Lacan (1972-1973/1975, p. 10), se torna dominante

Referindo-se à abordagem de recursos como quadro de análise das estratégias de integração por um lado, e à um estudo de cinco casos de projetos de inovações farmacêuticas por

Uma parte do programa de Ciências para o Ensino Fundamental diz respeito ao conteúdo de Física, e para o seu desenvolvimento procuramos planejar atividades de conhecimento físico

A presente investigação, desenvolvida em rede entre duas investigadoras (as duas primeiras autoras), tem como principal objectivo avaliar o impacte do Programa de Formação em