Questões de Concurso Sobre engenharia de software
Foram encontradas 14.896 questões
Em relação à ética em inteligência artificial (IA), julgue o item subsecutivo.
Diferentemente da tomada de decisão humana, que tem a virtude de evoluir e se adaptar conforme novos aprendizados são adquiridos, os sistemas de Big Data tendem a cristalizar padrões do passado em seus códigos, exigindo o exercício da imaginação moral humana para que valores éticos sejam incorporados aos algoritmos.
I. São artefatos do Scrum o Backlog do produto, o Backlog da Sprint, o incremento e os testes de unidade.
II. São eventos do Scrum a Sprint, o planejamento da Sprint, as reuniões diárias, a revisão da Sprint e a retrospectiva da Sprint.
III. São pilares do Scrum a transparência, a inspeção e o compromisso.
IV. O Scrum é um método ágil voltado para projetos de desenvolvimento de software, e inclui um conjunto de práticas de programação como testes de unidade e design incremental.
Assinale a alternativa que contém apenas as afirmações CORRETAS.
Code Smells são indicadores de código de baixa qualidade, isto é, código difícil de manter, entender, modificar ou testar (Valente, 2020). Avalie o trecho de código a seguir (em linguagem JAVA).

Assinale a alternativa que representa o code smell melhor caracterizado no trecho de código.
Sobre os princípios S.O.L.I.D., selecione a alternativa INCORRETA.
Uma universidade possui um sistema acadêmico desenvolvido em PHP com framework próprio. Atualmente, o deploy é feito manualmente via FTP (File Transfer Protocol) para o servidor de produção. Em períodos de matrícula, erros de publicação causam indisponibilidade do sistema. A equipe decidiu implementar um pipeline de CI/CD (Integração Contínua/Implantação Contínua). O repositório está no GitLab e os servidores utilizam Linux. É obrigatório garantir: versionamento rastreável, execução automática de testes antes do deploy e controle formal sobre liberações para produção.
Assinale a alternativa que atende de forma CORRETA aos requisitos técnicos e de governança para o novo processo de deploy:
Uma equipe de desenvolvimento mantém um sistema corporativo, utilizando Git e pipelines CI/CD automatizados. O pipeline é definido em um arquivo YAML versionado no próprio repositório e contém as seguintes etapas:
Fonte: dados do elaborador Durante o desenvolvimento, a equipe decide integrar um branch de funcionalidades (feature/login) no branch principal (main). Existem dois caminhos possíveis:
1. git merge feature/login : cria um commit de merge, preservando o histórico do branch de funcionalidades.
2. git rebase main feature/login : reaplica os commits do branch de funcionalidades sobre o branch main, criando um histórico linear.
Com base nesse cenário e nos conceitos de DevOps, CI/CD e controle de versão com Git, analise as afirmativas a seguir:
I. A configuração apresentada no arquivo YAML caracteriza um pipeline de integração contínua, pois alterações integradas ao repositório podem acionar automaticamente as etapas de build e testes, ainda que o deploy dependa de aprovação manual.
II. O uso de git merge preserva o histórico completo do branch de funcionalidades, incluindo divergências e commits paralelos, mas pode gerar múltiplos commits de merge que poluem o histórico.
III. O uso de git rebase permite criar um histórico linear ao reaplicar commits sobre outro branch, porém essa operação reescreve o histórico dos commits, podendo causar inconsistências, caso o branch já tenha sido compartilhado com outros desenvolvedores.
IV. A configuração when: manual no job de deploy indica que a etapa de implantação depende de intervenção humana, caracterizando um processo típico de Continuous Deployment, e não de Continuous Delivery.
V. Definir pipelines CI/CD em arquivos YAML versionados no próprio repositório permite que o processo de automação seja rastreável e auditável, o que possibilita o controle de versões também sobre as mudanças no pipeline.
Assinale a alternativa CORRETA:
Uma equipe de desenvolvimento adotou práticas de DevOps em um sistema corporativo. O fluxo definido estabelece que todo o código é versionado em Git, e que a cada push para o repositório remoto é executado automaticamente um pipeline de CI/CD.
Nesse pipeline são realizadas etapas de build, testes automatizados e análise estática de código. Caso todas as etapas sejam concluídas com sucesso, o artefato gerado é automaticamente implantado em ambiente de homologação.
Com base nos conceitos de integração contínua, entrega contínua e automação de pipelines, analise as afirmativas a seguir.
I. A integração contínua (continuous delivery) consiste na prática de integrar alterações de código com frequência em um repositório compartilhado, em que builds e testes automatizados são executados para detectar falhas precocemente no processo de desenvolvimento.
II. A entrega contínua (continuous delivery) pressupõe que o sistema esteja sempre em um estado potencialmente implantável em produção, embora a liberação final para produção dependa de uma aprovação manual.
III. Em pipelines de CI/CD, ferramentas como GitHub Actions e GitLab CI/CD permitem definir workflows ou pipelines automatizados por meio de arquivos de configuração versionados no próprio repositório do projeto.
IV. A cultura DevOps enfatiza a automação de processos de build, teste e deploy, reduzindo a necessidade de interação entre equipes de desenvolvimento e operações ao longo do ciclo de entrega de software.
Assinale a alternativa CORRETA:
Ao elaborar a documentação técnica para orientar a equipe de programadores, é fundamental que o analista:
Analise as afirmativas abaixo com base nas características dos métodos ágeis de desenvolvimento de software.
1. Nos métodos ágeis, a ausência de uma especificação detalhada inicial implica que os requisitos são voláteis e refinados continuamente, sendo documentados de forma leve e suficientes para orientar o desenvolvimento dos incrementos.
2. O software é desenvolvido de forma incremental, com a participação de usuários e stakeholders na avaliação de cada incremento e na proposição de mudanças e novos requisitos.
3. Os métodos ágeis minimizam o uso de ferramentas, pois priorizam exclusivamente a comunicação informal entre os membros da equipe.
Assinale a alternativa que indica todas as afirmativas corretas.
Assinale a alternativa correta considerando os conceitos de processo de software.
Considerando essa classificação, assinale a alternativa correta sobre requisitos funcionais e requisitos não funcionais.
A figura abaixo representa um processo utilizando o padrão BPMN.

Observação: a disposição vertical do diagrama deve-se exclusivamente à formatação da prova, não havendo alteração na lógica, sequência ou interpretação do fluxo do processo.
Analise as afirmativas abaixo com relação a esse diagrama.
1. A Atividade 5 será executada 3 vezes;
2. As Atividades 2, 3 e 4 podem ser executadas em paralelo;
3. A Atividade 5 será executada somente 1 vez.
Assinale a alternativa que indica todas as afirmativas corretas.
Assinale a alternativa correta com relação a esse assunto.
Assinale a alternativa correta com base nessa abordagem.
Assinale a alternativa correta considerando os princípios dos testes de caixa branca.
Assinale a alternativa correta considerando a abordagem apresentada pelo autor.
1. Fluxogramas Funcionais
2. Fluxogramas Gerais
3. Fluxogramas de Bloco
Assinale a alternativa que indica todas as afirmativas corretas.
Essa abordagem de elicitação, que visa acelerar o levantamento e reduzir erros de interpretação por meio de reuniões intensivas, é tecnicamente conhecida como: