-
Engenharia de Software - Ian Sommerville - Pág 175:
Atividades do processo de reengenharia:
Tradução de código-fonte: Usando uma ferramenta de tradução para converter uma L.P. antiga numa versão moderna.
Engenharia reversa: Extrair informações a partir do programa p/ documentar sua organização e funcionalidade.
Melhoria de estrutura de programa: Para se tornar mais fácil de ler e entender.
Modularização de programa: Partes relacionadas do programa são agrupadas e removidas redundâncias.
Reengenharia de dados: Dados processados são alterados para refletir mudanças no programa.
-
1. Tradução de código-fonte. Usando uma ferramenta de tradução, o programa é convertido a partir de uma linguagem de programação antiga para uma versão mais moderna da mesma linguagem ou em outra diferente.
2. Engenharia reversa. O programa é analisado e as informações são extraídas a partir dele. Isso ajuda a documentar sua organização e funcionalidade. Esse processo também é completamente automatizado.
3. Melhoria de estrutura de programa. A estrutura de controle do programa é analisada e modificada para que se torne mais fácil de ler e entender. Isso pode ser parcialmente automatizado, mas, normalmente, alguma intervenção manual é exigida.
4. Modularização de programa. Partes relacionadas do programa são agrupadas, e onde houver redundância, se apropriado, esta é removida. Em alguns casos, esse estágio pode envolver refatoração de arquitetura (por exemplo, um sistema que usa vários repositórios de dados diferentes pode ser refeito para usar um único repositório). Esse é um processo manual.
5. Reengenharia de dados. Os dados processados pelo programa são alterados para refletir as mudanças de programa. Isso pode significar a redefinição dos esquemas de banco de dados e a conversão do banco de dados existente para a nova estrutura. Normalmente devem-se limpar os dados, o que envolve encontrar e corrigir erros, remover registros duplicados etc. Ferramentas são disponíveis para dar suporte à reengenharia de dados.
Fonte: Sommerville
Gabarito: E
-
Reengenharia de software
· Pode envolver a documentação do sistema, a refatoração da arquitetura de sistema, 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;
· Modelo de processo de reengenharia:
Tradução do código-fonte;
Engenharia reversa;
Melhoria de estrutura de programa;
Modularização de programa;
Reengenharia de dados;
Alternativa: E