Sie sind auf Seite 1von 7

19/11/2018 Unicesumar - Ensino a Distância

ATIVIDADE 3 - ENG SOFT - TÓPICOS ESPECIAIS EM ENGENHARIA DE SOFTWARE II - 2018D4


Período:05/11/2018 08:00 a 20/11/2018 23:59 (Horário de Brasília)
Status:ABERTO
Nota máxima:0,50
Gabarito:Gabarito será liberado no dia 21/11/2018 00:00 (Horário de Brasília)
Nota ob da:

1ª QUESTÃO
A Refatoração surgiu por meio dessa observação. Algumas pessoas pensam que Refatoração é apenas uma
limpeza de código, mas ela vai, além disso, porque fornece técnicas específicas para cada tipo de alteração.
Então se forem usadas da forma correta deixa-o menos propenso a erros. Refatoração é a alteração de um
código fonte, visando melhorar o entendimento e a manutenibilidade sem alterar suas funções externas.
 
BARROZO, G. C.; VINHAS, H. M.; REIS, J. C. de S. Refatoração: Aperfeiçoando Um Código Existente. Alfenas:
UNIFENAS, 2013.
 
A Refatoração é considerada uma das técnicas mais poderosa para a produção de um bom código. Com
base nesta informação, assinale a alternativa que cita alguns dos sintomas do catálogo de “maus cheiros”.
 
I. Código duplicado mostrando desperdício é o número 1 do ranking dos maus cheiros.
II. A cirurgia com rifle é usada quando, cada vez que você executa uma mudança, tem que fazer muitas
alterações pequenas em muitas classes diferentes.
III. Inveja da funcionalidade, quando um método tende a utilizar mais de um objeto de uma classe diferente
a aquele que pertence.
IV. Intimidade inapropriada, na qual uma classe refere-se a partes privadas de outras classes e uma classe
ociosa é quando ela não esteja fazendo o suficiente para se pagar.
 
É correto o que se afirma em:
 
 

ALTERNATIVAS
I, apenas.

II e III, apenas.

II e IV, apenas.

I, III e IV, apenas.

I, II, III e IV.

2ª QUESTÃO

1/7
19/11/2018 Unicesumar - Ensino a Distância

Os padrões de projetos tornam mais fácil reutilizar soluções e arquiteturas bem sucedidas para construir
softwares orientados a objetos de forma flexível e fácil de manter. O uso de padrões de projeto pode reduzir
a complexidade do processo de projetar software.
 
Disponível em: https://www.devmedia.com.br/conheca-os-padroes-de-projeto/957. Acessado em:
26.set.2018.
 
O catalogo de padrões de projeto contém 23 padrões de projeto. Com base nisso, analise as afirmativas
abaixo sobre alguns dos seus nomes e intenções.
 
 
I. Mediator permite que certas classes trabalhem em conjunto, pois de outra forma seria impossível por
causa de suas interfaces incompatíveis.
II. O Composite permite que os clientes tratem objetos individuais e composições de objetos de maneira
uniforme.
III. Os Decorators fornecem uma alternativa flexível a subclasses para extensão da funcionalidade.
IV. O Factory Method permite a uma classe postergar (defer) a instanciação às subclasses.
V. O Adapter  promove o acoplamento fraco ao evitar que os objetos se refiram explicitamente  uns aos
outros, permitindo que você varie suas interações independentemente.
 
É correto o que se afirma em:
 

ALTERNATIVAS
I, apenas.

II e III, apenas.

II e V, apenas.

II, III e IV, apenas.

I, II, III, IV e V.

3ª QUESTÃO
Ecossistema de software é uma tendência para tratar a crescente colaboração entre fornecedores de soluções
de sistemas de informação (SI), clientes, entidades governamentais e outras partes interessadas dentro deste
contexto.
 
Disponível em: http://www.creativante.com.br/lettericia/blog/2009/44_2009.html. Acessado em: 21.set.2018.
 
Pensando sobre o que foi exposto acima, avalie as afirmações a seguir: 
 
I. O ambiente do IPhone é um exemplo de ECOS, onde os atores são apenas os usuários e os
desenvolvedores da Apple.
II. O iOS é a tecnologia de software central do ambiente do IPhone como exemplo de ECOS.
III. Os ativos de software são os artefatos produzidos ou adquiridos e armazenados por uma empresa, como
componentes, serviços, aplicações.
IV. Os ativos de ECOS englobam os ativos reutilizáveis que podem ser criados dentro da empresa ou serem
trazidos de fora da empresa.
 
 
É correto o que se afirma em:
 

2/7
19/11/2018 Unicesumar - Ensino a Distância

ALTERNATIVAS
I, apenas.

I e II, apenas.

I e IV, apenas.

II, III e IV, apenas.

I, II, III e IV.

4ª QUESTÃO
Com relação à sequência de estágios técnicos que constituem o processo de desenvolvimento baseado em
Catalysis, é importante ressaltar que Catalysis não define um processo único de desenvolvimento, mas
contém um conjunto de ideias, conceitos e procedimentos que possibilitam aos projetistas escolher o
melhor processo para o seu projeto.
 
Disponível em: http://www.din.uem.br/~intersul/intersul_arquivos/documentos/componentes.pdf. Acessado
em: 21.set.2018.
 
Com base nesta informação, assinale a alternativa correta sobre os estágios de um processo de
desenvolvimento que são identificados quando se adota Catalysis:
 

ALTERNATIVAS
Especificação de requisitos, Especificação de Design, Projeto da arquitetura, Projeto interno de Dados.

Realização de requisitos, Especificação de sistema, Projeto da Interface, Projeto interno de componentes.

Especificação de requisitos, Especificação de sistema, Projeto da Interface, Projeto interno de componentes.

Especificação de requisitos, Especificação de Componentes, Projeto da arquitetura, Projeto interno de Dados.

Especificação de requisitos, Especificação de sistema, Projeto da arquitetura, Projeto interno de componentes.

5ª QUESTÃO
Refatoração é uma das técnicas que nos permite ser ágil e utilizar uma abordagem evolucionária para o
design dos nossos projetos.  Refatoração é uma das poucas práticas que a maioria dos devs concorda que
deve ser feita em algum ponto do projeto, de preferência de maneira contínua.
 
Disponível em: https://www.thoughtworks.com/pt/insights/blog/refactoring-book. Acessado em:
21.set.2018.
 
Na técnica ___________________, se um método está usando ou sendo usado por mais recursos de outra
____________ do que a classe na qual ele está definido, crie um novo _______________ com o corpo similar e
transforme o método antigo em uma simples _____________ ou _____________ completamente.
 
Com base no texto exposto acima, assinale a alternativa correta que preencha corretamente as lacunas.
 

ALTERNATIVAS

3/7
19/11/2018 Unicesumar - Ensino a Distância

extrair classe, método, classe, delegação, remova.

mover método, classe, método, delegação, remova.

ocultar delegação, classe, método, delegação, remova.

renomear método, classe, método, delegação, remova.

ocultar delegação, método, classe, delegação, remova.

6ª QUESTÃO
Refatoração de código toma experiência e tempo do desenvolvedor. Tempo para entender o código. Tempo
para entender quais refatorações devem ser utilizadas e em qual contexto. Tempo para aprender a usar as
ferramentas de refatoração corretamente. Tempo para aprender o quanto a refatoração é suficiente.
 
Disponível em: https://imasters.com.br/desenvolvimento/trabalhando-com-refatoracao. Acessado em:
26.set.2018.

A refatoracao pode surgir em dois momentos: para melhorar o código existente ou quando temos que jogar
fora e começar do zero.  Com base nesta informação, assinale a alternativa abaixo sobre as três vezes que
você refatora, segundo Fowler (2004).
 

ALTERNATIVAS
Quando acrescentar funções, quando se precisa consertar uma falha e enquanto revisa o código.

Quando altera-se a interface, quando se precisa consertar uma falha e enquanto revisa o código.

Quando for da vontade do cliente ou desenvolvedor, quando se precisa consertar uma falha e enquanto revisa o
código.

Quando se altera funcionalidades no sistema, quando se precisa consertar um defeito na rede e enquanto revisa os
requisitos.

Quando acrescentar recursos, quando se precisa consertar defeito de uma nova funcionalidade e enquanto revisa os
requisitos.

7ª QUESTÃO

4/7
19/11/2018 Unicesumar - Ensino a Distância

Os projetistas de sistemas distribuídos precisam organizar seus projetos de sistema para encontrar um
equilíbrio entre desempenho, confiança, proteção e capacidade de gerenciamento do sistema.
SOMMERVILLE, I. Engenharia de Software. 9.ed. - São Paulo: Pearson Prentice Hall, 2011.
 
Conforme Sommerville, temos cinco padrões de arquitetura de sistemas distribuídos. Com base nesta
informação, analise a imagem abaixo e assinale a alternativa correta:

ALTERNATIVAS
A imagem representa a arquitetura de mestre-escravo.

A imagem representa a arquitetura distribuída de componentes.

A imagem representa a arquitetura ponto-a-ponto descentralizada.

A imagem mostra os modelos de arquitetura cliente-magro e cliente-gordo.

A imagem mostra as três camadas da arquitetura cliente-servidor multicamadas.

8ª QUESTÃO
Uma linha de produto de software envolve um conjunto de aplicações similares dentro de um domínio, que
pode ser desenvolvido a partir de uma arquitetura genérica comum, a arquitetura da linha de produto, e um
conjunto de componentes que povoam a arquitetura.
 
GIMENES, I. M. S.; TRAVASSOS, G. H. O Enfoque de Linha de Produto para Desenvolvimento de Software. In:
Ingrid Jansch Porto. (Org.). XXI Jornada de Atualização em
Informática (JAI) - Livro Texto. 1. ed.Porto Alegre: Sociedade Brasileira de Computação, 2002, v. 2, p. 01-31.
 
Dentro do contexto apresentado acima, analise as afirmativas a seguir sobre as atividades essenciais da
construção de uma linha de produto:
 
I. Na atividade desenvolvimento de ativos centrais, os ativos centrais constituem-se nas partes a serem
reutilizadas que em conjunto compõem a plataforma da linha de produto.
II. Na atividade de gerencia, os ativos de software são artefatos produzidos ou adquiridos e armazenados
por uma empresa.
III. Na atividade de desenvolvimento de produtos os produtos são desenvolvidos a partir dos ativos base.
IV. Na atividade de gerencia, é controlado e garantido a implantação e manutenção de LPS.
 
É correto o que se afirma em:
 

ALTERNATIVAS

5/7
19/11/2018 Unicesumar - Ensino a Distância

I, apenas.

I e II, apenas.

I e IV, apenas.

I, III e IV, apenas.

I, II, III e IV.

9ª QUESTÃO
O desenvolvimento de software baseado em reutilização e visto como um ciclo continuo de aprendizagem
influenciado por atividades de Engenharia de domínio (ED). O objetivo da ED é possibilitar que
características comuns e variáveis possam ser identificadas e modeladas com base em um processo
previamente definido. Os artefatos gerados pela ED podem ser instanciados para uma aplicação especifica
do domínio. A esta instanciação se dá o nome de Engenharia de Aplicação (EA). A ED prove um conjunto de
artefatos “para” reutilização, enquanto que a EA constrói aplicações “com” base na reutilização de artefatos
providos pela ED.
 
HUZITA, Elisa Hatsue Moriya; FREITAS, Janaína Aparecida de. Tópicos Especiais em Engenharia de Software
II. Maringá-Pr.: UniCesumar, 2018.
 
 
Com base no texto descrito acima e pensando sobre as propostas de metodologias DBC (Desenvolvimento
Baseado em Componentes) assinale a alternativa que contém as três propostas de metodologias de DBC.
 

ALTERNATIVAS
UML Components, ERP e COTS.

Catálogo de Gof, ERP e KOBRA.

Catálogo de Gof, Catalysis e KOBRA.

UML Components, Catalysis e KOBRA.

UML Components, Catalysis e Design patterns.

10ª QUESTÃO
Quando definimos padrões e boas práticas, garantimos que todos da equipe conseguirão ter o mínimo de
entendimento do código daquele projeto que está na empresa a tempos. Se alguém da equipe adoecer ou
precisar ir para o Canadá, outro integrante pode assumir o seu lugar sem precisar se preocupar em aprender
novas regras, porque elas devem ser as mesmas do projeto anterior.
Disponível em: https://tableless.com.br/introducao-a-padroes-de-codificacao/. Acessado em: 21.set.2018.
 
Pensando sobre o texto exposto acima, analise as afirmações a seguir sobre o formato padrão de
refatorações:
 
I. É importante ter um nome para construir um vocabulário de refatorações.
II. O que ajuda a refatorar mais rapidamente é ter um resumo breve da situação atual na qual precisa da
refatoração e um resumo do que ela faz.
III. Quando vamos refatorar é preciso ter uma motivação descrevendo porque a refatoração deve ser feita.
IV. A mecânica é uma descrição passo a passo que mostra como executar a refatoração.
 
É correto o que se afirma em:
 

6/7
19/11/2018 Unicesumar - Ensino a Distância

ALTERNATIVAS
I, apenas.

II e III, apenas.

II e IV, apenas.

I, III e IV, apenas.

I, II, III e IV.

7/7