Leia o excerto a seguir. “Computação em nuvem refere-se a um ambiente de computação no qual software e armazenamento são fornecidos como um serviço de internet e acessados pelos usuários com um navegador da web . Muitas organizações estão voltando-se para a computação em nuvem como uma abordagem para terceirizar algumas ou todas as suas operações de TI. Essa seção define a computação em nuvem e suas variações e aponta algumas de suas vantagens, bem como alguns problemas potenciais, incluindo problemas associados a custo, escalabilidade, segurança e conformidade regulatória”. STAIR, R. M. et al . Princípios de Sistemas de Informação . São Paulo: Cengage Learning, 2021. p. 293. Analise as afirmações a seguir sobre a computação em nuvem. I- A computação em nuvem consiste na utilização de armazenamento compartilhado por meio de servidores situados em grandes data centers , interligados pela internet. II- O armazenamento de dados na computação em nuvem pode ocorrer em qualquer lugar do mundo e a qualquer hora, sem que haja acesso à internet ou a demais redes. III- O acesso às ferramentas tecnológicas na computação em nuvem é remoto, por meio da internet, tendo viabilidade questionável e, às vezes, mais cara que as soluções locais. É correto o que se afirma em:
Para o trabalho com a gestão da informação, principalmente no ambiente tecnológico, é fundamental o comportamento ético. Nesse sentido, configura-se de grande importância o estabelecimento, de forma transparente e clara, de ________ sobre a postura ética esperada. Desse modo, o profissional de TI não pode alegar a falta de __________ sobre o assunto, sob pena de não mais ser permitido o exercício da __________. Preencha as lacunas escolhendo, a seguir, a alternativa CORRETA.
Governar a TI não é o mesmo que fazer a gestão da TI. Enquanto a governança de TI direciona os processos de TI e monitora os cumprimentos das regras estabelecidas, a gestão de TI é responsável por manter o desempenho de serviços, promover a transformação digital na empresa, manter a satisfação dos usuários e clientes dos serviços, gestão dos ativos digitais da organização e planejamento de inovação da infraestrutura de tecnologia, portanto vai além de fazer apenas a gestão da equipe de TI. Considerando o enunciado e os conceitos de governança de TI, assinale, a seguir, a alternativa CORRETA.
Considere que uma grande empresa do ramo da construção civil tem o capital aberto na bolsa. Nessa organização, começamos a verificar uma forma diferenciada para tratar com acionistas minoritários, configurando-se em um desrespeito com eles. Com relação aos princípios fundamentais da governança corporativa, sobre o que apresenta o princípio da governança que foi desconsiderado, assinale, a seguir, a alternativa CORRETA.
A governança corporativa pode ser considerada um _________ que dirige e monitora uma empresa. Ela também pode ser considerada uma estrutura de ________, trazendo personagens importantes, tais como o conselho de administração, o conselho fiscal e a alta direção, em vista de aumentar _______________. Preencha as lacunas escolhendo, a seguir, a alternativa CORRETA.
O ciclo da governança de TI apresenta-se como um conjunto de quatro etapas que traz a ideia do governo do ambiente tecnológico da informação. Essa maneira de perceber modelos, metodologias e frameworks por meio de ciclos é antiga e presente em quase todos os modelos recentes de TI. Considerando o ciclo de vida da governança de TI, avalie as afirmações a seguir, em relação às características, e correlacione-as adequadamente às etapas às quais se referem. 1. Alinhamento estratégico e compliance . 2. Decisão, compromisso, priorização e alocação de recursos. 3. Estrutura, processos, operação e gestão. I- Essa etapa do ciclo da governança de TI está fortemente relacionada a aspectos que envolvem as estruturas organizacionais e funcionais da área de TI. II- Essa etapa do ciclo da governança de TI refere-se ao processo de planejamento estratégico da TI, como desdobramento do planejamento estratégico do negócio. III- Essa etapa do ciclo da governança de TI refere-se ao estabelecimento de responsabilidades relativas às importantes decisões de TI. Assinale, a seguir, a alternativa que correlaciona adequadamente os dois grupos de informação.
Durante o desenvolvimento de software em Java, ferramentas modernas de automação como o Gradle tornam o processo de construção mais eficiente. Gradle combina a flexibilidade do Ant com a convenção do Maven, oferecendo uma abordagem baseada em scripts Groovy ou Kotlin para configuração de builds. Seu modelo de execução é orientado a tarefas e pode ser altamente customizado, o que o torna útil para uma variedade de projetos. Com base na introdução ao Gradle e seus conceitos fundamentais, observe e associe os termos a seguir com suas respectivas descrições. Termos Descrições I. build.gradle A. Representa uma unidade de trabalho, como compilar código ou empacotar um JAR. II. Task B. Script usado para definir dependências, plugins e tarefas em um projeto. III. Gradle Wrapper C. Extensão para gerenciamento de builds dentro do Eclipse. IV. Plugin D. Ferramenta que automatiza o download da versão correta do Gradle. Assinale a alternativa que apresenta a associação correta:
Durante a configuração de um projeto corporativo Java com múltiplos módulos, a equipe de desenvolvimento percebeu que o tempo de build estava excessivamente alto e que cada alteração em um módulo disparava a recompilação completa de todos os módulos dependentes, mesmo sem necessidade. O projeto usava Gradle, mas não havia uma configuração otimizada para builds incrementais. Com relação a este contexto e sobre o conteúdo estudado, avalie as asserções a seguir e a relação proposta entre elas: I. A estrutura modular de um projeto Gradle, quando mal configurada, pode causar recompilações desnecessárias, impactando diretamente a performance do build. PORQUE II. A ausência de declaração explícita de dependências entre módulos impede que o Gradle execute builds incrementais com eficiência, pois ele não consegue identificar o que mudou de fato. A respeito dessas asserções, assinale a alternativa correta:
Durante o desenvolvimento de projetos em linguagens como Java, torna-se fundamental adotar práticas que facilitem o gerenciamento de dependências externas, além de organizar e automatizar tarefas recorrentes, como compilação, empacotamento e execução de testes. Para isso, é comum a utilização de ferramentas que padronizam o ciclo de construção do software e centralizam a configuração desses processos. Com base nisso, assinale a alternativa que identifica a principal função do Maven em um projeto Java:
Durante o desenvolvimento de projetos em Java, especialmente em ambientes colaborativos, é fundamental contar com ferramentas que automatizem o processo de construção e gerenciem dependências. O Gradle é uma dessas ferramentas modernas que se destaca por sua flexibilidade e desempenho. Ele utiliza uma abordagem baseada em [preencher 1] para definir e organizar tarefas de construção, permitindo automações personalizadas. Além disso, o Gradle possui integração nativa com repositórios [preencher 2], facilitando a resolução automática de bibliotecas externas e otimizando o fluxo de trabalho. Neste contexto, identifique os termos de [preencher 1] e [preencher 2] que são substituídos por:
Durante o desenvolvimento de um software em C++, um estudante optou por utilizar o CMake para facilitar a geração dos arquivos de build em diferentes sistemas operacionais. Para isso, ele escreveu um arquivo chamado CMakeLists.txt e o utilizou para configurar e gerar os arquivos de projeto automaticamente. Considerando essa situação, assinale a alternativa que reconhece sobre a automação com CMake:
Durante o desenvolvimento de um sistema web para gerenciamento de eventos, a equipe optou por utilizar o padrão arquitetural MVC para organizar a estrutura do código. Após uma entrega parcial, foram observados comportamentos inesperados na forma como certas informações eram apresentadas em diferentes partes da aplicação, o que levou a uma análise mais detalhada da separação de responsabilidades entre as camadas. Com relação a este contexto e sobre o conteúdo estudado, analise as asserções a seguir e a relação proposta entre elas: I. O problema enfrentado pela equipe foi causado por um desvio do padrão MVC, pois cálculos relacionados à regra de negócio devem ser realizados no Model, e não na View. PORQUE II. Ao manter a lógica de cálculo nas Views, aumenta-se o risco de inconsistência de dados e dificulta-se a reutilização dessa lógica em outros pontos do sistema, como relatórios, exportações ou APIs. A respeito dessas asserções, assinale a alternativa correta:
Durante o desenvolvimento de um sistema de gestão escolar, a equipe de software optou por uma abordagem arquitetural que facilitasse a manutenção do código por diferentes times. A intenção era permitir que ajustes em certas partes do sistema pudessem ser feitos sem causar impacto imediato em outras funcionalidades. Essa escolha buscava também favorecer a organização da base de código e a escalabilidade futura da aplicação. Considerando o contexto apresentado, assinale a alternativa que reconhece o padrão arquitetural aplicado.
Durante o desenvolvimento de um projeto acadêmico em grupo, os alunos precisaram colaborar na criação de um site. Para garantir que cada um pudesse contribuir sem sobrescrever o trabalho dos colegas, o professor sugeriu o uso de uma ferramenta chamada Git. Ao final, todos destacaram a importância dessa ferramenta para manter a organização do trabalho em grupo. Sobre o recurso utilizado no projeto, assinale a alternativa que reconhece uma funcionalidade do Git:
Durante o desenvolvimento de um projeto colaborativo em equipe, Mariana foi encarregada de iniciar o controle de versão utilizando o Git. No terminal, ela criou o repositório com o comando [Preencher 1], adicionou os arquivos necessários com o comando [Preencher 2] e, por fim, registrou as mudanças com o comando [Preencher 3]. Ao concluir, comunicou a equipe que o projeto já estava versionado e pronto para receber contribuições por meio de push e pull. Neste contexto, identifique os termos de [preencher 1], [preencher 2] e [preencher 3] que são substituídos por:
Leia o cenário a seguir: Durante o desenvolvimento de uma aplicação colaborativa, os desenvolvedores A e B estão trabalhando em branches distintas, feature-a e feature-b, respectivamente. O desenvolvedor A realiza alterações no arquivo config.py, enquanto o desenvolvedor B faz modificações no mesmo arquivo, mas em um trecho diferente de código. Quando ambos tentam realizar o git merge de suas branches na branch main, ocorre um conflito, pois ambos alteraram a mesma linha de código no arquivo config.py. Com relação a este contexto e sobre o conteúdo estudado, avalie as asserções a seguir e a relação proposta entre elas: I. Quando um conflito é detectado após um comando git merge, o desenvolvedor deve realizar o comando git reset --hard para voltar ao estado anterior ao merge e recomeçar o processo de resolução do conflito. PORQUE II. O comando git diff pode ser utilizado durante a resolução de um conflito para visualizar as diferenças entre a versão atual do arquivo e a versão que será integrada, permitindo que o desenvolvedor veja claramente as modificações feitas por outros colaboradores. A respeito dessas asserções, assinale a alternativa correta:
Durante uma auditoria em um projeto de médio porte, a equipe de qualidade identificou inconsistências na documentação técnica da API REST da aplicação. Ao revisar o processo, observou-se que parte da equipe utilizava anotações diretamente no código-fonte, enquanto outra parte gerava documentação manual em arquivos separados. A coordenação decidiu padronizar o uso de ferramentas automáticas para garantir atualização constante e reduzir esforço redundante. Com base nesse contexto, compreenda e associe as ferramentas de documentação às suas principais características ou abordagens. Ferramentas / Abordagens Características / Abordagens I. Javadoc A. Utiliza docstrings e arquivos de configuração para gerar documentação técnica de sistemas Python. II. JaCoCo B. Avalia a qualidade do código com base em métricas como duplicação, cobertura e complexidade ciclomática. III. SonarQube C. Gera documentação automática em formato HTML a partir de comentários estruturados no código Java. IV. Sphinx Produz relatórios detalhados sobre cobertura de testes de código Java, integrando-se a ferramentas de CI. Assinale a alternativa que apresenta a associação correta:
Durante o redesenho de um sistema interno em uma empresa do setor de seguros, a equipe de desenvolvimento optou por seguir um cronograma enxuto, priorizando a implementação rápida com base em informações fornecidas por áreas gestoras. A equipe acreditava conhecer suficientemente o ambiente de trabalho dos atendentes, e optou por não realizar atividades como observações em campo ou testes com protótipos antes da entrega inicial. Com relação a este contexto e sobre o conteúdo estudado, analise as asserções a seguir e a relação proposta entre elas: I. A ausência de testes e validação com usuários reais pode ter contribuído para um sistema funcionalmente completo, mas com baixa usabilidade para os atendentes. PORQUE II. O Design Centrado no Usuário parte do princípio de que as necessidades do negócio devem ser priorizadas em detrimento das experiências individuais, já que o usuário pode se adaptar ao sistema com o tempo. A respeito dessas asserções, assinale a alternativa correta:
Leia o trecho a seguir: Durante o desenvolvimento de um sistema web, a equipe de testes automatizados decidiu utilizar o JaCoCo para acompanhar a cobertura de código em seus testes de unidade. Após configurar corretamente o plugin no arquivo pom.xml, foi gerado um relatório detalhado em HTML. No entanto, ao revisar o relatório, notaram que vários métodos estavam com cobertura zero, mesmo após a execução bem-sucedida dos testes. Um dos analistas, então, sugeriu que a equipe verificasse se os testes estavam [preencher 1] corretamente e se o relatório estava sendo [preencher 2] na pasta configurada no projeto. Neste contexto, identifique os termos de [preencher 1] e [preencher 2] que são substituídos por:
Imagine que um desenvolvedor está criando uma aplicação de aprendizado de matemática para crianças. A interface precisa ser intuitiva e adequada ao público-alvo, levando em consideração suas limitações cognitivas e a importância de manter a motivação ao longo do processo de aprendizado. A aplicação inclui recursos como feedback visual e desafios baseados em pontuação. Sobre essa situação, assinale a alternativa que reconhece a abordagem para a criação de um design mais eficaz para os usuários:
Durante o desenvolvimento de um sistema de cadastro de clientes, uma equipe optou por criar um módulo de busca utilizando soluções mais rápidas e menos estruturadas, com o objetivo de entregar o sistema dentro do prazo do cliente. Apesar de o sistema ter funcionado, os desenvolvedores perceberam que, a longo prazo, haveria dificuldades para realizar manutenções e melhorias naquele módulo. Um dos desenvolvedores comentou que a equipe havia contraído uma “dívida técnica” com essa decisão. Com base na situação apresentada, assinale a alternativa que reconhece o conceito de dívida técnica:
Leia o trecho a seguir: Durante o processo de desenvolvimento de software, uma das práticas mais eficazes para garantir a qualidade e a manutenção do código é a revisão entre colegas. Nesse processo, um ou mais desenvolvedores analisam o código produzido por outro membro da equipe em busca de possíveis melhorias. A revisão de código, além de permitir a detecção de erros que poderiam passar despercebidos, contribui para a disseminação do conhecimento técnico entre os envolvidos e para o fortalecimento do trabalho em equipe. Entre os benefícios mais reconhecidos estão a melhoria da [preencher 1] do código e a redução de [preencher 2] no futuro. Neste contexto, identifique os termos de [preencher 1] e [preencher 2] que são substituídos por:
Durante uma aula de práticas de desenvolvimento, a professora propôs aos alunos uma atividade em duplas para resolver um desafio de programação. João e Luana começaram a desenvolver a aplicação juntos, compartilhando decisões e alternando funções ao longo da atividade, com foco na qualidade do código e na troca de ideias. Com base na situação descrita, assinale a alternativa que identifica uma característica da programação pareada:
Leia o trecho abaixo: Durante o desenvolvimento de um sistema educacional, a equipe de programadores incorporou práticas de melhoria contínua ao processo de desenvolvimento, incluindo revisões semanais de código. Nessas sessões, os membros da equipe analisam aspectos como legibilidade, estrutura lógica e confiabilidade das implementações realizadas por seus colegas. Com base nessa situação, analise as asserções a seguir e a relação proposta entre elas: I. A revisão de código deve incluir tanto a análise da clareza e legibilidade do código quanto a verificação da presença de testes que garantam sua confiabilidade, PORQUE II. a identificação de código com lógica confusa e sem cobertura de testes pode indicar pontos críticos de manutenção, que devem ser priorizados durante a revisão para evitar dívidas técnicas. A respeito dessas asserções, assinale a alternativa correta:
A revisão de código é uma prática essencial em equipes de desenvolvimento de software, pois visa identificar erros, melhorar a qualidade do código e compartilhar conhecimento entre os membros da equipe. Durante o processo, um desenvolvedor revisa o código de outro, oferecendo sugestões e melhorias, além de corrigir falhas que podem passar despercebidas. Com base na prática de revisão de código e nas contribuições de boas práticas adotadas em equipes ágeis, observe e associe as práticas de revisão de código às suas principais características. Práticas de Revisão de Código Características I. Revisão Técnica A. Foca na identificação de problemas de lógica e erros no comportamento do código, assegurando que o sistema funcione conforme esperado. II. Revisão de Estilo B. Analisa o código em termos de clareza e legibilidade, garantindo que as convenções de estilo e as boas práticas de codificação sejam seguidas. III. Revisão de Funcionalidade C. Verifica o desempenho do código, identificando áreas que podem ser otimizadas para melhorar a eficiência e reduzir o uso de recursos. IV. Revisão de Performance D. Foca na correção de erros de implementação, como falhas de sintaxe, referências incorretas e falta de validações necessárias. Assinale a alternativa que apresenta a associação correta:
Leia o trecho a seguir: Durante o desenvolvimento de uma aplicação web, a equipe escolheu adotar o trabalho colaborativo entre programadores como uma estratégia para melhorar a qualidade do código e fortalecer a comunicação técnica dentro da equipe. Nessa abordagem, um desenvolvedor escreve o código enquanto o outro revisa e contribui com sugestões durante o processo. Com base nessa situação, observe as afirmativas a seguir: I. A colaboração entre os programadores permitiu que o programador menos experiente adquirisse rapidamente novos conhecimentos, favorecendo o aprendizado contínuo. II. O desenvolvedor responsável pela revisão pode contribuir com ideias importantes sobre a estrutura do código, mesmo sem ser o principal responsável pela escrita. III. O uso dessa abordagem afetou a produtividade da equipe, resultando em um atraso significativo nas entregas do projeto. Está correto o que se afirma em:
Os requisitos não funcionais podem ser classificados em diferentes categorias, como os requisitos de desempenho, que tratam de [preencher 1] , e os requisitos de segurança, que tratam de [preencher 2] . Esses tipos de requisitos impõem restrições ao sistema para garantir que ele atenda aos critérios de qualidade e eficiência. As lacunas [preencher 1] e [preencher 2] são corretamente substituídas por:
O documento de especificação de requisitos pode ter diferentes formatos e níveis de detalhamento, dependendo das necessidades da organização e do projeto. Alguns documentos podem ser mais simples, enquanto outros podem ser extremamente detalhados, incluindo diagramas e especificações formais. Diante disso, assinale a alternativa que descreve uma abordagem correta para a estruturação de um documento de especificação de requisitos:
No desenvolvimento de software, é importante identificar e definir corretamente os requisitos para garantir que o produto final atenda às necessidades dos usuários e funcione de acordo com as especificações esperadas. Requisitos de software são categorizados de várias formas, cada uma com um propósito específico que contribui para o sucesso do projeto. Diante disso, assinale a alternativa que apresenta o tipo de requisito de software entre as opções abaixo:
Ferramentas de automação de testes são amplamente utilizadas para aumentar a eficiência e a precisão dos processos de verificação em sistemas de software. Essas ferramentas oferecem diferentes funcionalidades, como criação e reprodução de scripts, validações e integração com outras plataformas. O Selenium IDE é uma dessas ferramentas, sendo frequentemente usada em cenários específicos de testes. Com base nas características do Selenium IDE, selecione a alternativa que apresenta uma funcionalidade corretamente atribuída a essa ferramenta.