Buscar

Atividade 2 desenvolvimento Web

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 7 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 7 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

• Pergunta 1 
0,25 em 0,25 pontos 
 
Às vezes, por uma questão de praticidade ou de comodidade, desenvolvemos páginas em um ambiente diferente 
em relação ao de produção. Aquele que o sistema, em sua versão final, será implantado para ser operado. 
Analise as afirmativas a seguir e assinale com “V”, o que for verdadeiro e com “F”, o que for falso. 
 
(_) O desenvolvedor deve prestar atenção em diferenças dos ambientes Linux e Windows, como, por exemplo, 
realizar a verificação dos atributos de permissão de arquivos, mais rígidos no Linux. 
(_) Deve-se optar por desenvolver em um ambiente distinto em relação à produção para que se possa testar a 
compatibilidade do código. 
(_) Caso haja necessidade de desenvolver em uma máquina Windows, pode-se instalar uma máquina virtual 
Linux para que todo o trabalho seja desenvolvido para tal ambiente. 
(_) Apache e MySQL foram desenvolvidos nativamente para Linux. 
 
Assinale a opção correta. 
 
Resposta Selecionada: 
V; F; V; V. 
Resposta Correta: 
V; F; V; V. 
Feedback 
da resposta: 
Resposta correta. Sua resposta está correta. O desenvolvimento de páginas que 
envolvem PHP, Apache e MySQL serão melhor desenvolvidos e executados em 
ambientes dotados de Linux. É interessante que os ambientes (de 
desenvolvimento e de produção) sejam iguais, para se evitar possíveis 
comportamentos indesejados de processamento. 
 
 
• Pergunta 2 
0,25 em 0,25 pontos 
 
Expressões regulares são extremamente úteis para a validação dos campos do formulário pois elas atuam na 
verificação da estrutura da informação fornecida pelo usuário. Para essa questão, considere o código a seguir. 
 
<html> 
 <head> 
 < script 
language="JavaScript"> 
 function ExibirBandeiraCC(f) 
 { 
 var exp_regVISA = ___ ; 
 var exp_regMASTER = ___ ; 
 if(exp_regVISA. ___ (f. ___ .value)) 
 { 
 alert("O cartão digitado é VISA"); 
 return true; 
 } 
 if(exp_regMASTER. ___ (f. ___ .value)) 
 { 
 alert("O cartão digitado é MASTER"); 
 return true; 
 } 
 alert("Cartão não é VISA e nem MASTER"); 
 return true; 
 } 
 </script> 
 </head> 
 <body> 
 <form name="Num_CC" method=”POST” 
 onSubmit="return ExibirBandeiraCC(this);"> 
 <p>Número do CC: <input type="text" name="cc"></p> 
 <p><label><input type="submit" name="Verificar" 
 value="Verificar"></label></p> 
 </form> 
 </body> 
 
</html> 
 
Considerando que cartões VISA sempre são iniciados pelo dígito 4 e os cartões MASTER são iniciados com o 
valor 5 e o segundo dígito varia entre os valores 1 e 5 
A partir destas observações, preencha os campos em aberto escolhendo itens da lista a seguir: 
 
I. test 
II. /^4[0-9]{12,15}$/ 
III. /^5[0-9]{12,15}$/ 
IV. /^5[1-5]{1}[0-9]{14}$/ 
V. cc 
VI. NumCC 
 
Assinale a alternativa que contém a sequência correta. 
Resposta Selecionada: 
II; IV; I; V; I; V. 
Resposta Correta: 
II; IV; I; V; I; V. 
Feedback da 
resposta: 
Resposta correta. Sua resposta está correta. Realmente você percebeu bem a 
formação da expressão regular, principalmente do cartão MASTER. Você 
selecionou corretamente o método test, que faz a verificação com base da 
expressão regular. Por fim, você associou corretamente o nome do campo do 
formulário. 
 
 
• Pergunta 3 
0,25 em 0,25 pontos 
 
Padrões de projeto tem o objetivo de auxiliar o processo de projeto e implementação de sistemas computacionais, 
dentre os quais podemos relacionar as páginas web . Dentre os padrões existentes, podemos citar o GOF que 
consiste de uma coleção de padrões classificados em padrões de criação, padrões estruturais e padrões 
comportamentais. Muitos destes padrões compõem, ainda, o padrão MVC. Para essa questão, encontramos, 
abaixo, uma definição sumária de quatro destes padrões. 
 
I. Singleton : permite uma única instanciação de objeto de uma classe específica. 
II. Interator : objetiva acessar, sequencialmente, os elementos de uma lista sem precisar conhecer a estrutura de 
relacionamento (por exemplo, array e tabela 
hash ). 
III. State : neste padrão, acontece uma alteração do comportamento de um objeto em função da alteração de seu 
estado. 
IV. Observer : um objeto realiza a notificação para outros objetos, devido a sua alteração de estado. 
 
Dados os exemplos de uso, numere-os de forma a estabelecer um relacionamento entre os padrões 
apresentados acima e os exemplos de uso. 
 
(_) Criar um mapa do site 
a partir do percurso de todos os elementos que compõem uma coleção de menus. 
(_) Delimitar uma única conexão ao banco de dados por processo. 
(_) Objetos da camada de modelo notificam a camada de controle, dentro do escopo do MVC, por ocasião de 
suas alterações de estado. 
(_) Dentro de um jogo de RPG, as regras (condições e consequências dos comandos “if”) dependem do estado 
corrente do objeto. 
 
Assinale a alternativa que contenha a sequência correta. 
 
Resposta Selecionada: 
II; I; IV; III. 
Resposta Correta: 
II; I; IV; III. 
 
Feedback da 
resposta: 
Resposta correta. Sua resposta está correta. Temos vários padrões envolvendo a 
criação de páginas. Cada padrão cobre um aspecto específico em relação à 
estrutura, comportamento e de visão. 
 
• Pergunta 4 
0,25 em 0,25 pontos 
 
Para essa questão, suponha a necessidade de realizar uma validação de um campo de formulário para que ele 
não assuma um valor superior a 10. Suponha, também, a lista de elementos da codificação abaixo enumerados: 
 
I. this 
II. alert 
III. <head> 
IV. onSubmit 
V. valor 
 
Dado o código abaixo, complete os espaços em branco com os elementos da codificação enumerados acima. 
 
<html> 
 ___ 
 <script> 
 function TestaValorMaximo(f) 
 { 
 if(f.___.value>10) 
 { 
 ___("Número digitado é maior do que 10."); 
 return false; 
 } 
 else 
 { 
 ___("Valor aceito."); 
 return true; 
 } 
 } //final TestaValorMaximo 
 </script> 
 </head> 
 <body> 
 <form name="form1" ___="return TestaValorMaximo(___)"> 
 <p>Valor: <input type="text" name="valor"></p> 
 <p><label><input type="submit" name="enviar" 
 value="Enviar"></label></p> 
 </form> 
 </body> 
</hmtl> 
 
Selecione a opção que tenha a sequência correta de preenchimento. 
 
Resposta Selecionada: 
III; V; II; II; IV; I. 
Resposta Correta: 
III; V; II; II; IV; I. 
Feedback 
da resposta: 
Resposta correta. Resposta correta. Você codificou corretamente a validação do 
campo do formulário. O script localiza-se dentro da área de cabeçalho. E, para 
deixar a validação com fraco acoplamento, foi passado o formulário por meio da 
referência “ this”, assim que houver o evento onSubmit. As janelas de aviso são 
abertas chamando-se o método “ alert”. 
 
 
• Pergunta 5 
0,25 em 0,25 pontos 
 
Padrões de projeto tem o objetivo de auxiliar o processo de projeto e implementação de sistemas computacionais, 
dentre os quais podemos relacionar as páginas web . Dentre os padrões existentes, podemos citar o GOF que 
consiste de uma coleção de padrões classificados em padrões de criação, padrões estruturais e padrões 
comportamentais. Muitos destes padrões compõem, ainda, o padrão MVC. Para essa questão, encontramos, 
abaixo, uma definição sumária de quatro destes padrões: 
 
 
I. Composite : permite a composição de objetos estabelecendo-se uma árvore de hierarquia e relacionamentos 
entre objetos que compõem a estrutura. 
II. Applicability : independentemente da estrutura do objeto, todos os objetos de uma estrutura são tratados de 
forma uniforme, desprezando-se as diferenças entre eles. 
III. Facade : esse padrão objetiva a construção de uma interface unificada para a integração de um conjunto de 
interfaces. 
IV. Data Access Object : realiza a mediação entre a aplicação propriamente dita e a base de dados. 
 
Dados os exemplos de uso, numere-os de forma a estabelecer um relacionamento entre os padrões 
apresentados acima e os exemplos de uso. 
 
(_) Permiteum baixo acoplamento e uma simplificação em relação à manutenção do sistema. 
(_) Pode ser usado em ambientes que permitam uma editoração gráfica, na qual a figura consiste de uma árvore 
de objetos. 
(_) Criar subcamadas do sistema, permitindo uma abstração em um nível acima. 
(_) Em um editor gráfico, todos os objetos gráficos, independentemente de suas composições, podem ser 
reunidos em uma classe abstrata, que incorpora as particularidades de todos os abrangidos. 
 
Assinale a alternativa que contenha a sequência correta. 
Resposta Selecionada: 
IV; I; III; II. 
Resposta Correta: 
IV; I; III; II. 
Feedback da 
resposta: 
Resposta correta. Sua resposta está correta. Temos vários padrões envolvendo a 
criação de páginas. Cada padrão cobre um aspecto específico em relação à 
estrutura, comportamento e de visão. 
 
 
• Pergunta 6 
0,25 em 0,25 pontos 
 
O padrão MVC é um dos mais utilizados no mundo do desenvolvimento de páginas por contemplar um nível de 
abstração mais amplo. Para tanto, ele contempla três camadas: a camada de modelo, a camada de visão e a 
camada controladora. Dadas as funcionalidades abaixo, relacione com as camadas atribuindo os valores “M”, “V” 
e “C”, respectivamente. 
 
(_) Conhecida como “ client-side ”. 
(_) Gerencia as demais outras camadas. 
(_) Trata as regras de negócio. 
(_) Determina qual modelo será aplicado e qual forma de visão será passada ao usuário. 
(_) Utiliza HTML e/ou XML. 
(_) Notifica as outras duas camadas na ocorrência de alterações. 
 
Assinale a alternativa que contém a sequência correta. 
 
Resposta Selecionada: 
V; C; M; C; V; M. 
Resposta Correta: 
V; C; M; C; V; M. 
Feedback da 
resposta: 
Resposta correta. Sua resposta está correta. O padrão MVC apresenta a 
possibilidade de tornar o sistema altamente dinâmico. A camada de controle é 
capaz de decidir quais serão as regras de negócio que a camada de modelo 
deverá executar e qual será a visão que o usuário deve ter em um certo momento. 
A ação da camada de controle é dinâmica, para tal, ela recebe notificações sobre 
possíveis alterações inerentes à camada de negócio. A camada de visão tem a 
função de manipular elementos relacionados aos aspectos visuais e de interação 
com o usuário. Para tanto, manipula codificação em HTML e/ou XML. 
 
 
• Pergunta 7 
0,25 em 0,25 pontos 
 
Padrões de projeto auxiliam a implementação de páginas web , pois permitem vários níveis de abstrações em 
suas diversas funcionalidades e demandas. Dentre os vários padrões existentes atualmente, destaca-se o GOF 
que, na verdade, é constituído por diversos padrões classificados em três classes: padrões de criação, padrões 
estruturais e padrões comportamentais. Além do GOF, existe o MVC – padrão preferido para a implementação de 
páginas. Em sua estruturação, o MVC é constituído por três camadas: camada de visão, camada de modelo e 
camada de controle. Tais camadas incorporam diversos padrões GOF. Dados os padrões a seguir, classifique-os 
identificando com “M”, se ele integrar a camada de modelo; com “V”, caso ele seja implementado na camada de 
visão e; com “C”, se ele estiver presente na camada de controle. 
 
(_) composite 
(_) observer 
(_) strategy 
(_) factory 
 
Assinale a alternativa que corresponda à sequência correta. 
 
Resposta Selecionada: 
V; M; C; C. 
Resposta Correta: 
V; M; C; C. 
Feedback 
da resposta: 
Resposta correta. Sua resposta está correta. O “ composite” oferece recursos para 
a “composição visual”. A camada de modelo, uma vez que deve informar às 
demais as modificações, deve implementar a estratégia “ observer”. Por fim, a 
camada de controle deve ter regras para controlar as outras duas camadas. Como 
exemplo de tais regras, temos o “ strategy” e o “ factory”. 
 
 
• Pergunta 8 
0,25 em 0,25 pontos 
 
Às vezes, programar diretamente usando JavaScript, principalmente quando temos que manipular CSS torna-se 
uma tarefa árdua. Sem contar pelo fato de que o JavaScript pode ter problemas de compatibilidade entre os 
navegadores. Diante destes e outros motivos, surgiu a biblioteca JQuery. Analisando as afirmativas a seguir, 
assinale com “V”, o que for verdadeiro e com “F”, o que for falso. 
 
(_) Pelo fato de ser inserida uma camada a mais (representada pelo JQuery), o tempo de processamento foi 
aumentado em demasia – não compensando o uso de JQuery. 
(_) O JQuery substituiu, com grande vantagem, as animações em Flash. 
(_) O JQuery, em relação ao lado do programador, fez com que fossem economizadas várias linhas de código. 
(_) O JQuery mantém compatibilidade com diversos tipos e versões de navegadores. 
 
Assinale a opção que contenha a sequência que você julgue como sendo a correta. 
 
Resposta Selecionada: 
F; V; V; V. 
Resposta Correta: 
F; V; V; V. 
Feedback 
da resposta: 
Resposta correta. Sua resposta está correta. O JQuery é uma biblioteca pequena 
que não introduziu atrasos significativos e nem consumo excessivo extra de 
memória para o seu processamento. Substituiu o Flash e consegue ter uma 
compatibilidade cross-browser (entre navegadores). 
 
 
• Pergunta 9 
0 em 0,25 pontos 
 
Muito se fala em aplicar padrões de projeto ( design pattern ) para o desenvolvimento de sistemas 
computacionais, dentre os quais encontram-se as páginas web . Para essa questão, considere as afirmativas 
abaixo. 
 
I. Possibilidade de reutilização de código, ou seja, usar componentes já utilizados em outros projetos; 
II. Decomposição do sistema em camadas funcionais; 
III. Separação de partes dependentes daquelas independentes do ambiente no qual o sistema será executado. 
IV. Possibilidade de uma documentação mais completa e concisa. 
 
 
Associe as afirmativas acima com as possíveis consequências: 
(_) melhor abstração do sistema, deixando-o mais legível para a codificação, depuração, correção e manutenção; 
(_) maior facilidade para a portabilidade dos sistemas para outros ambientes computacionais; 
(_) facilitar o diálogo entre as equipes que atuarão no desenvolvimento do projeto; 
(_) diminuição do tempo gasto para a implementação do sistema, acarretando, consequentemente, diminuição 
dos gastos. 
 
Assinale a opção que contenha a sequência correta de relações entre as afirmativas e as consequências. 
Resposta Selecionada: 
I; IV; II; III. 
Resposta Correta: 
II; III; IV; I. 
 
 
• Pergunta 10 
0,25 em 0,25 pontos 
 
Dentro da programação, independentemente de ser a codificação de um sistema baseado em páginas web ou 
não, temos sempre a preocupação de sua escalabilidade. Por exemplo, vamos supor que temos a necessidade 
de criar uma página para e-commerce e que são estabelecidos descontos diferenciados para cada tipo de forma 
de pagamento. Suponha que um programador fez uma primeira versão da seguinte forma (código em PHP): 
 
public function retornaDesconto($formaPG,$valor_compra) 
{ 
 if($formaPG==”Boleto”) {return $valor_compra*0.9;} 
 else if($formaPG==”Debito”) {return $valor_compra*0.95;} 
 else {return $valor_compra;} 
} 
 
Na implementação acima, temos o inconveniente de que, quando houver a necessidade de adicionar mais uma 
forma de pagamento, deveremos adicionar mais uma estrutura do tipo “else if... else”. 
Diante da situação, foram apresentadas algumas soluções: 
 
Solução 1: criar uma classe para cada tipo de forma de pagamento. Todas as classes teriam um método para 
retornar o valor com desconto – o nome e a lista de parâmetros seriam os mesmos para todas as classes. Por 
exemplo, para a classe boleto, a implementação seria: 
 
 class Boleto 
 { 
 public function ValorComDesconto($valor_compra) 
 { 
 return $valor_compra*0.9; 
 } 
 } 
 
Solução 2: criar uma interface na qual todas as classes devem implementá-la. Assim, a solução ficaria: 
 
interface formaPG 
 { 
 public function ValorComDesconto($valor_compra); 
 } 
 
class Boleto implements formaPG 
 { 
 public function ValorComDesconto($valor_compra) 
 { 
 return $valor_compra*0.9;} 
 } 
 
Diante dessas duas versões de implementação, analise as afirmações a seguir. 
 
I. Não implementaria a “solução I” pois, assim que for determinado o tipo de pagamento, para criar um objeto 
relativo à classe pertinente deve-se fazer uma estrutura de “if...else if...” 
II. Implementaria ambas as soluções, pois ambas apresentam as mesmas vantagens e desvantagens. 
III. Não implementaria a “solução II” pois as classes ficariam não flexíveis, ou seja, todas deveriam seguir o 
 
mesmo padrão, o que dificultaria a reutilização do código. 
IV. Implementaria a “solução II”, pois a modificação do código para inserir ou retirar uma forma de pagamento, 
ficaria mais ágil e fácil de ser realizada. 
V. Implementaria a “solução I”, pois é mais fácil de entender. 
 
Diante das afirmações acima, selecione a opção correta. 
Resposta Selecionada: 
As afirmativas I e IV são verdadeiras. 
Resposta Correta: 
As afirmativas I e IV são verdadeiras. 
Feedback da 
resposta: 
Resposta correta. Sua resposta está correta. A “solução 2” representa um padrão 
chamado de Strategy (estratégia). É um dos padrões GOF usados para a linha 
comportamental do sistema.

Mais conteúdos dessa disciplina