Вы находитесь на странице: 1из 4

Fundao CECIERJ - Vice Presidncia de Educao Superior a Distncia

Curso de Tecnologia em Sistemas de Computao Disciplina de Arquitetura e Projeto de Sistemas II GABARITO AD2 1 semestre de 2012. Nome

Observaes: 1. Prova com consulta. Ateno: Como a avaliao distncia individual, caso sejam constatadas semelhanas entre provas de alunos distintos, ser atribuda a nota ZERO a TODAS as provas envolvidas. As solues para as questes podem ser buscadas por grupos de alunos, mas a redao final de cada prova tem que ser distinta. ALM DISSO, s questes desta AD respondidas de maneira muito semelhantes s respostas oriundas dos gabaritos j publicados de ADs e APs de perodos anteriores, ser atribuda a nota ZERO, incluindo tambm cpias diretas e sem sentido de tpicos dos slides das aulas.

Questo 1 [3 pontos] O padro Facade visa prover uma interface nica para um conjunto de interfaces de um subsistema, facilitando o seu uso. a) [1 ponto] Descreva um exemplo, diferente daquele visto em aula, de uma situao onde esse padro til. b) [1 ponto] Quais so os benefcios alcanados com o uso desse padro? c) [1 ponto] Desenhe um modelo de classes exibindo como o padro pode ser utilizado na situao descrita. Resposta: a) Um possvel exemplo de situao onde esse padro til pode ser verificado no projeto da interao entre um sistema cliente com um sistema de controle de biblioteca. Neste caso, visando prover uma interface nica para um conjunto de interfaces de um subsistema, um conjunto de classes (e.g., Estante, Leitor, Emprstimo e Livro) deve se comportar como um componente, de maneira que o cliente deva falar com uma nica interface (i.e., Biblioteca). Dessa forma, operaes como reservaLivro(), pegarLivroEmprestado() e

devolveLivro() estariam concentradas na classe Biblioteca, facilitando seu uso, compreenso e manuteno. b) Dentre os benefcios alcanados com a utilizao do padro Facade, pode-se citar: (i) separa a responsabilidade da criao complexa em objetos auxiliares coesos; (ii) oculta a lgica de criao potencialmente complexa; e (iii) permite a introduo de estratgias de gerenciamento de memria para a melhoria do desempenho, como o uso de cache ou reciclagem de objetos. c) Modelo de classes correspondente situao apresentada em (a):

Questo 2 [3 pontos] D a sua avaliao sobre o acoplamento nos problemas abaixo e indique se uma situao desejvel. (a) [1,5 ponto] CENRIO A: um sistema onde todos os objetos herdam da classe ObjetoPersistente, para que seja possvel implementar um mapeamento objeto-relacional automtico; (b) [1,5 ponto] CENRIO B: um sistema onde as classes tm somente atributos primitivos e mtodos, sem nenhuma associao ou herana; Resposta: a) Uma subclasse fortemente acoplada sua superclasse. Por isso, deve-se considerar cuidadosamente qualquer deciso de derivar de uma superclasse, pois uma forma muito forte de acoplamento. O cenrio apresentado funcional, ou seja, no apresenta uma situao incorreta. No entanto, seguindo a ideia do padro Low Coupling, a desvantagem desse uso de subclasses que ele acopla fortemente objetos do domnio a um

determinado servio tcnico e mistura diferentes interesses arquiteturais. Isso faz com que esses objetos estejam atrelados e dependam de um mecanismo de persistncia especfico. Em caso de descontinuidade do projeto desse mecanismo ou evoluo no cuidadosa, ou ainda de manuteno corretiva, o sistema como um todo sofrer seus reflexos (e.g., quando da necessidade de migrao para outro mecanismo de persistncia, esses objetos do domnio demandaro adaptaes, tornando-se oneroso para o projeto do sistema). Por outro lado, uma vantagem estaria na herana automtica de comportamento de persistncia, buscando facilitar o tratamento deste interesse. Enfim, esse cenrio representativo de um caso de alto acoplamento. b) Esse cenrio representa o caso extremo de aplicao do padro Low Coupling, no qual no h acoplamento entre classes. Isso no desejvel, porque contradiz uma metfora central da tecnologia de objetos: um sistema composto de objetos conectados que se comunicam por mensagens. Se esse padro for aplicado em demasia, levar a um projeto ruim, com poucos objetos ativos, sem coeso, imprecisos e complexos, que fazem todo o servio, e com muitos objetos passivos, com acoplamento zero, que agem como simples repositrios de dados. Ou seja, um grau de acoplamento entre classes normal e necessrio para criar um sistema orientado a objetos no qual as tarefas so executadas por uma colaborao entre objetos conectados. Dessa forma, este cenrio no funcional. Questo 3 [4 pontos] Considerando as arquiteturas web responda: a) [2 pontos] Quais os seus componentes fundamentais? Explique um canrio tpico de comunicao em um sistema Web que apresenta arquitetura em trs camadas. b) [2 pontos] Selecione dois estilos arquiteturais para Web e explicite suas caractersticas, vantagens e limitaes. Resposta: a) Os componentes fundamentais de arquiteturas web so: HTML (pginas web estticas), componentes que rodam no cliente (e.g., Applets e ActiveX), scripts que rodam no cliente (e.g., JavaScript), scripts que rodam no servidor (e.g., PHP, ASP, JSP), componentes que rodam no servidor (e.g., Servlets e EJB) e banco de dados. Um cenrio tpico de comunicao em um sistema web que apresenta arquitetura em trs camadas poderia ser: inicialmente, o cliente no browser solicita um servio ao servidor usualmente aps o preenchimento de um formulrio HTML; a seguir, o servidor interpreta a solicitao na camada de aplicao; se necessrio, a camada de aplicao se comunica com a camada de armazenamento para acessar dados; assim, a camada de aplicao redireciona o fluxo para a camada de apresentao a fim de que o servidor construa uma pgina de resposta; por fim, o servidor retorna a pgina de resposta. b) Thin Client: representa um estilo fundamentado na mnima utilizao dos recursos do cliente, exigindo mnima capacidade de seu navegador. Algumas de suas caractersticas

so: (i) estilo mais apropriado para aplicaes Internet; (ii) baixo controle da configurao do navegador cliente; e (iii) toda a lgica de negcio reside no servidor. Suas vantagens: (i) independncia total de plataforma ou navegador; e (ii) concentrao da lgica de negcio no servidor. Apesar disso, apresenta limitaes: (i) interface com o usurio limitada pela linguagem HTML; e (ii) maior nmero de transaes com o servidor. AJAX: consiste em um estilo baseado na utilizao de scripts de cliente de forma assncrona, permitindo a carga parcial de pginas. Algumas de suas caractersticas so: (i) permite a carga parcial de dados em uma pgina e (ii) combina JavaScript e XML. Uma vantagem est na carga parcial e assncrona de dados para o cliente, ao passo que uma limitao se refere dependncia (limitada) com o navegador.

Вам также может понравиться