Prévia do material em texto
Resultado da tentativa 6 em 10 pontos Tempo decorrido 18 horas, 58 minutos Resultados exibidos Todas as respostas, Respostas enviadas, Respostas corretas, Comentários • Pergunta 1 1 em 1 pontos Ao estruturarmos um projeto, precisamos pensar em arquiteturas que o atendam da melhor maneira possível. Sabendo que o sistema que você está estruturando deve rodar via plataforma web e é uma aplicação que atenderá exclusivamente a empresa, sem interações com demais serviços ou sistemas, qual a melhor arquitetura para esse cenário? Resposta Selecionada: d. Arquitetura em camadas. Respostas: a. Arquitetura baseada em componentes. b. Arquitetura orientada a serviços. c. Arquitetura monolítica. d. Arquitetura em camadas. e. Arquitetura orientada a eventos. Comentário da resposta: Resposta correta: d) Arquitetura em camadas. Sendo web e local para a empresa, a arquitetura mais simples a ser adotada é a arquitetura em camadas. • Pergunta 2 1 em 1 pontos Ao construir um serviço web utilizando o padrão arquitetural REST, em geral, os métodos devem ser anotados com algumas propriedades. A anotação @Produces é utilizada entre as propriedades para: Resposta Selecionada: b. especificar o tipo de dado que um recurso pode produzir e enviar para o cliente, em resposta a uma solicitação. Respostas: a. indicar o dado a ser produzido e armazenado por um recurso. b. especificar o tipo de dado que um recurso pode produzir e enviar para o cliente, em resposta a uma solicitação. c. especificar o recurso que vai produzir o dado solicitado por um cliente. d. especificar o momento em que o dado solicitado pelo cliente será produzido. e. estabelecer controles de acesso aos dados produzidos, em função de uma solicitação de um cliente. Comentário da resposta: Resposta correta: b) especificar o tipo de dado que um recurso pode produzir e enviar para o cliente, em resposta a uma solicitação. @Produces informa qual e como o objeto produzido pelo método vai retonar a informação ao cliente que o solicitou. • Pergunta 3 0 em 1 pontos Quando vamos implementar um sistema pensando em sua escalabilidade, geralmente indica-se uma abordagem voltada à construção de serviços. Isso é conhecido entre os arquitetos de software como Arquitetura Orientada a Serviços (SOA). Dentre as diversas definições que temos sobre SOA, podemos dizer que, ela: Resposta Selecionada: c. é um web Service de alta performance, em virtude de sua arquitetura informal e adaptável. Respostas: a. aumenta o custo de manutenção das aplicações, porque é uma tecnologia que necessita de muitos recursos operacionais. b. necessita ser adquirida e pode ser instalada em quaisquer ambientes operacionais com alguma customização, dependendo da tecnologia utilizada. c. é um web Service de alta performance, em virtude de sua arquitetura informal e adaptável. d. necessita ser adquirida e pode ser instalada em quaisquer ambientes operacionais sem customização alguma. e. não é, por si só, uma tecnologia e nem uma metodologia, contudo, pode ser considerada uma filosofia arquitetural. Comentário da resposta: Resposta correta: e) não é, por si só, uma tecnologia e nem uma metodologia, contudo, pode ser considerada uma filosofia arquitetural. SOA não define regras ou normas. É apenas uma diretriz de como considerar o sistema de camadas, onde cada uma é um serviço. • Pergunta 4 1 em 1 pontos Ao projetar um web service RESTful, é sempre desejado que os métodos possuam uma propriedade importante. Essa propriedade permite que ele seja invocado múltiplas vezes, em um mesmo recurso, e o resultado produzido seja sempre o mesmo. Essa propriedade é a: Resposta Selecionada: d. idempotência. Respostas: a. ausência de estado. b. escalabilidade. c. capacidade de armazenar conteúdo em cache. d. idempotência. e. hipermídia como motor do estado da aplicação (HATEOAS). Comentário da resposta: Resposta correta: d) idempotência. Idempotência é a propriedade existente em um método que sempre permite que o resultado de execução seja o mesmo. • Pergunta 5 0 em 1 pontos Quando trabalhamos com reuso e componentização de software, precisamos considerar: I. Se o componente sendo projetado é muito complicado, seu uso se torna difícil por ser complexo. Quando se projeta um componente, deve-se mantê-lo tão simples quanto possível. II. Quando uma solução baseada em componentes é projetada, podemos ter um comportamento comum, onde muitos usuários possam utilizar. Outra forma para reuso, com as interfaces genéricas, é através do reuso da especificação. Como eles podem possuir múltiplas interfaces, também é possível ter diferentes componentes. III. Ao tratar o reuso dos componentes existentes, podemos dizer que as interfaces devem ser projetadas para usar outras em tempo de design ou em tempo de implementação. É correto o que consta apenas em: Resposta Selecionada: b. II. Respostas: a. I. b. II. c. III. d. I e III e. I, II e III Comentário da resposta: Resposta correta: d) I e III. Um componente deve ser simples e as interfaces devem ser bem projetadas para se complementarem. • Pergunta 6 1 em 1 pontos Padrões de projetos são sugestões para soluções reutilizáveis em projetos em comum, conforme a programação orientada a objetos, de acordo com Gamma. Foram definidos três tipos de padrões de projetos trabalhando com categorias. Considere as três afirmativas a seguir e, na sequência, informe qual está correta. I. Padrões de projeto de criação são aqueles que abstraem o processo de instanciação de objetos; II. Padrões de projeto estruturais se preocupam com a maneira como os objetos são compostos para formar estruturas maiores; III. Padrões de projeto comportamentais se preocupam com algoritmos, as responsabilidades e interações entre os objetos. Resposta Selecionada: e. I, II e III estão corretas. Respostas: a. Apenas a afirmativa I está correta. b. Apenas as afirmativas I e II estão corretas. c. Apenas as afirmativas I e III estão corretas. d. Apenas as afirmativas II e III estão corretas. e. I, II e III estão corretas. Comentário da resposta: Resposta correta: e) I, II e III estão corretas. Criação está se referindo a como o objeto é criado; estrutural, em como o objeto é organizado; e comportamental, em como ele é executado. • Pergunta 7 1 em 1 pontos Um dos principais pontos na fase de planejamento da criação de um software é a definição de sua arquitetura. Essa decisão pode influenciar em vários pontos do desenvolvimento. Com isso em mente, podemos afirmar que a arquitetura tem como objetivo principal prover um projeto que: Resposta Selecionada: a. implemente e possa ser verificado se cumpre os requisitos de software. Respostas: a. implemente e possa ser verificado se cumpre os requisitos de software. b. defina a linguagem de programação a ser utilizada na codificação. c. permita definir as habilidades da equipe que vai desenvolver o software. d. defina qual será o modo de redundância a ser utilizado pelo sistema. e. determine o tipo e parâmetros de compilação a serem utilizados. Comentário da resposta: Resposta correta: a) implemente e possa ser verificado se cumpre os requisitos de software. A arquitetura é a base para implementação e validação de todos os requisitos. • Pergunta 8 1 em 1 pontos Quando estamos projetando um sistema, é importante ficarmos atentos à segurança da informação. Nesse contexto, existe um conceito que direciona a segurança, onde se garante que a informação não esteja disponível, nem seja revelada a quaisquer entidadesou processos não autorizados. Esse conceito que estamos falando é: Resposta Selecionada: d. Confidencialidade Respostas: a. Disponibilidade b. Não-repúdio c. Integridade d. Confidencialidade e. Confiabilidade Comentário da resposta: Resposta correta: d) Confidencialidade. Confidencialidade é o modo de garantir que a informação estará acessível apenas para pessoas autorizadas. • Pergunta 9 0 em 1 pontos Diversos modelos podem ser aplicados dentro de um cenário de desenvolvimento de software. Quanto ao processo de desenvolvimento que enfatiza a integração de componentes reutilizáveis, é correto chamar de: Resposta Selecionada: e. Projeto orientado a objetos. Respostas: a. Ciclo de vida do software. b. Desenvolvimento evolucionário. c. Engenharia de software baseada em componentes. d. Prototipação throwaway. e. Projeto orientado a objetos. Comentário da resposta: Resposta correta: c) Engenharia de software baseada em componentes. A engenharia de software é um processo que apoia o desenvolvimento, portanto, quando se trata de um processo baseado em componentes, temos a engenharia de software baseada em componentes. • Pergunta 10 0 em 1 pontos Um desenvolvedor está criando um projeto focando sua estrutura em otimizar o reuso das classes e analisando uma possível solução que possibilite a construção de interfaces com sistemas móveis e web que podem ser modificadas sem necessidade da alteração nas regras de negócio, tornando, assim, uma implementação mais flexível e com oportunidades de reuso das classes. O padrão arquitetural que atende essa necessidade, já que contempla a divisão do projeto em camadas muito bem definidas e é recomendado para esse tipo de solução, é conhecido como: Resposta Selecionada: b. SOAP Respostas: a. MVC b. SOAP c. SPRINT d. XML e. ASP Comentário da resposta: Resposta correta: a) MVC. O MVC define camadas que isolam cada parte do sistemas, de acordo com seu objetivo maior.