(manuten??o de software engenharia de software) · processo de revisão da engenharia de software....
TRANSCRIPT
![Page 1: (Manuten??o de Software Engenharia de Software) · processo de revisão da engenharia de software. 29 ... ser humano no processo de engenharia reversa. n conforme o nível de abstração](https://reader031.vdocuments.site/reader031/viewer/2022021721/5bf069a709d3f22e178b75ad/html5/thumbnails/1.jpg)
ManutençãoManutençãode Softwarede Software
SCE 186 - Engenharia de Software
Profs. José Carlos Maldonado e Elisa Yumi Nakagawa
2o semestre de 2002
![Page 2: (Manuten??o de Software Engenharia de Software) · processo de revisão da engenharia de software. 29 ... ser humano no processo de engenharia reversa. n conforme o nível de abstração](https://reader031.vdocuments.site/reader031/viewer/2022021721/5bf069a709d3f22e178b75ad/html5/thumbnails/2.jpg)
2
Ciclo de Vida de SoftwareCiclo de Vida de Software
![Page 3: (Manuten??o de Software Engenharia de Software) · processo de revisão da engenharia de software. 29 ... ser humano no processo de engenharia reversa. n conforme o nível de abstração](https://reader031.vdocuments.site/reader031/viewer/2022021721/5bf069a709d3f22e178b75ad/html5/thumbnails/3.jpg)
3
Manutenção de SoftwareManutenção de Software
n AlteraçõesAlterações efetuadas no software
depois de sua liberação.
n As alterações ocorrem por diversas
razões.
n As razões para as alterações
determinam a categoria de
manutenção.
![Page 4: (Manuten??o de Software Engenharia de Software) · processo de revisão da engenharia de software. 29 ... ser humano no processo de engenharia reversa. n conforme o nível de abstração](https://reader031.vdocuments.site/reader031/viewer/2022021721/5bf069a709d3f22e178b75ad/html5/thumbnails/4.jpg)
4
Categorias de ManutençãoCategorias de Manutenção
1) Identificar e Corrigir Erros
Manutenção CorretivaManutenção Corretiva
![Page 5: (Manuten??o de Software Engenharia de Software) · processo de revisão da engenharia de software. 29 ... ser humano no processo de engenharia reversa. n conforme o nível de abstração](https://reader031.vdocuments.site/reader031/viewer/2022021721/5bf069a709d3f22e178b75ad/html5/thumbnails/5.jpg)
5
Categorias de ManutençãoCategorias de Manutenção
2) Adaptar o Software ao Ambiente
Manutenção AdaptativaManutenção Adaptativa
![Page 6: (Manuten??o de Software Engenharia de Software) · processo de revisão da engenharia de software. 29 ... ser humano no processo de engenharia reversa. n conforme o nível de abstração](https://reader031.vdocuments.site/reader031/viewer/2022021721/5bf069a709d3f22e178b75ad/html5/thumbnails/6.jpg)
6
Categorias de ManutençãoCategorias de Manutenção
3) Atender Pedidos do Usuário para Modificar Funções Existentes, Incluir Novas Funções e Efetuar Melhoramentos Gerais
Manutenção PerfectivaManutenção Perfectiva
![Page 7: (Manuten??o de Software Engenharia de Software) · processo de revisão da engenharia de software. 29 ... ser humano no processo de engenharia reversa. n conforme o nível de abstração](https://reader031.vdocuments.site/reader031/viewer/2022021721/5bf069a709d3f22e178b75ad/html5/thumbnails/7.jpg)
7
Categorias de ManutençãoCategorias de Manutenção
4) Melhorar a manutenibilidade ou
confiabilidade futuras e fornecer
uma base melhor para futuros
melhoramentos
Manutenção PreventivaManutenção Preventiva
![Page 8: (Manuten??o de Software Engenharia de Software) · processo de revisão da engenharia de software. 29 ... ser humano no processo de engenharia reversa. n conforme o nível de abstração](https://reader031.vdocuments.site/reader031/viewer/2022021721/5bf069a709d3f22e178b75ad/html5/thumbnails/8.jpg)
8
A Fase de Manutenção deA Fase de Manutenção deSoftwareSoftware
n Fase mais problemática do Ciclo de Vida de Software
n Pode despender mais de 70% de todo esforço de uma Organização
n Esses sistemas devem continuar rodando e as alterações são inevitáveis
![Page 9: (Manuten??o de Software Engenharia de Software) · processo de revisão da engenharia de software. 29 ... ser humano no processo de engenharia reversa. n conforme o nível de abstração](https://reader031.vdocuments.site/reader031/viewer/2022021721/5bf069a709d3f22e178b75ad/html5/thumbnails/9.jpg)
9
A Fase de Manutenção deA Fase de Manutenção deSoftwareSoftware
n Por que é exigida tanta Manutenção e por que é despendido tanto Esforço nessa atividade?
u Idade Média de 10 a 15 anos
u Quando foram implementados , o tamanho
do programa e espaço de armazenamento eram o principal interesse
u Migração para novas plataformas
u Sistemas mal estruturados
![Page 10: (Manuten??o de Software Engenharia de Software) · processo de revisão da engenharia de software. 29 ... ser humano no processo de engenharia reversa. n conforme o nível de abstração](https://reader031.vdocuments.site/reader031/viewer/2022021721/5bf069a709d3f22e178b75ad/html5/thumbnails/10.jpg)
10
A Fase de Manutenção deA Fase de Manutenção deSoftwareSoftware
n Por que é exigida tanta Manutenção e por que é despendido tanto Esforço nessa atividade? (cont)
u Melhoramentos para atender novas necessidades
u Nenhuma preocupação com a arquitetura global
u Codificação, lógica e documentação ruins
![Page 11: (Manuten??o de Software Engenharia de Software) · processo de revisão da engenharia de software. 29 ... ser humano no processo de engenharia reversa. n conforme o nível de abstração](https://reader031.vdocuments.site/reader031/viewer/2022021721/5bf069a709d3f22e178b75ad/html5/thumbnails/11.jpg)
11
Manutenção Estruturada xManutenção Estruturada xNão-EstruturadaNão-Estruturada
![Page 12: (Manuten??o de Software Engenharia de Software) · processo de revisão da engenharia de software. 29 ... ser humano no processo de engenharia reversa. n conforme o nível de abstração](https://reader031.vdocuments.site/reader031/viewer/2022021721/5bf069a709d3f22e178b75ad/html5/thumbnails/12.jpg)
12
Custo de ManutençãoCusto de Manutenção
n Custo da manutenção como uma porcentagem do orçamento do software
Lientz e Swanson ( 1980)
Arfa et alii (1988-1989)
Manutenção 48,8 % 44,63%Desenvolvimento 43,3 % 46,59 %Outros 7,9 % 8,78 %
![Page 13: (Manuten??o de Software Engenharia de Software) · processo de revisão da engenharia de software. 29 ... ser humano no processo de engenharia reversa. n conforme o nível de abstração](https://reader031.vdocuments.site/reader031/viewer/2022021721/5bf069a709d3f22e178b75ad/html5/thumbnails/13.jpg)
13
Custo de ManutençãoCusto de Manutenção
n Outros Custos não Monetários
u Adiamento de oportunidades de desenvolvimento
u Redução da qualidade global do software
u Insatisfação do cliente
u Insatisfação do pessoal de manutenção
![Page 14: (Manuten??o de Software Engenharia de Software) · processo de revisão da engenharia de software. 29 ... ser humano no processo de engenharia reversa. n conforme o nível de abstração](https://reader031.vdocuments.site/reader031/viewer/2022021721/5bf069a709d3f22e178b75ad/html5/thumbnails/14.jpg)
14
Custo de ManutençãoCusto de Manutenção
n Custo Final da Manutenção u Diminuição dramática na
produtividade
n (Boehm ) u Custo do desenvolvimento $250.00
por linha de código
u Custo da manutenção $1000.00 por linha de código
![Page 15: (Manuten??o de Software Engenharia de Software) · processo de revisão da engenharia de software. 29 ... ser humano no processo de engenharia reversa. n conforme o nível de abstração](https://reader031.vdocuments.site/reader031/viewer/2022021721/5bf069a709d3f22e178b75ad/html5/thumbnails/15.jpg)
15
Custo de ManutençãoCusto de Manutenção
n O Custo de manutenção pode ser dividido em:
u tentar entender o que o software faz
u interpretar as estruturas de dados, as características de interface e limites de desempenho
u analisar, avaliar, projetar, codificar e testar as modificações
(Atividades Produtivas)
![Page 16: (Manuten??o de Software Engenharia de Software) · processo de revisão da engenharia de software. 29 ... ser humano no processo de engenharia reversa. n conforme o nível de abstração](https://reader031.vdocuments.site/reader031/viewer/2022021721/5bf069a709d3f22e178b75ad/html5/thumbnails/16.jpg)
16
Custo de ManutençãoCusto de Manutenção
MODELO DE ESFORÇO DE MANUTENÇÃO [Belady72]MODELO DE ESFORÇO DE MANUTENÇÃO [Belady72]
no qual,F M = Esforço total
F p = Esforço produtivo
F k = Constante empírica
F c = Medida de complexidade atribuída à falta de bom projeto e documentação
F d = Medida do grau de familiaridade com o software
M � p ke
�
c � d
�
Crescimento exponencial….
![Page 17: (Manuten??o de Software Engenharia de Software) · processo de revisão da engenharia de software. 29 ... ser humano no processo de engenharia reversa. n conforme o nível de abstração](https://reader031.vdocuments.site/reader031/viewer/2022021721/5bf069a709d3f22e178b75ad/html5/thumbnails/17.jpg)
17
Problemas da ManutençãoProblemas da Manutenção
n A maioria dos problemas com a manutenção do software é causada por deficiências na maneira como o software foi planejado e desenvolvido
![Page 18: (Manuten??o de Software Engenharia de Software) · processo de revisão da engenharia de software. 29 ... ser humano no processo de engenharia reversa. n conforme o nível de abstração](https://reader031.vdocuments.site/reader031/viewer/2022021721/5bf069a709d3f22e178b75ad/html5/thumbnails/18.jpg)
18
Problemas da ManutençãoProblemas da Manutenção
PROBLEMAS CLÁSSICOSPROBLEMAS CLÁSSICOS
n É difícil ou impossível traçar a evolução do software através das várias versões. As alterações não são adequadamente documentadas
n É difícil ou impossível rastrear o processo através do qual o software foi criado.
![Page 19: (Manuten??o de Software Engenharia de Software) · processo de revisão da engenharia de software. 29 ... ser humano no processo de engenharia reversa. n conforme o nível de abstração](https://reader031.vdocuments.site/reader031/viewer/2022021721/5bf069a709d3f22e178b75ad/html5/thumbnails/19.jpg)
19
Problemas da ManutençãoProblemas da Manutenção
PROBLEMAS CLÁSSICOS (cont.)PROBLEMAS CLÁSSICOS (cont.)n É muito difícil entender programas
"de outras pessoas". A dificuldade aumenta conforme o número de elementos na configuração de software diminui.
n "As outras pessoas" freqüente-mente não estão presentes para explicar.
![Page 20: (Manuten??o de Software Engenharia de Software) · processo de revisão da engenharia de software. 29 ... ser humano no processo de engenharia reversa. n conforme o nível de abstração](https://reader031.vdocuments.site/reader031/viewer/2022021721/5bf069a709d3f22e178b75ad/html5/thumbnails/20.jpg)
20
Problemas da ManutençãoProblemas da Manutenção
PROBLEMAS CLÁSSICOS (cont.)PROBLEMAS CLÁSSICOS (cont.)n A documentação não existe, é
incompreensível ou está desatualizada.
n A maioria dos softwares não foram projetados para apoiar alterações.
n A manutenção não é vista como um trabalho “glamoroso”.
![Page 21: (Manuten??o de Software Engenharia de Software) · processo de revisão da engenharia de software. 29 ... ser humano no processo de engenharia reversa. n conforme o nível de abstração](https://reader031.vdocuments.site/reader031/viewer/2022021721/5bf069a709d3f22e178b75ad/html5/thumbnails/21.jpg)
21
ManutenibilidadeManutenibilidade
n A Manutenibilidade pode ser
definida qualitativamente como a
facilidade com que o software pode
ser entendido, corrigido, adaptado e
ou melhorado
![Page 22: (Manuten??o de Software Engenharia de Software) · processo de revisão da engenharia de software. 29 ... ser humano no processo de engenharia reversa. n conforme o nível de abstração](https://reader031.vdocuments.site/reader031/viewer/2022021721/5bf069a709d3f22e178b75ad/html5/thumbnails/22.jpg)
22
ManutenibilidadeManutenibilidade
n A manutenibilidade é afetada por muitos fatores:u cuidado inadequado com o projeto,
codificação e teste
u configuração de software ruim
u disponibilidade de pessoal qualificado de software
![Page 23: (Manuten??o de Software Engenharia de Software) · processo de revisão da engenharia de software. 29 ... ser humano no processo de engenharia reversa. n conforme o nível de abstração](https://reader031.vdocuments.site/reader031/viewer/2022021721/5bf069a709d3f22e178b75ad/html5/thumbnails/23.jpg)
23
ManutenibilidadeManutenibilidade
n A manutenibilidade é afetada por muitos fatores: (cont)u facilidade de manusear o sistema
u uso de linguagens de programação padronizadas
u uso de sistemas operacionais padronizados
u estruturas padronizadas de documentação
![Page 24: (Manuten??o de Software Engenharia de Software) · processo de revisão da engenharia de software. 29 ... ser humano no processo de engenharia reversa. n conforme o nível de abstração](https://reader031.vdocuments.site/reader031/viewer/2022021721/5bf069a709d3f22e178b75ad/html5/thumbnails/24.jpg)
24
ManutenibilidadeManutenibilidade
n A manutenibilidade é afetada por muitos fatores: (cont)u disponibilidade de um computador
próprio para a manutenção
u disponibilidade da pessoa ou grupo que desenvolveu o software
u o planejamento para manutenibilidadeo planejamento para manutenibilidade
(fator mais importante que afeta a manutenibilidade)
![Page 25: (Manuten??o de Software Engenharia de Software) · processo de revisão da engenharia de software. 29 ... ser humano no processo de engenharia reversa. n conforme o nível de abstração](https://reader031.vdocuments.site/reader031/viewer/2022021721/5bf069a709d3f22e178b75ad/html5/thumbnails/25.jpg)
25
Medidas Quantitativas de Medidas Quantitativas de
ManutenibilidadeManutenibilidade n Difícil de quantificar
n Pode-se determinar a manutenibilidade indiretamente considerando-se atributos das atividades de manutenção que podem ser medidos
![Page 26: (Manuten??o de Software Engenharia de Software) · processo de revisão da engenharia de software. 29 ... ser humano no processo de engenharia reversa. n conforme o nível de abstração](https://reader031.vdocuments.site/reader031/viewer/2022021721/5bf069a709d3f22e178b75ad/html5/thumbnails/26.jpg)
26
Medidas Quantitativas de Medidas Quantitativas de
ManutenibilidadeManutenibilidade Métricas de Manutenibilidade (Gilb)
u tempo de reconhecimento do problema
u tempo de demora administrativa
u tempo de coleta de ferramentas de manutenção
u tempo de análise do problema
u tempo de especificação da alteração
u tempo de correção ou modificação
u tempo de teste local e global
u tempo de revisão da manutenção
![Page 27: (Manuten??o de Software Engenharia de Software) · processo de revisão da engenharia de software. 29 ... ser humano no processo de engenharia reversa. n conforme o nível de abstração](https://reader031.vdocuments.site/reader031/viewer/2022021721/5bf069a709d3f22e178b75ad/html5/thumbnails/27.jpg)
27
Medidas Quantitativas de Medidas Quantitativas de
ManutenibilidadeManutenibilidade n A manutenibilidade pode ser
medida indiretamente considerando
medidas da estrutura do projeto e
medidas da complexidade do
software
![Page 28: (Manuten??o de Software Engenharia de Software) · processo de revisão da engenharia de software. 29 ... ser humano no processo de engenharia reversa. n conforme o nível de abstração](https://reader031.vdocuments.site/reader031/viewer/2022021721/5bf069a709d3f22e178b75ad/html5/thumbnails/28.jpg)
28
Revisões de Revisões de
Manutenibilidade Manutenibilidade
n A manutenibilidade deve ser considerada em cada nível do
processo de revisão da engenharia de software.
![Page 29: (Manuten??o de Software Engenharia de Software) · processo de revisão da engenharia de software. 29 ... ser humano no processo de engenharia reversa. n conforme o nível de abstração](https://reader031.vdocuments.site/reader031/viewer/2022021721/5bf069a709d3f22e178b75ad/html5/thumbnails/29.jpg)
29
Revisões de Revisões de
Manutenibilidade Manutenibilidade
ETAPA DE REVISÃO DE REQUISITOSETAPA DE REVISÃO DE REQUISITOS
observar:
n áreas de melhoramentos futuros
n aspectos de portabilidade do software
n interfaces que poderiam impactar a manutenção
![Page 30: (Manuten??o de Software Engenharia de Software) · processo de revisão da engenharia de software. 29 ... ser humano no processo de engenharia reversa. n conforme o nível de abstração](https://reader031.vdocuments.site/reader031/viewer/2022021721/5bf069a709d3f22e178b75ad/html5/thumbnails/30.jpg)
30
Revisões de Revisões de
Manutenibilidade Manutenibilidade
ETAPA DE REVISÃO DE PROJETOETAPA DE REVISÃO DE PROJETO
avaliar:
u projeto arquitetural
u projeto procedimental
u projeto de interfaces e
u projeto de dados
quanto à facilidade de manutenção e à qualidade global.
![Page 31: (Manuten??o de Software Engenharia de Software) · processo de revisão da engenharia de software. 29 ... ser humano no processo de engenharia reversa. n conforme o nível de abstração](https://reader031.vdocuments.site/reader031/viewer/2022021721/5bf069a709d3f22e178b75ad/html5/thumbnails/31.jpg)
31
Revisões de Revisões de
Manutenibilidade Manutenibilidade
ETAPA DE REVISÃO DE CÓDIGOETAPA DE REVISÃO DE CÓDIGO
dar ênfase:
u ao estilo
u à documentação interna
![Page 32: (Manuten??o de Software Engenharia de Software) · processo de revisão da engenharia de software. 29 ... ser humano no processo de engenharia reversa. n conforme o nível de abstração](https://reader031.vdocuments.site/reader031/viewer/2022021721/5bf069a709d3f22e178b75ad/html5/thumbnails/32.jpg)
32
Revisões de Revisões de
Manutenibilidade Manutenibilidade
ETAPA DE REVISÃO DE TESTEETAPA DE REVISÃO DE TESTE
n Cada passo do teste pode fornecer indícios sobre partes do software que poderiam exigir manutenção preventiva
![Page 33: (Manuten??o de Software Engenharia de Software) · processo de revisão da engenharia de software. 29 ... ser humano no processo de engenharia reversa. n conforme o nível de abstração](https://reader031.vdocuments.site/reader031/viewer/2022021721/5bf069a709d3f22e178b75ad/html5/thumbnails/33.jpg)
33
Fatores de Qualidade de Fatores de Qualidade de Software Software
(Norma ISO 9126)
n Os fatores de qualidade de software focalizam três aspectos importantes do software produto
![Page 34: (Manuten??o de Software Engenharia de Software) · processo de revisão da engenharia de software. 29 ... ser humano no processo de engenharia reversa. n conforme o nível de abstração](https://reader031.vdocuments.site/reader031/viewer/2022021721/5bf069a709d3f22e178b75ad/html5/thumbnails/34.jpg)
34
Tarefas de ManutençãoTarefas de Manutenção
1) Estabelecer uma organização para a
manutenção (“de fato" ou formal)
![Page 35: (Manuten??o de Software Engenharia de Software) · processo de revisão da engenharia de software. 29 ... ser humano no processo de engenharia reversa. n conforme o nível de abstração](https://reader031.vdocuments.site/reader031/viewer/2022021721/5bf069a709d3f22e178b75ad/html5/thumbnails/35.jpg)
35
Tarefas de ManutençãoTarefas de Manutenção
2) Descrever procedimentos de avaliação e de comunicação
3) Definir seqüências padronizadas de eventos (para os pedidos de manutenção)
![Page 36: (Manuten??o de Software Engenharia de Software) · processo de revisão da engenharia de software. 29 ... ser humano no processo de engenharia reversa. n conforme o nível de abstração](https://reader031.vdocuments.site/reader031/viewer/2022021721/5bf069a709d3f22e178b75ad/html5/thumbnails/36.jpg)
36
Seqüência de Eventos
![Page 37: (Manuten??o de Software Engenharia de Software) · processo de revisão da engenharia de software. 29 ... ser humano no processo de engenharia reversa. n conforme o nível de abstração](https://reader031.vdocuments.site/reader031/viewer/2022021721/5bf069a709d3f22e178b75ad/html5/thumbnails/37.jpg)
37
Tarefas de ManutençãoTarefas de Manutenção
4) Estabelecer procedimentos para registrar a história das atividades de manutenção
![Page 38: (Manuten??o de Software Engenharia de Software) · processo de revisão da engenharia de software. 29 ... ser humano no processo de engenharia reversa. n conforme o nível de abstração](https://reader031.vdocuments.site/reader031/viewer/2022021721/5bf069a709d3f22e178b75ad/html5/thumbnails/38.jpg)
38
Exemplo de Dados que podem ser Exemplo de Dados que podem ser
ArmazenadosArmazenados (Swanson) (Swanson)
• identificação do programa• número de comandos fonte• linguagem de programação usada • data da instalação do programa• número de execuções do programa desde a instalação• número de falhas de processamento associadas ao item
anterior• nível e identificação da alteração no programa• número de comandos fonte adicionados por alteração no
programa• número de pessoas-horas despendidos na manutenção• identificação do pedido de manutenção• tipo de manutenção• datas de início e fim da manutenção
![Page 39: (Manuten??o de Software Engenharia de Software) · processo de revisão da engenharia de software. 29 ... ser humano no processo de engenharia reversa. n conforme o nível de abstração](https://reader031.vdocuments.site/reader031/viewer/2022021721/5bf069a709d3f22e178b75ad/html5/thumbnails/39.jpg)
39
Tarefas de ManutençãoTarefas de Manutenção
5) Definir critérios de revisão e avaliação
![Page 40: (Manuten??o de Software Engenharia de Software) · processo de revisão da engenharia de software. 29 ... ser humano no processo de engenharia reversa. n conforme o nível de abstração](https://reader031.vdocuments.site/reader031/viewer/2022021721/5bf069a709d3f22e178b75ad/html5/thumbnails/40.jpg)
40
MEDIDAS de DESEMPENHO e MANUTENÇÃOMEDIDAS de DESEMPENHO e MANUTENÇÃO (Swanson)
n número médio de falhas de processamento por execução do programa
n pessoas-horas despendido em cada categoria de manutenção
n número médio de pessoas-horas despendido por comando fonte adicionado ou retirado devido a manutenção
n tempo médio de processamento para um pedido de manutenção
n porcentagem de pedidos de manutenção por tipo
![Page 41: (Manuten??o de Software Engenharia de Software) · processo de revisão da engenharia de software. 29 ... ser humano no processo de engenharia reversa. n conforme o nível de abstração](https://reader031.vdocuments.site/reader031/viewer/2022021721/5bf069a709d3f22e178b75ad/html5/thumbnails/41.jpg)
41
Tarefas de ManutençãoTarefas de Manutenção
5) Definir critérios de revisão e avaliação
Arcabouço Quantitativo
Técnicas de Desenvolvimento,
Linguagens,
Esforço de Manutenção,
Alocação de Recursos40
MEDIDAS de DESEMPENHO e MANUTENÇÃOMEDIDAS de DESEMPENHO e MANUTENÇÃO(Swanson)� número médio de falhas de processamento por
execução do programa�pessoas-horas despendido em cada categoriade manutenção�número médio de pessoas-horas despendidopor comando fonte adicionado ou deletado
devido a manutenção�tempo médio de processamento para umpedido de manutenção�porcentagem de pedidos de manutenção por
tipo
![Page 42: (Manuten??o de Software Engenharia de Software) · processo de revisão da engenharia de software. 29 ... ser humano no processo de engenharia reversa. n conforme o nível de abstração](https://reader031.vdocuments.site/reader031/viewer/2022021721/5bf069a709d3f22e178b75ad/html5/thumbnails/42.jpg)
42
Manutenção de Código Manutenção de Código AlienígenaAlienígena
n Os programas “alienígenas” são assim chamados porque:
u Programas com fluxo de controle equivalente a uma tigela de espaguete
u Módulos muito grandes
u Poucos linhas de comentários significativos
![Page 43: (Manuten??o de Software Engenharia de Software) · processo de revisão da engenharia de software. 29 ... ser humano no processo de engenharia reversa. n conforme o nível de abstração](https://reader031.vdocuments.site/reader031/viewer/2022021721/5bf069a709d3f22e178b75ad/html5/thumbnails/43.jpg)
43
Manutenção de Código Manutenção de Código AlienígenaAlienígena
n Os programas “alienígenas” são assim chamados porque: (cont.)
u Não existe nenhum outro elemento da configuração de software, além do código
u Nenhum membro do pessoal atual de manutenção trabalhou no desenvolvimento do programa
![Page 44: (Manuten??o de Software Engenharia de Software) · processo de revisão da engenharia de software. 29 ... ser humano no processo de engenharia reversa. n conforme o nível de abstração](https://reader031.vdocuments.site/reader031/viewer/2022021721/5bf069a709d3f22e178b75ad/html5/thumbnails/44.jpg)
44
Manutenção de Código Manutenção de Código AlienígenaAlienígena
n Os programas “alienígenas” são assim chamados porque: (cont.)
u Nenhuma metodologia de desenvolvimento foi aplicada:F Projeto de dados e projeto arquitetural
ruinsF Documentação e registro histórico das
alterações incompletos
![Page 45: (Manuten??o de Software Engenharia de Software) · processo de revisão da engenharia de software. 29 ... ser humano no processo de engenharia reversa. n conforme o nível de abstração](https://reader031.vdocuments.site/reader031/viewer/2022021721/5bf069a709d3f22e178b75ad/html5/thumbnails/45.jpg)
45
Manutenção de Código Manutenção de Código AlienígenaAlienígena
O QUE PODE SER FEITO COM CÓDIGO O QUE PODE SER FEITO COM CÓDIGO
"ALIENÍGENA" ?"ALIENÍGENA" ?
Engenharia Reversa e Engenharia Reversa e
ReengenhariaReengenharia
![Page 46: (Manuten??o de Software Engenharia de Software) · processo de revisão da engenharia de software. 29 ... ser humano no processo de engenharia reversa. n conforme o nível de abstração](https://reader031.vdocuments.site/reader031/viewer/2022021721/5bf069a709d3f22e178b75ad/html5/thumbnails/46.jpg)
46
Engenharia ReversaEngenharia Reversa
ENGENHARIA REVERSAENGENHARIA REVERSA
n processo de análise de um software, partindo-se inicialmente da implementação para um nível mais alto de abstração
![Page 47: (Manuten??o de Software Engenharia de Software) · processo de revisão da engenharia de software. 29 ... ser humano no processo de engenharia reversa. n conforme o nível de abstração](https://reader031.vdocuments.site/reader031/viewer/2022021721/5bf069a709d3f22e178b75ad/html5/thumbnails/47.jpg)
47
ReengenhariaReengenharia
REENGENHARIA REENGENHARIA
n implica no exame e na alteração do software para reconstruí-lo em uma nova forma.
![Page 48: (Manuten??o de Software Engenharia de Software) · processo de revisão da engenharia de software. 29 ... ser humano no processo de engenharia reversa. n conforme o nível de abstração](https://reader031.vdocuments.site/reader031/viewer/2022021721/5bf069a709d3f22e178b75ad/html5/thumbnails/48.jpg)
48
Engenharia Reversa e Engenharia Reversa e ReengenhariaReengenharia
![Page 49: (Manuten??o de Software Engenharia de Software) · processo de revisão da engenharia de software. 29 ... ser humano no processo de engenharia reversa. n conforme o nível de abstração](https://reader031.vdocuments.site/reader031/viewer/2022021721/5bf069a709d3f22e178b75ad/html5/thumbnails/49.jpg)
49
Elementos da Engenharia Elementos da Engenharia ReversaReversa
1) NÍVEL DE ABSTRAÇÃO1) NÍVEL DE ABSTRAÇÃOn conforme o nível de abstração
aumenta, mais compreensíveis se tornam as informações.
![Page 50: (Manuten??o de Software Engenharia de Software) · processo de revisão da engenharia de software. 29 ... ser humano no processo de engenharia reversa. n conforme o nível de abstração](https://reader031.vdocuments.site/reader031/viewer/2022021721/5bf069a709d3f22e178b75ad/html5/thumbnails/50.jpg)
50
Elementos da Engenharia Elementos da Engenharia ReversaReversa
2) COMPLETITUDE DO PROCESSO2) COMPLETITUDE DO PROCESSO
n refere-se ao nível de detalhes que é fornecido em cada nível de abstração.
![Page 51: (Manuten??o de Software Engenharia de Software) · processo de revisão da engenharia de software. 29 ... ser humano no processo de engenharia reversa. n conforme o nível de abstração](https://reader031.vdocuments.site/reader031/viewer/2022021721/5bf069a709d3f22e178b75ad/html5/thumbnails/51.jpg)
51
Elementos da Engenharia Elementos da Engenharia ReversaReversa
3) INTERATIVIDADE3) INTERATIVIDADEn refere-se ao grau de participação do
ser humano no processo de engenharia reversa.
n conforme o nível de abstração aumenta, a interatividade deve aumentar ou a completitude será prejudicada
![Page 52: (Manuten??o de Software Engenharia de Software) · processo de revisão da engenharia de software. 29 ... ser humano no processo de engenharia reversa. n conforme o nível de abstração](https://reader031.vdocuments.site/reader031/viewer/2022021721/5bf069a709d3f22e178b75ad/html5/thumbnails/52.jpg)
52
Elementos da Engenharia Elementos da Engenharia ReversaReversa
3) DIRECIONALIDADE3) DIRECIONALIDADEn se a direcionalidade tem sentido único,
toda informação extraída a partir do código fonte é usada durante as atividades de manutenção
n se a direcionalidade tem sentido duplo, a informação é usada para "alimentar" uma ferramenta de reengenharia.