Em um projeto de desenvolvimento de software, a equipe enfrenta desafios contínuos devido a mudanças frequentes nos requisitos dos clientes e a necessidade de gerenciar riscos de forma eficiente. Para atender a essas necessidades, a equipe deve integrar as melhores práticas dos diferentes modelos de processo de software, visando uma abordagem flexível e adaptativa.Nesse sentido, assinale a alternativa correta sobre o modelo de processo de software que seria mais adequado para essa situação e por quê:
Os testes de softwares são fundamentais para garantir a qualidade de um sistema. Por meio deles, é possível certificar-se de que todos os requisitos dos clientes sejam atendidos. Eles também podem ser ferramentas que as corporações empregam para minimizar os custos financeiros e evitar um problema que poderia causar prejuízos futuramente. Dessa forma, existem vários tipos de testes de softwares. Considerando tais testes, analise as afirmações a seguir com relação às definições e as nomeações dos testes de softwares e as relacione adequadamente aos itens aos quais se referem.1 – Testes de versão.
2 – Testes de usuário.
3 – Testes de recuperação de falhas.Os testes de clientes são um estágio no processo de testes no qual os clientes fornecem informações sobre os testes do sistema.
São testes que têm como objetivo verificar uma alternativa específica de um sistema, que é destinada a ser usada fora da equipe de desenvolvimento.
São testes que têm a finalidade de obrigar o sistema a causar erros ou problemas, verificando se o seu restabelecimento é executado corretamente. Assinale a alternativa que relaciona adequadamente os dois grupos de informação:
Os testes no desenvolvimento de softwares podem identificar problemas antes de comercializar os produtos. Um dos testes essenciais são os _________________ (lacuna 1) de software, que têm a finalidade de identificar os gargalos que podem provocar ______________ (lacuna 2) ou travamento do sistema. Além disso, tal teste pode verificar o tempo de execução dentro do contexto de um sistema integrado. Preencha as lacunas escolhendo a alternativa correta:
Possibilitar a qualidade de um software desde a sua concepção até a sua manutenção é um processo muito importante na engenharia de software. Com isso, tem-se a possibilidade de produzir um software que esteja mais alinhado às expectativas do cliente. Ainda, é possível detectar problemas e defeitos antes até de o cliente utilizar o sistema. Para isso, existem estratégias de teste de software.Com base no excerto acima, assinale a alternativa que melhor descreve as características das estratégias de teste de software.
Os padrões de projeto podem ser classificados por escopo e propósito, ajudando os desenvolvedores a escolher o padrão mais adequado para resolver problemas específicos de design de software. Diante disso, observe o padrão a seguir: um padrão que define uma dependência um-para-muitos entre objetos, onde quando um objeto muda de estado, todos os seus dependentes são notificados e atualizados automaticamente.Com base nos assuntos estudados sobre padrões de projeto, analise as afirmativas a seguir:Padrões de projeto de criação focam em abstrair o processo de criação de objetos, evitando que o código dependa diretamente de como esses objetos são instanciados.
Padrões comportamentais lidam com interações e comunicações entre objetos, buscando simplificar a colaboração entre diferentes partes do sistema.
Padrões estruturais ajudam a organizar as classes e os objetos para formar estruturas maiores e mais complexas, facilitando o entendimento e a manutenção do código.
Padrões de projeto no escopo de classe tratam de relacionamentos dinâmicos entre classes, lidando com a comunicação entre objetos em tempo de execução.É correto o que se afirma em:
Segundo Sommerville (2016), existem algumas visões fundamentais da arquitetura de software. Tais visões auxiliam na verificação dos diferentes elementos da arquitetura do sistema. Dentre elas, estão a visão de lógica, de processo, de desenvolvimento, conceitual e física. Uma delas propõe demonstrar a execução do sistema e os procedimentos que interagem entre si. SOMMERVILLE, I. Engenharia de software. 9. ed. São Paulo: Pearson Prentice Hall, 2016. Com base nisso, assinale a alternativa que melhor nomeia o tipo de aplicação descrita acima.
O documento de especificação de requisitos de software é essencial no desenvolvimento de sistemas e geralmente segue uma estrutura organizada em várias seções que ajudam a documentar de forma clara as necessidades do sistema. Embora haja sugestões de como estruturar esse documento, sua organização pode variar. Com base nessa estrutura, qual das alternativas abaixo descreve corretamente uma das principais seções que podem estar presentes em um documento de especificação de requisitos?
A prática de revisão de código desempenha um papel crucial na manutenção da saúde da base de código em projetos de desenvolvimento de software. De acordo com o Stack Overflow Survey de 2019, uma grande maioria dos desenvolvedores adota esta prática. Na revisão de código, um desenvolvedor, denominado revisor, analisa o código escrito por outro, podendo sugerir melhorias, esclarecer dúvidas, ou identificar bugs. Este processo resulta em um diálogo construtivo entre o autor e o revisor, culminando na aprovação do código para integração no repositório do projeto. Considerando a importância e o processo da revisão de código, qual das seguintes afirmações é correta?
Leia o texto a seguir e identifique as lacunas que deverão ser preenchidas: Na elaboração de software, a habilidade de escrever funções eficazes é crucial. Uma função ideal deve ser concisa, focada em uma única tarefa, e evitar qualquer tipo de [Preencher 1] que possa levar a resultados inesperados ou dificuldades de manutenção. Além disso, é importante que os nomes das funções sejam [Preencher 2], fornecendo uma clara indicação de suas finalidades e facilitando a compreensão e o uso por outros desenvolvedores. Considerando esses princípios, quais são as duas características essenciais, que preenchem as lacunas, que uma função deve possuir para ser considerada eficaz e bem escrita?
Na prática de refatoração de código em desenvolvimento de software, a técnica de "Extrair Método" é frequentemente utilizada para melhorar a legibilidade e manutenibilidade do código. Este processo envolve a identificação de fragmentos de código que podem ser transformados em um novo método, tornando o código mais modular e claro. Analise as seguintes afirmações sobre o processo de "Extrair Método":O objetivo principal de extrair um método é reduzir o tamanho dos métodos existentes, dividindo-os em métodos menores e mais específicos.
A técnica de "Extrair Método" é mais eficaz quando aplicada a códigos que não exigem comentários para serem compreendidos.
Um dos desafios ao extrair um método é lidar com variáveis locais que podem necessitar ser passadas como parâmetros para o novo método.
Ao extrair um método, é recomendável usar nomes genéricos para o novo método, pois isso aumenta a reutilização do código.É correto o que se afirma em:
O Selenium IDE tem uma longa história como uma ferramenta valiosa para automação de testes de aplicativos web. Originalmente um plugin para o Firefox, sua facilidade de uso permitia aos engenheiros de testes gravar e reproduzir ações no navegador, mesmo sem experiência em programação. Após um revés em 2017, quando uma atualização do Firefox o tornou incompatível, o Selenium IDE foi reinventado e melhorado pela Applitools, ampliando sua compatibilidade e funcionalidades. Com este avanço, agora possui novos recursos que expandem suas capacidades de automação. Identifique qual das funcionalidades a seguir foi introduzida na nova versão do Selenium IDE lançada após a atualização do Firefox em 2017.Assinale a alternativa correta.
Em um projeto Maven, a organização do código e dos recursos é essencial para facilitar a manutenção e compreensão do projeto por novos desenvolvedores. Esta questão envolve a associação correta de diretórios específicos do Maven com suas respectivas descrições. Considere os seguintes diretórios comuns em um projeto Maven e suas descrições. Associe corretamente cada diretório com sua função principal.src/main/java
src/test/java
src/main/resources
pom.xmlA. Arquivos auxiliares do sistema, como configurações e XMLs.
B. Código-fonte principal do sistema ou biblioteca.
C. Arquivo que contém informações e configurações do projeto.
D. Classes com testes unitários executados automaticamente.Assinale a alternativa que contém a associação correta:
Qual alternativa a seguir apresenta corretamente uma relação que pode ser feita entre um item (palavra-chave) de um exemplo concreto de comportamento da abordagem BDD (Behavior Driven Development) e os elementos tradicionais de um caso de teste?
Considere as seguintes afirmações:I) Comumente usada na construção de sistemas de informação corporativos.
II) As três camadas são: interface com o usuário, controladores, e banco de dados.
III) Normalmente, é centralizada, ou seja, é executada em apenas uma máquina.
IV) Alternativamente, pode haver apenas duas camadas, em que interface com o usuário e lógica de negócio são unificadas.
V) A lógica de negócio é também chamada de camada de aplicação.Marque a seguir a alternativa correta para o contexto da "arquitetura em três camadas".
A dívida técnica, um conceito cunhado por Ward Cunningham e posteriormente detalhado por Martin Fowler, é uma metáfora importante no desenvolvimento de software. Ela descreve as consequências de decisões de design tomadas para ganhos de curto prazo, mas que podem acarretar custos adicionais no futuro. De acordo com Fowler, a dívida técnica é comparável à dívida financeira, onde o pagamento de 'juros' se manifesta na forma de esforço extra em desenvolvimentos futuros. Além disso, Fowler classifica a dívida técnica em quatro categorias, baseadas em prudência e consciência. Com base nessa compreensão, qual das seguintes opções melhor descreve um exemplo de dívida técnica?
Considere os seguintes itens:I) Comentários redundantes que dizem exatamente o que o código está fazendo são ruins e desnecessários.
II) Não insira comentários em um código ruim, refatore-o.
III) É mehor não ter comentário nenhum do que comentários imprecisos.
IV) Quanto mais longo e detalhado o comentário, melhor.
V) Uma forma inteligente de fazer um comentário é usar a própria linguagem de programação para isso.Qual alternativa a seguir está correta considerando os itens acima?
No desenvolvimento de software, garantir que o código seja não apenas funcional, mas também confiável e livre de erros, é crucial. Uma forma de avaliar a qualidade e a confiabilidade do código é por meio da medição da cobertura de teste, que ajuda a identificar partes do código não exercitadas por testes automatizados. O Coverage.py é uma ferramenta amplamente utilizada neste contexto, oferecendo diferentes tipos de métricas de cobertura.Qual destas métricas é especialmente relevante para desenvolvedores que buscam entender até que ponto seus testes estão efetivamente exercitando o código que escreveram?
A depuração de scripts de teste no Selenium IDE é uma habilidade essencial para qualquer engenheiro de testes de software. Utilizando recursos integrados do IDE, os usuários podem interromper, inspecionar e controlar a execução dos scripts para identificar e corrigir erros. Com base nas funcionalidades de depuração do Selenium IDE descritas, qual das seguintes opções melhor descreve uma funcionalidade correta de depuração disponível no Selenium IDE?
Ao iniciar um projeto Java com a ferramenta de automação de build Gradle, você se depara com várias escolhas e configurações. Uma das primeiras ações é usar a task init para configurar a estrutura básica do projeto. Se você deseja criar um projeto específico de aplicação Java, você precisa especificar um tipo de projeto ao executar a task init. Com base nesse entendimento, qual das seguintes opções corretamente descreve o comando que você deveria usar para iniciar um projeto de aplicação Java com o Gradle, assumindo que todos os arquivos pré-existentes relevantes foram removidos?
Com o avanço tecnológico e a globalização dos mercados, as empresas enfrentam o desafio de gerenciar eficientemente seus recursos e informações. Neste contexto, sistemas de Enterprise Resources Planning (ERP) tornaram-se fundamentais. Esses sistemas integram diversas funções empresariais, como finanças, logística e recursos humanos, em uma única plataforma, automatizando processos e centralizando dados. A escolha e implantação de um ERP requerem cuidadosa consideração de vários fatores, por exemplo: custo, suporte técnico, e capacidade de integração. Além disso, a implementação bem-sucedida de um ERP traz benefícios significativos, mas também pode enfrentar obstáculos como resistência cultural e limitações de orçamento. Com base no texto, analise as seguintes afirmações sobre os sistemas ERP:I. Um dos principais objetivos do ERP é a integração das informações de diferentes departamentos, criando um fluxo de dados unificado e eficiente.II. A implementação de um ERP não afeta significativamente a estratégia e os processos internos da organização.III. O processo de escolha de um fornecedor de ERP envolve a consideração de vários aspectos, incluindo a capacidade tecnológica e o custo total de implementação.IV. A implantação de um ERP é sempre garantida para melhorar o desempenho organizacional sem enfrentar desafios significativos.Escolha a combinação correta das afirmações:
Com a evolução da tecnologia digital, a computação em nuvem transformou-se em um componente essencial da infraestrutura de TI das empresas e da vida cotidiana dos usuários. Oferecendo armazenamento e processamento de dados em servidores remotos acessíveis via internet, este modelo elimina a necessidade de instalação local de softwares e armazenamento de dados, promovendo uma flexibilidade e eficiência sem precedentes no acesso a informações e aplicações de qualquer lugar do mundo. Além disso, pode responsabilizar os fornecedores de serviço por desenvolvimento, manutenção, e atualização de aplicações, reduzindo significativamente a carga de gestão de TI para os usuários. Nesse contexto, analise as seguintes afirmações sobre a computação em nuvem e identifique quais estão corretas:I. A computação em nuvem permite o acesso remoto a aplicações e dados, reduzindo a dependência de servidores locais.II. Os usuários da computação em nuvem precisam realizar manutenção e atualizações de softwares aplicativos em seus próprios dispositivos para garantir o acesso aos serviços.III. A computação em nuvem centraliza o armazenamento de dados em servidores locais para melhorar a segurança e o acesso.IV. Serviços como o Office Online exemplificam a capacidade da computação em nuvem de oferecer aplicações acessíveis via navegador de internet, sem necessidade de instalação local.Assinale alternativa correta:
No âmbito da governança corporativa, a distribuição de poder e a definição de responsabilidades dentro de uma organização são vitais para sua operação e transparência. Este sistema não se limita a questões financeiras, estendendo-se para setores como saúde, educação e governança, e para empresas de capital aberto onde diferentes stakeholders possuem papéis específicos. A mudança de poder e o papel da governança como uma entidade não governamental evidenciam a importância de uma comunicação efetiva e de mecanismos de controle adequados. Relacione os conceitos apresentados na Coluna A com suas respectivas descrições na Coluna B.Coluna A:
Distribuição de poder
Governança corporativa
Transparência organizacional
Coluna B:A. Relacionada à adequação dos canais de divulgação, que devem comunicar principalmente informações relevantes que tenham influência nos negócios ou que envolvam resultados, oportunidades e riscos.
B. É expressa por um sistema de valores que rege as organizações e sua rede de relações internas e externas. Abrange um conjunto de processos, regulamentos, decisões, costumes, ideias que mostram a maneira pela qual aquela empresa ou sociedade é dirigida ou administrada. C. O fator-chave do crescente interesse pela governança corporativa é uma sensível mudança que concede poder a outras partes interessadas, tais como clientes e acionistas minoritários.Selecione a alternativa correta:
A implantação de controles lógicos valida os documentos e refere-se à implantação de mecanismos de controles diversos, relacionados a processos e projetos, que descrevem normas estabelecidas para garantir a segurança da informação que está sendo disponibilizada. Se as transações ocorrem de forma eletrônica, o ganho é a garantia de autenticidade e integridade das informações que estão sendo entregues aos usuários.Em relação aos mecanismos de controles lógicos, analise as afirmativas a seguir.I. Mecanismos de certificação promovem segurança entre as partes, como o controle de uma empresa certificada no momento da transação, por exemplo, um token de validação de senhas de acesso.II. Mecanismos de cifração ou encriptação são métodos de aplicação de algoritmos que transformam a informação original em cifras embaralhadas, dificultando o entendimento do seu conteúdo, se for interceptada.III. Assinatura digital, por exemplo, validação de documentos recebidos por e-mail, caso em que emissor e receptor fazem a validação, por meio da assinatura do documento, de forma digital.IV. Mecanismos de garantia da integridade da informação estão relacionados à implantação de controles contra um acesso indevido que pode causar alterações na informação, descaracterizando seu conteúdo.
Está correto o que se afirma em:
Na função de gerente de projetos, deve haver um profissional qualificado e habilitado, pois ele tem a missão de: criar um plano para orientar, treinar e integrar os colaboradores e processos de projetos da organização; ser mediador de conflitos; promover um ambiente saudável. Isso tudo sempre buscando a excelência dos projetos que estão sob sua responsabilidade. Ainda, são necessárias as habilidades de saber se comunicar, ter um bom relacionamento, gerenciar conflitos etc.
Em relação às áreas de conhecimento relacionadas ao profissional gerente de projetos, assinale a alternativa correta.
O Material Requirements Planning (MRP) permite que as empresas calculem a quantidade de ___________ de determinado tipo, que serão necessários em cada momento. A essência do MRP é obter _______________, no lugar certo, no ____________, utilizando, para isso, ferramentas de ____________ de prioridades e programação de ___________.Preencha as lacunas escolhendo a alternativa correta.
O computador interage, de alguma forma, com seu ambiente externo. Essas ligações com o ambiente externo podem ser classificadas como dispositivos periféricos ou linhas de comunicação. Os dispositivos de processamento incluem a CPU, unidade central de processamento (Central Processing Unit – CPU), a qual tem a “inteligência” da máquina. Existem quatro componentes estruturais principais.
Em relação às características dos componentes estruturais, analise as afirmativas a seguir.I. Memória (principal): memória RAM de acesso randômico-volátil; carrega o sistema operacional quando ligamos o computador.II. Unidade Aritmética e Lógica (ULA): interage com a memória, e as solicitações são processadas por meio de cálculos matemáticos.III. CPU: unidade central de processamento, composta por diversos registradores, controladores e ULA.IV. Unidade de Controle (UC): responsável por fazer a busca de um programa na memória e o controle operacional externo da CPU.
Está correto o que se afirma em:
Planejar é a maneira pela qual organizações, com ou seu fim lucrativo, _________, implantam e lidam com as ___________, que podem ser _________ por _____________, como as iniciadas por funcionários de todos os níveis, ou por ___________________, como atividades realizadas pelos concorrentes, acionistas e por leis, regulamentações da comunidade, eventos naturais e condições econômicas gerais.A mudança organizacional também ocorre na _____________ de __________. Nesse sentido, a ____________ de seus _________________________ pode ser fundamental para o _______________. Assinale a alternativa que preenche, corretamente, as lacunas:
Os algoritmos particionais baseados em erro quadrático buscam otimizar o critério de agrupamento com interatividades, em que, após a formação de um cluster, há uma mudança dos objetos para outro cluster a fim de melhorar o critério de agrupamento.Em relação aos algoritmos particionados baseados no erro quadrático, avalie as afirmações a seguir.O algoritmo k-médias é o único algoritmo hierárquico dos algoritmos de agrupamento, sendo classificado como um algoritmo aglomerativo.
O algoritmo k-médias é um algoritmo iterativo que busca minimizar o erro quadrático de uma partição formada por um número fixo k de clusters.
O algoritmo k-médias utiliza o critério da compactação, buscando regiões com uma variação de erro quadrático pequena, levando à formação de clusters esféricos.
O algoritmo k-médias não é sensível à escolha inicial dos centróides, sendo necessário que o algoritmo rode apenas uma vez, selecionando os objetos com menor frequência.Está correto o que se afirma em: