-
Engenharia Reversa:
- Processo de exame e compreensão do software existente, para recapturar ou recriar o projeto e decifrar os requisitos atualmente implementados pelo sistema, apresentando-os em um nível ou grau mais alto de abstração
Reengenharia de Software é qualquer atividade que:
- Melhore o entendimento do software
- Prepare ou melhore o software em si, aumentando sua manutenção, seu reuso e sua extensão
fonte: http://www.inf.ufpr.br/silvia/ES/reengenharia/reengenharia.pdf
-
Errei essa questão e já ia mandando a dúvida pra lista enquanto eu tava matutando nos porquês da letra A estar errada. Vamos às conclusões fazendo a engenharia reversa da questão:
I. A reengenharia de software busca melhorar o entendimento e estrutura do software.
Qualquer coisa que diga "reengenharia" está jogando fora todo o processo vigente para que este possa dar lugar a um processo totalmente novo. Se reengenharia é jogar tudo fora, então não há porquê visar melhor entendimento e melhoria do processo vigente com reengenharia. O certo seria dizer que a engenharia reversa busca melhorar o entendimento e estrutura do software.
II e III estão corretas, pois jogar um processo fora é arriscado e custa caro. (mr. obvious strikes again)
IV A engenharia reversa, considerada uma atividade da reengenharia, ajuda a documentar o sistema
Engeharia reversa é justamente a definição que foi dada no "item I" e pode, sim, ajudar a documentar o sistema, já que ajuda a entender como o objeto de análise foi concebido. O errado é dizer que engenharia reversa é uma atividade de reengenharia. Reengenharia, como dito anteriormente, joga tudo fora pra começar do zero. Uma não tem nada a ver com a outra.
-
Reengenharia de software
- Envolve a documentação do sistema, a refatoração da arquitetura, a mudança de linguagem de programação, modificações e atualizações da estrutura e dos dados;
- Benefícios: risco e custo reduzido;
- A funcionalidade do software não é alterada;
- Deve evitar grandes mudanças na arquitetura do sistema;
Alternativa: D