Buscar

DESENVOLVIMENTO DE SOFTWARE PARA WEB atividade 2 UAM

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

02/04/2020 Revisar envio do teste: ATIVIDADE 2 (A2) – GRA0252 ...
https://anhembi.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 1/7
Usuário KEVIN KELLER DE ARAUJO
Curso GRA0252 DESENVOLVIMENTO DE SOFTWARE PARA WEB PTA - 202010.ead-5466.01
Teste ATIVIDADE 2 (A2)
Iniciado 02/04/20 15:17
Enviado 02/04/20 16:04
Status Completada
Resultado da tentativa 10 em 10 pontos  
Tempo decorrido 46 minutos
Resultados exibidos Respostas enviadas, Respostas corretas, Comentários
Pergunta 1
Dentro da programação, independentemente de ser a codi�caçã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 �caria: 
  
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 a�rmaçõ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. 
1 em 1 pontos
02/04/2020 Revisar envio do teste: ATIVIDADE 2 (A2) – GRA0252 ...
https://anhembi.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 2/7
Resposta Selecionada: 
Resposta Correta: 
Feedback
da
resposta:
III. Não implementaria a “solução II” pois as classes �cariam não �exíveis, ou seja, todas deveriam seguir o
mesmo padrão, o que di�cultaria a reutilização do código. 
IV. Implementaria a “solução II”, pois a modi�cação do código para inserir ou retirar uma forma de
pagamento, �caria mais ágil e fácil de ser realizada. 
V. Implementaria a “solução I”, pois é mais fácil de entender. 
  
Diante das a�rmações acima, selecione a opção correta.
As a�rmativas I e IV são verdadeiras.
As a�rmativas I e IV são verdadeiras.
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 2
Resposta Selecionada: 
Resposta Correta: 
Feedback
da
resposta:
Sabe-se que para a codi�caçã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 a�rmativas a seguir, assinale com “J”, a a�rmativa 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.
P; J; J; P.
P; J; J; P.
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
A validação de um campo pode ser realizada de duas maneiras: a veri�cação da estrutura e a veri�cação do
valor. No caso, por exemplo, do CPF, a veri�cação da estrutura poderá ser realizada com a utilização de
expressões regulares e, a veri�cação do valor, com codi�cação JavaScript direta. Para essa questão, suponha
o código para a validação estrutural abaixo.
 
<html>
 <head>
  <script language="JavaScript">
   function Veri�carCPF(f)
    {
     var exp_regCPF   =  ___;
     if(exp_regCPF.test(f.___.value))
1 em 1 pontos
1 em 1 pontos
02/04/2020 Revisar envio do teste: ATIVIDADE 2 (A2) – GRA0252 ...
https://anhembi.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 3/7
Resposta Selecionada: 
Resposta Correta: 
      {
        alert("___");
        return true;
      }
     else
      {
        alert("___");
        return true;
      }
    }
  </script>
 </head>
 <body>
  <form name="cadastro" method=”POST”
   _1_="return Veri�carCPF(this);">
     <p>Número do CPF: <input type="text" name="cpf"></p>
     <p><label><input type="submit" name="Veri�car"
        value="Veri�car"></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.
 III; V; VIII; VII; I.
 III; V; VIII; VII; I.
02/04/2020 Revisar envio do teste: ATIVIDADE 2 (A2) – GRA0252 ...
https://anhembi.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 4/7
Feedback
da
resposta:
Resposta correta. Sua resposta está correta. Você acertou a expressão regular observando os
campos que representam valores e aqueles que representam a quantidade de ocorrências.
Além disso, fez uso do método test de forma apropriada e acertou quando usar o action e
quando usar o onSubmit.
Pergunta 4
Resposta Selecionada: 
Resposta Correta: 
Feedback
da
resposta:
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. 
(_) Noti�ca as outras duas camadas na ocorrência de alterações. 
  
Assinale a alternativa que contém a sequência correta.
V; C; M; C; V; M.
V; C; M; C; V; M.
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
noti�caçõ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 codi�cação em HTML e/ou XML.
Pergunta 5
Resposta Selecionada: 
Resposta Correta: 
Feedback
da
resposta:
Páginas responsivas poderão ser construídas por meio da combinação de scripts JavaScript com as folhas de
estilo CSS. Uma das formas é adicionar ou retirar regras CSS. Porém, quando se codi�ca páginas, sempre há
uma preocupação frente à versão ou ao tipo de navegador que o usuário poderá usar para abrir as referidas
páginas. Para essa questão, analise os elementos de codi�cação que poderão ser usados em suas páginas. 
  
I. if(obj.addRule)  {obj.addRule(seletorCSS,defEstilo, índice);} 
   else {obj.insertRule(seletorCSS,defEstilo, índice);} 
II. $(document).ready(function(){ código para veri�car o tipo do 
   ambiente para, depois, manipular CSS }); 
III.  var v = document.createElement(“style”); 
    body.appendChild(v); 
IV. var v = document.createElement(“style”); 
    head.appendChild(v); 
  
Marque a opção correta.
Pode-se usar os códigos numerados como I, II e IV.
Pode-se usar os códigos numerados como I, II e IV.
Resposta correta. Sua resposta está correta. A a�rmação I codi�ca a adição de uma regra CSS.
Porém, dependendo do navegador, é implementado o método “addRule” ou “insertRule”. Sendo
assim, há um teste para veri�car se o método “addRule” existe. Na codi�cação da a�rmação II,
as alterações de CSS é realizada apenas após o teste de veri�cação de ambiente. Por �m, no
código da a�rmação III, existe um erro no local da inserção. Na verdade, deveria ser
head.appendchild()
1 em 1 pontos
1 em 1 pontos
02/04/2020 Revisar envio do teste: ATIVIDADE 2 (A2) – GRA0252 ...
https://anhembi.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 5/7
Pergunta 6
Resposta Selecionada: 
Resposta Correta: 
Feedback
da
resposta:
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 a�rmativas 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.
As a�rmativas I e III são verdadeiras.
As a�rmativas I e III são verdadeiras.
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 7
Resposta Selecionada: 
Resposta Correta: 
Feedback
da
resposta:
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 classi�cados 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 de�niçã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 uni�cada 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 simpli�cação em relação à manutenção do sistema. 
(_) Pode ser usado em ambientes que permitam uma editoração grá�ca, na qual a �gura consiste de uma
árvore de objetos. 
(_) Criar subcamadas do sistema, permitindo uma abstração em um nível acima. 
(_) Em um editor grá�co, todos os objetos grá�cos, 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.
IV; I; III; II.
IV; I; III; II.
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í�co em relação à estrutura, comportamento e
de visão.
1 em 1 pontos
1 em 1 pontos
02/04/2020 Revisar envio do teste: ATIVIDADE 2 (A2) – GRA0252 ...
https://anhembi.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 6/7
Pergunta 8
Resposta Selecionada: 
Resposta Correta: 
Feedback
da
resposta:
Temos inúmeros padrões de projeto que podemos aplicar no desenvolvimento de nossas páginas, dentre os
quais, podemos mencionar o padrão GOF e o padrão MVC. Analise as a�rmações abaixo, classi�cando-as
como “V”, se forem verdadeiras, ou “F”, se forem falsas. 
  
(_) O padrão GOF é mais restritiva, ou seja, analisa um aspecto em especí�co. 
(_) O padrão GOF contempla três grupos: criação; estrutural e comportamental. 
(_) O padrão GOF é o preferido para a implementação de páginas. 
(_) O padrão MVC é totalmente divergente em relação ao GOF. 
  
Assinale a alternativa que que apresenta a sequência correta.
F; V; V; F.
F; V; V; F.
Resposta correta. Resposta correta. Realmente o padrão MVC é o preferido para a
implementação das páginas, pois realiza a abstração do sistema sob vários pontos de vista.
Essa decomposição funcional e estrutural, utilizando elementos do GOF, permite que os vários
aspectos demandados pelas páginas possam ser supridos.
Pergunta 9
Resposta Selecionada: 
Resposta Correta: 
Feedback
da
resposta:
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 a�rmativas
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 a�rmativas acima com as possíveis consequências: 
(_) melhor abstração do sistema, deixando-o mais legível para a codi�caçã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 a�rmativas e as consequências.
II; III; IV; I.
II; III; IV; I.
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 fatorque 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.
Pergunta 10
1 em 1 pontos
1 em 1 pontos
1 em 1 pontos
02/04/2020 Revisar envio do teste: ATIVIDADE 2 (A2) – GRA0252 ...
https://anhembi.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 7/7
Quinta-feira, 2 de Abril de 2020 16h04min55s BRT
Resposta Selecionada: 
Resposta Correta: 
Feedback
da
resposta:
À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 �nal, será implantado para ser
operado. Analise as a�rmativas 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 veri�caçã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.
V; F; V; V.
V; F; V; V.
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.
← OK
javascript:launch('/webapps/blackboard/content/listContent.jsp?content_id=_12509559_1&course_id=_562922_1&nolaunch_after_review=true');

Continue navegando