Questões de Concurso Sobre engenharia de software
Foram encontradas 14.770 questões
O Levantamento de Requisitos é o processo no qual o projetista coleta, analisa e documenta as necessidades dos usuários e stakeholders. Entre as técnicas mais empregadas, duas são descritas a seguir.
I. Constitui uma das mais tradicionais e eficazes utilizadas, na qual o desenvolvedor conversa diretamente com os stakeholders para entender as necessidades e expectativas, ressaltando que podem ser formais ou informais, sendo o objetivo obter informações claras e detalhadas sobre o que se espera do software. Uma dica importante é fazer perguntas abertas, para que os pensamentos e as preocupações possam ser compartilhados sem limitações, o que ajuda a identificar requisitos que talvez não fossem mencionados de outra forma.
II. Constitui uma técnica em que o projetista cria uma versão inicial do sistema para testar as ideias antes de iniciar o desenvolvimento completo, permitindo que os stakeholders vejam e interajam com uma versão preliminar do software e forneçam feedback direto. A grande vantagem é que essa técnica ajuda a identificar problemas e a melhorar a interface e as funcionalidades do sistema, antes de se comprometer com o desenvolvimento final.
Essas duas técnicas são conhecidas, respectivamente, como:
UML é uma sigla para uma linguagem de notação destinada à modelagem e à documentação das fases de desenvolvimento de softwares orientados a objetos, que utiliza elementos gráficos, como retângulos, setas e linhas, para criar diagramas, visando a representar as áreas de um software, suas interações e mudanças. Em outras palavras, a UML fornece uma espécie de “desenho” para auxiliar a equipe do projeto a visualizar os aspectos do programa e facilitar a construção. Nesse sentido, a figura ilustra uma ferramenta utilizada no desenvolvimento UML, que tem por objetivo mostrar relacionamentos e representações de funções dos usuários e de outros sistemas que interagem com o produto.

Essa ferramenta é conhecida como diagrama de:
IHM significa Interface Homem-Máquina, um conceito que visa a facilitar a interação entre os usuários e os sistemas, maquinários ou softwares, permitindo a comunicação e a troca de informações entre o homem e a máquina. Entre as principais características de um sistema homem-máquina, uma delas representa a qualidade para o uso de programas e aplicações, referindo-se à facilidade de operação, associada à capacidade que um sistema interativo oferece ao usuário, para a realização de tarefas de maneira eficaz, eficiente e agradável. Essa característica é conhecida como:
O MPS-BR representa uma metodologia direcionada à melhoria do processo do software brasileiro, voltada à área de desenvolvimento de sistemas e criada por organizações ligadas ao desenvolvimento de software. A figura mostra os diferentes níveis de maturidade estabelecidos para o MPS-BR.

Enquanto em um desses níveis ocorre o gerenciamento de riscos, outro envolve a verificação, a validação, além da liberação, instalação e integração de produtos, dentre outras atividades. Esses dois níveis são, respectivamente:
No que concerne ao projeto de desenvolvimento de sistemas de software, o ciclo de vida constitui a estrutura contendo processos, atividades e tarefas, desde a definição dos requisitos até o término de uso. Cabe destacar que o modelo de ciclo de vida é a primeira escolha a ser feita no processo de software, partindo-se da maneira mais adequada de obter as necessidades do cliente, até quando e como o cliente receberá a primeira versão operacional do sistema. Entre os tipos de ciclos de vida, em um as atividades principais englobam a análise e a definição de requisitos, o projeto, a implementação, os testes e, finalmente, a integração. Esse modelo possui o grande mérito de ter sido o primeiro a impor o planejamento e o gerenciamento ao processo de software, que antes era casual, envolvendo uma sequência das fases em que cada uma só começa quando a anterior termina. Nesse ciclo de vida, é dada muita ênfase às fases de análise e de projeto antes de partir para a programação, a fim de que o objetivo do software esteja bem definido e que sejam evitados retrabalhos. Esse ciclo de vida é conhecido como:
Considere o seguinte histórico de commits na branch feature:
A — B — C — D (feature)
O desenvolvedor deseja consolidar os commits B, C e D em um único commit descritivo, mantendo o commit A intacto. Para isso, ele executa:
git rebase -i A
E no editor interativo, altera as linhas para:
pick B Mensagem do commit B
squash C Mensagem do commit C
squash D Mensagem do commit D
Após salvar e editar a mensagem final, ele conclui o rebase. Diante do exposto, assinale a alternativa CORRETA.
•Um desenvolvedor está na branch feature-x e realiza alterações em dois arquivos: index.js e config.json.
•Ele executa git stash push -m "ajustes temporários" para guardar as mudanças.
•Em seguida, ele executa git checkout main e, por engano, roda git stash drop sem especificar o stash.
•Ao perceber o erro, tenta recuperar as alterações com git stash list, mas a lista está vazia.
Diante do cenário, avalie as sentenças a seguir:
O stash pode ser recuperado usando git fsck ou git reflog para localizar o hash do stash e aplicar git stash apply <hash> ou git show <hash> para inspecionar o conteúdo. PORQUE O comando git stash drop sem argumentos remove apenas o stash mais recente e mantém os arquivos modificados no diretório de trabalho.
Acerca dessas sentenças, assinale a alternativa CORRETA.
•A branch main contém o commit A. •A branch feature é criada a partir de main e recebe dois commits: B e C. •Enquanto isso, a branch main recebe um novo commit D.
O desenvolvedor executa o seguinte comando a partir da branch feature:
git rebase main
Após o rebase, ocorre um conflito no commit C. O desenvolvedor resolve o conflito e executa:
git add . git rebase --continue
Diante do exposto, assinale a alternativa CORRETA.
Considere o seguinte arquivo docker-compose.yml:

Diante do exposto, assinale a alternativa CORRETA.
Diante do exposto, assinale a alternativa CORRETA.
COLUNA I
I- Iteração Contínua. II- Protótipo interativo. III- Ideação e Wireframes. IV- Produto Mínimo Viável.
COLUNA II
(__)Ajustes baseados em feedback do usuário e novos cenários.
(__)Validação da usabilidade, clareza visual e engajamento da solução com usuários.
(__)Teste de conceito junto aos usuários, validando a estrutura básica e seus fluxos.
(__)Validação do produto em ambiente real a partir da coleta de dados reais.
Assinale a alternativa que traz a CORRETA associação entre a fase do fluxo de validação do conceito ao produto à sua respectiva definição.
def test_login_success(): result = login("usuario", "senha123") assert result == "Login realizado com sucesso"
Diante do exposto, assinale a alternativa que apresenta a técnica de desenvolvimento empregada pelo desenvolvedor na solução, com a sua respectiva descrição.
I- São aplicados para verificar a interação entre módulos ou serviços.
II- São utilizados para validar o comportamento de componentes isolados, como funções ou métodos.
III- São empregados para garantir a cobertura de código em ambientes de produção.
IV- São comumente executados em ambientes de homologação, mas isso não os restringe a esse contexto.
Assinale a alternativa que traz APENAS características dos Testes de Integração.
Testes unitários são mais eficazes quando escritos após a implementação completa do sistema ao reduzir o retrabalho e o tempo de desenvolvimento. PORQUE A principal função dos testes unitários é verificar o comportamento isolado de unidades de código, como métodos ou funções, utilizando técnicas como mocks e stubs para simular dependências externas.
Acerca dessas sentenças, assinale a alternativa CORRETA.
COLUNA I
I- Gerenciado. II- Otimizado. III- Definido. IV- Gerenciado Quantitativamente.
COLUNA II
(__) A organização começa a estabelecer processos básicos. São implementadas práticas de planejamento e controle, com processos documentados e repetíveis para gerenciamento de projetos e atividades relacionadas.
(__) As organizações não só mantêm o controle quantitativo dos processos, mas também promovem inovações e melhorias que maximizam a eficiência e a qualidade.
(__) Os processos tornam-se padronizados e integrados em toda a organização. Eles são adaptados aos projetos específicos e melhorados continuamente, incorporando melhores práticas e lições aprendida.
(__) Enfatiza o uso de métricas e dados quantitativos para gerenciar os processos, coletados e analisados para entender as variações observadas.
Assinale a alternativa que contempla a sequência CORRETA da associação das colunas.