Buscar

UNIDADE 2 DESENVOLVIMENTO DE SOFTWARE PARA WEB

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

Usuário
	ANTONIO DE SOUZA PEREIRA DIAS
	Curso
	ADS0445 DESENVOLVIMENTO DE SOFTWARE PARA WEB PNA (ON) - 201920.1990.03
	Teste
	ATIVIDADE 2
	Iniciado
	18/11/19 15:37
	Enviado
	21/11/19 16:41
	Status
	Completada
	Resultado da tentativa
	2 em 2,5 pontos  
	Tempo decorrido
	73 horas, 4 minutos
	Resultados exibidos
	Respostas enviadas, Respostas corretas, Comentários
Pergunta 1
0,25 em 0,25 pontos
	
	
	
	Várias páginas oferecem a possibilidade de interação com o usuário por meio de formulários. Para um processamento correto, as informações fornecidas devem ser validadas, para que possam ser processadas no servidor. Considerando isso, analise as afirmações a seguir.
 
I. Em um modelo de III camadas, a validação do formulário deve ocorrer na camada I, tanto em relação à estrutura, quanto em relação à regra de negócio.
II. A validação de estrutura deve ocorrer na camada I e a validação em relação às regras de negócio na camada II.
III. É comum usar, para a validação em relação à estrutura, JavaScript e, para as regras de negócio, comumente usa-se PHP.
IV. Toda validação é realizada na camada II, aplicando-se funções escritas em PHP.
 
A partir das observações realizadas, marque a alternativa correta.
	
	
	
	
		Resposta Selecionada:
	 
As afirmativas II e III são verdadeiras.
	Resposta Correta:
	 
As afirmativas II e III são verdadeiras.
	Feedback da resposta:
	Resposta correta. Sua resposta está correta. Realmente, para uma melhor estruturação, aproveitamento dos recursos (tanto de processamento, quanto de comunicação), divide-se o sistema em camadas. A camada I, mais próxima ao usuário, é responsável pela interatividade. Dessa forma, encontramos nela, os formulários. Sendo assim, a parte da estrutura das informações fornecidas deverá ser tratada nesta camada. Por outro lado, as regras de negócio são específicas a cada aplicação. Desta forma, a validação e o processamento inerente às regras de negócio fazem parte da camada II.
	
	
	
Pergunta 2
0,25 em 0,25 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 3
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 4
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.
	
	
	
Pergunta 5
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 6
0,25 em 0,25 pontos
	
	
	
	É comum incorporar à página HTML, código JavaScript para, dentre outras coisas, realizar validação dos campos do formulário. Uma outra utilização do JavaScript consiste na manipulação das folhas CSS, para que seja possível a construção de páginas responsivas. Dentre as afirmativas abaixo, assinale com “V”, o que for verdadeiro e, com “F”, o que for falso.
 
(_) o código JavaScript deve estar localizado na área de cabeçalho da página, ou seja, dentro da região delimitada por <head> e </head>.
(_) o nome do script
JavaScript deverá ser referenciado por meio do parâmetro action da tag <form>.
(_) a validação do formulário pode ocorrer somente quando o botão de submissão for pressionado pelo usuário.
(_) a ativação de um script pode ser realizada também por meio de eventos tal como o onkeypress .
 
Marque a alternativa que contenha a sequência correta.
	
	
	
	
		Resposta Selecionada:
	 
V; F; F; V.
	Resposta Correta:
	 
V; F; F; V.
	Feedback da resposta:
	Resposta correta. Sua resposta está correta. Validação de campos do formulário poderá ser realizada, tanto no momento de submissão, quanto na ocorrência de eventos, tais como o onkeypress e o onmouseover . Para tanto, o código de tratamento escrito em JavaScript deverá estar dentro da região de cabeçalho. Em relação ao action , não se deve confundir esse parâmetro com o onsubmit . O action serve para referenciar o script (por exemplo, escrito em PHP) que enviará os dados ao servidor e, o onsubmit serve para referenciar o script de validação.
	
	
	
Pergunta 7
0 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:
	 
III; I; IV; II.
	Resposta Correta:
	 
II; I; IV; III.
	
	
	
Pergunta 8
0 em 0,25 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 V são verdadeiras.
	Resposta Correta:
	 
As afirmativas I e III são verdadeiras.
	
	
	
Pergunta 9
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.
 
(_) Permite um 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 10
0,25 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:
	 
II; III; IV; I.
	Resposta Correta:
	 
II; III; IV; I.
	Feedback da resposta:
	Resposta correta. Sua resposta está correta. Realmente a adoção de padrões de projeto acarretam em vários benefícios, tais como: benefícios em prol da diminuição dos custos, melhor manutenibilidade, mais praticidade para a portabilidade do sistema para outros ambientes. Um fator que não podemos deixar de citar é a documentação que os padrões produzem, propiciando trabalhos futuros mais profícuos, não somente em relação ao próprio projeto, como também em projetos futuros, que poderão ser espelhados além de que, uma boa documentação facilita a interação entre os diversos membros e grupos que atuarão no desenvolvimento do projeto.

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Continue navegando