Questões de Concurso Comentadas sobre engenharia de software

Foram encontradas 12.719 questões

Ano: 2026 Banca: FSA Órgão: FSA-SP Prova: FSA - 2026 - FSA-SP - Desenvolvedor de Software |
Q4045705 Engenharia de Software

No módulo TOTVS RM Labore, o lançamento da folha de pagamento é o processo que consolida as informações financeiras dos colaboradores. A flexibilidade do sistema permite que regras de negócio específicas sejam implementadas através de Fórmulas de Cálculo, que interagem com o cadastro de Eventos e os dados contratuais do funcionário.



Situação-Problema:



Uma empresa deseja implementar um "Prêmio por Tempo de Casa". A regra define que funcionários com mais de 5 anos de empresa devem receber um valor fixo de R$ 200,00 lançados automaticamente todo mês. Para isso, o analista criou o evento de provento "0150 - Prêmio Antiguidade".



Considerando o processo de parametrização e lançamento, analise as afirmações abaixo:



I. A verificação do tempo de casa (se maior que 5 anos) deve ser feita por uma Fórmula de Cálculo associada ao evento, utilizando funções que consultam a data de admissão do colaborador.


II. Se o valor do prêmio for alterado para R$ 250,00 na fórmula, o sistema atualizará automaticamente todos os envelopes de pagamento que já foram calculados e fechados no mês, sem necessidade de novo lançamento.


III. Para que o valor de R$ 200,00 seja calculado, a fórmula deve ser inserida no campo "Fórmula de Valor" do cadastro do evento, e este evento deve constar no "Grupo de Eventos" utilizado no momento do lançamento da folha.


IV. O uso de fórmulas é considerado uma customização do código-fonte, o que impede que o sistema receba atualizações oficiais da TOTVS (patches) até que as fórmulas sejam removidas.



Assinale a opção correta:

Alternativas
Q4041497 Engenharia de Software
No contexto do Spring Boot, algumas soluções permitem reduzir tarefas manuais, acelerar testes e facilitar ajustes durante a implementação da aplicação. Considerando esse cenário, é correto afirmar que:  
Alternativas
Q4041490 Engenharia de Software
 O modelo de classes de Análise da Modelagem Orientada a Objetos representa os objetos que o sistema irá manipular, as operações que serão aplicadas a esses objetos, além das relações entre os objetos e as colaborações que ocorrem entre as classes. Uma classe é uma abstração de itens que representam as coisas importantes para os usuários, modelando elementos que fazem parte do seu cotidiano. Com isso, é possível facilitar a compreensão, resultando em validações de modelo mais ágeis. Uma classe bem estruturada tem como requisitos: 
Alternativas
Q4041489 Engenharia de Software
Com o objetivo de reaproveitar a especificação de comportamentos comuns, os Casos de Uso podem se relacionar através de generalização, inclusão e extensão. O objetivo do relacionamento de extensão é ser utilizado para representação: 
Alternativas
Q4041481 Engenharia de Software
Muitos problemas surgem de forma recorrente a cada novo projeto, sendo possível estabelecer soluções pré-convencionadas para reaproveitamento futuro. A solução, no entanto, somente será eficaz se for apropriada ao contexto do problema, pois no mundo do software, a predefinição de padrões pode ser muito granularizada para aplicação prática repetitiva. Muitas vezes é necessário fornecer uma infraestrutura mínima, específica para implementação, que pode conter vários padrões, sendo denominada: 
Alternativas
Q4041480 Engenharia de Software
Mudanças são inevitáveis quando um software é construído e podem causar confusão quando os membros de uma equipe estão trabalhando num projeto. Se as alterações não forem controladas, elas controlarão o processo. Por isso a importância da gestão de configuração de software. Em um sistema de controle desse tipo de gestão, quatro importantes conjuntos de elementos devem existir. Um deles deve conter uma coleção de procedimentos e tarefas que definem uma abordagem eficaz de gestão de alterações (e atividades relacionadas) para todas as partes envolvidas em gestão, engenharia e uso do software. Este conjunto é composto pelos elementos:  
Alternativas
Q4041479 Engenharia de Software
O Processo Unificado é uma tentativa de aproveitar muitos dos melhores recursos e características dos modelos tradicionais de processo de software. Ele reconhece a importância da comunicação e de métodos racionalizados para descrever a visão do cliente sobre um sistema. Não obstante, mesmo sem abandonar suas atividades clássicas (concepção, elaboração, construção e transição), é possível acrescentar também uma camada serial, agregando-se a filosofia “serial para o que é amplo” e “iterativa para o que é particular”. Com isso, o modelo pode ser enriquecido com muitos dos melhores princípios do desenvolvimento ágil de software, resultando em: 
Alternativas
Q4038043 Engenharia de Software
Analise as afirmativas a seguir a respeito da ferramenta de versionamento Git e assinale a alternativa correta.

I. Git é um sistema de controle de versão distribuído, o que significa que cada desenvolvedor possui uma cópia completa do repositório, incluindo todo o histórico de mudanças.
II. Uma branch (ramificação) permite que você trabalhe em uma cópia do código separadamente do resto do projeto. Isso é útil para desenvolver novas funcionalidades, corrigir bugs ou experimentar novas ideias sem afetar o código principal.
III. Criar um clone de um repositório significa copiar um repositório inteiro da sua máquina local para um servidor.
IV. O pull é o processo de enviar suas mudanças locais para um repositório remoto.
Alternativas
Q4038037 Engenharia de Software
Assinale a alternativa que contém apenas papéis previstos no framework ágil Scrum.
Alternativas
Q4038030 Engenharia de Software
Considere as seguintes descrições, correspondentes ao conteúdo da seção “intenção” do catálogo de design patterns (padrões de projeto), e assinale a alternativa que completa correta e respectivamente as três lacunas, considerando sua ordem numérica destacada no texto.

1. _______________: incorpora responsabilidades adicionais a um objeto dinamicamente. Esse padrão fornece uma alternativa flexível à produção de subclasses para estender a funcionalidade.
2. _______________: provê um substituto ou espaço reservado a outro objeto, para controlar o acesso a este.
3. _______________: fornece uma interface unificada para um conjunto de interfaces em um subsistema. Esse padrão define uma interface de nível mais alto, que torna o subsistema mais fácil de usar.
Alternativas
Q4036202 Engenharia de Software
Um Analista está desenvolvendo um sistema para gerenciar informações financeiras em uma agência de fomento. Durante os testes, ele percebe que algumas consultas ao banco de dados e procedimentos automáticos não estão funcionando corretamente. Para garantir que o sistema execute as operações conforme esperado, ele precisa realizar o processo de identificar, analisar e corrigir erros nos algoritmos e programas utilizados. Diante disso, qual é o nome desse processo?
Alternativas
Q4033741 Engenharia de Software

Um dos maiores benefícios dos sistemas de controle de versão distribuídos é a capacidade de alternar rapidamente entre diferentes contextos de trabalho. Considere o seguinte cenário:


Um desenvolvedor estava trabalhando ativamente em um repositório local, inserindo código na branch novo-botao-save. Antes de concluir a funcionalidade, recebeu um chamado urgente para corrigir um bug crítico na tela de login que já estava em produção. Para resolver o problema partindo de uma base de código estável, ele guardou temporariamente suas alterações inacabadas e utilizou o comando git _______ master para mudar seu diretório de trabalho para a branch principal (master). Logo em seguida, para manter o isolamento da correção, ele criou e acessou simultaneamente uma nova branch chamada correcao-bug-login por meio do comando git _______ -b correcao-bug-login. Após realizar as correções necessárias e registrar o commit localmente, ele finalizou sua tarefa atualizando o repositório remoto com a nova branch utilizando o comando git _______ origin correcao-bug-login.


Assinale a alternativa que preenche, correta e respectivamente, as lacunas do trecho acima.

Alternativas
Q4033740 Engenharia de Software
Durante o processo de versionamento de um software utilizando o Git, um desenvolvedor executou um commit em seu repositório local. Imediatamente após a ação, ele percebeu que havia executado o comando muito cedo: esqueceu de adicionar um arquivo importante à área de preparação (stage) e escreveu a mensagem descritiva de forma equivocada. Como o commit ainda não foi enviado para o repositório remoto, o desenvolvedor deseja refazê-lo, incorporando o arquivo esquecido e corrigindo a mensagem, de modo a sobrescrever o registro anterior sem criar um commit adicional no histórico. Após adicionar o arquivo pendente ao stage, qual é o comando a se executar para atingir esse objetivo diretamente, sem a necessidade de comandos adicionais?
Alternativas
Q4033739 Engenharia de Software
O teste de aceitação é uma fase inerente ao desenvolvimento de sistemas customizados, ocorrendo após os testes de release. Consiste em um processo formal de avaliação conduzido pelo cliente para determinar se o software atende às necessidades do negócio e se o pagamento pelo produto deve ser efetuado. Com base nas etapas que compõem o processo de teste de aceitação, assinale a alternativa INCORRETA.
Alternativas
Q4033738 Engenharia de Software
O teste unitário atua na base do controle de qualidade de software, focando na verificação de componentes individuais, como métodos e classes de objetos. A respeito das técnicas e dos desafios associados ao projeto de testes unitários para sistemas orientados a objetos, assinale a alternativa INCORRETA.
Alternativas
Q4033736 Engenharia de Software

A modelagem de sistemas orientados a objetos permite visualizar a arquitetura do software sob diferentes perspectivas, facilitando a comunicação e a documentação técnica. Com base nas categorias clássicas de modelos de sistemas (interação, estrutural e comportamental) e no uso dos diagramas da UML, analise as assertivas abaixo:



I. Modelos de interação representam a comunicação entre o sistema e seu ambiente operacional ou entre os componentes internos do próprio sistema. O Diagrama de Sequência pertence a essa categoria, tendo como objetivo modelar a ordem cronológica das trocas de mensagens entre os objetos instanciados para a execução de um cenário específico.


II. Modelos estruturais descrevem a organização estática do software e a estrutura dos dados que serão processados pela aplicação. O Diagrama de Classes pertence a essa categoria, sendo o seu objetivo primordial representar graficamente as relações entre os dados, os desvios condicionais e o paralelismo das operações lógicas executadas pelos módulos do sistema.


III. Modelos comportamentais ilustram o comportamento dinâmico do sistema durante a sua execução. O Diagrama de Atividades enquadra-se nessa classificação, possuindo como objetivo detalhar o fluxo de controle de um processo de negócio ou computacional, evidenciando a sequência de ações, os desvios condicionais e o paralelismo das operações.



Quais estão corretas?

Alternativas
Q4033734 Engenharia de Software

A elaboração do Documento de Requisitos exige uma separação clara entre os níveis de abstração e a natureza técnica das necessidades de um projeto. Descrições em linguagem natural e diagramas gerais são essenciais para validar a ideia com stakeholders, mas frequentemente são ambíguas e inadequadas para guiar diretamente o desenvolvimento. Essas descrições compõem os requisitos _____________. Para solucionar essa ambiguidade, elabora-se uma especificação técnica detalhada, que serve como contrato e guia exato para a equipe técnica, denominada requisitos _____________. Independentemente do nível de detalhamento documental, as necessidades também se dividem quanto à sua natureza: as descrições dos serviços exatos que o software deve fornecer e como deve reagir a entradas específicas formam os requisitos _____________. Em contrapartida, as restrições que afetam as propriedades emergentes do sistema como um todo são os requisitos ______________.


Assinale a alternativa que preenche, correta e respectivamente, as lacunas do trecho acima.

Alternativas
Q4033732 Engenharia de Software

Um modelo de processo de software é uma representação abstrata que descreve uma abordagem para o desenvolvimento. Na prática, compreender as diferenças estruturais desses modelos é essencial para a escolha da metodologia adequada a cada projeto. Considerando os modelos genéricos de processo de software, analise as assertivas abaixo:



I. No modelo em cascata, o fluxo de trabalho é estruturado de forma linear e sequencial, exigindo que cada etapa fundamental seja concluída e validada individualmente antes que a fase subsequente possa ser iniciada.


II. O modelo espiral caracteriza-se pela execução de iterações de desenvolvimento focadas na rápida entrega de código e na prototipação informal, dispensando a realização de análises de riscos formais para formar uma espiral de entregas e validações rápidas.


III. O modelo de desenvolvimento incremental baseia-se na divisão do sistema em incrementos funcionais (partes autônomas), permitindo que os requisitos mais críticos ou de maior prioridade para o negócio sejam desenvolvidos e entregues nas primeiras iterações do ciclo de vida.



Quais estão corretas?

Alternativas
Q4032648 Engenharia de Software

A UML (Unified Modeling Language) disponibiliza diferentes tipos de diagramas para representar aspectos estruturais e comportamentais de sistemas de software. Cada diagrama possui um propósito específico e é adequado para diferentes contextos de modelagem.


Diante disso, analise as afirmativas a seguir:


I. O diagrama de classes representa a estrutura estática do sistema, descrevendo classes, atributos, métodos e os relacionamentos entre elas.


II. O diagrama de sequência modela a interação entre objetos ao longo do tempo, evidenciando a troca de mensagens em ordem cronológica.


III. O diagrama de atividades é utilizado exclusivamente para modelar o comportamento interno de métodos de classes, não sendo adequado para representar fluxos de processos de negócio.


IV. O diagrama de casos de uso tem como objetivo descrever os requisitos funcionais do sistema sob a perspectiva dos atores externos que interagem com ele.


Estão CORRETAS:

Alternativas
Q4032647 Engenharia de Software

Os diagramas de casos de uso da UML descrevem os requisitos funcionais de um sistema sob a perspectiva dos atores externos que interagem com ele. Para expressar relações de dependência e reuso entre casos de uso, a UML define os estereótipos <<include>> e <<extend>>, que possuem semânticas distintas. Diante disso, assinale a alternativa que descreve CORRETAMENTE a diferença entre essas duas relações.

Alternativas
Respostas
1: B
2: A
3: B
4: C
5: C
6: A
7: B
8: B
9: D
10: A
11: E
12: A
13: A
14: D
15: C
16: C
17: E
18: C
19: D
20: C