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
3 comentários:
Realmente esses termos todos acabam fazendo uma confusão na cabeça da gente. É importante mesmo entender o que significa cada um de maneira independente, para poder entender realmente o que é o rejuvenescimento.
Post bem interessante. Porém acho que os tópicos de refatoração, redocumentação e reengenharia poderiam render Post individuais no blog. Tipo, um post só para refatoração, um post só para redocumentação e assim vai, contendo exemplos e possíveis aplicações em ferramentas. O Eclipse mesmo tem um ótimo suporte à refatoração. Isso é só uma sugestão. Vlw, pessoal =)
Boa sugestão. Valeu!!
Postar um comentário