Diferença entre engenharia direta e engenharia reversa
Contente
- Gráfico de comparação
- Definição de Engenharia Avançada
- Definição de Engenharia Reversa
- Relação entre Engenharia Avançada e Engenharia Reversa
- Conclusão
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.
-
- Gráfico de comparação
- Definição
- Principais diferenças
- Conclusão
Gráfico de comparação
Base para comparação | Engenharia Avançada | Engenharia reversa |
---|---|---|
Basic | Desenvolvimento do aplicativo com os requisitos fornecidos. | Os requisitos são deduzidos do aplicativo fornecido. |
Certeza | Sempre produz um aplicativo implementando os requisitos. | Pode-se produzir várias idéias sobre o requisito de uma implementação. |
Natureza | Prescritivo | Adaptativo |
Habilidades necessárias | Proficiência alta | Experiência de baixo nível |
Tempo requerido | Mais | Menos |
Precisão | O 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.
- 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.
- É 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.
- 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.
- A engenharia avançada consome mais tempo em comparação com a engenharia reversa.
- 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.