SlideShare uma empresa Scribd logo
1 de 19
Baixar para ler offline
ENGENHARIA DIRETA
MANUTENÇÃ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ódigo-fonte e nenhuma outra
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. Reprojetar completamente,
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.

Mais conteúdo relacionado

Mais procurados

Ihc2016.2 aula 1 introdução a ihc
Ihc2016.2 aula 1 introdução a ihcIhc2016.2 aula 1 introdução a ihc
Ihc2016.2 aula 1 introdução a ihcTicianne Darin
 
Perfil do usuário, Personas, Cenários, Storyboard em IHC
Perfil do usuário, Personas, Cenários, Storyboard em IHCPerfil do usuário, Personas, Cenários, Storyboard em IHC
Perfil do usuário, Personas, Cenários, Storyboard em IHCRos Galabo, PhD
 
Metodologias Ágeis para o Desenvolvimento de Software
Metodologias Ágeis para o Desenvolvimento de SoftwareMetodologias Ágeis para o Desenvolvimento de Software
Metodologias Ágeis para o Desenvolvimento de SoftwareAdolfo Neto
 
Sistemas de apoio à decisão - SAD
Sistemas de apoio à decisão - SADSistemas de apoio à decisão - SAD
Sistemas de apoio à decisão - SADJosé Luiz Wollinger
 
Ihc2016.2 aula 9 engenharia cognitiva e teoria da ação
Ihc2016.2 aula 9    engenharia cognitiva e teoria da açãoIhc2016.2 aula 9    engenharia cognitiva e teoria da ação
Ihc2016.2 aula 9 engenharia cognitiva e teoria da açãoTicianne Darin
 
Auditoria de sistemas de informação
Auditoria de sistemas de informaçãoAuditoria de sistemas de informação
Auditoria de sistemas de informaçãoSilvino Neto
 
Eng.ª do Software - 9. Verificação e validação
Eng.ª do Software - 9. Verificação e validaçãoEng.ª do Software - 9. Verificação e validação
Eng.ª do Software - 9. Verificação e validaçãoManuel Menezes de Sequeira
 
Estudo de caso do windows
Estudo de caso do windowsEstudo de caso do windows
Estudo de caso do windowsJocelma Rios
 
Testes de Software
Testes de SoftwareTestes de Software
Testes de SoftwareCapgemini
 
Sistemas de controle de versão
Sistemas de controle de versãoSistemas de controle de versão
Sistemas de controle de versãoMarcos Pessoa
 
Curso completo COBIT 4.1
Curso completo COBIT 4.1Curso completo COBIT 4.1
Curso completo COBIT 4.1Fernando Palma
 
Teste de software - aula 01 (motivação)
Teste de software - aula 01 (motivação)Teste de software - aula 01 (motivação)
Teste de software - aula 01 (motivação)Elmano Cavalcanti
 
FDD vs XP vs SCRUM
FDD vs XP vs SCRUMFDD vs XP vs SCRUM
FDD vs XP vs SCRUMfredcobain
 
Conceitos básicos de usabilidade e acessibilidade
Conceitos básicos de usabilidade e acessibilidadeConceitos básicos de usabilidade e acessibilidade
Conceitos básicos de usabilidade e acessibilidadeNécio de Lima Veras
 

Mais procurados (20)

Ihc2016.2 aula 1 introdução a ihc
Ihc2016.2 aula 1 introdução a ihcIhc2016.2 aula 1 introdução a ihc
Ihc2016.2 aula 1 introdução a ihc
 
Perfil do usuário, Personas, Cenários, Storyboard em IHC
Perfil do usuário, Personas, Cenários, Storyboard em IHCPerfil do usuário, Personas, Cenários, Storyboard em IHC
Perfil do usuário, Personas, Cenários, Storyboard em IHC
 
Sistemas Operacionais para Servidores
Sistemas Operacionais para ServidoresSistemas Operacionais para Servidores
Sistemas Operacionais para Servidores
 
Projeto para WEB
Projeto para WEBProjeto para WEB
Projeto para WEB
 
Metodologias Ágeis para o Desenvolvimento de Software
Metodologias Ágeis para o Desenvolvimento de SoftwareMetodologias Ágeis para o Desenvolvimento de Software
Metodologias Ágeis para o Desenvolvimento de Software
 
Modelos de processos de software
Modelos de processos de softwareModelos de processos de software
Modelos de processos de software
 
Sistemas de apoio à decisão - SAD
Sistemas de apoio à decisão - SADSistemas de apoio à decisão - SAD
Sistemas de apoio à decisão - SAD
 
Ihc2016.2 aula 9 engenharia cognitiva e teoria da ação
Ihc2016.2 aula 9    engenharia cognitiva e teoria da açãoIhc2016.2 aula 9    engenharia cognitiva e teoria da ação
Ihc2016.2 aula 9 engenharia cognitiva e teoria da ação
 
Auditoria de sistemas de informação
Auditoria de sistemas de informaçãoAuditoria de sistemas de informação
Auditoria de sistemas de informação
 
Eng.ª do Software - 9. Verificação e validação
Eng.ª do Software - 9. Verificação e validaçãoEng.ª do Software - 9. Verificação e validação
Eng.ª do Software - 9. Verificação e validação
 
Estudo de caso do windows
Estudo de caso do windowsEstudo de caso do windows
Estudo de caso do windows
 
Testes de Software
Testes de SoftwareTestes de Software
Testes de Software
 
Sistemas de controle de versão
Sistemas de controle de versãoSistemas de controle de versão
Sistemas de controle de versão
 
Curso completo COBIT 4.1
Curso completo COBIT 4.1Curso completo COBIT 4.1
Curso completo COBIT 4.1
 
Diagrama de afinidades
Diagrama de afinidadesDiagrama de afinidades
Diagrama de afinidades
 
Aula 02 - Agentes Inteligentes
Aula 02 - Agentes InteligentesAula 02 - Agentes Inteligentes
Aula 02 - Agentes Inteligentes
 
Teste de software - aula 01 (motivação)
Teste de software - aula 01 (motivação)Teste de software - aula 01 (motivação)
Teste de software - aula 01 (motivação)
 
FDD vs XP vs SCRUM
FDD vs XP vs SCRUMFDD vs XP vs SCRUM
FDD vs XP vs SCRUM
 
Conceitos básicos de usabilidade e acessibilidade
Conceitos básicos de usabilidade e acessibilidadeConceitos básicos de usabilidade e acessibilidade
Conceitos básicos de usabilidade e acessibilidade
 
eXtreme Programming (XP)
eXtreme Programming (XP)eXtreme Programming (XP)
eXtreme Programming (XP)
 

Destaque

Responsive Design - Campus Web Developers
Responsive Design - Campus Web DevelopersResponsive Design - Campus Web Developers
Responsive Design - Campus Web DevelopersCristian Horta
 
Learn micro training for coas
Learn   micro training for coasLearn   micro training for coas
Learn micro training for coasChad Kealey
 
Asuntonäyttö
AsuntonäyttöAsuntonäyttö
Asuntonäyttöaaltsir
 
Animales
AnimalesAnimales
AnimalesLina M
 
Exploring the future of work
Exploring the future of workExploring the future of work
Exploring the future of workLisa Harris
 
Colorines
ColorinesColorines
ColorinesLina M
 
NHRDN VLS on Use of Various Tools for Employee Benefit
NHRDN VLS on Use of Various Tools for Employee BenefitNHRDN VLS on Use of Various Tools for Employee Benefit
NHRDN VLS on Use of Various Tools for Employee BenefitNational HRD Network
 
Alimentación y Nutrición Familiar
Alimentación y Nutrición FamiliarAlimentación y Nutrición Familiar
Alimentación y Nutrición Familiarirsyango
 
Rusiñol i l'Auca del senyor Esteve
Rusiñol i l'Auca del senyor EsteveRusiñol i l'Auca del senyor Esteve
Rusiñol i l'Auca del senyor Estevemlope657
 
Embedded Platform Architecture - I
Embedded Platform Architecture - IEmbedded Platform Architecture - I
Embedded Platform Architecture - IMuhammad Asif
 
Peace education in schools
Peace education in schoolsPeace education in schools
Peace education in schoolsRekha Shukla
 
Reengenharia de Software
Reengenharia de SoftwareReengenharia de Software
Reengenharia de SoftwareRafael Berto
 
Consecuencias do cambio climático no medio terrestre.
Consecuencias do cambio climático no medio terrestre.Consecuencias do cambio climático no medio terrestre.
Consecuencias do cambio climático no medio terrestre.cienciasdjm
 
E marketing personal assignment
E marketing personal assignmentE marketing personal assignment
E marketing personal assignmentconormchugh1
 
Faktorfaktoryangmempengaruhikehamilan
FaktorfaktoryangmempengaruhikehamilanFaktorfaktoryangmempengaruhikehamilan
Faktorfaktoryangmempengaruhikehamilananita sriwaty
 

Destaque (20)

Responsive Design - Campus Web Developers
Responsive Design - Campus Web DevelopersResponsive Design - Campus Web Developers
Responsive Design - Campus Web Developers
 
Learn micro training for coas
Learn   micro training for coasLearn   micro training for coas
Learn micro training for coas
 
365 lifestyle
365 lifestyle365 lifestyle
365 lifestyle
 
¿Que es sisu?
¿Que es sisu? ¿Que es sisu?
¿Que es sisu?
 
Asuntonäyttö
AsuntonäyttöAsuntonäyttö
Asuntonäyttö
 
Animales
AnimalesAnimales
Animales
 
Exploring the future of work
Exploring the future of workExploring the future of work
Exploring the future of work
 
Colorines
ColorinesColorines
Colorines
 
NHRDN VLS on Use of Various Tools for Employee Benefit
NHRDN VLS on Use of Various Tools for Employee BenefitNHRDN VLS on Use of Various Tools for Employee Benefit
NHRDN VLS on Use of Various Tools for Employee Benefit
 
Alimentación y Nutrición Familiar
Alimentación y Nutrición FamiliarAlimentación y Nutrición Familiar
Alimentación y Nutrición Familiar
 
Rusiñol i l'Auca del senyor Esteve
Rusiñol i l'Auca del senyor EsteveRusiñol i l'Auca del senyor Esteve
Rusiñol i l'Auca del senyor Esteve
 
Embedded Platform Architecture - I
Embedded Platform Architecture - IEmbedded Platform Architecture - I
Embedded Platform Architecture - I
 
Peace education in schools
Peace education in schoolsPeace education in schools
Peace education in schools
 
Reengenharia de Software
Reengenharia de SoftwareReengenharia de Software
Reengenharia de Software
 
Sptite
SptiteSptite
Sptite
 
Consecuencias do cambio climático no medio terrestre.
Consecuencias do cambio climático no medio terrestre.Consecuencias do cambio climático no medio terrestre.
Consecuencias do cambio climático no medio terrestre.
 
Technical composition 1 sample
Technical composition 1 sampleTechnical composition 1 sample
Technical composition 1 sample
 
E marketing personal assignment
E marketing personal assignmentE marketing personal assignment
E marketing personal assignment
 
Faktorfaktoryangmempengaruhikehamilan
FaktorfaktoryangmempengaruhikehamilanFaktorfaktoryangmempengaruhikehamilan
Faktorfaktoryangmempengaruhikehamilan
 
MAD_Power Point_
MAD_Power Point_MAD_Power Point_
MAD_Power Point_
 

Semelhante a Engenharia Direta

Reengenharia Reversa
Reengenharia ReversaReengenharia Reversa
Reengenharia ReversaBurtPepper
 
Manuscrito Rejuvenescimento De Software
Manuscrito   Rejuvenescimento De SoftwareManuscrito   Rejuvenescimento De Software
Manuscrito Rejuvenescimento De SoftwareMarcus Oliveira
 
Engenharia Reversa e Reengenharia Software
Engenharia Reversa e Reengenharia SoftwareEngenharia Reversa e Reengenharia Software
Engenharia Reversa e Reengenharia Softwareelliando dias
 
Conexão entre a engenharia de manufatura e o chão de fábrica
Conexão entre a engenharia de manufatura e o chão de fábricaConexão entre a engenharia de manufatura e o chão de fábrica
Conexão entre a engenharia de manufatura e o chão de fábricaPLMX -Soluções para Negocios
 
Monitoramento do Ambiente Computacional da Universidade Estadual de Campinas.
Monitoramento do Ambiente Computacional da Universidade Estadual de Campinas.Monitoramento do Ambiente Computacional da Universidade Estadual de Campinas.
Monitoramento do Ambiente Computacional da Universidade Estadual de Campinas.Douglas Esteves
 
Planejamento projeto masiero
Planejamento projeto masieroPlanejamento projeto masiero
Planejamento projeto masieroMaitsudá Matos
 
Áreas de Conhecimento da Engenharia de Software
Áreas de Conhecimento da Engenharia de SoftwareÁreas de Conhecimento da Engenharia de Software
Áreas de Conhecimento da Engenharia de SoftwareElaine Cecília Gatto
 
Apresentação TCC - Braço Robótico para fins didáticos
Apresentação TCC - Braço Robótico para fins didáticosApresentação TCC - Braço Robótico para fins didáticos
Apresentação TCC - Braço Robótico para fins didáticosHerbert Guimaraes
 
Es17 predicao de defeitos em software
Es17   predicao de defeitos em softwareEs17   predicao de defeitos em software
Es17 predicao de defeitos em softwareVictor Hugo
 

Semelhante a Engenharia Direta (20)

Reengenharia Reversa
Reengenharia ReversaReengenharia Reversa
Reengenharia Reversa
 
SIC_201_VRSJ
SIC_201_VRSJSIC_201_VRSJ
SIC_201_VRSJ
 
Engenharia de software
Engenharia de software Engenharia de software
Engenharia de software
 
Tutorial Ansys Workbench
Tutorial Ansys WorkbenchTutorial Ansys Workbench
Tutorial Ansys Workbench
 
Manuscrito Rejuvenescimento De Software
Manuscrito   Rejuvenescimento De SoftwareManuscrito   Rejuvenescimento De Software
Manuscrito Rejuvenescimento De Software
 
Engenharia Reversa e Reengenharia Software
Engenharia Reversa e Reengenharia SoftwareEngenharia Reversa e Reengenharia Software
Engenharia Reversa e Reengenharia Software
 
Conexão entre a engenharia de manufatura e o chão de fábrica
Conexão entre a engenharia de manufatura e o chão de fábricaConexão entre a engenharia de manufatura e o chão de fábrica
Conexão entre a engenharia de manufatura e o chão de fábrica
 
Aula 02
Aula 02Aula 02
Aula 02
 
Processo de Software
Processo de SoftwareProcesso de Software
Processo de Software
 
Programacao Extrema
Programacao ExtremaProgramacao Extrema
Programacao Extrema
 
Monitoramento do Ambiente Computacional da Universidade Estadual de Campinas.
Monitoramento do Ambiente Computacional da Universidade Estadual de Campinas.Monitoramento do Ambiente Computacional da Universidade Estadual de Campinas.
Monitoramento do Ambiente Computacional da Universidade Estadual de Campinas.
 
C poli c definitivo
C poli c definitivoC poli c definitivo
C poli c definitivo
 
Professional Brief
Professional BriefProfessional Brief
Professional Brief
 
Engenharia de Software Aula 1 - Intro
Engenharia de Software Aula 1 - IntroEngenharia de Software Aula 1 - Intro
Engenharia de Software Aula 1 - Intro
 
ProIndústria 2018 - dia 23 - H201 - A06
ProIndústria 2018 - dia 23 - H201 - A06ProIndústria 2018 - dia 23 - H201 - A06
ProIndústria 2018 - dia 23 - H201 - A06
 
Planejamento projeto masiero
Planejamento projeto masieroPlanejamento projeto masiero
Planejamento projeto masiero
 
Áreas de Conhecimento da Engenharia de Software
Áreas de Conhecimento da Engenharia de SoftwareÁreas de Conhecimento da Engenharia de Software
Áreas de Conhecimento da Engenharia de Software
 
Apresentação TCC - Braço Robótico para fins didáticos
Apresentação TCC - Braço Robótico para fins didáticosApresentação TCC - Braço Robótico para fins didáticos
Apresentação TCC - Braço Robótico para fins didáticos
 
Nagios
NagiosNagios
Nagios
 
Es17 predicao de defeitos em software
Es17   predicao de defeitos em softwareEs17   predicao de defeitos em software
Es17 predicao de defeitos em software
 

Mais de Kelvin Campelo

Hackathon Strans Inthegra - Teresina
Hackathon Strans Inthegra - TeresinaHackathon Strans Inthegra - Teresina
Hackathon Strans Inthegra - TeresinaKelvin Campelo
 
Avaliação do Google Docs utilizando critérios ergonômicos de Batien & Scapin
Avaliação do Google Docs utilizando critérios ergonômicos de Batien & ScapinAvaliação do Google Docs utilizando critérios ergonômicos de Batien & Scapin
Avaliação do Google Docs utilizando critérios ergonômicos de Batien & ScapinKelvin Campelo
 

Mais de Kelvin Campelo (6)

Lander Eventos
Lander EventosLander Eventos
Lander Eventos
 
Hackathon Strans Inthegra - Teresina
Hackathon Strans Inthegra - TeresinaHackathon Strans Inthegra - Teresina
Hackathon Strans Inthegra - Teresina
 
THE WebSec
THE WebSecTHE WebSec
THE WebSec
 
Avaliação do Google Docs utilizando critérios ergonômicos de Batien & Scapin
Avaliação do Google Docs utilizando critérios ergonômicos de Batien & ScapinAvaliação do Google Docs utilizando critérios ergonômicos de Batien & Scapin
Avaliação do Google Docs utilizando critérios ergonômicos de Batien & Scapin
 
Pitch
PitchPitch
Pitch
 
Pitch
PitchPitch
Pitch
 

Engenharia Direta

  • 2. 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.
  • 3. É 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
  • 4. MANUTENÇÃO E REENGENHARIA ENGENHARIA REVERSA + ENGENHARIA DIRETA ▸O processo de engenharia reversa seguido de engenharia direta é chamando de reengenharia.
  • 5. 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
  • 6. 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ódigo-fonte e nenhuma outra documentação.
  • 7. MANUTENÇÃO E REENGENHARIA PROBLEMA ▸Deve ser modificado para acomodar alterações e requisitos de usuário.
  • 8. 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.
  • 9. 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.
  • 10. MANUTENÇÃO E REENGENHARIA OPÇÕES PARA ENGENHARIA DIRETA ▸4. Reprojetar completamente, recodificar e testar o programa usando ferramentas de reengenharia para ajudar a entendermos o projeto atual.
  • 11. 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:
  • 12. 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.
  • 13. 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.
  • 14. 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).
  • 15. MANUTENÇÃO E REENGENHARIA OPÇÕES PARA ENGENHARIA DIRETA ▸As opções 2, 3 e 4 se aplicam em engenharia direta.
  • 16. 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.
  • 17. 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.
  • 18. 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.
  • 19. 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.