SóProvas



Prova CESGRANRIO - 2009 - BNDES - Profissional Básico - Análise de Sistemas - Desenvolvimento


ID
142192
Banca
CESGRANRIO
Órgão
BNDES
Ano
2009
Provas
Disciplina
Banco de Dados
Assuntos

Considere as proposições abaixo, a respeito de Bancos de Dados.

I - Uma das técnicas para armazenamento de dados dimensionais é a organização de tabelas, segundo o Esquema Estrela. Em bases de dados, que atendem a esse esquema, podem-se encontrar tabelas que não atendam à Terceira Forma Normal.
II - Bases de dados de apoio à tomada de decisão armazenam grande quantidade de dados. Por isso, não é recomendável a criação de índices em tais bases de dados.
III - Em gerenciadores de bancos de dados multidimensionais podem ser encontrados operadores que permitem percorrer hierarquias existentes. Dentre tais operadores estão o de Drill Down e o de Drill Up.
IV - O procedimento de Extração, Transformação e Carga (também conhecido por ETL) é um dos processos realizados em ambientes de depósitos de dados (data warehouse). Nesse contexto, a Extração se refere à tarefa de retirada de dados do data warehouse (visando a reduzir os dados antigos); a Transformação se refere ao processo de compactação de dados, e a Carga se refere à tarefa de inclusão de novos dados no data warehouse.
V - Uma das características de bases de dados de apoio à tomada de decisão é a necessidade de armazenarem dados que refletem sempre a situação atual do assunto que representam. Nesse tipo de base de dados, quaisquer informações que não sejam atuais podem ser descartadas, pois não auxiliam em uma boa tomada de decisão.

Estão corretas APENAS as afirmativas

Alternativas
Comentários
  •   I - Uma das técnicas para armazenamento de dados dimensionais é a organização de tabelas, segundo o Esquema Estrela. Em bases de dados, que atendem a esse esquema, podem-se encontrar tabelas que não atendam à Terceira Forma Normal.

    - Correto

    II - Bases de dados de apoio à tomada de decisão armazenam grande quantidade de dados. Por isso, não é recomendável a criação de índices em tais bases de dados.
    - A criação de índices seria uma melhoria dada a quantidade muito grande de dados

    III - Em gerenciadores de bancos de dados multidimensionais podem ser encontrados operadores que permitem percorrer hierarquias existentes. Dentre tais operadores estão o de Drill Down e o de Drill Up.
    - Correto, Drill Up também é conhecido como Roll Up

    IV - O procedimento de Extração, Transformação e Carga (também conhecido por ETL) é um dos processos realizados em ambientes de depósitos de dados (data warehouse). Nesse contexto, a Extração se refere à tarefa de retirada de dados do data warehouse (visando a reduzir os dados antigos); a Transformação se refere ao processo de compactação de dados, e a Carga se refere à tarefa de inclusão de novos dados no data warehouse.
    - O conceito de ETL está associado a criação de um data warehouse. A extração é feita em diversas bases, logo após a transformação irá padronizar os dados que por último serão carregados no data warehouse.

    V - Uma das características de bases de dados de apoio à tomada de decisão é a necessidade de armazenarem dados que refletem sempre a situação atual do assunto que representam. Nesse tipo de base de dados, quaisquer informações que não sejam atuais podem ser descartadas, pois não auxiliam em uma boa tomada de decisão.
    - Bases de dados que estão relacionada a tomada de decisão estão diretamente relacionadas com dados históricos e não com dados extremamente atuais, pois para uma boa tomada de decisão é preciso principalmente de dados que mostrem como a organização se comportou durante um determinado tempo.


ID
142195
Banca
CESGRANRIO
Órgão
BNDES
Ano
2009
Provas
Disciplina
Banco de Dados
Assuntos

Sobre bases de dados relacionais, é INCORRETO afirmar que

Alternativas
Comentários
  •  Preciso descordar da opção "d", pois uma Chave Estrangeira pode conter valor nulo.  Ex.: Auto-Relacionamento, onde um funcionário não é gerenciado por outro, fazendo com que a FK do Gerente esteja nula para a Tupla do Funcionário Gerenciado.

  • Tb discordo. Chave estranheira pode ter valor null. A palavra "obrigatoriamente" matou a questão.
  • To estudando pra prova da Cesgranrio e to vendo como ta F!#$$%, entender os valores dessa banca. Questões muito incongruentes.
  • Concordo que a letra D não esteja com o conceito de chave estrangeira completo, pois ela pode ter valores nulos e pode referenciar atributo da mesma tabela, porém a letra E está completamente errada.

     e) chaves-candidatas são formadas por colunas cujos conjuntos de valores NÂO podem se repetir em diferentes linhas das tabelas e, por isso, não se pode definir uma chave-primária em tais colunas.
  • Pessoal, a questão é de interpretação. A questão não diz que uma chave estrangeira não pode ser nula, ela diz que chave-estrangeira determinam conjunto de atributos" e que QUANDO eles existirem "devem OBRIGATORIAMENTE corresponder a valores existentes em atributos das tabelas referenciadas". Quando existir um valor, é OBRIGATÓRIO ele estar relacionado a uma tabela.

    Foi assim que eu interpretei.

ID
142198
Banca
CESGRANRIO
Órgão
BNDES
Ano
2009
Provas
Disciplina
Governança de TI
Assuntos

Equipamentos mais modernos foram instalados na rede de uma empresa. No entanto, os usuários reclamaram de lentidão nas aplicações e ouviram falar que isso está relacionado ao planejamento da capacidade. Segundo o ITIL v3, esses usuários devem entrar em contato com a

Alternativas
Comentários
  • Conceito SPOC(Single Point of Contact), o único ponto de contato do usuário/clientes com a TI é pela Central de serviços (Service desk)

     

  • A Central de Serviços é responsável por ser o único ponto de contato da TI com o cliente ou usuário.

    http://img291.imageshack.us/img291/245/centralt.png

    • É uma função e não um processo!
    • Tem como principal objetivo ser o ponto central de contato entre os usuários e o departamento de TI.
    • Outros objetivos:

    - Restaurar os serviços sempre que possível.

    - Gerenciar todos os incidentes até o seu encerramento. É a proprietária dos incidentes.
    - Monitorar o cumprimento dos SLA (acordos de nível de serviço).
    - Dar suporte a mudanças, fornecendo comunicação aos usuários sobre o agendamento de mudanças.
    - Maximizar a disponibilidade dos serviços.
    - Aumentar a satisfação do usuário provendo um suporte de maior qualidade.
     

ID
142201
Banca
CESGRANRIO
Órgão
BNDES
Ano
2009
Provas
Disciplina
Governança de TI
Assuntos

Determinada empresa reconhece que é necessário definir um plano estratégico de TI; contudo, não existem processos padronizados para isso, e a abordagem da administração, em geral, não é organizada. O processo COBIT em questão encontra-se no nível de maturidade

Alternativas
Comentários
  • Segundo o Cobit 4.1: 

    0 inexistente – Completa falta de um processo reconhecido. A empresa nem mesmo reconheceu que existe uma questão a ser trabalhada.

    1 inicial / Ad hoc –  Existem evidências que a empresa reconheceu que existem questões e que precisam ser trabalhadas. No entanto, não existe processo padronizado; ao contrário, existem enfoques Ad Hoc que tendem a ser aplicados individualmente ou caso-a-caso. O enfoque geral de geren- ciamento é desorganizado.

    2 repetível, porém intuitivo – Os processos evoluíram para um estágio onde procedimentos similares são seguidos por diferentes pessoas fazendo a mesma tarefa. Não existe um treinamento formal ou uma comunicação dos procedimentos padronizados e a responsabilidade é deixado com o indiví- duo. Há um alto grau de confiança no conhecimento dos indivíduos e conseqüentemente erros podem ocorrer.

    3 Processo definido – Procedimentos foram padronizados, documentados e comunicados através de treinamento. É mandatório que esses processos sejam seguidos; no entanto, possivelmente desvios não serão detectados. Os procedimentos não são sofisticados mas existe a formalização das práticas existentes.

    4 Gerenciado e Mensurável – A gerencia monitora e mede a aderência aos procedimentos e adota ações onde os processos parecem não estar fun- cionando muito bem. Os processos estão debaixo de um constante aprimoramento e fornecem boas práticas. Automação e ferramentas são utilizadas de uma maneira limitada ou fragmentada.

    5 otimizado – Os processos foram refinados a um nível de boas práticas, baseado no resultado de um contínuo aprimoramento e modelagem da maturidade como outras organizações. TI é utilizada como um caminho integrado para automatizar o fluxo de trabalho, provendo ferramentas para aprimorar a qualidade e efetividade, tornando a organização rápida em adaptar-se.

     

  • Só o fato de a empresa reconhecer a necessidade de melhorar e ordenar seus processos, já a põe no nível 1 de maturidade nestes processos.

ID
142204
Banca
CESGRANRIO
Órgão
BNDES
Ano
2009
Provas
Disciplina
Redes de Computadores
Assuntos

Uma organização adquiriu um software de comunicação de voz que utiliza UDP como protocolo de transporte para que os funcionários se comuniquem, quando necessário, por meio da rede IP interna da empresa. Com base nessas informações, analise as afirmativas a seguir.

I - Se ocorrer erro em um único segmento UDP, o áudio da conversa será, necessariamente, afetado com ruído.
II - Se um segmento UDP chegar fora de ordem ao destino, um segmento RST será enviado à origem para que a conexão seja reordenada.
III - Com o UDP, é possível que a origem e o destino estejam em subredes IP diferentes.

Está(ão) correta(s) APENAS as afirmativas

Alternativas
Comentários
  • I - Em comunicações de áudio e vídeo a perda de um pacote não irá afetar a comunicação, já que nesse tipo interação o mais importante é a a velocidade, por isso é usado o UDP.

    II - A descrição feita é referente ao TCP e não ao UDP.

    III - Correto! Não só no UDP, mas em qualquer protocolo é possível comunicação entre sub-redes, desde que seja intermediada por um roteador.
  • Wesley,

    Permita-me acrescentar que, perda de segmentos UDP influencia sim, mas depende da taxa. A questao menciona que apenas UM SEGMENTO foi perdido. Neste caso, a perda é insignificante.
  • Bem, mas no caso de erro em um segmento, a mensagem chegará com erro. Ainda que seja imperceptível, ocorre ruído na transmissão. Estou certo?
  • Penso que o item I é correto, já que um segmento não irá prejudicar tanto o resultado final.
  • I - Se ocorrer erro em um único segmento UDP, o áudio da conversa será, necessariamente, afetado com ruído
    O item foi conisderado errado por esta palavrinha: NECESSARIAMENTE, tirando ela ta tudo certo.

ID
142207
Banca
CESGRANRIO
Órgão
BNDES
Ano
2009
Provas
Disciplina
Arquitetura de Computadores
Assuntos

Um disco rígido X gasta 30 segundos para realizar a leitura de Z, que é um arquivo. Se um disco rígido Y tem um desempenho de leitura 50% superior em relação a X, em quantos segundos Y realiza a leitura de Z?

Alternativas
Comentários
  •  Gabarito: C

    A questão afirma que o disco Y tem um desempenho de leitura 50% superior em relação ao disco X, ora se o tempo gasto por X é de 30 segundos, então o valor de leitura do disco Y terá que ser um tempo que somado a sua metade resulte em 30, é o caso do valor 20, pois a metade de 20 é 10 e 20 + 10 = 30.

  • Outra forma de calcular seria: se X gasta 30 segundos pra ler Z,  e como  Y possui desempenho  50% melhor:  30  /  1,50 = 20

  • Dizer que o desempenho de y é 50 % superior ao desempenho de x é o mesmo que dizer que o desempenho de y acrescido de 50% é igual ao desempenho de x.

    Sendo dx o desempenho de x e dy o desempenho de y, então:
    dy + 0.5dy = dx
    1.5dy = dx
    Se dx = 30s, temos: dy = 30/1.5 = 20s  resposta da letra C

  • Temos a grandeza  desempenho (D) e a grandeza tempo (T). Quando o desempenho aumenta, o tempo diminui já que estamos efetuando a operação mais rapidamente, por isto as duas grandezas são inversamente proporcionais.

    Logo aplica-se a Regra de três simples inversa:

    D         T
    100     30
    150     X


    30 * 100 = 150X

    X = 3000/150=20



     

  • Y tem o desempenho 50% maior do que X. Logo:
    30 segundos equivale a 150% do tempo
    x segundos equivale a 100% do tempo

    Fazendo uma regra de três:
    30 - 150
    x   - 100
    Resposta: 20

ID
142210
Banca
CESGRANRIO
Órgão
BNDES
Ano
2009
Provas
Disciplina
Arquitetura de Computadores
Assuntos

Se uma máquina possui endereçamento virtual de 48 bits e tamanho de página igual a 4 KB, quantas entradas são necessárias para a tabela de páginas?

Alternativas
Comentários
  • 1 - Como a máquina possui 48 bits de endereçamento virtual, significa que ela poderá identificar um endereço de memória até a posição 248.

    2 - Cada página possui um tamanho de 4KB, ou seja, cada página ocupa um espaço igual a 22x210 (212) bits

    OBS.: "B" deveria significar Byte, mas erroneamente  nessa questão foi considerado como bit.

    Para saber quantas entradas são necessárias para a tabela de páginas, basta dividir o tamanho do endereço virtual pelo tamanho da página, ou seja:

    248/212 = 236 entradas.

     

  • 1 - Como a máquina possui 48 bits de endereçamento virtual, significa que ela poderá endereçar 248 posições na memória. Quando nada é sugerido, considera-se que uma posição endereçável da memória contém um byte armazenado, ou seja, oito bits.

    2 - Cada página possui um tamanho de 4KB, ou seja, cada página ocupa um espaço igual a 22x210 (212) bytes

    OBS.: "B" maiúsculo significar Byte, "b" minúsculo significa bits.

    Para saber quantas entradas são necessárias para a tabela de páginas, ou seja, qual o tamanho do vetor da tabela de páginas, basta dividir o tamanho do endereço virtual pelo tamanho da página, ou seja:

    248/212 = 236 entradas.
     


ID
142213
Banca
CESGRANRIO
Órgão
BNDES
Ano
2009
Provas
Disciplina
Engenharia de Software
Assuntos

O principal sistema de informação de uma empresa, desenvolvido internamente, contém regras de negócio no código da interface de usuário. Qual a técnica de refatoração que o arquiteto de software pode indicar para melhorar consideravelmente o sistema nesse caso?

Alternativas
Comentários
  • Tease Apart Inheritance quando você tem uma hierarquia de herança que realiza dois trabalhos ao mesmo tempo.

    Convert Procedural Design to Objects quando você tem código escrito em estilo procedural.

    Separate Domain from Presentation quando você tem classes de GUI que contém lógica do domínio.

    Extract Hierarchy quando você tem uma classe que está fazendo muito trabalho, principalmente através de muitos comandos condicionais
  • Martin Fowler sugere com a técnica de PresentationDomainSeparation "[...] keeping a good separation between the presentation aspects of a program (the user interface) and the rest of the functionality. "

    "[...] Presentation logic and domain logic are easier to understand when separate. [...]"

    "[...] You can support multiple presentations on the same base program without duplicating code. [...]"

    "[...] Despite these many advantages, I often see this principle violated. I think this is partly due to lack of knowledge, and partly due to the fact that many frameworks make it much too easy to intermix domain logic into the presentation, and make it harder to maintain the separation. [...]"

    Fonte: https://martinfowler.com/bliki/PresentationDomainSeparation.html

     

     

     

     


ID
142216
Banca
CESGRANRIO
Órgão
BNDES
Ano
2009
Provas
Disciplina
Sistemas Operacionais
Assuntos

Um Sistema de Informação foi desenvolvido de maneira a utilizar múltiplas linhas de controle. Dessa maneira, a cada requisição de usuário, o sistema cria uma thread para atendimento. Essa thread criada compartilha com outras threads pertencentes ao mesmo processo, que é o(a)

Alternativas
Comentários
  • Threads compartilham com outros threads pertencentes ao mesmo processo:
    * sua seção de código;
    * seção de dados ;e
    * outros recursos do sistema operacional, tais como arquivos abertos e sinais.
  • Retirado do Livro "Sistemas Operacionais com Java", do Silberschatz, 7ª edição, pág. 97:
    Uma thread "compreende um ID de thread, um contador de programa, um conjunto de registradores e uma pilha."  Como o texto fala claramente que cada thread possui individulamente cada um desses recursos, as Letras A), B), C), e E) já podem ser eliminadas.
    O texto ainda diz "Além disso, (cada thread) compartilha com outras threads pertencentes a um mesmo processo sua seção de código, seção de dados e outros recursos do sistema operacional, como arquivos abertos e sinais." indicando, portanto, a letra D) como resposta correta
  • Threads não compartilham entre si contexto de hardware. Elas compartilham contexto de software e endereçamento.
  • Sempre importante ressaltar as diferenças entre processos e threads. A primeira coluna contem os itens por processos; ja a segunda coluna contem os itens exclusivos de cada thread. Ou seja, cada thread possui seu proprio PC, registradores, sua pilha e seu estado(e esses itens não são compartilhados com as demais).Já os outros itens são compartilhados entre elas. Dizer q uma thread compartilha um arquivo aberto, significa dizer q várias threads podem acessar um mesmo arquivo. O mesmo ocorre com um espaço de endereçamento(várias threads, desde q de um mesmo processo, podem  acessar um mesmo endereço de memoria).

    ITENS POR PROCESSOS: Espaço de endereçamento; Variáveis globais; Arquivos abertos; Processos filhos;  Alarmes pendentes; Sinais e tratadores de sinais; Informação de contabilidade.      

    ITENS POR THREADS: Contador de programas; Registradores; Pilha; Estado.
  • Uma thread compartilha, com outros threads pertencentes ao mesmo processo, códigodadosarquivos abertos sinais.

    Alternativa: D


ID
142219
Banca
CESGRANRIO
Órgão
BNDES
Ano
2009
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

Seja n o tamanho da entrada de um algoritmo para um problema P. Cada alternativa, que corresponde a um algoritmo distinto, apresenta o número de operações necessárias para resolver P. Considerando-se a análise assintótica (Big O notation), qual algoritmo possui menor complexidade?

Alternativas
Comentários
  • A ordem de cima ai esta errada. O correto é:

    O(1) -> O(logn) -> O (n) -> O (nlog n) -> O(n^2) -> O (n^3) -> O (2^n ) -> O (n!)
  • Lembrando que:
    • O(2 + 10log n) = O(log n)
    • O(3n2+n) = O(n2)
    • O(1000+2n3) = O(n3)
    • O(5n+128) = O(n)
    • O(4n)
    Em ordem crescente de complexidade temos:
    • O(log n) < O(n) < O(n2) < O(n3) < O(4n)
  • Ilustrando os comentários acima:
  • Cabe colocar também algumas das principais estruturas de dados/algoritmos de busca quanto à sua complexidade:
  • Simplificando :

    (A) 2 + 10log n - Complexidade logarítmica

    (B) 3n2 + n - Complexidade quadrática

    (C) 1000 + 2n3 - Complexidade cúbica

    (D) 5n + 128 - Complexidade linear

    (E) 4n    - Complexidade exponencial

    A resposta correta é letra (A), pois dentre as complexidades das alternativas da questão a logarítmica é a menor.
    Como informa a tabela do colega acima postada.


  • 1 PASSO: eliminar os números (eliminação em vermelho):

    (A) 2 + 10logn
    (B) 3n2 + n
    (C) 1000 + 2n3
    (D) 5n + 128
    (E) 4n

     

    2 PASSO: eliminar as funções menos complexas em detrimento as mais complexas (eliminação em negrito):

    (A) 2 + 10logn
    (B) 3n2 + n (OBSERVE AQUI QUE O MAIS COMPLEXO SEMPRE ELIMINARÁ O MENOS COMPLEXO, PORTANTO O n ta FORA)
    (C) 1000 + 2n3
    (D) 5n + 128
    (E) 4n

     

    3 PASSO: Analisar os resultados e assinalar qual é o mais complexo:

    (A) 2 + 10logn ----> logn (ESSE É O RESULTADO COM A FUNÇÃO MENOS COMPLEXA, PORTANTO É O GABARITO)
    (B) 3n2 + n ---> n2
    (C) 1000 + 2n3 ---> n3
    (D) 5n + 128 ---> n
    (E) 4n ---> 4n

     

    --------------------------------------------------------------------------------------------------------------------------------------

    A tabela que tem que ter tatuada no cerebro:

     

    CONSTANTE  | LOGARITMO | LINEAR  | NLOGN  | quadrática    |cúbica | EXPONENCIAL
    1                      | logn                | n             | nlogn     | n2                  |n3        | an

     

    OBS. A complexidade vai aumentando, ou seja, CONSTANTE 1 é a menos complexa, já a exponencial é a mais complexa

    --------------------------------------------------------------------------------------------------------------------------------------


ID
142222
Banca
CESGRANRIO
Órgão
BNDES
Ano
2009
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

Seja S uma pilha inicialmente vazia. Primeiramente, o elemento A é inserido em S. Em seguida, o elemento B, e assim por diante, até a inclusão final do elemento E. Ao término dessas operações, qual elemento estará no topo de S?

Alternativas
Comentários
  • Primeiro que entra é o último que saí. Assim o E que foi o ultimo a entrar será o primeiro a sair

  • Toda inserção e remoção da pilha é realizada no topo da mesma.

    0) Inicialmente a pilha S está vazia

    |     | <---- Topo da pilha
    -----

    1) Insere o elemento A na pilha S

    | A | <---- Topo da pilha
    -----

    2) Insere o elemento B na pilha S

    | B | <---- Topo da pilha
    -----
    | A |
    -----

    3) Insere o elemento C na pilha S

    | C | <---- Topo da pilha
    -----
    | B |
    -----
    | A |
    -----

    4) Insere o elemento D na pilha S

    | D | <---- Topo da pilha
    -----
    | C |
    -----
    | B |
    -----
    | A |
    -----

    5) Insere o elemento E na pilha S

    | E | <---- Topo da pilha
    -----
    | D |
    -----
    | C |
    -----
    | B |
    -----
    | A |
    -----
  • RESOLUÇÃO:

    0) Inicialmente a pilha S está vazia

    |  | <---- Topo da pilha

    -----

    1) Insere o elemento A na pilha S

    | A | <---- Topo da pilha

    -----

    2) Insere o elemento B na pilha S

    | B | <---- Topo da pilha

    -----

    | A |

    -----

    3) Insere o elemento C na pilha S

    | C | <---- Topo da pilha

    -----

    | B |

    -----

    | A |

    -----

    4) Insere o elemento D na pilha S

    | D | <---- Topo da pilha

    -----

    | C |

    -----

    | B |

    -----

    | A |

    -----

    5) Insere o elemento E na pilha S

    E | <---- Topo da pilha

    -----

    | D |

    -----

    | C |

    -----

    | B |

    -----

    | A |

    -----

    Resposta: E


ID
142228
Banca
CESGRANRIO
Órgão
BNDES
Ano
2009
Provas
Disciplina
Governança de TI
Assuntos

Seja X um processo introduzido no nível de maturidade C do MPS.BR. Segundo o modelo de referência MR-MPS 1.2, X compõe, necessariamente, os processos do nível de maturidade

Alternativas
Comentários
  • Se X faz parte do nível C, então, X compõe, necessariamente, os processos do nível de maturidade B, pois cada nível de maturidade acumula os processos do nível imeditamente inferior. 

    O MPSBr inicia pela letra G e evolui até a letra A, a saber:
    A - Em Otimização
    B - Gerenciado Quantitativamente
    C - Definido
    D - Largamente Definido
    E - Parcialmente Definido
    F - Gerenciado
    G - Parcialmente Gerenciado

    Em outro exemplo:

    Se X fizesse parte do nível G, então, X comporia, necessariamente, os processos do nível de maturidade F, pois cada nível de maturidade acumula os processos do nível imeditamente inferior. 

  • Questão de Lógica!!! teoria dos conjuntos.

  • Se um processo está no nível B, significa que ele engloba os processos do nível C.
    A questão está falando a mesma coisa na ordem inversa, explico:

    Os processos do nível C são englobados pelos processos do nível B.

    Lembrar que para atingir um nível de maturidade mais elevada, é necessário atingir cumulativamente os níveis inveriores.
    Para atingr o nível C, é necessário atingir o nível G,F,E,D
  • Questão bem interessante, onde é importante observar que um nivel superior engloba os inferiores, como no MPS-BR os niveis são ordenados de forma crescente partindo do G  até o Nivel A que é o mais alto, fica claro que apenas o Nivel B esta acima de C.

    claro que seria possivel resorver de forma logica  aunica letra que ve antes do C, mas não dá pra confiar sempre na logica , pois na TI nem tudo tem logica , menos ainda nas questões de concurso ... então vamos estudar ...
  • Está no nível B pois a organização já está no nível C e estamos inserindo um novo processo, ou seja, ele estaria no B ou no A, como não temos uma opção A, então a resposta é B
  • A questão cria uma armadilha para interpretar errado.

    Seja um processo introduzido (numa organização que já se encontra) no nível de maturidade C do MPS.BR. Segundo o modelo de referência MR-MPS 1.2, compõe, necessariamente, os processos do nível de maturidade.

    Ao ler a questão subentendendo o que está nos parênteses, fica mais fácil responder.
  • O processo X faz parte de C e compõe (compõe = faz parte) processos acima dele. Ou seja, X está contido nos processos de B e A.


ID
142231
Banca
CESGRANRIO
Órgão
BNDES
Ano
2009
Provas
Disciplina
Engenharia de Software
Assuntos

Determinado projeto de software utiliza XP (eXtreme Programming) como metodologia de desenvolvimento. A esse respeito, é INCORRETO afirmar que

Alternativas
Comentários
  • A programação em pares NÃO dispensa o desenvolvimento orientado a testes no projeto

  • Continuous Integration - Os diversos módulos do software são integrados diversas vezes por dia e todos os testes unitários são executados. O código não passa até obter sucesso em 100% dos testes unitários.

    Sendo assim, a programação em pares não tem porque dispensar o desenvolvimento orientado a testes no projeto, muito pelo contrário a programação em pares ajuda nos testes pois o código a qualquer momento está na forma mais simples para que passe em todos os testes (simple design).

  • Achava que "os integrantes da equipe se reúnem rapidamente no início do dia, de preferência em pé." era apenas característica do SCRUM, mas 
    concordo que a letra D tá mt errada. 
  • XP, RUP e SCRUM utilizam TDD.
  • A prática da programação em par permite que o código seja revisado permanentemente enquanto é construído. A programação em par é um mecanismo de validação do que está sendo construído. Por esse motivo não existe uma fase específica de teste, e acredito que tenha sido esse o foco do avaliador.

ID
142234
Banca
CESGRANRIO
Órgão
BNDES
Ano
2009
Provas
Disciplina
Engenharia de Software
Assuntos

Determinado módulo de um sistema financeiro foi estimado em 330 pontos de função não ajustados, utilizando-se a Análise de Pontos de Função. Considerando-se o nível de influência geral igual a 25, qual o total de pontos de função ajustados?

Alternativas
Comentários
  • Dados para o cálculo:

    - Pontos de função não ajustados = 330
    - Nível de influência = 25

    Fator de ajuste = 0,65 + ( Nível de influência * 0,01 ) = 0,9

    Pontos de função ajustados = Pontos de função não ajustados * Fator de ajuste =  330 * 0,9 = 297

     

     


ID
142237
Banca
CESGRANRIO
Órgão
BNDES
Ano
2009
Provas
Disciplina
Engenharia de Software
Assuntos

Na estimativa de um sistema de vendas de livros na Internet, mais de 35% das transações são entradas de dados on-line. De acordo com a Análise de Pontos de Função, que valor deve ser atribuído à característica "Entrada de dados on-line" para o cálculo do nível de influência geral desse sistema?

Alternativas
Comentários
  • 0 - Todas as transações são processadas em lote

    1 - De 1% a 7%

    2 - De 8% a 15%

    3 - De 16% a 23%

    4 - De 24% a 30%

    5 - Mais de 30%

  • O cálculo do NI (Nível de Influência) é baseado em considerações sobre 14 características:

    01 Comunicação de dados
    02 Funções distribuídas
    03 Performance
    04 Configuração do equipamento
    05 Volume de transações
    06 Entrada de dados on-line (característica mencionada na questão)
    07 Interface com o usuário.
    08 Atualização on-line
    09 Processamento complexo
    10 Reusabilidade
    11 Facilidade de implantação
    12 Facilidade operacional
    13 Múltiplos locais
    14 Facilidade de mudanças (flexibilidade)

    Cada uma dessas características permite que se atribuam pesos de 0 a 5, que influenciarão no cálculo do NI.
    Mais detalhes: http://sergiolaranja.net63.net/Blog/Livros/ManualdeContagemdePontosdeFuncao.pdf, página 14
  • ítem 6/14 (6 de 14) do Nível de influencia: "Entrada de dados Online"

    0 -->Entradas em lote
    1-->1 a 7%
    2-->8 a 15%
    3-->16 a 23%
    4-->24 a 30%
    5--> >30%

    Como ele fala que "(...)mais de 35% das transações são entradas de dados on-line(..)", logo ítem 5.

    galera isso dai é decoreba puro mesmo.... não tem jeito!! decorar estes valores para os 14 itens de nivel de influencia nao vale a pena..

    o negocio é "dar sorte" na prova.. fazer o que!


ID
142243
Banca
CESGRANRIO
Órgão
BNDES
Ano
2009
Provas
Disciplina
Engenharia de Software
Assuntos

A gerência de desenvolvimento de sistemas de uma empresa está reformulando seu processo de software. Para isso, deseja criar uma metodologia de desenvolvimento baseada no Processo Unificado. A respeito desse processo, é INCORRETO afirmar que o(a)

Alternativas
Comentários
  • A fase de elaboração possui como marca a arquitetura da solução, para validar a arquitetura é importante implementar o caso de uso mais critico.
  • Os casos de uso mais criticos, entenda-se mais dificil de serem resolvidos/implementados, geralmente vao ser o núcleo do sistema ou função mais importante, devem ser implementados primeiro. com isso o problema com maior risco de ser resolvido se resolve no comeco do projeto. Com isso desperdicios de tempo e dinheiro com o desenvolvimento de partes simples do projeto nao acontecem caso a equipe falhe em fazer o principal do projeto.
  • Os casos de uso mais críticos são atacados primeiro no RUP, com a justificativa de que eles definem a arquitetura, que deve ser estabilizada logo.

    No XP as funcionalidades mais críticas são atacadas por último, com a justificativa de que os requisitos são instáveis e tudo pode ser mudado, então existe a chance de uma funcionalidade com grande impacto na arquitetura sofrer mudanças de requisito.

ID
142246
Banca
CESGRANRIO
Órgão
BNDES
Ano
2009
Provas
Disciplina
Engenharia de Software
Assuntos

Na modelagem de determinado sistema de informação, um objeto remetente X deve ficar bloqueado até que o objeto destinatário Y termine de atender à requisição. Na UML, que tipo de mensagem é indicada para representar a situação descrita?

Alternativas
Comentários
  • Letra B

     Mensagens Síncronas

     

     

    Mensagens síncronas são mensagens que implicam um sincronismo rígido entre os estados do objeto que envia a mensagem e os do objeto de destino da mensagem. Um sincronismo entre objetos pode ser entendido, de uma forma geral, como uma dependência na evolução de estado de um objeto sobre o estado de um segundo objeto. De uma forma mais direta, pode-se dizer que uma mensagem síncrona implica que o objeto que enviou a mensagem aguarde a conclusão do processamento da mensagem (entendida como um sinal de sincronismo) feito pelo objeto destino, para então prosseguir seu fluxo de execução. 

     

    Mensagens Assíncronas

     

    Mensagens assíncronas são mensagens enviadas de um objeto a outro sem que haja uma dependência de estado entre os dois objetos. O objeto de origem envia a mensagem e prossegue seu processamento independentemente do tratamento da mensagem feita no objeto destino.

     

  • Mensagem síncrona -  objeto remetente X não executada nada e não segue seu fluxo até que o objeto destinatário Y responda à mensagem
    Mensagem assíncrona -  objeto remetente X segue seu fluxo/executa outras atividades e não aguarda até que o objeto destinatário Y responda à mensagem

ID
142249
Banca
CESGRANRIO
Órgão
BNDES
Ano
2009
Provas
Disciplina
Arquitetura de Software
Assuntos

Por motivo de segurança, deseja-se adicionar registro (log) das operações efetuadas no sistema de contabilidade de uma empresa. O arquiteto do sistema decide que deve existir somente uma instância de uma classe de registro (log) e que esta será o ponto de acesso global para os demais componentes do sistema. Que padrão de projeto pode ser utilizado nesse caso?

Alternativas
Comentários
  • Interator: é um padrõa GoF do tipo comportamental que permite a interação e um modo de acesso a elementos de agregados de objetos, sequencialmente, sem exposição das estruturas internas.

    Visitor: è um padrõa GoF do tipo comportamental que permite que se crie uma nova operação sem que se mude as classes dos elementos sobre os quais ela opera. É uma maniera de separar a algoritmo da estrutura de um objeto.

    Bridge: é um padrõa GoF do tipo estrutural e é utilzado quando se deseja que uma interface (abstração) possa variar independente de sua implementação.

    Memento: è um padrõa GoF do tipo comportamental que permkite armazenar o estado interno do objeto em um determinado momento para que seja possível retornar a este estado quando necessário.

    Singleton: é um padrõa GoF de criação que garante a existencia de apenas uma instância deuma classe, mantendo um ponto global de acesso ao objeto.

ID
142252
Banca
CESGRANRIO
Órgão
BNDES
Ano
2009
Provas
Disciplina
Arquitetura de Software
Assuntos

Sobre o padrão arquitetural Gateway de linha de dados (Row Data Gateway), é INCORRETO afirmar que

Alternativas
Comentários
  • Row Data Gateway é um design pattern que utiliza um objeto que representa exatamente uma linha de registro do banco de dados em memória. A estrutura dessa entidadade é exatamente igual a estrutura física da tabela de modelo relacional. O gateway torna-se uma interface entre a apliacação e o registro, encapsulando a programação de acesso ao banco de dados. A sua implementação e consumo pode ser realizado de diversas maneiras, considerando o modelo utilizado em sua aplicação para organizar as layers e suas responsabilidades.

    Fonte(http://marcobaccaro.wordpress.com/2010/07/10/row-data-gateway/)
  • Row Data Gateway é um design pattern que utiliza um objeto que representa exatamente uma linha de registro do banco de dados em memória. A estrutura dessa entidadade é exatamente igual a estrutura física da tabela de modelo relacional. O gateway torna-se uma interface entre a apliacação e o registro, encapsulando a programação de acesso ao banco de dados. A sua implementação e consumo pode ser realizado de diversas maneiras, considerando o modelo utilizado em sua aplicação para organizar as layers e suas responsabilidades.
    O importante é termos em mente que, algum método será responsável em retornar um objeto Gateway ou uma coleção do mesmo. A semelhança entre o padrão Gateway e o Active Record é grande, o ponto crucial entre eles é que o Gateway é 100% algoritmo de persistência do registro e 0% de regra de negócio.
  • Row Data Gateway

    O problema

    Como representar registros de uma tabela do banco de dados na aplicação?

    Soluções possíveis

    Existem diversas soluções propostas para esse problema. Uma delas defende que, por facilidade na codificação, tanto os dados, quanto as operações sobre eles, quanto a lógica do negócio deve permanecer no mesmo objeto. Essa abordagem é chamada de Active Record. No mundo Java, esse pattern é bastante difundido através do framework Hibernate. Para PHP existe o Doctrine.


ID
142255
Banca
CESGRANRIO
Órgão
BNDES
Ano
2009
Provas
Disciplina
Engenharia de Software
Assuntos

Considere as informações a seguir, referentes à modelagem de um sistema de informação.

1. Classe Pessoa é generalização das classes Aluno e Professor.
2. Classe ProfessorMestre é especialização da classe Professor.

Que diagrama de classes UML representa corretamente a situação em questão?

Alternativas
Comentários
  • Generalização e especialização indicam um mesmo relacionamento, mas com sentido inverso: Se A é generalização de B, então B é especialização de A.

    Portanto, generalização e especialização são representados pela mesma figura de relacionamento: seta com cabeça branca e linha cheia (não-pontilhada).

ID
142258
Banca
CESGRANRIO
Órgão
BNDES
Ano
2009
Provas
Disciplina
Engenharia de Software
Assuntos

No ciclo de vida em cascata, o custo de correção é menor na fase de

Alternativas
Comentários
  • No ciclo de vida em cascata os custos aumentam à medida que as fases avançam.
  • Um erro identificado na fase final do ciclo de vida em cascata pode representar de 60-100 vezes o custo para corrigi-lo se fosse identificado logo no início na fase de requisitos.

ID
142261
Banca
CESGRANRIO
Órgão
BNDES
Ano
2009
Provas
Disciplina
Banco de Dados
Assuntos

Entity EJB e o statement SQL "SELECT FOR UPDATE" são técnicas para se implementar o padrão arquitetural

Alternativas
Comentários
  • Gabarito: C

    SELECT FOR UPDATE é bloqueio pessimista de linhas, pois todas as linhas que estão sendo modificadas são bloqueadas pelo usuário e ninguém mais pode realizar alterações até que o bloqueio (lock) seja liberado.

  •  OBS: Repare que isso não tem haver com Java e sim banco de dados. É um bloqueio pessimista por "travar" as linhas da tabela evitando seu acesso.

  • Pessoal,
    retirado diretamente do livro do Fowler:

    "Pessimistic Offline Lock

    by David Rice

    Prevents conflicts between concurrent business transactions by allowing only one business transaction at a time to access data.
    "
  • Há cinco formas modos de bloqueio JPA com LockModeType :
    OPTIMISTIC
    OPTIMISTIC_FORCE_INCREMENT
    PESSIMISTIC_READ
    PESSIMISTIC_WRITE
    PESSIMISTIC_FORCE_INCREMENT

    O código Java:
    entityManager.find(Department.class, 1, LockModeType.PESSIMISTIC_WRITE);

    Produz a seguitne tradução SQL:
    SELECT ID, NAME, VERSION FROM DEPARTMENT WHERE ID = 1 FOR UPDATE;


ID
142264
Banca
CESGRANRIO
Órgão
BNDES
Ano
2009
Provas
Disciplina
Engenharia de Software
Assuntos

No âmbito da Refatoração de software, analise as afirmativas a seguir.

I - Introduce Parameter Object é uma técnica de refatoração que pode ser aplicada em métodos muito longos.
II - Código duplicado é candidato para aplicação das técnicas Extract Method e Substitute Algorithm.
III - Extract Class é uma técnica de refatoração que pode ser aplicada em classes muito grandes.

Está(ão) correta(s) a(s) afirmativa(s)

Alternativas
Comentários
  •  Alguém poderia me explicar essa questão?

    O Parameter Object, pelo que pesquisei, agrega todos os parâmetros de um método em uma classe.

    Na afirmativa I, caberia a técnica Extract Method, que cria um novo método extraindo um bloco de código.

     

  •  I - Introduce Parameter Object, em seu uso, cria-se uma classe imutável que represente o grupo de parâmetros de um ou mais métodos. O que valida a questão é que algumas vezes no corpo do método há estrutras/comportamento usados exclusivamente para manipular os parâmetros. Esses comportamentos podem ser movidos para o objeto de parâmetros.
    Fonte: Introduce Parameter Object

    II - 

  • Esta questao está MUITO errada. Como ng entrou com recurso?!?!

    Introduce Parameter Object é uma tecnica usada quando metodos possuem LISTAS DE PARAMETROS muito longos. E nao métodos longos.
  • Concordo com Marcelo. Quando o item I fala métodos longos, dá a entender métodos com corpo longo, e não a assinatura do método. Eu entraria com recurso
  • O primeiro item da questão não está errado.

    Na explicação sobre os refactorings que podem ser usados em métodos muito longos (pag 77, Refactoring, Fowler) ele explica que:

    Quando é utilizado o Extract Method, em métodos muito longos, pode ocorrer desse novo método possuir muitos parâmetros e variáveis temporárias como parâmetros fazendo com que a chamada do método extraído fique tão confusa quanto originalmente. Nesses casos ele sugere o uso de Replace Temp With Query, Introduce Parameter Object e Preserve Whole Object.

    Um bom lugar para consulta rápida dos padrões é: http://refactoring.com/catalog/
    Existe uma descrição e um exemplo de utilização do padrão.
  • @Eduardo,

    Voce escreveu:
    "pode ocorrer desse novo método possuir muitos parâmetros e variáveis temporárias como parâmetros fazendo com que a chamada do método extraído fique tão confusa quanto originalmente. Nesses casos ele sugere o uso de Replace Temp With Query, Introduce Parameter Object e Preserve Whole Object."

    Nesta passagem está dizendo que ao criar o novo metodo (Extract Method), o mesmo possa necessitar de muitos parâmetros ou variaveis temporarias como parametros. Entendo que isso quer dizer q, a quantidade de parametros a serem passados para este novo metodo fique muito grande e confusa, sendo necessario o uso do Introduce Parameter Object. Nao tem a ver com uso do Introduce Parameter Object  para metodos longos, mas sim com o fato de que o novo metodo do Extract Method fique com a lista de parametros enorme.

    @Marcelino

    Introduce Parameter Object diz:
    Often the bodies of the methods have common manipulations of the parameter values. By moving this behavior into the new object, you can remove a lot of duplicated code.

    Ou seja, esses parametros sao manipulados por operações dentro desses metodos que, ao utilizar o Introduce Parameter Object, acaba que, por consequencia, voce elimina algumas linhas daquele código. Isso nao quer dizer q o metodo era longo.


    @All

    O link do fowler[1] disserta sobre metodos longos dizendo:

    " Long lists of parameters can be slimmed down with Introduce Parameter Object and Preserve Whole Object."

    [1]http://sourcemaking.com/refactoring/long-method
  • Reanalisando o livro sobre padrões de refatoração do Fowler, percebi o seguinte:
    Na contra capa, há uma tabela com os cheiros e as refatorações aplicáveis.
    Método longo, p. 71 {Extrair método, Substituir variável temporária por consulta, Substituir método por objeto método, Decompor condicional}

    No entanto, na parte que trata sobre os cheiros temos o seguinte:
    Métodos longos:
    Em 99% do tempo acplica-se o Extrair Método.
    Você muitas vezes pode usar Substituir variável temporária por consulta para eliminar as variáveis temporárias. Listas longas de parâmetros pode ser diminuídas com Introduzir objeto parâmetro e Preservar o objeto inteiro.
    Se você tentou isso e ainda tem variáveis temporárias e parâmetros demais, é hora de usar a artilharia pesada: Substituir método por objeto método.
    ...
    Condições e laçõs também sinalizam extrações. Use Decompor Condicional para lidar com expressões condicionais.

    Então o examinador percebeu a seguinte possibilidade de derrubar meio mundo (eu incluso nessa):
    Se o cara estudar só essa tabelinha da contra-capa ao invés de ir lá dentro do livro, vai levar um ferro daqueles. (enquanto ria diabolicamente)

    E pronto, está feita uma questão a lá cesgranrio.
  • Eu sabia que a II e a III estavam corretas, como não havia na resposta apenas II e III tive que considerar a I verdadeira tb, apesar de achar que a I está errado..
    já que para mim  Parameter Object é para quando existe muitos parametros e não um metodo longo
  • Técnicas de Refactoring:

     

    - Extract Method:Transformar um fragmento de código que pode ser agrupado em um método com um nome que explica o objetivo desse fragmento.

    - Substitute Algorithm: Substitua o conteúdo de um método com um algoritmo que faça a mesma coisa mas seja melhor.

    - Introduce Parameter Object: Substituir parâmetros de um método por um objeto


ID
142267
Banca
CESGRANRIO
Órgão
BNDES
Ano
2009
Provas
Disciplina
Arquitetura de Software
Assuntos

O presidente de uma empresa determinou que fosse disponibilizado um sistema de vendas na Internet. No entanto, o software de controle de estoque que deve ser acessado pela aplicação de vendas é muito antigo e provê uma API (Application Programming Interface) de uso muito complicado. Para que os desenvolvedores possam acessar uma interface mais simples, o arquiteto do sistema pode determinar o uso do padrão de projeto

Alternativas
Comentários
  • Façade - Oferece uma interface única de mívrl mais eleveda(alto nível) para um conjunto de interfaces de um subsistema.
  • a) Prototype - Permite a criação de objetos a partir de um modelo original, ou protótipo.
    b) Decorator -  Prover alternativa flexível ao uso de subclasses para se estender a funcionalidade de uma classe.
    c) Observer -  define uma dependência um-para-muitos entre objetos de modo que quando um objeto muda o estado, todos seus dependentes sejam notificados e atualizados automaticamente.
    d) Façade - Disponibiliza uma interface simplificada para uma das funcionalidades de uma API
    e) Flyweight - Apropriado quando vários objetos devem ser manipulados, e esses não suportam dados adicionais

    Fonte (Wikipédia )

  • d-

    facade- interface unificada e simplificada para conjunto de interfaces, ocultando e/ou alterando componentes.

  • D : o padrão façada disponibiliza uma interface unificada para um conjunto de interfaces de uma ou mais subsistema.

  • O que é Façade, ou fachada? é a interface que o usuário vê, que oculta cada uma das classes internas. Como um tomador de decisão, escolhe a classe que será utilizada de forma harmoniosa.

    Fonte: Fernando Nishimura Informática.

    GABARITO: LETRA "D".


ID
142270
Banca
CESGRANRIO
Órgão
BNDES
Ano
2009
Provas
Disciplina
Arquitetura de Software
Assuntos

Ao consultar informações a respeito dos padrões de projeto Adapter e Bridge, um Analista de Sistemas identificou uma afirmativa INCORRETA. Assinale-a.

Alternativas
Comentários
  • Adapter: é utilizado para adaptar uma interface de uma classe. Permite que classes com interfaces incompativeis possam interagir. Permite que um objeto cliente utilize serviços de outros objetos com interfaces diferentes por meio de uma interface única.
    É um padrão estrutural.

    Bridge: é utilizado quando se deseja que uma interface (abstração) possa variar independente de suas implementações.
    É um padrão estrutural.

    Não existe padrão hierarquia de padrões.
  • LETRA D

    Adapter Os padrões estruturais se preocupam com a forma como classes e objetos são compostos para formar estruturas maiores. Os de classes utilizam a herança para compor interfaces ou implementações, e os de objeto ao invés de compor interfaces ou implementações, eles descrevem maneiras de compor objetos para obter novas funcionalidades. A flexibilidade obtida pela composição de objetos provém da capacidade de mudar a composição em tempo de execução o que não é possível com a composição estática (herança de classes).

    Bridge pode ser reconhecido por uma distinção clara entre alguma entidade controladora e várias plataformas diferentes nas quais ela se baseia.


ID
142273
Banca
CESGRANRIO
Órgão
BNDES
Ano
2009
Provas
Disciplina
Engenharia de Software
Assuntos

Analise as informações que se seguem, relacionadas aos conceitos de Orientação a Objetos (OO).

I - O conceito de herança possibilita a especialização de comportamentos pré-existentes em classes ancestrais.
II - Para que um método seja ativado num objeto, uma mensagem não precisa necessariamente ter uma referência explícita a ele, se o objeto default da classe correspondente estiver adequadamente configurado.
III - Uma das desvantagens da herança é a criação de dependência entre as classes envolvidas.
IV - De acordo com a ideia do encapsulamento, é desejável, do ponto de vista de um objeto, que seus atributos internos estejam protegidos contra modificações diretas e que o acesso seja realizado por meio de métodos específicos (setters e getters).
V - Polimorfismo está relacionado à vinculação dinâmica de mensagens e sobrescrita de métodos, sendo que o método correto a ser chamado só será definido em tempo de execução e dependerá do tipo da instância do objeto referenciado pela mensagem.

São corretas APENAS as afirmações

Alternativas
Comentários
  • Alguém poderia explicar porque só a II tá errada? Eu achava que a I e a V tb estavam. =/

    A I eu achei que estava errada por causa desse pré existente. Pra mim quando se adiciona métodos e atributos exclusivos das subclasses, eles aind anão existiam na superclasse.

    E a V eu achei que os métodos não eram escolhidos em tempo de execução, pelo menos no caso da sobrecarga não por causa das assinaturas diferentes, já na sobreposição pode até ser.



    ????????

  • O item I está certo, pois pode-se:
      a) Sobreescrever o método especializando a classe; ou
      b) Na superclasse pode está apenas definido a assinatura do método (método abstrato), necessitando que a subclasse defina o comportamento interno do método.

    O item V está certo, pois no exemplo de polimorfismo abaixo:
      a) void construir(Casa a);
      b) void construir(Predio a);
    A decisão de qual método chamar depende do TIPO da classe utilizada como parâmetro, sendo decido apenas em tempo de execução. No caso de sobrecarga, em que os métodos têm a mesma assinatura na subclasse e superclasse, mas são instanciados conforme exemplo abaixo:

    class Moradia{           class Casa {            class Predio{
      void construir();          void construir();        void construir();
    }                                     }                                  }

    public static void main(){
      Moradia c = new Moradia();
      c.construir();
    }

    Nesse caso, construir modela o comportamento do objeto, sendo necessário descobrir sua tipagem (Moradia ou Casa) para executar o método.
  • Alguém sabe me dizer onde está o erro do item II? Não ficou claro para mim esta sentença.
  • I - Esta é a ideia da herança: estender uma superclasse adicionando comportamento específico. A herança expressa um relacionamento do tipo "é um". Por exemplo, Quadrado "é uma" FormaGeometrica.

     

    II - Em Java, não existe a configuração de um objeto "default". O que existe é a possibilidade de chamar um método sem especificar um objeto específico se já estivermos no contexto de um objeto (o que equivale a fazer this.umMetodoQualquer() ).

     

    III - Corretíssimo. Uma grande desvantagem da herança é a geração de um acoplamento elevado entre as classes

     

    IV) Encapsulamento é uma característica essencial em sistemas orientados a objetos.

     

    V) Polimorfismo é uma característica básica da orientação a objetos, possibilitando a criação de designs flexíveis por meio da substituição de objetos em tempo e execução.


ID
142276
Banca
CESGRANRIO
Órgão
BNDES
Ano
2009
Provas
Disciplina
Programação
Assuntos

Um profundo conhecedor de linguagens de programação deu um parecer sobre um conceito. Qual das afirmações abaixo expressa, corretamente, esse parecer?

Alternativas
Comentários
  • Olá, pessoal!

    Essa questão foi anulada pela organizadora.


    Justificativa da banca:  Anulada, por não haver resposta inteiramente correta.

    Bons estudos!

ID
142285
Banca
CESGRANRIO
Órgão
BNDES
Ano
2009
Provas
Disciplina
Programação
Assuntos

Qual das afirmações a seguir faz uma apreciação correta a respeito da linguagem de programação Java?

Alternativas
Comentários

  • a) O conceito de herança múltipla é implementado nativamente. Java não tem herança multipla.

    b) Uma classe pode implementar somente uma interface ao mesmo tempo. Uma classe pode implementar várias interfaces.

    c) Uma classe pode implementar uma interface ou ser subclasse de outra classe qualquer, mas não ambos simultaneamente.


  • Complementando o comentário.

    d) qualquer exceção não precisa ser tratada pelo método que a origina, este pode obrigar qualquer outro método que o envoque a tratar esta excessão com a clausula throw

    e) /toda a gerência de memória é feita pelo garbage collector
  • Complementando a afirmativa d):  as exceções do tipo RuntimeException são exceções que podem ser lançadas durante a execução da JVM e que podem ser tratadas, porém não precisam obrigatoriamente ser tratadas com throws ou com try catch.
  • Bernardo,

    Quanto a letra E, o erro está em dizer que  Strings, em java, podem ser alterados quando necessário. Strings são IMUTAVEIS.
  • Marcelo,

    como assim Strings são imutáveis? É possível sim alterar o seu valor em qualquer momento em que o programa é executado.
  • Arthur Rodriges Stilben o Marcelo tem razão.

    Objetos String são imutáveis.

    Sempre que você faz algo do tipo
    String a = "123";
    String b = "234";
    a = a + b;

    Você não está alterando a String original a; o que você está fazendo é alocar um novo objeto string com valor "123234"; finalmente o ponteiro a é direcionado para a nova String "123234"; Exatamente por este motivo é mais eficiente em  Java  utilizar um StringBuffer para concatenar varias Strings. 

    Mesmo assim o GC continua sendo o único responsável por desalocar objetos :)


ID
142291
Banca
CESGRANRIO
Órgão
BNDES
Ano
2009
Provas
Disciplina
Gerência de Projetos
Assuntos

Considere as afirmações a seguir, sobre os conceitos de gerenciamento de projetos com base no PMBOK.

I - Assim como o desenvolvimento de um novo processador de computador, a produção do lote 22 de um novo refrigerante é considerada um trabalho de operação e não um projeto.
II - Um escritório de projetos supervisiona o gerenciamento de projetos, programas ou uma combinação dos dois.
III - O ciclo de vida de um produto passa pelo plano de negócios, definição da ideia, construção do produto, operações e sua venda, ao passo que o ciclo de vida do projeto, que termina quando o produto está pronto, está contido dentro do ciclo de vida do produto.
IV - As estruturas organizacionais se dividem em "funcional", "por projeto" e "matricial" que se subdivide em "fraca", "balanceada" e "forte", sendo que esta última subdivisão dá ao gerente de projetos pouca ou nenhuma autoridade.

Estão corretas as afirmativas

Alternativas
Comentários

  • I - Assim como o desenvolvimento de um novo processador de computador, a produção do lote 22 de um novo refrigerante é considerada um trabalho de operação e não um projeto.
    Falso - o primeiro é um projeto e o segundo uma operação

    II - Um escritório de projetos supervisiona o gerenciamento de projetos, programas ou uma combinação dos dois.
    Correto

    III - O ciclo de vida de um produto passa pelo plano de negócios, definição da ideia, construção do produto, operações e sua venda, ao passo que o ciclo de vida do projeto, que termina quando o produto está pronto, está contido dentro do ciclo de vida do produto.
    Correto

    IV - As estruturas organizacionais se dividem em "funcional", "por projeto" e "matricial" que se subdivide em "fraca", "balanceada" e "forte", sendo que esta última subdivisão dá ao gerente de projetos pouca ou nenhuma autoridade.
    Falso - esta última subdivisão (matricial forte) dá ao gerente bastante autoridade.
  • Utilizando o método de eliminação, chega-se à letra a). Porém, de acordo com o guia PmBok, na III opção afirmar que "o projeto termina quando o produto está pronto" é incorreto. Segue abaixo o trecho do guia:
    "Um projeto é um esforço temporário empreendido para criar um produto, serviço ou resultado exclusivo. A sua natureza temporária indica um inicio e um término definidos. O término é alcançado quando os objetivos tiverem sido atingidos ou quando se concluir que esses objetivos não serão ou não poderão ser atingidos e o projeto for encerrado, ou quando o mesmo não for mais necessário". PMBOK Guild 4 Edição

    Logo, cabe um recurso de anulamento da questão.

ID
142294
Banca
CESGRANRIO
Órgão
BNDES
Ano
2009
Provas
Disciplina
Programação
Assuntos

Ao estudar as especificações e frameworks Java EE, um Analista de Sistemas concluiu que

Alternativas
Comentários
  • a) o container WEB do servidor de aplicações não é responsável pelo ciclo de vida de EJBs.

    b) correta

    c) EJB não é executado do lado do cliente

    d) STRUTS é um framework MVC de desenvolvimento e não de persistência

    e) JPA não obriga o uso de EJB com Session Beans
  • [ERRADA] => a) o container WEB do servidor de aplicações é o responsável por gerenciar o ciclo de vida de servlets e de EJBs utilizados numa aplicação Java.
         
    Container WEB:
    Gerencia a execução de páginas JSP e componentes Servlets.
    Container EJB: Gerência a execução de EJB.

    O ciclo de vida de um EJB é gerenciado por container específico.

    [CORRETO] => b) no container WEB, uma página JSP transforma-se em um servlet, que é compilado, carregado e inicializado.

    [ERRADA] => c) Enterprise JavaBeans é um modelo de componentes padronizado, executado no lado do cliente e que facilita a construção de aplicações distribuídas robustas.

    EJB executam no lado do servidor gerenciado pelo Container EJB.

    [ERRADA] => d) STRUTS é um framework de persistência que permite o gerenciamento de dados relacionais, utilizando-se de mapeamento objeto-relacional.

    STRUTS: É um framework open-source para o desenvolvimento de aplicação web J2EE adotando a arquitetura MVC.

    [ERRADA] => e) a utilização de Java Persistent API obriga o uso de um container EJB com Session Beans.
    Java Persistnt API ou JPA é uma API utilizada para persistência definindo um mapeamento ojeto-relacional, no entando, não obriga o uso de um container EJB.  
  •  Questões de concursos! Por que a letra E está em negrito?
  • Uma página JSP vira um servlet? What? Pensei que o servlet recebesse as requisições da página, funcionando como controller, enquanto que a página é a view...


ID
142297
Banca
CESGRANRIO
Órgão
BNDES
Ano
2009
Provas
Disciplina
Gerência de Projetos
Assuntos

No âmbito do gerenciamento de escopo de projetos com base no PMBOK, que artefato tem como responsabilidade subdividir em elementos menores as principais entregas do projeto e do trabalho do projeto?

Alternativas
Comentários
  • Resposta letra D.

    A EAP - Estrutura Analítica do Projeto - ou WBS - Work Breakdown Structure - é uma ferramenta de gerenciamento do escopo do projeto que decompõe o trabalho do projeto em trabalhos menores gerenciáveis. Os trabalhos podem ser descritos até o nível de pacote de trabalho, que é onde pode-se fazer, com maior precisão, previsões de custo e cronograma.
  • Estrutura analítica do projeto (EAP)

    - O processo criar EAP consiste em uma ferramenta e técnica chamada decomposição. Essa técnica envolve a subdivisão das entregas em componentes menores e de mais fácil administração.

    - É um diagrama em formato de arvore.

    - Define o escopo total do projeto.

    - É uma organização hierárquica baseada nas entregas, que define e organiza o trabalho do projeto e somente o trabalho do projeto.

    - Melhora o processo de estimativas.

    Alternativa: D


ID
142300
Banca
CESGRANRIO
Órgão
BNDES
Ano
2009
Provas
Disciplina
Gerência de Projetos
Assuntos

Segundo o PMBOK, em que processo do gerenciamento de riscos de projetos os riscos devem ser priorizados e avaliados quanto à sua probabilidade de ocorrência e impacto?

Alternativas
Comentários
  • Para não confundir, a análise quantitativa de riscos analisa numericamente o efeito dos riscos identificados nos objetivos gerais do projeto.
  • Conforme descrito no PMBOK:

    "Realizar a análise qualitativa de riscos é o processo de priorização de riscos para análise ou ação adicional através da avaliação e combinação de sua probabilidade de ocorrência e impacto."

    Portanto, a alternativa correta é a letra B

  • Segundo o PMBOK (4a edição):


    Análise Qualitativa de Riscos: é o processo de priorização de riscos para análise ou 
    ação adicional através da avaliação e combinação de sua probabilidade de ocorrência e impacto.


    Análise Quantitativa de Riscos: é o processo de analisar numericamente o efeito dos riscos identificados nos objetivos gerais do projeto.
     
  • Uma associação pertinente para lembrar a importância da análise quantitativa x qualitatvia são  os graus de maturidade de processo do MPS.BR, CMMI e CobiT, onde os níveis mais altos (4, B e equivalentes) são colocados como "quantitativamente gerenciáveis":  significa que toda uma série de pré-requisitos foram  atendidos para que se fosse capaz de colher indicadores quantitivativos seguros, que, por sua vez, são requisitos para sistemas otimizados.
  • Explicando os demais processos do gerenciamento de risco:
     
    Identificação de Riscos: determinação dos riscos que podem afetar o projeto e documentação de suas características. 
     
    Planejamento de Resposta de Risco: desenvolvimento de opções e ações para aumentar as oportunidades e reduzir as vulnerabilidades encontradas no projeto.
     
    Monitoramento e Controle de Risco: acompanhamento dos riscos identificados, monitoramento dos riscos residuais, identificação dos novos riscos, execução de planos de respostas a riscos e avaliação da sua eficácia durante todo o ciclo de vida do projeto.

    Além dos processos de análise qualitativa e quantitativa já explicados, existe o processo:

    Planejamento de Gerência de Riscos: tem por objetivo decidir como abordar, planejar e executar as atividades de gerenciamento de riscos de um projeto originando.
  • Segundo o PMBOK 5ª ed:

    A) Realizar a análise quantitativa dos riscos—O processo de analisar numericamente o efeito dos riscos identificados nos objetivos gerais do projeto.

    B) Realizar a análise qualitativa dos riscos—O processo de priorização de riscos para análise ou ação posterior através da avaliação e combinação de sua probabilidade de ocorrência e impacto.

    C) Identificar os riscos—O processo de determinação dos riscos que podem afetar o projeto e de documentação das suas características.

    D) Planejar as respostas aos riscos—O processo de desenvolvimento de opções e ações para aumentar as oportunidades e reduzir as ameaças aos objetivos do projeto.

    E) Controlar os riscos—O processo de implementar planos de respostas aos riscos, acompanhar os riscos identificados, monitorar riscos residuais, identificar novos riscos e avaliar a eficácia do processo de gerenciamento dos riscos durante todo o projeto.

  • b)Análise qualitativa de riscos.

    nA fase de analise de rsicos sao avaliados riscos consoante probabilidade (baixa, media, alta etc) & seriedade (catastrofe, sério, toleravel, insignificante). Todo risco catastrofico tem que ser priorizado, asism como serio com probabilidade alta. 

     

     c)Identificação de riscos. 1° fase em gerenciamnete de risco. Compreende brainstorming e um checklist dos riscos. 

     d)Planejamento de respostas a riscos. essa fase é após análise de risco e propoe estrategias para lidar com riscos: prevenção, minimização & contingência.

     e)Monitoramento e controle de riscos. última fase de gerencialmeto de riscos. Usa indicadores para riscos de tecnologia, pessoas, organizacionais, ferramentas, requisitos & estimativas. 

  • letra B ......................Análise qualitativa de riscos.