Houve uma grande duvida no inicio dessa disciplina com o nosso o grupo. Nós decidimos que iríamos falar sobre rejuvenescimento de software, mas não sabíamos na verdade o que é que se tratava.
Rejuvenescimento vem de você pegar algo antigo e transformá-lo em novo. Disso todos já sabiam, mas ai veio a principal dúvida: Qual a diferença entre rejuvenescimento, redocumentação, reengenharia e refatoração?
Após várias pesquisas, conseguimos desvendar todas essas diferenças, as quais eu escrevo aqui em baixo:
- Refatoração
É o processo de modificar um software para melhorar a estrutura interna do código, sem alterar o seu comportamento externo. As duas vantagens principais da refatoração é: suavizar a deterioração do software e deixar o código mais limpo e mais facil de manutenção.
- Redocumentação
Não modifica a estrutura do software, nem meche no código. Apenas faz uma análise estática do código fonte, verificando informações adicionais que podem ser úteis para a documentação do software.
- Reengenharia
Se trata da aplicação da engenharia reversa em um sistema já existente e depois aplica a "engenharia direta" para fazer mudanças na especificação e no projeto que completam o modelo lógico.
E agora, aonde entra o rejuvenescimento?
Rejuvenescimento é na verdade a junção de todas essas técnicas, com o objetivo principal de evitar a degradação total do software.
Artigo Final
Há 15 anos