Escolar Documentos
Profissional Documentos
Cultura Documentos
Engenharia Reversa PDF
Engenharia Reversa PDF
Reengenharia
SCE 186 Engenharia de Software
Profa Rosana T. Vaccare Braga
(material adaptado a partir do concedido pela
Profa.: Rosngela Penteado, DC - UFSCar)
Sistema
Anlise
Projeto
Requisitos
Sistema
Requisitos
Desenvolvimento
Codificao
Testes
Desenvolvimento
porque?
o que?
como?
Manuteno
Abstrao
Definio de Abstrao: habilidade de se ignorar os aspectos de assuntos no
relevantes para o propsito em questo
Nvel de Abstrao: Cada passo no processo de desenvolvimento de software
um refinamento do nvel de abstrao do software. Nos estgios iniciais do ciclo
de vida as informaes possuem alto nvel de abstrao e nos estgios finais baixo
nvel de abstrao
Grau de Abstrao: Est relacionado a uma mesma atividade no ciclo de vida
do software. Informaes numa forma mais global possuem alto grau de
abstrao, numa forma mais detalhada possuem baixo grau de abstrao
alto
Sistema
Requisitos
Desenvolvimento
Grau de
Abstrao
baixo
alto
Nvel de Abstrao
baixo
Sistema
Requisitos
Eng.
Progressiva
Grau de
Abstrao
Eng. Reversa
Desenvolvimento
Eng.
Progressiva
Eng. Reversa
baixo
alto
Nvel de Abstrao
baixo
Software Produzido
Anlise - o qu o sistema deve fazer.
Documento de Especificao
A cura ....
Engenharia Reversa
Reengenharia
Engenharia Reversa
o
c
i
g
L
lo
e
d
o
M
Reengenharia
Engenharia Reversa
O termo Engenharia Reversa tem sua origem na
anlise de hardware, pois comum a prtica de
decifrar projetos de produtos finalizados com
intuito de duplic-los.
O conceito de Engenharia Reversa de Software
similar. Porm, tradicionalmente o objetivo da dessa
engenharia reversa obter apenas um entendimento
do sistema
Engenharia Reversa
Definio de Engenharia Reversa: Processo de exame e
compreenso do software existente, para recapturar ou
recriar o projeto e decifrar os requisitos atualmente
implementados pelo sistema, apresentando-os em um nvel
ou grau mais alto de abstrao
Por meio da engenharia reversa um software pode ser
visualizado em diferentes nveis de abstrao. Cada
VISUALIZAO abstrai caractersticas prprias da fase
do ciclo de vida correspondente abstrao.
Requisitos
(restries,
objetivos,
regras do negcio)
Engenharia
Avante
Engenharia
Avante
Engenharia
Reversa
Engenharia
Reversa
Projeto
Recuperado
Projeto
Recuperado
Reestruturao
Reengenharia
(Renovao)
Implementao
Projeto
Reestruturao
Reengenharia
(Renovao)
Reestruturao
Engenharia Reversa
Quais os documentos utilizados para realizar
engenharia reversa ?
- cdigo fonte
- informaes de usurios e/ou analista
- documentao existente (manual de usurio,
manual de sistema, DFDs, fluxogramas, etc.)
Reengenharia
Pseudocdigos
DFDs (se abordagem for procedimental)
outros mtodos de anlise existentes
Reengenharia de Software
qualquer atividade que:
(1) Melhore o entendimento do software
(2) Prepare ou melhore o software em si, aumentando sua
manuteno, seu reuso e sua extenso
Chikofsky e Cross definem reengenharia:
o exame e a alterao de um sistema para reconstitu-lo de
uma nova forma, seguida pela sua implementao
Sinnimos de Reengenharia: melhoramento, renovao,
modernizao, engenharia de re-desenvolvimento,
engenharia de reuso
Modelo de Processo de
Reengenharia de Software
Engenharia
avante
Reestruturao
dos dados
Reestruturao
do cdigo
Anlise do
inventrio
Reestruturao
de documentos
Engenharia
reversa
Finalidade: Reengenharia
Passos para se realizar reengenharia
Engenharia Reversa
Estudo das possibilidades existentes
Reengenharia:
sem mudana de funcionalidade,
mudana parcial de funcionalidade,
mudana total de funcionalidade
Deciso:
Processo de Reengenharia
Conhecimento
do Usurio
Sistema Legado
(cdigo fonte)
Eng. de
Software
ReDocumentao
Engenharia
Reversa
=
Reengenharia
Documentao?
Recuperao do
Projeto
J existia
Recuperado do
cdigo legado
Modelo Lgico
Linguagem
Escolhida
Mesmo Paradigma:
Que haja integrao entre as duas partes.
Integrar as duas partes.
Engenharia Avante
escolha o seu!
Mtodos de
Desenvolvimento
Orientada a
Procedimentos
FUSION/RE
(Modelos UML)
COREM
Orientada a Objetos
Segmentao
(Sneed)
Exerccio optativo
Obtenha propaganda sobre trs ferramentas de
engenharia reversa e faa um resumo de suas
caractersticas
O mesmo para ferramentas de manuteno.
O mesmo para estudos sobre reengenharia de
computador de grande porte para
cliente/servidor