Buscar

UNIDADE 2 - 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 10 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 10 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 10 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
1 em 1 pontos
	
	
	
	Sabe-se que para a codificação de uma página, pode-se utilizar, além do HTML, linguagens de programação, tais como JavaScript e o PHP. Sabe-se, também, que o desenvolvimento da página pode ser estruturado em camadas funcionais. Para essa questão, dadas as afirmativas a seguir, assinale com “J”, a afirmativa que se relaciona com o JavaScript, e com “P”, a que se relaciona com o PHP.
 
(_) Está mais associada com a parte de regras de negócio, interfaceando a camada de interação com o usuário, com a camada de armazenamento persistente (bancos de dados).
(_) Relaciona-se mais com a camada de interface com o usuário pois, com ela, pode-se fazer, por exemplo, validação de formulário de forma mais fácil.
(_) Em um formulário, o seu código é referenciado no parâmetro “onSubmit”.
(_) Em um formulário, o seu código é referenciado no parâmetro “action”.
 
Assinale a opção que contenha a sequência correta.
	
	
	
	
		Resposta Selecionada:
	 
P; J; J; P.
	Resposta Correta:
	 
P; J; J; P.
	Feedback da resposta:
	Resposta correta. Você acertou. Realmente a JavaScript é mais associada com a parte da interface com o usuário, permitindo, por exemplo, a validação dos campos do formulário e a criação de páginas responsivas. Por outro lado, o PHP está relacionado mais na camada de processamento propriamente dito, ou seja, manipula as regras de negócio.
	
	
	
· Pergunta 2
1 em 1 pontos
	
	
	
	Suponha que você tenha que implementar um projeto que relaciona a classe pessoa
(que contém o método locomover ) a três tipos de veículos: carro (métodos acelera e freia ), bicicleta (métodos pedala e freia ) e moto (métodos acelera
e freia ).  Para melhorar o projeto, pode-se, por exemplo, adotar o padrão strategy . Para essa questão, suponha as afirmativas abaixo.
 
I. A nova versão implementaria uma interface do tipo veículo , que contém os métodos acelera e freia.
II. A nova versão implementaria uma nova classe do tipo veículo , que contém os métodos acelera e freia.
III. Na nova versão, as classes carro , bicicleta e moto
implementariam a interface veículo.
IV. Na nova versão, as classes carro , bicicleta e moto fariam parte da composição da classe veículo .
V. Na nova versão, as classes carro , bicicleta e moto fariam um relacionamento de cardinalidade 1:1 para a interface veículo.
 
Assinale a alternativa correta.
	
	
	
	
		Resposta Selecionada:
	 
As afirmativas I e III são verdadeiras.
	Resposta Correta:
	 
As afirmativas I e III são verdadeiras.
	Feedback da resposta:
	Resposta correta. Você assinalou a alternativa correta. O padrão strategy sempre implicará em criação de uma interface para que haja apenas um ponto de relacionamento entre o agente e os métodos relativos às classes aglutinadas pela interface.
	
	
	
· Pergunta 3
1 em 1 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 4
1 em 1 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 5
1 em 1 pontos
	
	
	
	Na implementação de páginas web , uma das linguagens mais utilizadas é o PHP. Na filosofia em camadas, o PHP aparece na camada intermediária, ou seja, entre a camada de interfaceamento com o usuário e a camada que compreende as bases de dados. Analise as afirmações a seguir e assinale com “M” o que for motivo da adoção do PHP, e com “N”, caso contrário.
 
(_) Suporta vários gerenciadores de bancos de dados, como por exemplo: MySQL, PostgresSQL e Sybase.
(_) Tem suporte a diversos protocolos, tais como: LDAP, SNMP e SSH2.
(_) Consegue interagir de forma muito eficiente com o HTML para validar campos do formulário.
(_) Boa interatividade com o servidor APACHE.
 
Assinale a opção que apresenta a sequência correta.
	
	
	
	
		Resposta Selecionada:
	 
M; M; N; M.
	Resposta Correta:
	 
M; M; N; M.
	Feedback da resposta:
	Resposta correta. Sua resposta foi acertada. O PHP, como linguagem de programação para implementar a camada intermediária, deve possuir boa interação com os gerenciadores de bancos de dados e com o próprio servidor de páginas. No caso, ele possui esses requisitos. Como base para a implementação da camada intermediária e não para a camada de interfaceamento com o usuário, ele (o PHP) não precisa ter requisitos que permita uma boa interação com o HTML.
	
	
	
· Pergunta 6
0 em 1 pontos
	
	
	
	A validação de um campo pode ser realizada de duas maneiras: a verificação da estrutura e a verificação do valor. No caso, por exemplo, do CPF, a verificação da estrutura poderá ser realizada com a utilização de expressões regulares e, a verificação do valor, com codificação JavaScript direta. Para essa questão, suponha o código para a validação estrutural abaixo.
 
<html>
 <head>
  <script language="JavaScript">
   function VerificarCPF(f)
    {
     var exp_regCPF   =  ___;
     if(exp_regCPF.test(f.___.value))
      {
        alert("___");
        return true;}
     else
      {
        alert("___");
        return true;
      }
    }
  </script>
 </head>
 <body>
  <form name="cadastro" method=”POST”
   _1_="return VerificarCPF(this);">
     <p>Número do CPF: <input type="text" name="cpf"></p>
     <p><label><input type="submit" name="Verificar"
        value="Verificar"></label></p>
  </form>
 </body>
</html>
 
Preencha os campos em aberto escolhendo itens da lista a seguir.
 
I.  onSubmit
II. action
III. /^\d{3}\.\d{3}\.\d{3}\-\d{2}$/
IV. /^\d{0-9}\.\d{0-9}\.\d{0-9}\-\d{0-9}$/
V. cpf
VI. cadastro
VII. CPF não válido
VIII. CPF válido
 
Assinale a alternativa que contém a sequência correta.
	
	
	
	
		Resposta Selecionada:
	 
 III; V; VIII; VII; II.
	Resposta Correta:
	 
 III; V; VIII; VII; I.
	Feedback da resposta:
	Respostas incorretas. Sua resposta está incorreta. Para essa questão, reflita, na expressão regular, quais os campos que representam valores e quais representam a quantidade de ocorrências. Além disso, observe o retorno do método test e reveja quando usar o action e quando usar o onSubmit.
	
	
	
· Pergunta 7
1 em 1 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.
	
	
	
· Pergunta 8
0 em 1 pontos
	
	
	
	
Em algumas páginas, após um tempo de inatividade, surgem alguns elementos como, por exemplo, a abertura de uma janela de chat oferendo ajuda para navegar na página. Para essa questão, suponha o código a seguir, para implementar esse recurso do chat:
 
<html>
  <head>
    <title>Inicia Página</title>
    <script language="JavaScript">
      function IniciaPagina()
        {
          ___(___, 1000);
        }
 
     function AbreChat()
       {
          //aqui conteria o código do chat...
       }
    </script>
  </head>
  <body ___="___()">
     Restante da página...
  </body>
</html>
 
Preencha os espaços com os elementos abaixo enumerados.
 
I. onload
II. IniciaPagina
III. setTimeout
IV.  setInterval
V. AbreChat
 
Assinale a opção que contenha a sequência correta.
	
	
	
	
		Resposta Selecionada:
	 
 IV; II; I; V.
	Resposta Correta:
	 
 III; V; I; II.
	Feedback da resposta:
	Respostas incorretas. Resposta incorreta. Para essa questão, avalie a diferença básica entre os métodos setTimeout e o setInterval.
	
	
	
· Pergunta 9
1 em 1 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 10
1 em 1 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).

Continue navegando