Foram encontradas 60 questões.
Na arquitetura e no projeto de software, a aplicação de Padrões de Projeto (Design Patterns) é fundamental para resolver problemas recorrentes com soluções previamente testadas e otimizadas pela engenharia. Contudo, a eficácia dessas soluções depende da escolha do padrão correto para o cenário arquitetural adequado, evitando a inserção de complexidade desnecessária no código. Relacione a Coluna 1 à Coluna 2, associando os padrões de projeto às suas respectivas situações de aplicabilidade prática.
Coluna 1
1. Singleton.
2. Factory Method.
3. Observer.
Coluna 2
( ) Quando a mudança do estado interno de um objeto precisa ser percebida (mas com baixo acoplamento) por outros objetos, gerando um gatilho para, por exemplo, criação de outros objetos, execução de funções ou recuperação de uma instância única de um objeto, entre outros.
( ) Quando for necessário que uma única instância possa ser visível e acessível globalmente, não sendo possível instanciar duas ou mais instâncias distintas da mesma classe.
( ) Quando uma classe quer delegar a criação de objetos para suas subclasses, encapsulando o conhecimento sobre as subclasses criadas em uma única superclasse.
A ordem correta de preenchimento dos parênteses, de cima para baixo, é:
Provas
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?
Provas
A modelagem orientada a objetos utilizando a Unified Modeling Language (UML) é uma ferramenta essencial na fase de análise e projeto de Software. O Diagrama de Classes, em particular, estabelece a estrutura estática do sistema por meio de classes, seus atributos, operações e os relacionamentos entre os objetos. Sobre as características, o nível de detalhamento e a semântica dos relacionamentos nesse diagrama, analise as assertivas abaixo e assinale V, se verdadeiras, ou F, se falsas.
( ) Para evitar os conflitos de interpretação entre os requisitos do cliente e o código que será efetivamente implementado pelos desenvolvedores, o nível de detalhamento do diagrama de classes (incluindo visibilidade de atributos, tipos de dados rigorosos e assinaturas completas de métodos) deve ser mantido invariavelmente alto desde as fases iniciais da modelagem conceitual.
( ) Na UML, o relacionamento de agregação estabelece um vínculo semântico restrito no qual ocorre uma coincidência de tempo de vida entre os objetos modelados. Nesse tipo de associação, se o objeto contêiner (o “todo”) for destruído da memória, as instâncias exclusivas que formam as suas “partes” também deverão obrigatoriamente ser destruídas, visto que não podem existir de forma independente no sistema.
( ) A relação de generalização permite a modelagem de herança estrutural e comportamental. Na construção do diagrama de classes UML, é totalmente válido modelar uma classe filha com herança múltipla (recebendo características de múltiplas superclasses), ainda que a equipe de desenvolvimento vá implementar o sistema em uma linguagem que não suporta herança múltipla de classes nativamente, como a linguagem Java.
A ordem correta de preenchimento dos parênteses, de cima para baixo, é:
Provas
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?
Provas
Em um SGBD, existem vários motivos possíveis para uma transação falhar no meio de sua execução, exigindo que o SGBD atue para manter a consistência dos dados. Com base nas causas que levam à falha de uma transação, assinale a alternativa INCORRETA.
Provas
O tratamento de exceções é um recurso fundamental para a construção de softwares robustos, seguros e tolerantes a falhas. Com base nas boas práticas e nos conceitos de tratamento de exceção, assinale a alternativa INCORRETA.
Provas
A API JDBC (Java Database Connectivity) fornece um conjunto de interfaces e classes padronizadas no pacote java.sql para que aplicativos Java interajam com diversos sistemas de banco de dados relacionais. Considerando o cenário em que um desenvolvedor está implementando a rotina de acesso a dados de uma aplicação, analise o trecho abaixo:
Para iniciar o acesso, o desenvolvedor utiliza um método estático da classe _____________, que avalia a URL fornecida e tenta estabelecer a comunicação carregando o driver apropriado para o banco de dados. O sucesso dessa operação retorna um objeto que implementa a interface _____________, a qual gerencia a sessão de conexão ativa entre o programa Java e o banco de dados. A partir dessa sessão estabelecida, o programa invoca um método para instanciar um objeto da interface _____________, que será o veículo utilizado para efetivamente enviar as instruções e consultas SQL ao banco de dados.
Assinale a alternativa que preenche, correta e respectivamente, as lacunas com as respectivas classes/interfaces da API JDBC no trecho acima.
Provas
Considere que um administrador de banco de dados (DBA) deseja criar uma nova tabela para registrar os colaboradores de uma empresa. A regra de negócio exige que a matrícula atue como o identificador principal e exclusivo do registro, que o nome seja um texto de tamanho variável (até 100 caracteres) com preenchimento obrigatório, e que exista uma coluna temporal para armazenar a data de contratação. O comando SQL a ser executado para atender a essa especificação é:
CREATE TABLE funcionario (
matricula INT ____________________,
nome ____________________(100) ________________________________________,
data_contratacao ____________________
);
Assinale a alternativa que preenche, correta e respectivamente, as lacunas do script acima.
Provas
Apesar das inegáveis vantagens oferecidas por um Sistema Gerenciador de Banco de Dados (SGBD) para a centralização, o controle e a segurança da informação, a literatura clássica aponta que a adoção dessa tecnologia pode envolver custos adicionais desnecessários em determinados cenários. São circunstâncias sob as quais pode ser mais desejável utilizar arquivos comuns (em vez de SGBD), EXCETO:
Provas
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.
Provas
Caderno Container