Maria Istela Cagnin, R. Penteado, Fernão S. R. Germano, P. C. Masiero
{"title":"Reengenharia com Uso de Padrões de Projeto","authors":"Maria Istela Cagnin, R. Penteado, Fernão S. R. Germano, P. C. Masiero","doi":"10.5753/sbes.1999.23927","DOIUrl":null,"url":null,"abstract":"O processo de reengenharia de um sistema originalmente desenvolvido orientado a procedimentos em linguagem C foi conduzido com mudança de paradigma para orientação a objetos. Esse processo é precedido pela engenharia reversa orientada a objetos do sistema legado usando o método Fusion/RE. Foi também precedido por uma primeira fase em que é mantida a linguagem C, utilizando um processo de segmentação em que o código é reestruturado para atender a algumas características de orientação a objetos. Neste trabalho usa-se a linguagem Java e o Banco de Dados Relacional Sybase fazendo-se três variantes de implementação de acordo com os três modos alternativos sugeridos no padrão Persistent Layer. O padrão CRUD é usado para o projeto dessa camada de persistência. As operações do padrão CRUD são implementadas: nas classes da aplicação (primeiro modo); em classes específicas para cada classe da aplicação (segundo modo) e em uma classe Broker, que faz o mapeamento de qualquer tipo de objeto para o banco de dados relacional (terceiro modo). Modelos de objetos das diferentes implementações e exemplos de código fonte são incluídos no trabalho para ilustrar a efetividade da evolução alcançada com as três configurações. Essas são usadas para avaliar o processo de segmentação que resulta em uma implementação similar àquela obtida no primeiro modo sugerido para implementar o padrão Persistent Layer, pois a herança envolvida nela é praticamente restrita à assinatura nas classes abstratas. Isto é compatível com a falta de herança da linguagem C.","PeriodicalId":325756,"journal":{"name":"Anais do XIII Simpósio Brasileiro de Engenharia de Software (SBES 1999)","volume":"31 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1999-10-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Anais do XIII Simpósio Brasileiro de Engenharia de Software (SBES 1999)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.5753/sbes.1999.23927","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1
Abstract
O processo de reengenharia de um sistema originalmente desenvolvido orientado a procedimentos em linguagem C foi conduzido com mudança de paradigma para orientação a objetos. Esse processo é precedido pela engenharia reversa orientada a objetos do sistema legado usando o método Fusion/RE. Foi também precedido por uma primeira fase em que é mantida a linguagem C, utilizando um processo de segmentação em que o código é reestruturado para atender a algumas características de orientação a objetos. Neste trabalho usa-se a linguagem Java e o Banco de Dados Relacional Sybase fazendo-se três variantes de implementação de acordo com os três modos alternativos sugeridos no padrão Persistent Layer. O padrão CRUD é usado para o projeto dessa camada de persistência. As operações do padrão CRUD são implementadas: nas classes da aplicação (primeiro modo); em classes específicas para cada classe da aplicação (segundo modo) e em uma classe Broker, que faz o mapeamento de qualquer tipo de objeto para o banco de dados relacional (terceiro modo). Modelos de objetos das diferentes implementações e exemplos de código fonte são incluídos no trabalho para ilustrar a efetividade da evolução alcançada com as três configurações. Essas são usadas para avaliar o processo de segmentação que resulta em uma implementação similar àquela obtida no primeiro modo sugerido para implementar o padrão Persistent Layer, pois a herança envolvida nela é praticamente restrita à assinatura nas classes abstratas. Isto é compatível com a falta de herança da linguagem C.