Text Material Preview
Desenvolvimento de software O que e um ciclo de vida de desenvolvimento de software? a) Uma sequencia de etapas que determina como o software sera atualizado apos ser lancado. b) Uma sequencia de etapas que o desenvolvedor segue para criar e manter o software, desde a concepcao ate a descontinuacao. c) Um processo continuo de testes apos o lancamento do software. d) Um cronograma fixo que define quando o software precisa ser lancado. Resposta explicativa: A resposta correta e a letra b. O ciclo de vida do desenvolvimento de software e o processo completo que abrange desde a concepcao, desenvolvimento, testes, implantacao ate a manutencao e descontinuacao do software. Qual e o principal objetivo do modelo Agil de desenvolvimento de software? a) Maximizar a documentacao do projeto. b) Reduzir o tempo de desenvolvimento sem priorizar qualidade. c) Adaptar-se rapidamente a mudancas e entregar funcionalidades de forma iterativa. d) Focar exclusivamente em testes apos o desenvolvimento. Resposta explicativa: A resposta correta e a letra c. O modelo Agil e focado na entrega incremental e iterativa de software, permitindo ajustes rapidos conforme o projeto avanca e as necessidades do cliente mudam. Qual e a principal caracteristica do modelo em Cascata no desenvolvimento de software? a) As etapas do desenvolvimento ocorrem simultaneamente. b) O processo e linear, onde cada fase depende da conclusao da anterior. c) A entrega do software e realizada em pequenas partes. d) O desenvolvimento e baseado em prototipos. Resposta explicativa: A resposta correta e a letra b. No modelo em Cascata, o desenvolvimento segue uma sequencia linear, onde uma fase deve ser completamente finalizada antes da proxima comecar. O que e um framework no desenvolvimento de software? a) Um conjunto de regras fixas para o codigo. b) Um ambiente de desenvolvimento onde o codigo pode ser executado. c) Uma estrutura reutilizavel de componentes de software para ajudar a desenvolver aplicativos. d) Um tipo de banco de dados para armazenar dados de software. Resposta explicativa: A resposta correta e a letra c. Frameworks sao estruturas que fornecem funcionalidades e ferramentas reutilizaveis, facilitando e agilizando o desenvolvimento de software. O que significa refatoracao de codigo? a) Escrever codigo completamente novo para substituir o antigo. b) Melhorar o codigo sem alterar seu comportamento, com o objetivo de torna-lo mais eficiente e legivel. c) Criar novos testes para o codigo existente. d) Adicionar funcionalidades extras ao codigo para melhorar sua performance. Resposta explicativa: A resposta correta e a letra b. Refatoracao consiste em melhorar o codigo sem mudar sua funcionalidade, visando otimizar sua estrutura, legibilidade e manutencao. Qual e o principal objetivo dos testes unitarios? a) Validar a integracao entre diferentes sistemas. b) Testar o comportamento do software em diferentes condicoes de uso. c) Verificar se unidades individuais de codigo (como funcoes ou metodos) estao funcionando corretamente. d) Garantir que o sistema como um todo funcione conforme o esperado. Resposta explicativa: A resposta correta e a letra c. Os testes unitarios tem como foco a verificacao de unidades pequenas e isoladas de codigo, como funcoes ou metodos, garantindo que cada parte do sistema se comporte como esperado. O que significa a sigla TDD no contexto de desenvolvimento de software? a) Test-Driven Development (Desenvolvimento Orientado a Testes). b) Time-Driven Development (Desenvolvimento Orientado ao Tempo). c) Task-Driven Development (Desenvolvimento Orientado a Tarefas). d) Template-Driven Development (Desenvolvimento Orientado a Templates). Resposta explicativa: A resposta correta e a letra a. TDD significa "Test-Driven Development", um processo onde os testes sao escritos antes do codigo, garantindo que o software seja desenvolvido com base nas necessidades de testes especificos. O que e um controle de versao em desenvolvimento de software? a) Um sistema que gerencia a quantidade de memoria que um programa usa. b) Um mecanismo para registrar, armazenar e controlar as mudancas no codigo-fonte ao longo do tempo. c) Uma tecnica de gerenciamento de tempo para cumprir prazos no desenvolvimento. d) Uma metodologia para desenvolver software em equipes grandes. Resposta explicativa: A resposta correta e a letra b. O controle de versao permite gerenciar diferentes versoes do codigo, facilitando a colaboracao entre desenvolvedores e a manutencao de historico de alteracoes. O que e a metodologia Scrum? a) Um modelo de desenvolvimento que foca na documentacao antes da codificacao. b) Uma abordagem Agil que organiza o trabalho em ciclos curtos e entregas incrementais. c) Uma tecnica de testes para validar a integridade do codigo. d) Um framework para gerenciar o tempo durante o desenvolvimento. Resposta explicativa: A resposta correta e a letra b. Scrum e uma metodologia Agil que divide o desenvolvimento em sprints (ciclos curtos), com entregas frequentes de funcionalidades e revisoes constantes com o cliente. O que significa o termo "deploy" no desenvolvimento de software? a) A criacao de um prototipo inicial do sistema. b) O processo de configurar o ambiente de desenvolvimento. c) O processo de disponibilizar o software para o usuario final. d) A escrita de documentacao tecnica sobre o sistema. Resposta explicativa: A resposta correta e a letra c. "Deploy" se refere a etapa de colocar o software em producao, tornando-o acessivel aos usuarios finais. O que e a tecnica de programacao chamada "pair programming"? a) Programacao de duas equipes separadas trabalhando no mesmo projeto. b) Programacao onde dois desenvolvedores trabalham juntos em um unico computador, um escrevendo o codigo e o outro revisando. c) Programacao realizada apenas por desenvolvedores seniores. d) Programacao onde os desenvolvedores trabalham de forma independente. Resposta explicativa: A resposta correta e a letra b. O "pair programming" e uma pratica em que dois desenvolvedores colaboram no mesmo codigo, trocando papeis entre quem escreve o codigo e quem o revisa. O que e o conceito de "design pattern" no desenvolvimento de software? a) Uma linguagem de programacao utilizada para o desenvolvimento rapido de software. b) Uma solucao reutilizavel para problemas comuns de design de software. c) Um tipo de framework para facilitar a escrita de codigo. d) Uma tecnica para acelerar a execucao do codigo em producao. Resposta explicativa: A resposta correta e a letra b. Design patterns sao solucoes comprovadas e reutilizaveis para problemas recorrentes no design de software, como a criacao de objetos ou a comunicacao entre componentes. O que e a tecnica de "continuous integration" (CI)? a) A pratica de escrever o codigo sem testes, para acelerar o desenvolvimento. b) A pratica de integrar pequenas mudancas no codigo de forma frequente e automatizada, para evitar conflitos. c) A tecnica de realizar testes manuais durante o desenvolvimento. d) A pratica de realizar o deploy diretamente no ambiente de producao. Resposta explicativa: A resposta correta e a letra b. Continuous Integration (Integracao Continua) e a pratica de integrar pequenas mudancas de codigo frequentemente, garantindo que o software seja constantemente validado atraves de testes automatizados. O que e a tecnica de "continuous delivery" (CD)? a) A entrega de codigo diretamente ao cliente sem testes. b) A automacao do processo de entrega, garantindo que o software possa ser disponibilizado em producao a qualquer momento. c) A entrega manual do codigo ao cliente apos a validacao do software. d) O processo de versionamento do codigo fonte. Resposta explicativa: A resposta correta e a letra b. Continuous Delivery (Entrega Continua) e a pratica de manter o software em um estado onde ele pode ser liberado para producao a qualquer momento, com minimo esforco adicional. No contextode desenvolvimento de software, o que significa "backlog"? a) Uma lista de recursos necessarios para rodar o sistema. b) Uma lista priorizada de funcionalidades e tarefas que precisam ser desenvolvidas no projeto. c) Um banco de dados utilizado para armazenar dados temporarios. d) O conjunto de testes que precisam ser feitos em uma aplicacao. Resposta explicativa: A resposta correta e a letra b. O backlog e uma lista priorizada de funcionalidades, correcoes ou melhorias que precisam ser feitas no software, com base nas necessidades do cliente e no planejamento do time. O que e a tecnica de "mocking" em testes de software? a) A pratica de testar a velocidade do sistema. b) Criar versoes simuladas de componentes ou servicos para testar o comportamento de uma aplicacao de forma isolada. c) A pratica de testar o software em situacoes reais com usuarios finais. d) A tecnica de simular falhas para testar a resiliencia do sistema. Resposta explicativa: A resposta correta e a letra b. "Mocking" e uma tecnica usada em testes unitarios, onde se criam versoes falsas (mocks) de objetos ou servicos para testar o codigo sem depender de sistemas externos. **Qual e o objetivo do