Baixe o app para aproveitar ainda mais
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');
Compartilhar