Logo Passei Direto
Buscar

Programação Orientada a Objetos II - Multivix

User badge image
Eric Cartman

em

Ferramentas de estudo

Questões resolvidas

O desenvolvimento de softwares em c# pode ter recursos da orientação a objetos para que o desenvolvedor construa um conjunto de classes para representar um problema. Dessa forma, considere as seguintes classes:
public class Animal {
public void comer() {
Console.WriteLine("Animal Comendo..." );
}
}
public class Gato : Animal {
public void comer() {
Console.WriteLine ( "Gato Comendo..." );
}
}
public class Leao : Animal {
public void comer() {
Console.WriteLine ( "Leão Comendo..." );
}
}:
Nesse conjunto de classes, pode-se utilizar objetos que podem ter comportamentos distintos conforme a forma que eles forem instanciados. Sobre essa classe, avalie as assertivas a seguir e a relação proposta entre elas:
I - Nesse conjunto de classes está presente a herança, que facilita o conceito de encapsulamento entre a utilização de objetos.
PORQUE
II- O polimorfismo está presente nesse conjunto de classes por meio da função Console.WriteLine, que permite que comportamentos distintos sejam realizados.
É correto afirmar que:
A assertiva I é uma proposição correta e a assertiva II é uma proposição incorreta.
As assertivas I e II são proposições corretas, e a II assertiva não complementa o que foi dito na I assertiva.
As assertivas I e II são proposições corretas e a II assertiva complementa o que foi dito na I assertiva.
As assertivas I e II são proposições incorretas.
A assertiva II é uma proposição correta e a assertiva I é uma proposição incorreta.
a) A assertiva I é uma proposição correta e a assertiva II é uma proposição incorreta.
b) As assertivas I e II são proposições corretas, e a II assertiva não complementa o que foi dito na I assertiva.
c) As assertivas I e II são proposições corretas e a II assertiva complementa o que foi dito na I assertiva.
d) As assertivas I e II são proposições incorretas.
e) A assertiva II é uma proposição correta e a assertiva I é uma proposição incorreta.

Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Questões resolvidas

O desenvolvimento de softwares em c# pode ter recursos da orientação a objetos para que o desenvolvedor construa um conjunto de classes para representar um problema. Dessa forma, considere as seguintes classes:
public class Animal {
public void comer() {
Console.WriteLine("Animal Comendo..." );
}
}
public class Gato : Animal {
public void comer() {
Console.WriteLine ( "Gato Comendo..." );
}
}
public class Leao : Animal {
public void comer() {
Console.WriteLine ( "Leão Comendo..." );
}
}:
Nesse conjunto de classes, pode-se utilizar objetos que podem ter comportamentos distintos conforme a forma que eles forem instanciados. Sobre essa classe, avalie as assertivas a seguir e a relação proposta entre elas:
I - Nesse conjunto de classes está presente a herança, que facilita o conceito de encapsulamento entre a utilização de objetos.
PORQUE
II- O polimorfismo está presente nesse conjunto de classes por meio da função Console.WriteLine, que permite que comportamentos distintos sejam realizados.
É correto afirmar que:
A assertiva I é uma proposição correta e a assertiva II é uma proposição incorreta.
As assertivas I e II são proposições corretas, e a II assertiva não complementa o que foi dito na I assertiva.
As assertivas I e II são proposições corretas e a II assertiva complementa o que foi dito na I assertiva.
As assertivas I e II são proposições incorretas.
A assertiva II é uma proposição correta e a assertiva I é uma proposição incorreta.
a) A assertiva I é uma proposição correta e a assertiva II é uma proposição incorreta.
b) As assertivas I e II são proposições corretas, e a II assertiva não complementa o que foi dito na I assertiva.
c) As assertivas I e II são proposições corretas e a II assertiva complementa o que foi dito na I assertiva.
d) As assertivas I e II são proposições incorretas.
e) A assertiva II é uma proposição correta e a assertiva I é uma proposição incorreta.

Prévia do material em texto

Questão 1
Correto
Atingiu 0,34 de 0,34
Marcar questão
Texto da questão
No mercado de desenvolvimento de softwares, diversos estudos e técnicas vêm sendo aprimorados para melhorar a qualidade do produto entregue.
A qualidade do software começa com uma excelente especificação de requisitos de software, permitindo que todos os envolvidos consigam entender as necessidades dos clientes. No que se refere à qualidade de uma boa especificação para a produção da codificação com qualidade de softwares, é correto afirmar que:
Escolha uma opção:
a.
A especificação de requisitos de software não pode ser ambígua e deve permitir que, por meio de uma linguagem padronizada, o desenvolvedor consiga codificar as classes de maneira adequada.
b.
A especificação de requisitos de software deve ser clara, contendo os principais diagramas da UML, mesmo que eles não resolvam a solução.
c.
A especificação de requisitos de software deve apresentar todos os diagramas da UML, para que o desenvolvedor não tenha dúvidas do que programar em suas classes.
d.
A especificação de requisitos de software deve permitir que a construção de diagramas possibilitem a construção de sistemas informatizados, sendo um documento que não permite mudanças após a sua construção.
e.
A especificação deve conter o máximo de documentação possível, mesmo aquela que não possua valor ao projeto de desenvolvimento.
Questão 2
Correto
Atingiu 0,34 de 0,34
Marcar questão
Texto da questão
No sistema de cadastro de funcionários de uma empresa, entende-se que uma classe herda as características de outras classes de acordo com a forma de representação dentro do contexto computacional. Suponha que a classe funcionário tenha 4 atributos específicos e a classe Pessoa possui outros 7 atributos genéricos.
 
Caso você modele uma classe Estagiário, que herde da classe funcionário e obtenha 4 atributos próprios, pode-se considerar que um objeto do tipo estagiário possui:
Escolha uma opção:
a.
7 atributos.
b.
6 atributos.
c.
4 atributos.
d.
11 atributos.
e.
15 atributos.
Questão 3
Incorreto
Atingiu 0,00 de 0,34
Marcar questão
Texto da questão
O desenvolvimento de softwares em c# pode ter recursos da orientação a objetos para que o desenvolvedor construa um conjunto de classes para representar um problema. Dessa forma, considere as seguintes classes:
public class Animal {
     public void comer() {
          Console.WriteLine("Animal Comendo..." );
     }
}
public class Gato  : Animal {
     public void comer() {
          Console.WriteLine ( "Gato Comendo..." );
     }
}
public class Leao : Animal {
     public void comer() {
          Console.WriteLine ( "Leão Comendo..." );
     }
}:
Nesse conjunto de classes, pode-se utilizar objetos que podem ter comportamentos distintos conforme a forma que eles forem instanciados. Sobre essa classe, avalie as assertivas a seguir e a relação proposta entre elas:
I - Nesse conjunto de classes está presente a herança, que facilita o conceito de encapsulamento entre a utilização de objetos.
PORQUE
II- O polimorfismo está presente nesse conjunto de classes por meio da função Console.WriteLine, que permite que comportamentos distintos sejam realizados.
É correto afirmar que:
Escolha uma opção:
a.
A assertiva I é uma proposição correta e a assertiva II é uma proposição incorreta.
b.
As assertivas I e II são proposições corretas, e a II assertiva não complementa o que foi dito na I assertiva.
c.
As assertivas I e II são proposições corretas e a II assertiva complementa o que foi dito na I assertiva.
d.
As assertivas I e II são proposições incorretas.
e.
A assertiva II é uma proposição correta e a assertiva I é uma proposição incorreta.
Questão 4
Incorreto
Atingiu 0,00 de 0,34
Marcar questão
Texto da questão
Os componentes de software são partes importantes no funcionamento de soluções complexas dentro do mundo informatizado. Como exemplos de componentes, pode-se citar os aplicativos de segurança de bancos, quando o usuário vai fazer alguma transação que envolve o número de cartão de crédito. Sobre os componentes de software, analise as seguintes afirmativas.
I-	Pode ser visto como um pacote de artefatos de software.
II-	Pode ser entregue como unidade.
III-	Deve ser desenvolvido de forma dependente.
IV-	Pode ser composto permitindo mudanças em outros componentes.
É correto o que se afirma em:
Escolha uma opção:
a.
II e IV, apenas.
b.
I e II, apenas.
c.
II e III, apenas.
d.
III e IV, apenas.
e.
I e III, apenas.
Questão 5
Correto
Atingiu 0,34 de 0,34
Marcar questão
Texto da questão
A orientação a objetos necessita de alguns fatores para que o seu código seja desenvolvido com qualidade e eficiência. Sobre os pilares da orientação a objetos, foram feitas as seguintes afirmativas:
 
1- Herança: permite compartilhamento de funções e atributos que possuem o mesmo comportamento entre classes.
2- Polimorfismo: refere-se à capacidade de isolamento de elementos de uma classe.
3- Encapsulamento: permite que classes compartilhem métodos, porém, com comportamentos distintos.
4- Abstração: capacidade de apresentar classes e objetos que possuam relevância ao modelo produzido.
É correto o que se afirma em:
Escolha uma opção:
a.
II e IV, apenas.
b.
II e III, apenas.
c.
I e III, apenas.
d.
I e IV, apenas.
e.
III e IV, apenas.
Questão 1
Correto
Atingiu 0,34 de 0,34
Marcar questão
Texto da questão
Quando um sistema possui métodos que devem ser obrigatoriamente implementados nas classes envolvidas no problema, deve-se utilizar as interfaces de programação de software. Sobre as interfaces de software, foram feitas as seguintes afirmativas:
 
I- Apresentam programação de métodos e atributos que devem ser implementados nas classes que estão ligadas a elas.
II- Em C#, a codificação que determina que a classe A implementa a interface B é class A : B.
III- Uma classe que implementa uma interface garante que ela tenha acesso a todos os seus métodos, mas deve implementar somente aqueles que precisa.
IV- Se duas classes A e B têm a implementação de uma interface C, é garantido que as duas devem ter todos os métodos da interface C, porém, cada uma pode implementá-los de acordo com suas características.
 
É correto o que se afirma em:
Escolha uma opção:
a.
II e IV, apenas.
b.
I e II, apenas.
c.
II e III, apenas.
d.
I e IV, apenas.
e.
III e IV, apenas.
Questão 2
Correto
Atingiu 0,34 de 0,34
Marcar questão
Texto da questão
Um sistema informatizado deve prever as principais ações dos usuários dentro do seu domínio de funcionalidades, para auxiliá-lo em possíveis problemas que possam ocorrer. O desenvolvedor deve pensar em fatores ou situações que podem acontecer durante a utilização do componente. Sobre o desenvolvimento de eventos para facilitar a interação do usuário com o componente, marque a alternativa correta.
Escolha uma opção:
a.
O desenvolvedor precisa pensar fortemente nas mensagens e eventos a serem projetados e desenvolvidos na solução, deixando os componentes participantes da interface a cargo dos projetistas de software.
b.
O desenvolvedor de softwares deve pensar em utilizar todos os recursos de elementos gráficos disponíveis ,e inseri-los dentro dos eventos já programados.
c.
O desenvolvedor deve elaborar um plano de eventos para que nenhum componente fique sem evento.
d.
O desenvolvedor deve colocar mensagens explicativas sobre as interações do usuário sem imagens, pois elas podem confundir a interpretação do usuário.
e.
O desenvolvedor deve pensar e testar os eventos colocados em recursos gráficos, para não prejudicar o andamento das atividades de prestação de serviços no componente.
Questão 3
Correto
Atingiu 0,34 de 0,34
Marcar questão
Texto da questão
Os contêineres são elementos de componentes de software responsáveis por receber, organizar e prover para o usuário os elementos gráficos de uma solução informatizada. Esses elementos devem ser feitos de forma a preconizar a organização e o bom senso na construção de uma tela que será capaz de realizar a comunicação entre os dispositivos envolvidos. Sobre os contêineres, analise as asserçõesa seguir e as relação proposta entre elas:
I- Os contêineres têm sua construção e organização auxiliada por recursos gráficos da IDE (Visual Studio), que permitem que o desenvolvedor escolha e arraste um conjunto de elementos gráficos para fazer parte da tela de solução.
PORQUE
II- Os contêineres são responsáveis por colocar elementos dentro de uma interface, que se comunicará com usuários ou outros componentes, e facilitará a gestão de eventos e recursos gráficos da solução.
É correto afirmar que:
Escolha uma opção:
a.
As asserções I e II são proposições verdadeiras, e a II explica o que foi dito na I.
b.
As asserções I e II são proposições falsas.
c.
As asserções I e II são proposições verdadeiras, e a II não explica o que foi dito na I.
d.
A asserção I é uma proposição falsa, e a II é uma proposição verdadeira.
e.
A asserção I é uma proposição verdadeira, e a II é uma proposição falsa.
Questão 4
Correto
Atingiu 0,34 de 0,34
Marcar questão
Texto da questão
A UML auxilia gestores e desenvolvedores a modelarem os problemas do mundo real no mundo computacional. Para tal, existe um grupo de diagramas que utiliza símbolos comumente utilizados na comunidade da computação para representar situações a serem desenvolvidas nos sistemas. O recurso capaz de elencar as principais funcionalidades do sistema a ser desenvolvido, dando destaque também aos principais atotes envolvidos na solução é denominado:
Escolha uma opção:
a.
Diagrama de casos de uso.
b.
Diagrama de sequências.
c.
Diagrama de objetos.
d.
Diagrama de entidade e relacionamentos.
e.
Diagrama de atividades.
Questão 5
Correto
Atingiu 0,34 de 0,34
Marcar questão
Texto da questão
Os projetos de software evoluíram à medida que os dispositivos informatizados foram disseminados na sociedade moderna. Para tal, precisam de normas, procedimentos, recursos e padrões para desenvolver as necessidades do cliente por meio de componentes. Por se tratar de um processo complexo, o desenvolvimento de contêineres deve ser feito acompanhado por uma equipe capaz de controlar as atividades do projeto de software. Sobre essa etapa fundamental na construção de dispositivos informatizados, marque a alternativa correta.
Escolha uma opção:
a.
O projeto de componentes deve permitir a construção de interfaces visuais, que permita a disseminação dos serviços, mesmo que, para isso, a usabilidade da solução seja prejudicada.
b.
Os projetos de componentes devem ser acompanhados por recursos técnicos oriundos da modelagem do problema por meio de diagramas estáticos e dinâmicos.
c.
O projeto de componentes auxilia os gestores do desenvolvimento de software a praticar a gestão e a representação do problema, porém, não surte o mesmo efeito na equipe de desenvolvedores, que recebem poucos artefatos nessa etapa de construção de componentes.
d.
Os projetos de componentes seguem a linha de desenvolvimento de softwares, na qual a metodologia (ágil ou tradicional) pouco importa para os resultados alcançados, desde que o desenvolvimento seja feito com a linguagem C#.
e.
O projeto de componentes deve ser a etapa final de todo o procedimento, buscando verificar se o sistema produzido pode gerar artefatos elaborados pela UML, como o diagrama de casos de uso e o diagrama de entidade e relacionamento.
Questão 1
Correto
Atingiu 0,34 de 0,34
Marcar questão
Texto da questão
Os desenvolvedores de software necessitam que as atividades estejam listadas de forma adequada, para que não aconteça retrabalho no desenvolvimento de componentes. Sobre os possíveis problemas que podem ocorrer devido à falta de planejamento, ou erros de escopo de projetos, analise as seguintes afirmativas:
I - No escopo de componentes, devem ser listados as pessoas envolvidas, os prazos e as atividades determinadas, para que não existam problemas de planejamento ou alocação de pessoas.
II - No escopo de componentes, deve-se prever aspectos financeiros, de controle gerencial, de diagramas, porém, a linguagem de programação deve ser escolhida pela equipe de desenvolvimento.
III - No escopo de componentes, a inexperiência do cliente em listar os principais requisitos, situações e regras de negócio dentro do software não acarretarão impactos diretos na rotina dos desenvolvedores.
IV - Aspectos financeiros e de rentabilidade do negócio devem ser levantados no escopo de projetos de componentes, para que no meio do projeto não ocorra falta de recursos.
É correto o que se afirma em:
Escolha uma opção:
a.
II e III, apenas.
b.
II e IV, apenas.
c.
I e II, apenas.
d.
I e III, apenas.
e.
I e IV, apenas.
Questão 2
Correto
Atingiu 0,34 de 0,34
Marcar questão
Texto da questão
Os objetivos de componentes para o contexto de software auxiliam em diversas etapas do desenvolvimento de dispositivos informatizados. Os objetivos irão nortear as funcionalidades e ações que o novo componente deverá desenvolver. Considere uma classe implementada em C# que possui 4 atributos:
 
class Conta
{
    private int numero;
    private string titular;
    private double saldo;
    private double limite;
}
 
Sobre essa classe, analise as afirmativas a seguir.
 
I- Essa classe tem como principal objetivo controlar valores financeiros solicitados em empréstimos de contas correntes.
II- Essa classe tem como objetivo identificar e trazer aspectos relativos à situação financeira do titular da conta.
III- Essa classe tem como objetivo representar, de forma computacional, elementos presentes na rotina de contas bancárias.
É correto o que se afirma em:
Escolha uma opção:
a.
II e III, apenas.
b.
II, apenas.
c.
I e III, apenas.
d.
I, II e III.
e.
I e II, apenas.
Questão 3
Correto
Atingiu 0,34 de 0,34
Marcar questão
Texto da questão
O mundo contemporâneo apresenta características relevantes para a melhoria da ligação com o homem e os dispositivos informatizados. Muitos pesquisadores apresentam evoluções na ciência que facilitam a utilização de recursos informatizados na sociedade. Robôs humanoides apresentam características próximas dos seres humanos. Esse tipo de característica é muito valorizada no desenvolvimento de aplicativos, e pode ser encontrada em componentes de software por meio do(a):
Escolha uma opção:
a.
Abstração.
b.
Escopo de projetos.
c.
Modelagem de classes.
d.
Diagramação de problemas.
e.
Objetivo do software.
Questão 4
Correto
Atingiu 0,34 de 0,34
Marcar questão
Texto da questão
O desenvolvimento de componentes parte do princípio que é necessário conhecer as necessidades do software que o seu componente deseja atender e como ele irá atuar. Sobre a etapa de escopo do projeto, analise as seguintes asserções e a relação proposta entre elas.
 
I-                    Os diagramas da UML, a definição da linguagem de programação escolhida, a determinação da equipe de desenvolvimento e os prazos são definidos para que o componente seja adequado ao que o cliente deseja.
 
PORQUE
 
II-                  Na etapa de escopo de projetos, deve-se determinar todos os recursos tecnológicos, humanos, de hardware e software, para que o componente tenha uma grande aceitação por parte do cliente e a comunicação necessária com o sistema que irá receber o componente.
 
É correto afirmar que:
Escolha uma opção:
a.
A asserção I é uma proposição falsa, e a II é uma proposição verdadeira.
b.
A asserção I é uma proposição verdadeira, e a II é uma proposição falsa.
c.
As asserções I e II são proposições falsas.
d.
As asserções I e II são proposições verdadeiras, e a II complementa o que foi dito na I.
e.
As asserções I e II são proposições verdadeiras, mas a II não complementa o que foi dito na I.
Questão 5
Correto
Atingiu 0,34 de 0,34
Marcar questão
Texto da questão
Os componentes de software devem ter objetivos bem traçados na etapa de escopo da solução, para que as necessidades dos clientes sejam atendidas de forma correta. Pensar na forma como o software irá se acoplar e funcionar com outro recurso é a base de uma boa programação de componentes, pois os recursos humanos e tecnológicos serão destinados somente aos principais fatores que o novo software deve atender. Marquea alternativa que apresenta  um dos principais objetivos gerais dos componentes de software.
Escolha uma opção:
a.
Limitar as principais requisições de softwares e suas soluções, além da ampliação da comunicação entre dispositivos.
b.
Manter a comunicação e diminuir o reuso em atividades de desenvolvimento de software.
c.
Determinar o tempo de execução das atividades de um componente, sem definir um grupo de atividades para fazê-lo.
d.
Determinar a padronização e a comunicação entre os dispositivos informatizados.
e.
Definir as tarefas de reuso que não serão permitidas dentro do projeto de componente.
Questão 1
Correto
Atingiu 0,34 de 0,34
Marcar questão
Texto da questão
Os dispositivos móveis evoluem conforme as necessidades de serviços instantâneos vão surgindo, e os usuários os consomem para tarefas do dia a dia, como os serviços de GPS, jogos ou até mesmo aplicativos de comunicação. Os celulares possuem lojas de aplicativos que fornecem diversas opções de escolha para obter serviços necessários para manter o funcionamento de atividades no seu celular. Sobre os repositórios de componentes e sua utilização em contextos informatizados, marque a alternativa correta.
Escolha uma opção:
a.
Os repositórios de componentes armazenam os aplicativos compatíveis com o dispositivo informatizado, que requisitam seus serviços.
b.
Os repositórios de componentes permitem a comunicação de dispositivos informatizados sem a necessidade de requisições e compatibilidades entre os envolvidos, facilitando sua disseminação.
c.
Os repositórios de componentes são conjuntos de vários componentes desenvolvidos em linguagens de programação distintas, que não permitem adaptação aos componentes requisitantes de forma simples.
d.
Os repositórios de componentes são soluções eficientes quando estão localizados no dispositivo informatizado que o requisita, não tendo a mesma eficiência de repositórios em meios remotos.
e.
Os repositórios de componentes possuem limitações, regras e formas de comunicação específicas com os dispositivos informatizados, com restrição à quantidade de chamadas ou donwloads.
Questão 2
Correto
Atingiu 0,34 de 0,34
Marcar questão
Texto da questão
A granularidade dos componentes de software define como os softwares irão requisitar os serviços e, ao mesmo tempo, como eles serão desenvolvidos pela equipe de programação. Sobre a granularidade de componentes, é correto afirmar que:
Escolha uma opção:
a.
Quanto maior a granularidade de um software, menor é a quantidade de serviço que ele pode fornecer.
b.
A granularidade alta do componente gera processos mais rápidos para os componentes envolvidos no processo informatizado.
c.
A granularidade baixa do componente gera uma grande parcela de funcionalidades dos sistemas.
d.
Um componente com granularidade alta representa um grande grupo de funcionalidades.
e.
A granularidade alta de um componente de software gera processos demorados e sistemas menos complexos.
Questão 3
Correto
Atingiu 0,34 de 0,34
Marcar questão
Texto da questão
Os serviços de componentes de software falam muito sobre sua forma de construção e a maneira como os usuários e outros sistemas se comunicam. Sobre os conceitos de serviços de componentes, marque V para as afirmativas verdadeiras e F para as falsas.
(    ) Os serviços de componentes são mutáveis em parâmetros, mas imutáveis em requisições.
(  ) Os componentes devem participar principalmente de outros softwares, não sendo seu principal foco compor outros elementos de componentes de software.
(   ) Os componentes devem ser independentes de outros componentes para permitir que sejam aproveitados por vários contextos de software.
Marque a alternativa que apresenta a sequência correta.
Escolha uma opção:
a.
F, F, F.
b.
F, V, F.
c.
V, V, V.
d.
F, V, V.
e.
F, F, V
Questão 4
Correto
Atingiu 0,34 de 0,34
Marcar questão
Texto da questão
Um componente de software deve ter elementos em seu projeto para facilitar a produção de componentes em menores partes. Nesse contexto, os softwares do tipo ERP agrupam recursos que podem prover uma facilidade na disseminação de suas atividades. Sobre os sistemas ERP e a granularidade de componentes, analise as afirmativas a seguir.
I-	O nível de granularidade de um sistema ERP permite que o mesmo software seja utilizado em empresas diferentes de maneiras distintas.
II-	Módulos pertencentes a operações com mesmo núcleo de características podem ser agrupados em um mesmo local de componentes, permitindo que suas requisições sigam as mesmas regras.
III-	Sistemas ERP têm módulos que representam componentes que determinam o funcionamento de suas atividades. Dentro desse contexto, existem componentes que são necessários, mas não podem ser incorporados ao sistema, devido à forma como foram desenvolvidos ou estão armazenados.
É correto o que se afirma em:
Escolha uma opção:
a.
III, apenas.
b.
I e II, apenas.
c.
II, apenas.
d.
I, apenas.
e.
I e III, apenas.
Questão 5
Correto
Atingiu 0,34 de 0,34
Marcar questão
Texto da questão
Os componentes de software têm uma importância muito elevada para o funcionamento adequado de sistemas complexos. Esses componentes podem ser disponibilizados de maneira a facilitar suas requisições e interações com grande grupo de funcionalidades. Sobre a localização de componentes de software, analise as seguintes afirmativas:
I-	Os componentes de software podem ser localizados em locais remotos ou em servidores locais.
II-	A comunicação remota pode ser utilizada por softwares para solicitar componentes.
III-	Os desenvolvedores de software devem prover recursos de programação para facilitar a comunicação e a solicitação de componentes.
É correto o que se afirma em:
Escolha uma opção:
a.
I, apenas.
b.
I e III, apenas.
c.
II, apenas.
d.
I e II, apenas.
e.
I, II e III.
Questão 1
Correto
Atingiu 0,34 de 0,34
Marcar questão
Texto da questão
Um código teve sua estrutura modificada conforme a codificação abaixo:
 
Classe Inicial
 
Public Class Pessoa {
private String nome;
private int idade;
private String rua;
private String cidade;
private String complemento;
private String bairro;
}
 
Classes finais
 
public Class Pessoa {
private String nome;
private int idade;
private Endereco endereco;
}
Public Class Endereco{
private String rua;
private String cidade;
private String complemento;
private String bairro;
}
Sobre esse código, avalie as assertivas a seguir e a relação proposta entre elas:
 
I-O código apresentado não teve nenhuma técnica de refatoração, haja vista que os atributos continuam os mesmos, porém, em classes distintas.
PORQUE
II- A divisão de atributos em contextos mais protegidos não configura uma técnica de refatoração.
 
É correto afirmar que:.
 
Escolha uma opção:
As assertivas I e II são verdadeiras, e a II não complementa o que foi dito I.
As assertivas I e II são proposições falsas.
As assertivas I e II são verdadeiras, e a II complementa o que foi dito I.
A assertiva I é uma proposição verdadeira e a II é uma proposição falsa.
A assertiva I é uma proposição falsa e a II é uma proposição verdadeira.
Questão 2
Correto
Atingiu 0,34 de 0,34
Marcar questão
Texto da questão
A construção e a melhoria dos códigos envolvem técnicas de reúso e refatoração. A utilização de um design correto é fundamental para que um sistema seja facilmente adaptado a novas demandas. Sobre o design evolutivo e as formas de construção de componentes com qualidade por meio do reúso e da refatoração, marque a alternativa correta.
Escolha uma opção:
O design evolutivo deve utilizar, prioritariamente, as técnicas de reuso em relação as de refatoração para códigos adequados no design.
O design evolutivo permite que um sistema desenvolvido seja facilmente reutilizado.
O design evolutivo possibilita a utilização do reuso de software, porém, tem dificuldades em deixar o código de fácil manutenção.
O design evolutivo utiliza conceitos de programação estruturada para facilitar o reuso de software.
O design evolutivo cria sistemas que não são facilmente extensíveis.
Questão 3
Correto
Atingiu 0,34 de 0,34
Marcar questãoTexto da questão
Uma técnica muito utilizada na refatoração de código é a de renomear método. Ela possui características que facilitam a organização do método. Sobre essa técnica de qualidade de software, analise as assertivas a seguir e a relação proposta entre elas:
 
A técnica de renomear método permite a mudança do nome do método baseado no contexto de suas atividades, permitindo que a leitura do método fique mais complexa.
PORQUE
A abordagem de renomear métodos adequa métodos que não representam aquilo que realmente fazem.
 
É correto afirmar que:
Escolha uma opção:
As assertivas I e II são falsas.
As duas assertivas são verdadeiras, e a segunda não complementa o que foi dito na primeira.
A assertiva I é verdadeira e a II é falsa.
A assertiva I é falsa e a II é verdadeira.
As duas assertivas são verdadeiras, e a segunda complementa o que foi dito na primeira.
Questão 4
Correto
Atingiu 0,34 de 0,34
Marcar questão
Texto da questão
Na refatoração existem várias técnicas de organização de software. Essas técnicas permitem organizar e melhorar linhas de código. Existe uma técnica que cria um novo método na classe com o corpo similar na mesma classe que ele mais usa, transformando o método original em uma delegação. Essa técnica é denominada:
Escolha uma opção:
Excluir Método.
Mover Método.
Renomear Método.
Organizar Método.
Atualizar Método.
Questão 5
Correto
Atingiu 0,34 de 0,34
Marcar questão
Texto da questão
Empresas de desenvolvimento de software podem trabalhar na melhoria de códigos em sistemas já produzidos. Um conceito importante de refatoração de código é a técnica de encapsular atributos. Sobre a referida técnica pode-se afirmar que:
Escolha uma opção:
Aumenta a qualidade do código, diminuindo a quantidade de linhas de códigos.
É um requisito não obrigatório para uma refatoração de qualidade.
Diminui a proteção, aumentando a qualidade do software produzido.
Auxilia na organização e proteção de códigos.
Cria métodos get e set para proteger atributos.
Questão 1
Correto
Atingiu 0,34 de 0,34
Marcar questão
Texto da questão
O desenvolvimento de componentes de software deve seguir critérios eficientes na produção de linhas de código em C#. A qualidade em desenvolvimento de softwares são fatores que devem ser levados em conta pelo desenvolvedor no momento em que elabora a sua solução para evitar problemas com o solicitante, e os padrões SOLID auxiliam na qualidade do desenvolvimento de dispositivos informatizados. Em relação aos aspectos referentes aos conceitos do SOLID, classifique as afirmativas a seguir como verdadeiras (V) ou falsas (F).
( ) O padrão SOLID foi desenvolvido para resolver características irrisórias no desenvolvimento de software.
( ) O padrão SOLID são quatro boas práticas de desenvolvimento de software que atuam na criação de softwares com qualidade.
( ) Quando o padrão SOLID é aplicado em sua integralidade no desenvolvimento de software, diminui a quantidade de erros em um código, aumentando a complexidade de sua manutenção corretiva/evolutiva.
 
Marque a alternativa que apresenta a sequência correta.
Escolha uma opção:
F, F, V
V, V, F
F, V, F
F, F, F
V, F, F
Questão 2
Correto
Atingiu 0,34 de 0,34
Marcar questão
Texto da questão
O Princípio de Segregação de Interfaces preconiza que as interfaces devem ser elaboradas para que métodos não sejam implementados desnecessariamente. Buscando compreender o conceito, analise a interface a seguir:
 
public interface IVeiculo
{
void Ligar();
void Desligar();
void AndarParaFrente();
void AndarParaTras();
void AbrirPorta();
void Pedalar();
}
 
Sobre essa interface e os conceitos do Princípio de Segregação de Interfaces, analise as seguintes assertivas e a relação proposta entre elas.
 
Essa interface não viola o princípio de Segregação de Interfaces, pois abrange diversos tipos de classes que podem implementá-la, como um carro, uma moto e até um caminhão.
PORQUE
 
Essa interface torna cada vez mais complexa a implementação de veículos que não funcionam por motor como, por exemplo, uma bicicleta.
 
É correto afirmar que:
Escolha uma opção:
As assertivas I e II são verdadeiras e a II não complementa o que foi dito na I.
As assertivas I e II são verdadeiras, e a II complementa o que foi dito na I.
As assertivas I e II são falsas.
A assertiva I é verdadeira e a II é falsa.
A assertiva I é falsa e a II é verdadeira.
Questão 3
Incorreto
Atingiu 0,00 de 0,34
Marcar questão
Texto da questão
A construção de códigos em projetos resolvem problemas diversos. Considere o seguinte código em C#.
 
public class DisciplinaAction extends AppAction {
 
public List<Disciplinas> listarDisciplinasporCurso(Curso curso){
….
}
 
public List<Alunos> listarAlunosPorDisciplina(Aluno aluno){
…
}
public int totalizarDisciplinasPorCurso(Curso curso){
….
}
 
Sobre o Princípio de Responsabilidade Única e a classe acima, marque a alternativa correta.
Escolha uma opção:
Essa classe atende integralmente o Princípio de Responsabilidade Única, por ser desenvolvida em C# e utilizar orientação a objetos.
Essa classe atende ao requisito de Princípio de Responsabilidade Única por conta dos métodos atenderem a conceitos envolvidos em disciplinas (alunos e cursos).
Essa classe não atende ao Princípio de Responsabilidade Única, pois possui um método que tem como resposta a quantidade de alunos.
Essa classe atende parcialmente o Princípio de Responsabilidade Única, pois o seu método de totalizar disciplinas não possui um retorno ligado diretamente a disciplinas, e sim, a curso.
Essa classe não atende ao Princípio de Responsabilidade Única, devido ao método de listarDisciplinasPorCurso.
Questão 4
Correto
Atingiu 0,34 de 0,34
Marcar questão
Texto da questão
O Princípio do Aberto Fechado facilita o entendimento da complexidade das classes a serem produzidas. Desenvolver códigos sem as definições preconizadas por esse método podem tornar os códigos extensos e complicados de se dar manutenção. Analise o seguinte código em C#. A classe IntegraçãoContrato é uma interface.
 
class Contrato {
void listarContrato(String tipo, Integer codigo, Double valor) {
if ("REGULAR".equals(tipo)) {
new IntegracaoContrato().cadastrarRegular(codigo, valor);
} else if ("GOVERNO".equals(tipo)) {
new IntegracaoContrato().cadastrarGoverno(codigo, valor);
}
}
 
 
Marque a alternativa que explica corretamente porque essa classe não atende ao princípio.
Escolha uma opção:
Essa classe viola o Princípio do Aberto Fechado, pois esse código sofre interferências à medida que os valores dos contratos são alterados.
A violação do princípio está na utilização de interfaces para realizar diversas ações, o que não é uma solução viável ao contexto.
A violação do princípio está na implementação da classe, que dificulta a ampliação de ações, haja visto que, a cada tipo de contrato criado, as linhas de código irão aumentar.
A violação do princípio está na implementação correta do código, utilizando estruturas condicionais encadeadas para aumentar os fluxos alternativos do código.
A violação do princípio está na forma de utilização da estrutura if/else, que facilita a compreensão e diminui a complexidade do código.
Questão 5
Correto
Atingiu 0,34 de 0,34
Marcar questão
Texto da questão
Ao se tratar padrões de projeto, pode-se definir que a metodologia que busca o trabalho uniforme melhora diversos aspectos envolvidos na empresa. Marque a opção que apresenta um benefício encontrado na aplicação de padrões de projetos de software.
Escolha uma opção:
Crescimento profissional da equipe, preconizando o aprendizado individual e distinto por parte de técnicos e desenvolvedores.
Definição de metodologias únicas de trabalho individual na equipe de analistas e desenvolvedores, permitindo que cada um trate os problemas encontrados em conjunto de maneira isolada e única.
Treinamento de novos funcionários de maneira mais efetiva e alinhada com o trabalho do restante da equipe.
Aumento dos custos operacionais, devido aos recursos necessários para a implementação de padrões de projeto.
Melhoria do código desenvolvido por meio do aumentodos custos operacionais e a qualidade dos softwares entregues.

Mais conteúdos dessa disciplina