Diferença entre engenharia direta e engenharia reversa

Autor: Laura McKinney
Data De Criação: 2 Abril 2021
Data De Atualização: 26 Abril 2024
Anonim
Diferença entre engenharia direta e engenharia reversa - Tecnologia
Diferença entre engenharia direta e engenharia reversa - Tecnologia

Contente


A engenharia direta e a engenharia reversa fazem parte do processo de reengenharia e estão intimamente relacionadas. A diferença crucial entre a engenharia direta e a engenharia reversa é que a engenharia direta emprega a mudança no sistema de assunto durante a reestruturação. Inversamente, o único objetivo da engenharia reversa é examinar o sistema para obter seu design mais abstrato.

A reengenharia de software nada mais é do que a reimplementação do sistema legado para alcançar mais sustentabilidade. A evolução do sistema requer a assimilação do sistema existente que precisa ser alterado para que o sistema possa ser alterado implementando as alterações.

    1. Gráfico de comparação
    2. Definição
    3. Principais diferenças
    4. Conclusão

Gráfico de comparação

Base para comparaçãoEngenharia AvançadaEngenharia reversa
BasicDesenvolvimento do aplicativo com os requisitos fornecidos.Os requisitos são deduzidos do aplicativo fornecido.
CertezaSempre produz um aplicativo implementando os requisitos.Pode-se produzir várias idéias sobre o requisito de uma implementação.
NaturezaPrescritivoAdaptativo
Habilidades necessáriasProficiência altaExperiência de baixo nível
Tempo requeridoMaisMenos
PrecisãoO modelo deve ser preciso e completo.O modelo inexato também pode fornecer informações parciais.


Definição de Engenharia Avançada

Engenharia avançada é um processo de construção de um aplicativo com a ajuda dos requisitos gerais da implementação final. Elliot J. Chikofsky e James H. Cross usaram o termo "engenharia avançada" em seu trabalho no ano de 1990 e o associaram ao desenvolvimento convencional. Como mencionado acima, a técnica de evolução do sistema requer um entendimento adequado do software ou programas existentes; somente as novas alterações podem ser introduzidas e implementadas.

A engenharia avançada envolve a construção de um produto, seguindo a especificação geral, onde as especificações do sistema antigo são analisadas, reestruturadas e regeneradas para obter o melhor produto de qualidade.

Os outros nomes usados ​​para engenharia avançada são "renovação e recuperação”Porque não apenas recupera as informações de design do software existente, mas também as utiliza para criar um produto de qualidade superior.


Definição de Engenharia Reversa

Engenharia reversa, como o nome sugere, é o processo inverso da engenharia avançada em que o sistema existente é analisado para produzir a documentação do sistema existente. Inicialmente, a engenharia reversa é implementada no hardware, onde prevalece o exercício de decifrar os designs dos produtos acabados.

No entanto, quando um novo aplicativo é desenvolvido, a engenharia reversa visa descobrir os componentes do sistema e seu relacionamento. O código de software existente é analisado em certos níveis de abstração - sistema, componente, programa, instrução e padrão.

Essa recuperação de dados, informações arquiteturais e de design de procedimentos é realizada para criar uma representação do programa, considerando o nível mais alto de abstração em relação ao código-fonte.

  1. A engenharia avançada começa com a especificação do sistema e inclui o design e a implementação do sistema em desenvolvimento. Pelo contrário, o passo inicial na engenharia reversa começa com o sistema existente e a técnica de desenvolvimento para a substituição é baseada na interpretação.
  2. É sempre certo gerar um subproduto da engenharia avançada, mas no caso da engenharia reversa, várias idéias são geradas sobre o requisito, não necessariamente gerando um produto.
  3. A engenharia avançada é de natureza prescritiva, onde os desenvolvedores precisam seguir regras específicas para obter os resultados adequados. Por outro lado, a engenharia reversa é adaptável, onde o engenheiro precisa descobrir o que o desenvolvedor realmente fez.
  4. A engenharia avançada consome mais tempo em comparação com a engenharia reversa.
  5. O produto final da engenharia avançada deve ser completo e exato. Por outro lado, o modelo de engenharia reversa pode ser imperfeito, as informações parciais recuperadas ainda são úteis.

Relação entre Engenharia Avançada e Engenharia Reversa

Conclusão

A engenharia direta envolve a modificação no sistema de assunto, enquanto a engenharia reversa apenas analisa o sistema. Além disso, esses são os componentes do processo de reengenharia.