SóProvas



Prova FAURGS - 2016 - HCPA - Analista de TI (Desenvolvimento)


ID
2630140
Banca
FAURGS
Órgão
HCPA
Ano
2016
Provas
Disciplina
Arquitetura de Software
Assuntos

O padrão de projeto strategy pode ser utilizado quando se necessita

Alternativas
Comentários
  • Gabarito A

     

    Padrão STRATEGY (COMPORTAMENTAL)

    Família de algoritmos

    Encapsular para torná-los intercambiáveis

    Variantes de um algoritmo

     

    @papirobizurado


ID
2630143
Banca
FAURGS
Órgão
HCPA
Ano
2016
Provas
Disciplina
Programação
Assuntos

Considere as afirmações abaixo sobre as estratégias de herança no Hibernate.


I - A herança simples pode ser mapeada para uma tabela única por hierarquia de classe, sendo que uma única tabela armazena todas as instâncias de uma hierarquia de classes.

II - A herança múltipla pode ser mapeada para tabelas distintas tanto para a superclasse quanto para as subclasses.

III - A herança simples pode ser mapeada para uma tabela por classe concreta. Cada tabela armazena as propriedades da classe e de suas superclasses, isto é, o estado da entidade é armazenado na tabela inteiramente dedicada para a sua classe.


Quais estão corretas?

Alternativas

ID
2630149
Banca
FAURGS
Órgão
HCPA
Ano
2016
Provas
Disciplina
Programação
Assuntos

Qual é a anotação no Hibernate que permite marcar uma propriedade como identificador?

Alternativas

ID
2630152
Banca
FAURGS
Órgão
HCPA
Ano
2016
Provas
Disciplina
Banco de Dados
Assuntos

Qual é o método de PL/SQL que retorna o tamanho máximo de uma coleção?

Alternativas

ID
2630155
Banca
FAURGS
Órgão
HCPA
Ano
2016
Provas
Disciplina
Banco de Dados
Assuntos

Considere as afirmações abaixo sobre a estrutura de um bloco PL/SQL.


I - A seção declarativa é uma seção opcional e deve ser utilizada somente quando variáveis, cursores, exceções e/ou tipos construídos forem requeridos na resolução do problema.

II - A seção executável é obrigatória na construção de um bloco e compreende o conjunto de instruções para a resolução do problema do bloco que será construído.

III - A seção de tratamento de exceções é opcional e deve ser utilizada somente quando houver necessidade de tratamento de erros que podem ocorrer durante a execução do bloco.


Quais estão corretas?

Alternativas
Comentários
  • LETRA E - Para quem não tem assinatura


    O resto já tá respondido.

  • A seção declarativa é uma seção opcional e deve ser utilizada somente quando variáveis, cursores, exceções e/ou tipos construídos forem requeridos na resolução do problema.

    Exceções?


ID
2630158
Banca
FAURGS
Órgão
HCPA
Ano
2016
Provas
Disciplina
Banco de Dados
Assuntos

Qual é a variável de PL/SQL que armazena blocos grandes de dados com caracteres de um único byte no banco de dados?

Alternativas
Comentários
  • LETRA A

    https://oraclepress.wordpress.com/2017/09/15/uma-introducao-ao-lobs-large-objects/


ID
2630161
Banca
FAURGS
Órgão
HCPA
Ano
2016
Provas
Disciplina
Banco de Dados
Assuntos

O resultado de duas consultas pode ser combinado na linguagem PostgreSQL através da seguinte sintaxe:


comando1 UNION [ALL] comando2

comando1 INTERSECT [ALL] comando2

comando1 EXCEPT [ALL] comando2


Com base nessa sintaxe, é correto afirmar que

Alternativas
Comentários
  • Gabarito C

     

    O operador UNION retorna todas as linhas que estão em um ou
    ambos os conjuntos de resultados.

     

    O operador INTERSECT retorna todas as
    linhas presentes em ambos os conjuntos de resultados.

     

    O operador EXCEPT retorna as linhas que estão no primeiro conjunto de resultados, mas não no
    segundo.

     

    Em todos os três casos, as linhas duplicadas são eliminadas, a menos
    que a cláusula ALL seja especificada. A palavra DISTINCT pode ser adicionada
    para especificar explicitamente a eliminação de linhas duplicadas. Observe que
    DISTINCT é o comportamento padrão aqui, embora ALL seja o padrão para si
    SELECT.
     


ID
2630164
Banca
FAURGS
Órgão
HCPA
Ano
2016
Provas
Disciplina
Banco de Dados
Assuntos

Analise a sintaxe para gatilhos do PostgreSQL.


CREATE TRIGGER nome { BEFORE | AFTER } { evento [ OR ... ] }

        ON tabela [ FOR [ EACH ] { ROW | STATEMENT } ]

        EXECUTE PROCEDURE nome_da_função ( argumentos )


A respeito dessa sintaxe, assinale a alternativa que apresenta a afirmação correta. 

Alternativas
Comentários
  • A - O comando CREATE TRIGGER cria um gatilho que fica associado a todas as tabelas(Todas não ) do banco de dados e executa a função especificada nome_da_função quando ocorre uma nova inserção no banco de dados(Delete e Update tmbém).

     

    B -  FOR EACH STATEMENT é chamado apenas uma vez.

     

    C - FOR EACH ROW é chamado uma vez para cada linha. Pode ser várias

     

    D - Se existirem vários gatilhos do mesmo tipo definidos para o mesmo evento, estes serão disparados na ordem alfabética de seus nomes. [4] [5] [6]

     

     

    5 - Um gatilho pode ser especificado para disparar antes(BEFORE) de uma operação ser
    realizada em uma linha (antes das restrições serem verificadas e os comandos
    de INSERT, UPDATE, ou DELETE serem executados); ou após a conclusão da
    operação (após as restrições serem verificadas e o INSERT, UPDATE, ou DELETE

     

    Se o gatilho for disparado antes ou no lugar do evento, o gatilho pode
    evitar que a operação para a linha corrente seja feita, ou ainda, mudar os
    valores da linha (somente para operações de INSERT e UPDATE).
    Se o gatilho
    disparar após o evento, todas as alterações, incluindo os efeitos de outros
    gatilhos, são "visíveis" para o gatilho.

     

    Portanto alternativa Correta E
     

     

     


ID
2630167
Banca
FAURGS
Órgão
HCPA
Ano
2016
Provas
Disciplina
Banco de Dados
Assuntos

Considere a tabela relacional abaixo.


EMPREGADO_PROJETO

(num_empregado, num_projeto, horas_trabalhadas, nome_empregado, nome_projeto, localização_projeto)


Nessa tabela, não se pode inserir um projeto, a menos que um empregado esteja associado. Por outro lado, não se pode inserir um empregado, a menos que esteja associado a um projeto. Esse é um exemplo de

Alternativas
Comentários
  • Copiado e colado daqui:

    " Anomalia de Inserção: Não se pode inserir um projeto a menos que um empregado esteja associado. Por outro lado, não se pode inserir um empregado a menos que ele esteja associado a um projeto"

     

    https://www.ime.usp.br/~jef/bd09.pdf


ID
2630170
Banca
FAURGS
Órgão
HCPA
Ano
2016
Provas
Disciplina
Banco de Dados
Assuntos

Uma relação está na _____________ se todos os seus atributos são monovalorados e atômicos.


Assinale a alternativa que completa, corretamente, a lacuna da afirmação acima.

Alternativas
Comentários
  • 1FN

    Não contém Tabelas aninhadas

    'Uma tabela está na 1FN, se e somente se, todos os valores das colunas da tabela forem atómicos',

     colunas multivaloradas


ID
2630173
Banca
FAURGS
Órgão
HCPA
Ano
2016
Provas
Disciplina
Programação
Assuntos

Assinale a alternativa que apresenta afirmação correta sobre o uso de um atributo NULL.

Alternativas

ID
2630176
Banca
FAURGS
Órgão
HCPA
Ano
2016
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

Um algoritmo de ordenação é executado através dos seguintes passos: (I) escolha de um elemento da lista, denominado pivô; (II) rearranjo da lista, de forma que todos os elementos anteriores ao pivô sejam menores do que ele e que todos os elementos posteriores ao pivô sejam maiores do que ele; e, também, de modo que o pivô, ao fim do processo, esteja em sua posição final, havendo duas sublistas não ordenadas; (III) ordenação recursiva das sublistas dos elementos menores e dos elementos maiores. Que algoritmo é esse?

Alternativas
Comentários
  • QUICK SORT

     

    O quick sort é um método de ordenação por troca que aplica o paradigma de divisão e conquista.
     Funcionamento:
     Um elemento do arranjo será escolhido como pivô.
     Em seguida o arranjo é dividido em 2 subarranjos:
        Elementos menores ou iguais ao pivô.
        Elementos maiores que o pivô
     Os dois arranjos do passo anterior são ordenados recursivamente com o quick sort.

     

    Fonte: Itnerante
     

  • Gabarito A

    Quicksort - Escolhe-se um pivot e particiona-se a lista em duas sublistas: uma com os elementos menores que ele e outra com os maiores, que, ao serem ordenadas e combinadas com o pivot, geram uma lista ordenada. O processo é aplicado às partições para ordená-las. Embora tenha uma complexidade de pior caso de O(n2 ), no caso médio é de O(n log n). 
     

     

     

     

    "Retroceder Nunca Render-se Jamais !"
    Força e Fé !
    Fortuna Audaces Sequitur !

  • Força Guerreiro!!!!!!


ID
2630179
Banca
FAURGS
Órgão
HCPA
Ano
2016
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

Editores de Texto geralmente oferecem um mecanismo de reversão de operações (undo) que cancela operações recentes e reverte um documento a estados anteriores. A operação de reversão é implementada mantendo as alterações na estrutura de dados

Alternativas
Comentários
  • Pilha.

    Entra por um lado e sai pelo mesmo lado, ou seja, o último a entrar é o primeiro a sair.

    Logo, se escrever: "ABCDE" "

    E der um Ctrl + Z, o primeiro caracter a ser excluído no refazer é o ". Ficando: "ABCDE"

  • Força Guerreiro!!!!!!


ID
2630185
Banca
FAURGS
Órgão
HCPA
Ano
2016
Provas
Disciplina
Programação
Assuntos

Qual elemento HTML5 fornece um ponto de integração para uma aplicação externa ou conteúdo interativo (ambos tipicamente não HTML)?

Alternativas
Comentários
  • The HTML element embeds external content at the specified point in the document. This content is provided by an external application or other source of interactive content such as a browser plug-in.

  • Embed = Incorporar.

  • <source> - O elemento source é utilizado para especificar múltiplos recursos de mídia de elementos <picture>, <audio> ou <video> em HTML5.

    O elemento HTML <track> é usado como filho dos elementos de mídia<audio> e <video>. Ele permite que você especifique faixas de texto temporizadas (ou dados baseados em tempo), por exemplo, para lidar automaticamente com legendas.

    captcha - um teste de desafio cognitivo, utilizado como ferramenta anti-spam.

    O elemento HTML <embed> incorpora conteúdo externo no ponto especificado no documento. Este conteúdo é fornecido por um aplicativo externo ou outra fonte de conteúdo interativo, como um plug-in de navegador.

    param - define os parâmetros para um objeto.


ID
2630188
Banca
FAURGS
Órgão
HCPA
Ano
2016
Provas
Disciplina
Engenharia de Software
Assuntos

Considere as seguintes afirmações sobre Scrum.


I - Scrum não prescreve o uso de práticas de programação, como programação em pares e desenvolvimento test-first. Portanto, pode ser usado com abordagens ágeis mais técnicas, como XP, para fornecer um framework de gerenciamento de projeto.

II - Um sprint do Scrum é uma unidade de planejamento na qual o trabalho a ser feito é avaliado, os recursos para o desenvolvimento são selecionados e o software é implementado. No fim de um sprint, a funcionalidade completa é entregue aos stakeholders.

III - Toda a equipe participa das reuniões diárias; às vezes, essas são feitas com os participantes em pé (stand up), de forma muito rápida, para a manutenção do foco da equipe. Durante a reunião, todos os membros da equipe compartilham informações e descrevem seu progresso desde a última reunião, debatendo os problemas que surgiram desde então e o que está planejado para o dia seguinte.


Quais estão corretas?

Alternativas
Comentários
  • As três perguntas são:

    O que você fez ontem?

    O que está te atrapalhando?

    O que você vai fazer hoje?

     

  • Não entendi bem essa parte "os recursos para o desenvolvimento"

  • Um sprint do SCRUM é uma unidade de planejamento na qual o trabalho a ser feito é avaliado, os recursos para o desenvolvimento são selecionados e o software é implementado. No fim de uma sprint, a funcionalidade completa é entregue aos stakeholders.

     

    http://geekwork.tk/desenvolvimento-agil-de-software/

  • "o que está planejado para o dia seguinte."? As reuniões (Daily scrums) servem para discutir o que foi feito no dia anterior, o que será feito no dia da reunião (já que ocorre normalmente pela manhã) e se há algo impediditivo... Questão mal formulada...

  • "Um sprint do Scrum é uma unidade de planejamento na qual o trabalho a ser feito é avaliado, os recursos para o desenvolvimento são selecionados e o software é implementado. No fim de um sprint, a funcionalidade completa é entregue aos stakeholders."

    Esta afirmação não é verdadeira


ID
2630191
Banca
FAURGS
Órgão
HCPA
Ano
2016
Provas
Disciplina
Engenharia de Software
Assuntos

No Scrum, o ponto de partida para o planejamento é _____________, que é a lista do trabalho a ser feito no projeto. Durante a fase de avaliação do sprint, essa lista é revista, e as prioridades e o riscos são identificados. O cliente está intimamente envolvido nesse processo e, no início de cada sprint, pode introduzir novos requisitos ou tarefas.


Assinale a alternativa que completa, corretamente, a lacuna do trecho acima.

Alternativas
Comentários
  • No Scrum, o ponto de partida para o planejamento é Backlog do Produto (Product Backlog), que é a lista do trabalho a ser feito no projeto. Durante a fase de avaliação do sprint, essa lista é revista, e as prioridades e o riscos são identificados. O cliente está intimamente envolvido nesse processo e, no início de cada sprint, pode introduzir novos requisitos ou tarefas.


ID
2630194
Banca
FAURGS
Órgão
HCPA
Ano
2016
Provas
Disciplina
Engenharia de Software
Assuntos

Sobre teste de unidade, considere as afirmações abaixo.


I - Sempre que possível, deve-se automatizar os testes de unidade. No entanto, se deseja-se realizar testes manuais, pode-se usar um framework de teste (como JUnit) para escrever e executar testes do programa.

II - Um teste automatizado tem três partes. Há uma parte de configuração, em que se inicia o sistema com o caso de teste, ou seja, as entradas e saídas esperadas; há uma parte de chamada, em que se chama o objeto ou método a ser testado; há uma parte de afirmação, em que se compara o resultado da chamada com o resultado esperado. Se a afirmação avaliada for verdadeira, o teste foi bem sucedido; se for falsa, houve falha no teste.

III - É muito importante a escolha de casos de teste efetivos. Deve-se, portanto, escrever dois tipos de casos de teste. O primeiro deve refletir o funcionamento normal de um programa e deve mostrar que o componente funciona. Por exemplo, se está sendo testado um componente que cria e inicia um novo registro de paciente, o caso de teste deve mostrar que o registro existe no banco de dados e que os campos foram criados como especificados. Outro tipo de caso de teste deve ser baseado em testes de experiência, nos quais surgem os problemas mais comuns. Devem-se usar entradas anormais para verificar que essas sejam devidamente processados e que não façam o componente falhar.


Quais estão corretas?

Alternativas
Comentários
  • Sempre que possível, você deve automatizar os testes unitários. Em testes unitários automatizados, pode-se
    usar um framework de automação de teste (como JUnit) para escrever e executar testes de seu programa. Frameworks
    de testes unitários fornecem classes de teste genéricas que você pode estender para criar casos de teste
    específicos. Eles podem, então, executar todos os testes que você implementou e informar, muitas vezes por meio
    de alguma interface gráfica, sobre o sucesso ou o fracasso dos testes. Um conjunto inteiro de testes frequentemente
    pode ser executado em poucos segundos; assim, é possível executar todos os testes cada vez que é feita uma
    alteração no programa.
    Um teste automatizado tem três partes:
    1. Uma parte de configuração, em que você inicia o sistema com o caso de teste, ou seja, as entradas e saídas
    esperadas.
    2. Uma parte de chamada, quando você chama o objeto ou método a ser testado.
    3. Uma parte de afirmação, em que você compara o resultado da chamada com o resultado esperado. Se a afirmação
    avaliada for verdadeira, o teste foi bem-sucedido; se for falsa, ele falhou.

     

    Eng. SW 9 Ed pg 149 cap 8


ID
2630197
Banca
FAURGS
Órgão
HCPA
Ano
2016
Provas
Disciplina
Engenharia de Software
Assuntos

Como se chama o processo que testa individualmente os componentes de programa, como métodos ou classes de objetos?

Alternativas
Comentários
  • No teste unitário, as unidades individuais de programa ou classes de objetos são testadas individualmente, deve-se centrar-se em testar a funcionalidade dos objetos ou métodos. ❞

    .

    .

    .

    .

    At.te

    Foco na missão 


ID
2630200
Banca
FAURGS
Órgão
HCPA
Ano
2016
Provas
Disciplina
Programação
Assuntos

Sobre JSF 2.0, considere as afirmações abaixo.


I - JSF é projetado para aliviar significativamente o ônus da escrita e manutenção de aplicativos que são executados em um servidor de aplicativos Java e também para tornar as suas interfaces com usuário mais focadas no cliente.

II - JSF está incluído na plataforma Java EE; portanto, podem-se criar aplicativos que usem JSF, sem acrescentar quaisquer bibliotecas extras ao seu projeto. JSF funciona igualmente bem como um framework web autônomo (standalone), capaz de ser usado com Spring.

III - JSF 2.0 fornece uma API comum JavaScript que pode ser usada pelos componentes de interface do usuário para ajudar a promover a interoperabilidade.


Quais estão corretas?

Alternativas

ID
2630203
Banca
FAURGS
Órgão
HCPA
Ano
2016
Provas
Disciplina
Programação
Assuntos

Assinale a alternativa que apresenta o framework padrão orientado a componente de interface de usuário para a plataforma Java EE – ou seja, um framework web baseado em Java.

Alternativas
Comentários
  • Developed through the Java Community Process under JSR - 314, JavaServer Faces technology establishes the standard for building server-side user interfaces. With the contributions of the expert group, the JavaServer Faces APIs are being designed so that they can be leveraged by tools that will make web application development even easier.

    http://www.oracle.com/technetwork/java/javaee/overview-140548.html


ID
2630206
Banca
FAURGS
Órgão
HCPA
Ano
2016
Provas
Disciplina
Programação
Assuntos

JSF 2 possui um mecanismo denominado ___________ que realiza a checagem da consistência dos dados de entrada fornecidos para cada componente EditableValueHolder na árvore de componentes. JSF 2 define uma suite padronizada de implementações que realizam um variedade de checagens comumente requeridas.


Assinale a alternativa que completa, corretamente, a lacuna do texto acima.

Alternativas

ID
2630209
Banca
FAURGS
Órgão
HCPA
Ano
2016
Provas
Disciplina
Programação
Assuntos

Sobre Maven, considere as afirmações abaixo.


I - Maven fornece uma abundância de informações úteis sobre o projeto, que são, em parte, retiradas do seu Project Object Model (POM) e, em parte, geradas a partir dos fontes do projeto. O Maven pode fornecer, por exemplo, log de alterações de documentos.

II - Maven visa tornar o processo de build mais fácil e prover um sistema de build uniforme, adotando o Project Object Model (POM) e um conjunto de plugins.

III - Apesar de ser muito útil para suporte a builds, Maven não provê apoio à especificação e à execução de testes de unidade como parte normal de um ciclo de build.


Quais estão corretas?

Alternativas
Comentários
  • The Maven Changelog Plugin generates reports regarding the recent changes in your Software Configuration Management or SCM. These reports include the changelog report, developer activity report and the file activity report.


ID
2630212
Banca
FAURGS
Órgão
HCPA
Ano
2016
Provas
Disciplina
Engenharia de Software
Assuntos

Sobre Versionamento e Gerenciamento de Versões, considere as afirmações abaixo.


I - O gerenciamento de versões é o processo de acompanhamento de diferentes versões de componentes de software ou itens de configuração e dos sistemas em que esses componentes são usados. Refere-se também à garantia de que as mudanças feitas por diferentes desenvolvedores para essas versões não interfiram umas nas outras.

II - Em um sistema de gerenciamento de versões com uma variedade de recursos, desenvolvedores diferentes não podem trabalhar, ao mesmo tempo, no mesmo componente, pois se o fizessem, as mudanças feitas por diferentes desenvolvedores poderiam interferir umas nas outras.

III - Os sistemas de gerenciamento de versões fornecem, em geral, recursos de gerenciamento de armazenamento. Sua função é reduzir o espaço de armazenamento requerido pelas várias versões de componentes, que diferem apenas ligeiramente umas das outras. Em vez de manter uma cópia completa de cada versão, o sistema armazena uma lista de diferenças (deltas) entre uma versão e outra.


Quais estão corretas?

Alternativas
Comentários
  • c-

    a gestao de versoes mantém oncjunto de versoes de 1 ou mais arquivos, gerenciando source code. é necessario copmpartilhar uma base comum de trabalho. pela frequencia de conflitos de modificacoes, o controle de concorrencia evita esseconlifto, de 2 modos: controle de concorrencia pessimista exige a cada usuario um lock (chave d exlcusao mutua), cujo uso gerante quem pode alterar o recurso. ja o contrle de concorrencia otimmista nao possui restricao.

  • Letra: C

    Gerenciamento de versões foram criados para diferentes desenvolvedores poderem trabalhar.


ID
2630215
Banca
FAURGS
Órgão
HCPA
Ano
2016
Provas
Disciplina
Engenharia de Software
Assuntos

Considere os itens abaixo.


I - Depuração simplificada: quando um teste falha, a localização do problema deve ser óbvia.

II - Diminuição da necessidade de cobertura de código: nem todo segmento de código que é escrito deve ter um teste associado.

III - Documentação do sistema: os testes agem como uma forma de documentação, descrevendo o que o código deve estar fazendo.


Quais são benefícios do uso do Desenvolvimento Dirigido por Testes (TDD)?

Alternativas
Comentários
  • O TTD aumenta a cobertura de testes por estimular o desenvolvimento de cada funcionalidade após a elaboração e codificação dos testes.


ID
2630218
Banca
FAURGS
Órgão
HCPA
Ano
2016
Provas
Disciplina
Engenharia de Software
Assuntos

A uma coleção de versões de componentes que compõem um sistema, dá-se o nome de ___________. Há um controle sobre essa coleção, o que significa que as versões dos componentes que constituem o sistema não podem ser alteradas e, portanto, deveria ser sempre possível recriar a coleção a partir de seus componentes.


Assinale a alternativa que preenche, corretamente, a lacuna do texto acima.

Alternativas
Comentários
  • Letra: E

    A baseline específica as versões de componente incluídas no sistema e identifica as bibliotecas usadas, os arquivos de configuração e outras informações do sistema.


ID
2630221
Banca
FAURGS
Órgão
HCPA
Ano
2016
Provas
Disciplina
Programação
Assuntos

Sobre PrimeFaces, considere as afirmações abaixo.


I - HtmlEditor, Dialog, AutoComplete e Charts são exemplos de componentes disponibilizados por PrimeFaces.

II - Dialog Framework (DF) é usado para abrir uma página xhtml externa em um diálogo que é gerado dinamicamente a tempo de execução.

III - PrimeFaces Mobile (PFM) é um kit de interface com usuário (UI) para criar aplicações JavaServer Faces (JSF) otimizadas para dispositivos móveis.


Quais estão corretas?

Alternativas

ID
2630224
Banca
FAURGS
Órgão
HCPA
Ano
2016
Provas
Disciplina
Engenharia de Software
Assuntos

Sobre Desenvolvimento Dirigido por Testes (TDD), considere os itens abaixo.


I - Teste Isolado (Isolated Test)

II - Teste Primeiro (Test First)

III - Teste de Explicação (Explanation Test)


Quais são padrões para TDD?

Alternativas

ID
2630227
Banca
FAURGS
Órgão
HCPA
Ano
2016
Provas
Disciplina
Engenharia de Software
Assuntos

Métricas de produto são usadas para medir atributos de qualidade de um sistema de software. Por definição, ____________ é a medida do número de métodos que poderiam ser executados em resposta a uma mensagem recebida por um objeto dessa classe. Quanto maior o seu valor, mais complexa é a classe e, portanto, mais provável que inclua erros.


Assinale a alternativa que preenche, corretamente, a lacuna do texto acima.

Alternativas
Comentários
  • Tabela 24.5 Eng Sw 9 Ed pg 470

  • Pelo comentário da Cássia achei: 

    Resposta para uma classe (RFC, do inglês response for a class)
    RFC é a medida do número de métodos que poderiam ser executados em resposta a uma mensagem
    recebida por um objeto dessa classe. Mais uma vez, RFC está relacionada com a complexidade. Quanto
    maior o valor de RFC, mais complexa é a classe e, portanto, mais provável que inclua erros.

     

    além de

    Métodos ponderados por classe
    (WMC, do inglês weighted methods perdass)
    é o número de métodos em cada classe, ponderados pela complexidade de cada método. Portanto,
    um método simples pode ter uma complexidade de 1 e um método grande e complexo pode ter
    um valor muito superior. Quanto maior o valor para essa métrica, mais complexa a classe de objeto.
    Geralmente, os objetos complexos são mais difíceis de compreender. Eles podem não ser logicamente
    coesos, portanto, não podem ser reusados efetivamente como superdasses em uma árvore de herança.
    Árvore de profundidade de herança
    (DIT, do inglês depth Of inheritance tree)
    Representa o número de níveis discretos na árvore de herança em que as subdasses herdam atributos
    e operações (métodos) de superdasses. Quanto mais profunda a árvore de herança, mais complexo o
    projeto. Muitas classes de objeto podem precisar ser compreendidas para que as classes de objeto nas
    folhas da árvore sejam entendidas.
    Número de filhos (NOC, do inglês numberofchildren)
    é uma medida do número de subdasses imediatas em uma classe. Ele mede a largura de uma hierarquia
    de classe, considerando que DIT mede sua profundidade. Um valor alto para NOC pode indicar um
    maior reúso. Isso pode significar que mais esforço deve ser dispendido na validação de classes de base
    por causa do número de subdasses que dependem delas.
    Acoplamento entre classes de objeto
    (CBO, do inglês coupling between object classes)
    Classes são acopladas quando métodos em uma classe usam métodos ou variáveis de instância
    definidas em uma classe diferente. CBO é uma medida de quanto acoplamento existe. Um valor alto
    para o CBO significa que as classes são altamente dependentes e, portanto, é mais provável que a
    mudança em uma classe afete outras classes do programa.
    Falta de coesão em métodos (LCOM,do inglês lack ofcohesion in methods)
    LCOM é calculada considerando os pares de métodos em uma classe. LCOM é a diferença entre o
    número de pares de métodos sem atributos compartilhados e o número de pares de métodos com
    atributos compartilhados. 0 valor dessa métrica tem sido amplamente discutido, e ele existe em
    diversas variações. Não está claro se realmente adiciona qualquer informação útil além das que já são
    fornecidas por outras métricas.
     

  • Complexidade ciclomática (ou complexidade condicional) é uma métrica de software usada para indicar a complexidade de um programa de computador. Ela mede a quantidade de caminhos de execução independentes a partir de um código fonte.

    Fonte: Wikipedia

  • Resposta para uma classe (RFC)

    O conjunto de respostas de uma classe é “um conjunto de métodos com potencial de serem executados em resposta a uma mensagem recebida por um objeto daquela classe”. RFC é o número de métodos no conjunto de respostas.

    Pressman

    Gabarito B.


ID
2630230
Banca
FAURGS
Órgão
HCPA
Ano
2016
Provas
Disciplina
Programação
Assuntos

JavaScript oferece algumas funções globais. A função global que recebe como argumento um string representando o código JavaScript e o executa denomina-se

Alternativas
Comentários
  • https://www.w3schools.com/jsref/jsref_eval.asp

  • Ano: 2013 Banca: CESPE Órgão: SERPRO Prova: Analista - Suporte Técnico

     

    A função eval do JavaScript executa comandos de linguagens que estejam escritos em uma string.

     

    Resposta: Certa


ID
2630233
Banca
FAURGS
Órgão
HCPA
Ano
2016
Provas
Disciplina
Engenharia de Software
Assuntos

Considere as afirmações abaixo em relação à herança, um dos principais conceitos de programação orientada a objetos.


I - A herança permite a criação de hierarquias de classes, e a raiz dessa árvore deve ser uma classe abstrata.

II - As classes derivadas de uma determinada classe são chamadas de subclasses.

III - Superclasses são classes a partir das quais foram definidas subclasses.


Quais estão corretas?

Alternativas
Comentários
  • I - A herança permite a criação de hierarquias de classes, e a raiz dessa árvore é a superclasse.

  • E

    Apenas II e III.


ID
2630236
Banca
FAURGS
Órgão
HCPA
Ano
2016
Provas
Disciplina
Engenharia de Software
Assuntos

No que se refere a classes abstratas e polimorfismo, assinale com V (verdadeiro) ou F (falso) as afirmações abaixo.


( ) Classes abstratas não podem ser instanciadas.

( ) Todos os métodos de uma classe abstrata devem estar sobrescritos na classe concreta que a estende.

( ) Uma classe concreta corresponde a uma generalização de uma classe abstrata.

( ) Diferentes classes concretas de uma mesma classe abstrata podem sobrescrever o mesmo método.


A sequência correta de preenchimento dos parênteses, de cima para baixo, é

Alternativas
Comentários
  • ( )Os métodos da classe abstrata devem então serem sobrescritos nas classes filhas.

    ( ) Uma classe concreta corresponde a uma especialização de uma classe abstrata.

  • (V) Classes abstratas não podem ser instanciadas.

    (F) Todos os métodos de uma classe abstrata devem estar sobrescritos na classe concreta que a estende. Não Todos. Apenas os métodos abstratos precisam ser reescritos na classe que estende.

    (F) Uma classe concreta corresponde a uma generalização de uma classe abstrata. Especialização, não generalização.

    (V) Diferentes classes concretas de uma mesma classe abstrata podem sobrescrever o mesmo método.

    Gabarito 

    a) V – F – F – V. 


ID
2630239
Banca
FAURGS
Órgão
HCPA
Ano
2016
Provas
Disciplina
Engenharia de Software
Assuntos

Numere a segunda coluna de acordo com a primeira, associando os tipos de direito de acesso a métodos de uma classe às respectivas características.


(1) Private

(2) Protected

(3) Public


( ) Métodos que podem ser acessados em classes externas ao respectivo package.

( ) Métodos que só podem ser chamados dentro da classe em que estão definidos.

( ) Métodos que podem ser chamados dentro das classes derivadas daquela em que estão definidos.


A sequência correta de preenchimento dos parênteses da segunda coluna, de cima para baixo, é

Alternativas
Comentários
  • Estes são os níveis de modificadores dos atributos:

    Private: A única classe que tem acesso ao atributo é a própria classe que o define. 

    Default: Tem acesso a um atributo default (identificado pela ausência de modificadores) todas as classes que estiverem no mesmo pacote que a classe que possui o atributo.

    Protected: Esse é o que pega mais gente, ele é praticamente igual ao default, com a diferença de que se uma classe (mesmo que esteja fora do pacote) estende da classe com o atributo protected, ela terá acesso a ele. Então o acesso é por pacote e por herança.

     

    Public: todos tem acesso. 

    Fonte:https://pt.stackoverflow.com/questions/23/qual-%C3%A9-a-diferen%C3%A7a-entre-modificadores-public-default-protected-e-private

  • D

    3 – 1 – 2.


ID
2630242
Banca
FAURGS
Órgão
HCPA
Ano
2016
Provas
Disciplina
Programação
Assuntos

A respeito de variáveis na linguagem Java, assinale a alternativa que apresenta a afirmação correta.

Alternativas
Comentários
  • a)ERRADO, podemos sim ter variáveis static final.

     

    b)ERRADO Java é case sensitive, ou seja não representam a mesma variável;

     

    c)ERRADO Variável de classe(locais) e variável de instância não são declaradas da mesma forma, usamos a palavra reservada static para declarar uma variável de classe

     

    d) ERRADO,Variáveis de instância (classe) têm cópia única para todos os objetos da classe quando recebem a qualificação final(static).  

     

    e) CORRETA;

     

     

  • C) Até pode ser declarado da mesma forma, mas a variável de instância pode ter modificadores de acesso, diferente das variáveis locais

    E) Ok... desde que não sejam "final"


ID
2630245
Banca
FAURGS
Órgão
HCPA
Ano
2016
Provas
Disciplina
Programação
Assuntos

Para responder a questão, considere o código abaixo.


1 List<Integer> minhaLista = new LinkedList<Integer>( );

2 minhaLista.add(new Integer(0));

3 Integer posic = minhaLista.iterator( ).next( );

A respeito do código acima, considere as seguintes afirmações.


I - A declaração na linha fonte 1 faz uso do conceito de Generics em Java.

II - A linha fonte 2 contém uma chamada de método para adicionar um objeto do tipo primitivo inteiro na estrutura minhaLista.

III - Uma operação de cast na linha 3 é necessária porque minhaLista pode conter objetos de qualquer tipo.


Quais estão corretas?

Alternativas
Comentários
  • https://www.devmedia.com.br/usando-generics-em-java/28981

  • I - CORRETA;

    .

    II - 'new integer(0)' não é um tipo primitivo, mas um objeto;

    .

    III - Por estarmos usando generics não precisa fazer casting, o compilador faz isso por nós.


ID
2630248
Banca
FAURGS
Órgão
HCPA
Ano
2016
Provas
Disciplina
Programação
Assuntos

Para responder a questão, considere o código abaixo.


1 List<Integer> minhaLista = new LinkedList<Integer>( );

2 minhaLista.add(new Integer(0));

3 Integer posic = minhaLista.iterator( ).next( );

A respeito da linha 3, é correto afirmar que

Alternativas
Comentários
  • a) "iterator()" é um método da interface Iterable

    b) GAB

    c) O valor inteiro não é retirado da lista e o objeto não é novo, é o mesmo: minhaLista.get(0) == posic

    d) Um iterator contém os objetos inseridos na lista. Além disso, não necessariamente possui uma ordem. Se o Iterator for criado a partir de uma Set, não haverá ordem alguma

    e) A cada chamada do next(), o cursor do iterator é atualizado. Não há nenhum método da interface List envolvido nisso