Questões de Concurso Sobre engenharia de software

Foram encontradas 14.872 questões

Q4086254 Engenharia de Software
No processo de garantia da qualidade de software, as atividades de verificação e validação possuem objetivos distintos no ciclo de desenvolvimento. A respeito das características associadas a essas atividades, assinale a alternativa INCORRETA.
Alternativas
Q4086252 Engenharia de Software
A atividade de testes é essencial para a garantia da qualidade de software, sendo aplicada em diferentes níveis e com objetivos distintos ao longo do ciclo de desenvolvimento. Considerando os diversos tipos de testes de software, informe se é verdadeiro (V) ou falso (F) o que se afirma a seguir e assinale a alternativa com a sequência correta.

( ) O teste unitário tem por finalidade avaliar o sistema completo e integrado, verificando sua conformidade com os requisitos especificados.
( ) O teste de integração tem como objetivo identificar falhas na comunicação e na interação entre módulos ou componentes do sistema.
( ) O teste de regressão é realizado após modificações no sistema, com o propósito de verificar se funcionalidades previamente implementadas continuam operando corretamente.
( ) O teste caixa branca fundamenta-se na análise da estrutura interna do código, considerando fluxos lógicos, decisões e caminhos de execução. 
Alternativas
Q4086249 Engenharia de Software
A reengenharia é um processo aplicado a sistemas já existentes com o propósito de compreendê-los e aprimorá-los, podendo envolver diferentes atividades técnicas ao longo de sua execução. Durante esse processo, há uma etapa específica em que o programa é analisado e as informações são extraídas a partir dele. Isso ajuda a documentar sua organização e funcionalidade. Essa etapa é denominada 
Alternativas
Q4082536 Engenharia de Software

Em relação à ética em inteligência artificial (IA), julgue o item subsecutivo. 


As armas de destruição matemáticas (ADMs) surgiram na economia do Big Data como ferramentas de análise totalmente transparentes, permitindo que qualquer indivíduo compreenda facilmente os critérios utilizados pelo algoritmo para tomar decisões acerca de sua vida.

Alternativas
Q4082535 Engenharia de Software

Em relação à ética em inteligência artificial (IA), julgue o item subsecutivo. 


No âmbito da ética aplicada à inteligência artificial, a transparência efetiva transcende a simples abertura do código-fonte, exigindo que os fundamentos lógicos das decisões automatizadas sejam apresentados de forma compreensível para seres humanos, de modo a permitir a identificação de preconceitos e a possibilidade de revisão das conclusões da máquina.

Alternativas
Q4082533 Engenharia de Software

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. 

Alternativas
Q4071629 Engenharia de Software
Scrum é um método ágil, iterativo e incremental para gerenciamento de projetos (SCHWABER E SUTHERLAND, 2020). Sobre o framework Scrum, avalie as seguintes assertivas:

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.
Alternativas
Q4071628 Engenharia de Software

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). 


Imagem associada para resolução da questão


Assinale a alternativa que representa o code smell melhor caracterizado no trecho de código. 

Alternativas
Q4071626 Engenharia de Software
Princípios de projeto são recomendações mais concretas que desenvolvedores de software podem seguir para garantir maior qualidade em propriedades esperadas de projeto, como integridade conceitual, ocultamento de informação, coesão e acoplamento.

Sobre os princípios S.O.L.I.D., selecione a alternativa INCORRETA.
Alternativas
Q4071620 Engenharia de Software
Considere a seguinte situação hipotética:
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:
Alternativas
Q4071611 Engenharia de Software
Considere a seguinte situação hipotética:
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: 
Imagem associada para resolução da questão
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:
Alternativas
Q4071610 Engenharia de Software
Considere a seguinte situação hipotética:

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:
Alternativas
Q4067463 Engenharia de Software
Uma Secretaria Estadual é submetida a forte fiscalização de órgãos de auditoria externa, com exigência simultânea de conformidade legal, previsibilidade institucional e entrega incremental de software. Adotando Scrum alinhado ao Guia de Prática Ágil do PMI, o mecanismo que permite conciliar governança formal e adaptação contínua sem descaracterizar o framework é a
Alternativas
Q4065622 Engenharia de Software
No ciclo de vida de desenvolvimento de software na Administração Pública, o Analista de Sistemas atua como um facilitador entre as necessidades governamentais e a implementação técnica.
Ao elaborar a documentação técnica para orientar a equipe de programadores, é fundamental que o analista:
Alternativas
Q4065621 Engenharia de Software
O desenvolvimento rápido de software, conhecido como desenvolvimento ágil, é caracterizado por práticas que visam a entrega frequente de software funcional, com forte interação entre desenvolvedores e usuários.
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.
Alternativas
Q4065612 Engenharia de Software
O processo de software define um conjunto estruturado de atividades necessárias para desenvolver, entregar e manter um sistema de software, servindo como base para o planejamento, acompanhamento e controle do desenvolvimento.
Assinale a alternativa correta considerando os conceitos de processo de software.
Alternativas
Q4065609 Engenharia de Software
Os requisitos de software descrevem os serviços que o sistema deve fornecer e as restrições sob as quais ele deve operar.
Considerando essa classificação, assinale a alternativa correta sobre requisitos funcionais e requisitos não funcionais.
Alternativas
Q4065606 Engenharia de Software

A figura abaixo representa um processo utilizando o padrão BPMN.


44.jpg (270×412)


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.

Alternativas
Q4065604 Engenharia de Software
A documentação de software é um elemento fundamental do processo de engenharia de software, pois apoia o desenvolvimento, o uso, a manutenção e a evolução dos sistemas ao longo de seu ciclo de vida.
Assinale a alternativa correta com relação a esse assunto.
Alternativas
Q4065603 Engenharia de Software
O software raramente permanece estático após sua entrega inicial, sendo constantemente modificado para corrigir defeitos, adaptar-se a novos ambientes e atender a novas necessidades organizacionais. Esse processo contínuo é denominado evolução de software.
Assinale a alternativa correta com base nessa abordagem.
Alternativas
Respostas
361: E
362: A
363: C
364: E
365: C
366: C
367: B
368: B
369: B
370: B
371: B
372: D
373: A
374: D
375: B
376: E
377: C
378: E
379: C
380: B