PERGUNTA 1
Segundo Sommerville (2007), as atividades de verificação e de validação (V&V), ocorrem em cada estágio do processo de software, e que V&V começa com revisões de requisitos e continua ao longo das revisões de projeto e das inspeções de código até o teste do produto. Dentro desse contexto, leia as afirmativas abaixo:
I - O papel da verificação envolve averiguar se o software está de acordo com suas especificações, sendo necessário verificar se ele atende aos requisitos funcionais e não funcionais especificados.
II - A validação tem por finalidade assegurar que o sistema de software atenda às expectativas do cliente, ou seja, vai além de verificar se o sistema está de acordo com sua especificação para mostrar que o software realiza o que o cliente espera que ele faça.
III - Teste de software e Inspeções de software são abordagens independentes para a verificação e análise de sistemas dentro do processo de V&V.
IV - Inspeções de software e análises automatizadas são técnicas de V&V estáticas, quando não é necessário executar o software em um computador.
V - Os termos verificação e validação não são a mesma coisa, embora sejam frequentemente confundidos: Validação (Estamos construindo o produto corretamente?); Verificação (Estamos construindo o produto correto?).
Assinale a alternativa certa:
a. somente as alternativas III e V são corretas
b. somente a alternativa III é incorreta
c. as alternativas I, II, III e IV são corretas
d. as alternativas I, III e V não são corretas
e. somente as alternativas III e V são incorretas
PERGUNTA 2
Segundo Sommerville (2007), a reengenharia de software tem como objetivo reimplantar sistemas legados para que sua manutenção seja mais fácil e, segundo Pressman (2006), ela é uma atividade que absorve recursos de tecnologia da informação durante muitos anos. Por isso, toda a organização precisa de uma estratégia pragmática para a reengenharia de software.
Com base nas atividades do processo de reengenharia proposto por Sommerville (2007) estudadas na Unidade 4, relacione os elementos das duas colunas abaixo, onde a primeira apresenta as atividades do processo de reengenharia e a segunda suas funções.
A - Conversão do código-fonte
B - Engenharia reversa
C - Aprimoramento da estrutura do programa
D - Modularização de programa
E - Reengenharia de dados
( ) A estrutura de controle do programa é analisada e modificada, a fim de torná-la mais fácil de ser lida e compreendida.
( ) As partes relacionadas do programa são agrupadas e, quando for apropriado, as redundâncias são removidas. Em alguns casos, esse estágio pode envolver a transformação de arquitetura em que um sistema centralizado, planejado para um único computador, é modificado para operar em uma plataforma distribuída.
( ) O programa é convertido de uma linguagem de programação antiga para uma versão mais moderna, da mesma linguagem, ou para uma linguagem diferente.
( ) Os dados processados são alterados para refletir as mudanças do programa.
( ) O programa é analisado e as informações são extraídas dele, a fim de ajudar a documentar sua organização e funcionalidade.
A sequência correta é:
a. B, C, A, E, D
b. C, D, A, E, B
c. E, B, D, A, C
d. C, D, E, A, B
e. E, A, D, B, C
PERGUNTA 3
Conforme visto na unidade 4, o objetivo do teste de software é descobrir erros, e para alcançar esse objetivo uma série de passos de testes é planejada e executada. Segundo Pressman (2006), algumas estratégias de teste de software têm sido propostas na literatura, todas elas fornecem ao desenvolvedor de software um gabarito de teste. Com base em algumas características genéricas de teste de software descritas por este autor, assinale a alternativa errada.
a. O teste começa no nível de componente e prossegue em direção à integração de todo o sistema baseado em computador.
b. Para realizar teste efetivo, uma equipe de software deve conduzir revisões técnicas formais, eliminando muitos erros antes do inicio do teste.
c. Teste é conduzido pelo desenvolvedor do software e, para projetos grandes, é necessário um grupo de teste independente.
d. Testes de baixo nível não são necessários, pois avaliam somente o código fonte.
e. Diferentes técnicas de testes são adequadas em diferentes momentos
Soluções para a tarefa
Pergunta 1:
Somente as alternativas III e V são incorretas
Pergunta 2:
C, D, A, E, B
Pergunta 3:
Testes de baixo nível não são necessários, pois avaliam somente o código fonte.
1) As afirmativas I, II e IV são afirmativas corretas. Já as alternativas III e V não são verdadeiras. A alternativa correta é a e) Somente as alternativas III e V são incorretas.
2) Relacionando as atividades do processo de reengenharia com suas funções, tem-se, na ordem:
- Aprimoramento da estrutura do programa
- Modularização
- Conversão do código-fonte
- Reengenharia de dados
- Engenharia reversa
A alternativa correta é a b) C, D, A, E, B.
3) Testes de baixo nível são sim necessários no processo de teste de software. Eles são o primeiro nível de testes realizados. Logo, a alternativa incorreta é a d).
Os processos de Verificação e Validação (V&V) de software
Sobre as alternativas incorretas da primeira questão:
- III - Os processos de testes de software e inspeções de software são duas abordagens dentro do processo de V&V para realizar a análise e verificação;
- V - Os termos verificação e validação de fato não são o mesmo. Porém o processo de verificação faz a pergunta "estamos construindo o produto corretamente?" enquanto o processo de validação olha para a pergunta "estamos construindo o produto correto?"
Os processos de reengenharia de software
Unindo os processos de reengenharia de software com suas respectivas funções:
- Aprimoramento da estrutura do programa: A estrutura é analisada e modificada para ser mais fácil de ser lida e compreendida;
- Modularização: As partes são agrupadas e redundâncias são removidas;
- Conversão do código-fonte: Conversão do programa para uma linguagem de programação mais moderna;
- Reengenharia de dados: Os dados processados são alterados para refletir as mudanças;
- Engenharia reversa: Análise do programa para ajudar no processo de documentação.
Você pode aprender mais sobre testes de software aqui:
https://brainly.com.br/tarefa/47600411
#SPJ2