Uma abordagem de reengenharia interativa orientada a características para sistemas embutidos legados

AUTOR(ES)
DATA DE PUBLICAÇÃO

2007

RESUMO

Para reduzir custos, minimizar riscos, antecipar prazos e otimizar recursos de projetos de novos produtos recomenda-se, sempre que possível, a reutilização de artefatos de produtos similares e bem sucedidos existentes. Porém, esses artefatos devem ser de fácil adaptação para que satisfaçam aos requisitos desses novos produtos com pouca ou nenhuma necessidade de re-projeto ou de re-codificação. Este trabalho descreve uma abordagem de reengenharia iterativa orientada a características para realizar concomitantemente a revitalização de sistemas embutidos legados e a criação incremental de um núcleo de artefatos reutilizáveis, para apoiar o desenvolvimento de outros sistemas similares, membros de uma família de produtos. Tais sistemas são geralmente pequenos e sofrem constantes manutenções para apoiarem a evolução do hardware que integram, acelerando o processo natural de degradação do software. A realização de um processo de reengenharia pode prolongar a vida útil desses sistemas, melhorando suas propriedades estruturais para uma melhor adaptação a mudanças. Princípios e técnicas ágeis são aplicados ao longo de todo o processo, provendo interações contínuas com o cliente, entregas de versões executáveis testadas e parcialmente modernizadas em intervalos curtos e freqüentes, com documentação em nível apropriado e preparadas para modificações futuras. Técnicas de Linha de Produtos de Software são utilizadas para a modelagem de domínio e para o projeto de componentes genéricos de software. Suas atividades são realizadas sem a necessidade de congelamentos ou duplicações de código e permitem que manutenções e paralisações ocorram a qualquer instante, sem prejuízo das melhorias já desenvolvidas nas iterações previamente concluídas. Um estudo de caso é apresentado para exemplificar a aplicação da abordagem proposta em um ambiente real e para avaliar os seus resultados.

ASSUNTO(S)

componentes de software família de produtos de software reengenharia de software ciencia da computacao

Documentos Relacionados