SlideShare uma empresa Scribd logo
1 de 1
Baixar para ler offline
i
Reengenharia por Exemplos: Uma proposta para
evolução de sistemas legados baseada em
comportamento
Laís Berlatto, Duncan Dubugras A. Ruiz, Sabrina Marczak
Faculdade de Informática – Pontifícia Universidade Católica do Rio Grande do Sul
lais.berlatto@acad.pucrs.br, duncan.ruiz@pucrs.br, sabrina.marczak@pucrs.br
Resumo. Sistemas legados representam um grande problema para empresas no que
tange à mantenabilidade e integração de novas soluções, pois possuem um alto risco
associado, principalmente ao processo de reengenharia. Exemplificando, incluir uma
nova funcionalidade no sistema pode gerar erros pela falta de conhecimento da de-
pendência entre funcionalidades. Essa falta, poderia ser minimizada se existisse docu-
mentação, o que raramente ocorre, visto que o conhecimento em geral está centralizado
em poucas pessoas. Sendo assim, este trabalho tem por objetivo construir uma propos-
ta que por meio de especificações executáveis escritas colaborativamente, as quais ex-
pressam os requisitos do sistema através de exemplificações do comportamento espe-
rados deste, sejam capazes de envolver e guiar todo o projeto de reengenharia em um
processo de validação contínua. Este processo será suportado por um sistema de métri-
cas de controle, garantindo assim a consistência e o conhecimento agregado ao softwa-
re legado também à sua evolução. Estas especificações são escritas em linguagem natu-
ral possibilitando redução na lacuna de comunicação entre membros da equipe e au-
mentando a concisão do desenvolvimento, formalizando uma única fonte de verdade,
construindo em conjunto uma documentação viva, que quando executada, é capaz de
garantir a integração de um novo módulo ao sistema e que este possuirá o comporta-
mento equivalente ao substituído. Para realizar este processo, propõe-se uma análise
modular, tendo em vista o acoplamento de módulos para focar o redesenvolvimento
produzindo o mínimo produto viável, derivando-se os exemplos do comportamento
do sistema através da análise de satisfatibilidade dos requisitos do negócio, provendo
assim uma otimização da arquitetura do sistema em relação ao anterior e, também, o
alinhamento entre especificações e esta nova arquitetura. A validação contínua verifica
de maneira eficiente se o sistema realiza o que as especificações delimitam. As especifi-
cações representam um meio de manter a documentação relevante e confiável com um
custo menor, pois a informação do trabalho a ser executado é produzida sob demanda,
refletindo positivamente no processo futuro de evolução evitando problemas causados
pela falta de conhecimento compartilhado sobre o sistema. Para verificar a viabilidade
da proposta, visa-se conduzir um estudo de caso empírico, que implantará no(s) proje-
to(s) selecionado(s), compreendido(s) dentro de categorias que eliminam parcialmente
possíveis limitações para a aplicação da proposta, um método que representa a propos-
ta teórica apresentada. Neste estudo, pretende-se verificar se os passos definidos pelo
método são viáveis em um cenário real. Os resultados serão avaliados com base nas
métricas especificadas visando identificar se o comportamento mensurado da nova
aplicação é equivalente ao do antigo sistema. Espera-se que este método seja capaz de
otimizar o tempo para a compreensão dos reais requisitos, garantindo um alinhamento
com a arquitetura, propiciando que a migração do sistema ocorra com sucesso e com
um menor risco e custo agregado.
Palavras-chave: sistemas legados, reengenharia, especificações executáveis, desenvol-
vimento guiado por exemplos, métricas.

Mais conteúdo relacionado

Semelhante a Berlatto reengenharia por exemplos uma proposta para evolucao de sistemas legados baseada em comportamento

Relatório Semestral - PIBITI - Allan Victor
Relatório Semestral - PIBITI - Allan Victor Relatório Semestral - PIBITI - Allan Victor
Relatório Semestral - PIBITI - Allan Victor allannvictor
 
O uso de frameworks em aplicações desktop baseadas na metodologia de desenvol...
O uso de frameworks em aplicações desktop baseadas na metodologia de desenvol...O uso de frameworks em aplicações desktop baseadas na metodologia de desenvol...
O uso de frameworks em aplicações desktop baseadas na metodologia de desenvol...Rogério Batista
 
Data Quality Through Model Quality: A Quality Model for Measuring and Improvi...
Data Quality Through Model Quality: A Quality Model for Measuring and Improvi...Data Quality Through Model Quality: A Quality Model for Measuring and Improvi...
Data Quality Through Model Quality: A Quality Model for Measuring and Improvi...Bárbara Cabral da Conceição, CTFL
 
SOA na Prática – Criando uma Aplicação BPMN com Bonita Open Solution, Mule ES...
SOA na Prática – Criando uma Aplicação BPMN com Bonita Open Solution, Mule ES...SOA na Prática – Criando uma Aplicação BPMN com Bonita Open Solution, Mule ES...
SOA na Prática – Criando uma Aplicação BPMN com Bonita Open Solution, Mule ES...Michel Azevedo
 
Desenvolvimento ágil de software: análise sintética a partir de KANBAN
Desenvolvimento ágil de software: análise sintética a partir de KANBANDesenvolvimento ágil de software: análise sintética a partir de KANBAN
Desenvolvimento ágil de software: análise sintética a partir de KANBANFernando Palma
 
Revisão de procedimentos de gestão de projetos e implantação de nova ferramen...
Revisão de procedimentos de gestão de projetos e implantação de nova ferramen...Revisão de procedimentos de gestão de projetos e implantação de nova ferramen...
Revisão de procedimentos de gestão de projetos e implantação de nova ferramen...Oxiteno
 
Proposta De Um Protótipo Para Avaliação Da Maturidade em Gestão Da Inovação D...
Proposta De Um Protótipo Para Avaliação Da Maturidade em Gestão Da Inovação D...Proposta De Um Protótipo Para Avaliação Da Maturidade em Gestão Da Inovação D...
Proposta De Um Protótipo Para Avaliação Da Maturidade em Gestão Da Inovação D...Diógenes Almeida
 
APLICAÇÃO DE UMA METODOLOGIA ÁGIL: COMBINANDO SCRUM E KANBAN NO GERENCIAMENTO...
APLICAÇÃO DE UMA METODOLOGIA ÁGIL: COMBINANDO SCRUM E KANBAN NO GERENCIAMENTO...APLICAÇÃO DE UMA METODOLOGIA ÁGIL: COMBINANDO SCRUM E KANBAN NO GERENCIAMENTO...
APLICAÇÃO DE UMA METODOLOGIA ÁGIL: COMBINANDO SCRUM E KANBAN NO GERENCIAMENTO...Luiz Carlos Monteiro Lopes Filho
 
REFLEXÃO PARA GESTÃO TECNOLÓGICA EM CADEIAS DE SUPRIMENTO
REFLEXÃO PARA GESTÃO TECNOLÓGICA EM CADEIAS DE SUPRIMENTOREFLEXÃO PARA GESTÃO TECNOLÓGICA EM CADEIAS DE SUPRIMENTO
REFLEXÃO PARA GESTÃO TECNOLÓGICA EM CADEIAS DE SUPRIMENTOHytalo Rafael
 
Processos de software
Processos de softwareProcessos de software
Processos de softwareDann Volpato
 
RESENHA DOS CAP. 11,12, 13, e 29 do livro Engenharia de software
RESENHA DOS CAP. 11,12, 13, e 29 do livro Engenharia de softwareRESENHA DOS CAP. 11,12, 13, e 29 do livro Engenharia de software
RESENHA DOS CAP. 11,12, 13, e 29 do livro Engenharia de softwareMarcos Vinicios
 
Modelos de Maturidade em Processos: um estudo exploratório
Modelos de Maturidade em Processos: um estudo exploratórioModelos de Maturidade em Processos: um estudo exploratório
Modelos de Maturidade em Processos: um estudo exploratórioNathalia Santos
 
Proposta TCC - METODOLOGIA SCRUM APLICADA AOS PROCESSOS DE GERÊNCIA E DESENVO...
Proposta TCC - METODOLOGIA SCRUM APLICADA AOS PROCESSOS DE GERÊNCIA E DESENVO...Proposta TCC - METODOLOGIA SCRUM APLICADA AOS PROCESSOS DE GERÊNCIA E DESENVO...
Proposta TCC - METODOLOGIA SCRUM APLICADA AOS PROCESSOS DE GERÊNCIA E DESENVO...Juliano Oliveira
 
Aplicação das abordagens Scrum e XP
Aplicação das abordagens Scrum e XPAplicação das abordagens Scrum e XP
Aplicação das abordagens Scrum e XPs4nx
 
Análise de aderência de práticas ágeis na cultura de startups de software: o ...
Análise de aderência de práticas ágeis na cultura de startups de software: o ...Análise de aderência de práticas ágeis na cultura de startups de software: o ...
Análise de aderência de práticas ágeis na cultura de startups de software: o ...Marvin Ferreira
 

Semelhante a Berlatto reengenharia por exemplos uma proposta para evolucao de sistemas legados baseada em comportamento (20)

Relatório Semestral - PIBITI - Allan Victor
Relatório Semestral - PIBITI - Allan Victor Relatório Semestral - PIBITI - Allan Victor
Relatório Semestral - PIBITI - Allan Victor
 
O uso de frameworks em aplicações desktop baseadas na metodologia de desenvol...
O uso de frameworks em aplicações desktop baseadas na metodologia de desenvol...O uso de frameworks em aplicações desktop baseadas na metodologia de desenvol...
O uso de frameworks em aplicações desktop baseadas na metodologia de desenvol...
 
Trabalho individual
Trabalho individualTrabalho individual
Trabalho individual
 
Data Quality Through Model Quality: A Quality Model for Measuring and Improvi...
Data Quality Through Model Quality: A Quality Model for Measuring and Improvi...Data Quality Through Model Quality: A Quality Model for Measuring and Improvi...
Data Quality Through Model Quality: A Quality Model for Measuring and Improvi...
 
SOA na Prática – Criando uma Aplicação BPMN com Bonita Open Solution, Mule ES...
SOA na Prática – Criando uma Aplicação BPMN com Bonita Open Solution, Mule ES...SOA na Prática – Criando uma Aplicação BPMN com Bonita Open Solution, Mule ES...
SOA na Prática – Criando uma Aplicação BPMN com Bonita Open Solution, Mule ES...
 
Desenvolvimento ágil de software: análise sintética a partir de KANBAN
Desenvolvimento ágil de software: análise sintética a partir de KANBANDesenvolvimento ágil de software: análise sintética a partir de KANBAN
Desenvolvimento ágil de software: análise sintética a partir de KANBAN
 
Revisão de procedimentos de gestão de projetos e implantação de nova ferramen...
Revisão de procedimentos de gestão de projetos e implantação de nova ferramen...Revisão de procedimentos de gestão de projetos e implantação de nova ferramen...
Revisão de procedimentos de gestão de projetos e implantação de nova ferramen...
 
Proposta De Um Protótipo Para Avaliação Da Maturidade em Gestão Da Inovação D...
Proposta De Um Protótipo Para Avaliação Da Maturidade em Gestão Da Inovação D...Proposta De Um Protótipo Para Avaliação Da Maturidade em Gestão Da Inovação D...
Proposta De Um Protótipo Para Avaliação Da Maturidade em Gestão Da Inovação D...
 
APLICAÇÃO DE UMA METODOLOGIA ÁGIL: COMBINANDO SCRUM E KANBAN NO GERENCIAMENTO...
APLICAÇÃO DE UMA METODOLOGIA ÁGIL: COMBINANDO SCRUM E KANBAN NO GERENCIAMENTO...APLICAÇÃO DE UMA METODOLOGIA ÁGIL: COMBINANDO SCRUM E KANBAN NO GERENCIAMENTO...
APLICAÇÃO DE UMA METODOLOGIA ÁGIL: COMBINANDO SCRUM E KANBAN NO GERENCIAMENTO...
 
REFLEXÃO PARA GESTÃO TECNOLÓGICA EM CADEIAS DE SUPRIMENTO
REFLEXÃO PARA GESTÃO TECNOLÓGICA EM CADEIAS DE SUPRIMENTOREFLEXÃO PARA GESTÃO TECNOLÓGICA EM CADEIAS DE SUPRIMENTO
REFLEXÃO PARA GESTÃO TECNOLÓGICA EM CADEIAS DE SUPRIMENTO
 
Oficina cake php
Oficina cake phpOficina cake php
Oficina cake php
 
Processos de software
Processos de softwareProcessos de software
Processos de software
 
Naked Objects
Naked ObjectsNaked Objects
Naked Objects
 
RESENHA DOS CAP. 11,12, 13, e 29 do livro Engenharia de software
RESENHA DOS CAP. 11,12, 13, e 29 do livro Engenharia de softwareRESENHA DOS CAP. 11,12, 13, e 29 do livro Engenharia de software
RESENHA DOS CAP. 11,12, 13, e 29 do livro Engenharia de software
 
Modelos de Maturidade em Processos: um estudo exploratório
Modelos de Maturidade em Processos: um estudo exploratórioModelos de Maturidade em Processos: um estudo exploratório
Modelos de Maturidade em Processos: um estudo exploratório
 
Proposta TCC - METODOLOGIA SCRUM APLICADA AOS PROCESSOS DE GERÊNCIA E DESENVO...
Proposta TCC - METODOLOGIA SCRUM APLICADA AOS PROCESSOS DE GERÊNCIA E DESENVO...Proposta TCC - METODOLOGIA SCRUM APLICADA AOS PROCESSOS DE GERÊNCIA E DESENVO...
Proposta TCC - METODOLOGIA SCRUM APLICADA AOS PROCESSOS DE GERÊNCIA E DESENVO...
 
Aplicação das abordagens Scrum e XP
Aplicação das abordagens Scrum e XPAplicação das abordagens Scrum e XP
Aplicação das abordagens Scrum e XP
 
Análise de aderência de práticas ágeis na cultura de startups de software: o ...
Análise de aderência de práticas ágeis na cultura de startups de software: o ...Análise de aderência de práticas ágeis na cultura de startups de software: o ...
Análise de aderência de práticas ágeis na cultura de startups de software: o ...
 
SOA
SOASOA
SOA
 
Resenha WoSida 2015
Resenha WoSida 2015Resenha WoSida 2015
Resenha WoSida 2015
 

Mais de Laís Berlatto

Cucumber - Um breve Review
Cucumber - Um breve ReviewCucumber - Um breve Review
Cucumber - Um breve ReviewLaís Berlatto
 
Testes de usabilidade
Testes de usabilidade Testes de usabilidade
Testes de usabilidade Laís Berlatto
 
Specificationby example
Specificationby example Specificationby example
Specificationby example Laís Berlatto
 
Aplicação de técnicas de processamento de linguagem natural para ferramenta P...
Aplicação de técnicas de processamento de linguagem natural para ferramenta P...Aplicação de técnicas de processamento de linguagem natural para ferramenta P...
Aplicação de técnicas de processamento de linguagem natural para ferramenta P...Laís Berlatto
 
Programação Diversitária
Programação DiversitáriaProgramação Diversitária
Programação DiversitáriaLaís Berlatto
 
Cucumber: um breve review
Cucumber: um breve reviewCucumber: um breve review
Cucumber: um breve reviewLaís Berlatto
 
Specification By Example: Estudo de caso em uma software house
Specification By Example: Estudo de caso em uma software houseSpecification By Example: Estudo de caso em uma software house
Specification By Example: Estudo de caso em uma software houseLaís Berlatto
 
Data encryption standard DES & 3DES
Data encryption standard DES & 3DESData encryption standard DES & 3DES
Data encryption standard DES & 3DESLaís Berlatto
 
Como o Cucumber Funciona
Como o Cucumber FuncionaComo o Cucumber Funciona
Como o Cucumber FuncionaLaís Berlatto
 
Histórico da informática
Histórico da informáticaHistórico da informática
Histórico da informáticaLaís Berlatto
 
Especificações da ISO para gestão de Segurança da Informação
Especificações da ISO para gestão de Segurança da InformaçãoEspecificações da ISO para gestão de Segurança da Informação
Especificações da ISO para gestão de Segurança da InformaçãoLaís Berlatto
 
Modelos de Previsão para sistemas de turbulência
Modelos de Previsão para sistemas de turbulênciaModelos de Previsão para sistemas de turbulência
Modelos de Previsão para sistemas de turbulênciaLaís Berlatto
 

Mais de Laís Berlatto (20)

Cucumber - Um breve Review
Cucumber - Um breve ReviewCucumber - Um breve Review
Cucumber - Um breve Review
 
Testes de usabilidade
Testes de usabilidade Testes de usabilidade
Testes de usabilidade
 
Specificationby example
Specificationby example Specificationby example
Specificationby example
 
Aplicação de técnicas de processamento de linguagem natural para ferramenta P...
Aplicação de técnicas de processamento de linguagem natural para ferramenta P...Aplicação de técnicas de processamento de linguagem natural para ferramenta P...
Aplicação de técnicas de processamento de linguagem natural para ferramenta P...
 
Ruby
RubyRuby
Ruby
 
E-business
E-businessE-business
E-business
 
Programação Diversitária
Programação DiversitáriaProgramação Diversitária
Programação Diversitária
 
Cucumber: um breve review
Cucumber: um breve reviewCucumber: um breve review
Cucumber: um breve review
 
Specification By Example: Estudo de caso em uma software house
Specification By Example: Estudo de caso em uma software houseSpecification By Example: Estudo de caso em uma software house
Specification By Example: Estudo de caso em uma software house
 
Bluetooth
BluetoothBluetooth
Bluetooth
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Data encryption standard DES & 3DES
Data encryption standard DES & 3DESData encryption standard DES & 3DES
Data encryption standard DES & 3DES
 
Linguagem R
Linguagem RLinguagem R
Linguagem R
 
Amostragem
AmostragemAmostragem
Amostragem
 
Estudo de caso
Estudo de casoEstudo de caso
Estudo de caso
 
Como o Cucumber Funciona
Como o Cucumber FuncionaComo o Cucumber Funciona
Como o Cucumber Funciona
 
Ética hacker
Ética hackerÉtica hacker
Ética hacker
 
Histórico da informática
Histórico da informáticaHistórico da informática
Histórico da informática
 
Especificações da ISO para gestão de Segurança da Informação
Especificações da ISO para gestão de Segurança da InformaçãoEspecificações da ISO para gestão de Segurança da Informação
Especificações da ISO para gestão de Segurança da Informação
 
Modelos de Previsão para sistemas de turbulência
Modelos de Previsão para sistemas de turbulênciaModelos de Previsão para sistemas de turbulência
Modelos de Previsão para sistemas de turbulência
 

Berlatto reengenharia por exemplos uma proposta para evolucao de sistemas legados baseada em comportamento

  • 1. i Reengenharia por Exemplos: Uma proposta para evolução de sistemas legados baseada em comportamento Laís Berlatto, Duncan Dubugras A. Ruiz, Sabrina Marczak Faculdade de Informática – Pontifícia Universidade Católica do Rio Grande do Sul lais.berlatto@acad.pucrs.br, duncan.ruiz@pucrs.br, sabrina.marczak@pucrs.br Resumo. Sistemas legados representam um grande problema para empresas no que tange à mantenabilidade e integração de novas soluções, pois possuem um alto risco associado, principalmente ao processo de reengenharia. Exemplificando, incluir uma nova funcionalidade no sistema pode gerar erros pela falta de conhecimento da de- pendência entre funcionalidades. Essa falta, poderia ser minimizada se existisse docu- mentação, o que raramente ocorre, visto que o conhecimento em geral está centralizado em poucas pessoas. Sendo assim, este trabalho tem por objetivo construir uma propos- ta que por meio de especificações executáveis escritas colaborativamente, as quais ex- pressam os requisitos do sistema através de exemplificações do comportamento espe- rados deste, sejam capazes de envolver e guiar todo o projeto de reengenharia em um processo de validação contínua. Este processo será suportado por um sistema de métri- cas de controle, garantindo assim a consistência e o conhecimento agregado ao softwa- re legado também à sua evolução. Estas especificações são escritas em linguagem natu- ral possibilitando redução na lacuna de comunicação entre membros da equipe e au- mentando a concisão do desenvolvimento, formalizando uma única fonte de verdade, construindo em conjunto uma documentação viva, que quando executada, é capaz de garantir a integração de um novo módulo ao sistema e que este possuirá o comporta- mento equivalente ao substituído. Para realizar este processo, propõe-se uma análise modular, tendo em vista o acoplamento de módulos para focar o redesenvolvimento produzindo o mínimo produto viável, derivando-se os exemplos do comportamento do sistema através da análise de satisfatibilidade dos requisitos do negócio, provendo assim uma otimização da arquitetura do sistema em relação ao anterior e, também, o alinhamento entre especificações e esta nova arquitetura. A validação contínua verifica de maneira eficiente se o sistema realiza o que as especificações delimitam. As especifi- cações representam um meio de manter a documentação relevante e confiável com um custo menor, pois a informação do trabalho a ser executado é produzida sob demanda, refletindo positivamente no processo futuro de evolução evitando problemas causados pela falta de conhecimento compartilhado sobre o sistema. Para verificar a viabilidade da proposta, visa-se conduzir um estudo de caso empírico, que implantará no(s) proje- to(s) selecionado(s), compreendido(s) dentro de categorias que eliminam parcialmente possíveis limitações para a aplicação da proposta, um método que representa a propos- ta teórica apresentada. Neste estudo, pretende-se verificar se os passos definidos pelo método são viáveis em um cenário real. Os resultados serão avaliados com base nas métricas especificadas visando identificar se o comportamento mensurado da nova aplicação é equivalente ao do antigo sistema. Espera-se que este método seja capaz de otimizar o tempo para a compreensão dos reais requisitos, garantindo um alinhamento com a arquitetura, propiciando que a migração do sistema ocorra com sucesso e com um menor risco e custo agregado. Palavras-chave: sistemas legados, reengenharia, especificações executáveis, desenvol- vimento guiado por exemplos, métricas.