Você está na página 1de 12

Eng.

Software - Módulo 2
Notas para Revisão das Disciplinas para
Prova Presencial

Disciplina 1 - Qualidade de Software II

Gabarito da Atividade 01
Questões objetivas-UNIDADE 1

1)Sejam as seguintes afirmativas

I- Membros públicos são os campos e funções membro que são visíveis externamente à classe.
II- Membros privados são visíveis apenas internamente à classe em que foram programados
III- Elementos protegidos possuem visibilidade intermediária, normalmente
sendo acessíveis por todas as classes de uma hierarquia
IV- Atributos públicos de uma classe mãe podem ser acessados por objetos instanciados de uma
classe filha da classe mãe.

Podemos afirmar que são CORRETAS as afirmativas

a) II e IV
b) III e IV
c) I, II e III
d) I e III
e) todas estão corretas

RESPOSTA: E

2) Assinale a afirmativa INCORRETA:

a) Se a classe derivada não especificar o construtor da classe base que deseja chamar, será
executada a chamada ao construtor padrão da classe base (se houver).
b) Os construtores não são chamados automaticamente. Uma classe derivada deverá escolher qual
construtor da superclasse deseja chamar.
c) A palavra chave super está disponível para todos os métodos não estáticos de uma classe
estendida.
d) A subclasse poderá chamar diretamente o construtor da superclasse utilizando-se a cláusula
super(). A assinatura do método super() deve ser a mesma assinatura do construtor que se deseja
chamar.
e) Métodos protegidos estáticos não podem ser acessados em qualquer classe estendida.

RESPOSTA: E
3) Assinale a afirmativa CORRETA:

a) No polimorfismo ad hoc, um objeto diferente do esperado é passado em uma expressão ou como


parâmetro.
b) No processo de sobrecarga, é possível se declarar métodos com mesmo nome e assinatura
idênticas.
c) A sobrecarga permite definir funções com o mesmo nome em um mesmo escopo, porém,
com assinaturas diferentes.
d) Uma das formas de se alcançar o polimorfismo finito é através da herança de classes.
e) Se uma classe é definida como final, ela não poderá ser estendida por outra classe e todos os
métodos não serão afetados.

RESPOSTA: C

Gabarito da Atividade 02
Questões objetivas-UNIDADE 2

Seja a descrição de um sistema de vendas:

Clientes (campos nome, CPF, endereço e telefone) fazem pedidos (campos código pedido, data
pedido e data pagamento), selecionando produtos (campos nome e quantidade em estoque),
que se constituem em itens de pedido(campo quantidade). Produtos são classificados em
categorias (campo nome categoria). Os pedidos são pagos de 3 formas distintas: cheque,
dinheiro ou cartão de crédito.
Os seguintes diagramas de classes foram gerados para esse sistema:
I-
II-

As questões de 1 e 2 abaixo referem-se a esses diagramas:

1)Assinale a afirmativa INCORRETA:

a)A classe Ong no diagrama II é uma classe que não pertence ao framework.
b)A classe Cliente no diagrama II é uma interface estendida e novas subclasses da
mesma podem ser criadas na instância do framework.
c) O diagrama II é um diagrama de classes em UML-F para o sistema de vendas. O
diagrama I representa uma instância do framework representado pelo diagrama II.
d)As classes Industria e Comercio no diagrama II são frozen spots e por conseguinte não
podem ser modificadas.
e) A classe pedido mostrada no diagrama II é uma interface estendida e a ela podem ser
adicionados novos métodos.

Resposta:E

2)Assinale a afirmativa CORRETA:


a)No diagrama II, a Classe FormadePagamento é um estereótipo do tipo Enumeration
em que seus atributos são valores que podem ser assumidos pelo atributo
tipoPagamento na classe Pedido
b)Em uma instância do framework , à classe Pedido podem ser acrescentadas novas
subclasses.
c)Os métodos calcularValorTotal e calcularTotalSemImposto não podem ter suas
implementações modificadas na instância do Framework.
d)No diagrama I, o método totalImpostos é variable
e)A classe Produto é um hot spot.

Resp: a
3) Sejam as seguintes afirmações:

I-A UML-f criou notações e mecanismos novos para estender a UML e oferecer recursos para
representação de frameworks.
II-A tag Incomplete representa o hot spot interfaces estendidas. Indica que novos métodos
podem ser criados nas instâncias do framework.
III- A tag appl-class é usada para indicar um aditivo na estrutura de um framework onde classes
específicas da aplicação podem ser ou já foram adicionadas.
IV- Os tag values são meios para proporcionar a criação de novas propriedades em elementos
da UML.
V- As restrições são mecanismos para especificar uma nova semântica de algum elemento da
UML

Podemos afirmar que estão CORRETAS as afirmações:


a) IIi e V
b) I, IIi e V
c) iI E IV
d) III, IV e V
e) V

Resp: d

Gabarito da Atividade 03
Questões objetivas-UNIDADE 3

1) Sejam as seguintes estruturas de modelagem:

1- No diagrama entidade-relacionamento de um sistema para vendas online, existe uma


associação um-para-muitos entre as classes CLIENTE e PEDIDO
2- O conceito de relacionamento um-para-muitos em um diagrama entidaderelacionamento
3-O registro correspondente ao PEDIDO 3433 do CLIENTE João da Silva
4-O conceito genérico de associação.

Escolha dentre as opções abaixo a que exibe a correspondência correta entre as estruturas de
modelagem e os níveis do MOF.

a) 1-M0 2-M2 3-M1 4-M3


b) 1-M1 2-M3 3-M0 4-M2
c) 1-M2 2-M1 3-M0 4-M3
d) 1-M1 2-M2 3-M0 4-M3
e) 1-M1 2-M2 3-M3 4-M0

RESPOSTA D
2) Um livro pode ser classificado nas categorias FICÇÃO, DRAMA e TERROR. Qual classe do
EMF melhor implementa essas 3 categorias?

a)EFactory
b)Uma classe mãe denominada Categorias e suas subclasses Ficcao, Drama e Terror .
c)EClass
d)EAnnotation
e)AbstractEnumerator

RESPOSTA E

3) Seja o seguinte diagrama de classes de um sistema de vendas hipotético:

Assinale a alternativa INCORRETA sobre o código desse diagrama gerado pelo EMF.

a) O relacionamento itemPedidos é implementado como uma lista do tipo Elist


b) A classe Pedido é declarada da seguinte forma no EMF:
Declara-se inicialmente a interface pedido:
public interface Pedido extends EObjetct
Em seguida, é declarada a implementação da classe pedido:
public class PedidoImpl extends EObjectImp implements Pedido
c)Uma instância da classe Pedido denominada pedido1 é criada da seguinte forma:
Pedido pedido1 = new Pedido();
d) O relacionamento produtos é implementado como uma referência (ponteiro) à classe
Produto dentro da classe ItemPedido e declarado assim:
Produto produtos;
e) A classe Industria é declarada da seguinte forma:
public Interface Industria extends Cliente
public class IndustriaImpl extends EObjectImp implements Industria

RESPOSTA: C
Gabarito da Atividade 04
Questões objetivas-UNIDADE 4

1) Seja uma lista encadeada de programas a serem executados em um processador. Quando o


processador está pronto para execução, uma mensagem é enviada ao programa que será
executado. Qual padrão de projeto dentre os abaixo apresentados melhor implementa essa
situação?
a)Abstract Factory
b)Singleton
c)Chain of responsibility
d) Factory method
e) Composite

RESPOSTA: c

2) Seja uma biblioteca de algoritmos de data mining a ser utilizada em um programa. Deseja-se
preparar esse programa, de forma que uma mudança para outra biblioteca, em um futuro, não o
afete. Dentre os padrões de projeto apresentados abaixo, qual seria o melhor a ser utilizado nessa
situação?

a) Flyweight
b) Façade
c) Composite
d) Adapter
e) Proxy

RESPOSTA: d

3) Quando um programa acessa o gerenciador de impressões, deseja-se impedir que sejam abertas
múltiplas instâncias desse gerenciador. Dentre os padrões de projeto abaixo apresentados, qual
melhor resolveria esse problema?

a)Adapter
b)Prototype
c)Factory method
d)Proxy
e)Singleton

RESPOSTA: e
Gabarito da Atividade 06
Questões objetivas-UNIDADE 6

1) Atributos final não funcionam como constantes e métodos final podem ser redefinidos pelas
classes estendidas, de modo que os métodos não poderão ser sobrepostos.
PORQUE
a palavra chave final serve para definir atributos ou métodos que não podem ser mais modificados
após sua primeira inicialização (no caso de atributos) ou sua primeira definição (no caso de métodos)
Acerca dessas asserções, assinale a opção correta.
A- As duas asserções são proposições verdadeiras, e a segunda é uma justificativa correta
da primeira.
B- As duas asserções são proposições verdadeiras, e a segunda não é uma justificativa
correta da primeira.
C- A primeira asserção é uma proposição verdadeira, e a segunda é uma proposição falsa.
D-A primeira asserção é uma proposição falsa, e a segunda é uma proposição verdadeira.
E -As duas asserções são proposições falsas.

RESPOSTA: D

2) Qual dos componentes abaixo NÃO é hot spot da UML-f?


a) Interfaces estendidas
b) Métodos enumerados
c) Classes estendidas
d) Métodos variáveis
e) Classes dinâmicas

RESPOSTA: B

3) Para implementar uma estrutura todo-parte (agregação ou composição), qual das classes abaixo
do EMF seria a mais recomendada?
a)EFactory
b) EList
c)AbstractEnumerator
d)EClass
e)EAnnotation

RESPOSTA: B

4) Mapas digitais detalhados normalmente são grandes, ocupando uma quantidade considerável de
memória. Entretanto, existem situações em que mapas detalhados não são necessários, podendo-se
trabalhar com uma versão mais simples. Nesse caso, todas as operações envolvidas na manipulação
de mapas detalhados devem ser aplicadas também a mapas mais simples.
Qual seria o padrão de projeto mais adequado a ser utilizado nesse caso?
a)Proxy
b)Prototype
c)Singleton
d)Adapter
e)Flyweight

RESPOSTA: A

======================================================================

Orientação de Estudo
Unidade 01 - Conceitos de Programação Orientada a Objetos
Como você vai estudar nesta unidade

Essa unidade é de vital importância, pois introduz conceitos que serão referenciados e utilizados com
muita frequência nas unidades seguintes da disciplina.

1 Princípios de orientação a objetos

 Assista à videoaula "Conceitos importantes de orientação a objetos". Atente para a parte


referente ao capítulo 1 da apostila do Prof. Hugo Bastos, disponibilizada no AVA
 Leia o seguinte capítulo do livro do Pressmann, sobre conceitos básicos de orientação a objetos:
classes, objetos, herança, polimorfismo e mensagens, livro Pressmann- Apêndice 2
 Leia o capítulo 1 da apostila Programação Orientada por Objetos, do Prof. Hugo Bastos
disponibilizada no AVA.

2 Classes e objetos

 Assista à videoaula "Conceitos importantes de orientação a objetos". Atente para a parte


referente ao capítulo 3 da apostila do Prof. Hugo Bastos.
 Leia o capítulo 3 da apostila Programação Orientada por Objetos, do Prof. Hugo Bastos

3- Herança de classe -

 Assista à videoaula "Conceitos importantes de orientação a objetos". Atente para a parte


referente ao capítulo 4 da apostila Programação Orientada por Objetos" do Prof. Hugo Bastos.
 Leia o capítulo 4 da apostila do Prof. Hugo Bastos

4) Polimorfismo

 Assista à videoaula "Conceitos importantes de orientação a objetos". Atente para a parte


referente ao capítulo 5 da apostila "Programação Orientada por Objetos, do Prof. Hugo Bastos.
 Leia o capítulo 5 da apostila Programação Orientada por Objetos, do Prof. Hugo Bastos
 Assista à videoaula "Demonstração de conceitos de herança, polimorfismo, abstração de dados
e encapsulamento"

Quando você se sentir confortável faça a atividade avaliativa objetiva 1.

O que você deverá alcançar a partir de seus estudos e atividades

Espera-se, ao final dessa unidade, que você assimile e entenda a importância dos conceitos de
classe, objeto, herança e polimorfismo, fundamentais à compreensão dos capítulos subsequentes do
curso.

Unidade 02 - Implementação de Software


Como você vai estudar nesta unidade

Nessa unidade iremos apresentar alguns conceitos modernos associados à implementação de


software. Hoje em dia, o desenvolvimento de software é extremamente dependente da existência
de frameworks e torna-se inviável sem sua utilização. Além disso, serão apresentadas as disciplinas
de implementação e de implantação do RUP. Não se esqueça, sempre que tiver alguma dúvida, use
o correio acadêmico para conversar com o professor e/ou com o tutor da disciplina.

1- Conceitos associados a frameworks

 Assista à videoaula "Frameworks", atente para os conceitos introdutórios acerca de framworks


 Leia os itens 1 e 2 da apostila "Frameworks", que pode ser baixada do
link http://www.tesestec.com.br/pasteurjr/Frameworks.pdf

2- Modelagem de frameworks com UML

 Assista à videoaula "Frameworks", atente para a parte referente à UML-F


 Leia o item 3 da apostila "Frameworks"
 Assista à videoaula " Exemplo de criação de um framework e sua instância "

3- Construção e implantação no RUP

Baixe e leia as apostilas que estão nos


links http://www.tesestec.com.br/pasteurjr/imple.pdf e http://www.tesestec.com.br/pasteurjr/impla.pdf

Complemente o estudo das disciplinas Implementação e implantação do RUP acessando os


linkshttp://www.tesestec.com.br/pasteurjr/rup/process/workflow/ovu_impl.htm e http://www.tesestec.c
om.br/pasteurjr/rup/process/workflow/ovu_dep.htm. Quando exibido o diagrama de atividades da
disciplina em questão, clique nos itens de menu no alto (Introdução, Conceitos, Fluxo de Trabalho,
Atividades, Artefatos, Diretrizes-Introduction, Concepts, Workflow, Activities, Artifacts, Guidelines).
Clique sobre cada detalhamento do fluxo de trabalho (workflow detail) no diagrama de atividades
para visualizar suas atividades, artefatos e papéis. Em cada atividade, procure visualizar seu
detalhamento clicando sobre elas. Procure visualizar o formato dos artefatos associados e as
atribuições de cada papel.

Quando você se sentir confortável faça a atividade objetiva 2.


O que você deverá alcançar a partir de seus estudos e atividades

Espera-se, ao final dessa unidade, que você entenda o conceito de frameworks e, com isso, esteja
aptos a criar modelos de aplicações calcados nesse conceito. Além disso, espera-se o conhecimento
e compreensão da utilidade das principais atividades, papéis e artefatos das disciplinas
implementação e implantação do RUP.

Unidade 03 – Arquitetura Orientada ao Modelo (Model Driven Architecture-MDA)


Como você vai estudar nesta unidade

Nessa unidade, iremos apresentar o conceito de MDA (ModeL Driven ArchItecture), que tem sido
bastante utilizado quando se deseja eficiência no processo de passagem do modelo da aplicação
criado na etapa de análise, para o código-fonte. Na unidade 2, você estudou o conceito
de frameworks. Instâncias de frameworkssão os modelos utilizados no paradigma MDA, em especial,
no Eclipse Process Framework, que é uma implementação do conceito de MDA no ambiente de
desenvolvimento Eclipse.

Não se esqueça, sempre que tiver alguma dúvida, use o correio acadêmico para conversar com o
professor e/ou com o tutor da disciplina.

1) Arquitetura Orientada ao Modelo - Model Driven Architecture (MDA)

 Assista à videoaula "Model Driven Architecture". Atente para a parte correspondente ao MDA
propriamente dito
 Baixe a apostila sobre MDA do Prof. Pasteur e leia seu conteúdo:

http://www.tesestec.com.br/pasteurjr/MDA.pdf

2) EMF-Eclipse Modeling Framework

 Assista à videoaula "Model Driven Architecture". Atente para a parte correspondente ao Eclipse
Process Framework
 Assista à videoaula complementar "Comentários acerca de MDA, MOF e EMF"
 Baixe a apostila sobre EMF do Prof. Pasteur e leia seu conteúdo:

http://www.tesestec.com.br/pasteurjr/EMF.pdf

3) Como atividade opcional, se você desejar ter uma experiência com o EMF na prática:

3.1) Baixe o arquivo MDL do Rational Rose contendo o exemplo library.mdl (não é preciso ter o Rose
para utilizá-lo no EMF):

http://www.tesestec.com.br/pasteurjr/library.mdl

3.2) Baixe e instale a última versão do ambiente de desenvolvimento Eclipse;


3.3) O EMF já está instalado em todas as versões do Eclipse;

3.4) No ambiente do Eclipse, faça o tutorial do Prof. Pasteur que está em:

http://www.tesestec.com.br/pasteurjr/tutemf.pdf. Nesse tutorial, é gerada uma aplicação completa a


partir do modelo representado no arquibo library.mdl.

Quando você se sentir confortável faça a atividade avaliativa objetiva 3.

O que você deverá alcançar a partir de seus estudos e atividades

Espera-se, ao final dessa unidade, que o conceito de MDA esteja compreendido e que você saiba
aplicá-lo no desenvolvimento de aplicações padronizadas.

Unidade 04 - Padrões de Projeto


Como você vai estudar nesta unidade

Nessa unidade vamos estudar 10 padrões de projeto Gamma, os mais relevantes. Padrões de
projeto tem se constituído em uma referência universal quando se deseja aplicar a projetos de
software estruturas padronizadas que privilegiem principalmente a reutilização. São a base das
arquiteturas de software modernas.

Não se esqueça, sempre que tiver alguma dúvida, use o correio acadêmico para conversar com o
professor e/ou com o tutor da disciplina.

1) Assista à videoaula "Padrões de Projeto"

2)Baixe e leia a apostila introdutória do Prof. Pasteur que está


em HTTP://www.tesestec.com.br/pasteurjr/gof.pdf

3)Assista à videoaula "Exercício padrões de projeto"

Essa apostila contém definições associadas aos padrões que vamos estudar.

4) Complemente o conhecimento acerca dos padrões acessando os links abaixo, que contêm alguns
exemplos:

Abstract Factory:

http://www.dsc.ufcg.edu.br/~jacques/cursos/map/html/pat/abstractfactory.htm

Factory Method:

http://www.dsc.ufcg.edu.br/~jacques/cursos/map/html/pat/factory.htm

Singleton:

http://www.dsc.ufcg.edu.br/~jacques/cursos/map/html/pat/singleton.htm

Adapter:

http://www.javacamp.org/designPattern/
Flyweight:

http://www.javacamp.org/designPattern/

Proxy

http://www.javacamp.org/designPattern/

Façade

http://www.javacamp.org/designPattern/

Chain of Responsibility

http://www.javacamp.org/designPattern/

Prototype

http://www.javacamp.org/designPattern/

Composite

http://www.dsc.ufcg.edu.br/~jacques/cursos/map/html/pat/composite.htm

Quando você se sentir confortável, faça a atividade avaliativa objetiva 4.

O que você deverá alcançar a partir de seus estudos e atividades

Espera-se, ao final dessa unidade, que o aluno compreenda e saiba aplicar em situações práticas
alguns padrões de projeto Gamma.

Você também pode gostar