Buscar

DESENVOLVIMENTO DE SOFTWARE

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 35 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 35 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 35 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

DESENVOLVIMENTO DE SOFTWARE
1a aula
	
	 
	
	
	
	 
	
	
	 1a Questão
	
	
	
	
	Quais das seguintes senteças é verdadeira sobre a linguagem Java.
		
	 
	Multiplataforma, Fortemente Tipado e Case sensetive
	
	Multiplataforma, Fortemente Tipado e Case Insensetive
	
	Plataforma Windows, Fortemente Tipado e Case sensetive
	
	Ambiente Windows, Fortemente Tipado e Case Insensetive
	
	Multiplataforma, Fracamente Tipado e Case sensetive
	Respondido em 25/04/2020 17:24:39
	
Explicação:
Multiplataforma, Fortemente Tipado e Case sensetive
	
	
	
	 2a Questão
	
	
	
	
	Considerando que as variáveis inteiras a e b foram previamente declaradas e inicializadas, qual das opções seguintes apresentaria erro de compilação para o comando for?
		
	
	for(; a <= b;)
	
	for(a=1,b=5; a < b ;a++,b--)
	
	for(; ++a < b-- ;)
	
	for(a=1;b >= a*2;b--)
	 
	for(a=1; a = 10; a++)
	Respondido em 25/04/2020 17:24:45
	
Explicação:
No comando for, a seção de teste aceita apenas um valor booleano, e não inteiro, como ocorre em a=10. Lembrando que a comparação é feita com ==.
	
	
	
	 3a Questão
	
	
	
	
	Qual das IDEs abaixo não implementa código java?
		
	
	BlueJ
	
	Jcreator
	 
	JDelphi
	
	Eclipse
	
	Netbeans
	Respondido em 25/04/2020 17:24:53
	
Explicação:
Jdelphi nem é uma IDE
	
	
	 
	
	 4a Questão
	
	
	
	
	Considerando o código seguinte, em Java, quais os valores de x,y e w, respectivamente?  
int a = 5, b = 32, c = 7;     
boolean x, y, w;   
x = (b > a) && (c > b);  
y = (b < c) || (a < b - c);   
w = (a + c < b) && !(c > a); 
 
		
	
	true, false e true
	 
	false, true e false
	
	true, false e false
	
	false, true e true
	
	true, true e false
	Respondido em 25/04/2020 17:25:07
	
Explicação:
T && F -> F,  F || T -> T,  T && !T -> T && F -> F
	
	
	
	 5a Questão
	
	
	
	
	__________________ é a tecnologia que gerencia a memória alocada para um programa, a fim de liberar objetos que não estão sendo utilizados. Complete a questão escolhendo um dos itens a sequir:
		
	
	Java Collector
	
	Java Clean
	
	Garbage Drunk
	
	Java Virtual Machine
	 
	Garbage Collector
	Respondido em 25/04/2020 17:25:30
	
Explicação:
O coletor de lixo, ou Garbage  Collector, elimina da memória os objetos que não podem mais ser referenciados.
	
	
	
	 6a Questão
	
	
	
	
	Indique a opção que apresenta apenas operadores relacionais.
		
	
	Operadores &, |, ^ e !
	
	Operadores >, <, = e !
	
	Operadores +, -, < e ^
	 
	Operadores >=, <, == e !=
	
	Operadores +, -, * e /
	Respondido em 25/04/2020 17:25:37
	
Explicação:
Operadores relacionais analisam relações entre números, podendo ser >, <, >=, <=, == ou !=.
	
	
	
	 7a Questão
	
	
	
	
	Qual das opções abaixo não é um tipo primitivo Java?
		
	
	float
	
	double
	
	boolean
	 
	text
	
	int
	Respondido em 25/04/2020 17:25:35
	
Explicação:
não existe tipo primitivo text
	
	 
	DESENVOLVIMENTO DE SOFTWARE
2a aula
	
	 
	
	
	
	 
	
	
	 1a Questão
	
	
	
	
	Podemos dizer que é um modelo para criação de objetos.
		
	
	Herança
	
	Polimorfismo
	 
	Classe
	
	Objeto
	
	Conexão
	Respondido em 25/04/2020 17:29:07
	
Explicação:
A classe funciona para os objetos como um "tipo" para uma "variável", pois define o molde ou domínio que será adotado pelos objetos criados.
	
	
	
	 2a Questão
	
	
	
	
	Quando existe a necessidade de reescrever um método herdado da classe pai, mantendo a mesma assinatura que o método original, incluindo mesmo nome, mesmo tipo de dado de retorno e mesma lista de parâmetros, estamos nos referindo a que técnica?
		
	
	Encapsulamento
	
	Herança
	
	Agregação
	
	Sobrecarga
	 
	Sobrescrita
	Respondido em 25/04/2020 17:29:07
	
Explicação:
O polimorfismo, ou sobrescrita, consiste na possibilidade de recriar um método herdado, mantendo sua assinatura, o que é diferente de sobrecarga, onde são utilizadas múltiplas assinaturas para um mesmo método ou função.
	
	
	
	 3a Questão
	
	
	
	
	Qual a função do encapsulamento?
		
	
	Instanciar um objeto dentro de classes privadas.
	 
	Impedir o acesso direto a um atributo.
	
	Fazer a transferência de dados segura entre usuário e servidor.
	
	Cria novos objetos.
	
	Fazer uma conexão entre usuário e servidor.
	Respondido em 25/04/2020 17:29:20
	
Explicação:
Tradicionalmente o encapsulamento é feito com o uso de getters e setters públicos para o controle do acesso aos atributos privados.
	
	
	
	 4a Questão
	
	
	
	
	O tipo de visibilidade que permite acesso aos recursos da príopria Classe e seus descendentes é:
		
	
	void
	
	public
	
	private
	 
	protected
	
	inner
	Respondido em 25/04/2020 17:29:29
	
Explicação:
protected
	
	
	
	 5a Questão
	
	
	
	
	Quando falamos das ações que um objeto pode realizar estamos nos referindo a:
		
	
	Agrupamentos
	
	Nível de Acesso
	
	Herança
	
	Atributos
	 
	Métodos
	Respondido em 25/04/2020 17:29:41
	
Explicação:
Os elementos básicos de uma classe são os métodos, definindo ações que podem ser executadas, e atributos, com as características físicas do objeto que será instanciado.
	
	
	
	 6a Questão
	
	
	
	
	Em termos de herança, em determinadas situações é necessário acessar um método do pai a partir do método de mesmo nome do filho, quando tratamos de uma operação sobrescrita no processo de polimorfismo. Qual palavra reservada do Java permite este acesso?
		
	
	this
	
	new
	
	extends
	 
	super
	
	implements
	Respondido em 25/04/2020 17:29:53
	
Explicação:
A palavra super é utilizada quando desejamos acessar um método existente no pai ou outra superclasse da linha hierárquica, podendo ser utilizado inclusive em construtores.
	
	
	
	 7a Questão
	
	
	
	
	Acerca de interfaces, na sintaxe Java, qual a informação correta?
		
	
	Deve ser definida com o uso de abstract class.
	
	É implementada pelas classes com o uso de extends.
	
	Define regras para o comportamento de classes de uma mesma família.
	 
	É um elemento totalmente abstrato, com um conjunto de assinaturas de métodos.
	
	Permite a definição de métodos concretos.
	Respondido em 25/04/2020 17:30:19
	
Explicação:
Uma interface é definida pela palavra interface e implementada com o uso de implements. Contém apenas assinaturas de métodos que podem ser implementados por qualquer classe, diferentemente de classes abstratas, que definem regras para uma família específica de classes descendentes.
	
	 
	DESENVOLVIMENTO DE SOFTWARE
3a aula
	
	 
	
	
	
	 
	
	 1a Questão
	
	
	
	
	Acerca das anotações, é correto afirmar:
		
	
	São classes que servem para guardar lembretes durante o processo de programação.
	
	Não permitem a definição de valores default, e qualquer parâmetro definido precisa ser preenchido durante a utilização.
	
	É apenas um tipo de comentário que surgiu na versão 5 do Java.
	
	São interfaces comuns, que devem ser implementadas pelas classes com o uso de implements.
	 
	São metadados anexados aos elementos de programação que podem ser recuperados através de reflexividade computacional.
	Respondido em 25/04/2020 17:33:54
	
Explicação:
As anotações são metadados não serializáveis que podem ser anexados aos elementos de programação para o reconhecimento posterior a partir de ferramentas externas. Não se trata de comentários simples, a definição é feita com o uso de @interface e elas aceitam valores default.
	
	
	
	 2a Questão
	
	
	
	
	A biblioteca Java apresentam diversos tipos de estruturas de coleção, através do framework Collections. Uma destas estruturas funciona da mesma forma que uma tabela, com o relacionamento entre uma chave única e um conjunto de dados. Qual é esta estrutura?
		
	 
	HashMap
	
	ArrayList
	
	Collection
	
	List
	
	Vector
	Respondido em 25/04/2020 17:34:04
	
Explicação:
O uso de HashMap viabiliza a construção de coleções de pares chave-valor, onde aschaves não permitem duplicidade.
	
	
	
	 3a Questão
	
	
	
	
	Quando se cria um programa de computador em Java, há possibilidade de ocorrerem erros imprevistos durante sua execução. Esses erros são conhecidos como exceções e podem ser provenientes de falhas na lógica ou acesso a dispositivos ou arquivos externos. As exceções, portanto, ocorrem quando algo imprevisto acontece, e elas podem ser provenientes de erros de lógica ou acesso a recursos que talvez não estejam disponíveis. Sobre o tratamento de exceções em Java, assinale a afirmativa INCORRETA.
		
	
	A cláusula catch nem sempre é executada.
	
	Uma exceção é sempre um objeto do tipo Throwable.
	
	A cláusula try sempre é executada, mas a sequencia completa pode ser interrompida por uma exceção.
	 
	As exceções em Java são fixas e não é possível definir novas exceções.
	
	A cláusula finally é sempre executada, mesmo ocorrendo o fluxo em um bloco try/catch.
	Respondido em 25/04/2020 17:34:15
	
Explicação:
No Java é possível definir exceções de forma muito simples, bastando derivar da classe Exception ou de suas descendentes.
	
	
	
	 4a Questão
	
	
	
	
	Qual das palavras reservadas abaixo não fazem parte do tratamento de excessões?
		
	
	catch
	
	try
	
	throw
	 
	out
	
	finally
	Respondido em 25/04/2020 17:34:10
	
Explicação:
out
	
	
	
	 5a Questão
	
	
	
	
	A linguagem Java traz algumas palavras específicas para o tratamento de execeções, definindo o controle de fluxo para estas situações. Qual palavra é utilizada para definir um bloco de execução obrigatória, mesmo que na ocorrência de exceção? 
		
	
	catch
	
	throw
	
	try
	 
	finally
	
	throws
	Respondido em 25/04/2020 17:34:27
	
Explicação:
O comando try (tentar) serve para definir um bloco protegido, sendo o fluxo de exceção desviado para catch, e finally executado de forma obrigatória. O comando throw lança uma exceção, e o comando throws ecoa para o chamador do método.
		 
	DESENVOLVIMENTO DE SOFTWARE
4a aula
	
	 
	
	
	
	 
	
	 1a Questão
	
	
	
	
	Qual componente gráfico deve ser utilizado para representar opções mutuamente exclusivas em uma janela de cadastro?
		
	
	JTree
	
	JButton
	 
	JRadioButton
	
	JCheckBox
	
	JLabel
	Respondido em 28/04/2020 17:59:33
	
Explicação:
O uso de JRadioButton permite a definição de opções mutuamente exclusivas, ou seja, se uma é marcada, as demais são desmarcadas.
	
	
	 2a Questão
	
	
	
	
	As interfaces ouvintes servem para a captura de eventos no ambiente gráfico criado com o uso de Java. Qual ouvinte deve ser utilizado para a captura do clique sobre um botão ou item de menu?
		
	
	FocusListener
	 
	ActionListener
	
	ChangeListener
	
	KeyListener
	
	ItemListener
	Respondido em 28/04/2020 17:59:32
	
Explicação:
Eventos de clique, como estes, são capturados com o uso de ActionListener e a implementação de seu único método, o actionPerformed.
	
	
	 3a Questão
	
	
	
	
	Qual gerenciador de layout Swing do Java possui essas 5 regiões de distribuição de elementos: north, south, east, west, and center;
		
	
	Spring Layout
	
	Flow Layout
	
	Card Layout
	
	Grid Layout
	 
	Border Layout
	Respondido em 28/04/2020 17:59:59
	
Explicação:
Border
	
	
	 4a Questão
	
	
	
	
	Entre os diversos elementos ouvintes disponibilizados pelas bibliotecas gráficas do Java, qual deles poderia ser utilizado para acompanhar o movimento do mouse sobre o componente?
		
	 
	MouseMotionListener
	
	ActionListener
	
	TextListener
	
	MouseListener
	
	FocusListener
	Respondido em 28/04/2020 18:00:00
	
Explicação:
Para acompanhar o mouse deve ser utilizado MouseMotionListener, e a implementação de seus métodos mouseMoved, para movimentos sem o uso do botão pressionado, e mouseDragged, para situações de tratamento de arraste.
	
	
	 5a Questão
	
	
	
	
	Existem diversas bibliotecas para criação de interfaces gráficas com uso de Java, e duas delas já estão presentes no JDK. Quais são elas?
		
	
	awt e swt
	 
	awt e swing
	
	awt e jdbc
	
	jdbc e swing
	
	swt e swing
	Respondido em 28/04/2020 18:00:10
	
Explicação:
As bibliotecas seriam awt e swing. O pacote swt é voltado para criação de GUI, mas relacionado à IBM, e não ao JDK padrão, e com relação ao jdbc, não se refere a janelas, mas à conexão e manuseio do banco de dados.
	
	
	 6a Questão
	
	
	
	
	As duas bibliotecas para GUI oferecidas pelo JDK trabalham com o uso de conteineres, os quais agrupam componentes visuais sobre eles com o uso de componentes do tipo Layout. Qual Layout trabalha com as posições North, South, East, West e Center?
		
	
	BoxLayout
	
	GridBagLayout
	
	GridLayout
	 
	BorderLayout
	
	FlowLayout
	Respondido em 28/04/2020 18:00:50
	
Explicação:
O correto seria BorderLayout, o qual aceita apenas um componente em cada uma das cinco posições, mas este componente pode ser um painel, com outro layout, como para adicionar os botões de OK e Cancela na posição South, bastando colocá-los em um Panel com FlowLayout.
	
	
	 
	
	 7ª Questão
	
	
	
	
	Normalmente as GUIs do Java são baseadas em eventos, que são tarefas realizadas quando um usuário faz a interação com algum componente GUI, convertendo as ações do usuário em eventos, Qual das ações abaixo não é um evento:
		
	
	Quando usuário clica com o mouse
	 
	Quando usuário deixa computador imóvel
	
	Quando usuário presisona tecla Esc
	
	Quando usuário fecha o programa
	
	Quando usuário move o mouse
	Respondido em 18/04/2020 13:26:54
	
Explicação:
deixa computador parado
	
	 
	DESENVOLVIMENTO DE SOFTWARE
5a aula
	
	 
	
	
	
	 
	
	 1a Questão
	
	
	
	
	No JavaScript, a caixa de mensagem "alert":
		
	
	Permite que o usuário insira um nome e/ou um número dentro da caixa de texto.
	
	Permite que o usuário insira um nome dentro da caixa de texto.
	
	Solicita uma confirmação do usuário, positiva ou negativa.
	
	Permite que o usuário insira um número dentro da caixa de texto.
	 
	Exibe apenas uma informação para o usuário.
	Respondido em 24/04/2020 19:21:59
	
Explicação:
Enquanto alert apenas exibe informações, o prompt solicita uma informação no formato texto, e o confirm pede uma resposta do tipo OK ou Cancel.
	
	
	 2a Questão
	
	
	
	
	As tags responsáveis por quebra de linha, criação de parágrafo e criação de formulários são, respectivamente:
		
	 
	< br > < p > < form >
	
	< p > < br > < form >
	
	< h1 > < p > < br >
	
	< form > < br > < h1 >
	
	< br > < p > < h1 >
	Respondido em 24/04/2020 19:22:02
	
Explicação:
As tags seriam br (break), p (paragraph) e form. A tag h1 define uma fonte de título grande.
	
	
	
	 
	DESENVOLVIMENTO DE SOFTWARE
5a aula
	
	 
	
	
	
	 
	
	 1a Questão
	
	
	
	
	No JavaScript, a caixa de mensagem "alert":
		
	
	Permite que o usuário insira um nome e/ou um número dentro da caixa de texto.
	
	Permite que o usuário insira um nome dentro da caixa de texto.
	
	Solicita uma confirmação do usuário, positiva ou negativa.
	
	Permite que o usuário insira um número dentro da caixa de texto.
	 
	Exibe apenas uma informação para o usuário.
	Respondido em 24/04/2020 19:21:59
	
Explicação:
Enquanto alert apenas exibe informações, o prompt solicita uma informação no formato texto, e o confirm pede uma resposta do tipo OK ou Cancel.
	
	
	 2a Questão
	
	
	
	
	As tags responsáveis por quebra de linha, criação de parágrafo e criação de formulários são, respectivamente:
		
	 
	< br > < p > < form >
	
	< p > < br > < form >
	
	< h1 > < p > < br >
	
	< form > < br > < h1 >
	
	< br > < p > < h1 >
	Respondido em 24/04/2020 19:22:02
	
Explicação:
As tags seriam br (break), p (paragraph) e form. A tag h1 define uma fonte de título grande.
	
	
	
	 
	DESENVOLVIMENTO DE SOFTWARE
6a aula
	
	 
	
	
	
	 
	
	
	 1a Questão
	
	
	
	
	Preencha as lacunas e, em seguida, assinale a alternativa correta.
Uma JSP consisteem uma combinação de ___________ e ___________ , que contêm o código executável, e a marcação estática, como ____________ ou ____________ . O código contido na JSP é identificado e executado pelo ___________ , e a página resultante é enviada para o cliente.
		
	
	tags JSP / HTML / Java / Java Script / servidor
	
	tags JSP / scriplets / HTML / XML / compilador
	
	tags JSP / HTML / Java / Java Script / compilador
	 
	tags JSP / scriplets / HTML / XML / servidor
	
	tags JSP / HTML / Java / XML / servidor
	Respondido em 24/04/2020 19:57:07
	
Explicação:
Os arquivo JSP compreendem diretivas e trechos Java (Scriptlets) encapsulados em documentos XML, XHTML ou HTML, e são trasnformados em Servlet pelo container para a subsequente execução no servidor.
	
	
	 2a Questão
	
	
	
	
	Para a guarda do estado de uma página em chamadas sucessivas, com uso de tecnologia JSF, deve ser utilizado qual escopo em um Managed Bean?
		
	 
	Sessão
	
	Aplicação
	
	Requisição
	
	Sem escopo
	
	Visão
	Respondido em 24/04/2020 19:57:16
	
Explicação:
Com o escopo de sessão (Session), os dados são mantidos no servidor enquanto a conexão estiver ativa.
	
	
	 
	DESENVOLVIMENTO DE SOFTWARE
7a aula
	
	 
	
	
	
	 
	
	
	 1a Questão
	
	
	
	
	Qual o banco de dados que vem como padrão do NetBeans, sendo totalmente construído em Java?
		
	 
	Derby
	
	Informix
	
	MS Access
	
	DB2
	
	Oracle
	Respondido em 25/04/2020 17:18:15
	
Explicação:
Por padrão, o NetBeans traz suporte ao banco Derby, o qual é totalmente construído em Java e não depende da instalação de um servidor proprietário.
	
	
	 2a Questão
	
	
	
	
	Supondo que você utilize um Managed Bean que funcione como DAO, através do nome "clienteDAO", e que o mesmo tenha um método "findAll" sem parâmetros para o retorno de toda a base de clientes, como seria definido um componente DataTable alimentado pelo mesmo?
		
	
	< h:dataTable value="#{produtoDAO.obterTodos()}" var="p" >
	
	< h:dataTable var="#{clienteDAO.findAll()}" value="c" >
	 
	< h:dataTable value="#{clienteDAO.findAll()}" var="c" >
	
	< h:dataTable var="#{produtoDAO.findAll()}" value="p" >
	
	< h:dataTable value="#{clienteDAO.obterTodos()}" var="c" >
	Respondido em 25/04/2020 17:18:13
	
Explicação:
Na sintaxe do DataTable, o atributo value deverá receber a lista de origem, fornecida a partir de clienteDAO.findAll, e o atributo var nomeia a variável que percorre o conjunto, assumindo os valores de cada entidade sequencialmente.
	
	
	 3a Questão
	
	
	
	
	O middleware de acesso ao banco de dados utilizado pelo Java é denominado:
		
	
	RMI
	 
	JDBC
	
	RPC
	
	JMS
	
	JNDI
	Respondido em 25/04/2020 17:18:31
	
Explicação:
O middleware para acesso a banco de dados do Java é o JDBC (Java Database Conectivity)
		 
	DESENVOLVIMENTO DE SOFTWARE
8a aula
	
	 
	
	
	
	 
	
	 1a Questão
	
	
	
	
	Marque a opção que apresenta apenas estilos arquiteturais no modelo de Sistemas Interativos.
		
	
	Microkernel e Reflexiva
	
	Broker e Blackboard
	
	PAC e Broker
	
	Microkernel e MVC
	 
	MVC e PAC
	Respondido em 28/04/2020 18:23:01
	
Explicação:
O modelo Mud to Structure pode ser observado nos estilos Camadas, Pipes/Filters e Blackboard. O estilo Broker segue o modelo de Sistemas distribuídos, enquanto PAC e MVC seguem o modelo de Sistemas Interativos, e, Microkernel e Reflexiva seguem o modelo de Sistemas Adaptáveis. 
	
	
	 2a Questão
	
	
	
	
	Em uma arquitetura MVC, com uso de JSF, qual o único componente que será utilizado em todas as camadas?
		
	
	Controlador
	
	Página JSF
	
	Managed Bean
	 
	Entidade
	
	DAO
	Respondido em 28/04/2020 18:23:23
	
Explicação:
Adotando a arquitetura MVC temos o DAO, na camada Model, que trabalha com Entidades e o banco de dados. Os controladores, da camada Control acessam o DAO e recebem as Entidades, enquanto os Managed Beans consultam os controladores, recebendo estas Entidades na camada View, de forma a direcionar a informação para a página JSF. Com isso, a Entidade é o único componente que está presente em todas as camadas.
	
	
	
	 3a Questão
	
	
	
	
	Na arquitetura MVC, os componentes JDBC podem ser utilizados em que camada(s)?
		
	
	Control e Model
	
	Model, Control e View
	
	View
	 
	Model
	
	Control
	Respondido em 28/04/2020 18:23:24
	
Explicação:
Como o JDBC está relacionado à persistência em banco de dados, ele deve ser utilizado exclusivamente na Model.
	
	
	 4a Questão
	
	
	
	
	Marque a opção que contém apenas estilos arquiteturais no modelo Mud to Structure:
		
	
	Camadas, Blackboard e Broker
	
	MVC, PAC e Camadas
	 
	Camadas, Pipes/Filters e Blackboard
	
	MVC, PAC e Broker
	
	Microkernel, Reflexiva e MVC
	Respondido em 28/04/2020 18:23:39
	
Explicação:
O modelo Mud to Structure pode ser observado nos estilos Camadas, Pipes/Filters e Blackboard. O estilo Broker segue o modelo de Sistemas distribuídos, enquanto PAC e MVC seguem o modelo de Sistemas Interativos, e, Microkernel e Reflexiva seguem o modelo de Sistemas Adaptáveis. 
	
	
	
	 5a Questão
	
	
	
	
	Qual componente do JSF assume o papel de Front Control?
		
	
	Managed Bean
	 
	FacesServlet
	
	Response
	
	Facelet
	
	Request
	Respondido em 28/04/2020 18:23:49
	
Explicação:
Segundo o mapeamento feito no web.xml, toda chamada a páginas JSF será direcionada para o FacesServlet, fazendo com que o mesmo assuma o papel de Front Control na arquitetura do JSF.
	
	
	 6a Questão
	
	
	
	
	Em uma arquitetura MVC com uso de JSF, qual seria o único tipo de componente que poderia instanciar um objeto do padrão DAO?
		
	
	Entidade
	
	Managed Bean
	
	Faces Servlet
	 
	Controlador
	
	Facelet
	Respondido em 28/04/2020 18:24:21
	
Explicação:
Apenas os controladores, presentes na camada Control, podem instanciar elementos do tipo DAO, pertencentes à camada Model, e solicitar que estes últimos efetuem operações sobre o banco de dados. As entidades são o elemento de transporte, transitando entre as camadas, e os componentes JSF pertencem à camada View.
	
	
	
	 7a Questão
	
	
	
	
	A arquitetura MOM (Message Oriented Middleware) se torna muito importante no mundo corporativo ao permitir que sejam sequenciados diversos pedidos para atendimento de forma assíncrona, pois as solicitações são enviadas para filas de mensagens com a finalidade de serem processadas posteriormente, sem bloquear o cliente. Esta é um típico exemplo de qual padrão arquitetural?
		
	
	MVC
	
	Broker
	 
	Event-Driven
	
	PAC
	
	Blackboard
	Respondido em 28/04/2020 18:24:29
	
Explicação:
Os sistemas de mensageria são baseados em Middleware Orientado a Mensagens (MOM), os quais são assíncronos e guiados por eventos, segundo o padrão Event-Driven.
	
	
	 8a Questão
	
	
	
	
	Qual a fase do ciclo de vida do JSF onde a árvore de componentes é montada ao nível do servidor?
		
	
	Process Validations
	
	Apply Requests
	
	Render Response
	
	Update Model Values
	 
	Restore View
	Respondido em 28/04/2020 18:24:58
	
Explicação:
A fase inicial do ciclo de vida é a Restore View, onde é recebida a requisição HTTP e montada a árvore de objetos em memória.
	
	 
	DESENVOLVIMENTO DE SOFTWARE
9a aula
	
	 
	
	
	
	 
	
	
	 1a Questão
	
	
	
	
	Arquivo de configuração necessário para a definição das conexões no JPA:
		
	
	web.xml
	
	manifest
	
	readme.txt
	
	context.xml
	 
	persistence.xml
	Respondido em 04/05/2020 14:14:39
	
Explicação:
O arquivo persistence.xml guarda as configurações JDBC e definições de unidades de persistência.
	
	
	 2a Questão
	
	
	
	
	Suponha que você precisa implementar uma funcionalidade de um novo sistema de Telemarketing que envolve o controle da quantidade de chamadas tratadas pelo operador enquanto estiver logado. Qual o tipo de EJB seria mais apropriado para acumular a quantidade de chamadas? 
		
	
	MDB
	 
	Stateful Session Bean
	
	EntityBean
	
	Stateless Session Bean
	
	JPA
	Respondido em 04/05/2020 14:15:06
	
Explicação:
Por se tratar de uma chamada a um método de negócios síncrona, temos a clara utilização de um Session Bean, e como deve guardar o estado, no caso a quantidade e chamdas, precisamos de um Stateful Session Bean.
	
	
	
	 3a Questão
	
	
	
	
	Qual tipo de EJB foi substituido pelo JPA no JEE5?
		
	
	Singleton
	
	MDB
	
	Stateless Session Bean
	
	Sateful Session Bean
	 
	Entity Bean
	Respondido em 04/05/2020 14:15:11
	
Explicação:
No J2EE, existia um EJB para persistência denominado EntityBean, que seguia o padrão Active Record, o qual, no entanto, se mostrou inferior a alguns frameworks de persistência em termos de eficiência, sendo substituído pelo JPA no JEE5.
	
	
	 4a Questão
	
	
	
	
	Os EJBs do tipo Session Bean podem ser divididos em três tipos, sendo que um deles permite a ocorrência de apenas uma instância por máquina virtual. Qual é este tipo?
		
	 
	Singleton
	
	Stateless
	
	Entity
	
	Message Driven
	
	Stateful
	Respondido em 04/05/2020 14:15:40
	
Explicação:
Os EJBs do tipo Sngleton seguem o padrão de desenvolvimento de mesmo nome, ocorrendo apenas uma vez por JVM, e mantendo uma única referência, mesmo em ambientes clusterizados.
	
	
	 5a Questão
	
	
	
	
	Entre os diferente tipos de EJBs, os MDBs são responsáveis pelo comportamento assíncrono baseado em mensagerias. Assinale a alternativa correta com relação aos MDBs.
		
	
	Eles podem guardar informações de estado, como os Statefull Session Beans.
	
	Necessitam de interfaces @Local e @Remote.
	
	São definidos pela anotação @Message.
	 
	Apresentam um único método para tratamento de mensagens denominado onMessage.
	
	Precisam implementar a interface SessionListener.
	Respondido em 04/05/2020 14:16:01
	
Explicação:
Os MDBs são componentes EJB para tratamento assícrono de mensagens, através do método onMessage, lidando diretamente com as mensagerias via JMS, sem interfaces remotas ou locais, e sem a possibilidade de guardar estado.
	
	
	 6a Questão
	
	
	
	
	Assinale a alternativa INCORRETA acerca do JPA:
		
	
	É o mecanismo padrão de ORM do Java.
	
	Precisa de um arquivo de configuração denominado persistence.xml.
	
	Trabalha com código anotado Java.
	 
	Com a adoção do JPA eliminamos a necessidade do JDBC.
	
	Permite mapear os relacionamentos da base de dados.
	Respondido em 04/05/2020 14:16:22
	
Explicação:
Com o JPA não eliminamos o uso de JDBC, pois o que é feito é a geração dos comandos SQL de forma automatizada a partir das requisições efetuadas pelo EntityManager, sempre utilizando as informações transmitidas pelas classes anotadas.
	
	
	 7a Questão
	
	
	
	
	Complete as lacunas no trecho de código-fonte abaixo com os termos corretos:    
__________ emf = Persistence.createEntityManagerFactory("PU");      
__________ em = emf.createEntityManager();     
em.getTransaction().begin();    
c = new Curso(3, "EE");    
em.__________(c);  
em.getTransaction().commit();
		
	
	Database; Entity; put
	
	Connection; Statement; execute
	
	EntityFactory; EntityManager; save
	
	EntityManager; Command; insert
	 
	EntityManagerFactory; EntityManager; persist
	Respondido em 04/05/2020 14:16:27
	
Explicação:
Um elemento essencial no JPA é a classe EntityManager, responsável pelo manuseio das diversas entidades. Objetos desta classe são gerados a partir do EntityManagerFactory, e o método persist viabiliza a gravação de uma entidade no banco de dados.
	
	
	 8a Questão
	
	
	
	
	O tipo de bean utilizado para tratamento de regras de negócio síncronas, onde ocorre a necessidade de guardar informações entre chamadas sucessivas seria:
		
	 
	Stateful Session Bean
	
	Message Driven Bean
	
	Stateless Session Bean
	
	Entity Bean
	
	Async Queued Bean
	Respondido em 04/05/2020 14:16:47
	
Explicação:
Os componentes EJB do tipo Session são voltados para o tratamento de regras de negócio de forma síncrona, sendo o Stateless sem a guarda de estado e o Stateful com a guarda de estado.
	
	
	 9a Questão
	
	
	
	
	Os dois tipos de arquiteturas de envio e recepção que o JMS pode visualizar são:
		
	
	Síncrona e Assíncrona
	
	Filas e Assinaturas
	
	Assinaturas e Tópicos
	 
	Filas e Tópicos
	 
	Get e Post
	Respondido em 04/05/2020 14:13:43
	
		 
	DESENVOLVIMENTO DE SOFTWARE
10a aula
	
	 
	
	
	
	 
	
	 1a Questão
	
	
	
	
	Em uma arquitetura MVC, com uso de JSF e EJB, temos um componente para comunicar com o Session EJB, denominado ProdutoControlMB, anotado com ApplicationScoped, e outro para encapsular a entidade denominado ProdutoMB, anotado com SessionScoped. Segundo esta configuração, podemos afirmar que:
		
	 
	Temos uma instânica de ProdutoControlMB para todo o aplicativo e uma de ProdutoMB para cada usuário logado.
	
	O componente ProdutoMB pertence à camada Model. 
	
	Existirá uma instância de ProdutoControlMB para cada usuário logado.
	
	Os EJBs do tipo Session ficarão na camada Model.
	
	A chamada ao EntityManager deve ser feita em ProdutoControlMB.
	Respondido em 06/05/2020 17:50:27
	
Explicação:
Nesta arquitetura temos uma camada Model com o JPA e as entidades, seguido da camada Control com os Session EJBs, funcionando de fachada para a Model. Em seguida temos a camada View com uso de JSF, onde encapsulamos a chamada aos EJBs através de ProdutoControlMB e as entidades através de ProdutoMB, de forma a compatibilizar com as necessidades do JSF para utilização. Com o uso das anotações de escopo citadas, temos uma instânica de ProdutoControlMB para todo o aplicativo e uma de ProdutoMB para cada usuário logado.
	
	
	 2a Questão
	
	
	
	
	Na criação de um Managed Bean, a utilização da anotação SessionScoped serve para:
		
	
	Permitir o acesso a um Session Bean.
	 
	Manter o valor do Managed Bean entre chamadas sucessivas.
	
	Remover os valores do Managed Beans no carregamento da página.
	
	Solicitar a autenticação do usuário para executar o Managed Bean.
	
	Definir o nome que será utilizado pela página JSF para acesso ao Managed Bean.
	Respondido em 06/05/2020 17:51:02
	
Explicação:
Ao utilizar ScopedSession estamos definindo o escopo de sessão para o Managed Bean, o que manterá seus valores carregados entre chamadas sucessivas.
Um exemplo é apresentado a seguir.
@Named(value = "produtoMB")
@SessionScoped
public class ProdutoMB extends Produto{
 
	
	
	 3a Questão
	
	
	
	
	No ambiente JEE, a anotação PersistenceContext é utilizada para:
		
	
	Efetuar a conexão com as filas de uma mensageria a patir do MDB.
	
	Definir um EJB do tipo Stateless.
	
	Acessar um EJB a partir de um Managed Bean.
	
	Acessar um Managed Bean a partir de outro no mesmo contexto.
	 
	Instanciar um EntityManager a partir da unidade de persistência.
	Respondido em 06/05/2020 17:51:22
	
Explicação:
O uso da anotação PersistenceContext permite instanciar um EntityManager a partir do nome da unidade de persistência, conforme as definições efetuadas no arquivo persistence.xml.
	
	
	 4a Questão
	
	
	
	
	Assinale a alternativa correta.
		
	
	Na arquitetura MVC, as entidades JPA devem acessar os Managed Beans com o uso de @Inject.
	 
	As transações nos EJBs são controladas através do JTA (Java Transaction API).
	
	Em termos da arquitetura MVC, os EJBs pertencem à camada View.
	
	Os Managed Beans podem instanciar elementos do tipo EntityManager sem quebrar as regras do modelo MVC.
	
	Uma anotação @Id seria utilizada para acessar um EJB específico do pool de EJBs.
	Respondido em 06/05/2020 17:51:21
	
Explicação:
Na arquitetura MVC, JSF estaria na View, EJB na Control e JPA na Model. Nenhum componente da camada View deve acessar a camada Model sem passar pela Control, e nenhuma camada conhece os componentes de uma camada superior, ou seja, a Model não conhece a Control e a Control não conhece a View. A anotação @Id serve para identificr o campo chave de uma entidadeJPA, e não é possível determinar o EJB que será acessado no pool.
	
	
	 5a Questão
	
	
	
	
	O ferramental do NetBeans permite gerar de forma automática os EJBs responsáveis por invocar as diversas operações a serem efetuadas no banco a partir de entidades JPA. Ao fazer isto, ele segue um padrão de desenvolvimento denominado:
		
	 
	Session Facade
	
	Singleton
	
	Intercept Filter
	
	Adapter
	
	Front Control
	Respondido em 06/05/2020 17:52:14
	
Explicação:
É utilizado o padrão Session Facade, onde os Stateless Session Beans servem de fachada para as operações de banco intermediadas pelo JPA.
	
	
	 6a Questão
	
	
	
	
	Ao gerar diversas camadas de um aplicativo corporativo, com uso dos processos de automação do NetBeans, você notou que os Session Beans vinham com a anotação PersistenceContext sobre alguns atributos. Qual a função desta anotação?
		
	
	Indicar qual a interface local para uso com o EJB.
	
	Configurar o Session Bean para que possa trabalhar com processos assíncronos.
	
	Definir uma fachada abstrata para as operações de banco de dados.
	 
	Instanciar o EntityManager, efetuando a relação com a unidade de persistência correta.
	
	Dar suporte aos elementos de persistência do JSF.
	Respondido em 06/05/2020 17:52:29
	
Explicação:
A anotação citada serve para instanciar o EntityManager, efetuando a relação com a unidade de persistência correta, como no exemplo seguinte.
@PersistenceContext(unitName = "ExemploCompleto-ejbPU")
private EntityManager em;
Note que a automatização do NetBeans gera uma classe abstrata de base, agrupando as operações de banco, e concretiza estas operações, baseado em Generics, no descendente do tipo Session EJB, onde é também concretizada também a relação com o banco de dados, instanciando o EntityManager com a anotação do exemplo.
	
	
	 7a Questão
	
	
	
	
	Ao solicitar a criação de entidades JPA a partir do banco de dados, no NetBeans, é solicitado que se defina um pool de conexões para o acesso a este banco. Qual tecnologia Java é utilizada para o registro e localização deste pool?
		
	
	JDBC
	
	EJB
	 
	JNDI
	
	SWING
	
	JMS
	Respondido em 06/05/2020 17:53:15
	
Explicação:
O serviço de nomes e diretórios do Java é denominado JNDI, e serve para o registro e localização de objetos como pools de conexão e filas de mensagerias, entre diversos outros.
	
	
	 8a Questão
	
	
	
	
	Em uma arquitetura MVC com uso de JSF, JPA e EJB, em que camadas estariam, respectivamente, os componentes de cada uma destas tecnologias?
		
	
	Model, View e Control
	
	View, Control e Model
	 
	View, Model e Control
	
	Control, Model e View
	
	Model, Control e View
	Respondido em 06/05/2020 17:53:30
	
Explicação:
Os componentes JSF irão compor a interface na camada View, enquanto o acesso ao banco será feito via JPA na camada Model, e as regras de negócio serão implementadas pelos EJBs na camada Control.
	9a Questão
	
	
	
	Qual anotação deve ser utilizada para efetuar o acesso a um Managed Bean a partir de outro?
		
	 
	Inject
	
	ApplicationScoped
	
	EJB
	
	SessionScoped
	
	Named
	Respondido em 06/05/2020 17:41:51

Continue navegando