Engenharia de SoftwareVisão geral
Engenharia Reversa
Engenharia reversa é a extração do projeto implícito num artefato já existente. A partir do código, do binário, do esquema ou do protocolo, obtém-se módulos, entidades, regras e fluxos; o artefato continua o mesmo.
Manutenção, migração e a ferradura da reengenharia no tópico vizinho partem desse projeto extraído.
O tópico responde em três blocos. O primeiro sobe o nível de abstração: do binário às estruturas em memória, do fonte aos módulos e fluxos, do esquema às entidades e chaves.
O segundo recorta a etapa: extrair o desenho e parar; mudar a forma sem mudar o propósito; inventariar, extrair, reestruturar e reconstruir em engenharia direta.
O terceiro trata do motivo da extração quando o desenho falta: legado sem documentação, contrato de comunicação, inspeção de binário, lógica cujo fonte se perdeu.
Subir do artefato ao modelo — módulos, entidades, regra implícita, formato de mensagem — está em O que é Engenharia Reversa?. A ferradura do inventário à engenharia direta está em Reengenharia de Software.
Mudar nomes, módulos ou esquema sem mudar o propósito é reestruturação, em Reengenharia de Software. Extrair o modelo e parar, sem reescrever o sistema, está em O que é Engenharia Reversa?.
Ler o artefato sem executar, ou observá-lo em execução, são meios da mesma recuperação, em O que é Engenharia Reversa?.
Páginas deste tópico
O que é Engenharia Reversa?
ProAlta incidência no POSCOMP7 min de leitura · 16ª mais cobrada em Engenharia de Software
Recuperar o projeto a partir do artefato; reversa ≠ reengenharia nem refatoração.