SóProvas



Prova NCE-UFRJ - 2008 - ACAPLAM-PB - Analista de Tecnologia da Informação


ID
488599
Banca
NCE-UFRJ
Órgão
UFRJ
Ano
2008
Provas
Disciplina
Banco de Dados
Assuntos

A linguagem de consulta SQL para bancos de dados relacionais tem suas bases teóricas calcadas na lógica de predicados e na álgebra relacional. A operação de álgebra que pode ser usada diretamente na sintaxe do SQL padrão é:

Alternativas
Comentários
  • álguem sabe explicar?


  •  a) projeção (esta operação, em SQL é SELECT)

     b) seleção (esta operação, em SQL é WHERE)

     c) produto (esta operação, em SQL é FROM)

     d) diferença (esta operação, pode ser obtida por NOT IN, em sql)

     e) união (existe, em SQL, a operação UNION)


ID
488602
Banca
NCE-UFRJ
Órgão
UFRJ
Ano
2008
Provas
Disciplina
Banco de Dados
Assuntos

Considere um banco de dados que contém dados sobre pessoas e armazena os atributos Nome, CPF, Endereço, Número de celular. Sabendo-se que pode haver homônimos, que mais de uma pessoa pode dividir o mesmo endereço, que CPF e número de celular pertencem somente a uma pessoa, e que uma pessoa pode ter mais de um celular, pode-se concluir que a dependência funcional que NÃO é válida neste modelo é:

Alternativas
Comentários
  • Em geral, consulta em banco é feita usando uma chave que não admita duplicatas, como uma chave única (geralmente o ID, mas não é o caso da questão). Como as chaves únicas desse banco são o CPF e o número de celular, são as que devem ser usadas para busca, e nas alternativas a única que não usa é a D) - que usa o nome, portanto não válida.


ID
488605
Banca
NCE-UFRJ
Órgão
UFRJ
Ano
2008
Provas
Disciplina
Banco de Dados
Assuntos

Os sistemas gerenciadores de bancos de dados usualmente suportam acesso simultâneo de vários aplicativos aos dados, de modo que operações concorrentes possam ser executadas sem conflitos. Uma técnica de implementação dessa funcionalidade é conhecida como:

Alternativas
Comentários
  • A resposta CORRETA é a letra A. Basicamente esse camaradinha faz bloqueios quando dois usuários tentam acessar ao mesmo tempo determinado dado, evitando assim o “abraço mortal”;

    B-Tree (árvore B) são estruturas de dados que permitem a classificação dos dados, bem como a realização de pesquisas, acessos sequenciais, inserções e remoções em tempo de complexidade logarítima (ou seja, muito mais rápido) nos mesmos. São normalmente utilizadas em discos secundários (HD e tals);

    LOG TRANSACTION diz repeito ao registro de eventos das execuções realizadas pelo SGDB (log), a fim de que caso alguma falha ocorra o mesmo possa reverter os dados das transações até aquele momento não confirmadas. Além disso, as transações são refeitas caso elas já estejam empenhadas e não materializadas no BD;

    Já as CLUSTER TABLES são tabelas lógicas armazenadas em formatos compactados (que além de reduzir o espaço ocupado, colabora na rápida recuperação dos mesmos), contidas como resgistros nas tabelas dos sistemas SAP;

    Enquanto que HASH FUNCTIONS é uma função algoritmica que mapeia os dados de compimento variável para dados de comprimento fixo, que têm como retorno os conhecidos códigos hashes (strings). Diz mais respeito à integridade do Banco de Dados propriamente dita;

    FONTE: Wikipedia e techopedia


ID
488611
Banca
NCE-UFRJ
Órgão
UFRJ
Ano
2008
Provas
Disciplina
Banco de Dados
Assuntos

As chaves estrangeiras implementam a manutenção das referências de integridade em bancos de dados relacionais. Algumas implementações permitem estabelecer as ações a seguir quando essas referências são violadas. O comando

alter table T1
add constraint c1 foreign key (a) references T2
on delete cascade

estabelece que:

Alternativas

ID
488614
Banca
NCE-UFRJ
Órgão
UFRJ
Ano
2008
Provas
Disciplina
Banco de Dados
Assuntos

Sabendo-se que as tabelas R1, R2 e R3 têm 10, 50 e 100 registros respectivamente, e que não há registros duplicados em nenhuma das tabelas, pode-se concluir que o comando SQL

select distinct a.*, b.* from r1 a, r2 b, r3 c

produz um resultado com:

Alternativas
Comentários
  • Apenas fazemos um plano cartesiano entre as tabelas R1  e R2, que foram renomeadas para, respectivamente, a e b.

    r1 = a = 10 registros(linhas)

    r2 = b = 50 registros(linhas)

    a x b = 500 linhas

    GABARITO LETRA D


ID
488617
Banca
NCE-UFRJ
Órgão
UFRJ
Ano
2008
Provas
Disciplina
Banco de Dados
Assuntos

Considere os seguintes comandos SQL:

I. select * from R where a not in (select a from S)
II. select * from R where not exists (select * from S where R.a=S.a)
III. select * from R where a <> all (select a from S)
IV. select * from R where count(select * from S where R.a=S.a)=0

Pode-se concluir que produzem o mesmo resultado somente os comandos:

Alternativas
Comentários
  • http://sqlfiddle.com/#!9/1b943c/19


ID
488620
Banca
NCE-UFRJ
Órgão
UFRJ
Ano
2008
Provas
Disciplina
Banco de Dados
Assuntos

Considere um banco de dados contendo uma tabela R (aluno,disciplina,nota), onde cada registro armazena a nota de um aluno numa determinada disciplina. O programador P afirma que executou o seguinte comando SQL:

select * from R where nota >= 5 and disciplina=’Fisica’

e que o resultado da consulta foi vazio, isto é, nenhum registro foi listado; P concluiu que nenhum aluno tinha sido aprovado em Física, e resolveu executar um outro comando que mostrasse os reprovados:

Ainda segundo P, o resultado foi vazio novamente. P então verificou se havia algum aluno fazendo a disciplina e executou outro comando:

select nome from R where disciplina=’Fisica’

Agora, o comando mostrou 143 nomes de alunos. Pode-se concluir que:

Alternativas

ID
488623
Banca
NCE-UFRJ
Órgão
UFRJ
Ano
2008
Provas
Disciplina
Banco de Dados
Assuntos

Considere o seguinte script SQL:

create table T1
(a int not null primary key, b int);
create table T2
(b int not null, c int not null, a int not null unique,
constraint c1 foreign key (a) references T2);

Pode-se concluir que entre os registros das tabelas T1 e T2 existe um relacionamento:

Alternativas
Comentários
  • Questão deveria ter sido anulada, pois entre T2 e T1 não existe relação. O relacionamento criado foi entre T2 e ela mesma, de acordo com a constraint c1 foreign key (a) references T2


ID
488626
Banca
NCE-UFRJ
Órgão
UFRJ
Ano
2008
Provas
Disciplina
Banco de Dados
Assuntos

A sigla ACID é usualmente empregada para evocar as propriedades que as transações executadas num banco de dados devem possuir. Essas propriedades são:

Alternativas
Comentários
  • Gabarito Letra E
     

    Atomicidade
    A propriedade de atomicidade garante que as transações sejam atômicas (indivisíveis). A transação será executada totalmente ou não será executada.

     

    Consistência
    A propriedade de consistência garante que o banco de dados passará de uma forma consistente para outra forma consistente.

     

    Isolamento
    A propriedade de isolamento garante que a transação não será interferida por nenhuma outra transação concorrente.

     

    Durabilidade
    A propriedade de durabilidade garante que o que foi salvo, não será mais perdido.

     

    Fonte: livro Sistemas de banco de dados – Ramez Elmasri e Shamkant B. Navathe.
    bons estudos


ID
488632
Banca
NCE-UFRJ
Órgão
UFRJ
Ano
2008
Provas
Disciplina
Banco de Dados
Assuntos

Considere uma tabela relacional R, com atributos A, B e C, atômicos, na qual o atributo A é a chave primária. Sabendo-se que as dependências funcionais A -> B e B -> C se verificam, pode-se concluir que a tabela R está normalizada até a:

Alternativas

ID
488638
Banca
NCE-UFRJ
Órgão
UFRJ
Ano
2008
Provas
Disciplina
Engenharia de Software
Assuntos

Uma operadora de cartões de crédito tem dois tipos de clientes, clientes Gold e clientes Platinum. Somente os clientes Platinum têm direito a um seguro de vida. O diagrama da UML que pode ser usado para modelar essa situação é:

Alternativas
Comentários
  • A letra D até que pode nos confundir em caso de desatenção. Mas sem muito esforço observamos que não é a classe Gold que tem seguro e sim a classe Platinum.
  • A cardinalidade na letra D serve de apoio pra justificar que ela está errada, além do que o Vicente Cândido disse !


ID
488647
Banca
NCE-UFRJ
Órgão
UFRJ
Ano
2008
Provas
Disciplina
Engenharia de Software
Assuntos

Considere um trem composto por uma locomotiva e por vários vagões. A classe Trem tem os métodos addVagao() e removeVagao(). O tipo de relacionamento entre as classes Trem e Vagão é:

Alternativas
Comentários
  • A resposta correta e a alternativa B, porque se trata de uma composição, a composição é uma agregação mais forte. Ex:

    -  um objeto “é parte essencial” de outro

    -  Na composição, o objeto composto não existe sem os seus componentes

    Portanto o vagão é parte essencial do trem, se fosse o faro ou um item que não fosse essencial ao trem seria associação pois teria apenas uma relação, no caso do farol independente se tive-se ou não o farol, o trem seria o trem.

    Segue o exemplo de Relacionamentos de Objetos no link abaixo:

    http://docente.ifrn.edu.br/brunogurgel/disciplinas/2012/fprog/aulas/poo/POO4Relacionamentos.pdf


ID
488650
Banca
NCE-UFRJ
Órgão
UFRJ
Ano
2008
Provas
Disciplina
Banco de Dados
Assuntos

Em relação à associação entre classes num projeto orientado a objetos, é INCORRETO afirmar que:

Alternativas
Comentários
  • Alguém consegue explicar?
  • LETRA A

    a)ERROS
    1º Erro:  IMPERATIVIDADE na afirmação, as regras de moelagem são flexíveis e elas podem ser usadas confrome o DBA achar melhor;
    2º Erro: Não é porque o Relacionamenton é de N:M que ele terá que ter uma Classe Associativa;
    3º Erro: As associações resultantes da quebra de uma relação N:M, não necessariamente vão resultar em 2 relacionamentos 1:N, ali pode haver um 0:N;

    Esses são os erros que consegui perceber.

  • não entendi a B, alguém pode explicar? [coloquei a A, mas queria entender a B]


ID
488653
Banca
NCE-UFRJ
Órgão
UFRJ
Ano
2008
Provas
Disciplina
Engenharia de Software
Assuntos

Considere as seguintes afirmativas sobre testes de software:

I- O teste de regressão consiste na re-execução de testes já executados para garantir que modificações introduzidas não geraram efeitos colaterais.
II- O teste fumaça (smoke test) é um tipo de teste de integração que é executado diariamente.
III- O teste de validação focaliza ações e saídas tais como percebidas pelo usuário final.

A(s) afirmativa(s) correta(s) é/são somente:

Alternativas
Comentários
  • I. Certo. "O teste de regressão é a reexecução do mesmo subconjunto de testes que já foram executados para assegurar que as alterações não tenham propagado efeitos colaterais indesejáveis".

    II. Certo. "O teste da fumaça pode ser caracterizado como uma estratégia de integração rolante. O software é recriado (com novos componentes acrescentados) e o teste fumaça é realizado todos os dias".

    (Fonte: Engenharia de Software, 7ed, Pressman, pág. 412-413)

    III. Certo. Como todas as outras etapas de teste, a validação tenta descobrir erros, mas o foco está no nível de requisitos - em coisas que ficarão imediatamente aparentes para o usuário final.

    Gabarito letra "E".


ID
488656
Banca
NCE-UFRJ
Órgão
UFRJ
Ano
2008
Provas
Disciplina
Engenharia de Software
Assuntos

Considere as seguintes afirmativas sobre qualidade de projetos de software:

I- Coesão mede o grau de relacionamento entre as várias responsabilidades de um módulo de software.

II- Acoplamento mede o grau de dependência de módulo com os outros módulos de software.

III- A qualidade de um projeto de software diminui com o aumento da coesão de seus módulos e aumenta com o aumento do acoplamento entre eles.

A(s) afirmativa(s) correta(s) é/são somente:

Alternativas
Comentários
  • O desenvolvimento de software de qualidade, dentro do prazo e com o custo estabelecido é essencial para a sobrevivência de qualquer organização desenvolvedora de software. A facilidade com que se dá a manutenção e o potencial de reuso de um software desempenham papel de destaque nesse contexto, e os conceitos de coesão e acoplamento podem auxiliar muito neste sentido.

    Os conceitos de coesão e acoplamento, surgidos no contexto da análise e projeto estruturados, embora tenham um grande impacto na qualidade de sistemas, são geralmente desconhecidos ou negligenciados por desenvolvedores iniciantes de sistemas orientados a objetos. O desenvolvimento de softwares com alta coesão e fraco acoplamento facilita, entre outras coisas, a manutenção e o reuso. Assim sendo, o estudo desses conceitos e seus desdobramentos torna-se importante para melhorar a qualidade de sistemas.

    O acoplamento refere-se ao quanto uma unidade funcional depende de outra para funcionar. Uma unidade funcional pode ser um método, função ou mesmo uma classe. Quanto maior a dependência entre as unidades funcionais, mais fortemente acopladas elas estão. Uma das formas de se medir o acoplamento de um método, por exemplo, é a quantidade de parâmetros de entrada e suas respectivas complexidades. Quanto mais parâmetros e mais complexos eles forem, maior o acoplamento do método.

    A coesão está ligada à responsabilidade única da unidade funcional. Demonstra coerência e unidade conceitual no relacionamento com os outros componentes da unidade funcional. Ou seja, um método coeso realiza uma única função conceitual, servindo a apenas um propósito específico.
  • I(CERTO) "Coesão está, na verdade, ligado ao princípio da responsabilidade única, que foi introduzido por Robert C. Martin no inicio dos anos 2000 e diz que uma classe deve ter apenas uma única responsabilidade e realizá-la de maneira satisfatória, ou seja, uma classe não deve assumir responsabilidades que não são suas . Uma vez sendo ignorado este princípio, passamos a ter problemas, como dificuldades de manutenção e de reuso"


    II (CERTO)"o acoplamento significa o quanto uma classe depende da outra para funcionar. E quanto maior for esta dependência entre ambas, dizemos que estas classes elas estão fortemente acopladas".

    III (ERRADA) "O forte acoplamento também nos traz muitos problemas, problemas até semelhantes aos que um cenário pouco coeso nos traz."


    Leia mais em: Entendendo Coesão e Acoplamento http://www.devmedia.com.br/entendendo-coesao-e-acoplamento/18538#ixzz2lfEasyEf

ID
488659
Banca
NCE-UFRJ
Órgão
UFRJ
Ano
2008
Provas
Disciplina
Arquitetura de Software
Assuntos

Considere as seguintes afirmativas sobre o padrão Modelo-Visão-Controle (MVC) como utilizado no estilo de projeto orientado a objetos:

I- Os objetos do Modelo devem ter conhecimento direto de objetos da Visão.
II- O padrão MVC permite o desenvolvimento em separado das camadas de Modelo e Visão.
III- O padrão MVC aumenta o acoplamento entre a camada Modelo e a camada Visão.

A(s) afirmativa(s) correta(s) é/são somente:

Alternativas
Comentários
  • I -  Os objetos do Modelo devem ter conhecimento direto de objetos da Visão. Errado. Existe a figura do Controller que é responsável por receber as requisições dos usuários.

    II - Correto. É exatamente isso.

    II - Errado. O padrão MVC tem baixo acoplamento.


ID
488665
Banca
NCE-UFRJ
Órgão
UFRJ
Ano
2008
Provas
Disciplina
Engenharia de Software
Assuntos

P é um módulo de software que recebe como entrada dois tipos de dados: o primeiro (X) descreve o saldo atual de uma conta corrente e o segundo, (Y) um valor de débito para essa conta. O módulo produz como saída (Z), que descreve o saldo atualizado da conta corrente. As estruturas desses tipos de dados são descritas como:

X=Número+Saldo
Y=Número+Débito
Z=Número+NSaldo

O item que descreve as pré-condições (Pré) e pós- condições (Pós) para essa transação é:

Alternativas

ID
488674
Banca
NCE-UFRJ
Órgão
UFRJ
Ano
2008
Provas
Disciplina
Engenharia de Software
Assuntos

Considere as seguintes assertivas sobre a técnica conhecida como Walk-through de revisões estruturadas dos artefatos de projetos de software:

I- O autor deve obrigatoriamente fazer parte da reunião.
II- Os revisores devem ter acesso ao material a ser revisado antes da reunião.
III- O autor não pode assumir o papel de relator.

A(s) afirmativa(s) correta(s) é/são somente:

Alternativas
Comentários
  • O objetivo do walk-through test é para que os auditores estabeleçam a confiabilidade da contabilidade e dos procedimentos de  de um cliente. Os walk-through tests não podem ser considerados testes de controles.

    Na , o termo também é utilizado relativo à avaliação de , no  de projeto de interface, no qual os usuários operam o protótipo da interface do sistema sendo desenvolvido.


ID
488677
Banca
NCE-UFRJ
Órgão
UFRJ
Ano
2008
Provas
Disciplina
Engenharia de Software
Assuntos

Um sistema de informação possui um Mean Time to Repair (MTTR) de 8 horas. Sabendo-se que a disponibilidade desejada para o sistema seja de 99%, o valor mais próximo da confiabilidade requerida do sistema como medida pelo Mean Time Between Failure (MTBF) deve ser:

Alternativas
Comentários
  • Utiliza-se a seguinte fórmula:

    Disponibilidade = MTBF / (MTBF + MTTR)

    Ao substituir  a Disponibilidade por 0,99 e o MTTR como 8, temos o resultado final de 792.
  • Disponibilidade = MTBF/(MTBF + MTTR)

    0,99 = MTBF/(MTBF + 8) => 0,99MTBF + 7,92 = MTBF => 0,01MTBF = 7,92 => MTBF = 792horas



ID
488680
Banca
NCE-UFRJ
Órgão
UFRJ
Ano
2008
Provas
Disciplina
Engenharia de Software
Assuntos

Considere as seguintes afirmativas sobre o Modelo Essencial de um Sistema de Informação (ME):

I- O ME é composto por dois submodelos: o Ambiental e o Comportamental.
II- O Modelo Ambiental é composto pelo Diagrama de Contexto e pela Lista de Eventos Externos.
III- O Modelo Comportamental descreve a resposta do SI a cada um dos eventos externos.

A(s) afirmativa(s) correta(s) é/são somente:

Alternativas

ID
488683
Banca
NCE-UFRJ
Órgão
UFRJ
Ano
2008
Provas
Disciplina
Engenharia de Software
Assuntos

Considere as seguintes afirmativas sobre o conceito de Evento Externo (EE) como usado na Análise Essencial de Sistemas:

I- Um EE ocorre no ambiente interno do sistema.
II- Um EE requer uma resposta do sistema.
III- Toda resposta a um EE não deve alterar a memória essencial do sistema.

A(s) afirmativa(s) correta(s) é/são somente:

Alternativas
Comentários
  • Entrada externa é uma transação para manter os dados no sistema. Dessa forma não é interna e geralmente altera a memória essencial do sistema.


ID
488686
Banca
NCE-UFRJ
Órgão
UFRJ
Ano
2008
Provas
Disciplina
Engenharia de Software
Assuntos

Considere as seguintes afirmativas sobre o conceito de Modelo de Implementação (MI) como usado na Análise Essencial de Sistemas:

I- O modelo essencial de um sistema deve estar associado a um e somente um MI.
II- O MI não deve levar em consideração as possíveis falhas internas do sistema.
III- O MI deve levar em consideração os tempos de processamento da resposta aos eventos externos.

A(s) afirmativa(s) correta(s) é/são somente:

Alternativas
Comentários
  • O modelo de implementação é derivado do modelo essencial, apresenta o sistema num nível de abstração completamente dependente de restrições tecnológicas, logo, preocupa-se com falhas do sistema, tempo de execução entre outros.