- ID
- 2630140
- Banca
- FAURGS
- Órgão
- HCPA
- Ano
- 2016
- Provas
- Disciplina
- Arquitetura de Software
- Assuntos
Considere as afirmações abaixo sobre as estratégias de herança no Hibernate.
I - A herança simples pode ser mapeada para uma tabela única por hierarquia de classe, sendo que uma única tabela armazena todas as instâncias de uma hierarquia de classes.
II - A herança múltipla pode ser mapeada para tabelas distintas tanto para a superclasse quanto para as subclasses.
III - A herança simples pode ser mapeada para uma tabela por classe concreta. Cada tabela armazena as propriedades da classe e de suas superclasses, isto é, o estado da entidade é armazenado na tabela inteiramente dedicada para a sua classe.
Quais estão corretas?
Considere as afirmações abaixo sobre a estrutura de um bloco PL/SQL.
I - A seção declarativa é uma seção opcional e deve ser utilizada somente quando variáveis, cursores, exceções e/ou tipos construídos forem requeridos na resolução do problema.
II - A seção executável é obrigatória na construção de um bloco e compreende o conjunto de instruções para a resolução do problema do bloco que será construído.
III - A seção de tratamento de exceções é opcional e deve ser utilizada somente quando houver necessidade de tratamento de erros que podem ocorrer durante a execução do bloco.
Quais estão corretas?
O resultado de duas consultas pode ser combinado na linguagem PostgreSQL através da seguinte sintaxe:
comando1 UNION [ALL] comando2
comando1 INTERSECT [ALL] comando2
comando1 EXCEPT [ALL] comando2
Com base nessa sintaxe, é correto afirmar que
Analise a sintaxe para gatilhos do PostgreSQL.
CREATE TRIGGER nome { BEFORE | AFTER } { evento [ OR ... ] }
ON tabela [ FOR [ EACH ] { ROW | STATEMENT } ]
EXECUTE PROCEDURE nome_da_função ( argumentos )
A respeito dessa sintaxe, assinale a alternativa que apresenta a afirmação correta.
Considere a tabela relacional abaixo.
EMPREGADO_PROJETO
(num_empregado, num_projeto, horas_trabalhadas, nome_empregado, nome_projeto, localização_projeto)
Nessa tabela, não se pode inserir um projeto, a menos que um empregado esteja associado. Por outro lado, não se pode inserir um empregado, a menos que esteja associado a um projeto. Esse é um exemplo de
Uma relação está na _____________ se todos os seus atributos são monovalorados e atômicos.
Assinale a alternativa que completa, corretamente, a lacuna da afirmação acima.
Considere as seguintes afirmações sobre Scrum.
I - Scrum não prescreve o uso de práticas de programação, como programação em pares e desenvolvimento test-first. Portanto, pode ser usado com abordagens ágeis mais técnicas, como XP, para fornecer um framework de gerenciamento de projeto.
II - Um sprint do Scrum é uma unidade de planejamento na qual o trabalho a ser feito é avaliado, os recursos para o desenvolvimento são selecionados e o software é implementado. No fim de um sprint, a funcionalidade completa é entregue aos stakeholders.
III - Toda a equipe participa das reuniões diárias; às vezes, essas são feitas com os participantes em pé (stand up), de forma muito rápida, para a manutenção do foco da equipe. Durante a reunião, todos os membros da equipe compartilham informações e descrevem seu progresso desde a última reunião, debatendo os problemas que surgiram desde então e o que está planejado para o dia seguinte.
Quais estão corretas?
No Scrum, o ponto de partida para o planejamento é _____________, que é a lista do trabalho a ser feito no projeto. Durante a fase de avaliação do sprint, essa lista é revista, e as prioridades e o riscos são identificados. O cliente está intimamente envolvido nesse processo e, no início de cada sprint, pode introduzir novos requisitos ou tarefas.
Assinale a alternativa que completa, corretamente, a lacuna do trecho acima.
Sobre teste de unidade, considere as afirmações abaixo.
I - Sempre que possível, deve-se automatizar os testes de unidade. No entanto, se deseja-se realizar testes manuais, pode-se usar um framework de teste (como JUnit) para escrever e executar testes do programa.
II - Um teste automatizado tem três partes. Há uma parte de configuração, em que se inicia o sistema com o caso de teste, ou seja, as entradas e saídas esperadas; há uma parte de chamada, em que se chama o objeto ou método a ser testado; há uma parte de afirmação, em que se compara o resultado da chamada com o resultado esperado. Se a afirmação avaliada for verdadeira, o teste foi bem sucedido; se for falsa, houve falha no teste.
III - É muito importante a escolha de casos de teste efetivos. Deve-se, portanto, escrever dois tipos de casos de teste. O primeiro deve refletir o funcionamento normal de um programa e deve mostrar que o componente funciona. Por exemplo, se está sendo testado um componente que cria e inicia um novo registro de paciente, o caso de teste deve mostrar que o registro existe no banco de dados e que os campos foram criados como especificados. Outro tipo de caso de teste deve ser baseado em testes de experiência, nos quais surgem os problemas mais comuns. Devem-se usar entradas anormais para verificar que essas sejam devidamente processados e que não façam o componente falhar.
Quais estão corretas?
Sobre JSF 2.0, considere as afirmações abaixo.
I - JSF é projetado para aliviar significativamente o ônus da escrita e manutenção de aplicativos que são executados em um servidor de aplicativos Java e também para tornar as suas interfaces com usuário mais focadas no cliente.
II - JSF está incluído na plataforma Java EE; portanto, podem-se criar aplicativos que usem JSF, sem acrescentar quaisquer bibliotecas extras ao seu projeto. JSF funciona igualmente bem como um framework web autônomo (standalone), capaz de ser usado com Spring.
III - JSF 2.0 fornece uma API comum JavaScript que pode ser usada pelos componentes de interface do usuário para ajudar a promover a interoperabilidade.
Quais estão corretas?
JSF 2 possui um mecanismo denominado ___________ que realiza a checagem da consistência dos dados de entrada fornecidos para cada componente EditableValueHolder na árvore de componentes. JSF 2 define uma suite padronizada de implementações que realizam um variedade de checagens comumente requeridas.
Assinale a alternativa que completa, corretamente, a lacuna do texto acima.
Sobre Maven, considere as afirmações abaixo.
I - Maven fornece uma abundância de informações úteis sobre o projeto, que são, em parte, retiradas do seu Project Object Model (POM) e, em parte, geradas a partir dos fontes do projeto. O Maven pode fornecer, por exemplo, log de alterações de documentos.
II - Maven visa tornar o processo de build mais fácil e prover um sistema de build uniforme, adotando o Project Object Model (POM) e um conjunto de plugins.
III - Apesar de ser muito útil para suporte a builds, Maven não provê apoio à especificação e à execução de testes de unidade como parte normal de um ciclo de build.
Quais estão corretas?
Sobre Versionamento e Gerenciamento de Versões, considere as afirmações abaixo.
I - O gerenciamento de versões é o processo de acompanhamento de diferentes versões de componentes de software ou itens de configuração e dos sistemas em que esses componentes são usados. Refere-se também à garantia de que as mudanças feitas por diferentes desenvolvedores para essas versões não interfiram umas nas outras.
II - Em um sistema de gerenciamento de versões com uma variedade de recursos, desenvolvedores diferentes não podem trabalhar, ao mesmo tempo, no mesmo componente, pois se o fizessem, as mudanças feitas por diferentes desenvolvedores poderiam interferir umas nas outras.
III - Os sistemas de gerenciamento de versões fornecem, em geral, recursos de gerenciamento de armazenamento. Sua função é reduzir o espaço de armazenamento requerido pelas várias versões de componentes, que diferem apenas ligeiramente umas das outras. Em vez de manter uma cópia completa de cada versão, o sistema armazena uma lista de diferenças (deltas) entre uma versão e outra.
Quais estão corretas?
Considere os itens abaixo.
I - Depuração simplificada: quando um teste falha, a localização do problema deve ser óbvia.
II - Diminuição da necessidade de cobertura de código: nem todo segmento de código que é escrito deve ter um teste associado.
III - Documentação do sistema: os testes agem como uma forma de documentação, descrevendo o que o código deve estar fazendo.
Quais são benefícios do uso do Desenvolvimento Dirigido por Testes (TDD)?
A uma coleção de versões de componentes que compõem um sistema, dá-se o nome de ___________. Há um controle sobre essa coleção, o que significa que as versões dos componentes que constituem o sistema não podem ser alteradas e, portanto, deveria ser sempre possível recriar a coleção a partir de seus componentes.
Assinale a alternativa que preenche, corretamente, a lacuna do texto acima.
Sobre PrimeFaces, considere as afirmações abaixo.
I - HtmlEditor, Dialog, AutoComplete e Charts são exemplos de componentes disponibilizados por PrimeFaces.
II - Dialog Framework (DF) é usado para abrir uma página xhtml externa em um diálogo que é gerado dinamicamente a tempo de execução.
III - PrimeFaces Mobile (PFM) é um kit de interface com usuário (UI) para criar aplicações JavaServer Faces (JSF) otimizadas para dispositivos móveis.
Quais estão corretas?
Sobre Desenvolvimento Dirigido por Testes (TDD), considere os itens abaixo.
I - Teste Isolado (Isolated Test)
II - Teste Primeiro (Test First)
III - Teste de Explicação (Explanation Test)
Quais são padrões para TDD?
Métricas de produto são usadas para medir atributos de qualidade de um sistema de software. Por definição, ____________ é a medida do número de métodos que poderiam ser executados em resposta a uma mensagem recebida por um objeto dessa classe. Quanto maior o seu valor, mais complexa é a classe e, portanto, mais provável que inclua erros.
Assinale a alternativa que preenche, corretamente, a lacuna do texto acima.
Considere as afirmações abaixo em relação à herança, um dos principais conceitos de programação orientada a objetos.
I - A herança permite a criação de hierarquias de classes, e a raiz dessa árvore deve ser uma classe abstrata.
II - As classes derivadas de uma determinada classe são chamadas de subclasses.
III - Superclasses são classes a partir das quais foram definidas subclasses.
Quais estão corretas?
No que se refere a classes abstratas e polimorfismo, assinale com V (verdadeiro) ou F (falso) as afirmações abaixo.
( ) Classes abstratas não podem ser instanciadas.
( ) Todos os métodos de uma classe abstrata devem estar sobrescritos na classe concreta que a estende.
( ) Uma classe concreta corresponde a uma generalização de uma classe abstrata.
( ) Diferentes classes concretas de uma mesma classe abstrata podem sobrescrever o mesmo método.
A sequência correta de preenchimento dos parênteses, de cima para baixo, é
Numere a segunda coluna de acordo com a primeira, associando os tipos de direito de acesso a métodos de uma classe às respectivas características.
(1) Private
(2) Protected
(3) Public
( ) Métodos que podem ser acessados em classes externas ao respectivo package.
( ) Métodos que só podem ser chamados dentro da classe em que estão definidos.
( ) Métodos que podem ser chamados dentro das classes derivadas daquela em que estão definidos.
A sequência correta de preenchimento dos parênteses da segunda coluna, de cima para baixo, é
Para responder a questão, considere o código abaixo.
1 List<Integer>
A respeito do código acima, considere as seguintes afirmações.
I - A declaração na linha fonte 1 faz uso do conceito de Generics em Java.
II - A linha fonte 2 contém uma chamada de método para adicionar um objeto do tipo primitivo inteiro na estrutura minhaLista.
III - Uma operação de cast na linha 3 é necessária porque minhaLista pode conter objetos de qualquer tipo.
Quais estão corretas?
Para responder a questão, considere o código abaixo.
1 List<Integer>