Engenharia Direta
-
Upload
kelvin-campelo -
Category
Software
-
view
249 -
download
0
Transcript of Engenharia Direta
ENGENHARIA DIRETAMANUTENÇÃO E REENGENHARIA
MANUTENÇÃO E REENGENHARIA
O QUE É ENGENHARIA DIRETA?
▸O processo de engenharia direta aplica os princípios, conceitos e métodos de engenharia de software, para recriar um aplicativo.
É O PROCESSO DE DESCOBRIR OS PRINCÍPIOS TECNOLÓGICOS E O FUNCIONAMENTO DE UM DISPOSITIVO, OBJETO OU SISTEMA, ATRAVÉS DA ANÁLISE DE SUA ESTRUTURA, FUNÇÃO E OPERAÇÃO. OBJETIVAMENTE A ENGENHARIA REVERSA CONSISTE EM, POR EXEMPLO, DESMONTAR UMA MÁQUINA PARA DESCOBRIR COMO ELA FUNCIONA.
ENGENHARIA REVERSA
ENTENDENDO O QUE É ENGENHARIA REVERSA
MANUTENÇÃO E REENGENHARIA
ENGENHARIA REVERSA + ENGENHARIA DIRETA
▸O processo de engenharia reversa seguido de engenharia direta é chamando de reengenharia.
ESTÁ NA HORA DE PARAR DE SEGUIR AS TRILHAS DAS VACAS. EM VEZ DE ACRESCENTAR PROCESSOS ULTRAPASSADOS EM HARDWARE E SOFTWARE, DEVEMOS REJEITÁ-LOS E COMEÇAR DE NOVO. DEVEMOS FAZER UMA "REENGENHARIA" EM NOSSOS NEGÓCIOS.
Michael Hammer
ENTENDENDO O QUE É ENGENHARIA REVERSA
MANUTENÇÃO E REENGENHARIA
SISTEMA ANTIGO
▸Um programa com um fluxo de controle, que graficamente equivale a um emaranhado, com módulos de 2 mil instruções, algumas poucas linhas de comentário em 290 mil instruções de c ó d i g o - f o n t e e n e n h u m a o u t ra documentação.
MANUTENÇÃO E REENGENHARIA
PROBLEMA
▸Deve ser modificado para acomodar alterações e requisitos de usuário.
MANUTENÇÃO E REENGENHARIA
OPÇÕES PARA ENGENHARIA DIRETA
▸1. Fazendo modificação após modificação, enfrentando os problemas do projeto ad hoc e do código-fonte confuso.
▸2. Entender os detalhes internos do programa em um esforço para tornar as modificações mais eficazes.
MANUTENÇÃO E REENGENHARIA
OPÇÕES PARA ENGENHARIA DIRETA
▸3. Reprojetar, recodificar e testar as partes do software que requerem m o d i fi c a ç ã o , a p l i c a n d o u m a abordagem de engenharia de software a todos os segmentos revisados.
MANUTENÇÃO E REENGENHARIA
OPÇÕES PARA ENGENHARIA DIRETA
▸4 . R e p ro j e t a r c o m p l e t a m e n t e , recodificar e testar o programa usando ferramentas de reengenharia para ajudar a entendermos o projeto atual.
MANUTENÇÃO E REENGENHARIA
OPÇÕES PARA ENGENHARIA DIRETA
▸Em uma primeira opção, a sugestão para que você redesenvolva um grande programa quando uma versão que ainda funcione pode ser bastante extravagante. Mas antes de fazer um julgamento, considere alguns pontos:
MANUTENÇÃO E REENGENHARIA
OPÇÕES PARA ENGENHARIA DIRETA
▸O custo para manter uma linha de codigo pode ser 20 a 40 vezes a do desenvolvimento inicial de cada linha
▸O reprojeto da arquitetura de software, usando conceitos modernos de projeto, pode facilitar muito a manutenção futura.
MANUTENÇÃO E REENGENHARIA
OPÇÕES PARA ENGENHARIA DIRETA
▸Como já existe um protótipo do software, a produtividade do desenvolvimento deverá ser muito mais alta que a média.
▸O usuário agora tem experiência com o software. Portanto, novos requisitos e a direção das mudanças podem ser definidos com grande facilidade.
MANUTENÇÃO E REENGENHARIA
OPÇÕES PARA ENGENHARIA DIRETA
▸Ferramentas automatizadas para reengenharia facilitarão algumas partes do trabalho.
▸Existirá uma configuração de software completa(documentos, programa e dados).
MANUTENÇÃO E REENGENHARIA
OPÇÕES PARA ENGENHARIA DIRETA
▸As opções 2, 3 e 4 se aplicam em engenharia direta.
MANUTENÇÃO E REENGENHARIA
CUSTO X BENEFÍCIO
▸O custo associado ao suporte e manutenção continuados de um aplicativo existente, é comparado aos custos projetados da reengenharia e a redução resultante nos custos de manutenção e suporte.
MANUTENÇÃO E REENGENHARIA
CUSTO X BENEFÍCIO
▸Em quase todos os casos nos quais um programa tem uma vida longa e a p r e s e n t a n o m o m e n t o u m a manutenibilidade ou suportabilidade ruim, a reengenharia representa uma estratégia de negócio eficiente em termos de custo.
MANUTENÇÃO E REENGENHARIA
CONCLUSÃO
▸Na maioria das vezes a engenharia direta não cria apenas um programa equivalente moderno de um programa antigo. Em vez disso o programa redesenvolvido amplia a capacidade do aplicativo antigo.
MANUTENÇÃO E REENGENHARIA
BIBLIOGRAFIA
▸Engenharia de Software - 7.ed.: Os Paradigmas Clássico e Orientado a Objetos. Por Stephen R. Schach
▸Engenharia de Software. Por Roger S. Pressman.