Escolar Documentos
Profissional Documentos
Cultura Documentos
Instruções:
A prova é individual e sem consulta. Questões discursivas e de múltipla escolha devem ser
respondidas à caneta.
Responda com clareza e objetividade as questões discursivas. Cuidado com a ortografia e
caligrafia, bem como a utilização da notação UML, quando for o caso. Se necessário utilize o
verso.
Leia atentamente as questões. Coloque o nome em todas as folhas. O grampo pode ser
retirado.
Boa Prova!!!
I) Questões de Múltipla Escolha - Para cada questão existem 5 alternativas e apenas uma alternativa é
correta. (Vale 0,25 ponto cada questão).
Dica: Quando terminar passe as respostas à caneta e verifique se todas foram respondidas!
1.1) O padrão de projeto que permite, sem violar o encapsulamento, capturar e externalizar um estado interno
de um objeto de maneira que o objeto possa ser restaurado para esse estado mais tarde é:
(A) Composite.
(B) Memento.
(C) Bridge.
(D) Builder.
(E) Strategy.
Justifique e exemplifique sua resposta (Vale 1,0 ponto). Desenhe abaixo o Diagrama de Classes de maneira
a facilitar o entendimento do exemplo de aplicação do padrão.
R.:
Universidade Federal de Sergipe – Campus São Cristóvão
Avaliação 1 – Engenharia de Software para SI II
Nome: _______________________________________________
Curso: Sistemas de Informação Data: 15/02/2017
Professora Dra. Adicinéia A. de Oliveira
1.2) Acerca da arquitetura cliente/servidor, assinale a alternativa que apresenta as principais
características da arquitetura.
(A) Na arquitetura cliente/servidor, cada instância de software instalado no computador cliente deve aguardar a
finalização de uma requisição enviada ao servidor por outro software para que uma nova comunicação possa
ser estabelecida.
(B) Na arquitetura cliente/servidor, os computadores clientes nem sempre iniciam as sessões de comunicação
com os servidores. A comunicação pode partir dos servidores, onde o cliente desenvolve o papel de servidor
e vice-versa.
(C) Uma das principais características da arquitetura cliente/servidor é o fato de um cliente, mesmo solicitando
serviços ou recursos em um servidor, não estar apto a compartilhar seus recursos computacionais.
(D) Uma das principais desvantagens da arquitetura cliente/servidor é a impossibilidade de acrescentar clientes
no ambiente sem haver a interferência no funcionamento da rede.
(E) Na arquitetura cliente/servidor o processo da informação é dividido em 2 processos: Processo cliente,
responsável pela manutenção da informação, e processo servidor, responsável pela obtenção dos dados.
1.3) A essência do projeto de software é tomar decisões sobre a organização lógica do software. Para Bass
(2003), as vantagens em projetar e documentar são:
I. Comunicação de stakeholders.
II. Proteção e segurança.
III. Modelo repositório.
IV. Análise de sistema.
V. Reuso em larga escala.
Avalie e marque a alternativa correta sobre as afirmações acima.
(A) C-C-C-C-C.
(B) C-E-E-C-C.
(C) C-E-E-E-C.
(D) E-C-C-E-C.
(E) E-E-E-E-E.
1.4) O processo de software consiste em uma série de atividades, práticas, eventos, ferramentas e métodos que
garantem, técnica e administrativamente que o software pode ser desenvolvido com qualidade e:
I. de forma ágil.
II. de maneira organizada, disciplinada e previsível.
III. com uma gerência eficiente e controle eficaz.
IV. políticas adequadas às tecnologias adotadas.
Marque a alternativa correta sobre as afirmações:
(A) C-C-C-E.
(B) C-E-E-E.
(C) C-C-C-C.
(D) E-C-E-E.
(E) E-E-E-E.
1.5) Um Analista de Sistemas necessita utilizar alguns padrões de projeto para solucionar determinados
problemas. De acordo com as Categorias de Padrões do Gang of Four− GoF, ele vai utilizar um padrão
de cada uma das três categorias, pela ordem, a saber:
I. Padrões de Criação.
II. Padrões Estruturais.
III. Padrões Comportamentais.
Em relação a essas três categorias, os padrões são, respectivamente:
(A) Strategy, Template Method e Decorator.
(B) Bridge, Prototype e Composite.
(C) Abstract Factory, Singleton e Observer.
(D) Façade, Proxy e Iterator.
(E) Factory Method, Flyweight e Memento.
1.6) Avalie as afirmações considerando verdadeiras com (V) e as alternativas falsas com (F) relativas a
Arquitetura de Software.
I. Os Modelos de Arquiteturas de Software são um facilitador para a comunicação entre todas as
partes interessadas no desenvolvimento de um Sistema Computacional.
Universidade Federal de Sergipe – Campus São Cristóvão
Avaliação 1 – Engenharia de Software para SI II
Nome: _______________________________________________
Curso: Sistemas de Informação Data: 15/02/2017
Professora Dra. Adicinéia A. de Oliveira
II. A Arquitetura de um sistema de software é definida pelas propriedades internas de
seus componentes e pelos estados internos que estes componentes podem atingir d urante a
execução do mesmo.
III. É o software operacional sendo mostrado nos seus detalhes sintáticos e semânticos
representativos de seu comportamento interno.
IV. As propriedades de seus componentes são as suas características capazes de descrever como
os componentes interagem com outros componentes.
V. Os modelos tubos e filtros, orientado a objetos e arquitetura em camadas são exemplo s de
estilos arquiteturais.
Assinale a alternativa que contem a sequência de marcação correta dos itens acima, de cima para baixo.
(A) V, F, F, V, V.
(B) F, V, V, F, V.
(C) F, F, F, V, F.
(D) V, F, V, V, V.
(E) V, V, V, F, V.
1.7) O catálogo denominado Padrões GoF (‘Gang of Four’) define soluções reutilizáveis para problemas
frequentes em projetos de sistemas de software. Essas soluções estão organizadas em três famílias
conforme o propósito de cada solução. Os padrões de projetos denominados Interpreter, Prototype e
Flyweight que fazem parte desse catálogo, pertencem, respectivamente, às seguintes famílias:
(A) padrão estrutural, padrão comportamental e padrão de criação.
(B) padrão comportamental, padrão estrutural e padrão de criação.
(C) padrão comportamental, padrão de criação e padrão estrutural.
(D) padrão estrutural, padrão de criação e padrão comportamental.
(E) padrão de criação, padrão comportamental e padrão estrutural.
1.9) O catálogo denominado Padrões GoF (‘Gang of Four’) define soluções reutilizáveis para problemas
frequentes em projetos de sistemas de software. Essas soluções estão organizadas em três famílias
conforme o propósito de cada solução. Os padrões de projetos denominados Interpreter, Prototype e
Flyweight que fazem parte desse catálogo, pertencem, respectivamente, às seguintes famílias:
(A) padrão estrutural, padrão de criação e padrão comportamental.
(B) padrão comportamental, padrão de criação e padrão estrutural.
(C) padrão estrutural, padrão comportamental e padrão de criação.
(D) padrão comportamental, padrão estrutural e padrão de criação.
(E) padrão de criação, padrão comportamental e padrão estrutural.
1.10) Na engenharia de software existem diversos padrões de projeto que são soluções gerais para
serem reutilizadas em problemas semelhantes. No sistema SISPESSOAL o arquiteto decidiu criar
somente um objeto para conexão com o banco de dados, visando à economia de recursos
computacionais. Quando o objeto for chamado, em qualquer parte do código, sempre será retornada
a mesma instância do objeto. Para que isto ocorra será utilizado o padrão de projeto:
(A) Adapter.
(B) Singleton.
(C) Bridge.
(D) Command.
(E) Strategy.
Universidade Federal de Sergipe – Campus São Cristóvão
Avaliação 1 – Engenharia de Software para SI II
Nome: _______________________________________________
Curso: Sistemas de Informação Data: 15/02/2017
Professora Dra. Adicinéia A. de Oliveira
1.11) Um dos conceitos fortes da Engenharia de Software é o reuso de software. Sabendo
disso, assinale a alternativa que apresenta corretamente o conceito de engenharia de software baseada
em reuso.
(A) É um atalho para economizar tempo e custo por meio da reutilização de linhas de componentes.
(B) É um repositório de componentes de software que podem ser utilizados a qualquer instante do
desenvolvimento.
(C) É um processo de preparação de equipes para que o software seja todo desenvolvido com componentes
comuns.
(D) É uma estratégia em que o processo de desenvolvimento é voltado para a reutilização do software existente.
(E) É o compartilhamento de conhecimento nas equipes de desenvolvimento para evitar o esforço duplicado.
1.12) O sistema de registro de ponto da CASAN está passando por melhorias e será necessário usar
uma biblioteca externa que fornece outras classes e métodos para registrar o funcionário. A equipe
de desenvolvimento decidiu, então, criar uma nova classe com um método de registro do funcionário
com a assinatura idêntica ao método antigo. Esse método encapsulará a chamada ao método da
biblioteca externa, reduzindo assim o impacto da alteração no sistema. Qual dos padrões de projetos
a seguir se enquadra nesse tipo de solução?
(A) Adapter.
(B) Observer.
(C) Prototype.
(D) Decorator.
(E) Singleton.
Desenhe abaixo o Diagrama de Classes de Projeto mostrando como o padrão será util izado na solução
deste problema (Vale 1.0 ponto).
1.14) Em muitas situações uma "aplicação cliente" precisa criar objetos cuja construção efetiva só é
definida em tempo de execução. A "aplicação cliente" não deve se preocupar com a criação dos
objetos. Trata-se da motivação do padrão de projeto:
(A) Singleton.
(B) Builder.
(C) Factory Method.
(D) Abstract Factory.
(E) Proxy.
1.15) O framework MVC (Model-View-Controller) tem como objetivo separar lógica de negócios (Model),
interface do usuário (View) e o fluxo da aplicação (Control). O padrão MVC usa em sua arquitetura
diversos outros padrões de projeto para atingir seu objetivo. Em MVC, as classes do Model não devem
conhecer nada sobre as camadas de interface que exibem suas informações. O padrão de projeto
utilizado pelo padrão arquitetural MVC que é responsável por fazer com que o Model informe mudanças
em seu estado para as interfaces, sem conhecê-las, é o:
(A) Façade.
(B) Observer.
(C) Singleton.
(D) Factory Method.
(E) Composite.
Desenhe o Diagrama de Classes de Projeto mostrando como o padrão será utilizado na solução deste
problema (Vale 1.0 ponto).
1.16) Considere os seguintes requisitos funcionais de um software de frente de caixa de uma sorveteria:
I. ao selecionar um tipo qualquer de sorvete, pode-se adicionar vários condimentos a esse sorvete
(tais como coberturas de diferentes sabores, granulados etc.) e o sistema deve calcular o valor
total (sorvete + condimentos) dinamicamente ao fechar o pedido;
II. ao fechar o pedido, o sistema deve permitir adaptar o tipo de pagamento (cartão de crédito ou
débito com desconto);
III. ao concluir o pedido, o sistema deve permitir que o valor total e a descrição do pedido sejam
enviados a outros objetos (ou módulos) do sistema que estejam interessados nesses dados.
Com base nos requisitos funcionais detalhados acima, qual dos padrões de projetos abaixo são adequados
para resolver cada requisito funcional, respectivamente?
(A) Composite, Adapter e Observer.
(B) Composite, Strategy e Command.
(C) Composite, Singleton e Command.
(D) Decorator, Strategy e Observer.
(E) Decorator, Adapter e Observer.
1.17) Um Analista precisa construir uma aplicação que possui uma função da qual se conhece somente
o algoritmo de execução, sendo que o trabalho de codificação para realização da operação desta
função tem que ser postergado. Ele optou pelo uso do padrão de projeto comportamental:
(A) Template Method, que permite implementar as partes invariantes de um algoritmo e deixar para
subclasses a implementação da parte variante.
(B) Adapter, que cria classes reutilizáveis que cooperam com classes não relacionadas ou não previstas.
(C) Singleton, que possibilita o uso de uma instância estendida sem alterar o seu código.
(D) Abstract Factory, que permite criar uma biblioteca de classes de produtos e revelar somente suas
interfaces, não suas implementações.
(E) Factory Method, que define uma interface para criar objetos, mas deixa que as subclasses decidam que
classe instanciar.
Mandel (1997) apud Pressman e Maxim (2016), cunha três regras de ouro (princípios) para o projeto de
interfaces do usuário. Quais são essas regras? Suscintamente explique cada uma delas e a sua importância
para o projeto de software. (Vale 1,5 ponto).
R.: As três regras de ouro são:
1. Deixar o usuário no comando - <<<explicar >>>
2. Reduzir a carga de memória do usuário - <<<explicar >>>
3. Tornar a interface consistente - <<<explicar >>>
Na figura, é ilustrado, de forma resumida, o diagrama de classes dos componentes visuais AWT. Qual o
padrão de projeto que representa a estrutura de relacionamento entre as classes? Justifique sua resposta
(Vale 1,0).
R.: Composite - <<<<<justificar>>>>
1.21) Considere a seguinte situação: Uma grande empresa possui uma rede de representação de seus
produtos constituída por escritórios de venda em diversas cidades. Cada escritório possui um conjunto de
vendedores que vão até os varejistas oferecer os produtos. Varejistas podem estar em áreas populosas,
como supermercados, ou em áreas remotas, como comércios de bairros rurais. Ao chegar no varejista, o
vendedor utiliza um sistema fornecido pela empresa para registrar os pedidos de produtos. Na situação
descrita, o objetivo é registrar os pedidos na base de dados da central de distribuição da empresa. Porém,
por problemas de comunicação com a central, o computador portátil do varejista pode não conseguir
conectar com a base central para registrar os pedidos. Se isso ocorrer, o sistema deve tentar salvá-los na
base de dados do escritório. Quando a base do escritório também não estiver acessível, os pedidos deverão
ser salvos na base de dados local, no próprio computador portátil do vendedor.
Para estruturar a solução para o problema da empresa, o Analista de Sistemas utilizou um padrão de
projeto que tem a intenção de evitar o acoplamento do remetente de uma solicitação ao seu receptor, ao
dar a mais de um objeto a oportunidade de tratar a solicitação e encadear os objetos receptores, passando
a solicitação ao longo da cadeia até que um objeto a trate. Qual é padrão de projeto dos padrões da GoF
(Gang of Four) utilizado? (Vale 0,5 ponto).
Chain of Responsibility.
R.: ____________________________________________________________________
Desenhe o Diagrama de Classes de Projeto mostrando como o padrão será util izado na solução deste
problema (Vale 1,0 ponto).