Questões de Concurso Sobre engenharia de software

Foram encontradas 14.410 questões

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
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
Q4065602 Engenharia de Software
Os testes de caixa branca são técnicas de teste de software que se baseiam no conhecimento da estrutura interna do código fonte, permitindo a criação de casos de teste a partir de caminhos lógicos, decisões e estruturas de controle do programa.
Assinale a alternativa correta considerando os princípios dos testes de caixa branca.
Alternativas
Q4065600 Engenharia de Software
A BPMN (Business Process Model Notation) é uma notação padronizada amplamente utilizada na modelagem de processos de negócio, com o objetivo de facilitar a comunicação entre analistas, gestores e desenvolvedores.
Assinale a alternativa correta considerando os princípios da modelagem de processos e os elementos da BPMN.
Alternativas
Q4065599 Engenharia de Software
A análise de requisitos é uma atividade fundamental da Engenharia de Software, responsável por identificar, analisar e documentar os serviços que o sistema deve fornecer e as restrições sob as quais ele deve operar.
Assinale a alternativa correta considerando a abordagem apresentada pelo autor.
Alternativas
Q4065596 Engenharia de Software
A prefeitura municipal de Florianópolis pretende modernizar seu sistema de gestão de processos. O analista de requisitos percebe que os diversos setores envolvidos (Jurídico, Administrativo e TI) possuem visões conflitantes sobre as prioridades do novo software. Para resolver esses conflitos e obter um consenso rápido sobre os requisitos, o analista sugere a realização de sessões de trabalho estruturadas, facilitadas por um moderador neutro, envolvendo tanto os usuários finais quanto a equipe técnica.
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:
Alternativas
Q4065591 Engenharia de Software
No contexto da Engenharia de Requisitos, uma equipe de desenvolvimento identifica que o sistema de pagamentos de uma funcionalidade da prefeitura “deve ser capaz de processar 1.000 transações por segundo sob carga máxima” e que “o sistema deve ser desenvolvido obrigatoriamente na linguagem Java, seguindo o padrão de arquitetura de microserviços do município”.
Com base nas definições clássicas de requisitos, as duas sentenças acima classificam-se, respectivamente, como:
Alternativas
Q4065588 Engenharia de Software
São métodos, técnicas ou conceitos utilizados primariamente para modelar sistemas ou processos de negócio de modo a auxiliar no processo de levantamento de requisitos:
1. BPMN
2. UML
3. COBIT
4. PMBOK
Assinale a alternativa que indica todas as afirmativas corretas.
Alternativas
Q4065567 Engenharia de Software
Um técnico de informática da prefeitura de Florianópolis precisa documentar o processo de configuração de uma nova estação de trabalho.

Analise as afirmativas abaixo sobre as boas práticas de documentação nesse contexto.

1. A documentação deve incluir as versões exatas dos sistemas operacionais e softwares instalados, pois versões diferentes podem ter comportamentos distintos.

2. O uso de capturas de tela (screenshots) é uma boa prática para ilustrar etapas de configuração em manuais técnicos.

3. A organização dos arquivos de documentação em uma estrutura lógica de pastas e com nomenclatura padronizada facilita a localização e o acesso às informações.

4. Uma vez criada, a documentação técnica não precisa ser atualizada, pois as configurações de TI raramente mudam.

Assinale a alternativa que indica todas as afirmativas corretas.
Alternativas
Respostas
1: B
2: B
3: B
4: B
5: D
6: A
7: D
8: B
9: E
10: C
11: E
12: C
13: B
14: A
15: A
16: C
17: D
18: C
19: A
20: B