Buscar

Quiz engenharia reversa e reengenharia de de software-2015-11-10-05-16-09

Prévia do material em texto

Name Date
Copy #3 of Quiz engenharia reversa e
reengenharia de de software-2015-11-
10-05-16-09
1. A substituição de sistemas legados por sistemas mais atualizados muitas
vezes extrapola o escopo de utilização de técnicas de adaptação
convencionais, sendo necessária a utilização de técnicas de reengenharia que
abordem a reconcepção do sistema como um todo. Com referência às técnicas
de reengenharia, assinale a opção correta. points: 1
Técnicas de reestruturação de código-fonte podem ser aplicadas com o auxílio de
ferramentas especializadas, constituindo uma das principais formas de engenharia
reversa.
No ciclo de vida de um sistema, a reengenharia é um processo estritamente
relacionado às fases de análise e modelagem do sistema.
O processo de reengenharia de um software normalmente tem por objetivo obter
um novo software, com maior qualidade que o seu precedente.
A opção pela reengenharia de um software deve ser adotada somente quando os
custos desse processo forem menores que os custos de manutenção corretiva e
adaptativa do software.
A engenharia reversa consiste em extrair diferentes níveis de abstração a partir de
um código-fonte preexistente, com o objetivo de fundamentar novas
implementações mais eficientes para o mesmo código-fonte.
1
2. Existem várias maneiras de se depurar (debug) programas. Algumas delas
envolvem conhecimento, prática e bom senso do programador. Acerca de
pontos que são importantes para depurar programas, julgue os itens a seguir.
I É possível encontrar falhas nos programas por meio da reprodução do erro
em testes. II Quanto maior a entrada de dados nos testes, mais simples é
encontrar o problema e mais fácil é encontrar a solução da falha. III Em um
programa modular, o processo de encontrar falhas requer uma menor variação
de informações de entrada, de modo que o programador possa encontrar o
módulo com erros. IV A passagem de parâmetros para variáveis auxiliares
evita o uso de break points. V A análise estruturada é a melhor maneira de
encontrar erros em programação orientada a objetos. Estão certos apenas os
itens points: 1
I e II.
I e III.
II e V.
III e
IV.
IV e V.
3. A respeito de mudança de software, assinale a opção correta. points: 1
A manutenção de software é um processo geral de mudanças que ocorre antes ou
depois que um sistema é entregue.
A manutenção corretiva para reparar defeitos de software diz respeito à mudança
em um sistema para corrigir erros, que podem ser somente de codificação. Erros
de projeto e de lógica não estão incluídos nessa categoria.
A manutenção adaptativa para adaptar o software a mudanças ambientais se
refere a mudanças de diversos tipos, como uma nova plataforma de hardware.
Mudanças de sistemas operacionais ou software em geral não estão incluídas
nessa categoria.
A manutenção perfectiva tem como objetivo tornar o software perfeito, melhorar
seu desempenho e sua manutenibilidade ou adicionar-lhe funcionalidade para
satisfazer a novos requisitos.
A manutenção preventiva tem como objetivo detectar e corrigir falhas latentes no
produto antes que elas virem falhas efetivas.
2
4. Quanto à caracterização, a reengenharia de software é classificada como
manutenção points: 1
preventiva.
criptográfica.
de
melhoria.
adaptativa.
corretiva.
5. São estratégias possíveis de serem adotadas por uma organização para
evolução de seus sistemas legados as apresentadas a seguir, EXCETO: points:
1
descartar o sistema completamente.
substituir todo ou parte do sistema por um novo
sistema.
deixar o sistema sem alterações e continuar com a manutenção regular.
fazer reengenharia do sistema para aprimorar sua facilidade de
manutenção.
realizar engenharia reversa do código do sistema com o objetivo de aumentar sua
complexidade cíclica e torná-lo crítico à empresa.
3
6. É recomendado que um projeto possua um mecanismo formal e
documentado de controle de mudanças. Sobre este mecanismo, são feitas as
afirmativas a seguir. I - O mecanismo deve rastrear e tratar mudanças em
quaisquer fatores críticos de sucesso do projeto, incluindo escopo, prazos e
custos. II - Para tornar o processo gerenciável, é recomendado que sejam
rastreadas apenas mudanças que possuam impacto significativo no custo ou
nos prazos do projeto e que não sejam rejeitadas em primeira análise. III - A
avaliação e a aprovação de quaisquer solicitações de mudanças são
atribuições exclusivas do gerente de projeto, pois o mesmo detém a
autoridade e a responsabilidade sobre os resultados finais do projeto perante
os stakeholders. IV - Tipicamente, o mecanismo de controle de mudanças
prevê algumas categorias de mudanças que são automaticamente aprovadas -
tais como as resultantes de emergências - as quais devem ser registradas e
rastreadas, da mesma forma que as demais. Estão corretas APENAS as
afirmativas: points: 1
I e
II
I e
III
I e IV
II e
III
III e IV
7. Uma atividade ligada às manutenções corretiva e evolutiva de software
envolve ter uma boa e adequada compreensão do sistema a sofrer o processo
de evolução, incluindo, por exemplo, uma reimplementação de sistemas
legados, de forma a tornar mais simples sua manutenção. Essa atividade
recebe a denominação de points: 1
cronogramação.
distribuição.
hierarquização.
reengenharia.
volatilização.
4
8. O conjunto de alterações executadas num software, a fim de melhorar ou
modificar a estrutura interna, mas sem provocar alterações em seu
comportamento, é denominado: points: 1
remake
validação
refactoring
engenharia reversa
reengenharia
9. Quais são as principais etapas de um procedimento de engenharia reversa?
points: 1
Reestruturação do código, extração de abstração, refinamento e
simplificação.
Reengenharia de dados, de procedimentos e de
interfaces.
Descompilação, desmontagem, interpretação do
código.
Descompilação, edição em memória,
interpretação.
Conversão de código objeto, tradução de executável, geração de
fonte.
10. Com relação à engenharia reversa, afirma-se que: points: 1
consiste em projetar o canal de retorno do produto ao seu ponto de
fabricação.
consiste em recolher o produto para corrigir eventuais falhas de
fabricação.
é baseada no retorno do produto para
reciclagem.
busca analisar, cuidadosamente, um produto, se necessário desmontando-o, para
entender como foi produzido.
estuda formas de operar um produto em sentido contrário ao projetado
inicialmente.
5
11. Analise as afirmativas a seguir, relativas à reengenharia de sistemas. 1.A
Engenharia Reversa pode ser utilizada para construir a modelagem de
programas a partir do seu código-fonte. 2.Os pacotes de dados capturados nas
redes de computadores através do uso de sniffers podem ser utilizados para
realizar a engenharia reversa do protocolo empregado na troca das
mensagens. 3.A Engenharia Reversa pode ser utilizada por crackers no
desenvolvimento de malwares, por isso não pode ser utilizada no
desenvolvimento dos antídotos destes malwares, dificultando a detecção de
vestígios que permitam identificar o seu criador. Está(ão ) correta(s ): points: 1
as afirmativas 1 e 2,
apenas.
a afirmativa 1,
apenas.
as afirmativas 2 e 3,
apenas.
as afirmativas 1 e 3,
apenas.
as afirmativas 1, 2,
3.
6
12. Quanto à manutenção de sistemas de informática, julgue os itens abaixo. I
- Normalmente, é necessário um tempo substancial para se entender
suficientemente um sistema antes de se poder modificá-lo. Geralmente, uma
alta rotatividade dos membros de uma equipe de manutenção ou uma grande
quantidade de sistemas a manter prejudica o desempenho dessa equipe. II -
Sistemas em tempo real e altamente sincronizados são mais fáceis de serem
modificados em um processo de manutenção, pois o sincronismo pode ser
utilizado para assegurar a consistência do software. III - Sistemas de grande
porte desenvolvidos a partir da concepção orientada a objetos, geralmente,
apresentam uma maior quantidade de linhas programadas e maior uso de
memória, apresentando uma maior dificuldade de manutenção que sistemas
desenvolvidos a partir de uma concepção funcional. IV - A documentação de
um sistema,apesar de auxiliar na determinação de problemas, não é um fator
importante na definição dos custos de manutenção, pois as equipes de
manutenção dispõem, atualmente, de ferramentas de engenharia reversa
capazes de determinar completamente as fases de desenvolvimento do
sistema. V - Se testes são efetuados com dados incompletos ou se eles não
anteciparem as repercussões de uma modificação no sistema, modificações e
evoluções podem gerar problemas colaterais no sistema. Estão certos apenas
os itens : points: 1
I e II.
I e V.
II e III.
III e
IV.
IV e V.
13. A engenharia reversa se propõe a gerar uma nova especificação ou um
novo projeto de um sistema existente, aplicando-se os conceitos de
reengenharia, para, depois, se aplicar a engenharia direta e gerar um novo
sistema. points: 1
True False
14. No processo de engenharia reversa de arquivos, a normalização tem por
função reagrupar informações de forma a eliminar redundâncias de dados e
permitir a obtenção de um modelo ER. points: 1
True False
7
15. Entre os problemas comuns na fase de manutenção, podem-se citar a
baixa produtividade e o alto custo, além de problemas técnicos, como
documentação desatualizada e dificuldade de se alterarem sistemas que
foram projetados sem a preocupação com a sua manutenibilidade. points: 1
True False
16. Um sistema pode sofrer quatro tipos de manutenção: corretiva, adaptativa
ou evolutiva, perfectiva e preventiva. Entre esses tipos, apenas a manutenção
corretiva está associada a um defeito do sistema. points: 1
True False
17. Os sistemas de software estão sujeitos a manutenção, pois, dificilmente,
as características que o definem não sofrem modificações durante a sua vida
útil. Quanto mais dependentes do mundo real forem os requisitos de um
sistema, maior será a probabilidade de esse sistema vir a ser modificado.
points: 1
True False
18. Entre outras medidas de segurança a engenharia reversa é utilizada
contra ataques de softwares maliciosos que, por sua natureza, são difíceis de
serem detectadas e controladas via sistema operacional . points: 1
True False
19. A engenharia reversa consiste no processo de levantamento de requisitos
de um sistema sem documentação. Na engenharia reversa, a técnica caixa
branca é empregada para observar os inputs e outputs do sistema. points: 1
True False
20. Acerca dos conceitos da engenharia reversa, a depuração de programas
utiliza métodos de teste e análise para tentar entender o software. Esses
métodos são classificados como caixa-branca (white box) e caixa-preta (black
box). Para se conhecer o código e seu comportamento, o teste caixa-branca é
menos eficiente que o teste caixa-preta, embora seja mais fácil de ser
implementado. points: 1
True False
8

Continue navegando