Arquitetura de Software Flashcards
De acordo com as recomendações do consórcio W3C, as funcionalidades de um Web Service devem ser descritas por meio do padrão:
WSDL
Segundo as Diretrizes de Acessibilidade para Conteúdo Web (WCAG 2.0), para prevenir erros de entrada no nível de sucesso mais elevado (Nível AAA), as páginas devem garantir que as operações comandadas pelo usuário sejam:
reversíveis, verificadas ou confirmadas.
Certo ou errado?
Nesse tipo de arquitetura cliente-servidor em multicamadas, um terminal pode executar a aplicação, enquanto outro terminal exibe o resultado na tela.
Errado!
Certo ou errado?
Julgue os itens que se seguem, concernentes à arquitetura cliente-servidor em multicamadas.
Uma estação cliente nunca estabelece comunicação direta com o servidor de banco de dados, mas sim com uma camada intermediária, a qual se comunica com o banco de dados.
Certo
Certo ou errado?
Entre as diversas tecnologias utilizadas para se desenvolver um portal corporativo dinâmico, existem os webservices, que facilitam as trocas de informações entre sistemas. Com referência às tecnologias normalmente empregadas em webservices, julgue os próximos itens.
Por meio do protocolo chave HTTP, é possível utilizar o método PUT para se criar um novo recurso de um webservice.
Certo
Certo ou errado?
Entre as diversas tecnologias utilizadas para se desenvolver um portal corporativo dinâmico, existem os webservices, que facilitam as trocas de informações entre sistemas. Com referência às tecnologias normalmente empregadas em webservices, julgue os próximos itens.
Um documento SOAP é um XML que possui um elemento raiz denominado fault, que é utilizado para armazenar dados de transporte da informação.
Errado
Certo ou errado?
Entre as diversas tecnologias utilizadas para se desenvolver um portal corporativo dinâmico, existem os webservices, que facilitam as trocas de informações entre sistemas. Com referência às tecnologias normalmente empregadas em webservices, julgue os próximos itens.
Por meio de webservice, um sistema desenvolvido em PHP pode trocar informações, via arquivos XML, com uma aplicação que retorne uma lista de endereços postais, desenvolvida em Java.
Certo
Certo ou errado?
Na busca de um produto em uma loja virtual por meio de um webservice, quando o produto é encontrado, o protocolo HTTP retorna um HTTP/1.1 404, o que facilita o tratamento do pedido no programa cliente.
Errado
Web services são componentes de aplicações web que podem ser criados, publicados, encontrados e usados na web, utilizando um conjunto de recursos, dentre eles, os descritos a seguir:
I. É uma linguagem baseada em XML, recomendado pelo W3C, para descrever Web services.
II. É um protocolo baseado em XML, recomendado pelo W3C, para acessar Web Services.
III. É um serviço de diretório onde as empresas podem procurar por Web Services.
IV. É um framework escrito em XML e recomendado pelo W3C, para descrever recursos na web.
Os recursos apresentados em I, II, III e IV descrevem, respectivamente:
WSDL; SOAP; UDDI; RDF
O padrão de projeto singleton tem por objetivo:
assegurar que cada classe tenha uma única instância.
Na Comutação em Nuvem (Cloud Computing), o termo Software as a Service (SaaS) vem sendo utilizado para designar uma nova maneira de distribuição e comercialização de software, que possui como uma de suas características:
a não aquisição das licenças dos softwares a serem utilizados.
Um Analista de Desenvolvimento de Sistemas do CNMP deve indicar o padrão de projeto mais adequado para ser aplicado na seguinte situação:
Uma aplicação que existe simultaneamente em um dispositivo móvel e no ambiente corporativo, necessita de um processo de sincronização entre as informações processadas no dispositivo móvel e na base corporativa. Ambas as aplicações devem se comunicar com um objeto que deve ser único para processar este sincronismo, a fim de evitar a possibilidade de criar dados na base.
O padrão de projeto corretamente indicado pelo Analista deve ser:
Singleton, um padrão de criação, que busca garantir que um objeto terá apenas uma única instância, ou seja, uma classe irá gerar apenas um objeto e que este estará disponível de forma única para todo o escopo de uma aplicação.
Considere as situações:
I. É necessário um arranjo que possibilite a reutilização do código e facilite sua manutenção e seu aperfeiçoamento. Devese separar Apresentação, Regra de Negócio e Acesso a Dados. Busca-se a decomposição de funcionalidades de forma a permitir aos desenvolvedores concentrarem-se em diferentes partes da aplicação durante a implementação.
II. Há um problema que ocorre várias vezes em determinado contexto, cuja solução arquitetural é conhecida e já existe modelada e documentada podendo ser utilizada sistematicamente em distintas situações.
III. Buscam-se princípios e orientações para transformar o conjunto existente de recursos de TI de uma empresa, que são heterogêneos, distribuídos, complexos e inflexíveis em serviços integrados, simplificados e altamente flexíveis que possam ser alterados e compostos para apoiar mais diretamente as metas comerciais nos negócios via web.
As soluções para as situações apresentadas em I, II e III, são, correta e respectivamente:
Arquitetura em 3 camadas, Padrão de Projeto e SOA.
A abordagem MVC (Model‐View‐Controller – Modelo/Visão/Controlador) compõe‐se de três objetos: modelo, visão e controlador. O modelo é o objeto da aplicação, a visão é a apresentação na tela e o controlador que é quem define a maneira como a interface do usuário reage às entradas do mesmo. MVC utiliza vários padrões de projeto, cada um com as suas características. Na abordagem MVC, dois padrões têm as seguintes funções: especificar por falta (by default) a classe controladora para uma visão e acrescentar capacidade de rolagem (scrolling). Assinale a alternativa que apresenta, respectivamente, esses dois padrões de projeto.
Factory Method e Decorator.
“Representa uma operação a ser executada sobre os elementos da estrutura de um objeto. Permite que se defina uma nova operação sem mudar as classes dos elementos sobre os quais opera.” Trata‐se do padrão de projeto:
Visitor
Quais são os padrões criacionais?
Singleton, Builder, Prototype, Abstract Factory, Factory Method.
Certo ou errado?
Com relação a qualidade de software, bancos de dados e suas tecnologias, julgue os itens de 87 a 92.
Na arquitetura cliente-servidor, o cliente (front_end) fornece a interface do usuário e o servidor (back_end) executa as consultas no SGBD. A principal desvantagem dessa arquitetura é a divisão do processamento entre dois sistemas, o que aumenta o tráfego de dados na rede.
Errado.
Uma arquitetura muito comum em aplicações web é o Modelo Arquitetural 3 Camadas:
I. Camada de Persistência.
II. Camada de Lógica de Negócio.
III. Camada de Apresentação.
Neste modelo, a correta associação dos componentes com as camadas é:
I-Servidor de Banco de Dados
II-Servidor de Aplicação
III-Máquina Cliente.
Angela pretende utilizar alguns design patterns em seu projeto Java e, após algumas pesquisas, encontrou o que buscava em Singleton e Prototype cujos objetivos são, respectivamente:
I. Encapsular a escolha das classes concretas a serem utilizadas na criação dos objetos de diversas famílias.
II. Permitir a criação de uma única instância de uma classe e fornecer um modo para recuperá-la.
III. Possibilitar o reaproveitamento de objetos.
IV. Possibilitar a criação de novos objetos a partir da cópia de objetos existentes.
Está correto o que consta APENAS em:
II e IV.
Considere as seguintes afirmações sobre a arquitetura de três camadas:
I. Essa arquitetura não suporta sistemas que possuam bases de dados.
II. Uma das formas de denominação das três camadas é cliente, aplicação e dados.
III. Os programas de interface com o usuário ficam contidos na camada de aplicação.
Sobre as afirmações, está correto apenas o contido em:
II
Certo ou errado?
Os anti-patterns destacam problemas comuns que as organizações desenvolvedoras de software enfrentam em temas organizacionais de gestão de projeto, de desenho (design), de programação, de gerência de configuração, entre outros, e fornecem orientações para que esses problemas sejam reconhecidos e as suas causas subjacentes, determinadas.
Certo
Certo ou errado?
Todo ConcreteIterator que participa de uma aplicação do padrão Iterator está associado a um ConcreteAggregate.
certo
Certo ou errado?
O padrão GRASP denominado Controller é um padrão avaliativo que dita como atribuir responsabilidades a um desenho orientado a objeto visando obter baixo acoplamento.
errado
Certo ou errado?
Um comando, participante do padrão Command, herda de um MacroCommand.
errado
Certo ou errado?
Em padrões comportamentais, a distribuição de comportamento entre classes é feita por meio de delegação.
errado
Certo ou errado?
Padrões comportamentais distribuem responsabilidade pela instanciação de objetos entre seus participantes, da mesma forma que nos padrões GRASP.
errado
Certo ou errado?
O uso do padrão singleton apresenta como consequências uma redução do uso de variáveis globais e uma melhor organização do espaço de nomes de um software orientado a objetos.
certo
Segundo Gamma et al, em seu livro sobre Padrões de Projeto, o uso do padrão Memento apresenta as consequências listadas nas afirmativas a seguir.
I. A adição e a remoção de produtos em tempo de execução.
II. A especificação de novos objetos pela variação de seus valores e/ou de sua estrutura.
III. A redução da necessidade de criação de subclasses.
Quais estão certas?
Nenhuma!
No contexto de Web Services, o WSDL é a linguagem recomendada pelo W3C para:
descrever as funcionalidades oferecidas pelo serviço.
Para oferecer um serviço na internet, é necessário manter um computador online para disponibilizar conteúdo a outros que realizam o acesso. Nesse cenário, o computador que disponibiliza os dados e o que realiza o acesso representam, respectivamente:
o servidor e o cliente.
O padrão de projeto Factory provê uma classe de decisão que retorna:
um objeto de uma de suas subclasses, com base em um parâmetro recebido.
A definição de que um sistema deve ser desenvolvido em três níveis é feita pelo padrão de projeto:
MVC (Model View Controller).
O padrão de projeto singleton é usado para restringir :
a instanciação de uma classe para apenas um objeto.
Certo ou errado?
No desenvolvimento de um sistema estruturado em subsistemas para facilitar o acesso e minimizar a comunicação e dependências entre os subsistemas, o padrão de criação Factory Method, que fornece uma interface para a criação de famílias de objetos relacionados ou dependentes sem especificar suas classes concretas, é mais indicado que o padrão de criação Prototype.
Errado
Certo ou errado?
Se, no desenvolvimento de uma aplicação que leia documentos do tipo txt e seja capaz de converter o documento em vários formatos distintos, houver a necessidade de facilitar acréscimos de novos tipos de conversão, será mais indicado o uso do padrão de estrutura Adapter que o uso do padrão de estrutura Bridge, pois o padrão Adapter separa a construção de um objeto complexo de sua representação para criar representações diferentes com o mesmo processo.
Errado
Um padrão de projeto de software descreve uma solução geral e reutilizável para um problema recorrente no desenvolvimento de sistemas. Ele é voltado para o desenvolvimento de softwares orientados a objeto, mas não apresenta um código final, porém apenas uma descrição de como resolver o problema. O padrão de projeto que garante a existência de apenas uma instância de uma classe, mantendo um ponto global de acesso ao objeto, chama-se:
singleton