Prévia do material em texto
Manutenção de software Lista de Perguntas de Multipla Escolha sobre Manutencao de Software Qual e o principal objetivo da manutencao de software? a) Criar novos recursos no software b) Corrigir defeitos e melhorar a performance do software c) Reduzir o custo de desenvolvimento d) Remover funcionalidades antigas do software Resposta correta: b) Corrigir defeitos e melhorar a performance do software Explicacao: A manutencao de software envolve corrigir erros, melhorar funcionalidades existentes e adaptar o software para mudancas de ambiente ou requisitos, sempre visando o seu melhor desempenho. Qual e a diferenca entre manutencao corretiva e manutencao evolutiva? a) A manutencao corretiva adiciona novas funcionalidades, enquanto a manutencao evolutiva corrige erros b) A manutencao corretiva resolve falhas, enquanto a manutencao evolutiva visa adicionar novos recursos e melhorar o sistema c) A manutencao corretiva e realizada somente apos a entrega do software, enquanto a evolutiva ocorre durante o desenvolvimento d) Nao ha diferenca entre manutencao corretiva e evolutiva Resposta correta: b) A manutencao corretiva resolve falhas, enquanto a manutencao evolutiva visa adicionar novos recursos e melhorar o sistema Explicacao: A manutencao corretiva e focada em corrigir erros ou falhas que surgem no sistema, enquanto a manutencao evolutiva busca melhorar o software com novos recursos ou adaptacoes conforme as mudancas nas necessidades do usuario. O que caracteriza a manutencao adaptativa? a) A adicao de novos recursos ao software b) A correcao de falhas no sistema c) A adaptacao do software a novos ambientes ou mudancas externas, como atualizacoes de sistema operacional d) A eliminacao de codigo desnecessario no sistema Resposta correta: c) A adaptacao do software a novos ambientes ou mudancas externas, como atualizacoes de sistema operacional Explicacao: A manutencao adaptativa visa modificar o software para que ele continue funcionando corretamente quando ocorrem mudancas externas, como atualizacoes de sistemas operacionais, alteracoes em banco de dados ou novos requisitos de hardware. O que e a manutencao preventiva no contexto de software? a) Corrigir falhas ou erros detectados no sistema b) Atualizar o software para manter sua compatibilidade com novas tecnologias c) Realizar modificacoes para evitar que problemas futuros ocorram d) Adicionar novas funcionalidades conforme as necessidades dos usuarios Resposta correta: c) Realizar modificacoes para evitar que problemas futuros ocorram Explicacao: A manutencao preventiva visa identificar possiveis problemas antes que eles ocorram e implementar mudancas no codigo para garantir que o software continue funcionando bem ao longo do tempo, evitando falhas. Quando e mais adequado realizar a manutencao de software de forma reativa? a) Quando a atualizacao de funcionalidades e necessaria b) Quando um erro no software e identificado apos a entrega e uso continuo c) Durante a fase de testes do software d) Quando o sistema precisa ser integrado com outras plataformas Resposta correta: b) Quando um erro no software e identificado apos a entrega e uso continuo Explicacao: A manutencao reativa ocorre quando problemas, falhas ou defeitos sao detectados no sistema apos sua implementacao e uso, exigindo intervencao para corrigir o problema identificado. Qual e a principal vantagem de um codigo bem documentado durante a manutencao de software? a) Tornar o codigo mais rapido b) Facilitar o entendimento e a modificacao do codigo por diferentes desenvolvedores c) Reduzir a necessidade de testes d) Garantir que o software funcione sem erros Resposta correta: b) Facilitar o entendimento e a modificacao do codigo por diferentes desenvolvedores Explicacao: A documentacao adequada ajuda os desenvolvedores a entender rapidamente o funcionamento do codigo, o que facilita a manutencao, correcao de bugs e a implementacao de melhorias no futuro. O que e a refatoracao de codigo? a) A remocao de codigo antigo que nao e mais utilizado b) A alteracao do codigo para melhorar sua estrutura sem mudar seu comportamento externo c) A implementacao de novos recursos no sistema d) A correcao de falhas criticas identificadas durante os testes Resposta correta: b) A alteracao do codigo para melhorar sua estrutura sem mudar seu comportamento externo Explicacao: Refatorar o codigo significa reorganizar e melhorar a estrutura do codigo sem alterar seu comportamento. Isso pode ajudar a tornar o codigo mais legivel, eficiente e facil de manter no futuro. Qual e o impacto da manutencao de software no ciclo de vida de um sistema? a) A manutencao prolonga a vida util do software, mantendo-o funcional a longo prazo b) A manutencao apenas corrige erros, mas nao tem impacto no desempenho do software c) A manutencao reduz a necessidade de testes d) A manutencao acelera o ciclo de desenvolvimento inicial do software Resposta correta: a) A manutencao prolonga a vida util do software, mantendo-o funcional a longo prazo Explicacao: A manutencao e fundamental para prolongar a vida util do software, garantindo que ele continue funcionando corretamente conforme as mudancas de ambiente, necessidades dos usuarios e novas tecnologias. Qual e o principal desafio na manutencao de software legado? a) A dificuldade de entender o codigo devido a falta de documentacao ou a obsolescencia das tecnologias usadas b) A facilidade de fazer alteracoes rapidas no sistema c) A implementacao de novos recursos sem precisar testar o sistema d) A alta performance do codigo legado Resposta correta: a) A dificuldade de entender o codigo devido a falta de documentacao ou a obsolescencia das tecnologias usadas Explicacao: Software legado pode ser dificil de manter devido a falta de documentacao adequada, a obsolescencia de tecnologias ou a complexidade do codigo, o que torna dificil para os desenvolvedores realizar alteracoes de forma eficiente. Como a manutencao de software pode impactar o custo de desenvolvimento? a) A manutencao pode aumentar significativamente o custo, especialmente se o codigo nao for bem estruturado b) A manutencao sempre reduz o custo, pois corrige problemas sem necessidade de novos desenvolvimentos c) A manutencao nao tem impacto no custo de desenvolvimento d) A manutencao apenas aumenta o custo de infraestrutura, nao o custo do software Resposta correta: a) A manutencao pode aumentar significativamente o custo, especialmente se o codigo nao for bem estruturado Explicacao: Manter um software mal estruturado pode resultar em custos elevados, pois as correcoes de problemas e a implementacao de melhorias tornam-se mais dificeis e demoradas. O que e o conceito de "obsolescencia" no contexto de manutencao de software? a) A substituicao de tecnologias antigas por tecnologias mais novas para melhorar a funcionalidade do software b) A falha do software em atender as necessidades dos usuarios finais c) O processo de eliminar funcionalidades desnecessarias do sistema d) A dificuldade de realizar a manutencao de software devido a falta de compatibilidade com novos sistemas Resposta correta: a) A substituicao de tecnologias antigas por tecnologias mais novas para melhorar a funcionalidade do software Explicacao: A obsolescencia ocorre quando uma tecnologia ou funcionalidade do sistema se torna ultrapassada, tornando o software dificil de manter ou de integrar com novas tecnologias. A manutencao envolve atualizacoes para contornar essa obsolescencia. O que e um "bug fix" em manutencao de software? a) A adicao de novos recursos ao software b) A correcao de um defeito identificado no software apos a sua entrega c) A alteracao do codigo para melhorar o desempenho do sistema d) A modificacao no design da interface do usuario Resposta correta: b) A correcao de um defeito identificado no software apos a sua entrega Explicacao: Bug fix e o termo utilizado para a correcao de falhas ou erros (bugs) no software,que sao detectados apos o lancamento e precisam ser resolvidos para que o sistema funcione corretamente. Qual e a funcao da gestao de configuracao na manutencao de software? a) Organizar a documentacao tecnica do software b) Controlar as versoes e garantir que as alteracoes sejam feitas de maneira controlada e rastreavel c) Automatizar o processo de testes d) Gerenciar a interacao entre diferentes equipes de desenvolvimento Resposta correta: b) Controlar as versoes e garantir que as alteracoes sejam feitas de maneira controlada e rastreavel Explicacao: A gestao de configuracao tem como objetivo controlar as diferentes versoes do software e garantir que todas as alteracoes feitas no codigo sejam registradas e possam ser rastreadas, evitando problemas no processo de manutencao. O que significa o termo "tecnica de rollback" na manutencao de software? a) Adicionar novas funcionalidades ao sistema b) Reverter uma atualizacao ou modificacao que causou problemas no sistema c) Refatorar o codigo para melhorar sua estrutura d) Realizar a manutencao preventiva para evitar futuros problemas Resposta correta: b) Reverter uma atualizacao ou modificacao que causou problemas no sistema Explicacao: O rollback e o processo de desfazer alteracoes no software, revertendo-o a um estado anterior, geralmente usado quando uma atualizacao ou modificacao resulta