Engenharia Reversa de Arquitetura de Software
RESUMO
A engenharia reversa consiste em entender o funcionamento de um produto existente, quando existe a necessidade de trocar uma peça ou um software por outro com as mesmas características, porém não temos todas as informações necessárias. Por isso aplicamos a engenharia reversa.
ABSTRACT
Reverse engineering is to understand the workings of an existing product, when there is a need to replace a part or piece of software by another with the same characteristics, but we do not have all the necessary information. Therefore we apply reverse engineering.
1. INTRODUÇÃO
A Engenharia Reversa é uma atividade que trabalha com um produto existente (um software, uma peça de computador, etc) tentando entender seu funcionamento, o que ele faz exatamente e como ele se comporta em todas as circunstâncias. Fazemos engenharia reversa quando queremos trocar o objeto de estudo por outro, com as mesmas características ou entender como este funciona e não temos acesso a sua documentação, por exemplo. Quando falamos de software, normalmente se trata da substituição de um software muito antigo, que está desenvolvido em uma tecnologia a muito defasada. Então necessitamos criar um novo que irá funcionar da mesma maneira, porém não temos toda a documentação do funcionamento desse software para o desenvolvimento do novo. Nesse caso precisamos aplicar técnicas de engenharia reversa para que possamos identificar todas as características do mesmo, e a partir daí, começar o desenvolvimento do novo.
2. DESENVOLVIMENTO
2.1. História
Não há um registro inicial de utilização da engenharia reversa, mas sabe-se que quando ela surgiu, suas primeiras aplicações foram em equipamentos militares, para que se alcançasse a superioridade militar, e até mesmo como método de espionagem. A espionagem industrial também encontrou na engenharia reversa um poderoso aliado para a “criação” de equipamentos concorrentes.
2.2 Engenharia