"PARFAIT: uma contribuição para a reengenharia de software baseada em linguagens de padrões e frameworks" - Cagnin, Maria Istela (2005)
A necessidade de evolução de sistemas legados tem aumentado significativamente com o surgimento de novas tecnologias. Para apoiar essa tendência, diversos métodos de reengenharia têm sido propostos. No entanto, poucos possuem apoio computacional efetivo, alguns utilizam padrões de projeto ou padrões específicos de reengenharia, e nenhum utiliza framework baseado em linguagem de padrões. Este trabalho está inserido no domínio de Sistemas de Informação. Propõe a elaboração de um arcabouço de reengenharia ágil baseado em framework, que realiza a engenharia reversa do sistema legado com o apoio de linguagem de padrões de análise, fornecendo entendimento e documentação necessários para instanciar o framework. O entendimento do sistema legado também é apoiado pela sua execução, por meio de casos de teste. Esses casos de teste são utilizados posteriormente para validar o sistema alvo. O framework, cuja construção é baseada em linguagem de padrões, é utilizado para obter o projeto e a implementação do sistema alvo. Para permitir a reengenharia com o apoio do arcabouço definido, um processo ágil de reengenharia foi criado. Como no desenvolvimento de software, grande parte do tempo da reengenharia é despendido com atividades de VV&T. Para minimizar esse problema, uma abordagem de reúso de teste é proposta. Essa abordagem agrega recursos de teste aos padrões da linguagem de padrões de análise, permitindo o reúso, não somente das soluções de análise, como também dos recursos de testes associados. O uso de framework na reengenharia de software colabora para a sua evolução, pois o domínio ao qual pertence pode evoluir, já que nem todos os requisitos do domínio do framework podem ter sido elicitados durante o seu desenvolvimento. Assim, nesta tese é proposto também um processo de evolução de frameworks de aplicação. Os processos e a abordagem propostos são associados ao arcabouço definido para apoiar sua efetividade. Além disso, para avaliar o processo ágil de reengenharia, que fornece reúso em diversos níveis de abstração, um pacote de experimentação também é parcialmente definido. Estudos de caso e exemplos de uso foram conduzidos com os produtos definidos. Ressalta-se que outros estudos devem ser conduzidos para permitir a determinação de resultados com significância estatística.