Questões de Concurso Comentadas sobre engenharia de software
Foram encontradas 12.719 questões
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:
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.
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.
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.
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?
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.
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?
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:
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.