Você está na página 1de 117

Grupo Handbook

Handbook de
Questes de TI
concursos
comentadas para
Alm do gabarito

2 Edio

Volume 2

Analista de Sistemas - Eng. de Software


Petrobras 2008
Fundao Cesgranrio
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

Prefcio

Este o segundo volume da srie Handbook de Questes de TI Comentadas para Concursos


 Alm do Gabarito. Ele traz a prova para Analista de Sistemas Jnior - Engenharia de Soft-
ware, aplicada em junho de 2008 pela Fundao Cesgranrio. So 50 questes comentadas alm
do gabarito para voc se preparar no s para os concursos para a Petrobras, mas, tambm,
para todos os demais concursos de alta concorrncia na rea de TI.

Estamos vivendo a era do petrleo no Brasil. A Petrobras est aproveitando muito bem essa
fase para maximizar a sua produo e, por consequncia, os seus lucros. Nessa jornada, surge a
necessidade de novos prossionais qualicados, inclusive na rea de TI. Para suprir essa neces-
sidade, a empresa vem realizando concursos com maior frequncia.

Alguns fatores fazem com que concursos para a Petrobras sejam altamente concorridos, tais
como: contato com diversas tecnologias de ponta; excelente ambiente de trabalho; salrio e
benefcios superiores aos da maioria das empresas e rgos governamentais. Tendo em vista
essa alta concorrncia, de fundamental importncia que os materiais de estudo do concurseiro
sejam de tima qualidade.

Este volume traz questes reais que abordam temas como segurana de informao, arquite-
tura de computadores, banco de dados e governana de TI. No faltar embasamento terico
ao concurseiro, uma vez que os comentrios elaborados no se limitam simples resoluo das
questes.

Bons estudos,

Grupo Handbook de TI

Pgina 1 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

Direitos Autorais

Este material registrado no Escritrio de Direitos Autorais (EDA) da Fundao Biblioteca


Nacional. Todos os direitos autorais referentes a esta obra so reservados exclusivamente aos
seus autores.

Os autores deste material no probem seu compartilhamento entre amigos e colegas prxi-
mos de estudo. Contudo, a reproduo, parcial ou integral, e a disseminao deste material de
forma indiscriminada atravs de qualquer meio, inclusive na Internet, extrapolam os limites da
colaborao. Essa prtica desincentiva o lanamento de novos produtos e enfraquece a comu-
nidade concurseira Handbook de TI.

A srie Handbook de Questes de TI Comentadas para Concursos  Alm do Gabarito uma


produo independente e contamos com voc para mant-la sempre viva.

Grupo Handbook de TI

Pgina 2 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

Canais de Comunicao

A equipe Handbook de TI disponibiliza diversos canais de comunicao para seus clientes.

Loja Handbook de TI

http://www.handbookdeti.com.br

Servio de Atendimento

Comunicao direta com a Equipe Handbook de TI pode ser feita em


http://www.handbookdeti.com.br/contacts

Twitter do Handbook de TI

Que acompanhar de perto o trabalho do Grupo Handbook de TI. Cadastre-se no twitter e


comece a seguir o grupo Handbook de TI em http://twitter.com/handbookdeti

Pgina 3 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

1. Assuntos relacionados: Arquitetura de Computadores, Modos de Endereamento de Memria,

Banca: CESGRANRIO
Instituio: Petrobras
Cargo: Analista de Sistemas - Eng. de Software
Ano: 2008
Questo: 21
Um computador tem um registrador R e um conjunto de instrues de um operando, todas
com modo de endereamento indireto. Trs destas instrues so especicadas a seguir.

LD: Copia da memria principal para o registrador R.

AC: Adiciona da memria principal ao registrador R.

ST: Move do registrador R para a memria principal.

Considere o programa apresentado abaixo, executado no computador, acessando o bloco de


memria principal, cuja situao inicial mostrada a seguir.

Endereo Valor Armazenado


00H 01H
01H 02H
02H 03H
03H 04H
04H 05H

LD 01H
AC 02H
ST 03H
AC 00H
ST 01H
LD 03H
ST 00H

Considere que tanto o endereamento quanto os valores envolvidos nas operaes utilizam
apenas um byte de memria cada. Aps a execuo do programa, qual ser, em hexadeci-
mais, a soma dos valores armazenados no bloco de memria?

(a). 00H

(b). 04H

(c). 0AH

(d). 10H

(e). 1CH

Soluo:
Primeiramente, os conceitos de endereamento de dados devem estar bem claros. Em uma
instruo de programa, h vrias maneiras de referenciar um valor, as mais conhecidas so:

Imediato : o valor do operando especicado diretamente na instruo. Sua principal


vantagem no requerer acesso memria para obter o operando. A desvantagem que
esse modo impe uma limitao no tamanho do operando. Suponha que o computador

Pgina 4 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

descrito suporte acesso imediato. A instruo LD 30H faria com que o valor 30H fosse
copiado para o registrador R. Entretanto, h ocasies em que no somente um byte
deve ser copiado, por exemplo LD 201040H. Nesse caso, como o valor armazenado
diretamente na instruo, seria necessrio aumentar o tamanho da instruo e isso no
possvel na maioria das arquiteturas de computador;

Direto : o campo de endereo contm o endereo efetivo do operando na memria. Re-


quer, portanto, apenas um acesso para determinar o valor do operando. Sua limitao
fornecer um espao de endereamento limitado. Suponha que o computador descrito
suporte endereamento direto. A instruo LD 01H, faria com que o valor armazenado
na posio de memria 01H, ou seja, 02H fosse copiado. Entretanto, se a instruo
possuir somente um byte para o endereamento direto, por exemplo, a quantidade de
posies de memria estar limitada em 256 (2 );
8

Indireto : o campo de endereo aponta para uma posio de memria que contm o
endereo de memria do operando. Sua principal desvantagem a necessidade de dois
acessos memria. A vantagem em relao ao modo de endereamento direto o
aumento do espao de endereamento, que passa a ser igual 2n , onde n o tamanho
da palavra na memria. Suponha que o computador tenha somente um byte para en-
derear a posio de memria, mas que essa posio de memria corresponda a uma
palavra com tamanho de 2 bytes. Um endereamento na forma indireta, possibilitar
o endereamento de 65536 posies de memria (2
16 ) e no mais 256 como no en-

dereamento direto. No o caso da questo, onde tanto o tamanho permitido para


endereamento na instruo e o tamanho da palavra de memria so iguais a um byte;

Registrador : semelhante ao modo direto, no entanto, o campo de endereo se refere a


um registrador e no a uma posio de memria. Geralmente, esse campo composto
por 3 ou 4 bits, o que permite referenciar de 8 a 16 registradores de propsito geral.
Suas vantagens so o tamanho pequeno do campo de endereo e a no necessidade
de se acessar memria. Sua desvantagem o espao de endereamento limitado
pelo nmero de registradores. Por exemplo, poderamos supor que o computador da
questo permitisse endereamento por registrador e tivesse 16 registradores. Assim,
seria possvel que um registrador alm do R, por exemplo S, pudesse ser endereado
como 05H. Uma instruo da maneira LD 05H copiaria o valor do registrador S para o
registrador R;

Indireto via Registrador : semelhante ao modo de endereamento indireto. O campo


de endereo aponta para o registrador que contm a posio de memria do operando.
Sua vantagem a necessidade de um nico acesso memria, um a menos que no modo
indireto;

Deslocamento : requer que uma instruo tenha dois campos de endereo, com pelo
menos um explcito. O valor de um dos campos usado diretamente (valor = A). O
outro campo baseado no cdigo da operao, e especica um registrador cujo contedo
adicionado A, para produzir o endereo efetivo. Os trs modos de endereamento
por deslocamento so: relativo, via registrador-base e indexado ;

Pilha : a pilha um bloco reservado de posies de memria. Elementos podem ser


colocados e removidos do topo da pilha. O apontador do topo da pilha (stack-pointer )
mantido em um registrador. Portanto, de fato, referncias a pilha so feitas por
endereamento indireto via registrador.

J que a questo trata de endereamento indireto, o valor armazenado no local especicado


pelo operando o endereo de memria do valor que ser utilizado na operao. Por exemplo,
a instruo LD 01H, carrega, no registrador R, o valor 03H, pois no endereo 01H est

Pgina 5 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

armazenado o endereo 02H, que por sua vez, contm o valor desejado, 03H. Seguindo os
passos do programa, teremos:

1. LD 01H, R 03H, R recebe o valor armazenado no endereo 02H;

2. AC 02H, R 03H + 04H 07H, o valor de R somado ao valor armazenado no


endereo 03H;

3. ST 03H, [04H] 07H, a posio de memria 04H recebe o valor do registrador R;

4. AC 00H, R 07H + 02H 09H, o valor de R somado ao valor da posio 01H;

5. ST 01H, [02H] 09H, a posio de memria 02H recebe o valor de R;

6. LD 03H, R 07H, R recebe o valor armazenado no endereo 04H;

7. ST 00H, [01H] 07H, a posio de memria 01H recebe o valor de R.

Aps o trmino do programa, a situao nal do bloco de memria ser de acordo com a
Tabela 1.

Tabela 1: situao nal do bloco de memria.


Endereo Valor Armazenado
00H 01H
01H 07H
02H 09H
03H 04H
04H 07H

A soma 01H +07H +09H +04H +07H = 1CH , que, em decimal, 28. Logo, a alternativa
correta a letra (e).

Pgina 6 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

2. Assuntos relacionados: Arquitetura de Computadores, Thread,


Banca: CESGRANRIO
Instituio: Petrobras
Cargo: Analista de Sistemas - Eng. de Software
Ano: 2008
Questo: 22
Alguns sistemas operacionais permitem que seus processos criem mltiplos threads de ex-
ecuo. Em operao normal, o que previsto que os threads de um mesmo processo do
sistema operacional compartilhem?

(a). Arquivos abertos

(b). Registradores

(c). Pilha (stack)

(d). Variveis locais de cada thread

(e). Contador de instruo (program counter)

Soluo:
Uma thread comumente denida como um uxo nico de controle sequencial dentro de
um programa. O uso de threads visa reduzir o custo do gerenciamento de processos, que
consiste principalmente em:

criao do processo;

trocas de contextos entre processos;

overhead associado a esquemas de proteo de memria;

comunicao entre processos.

Podemos dizer que as threads pertencentes ao mesmo processo utilizam os recursos alocados
no sistema operacional para esse processo, como:

o espao de endereamento na memria;

os arquivo abertos (handles);

os objetos de sincronizao.

O compartilhamento desses recursos permite que os uxos de execuo (threads) se comu-


niquem ecientemente. Ento, a letra (a) a opo correta.

Entretanto, threads dentro de um processo (e tambm entre processos) so escalonadas


e executadas independentemente. No momento de sua execuo, cada thread recebe alguns
recursos prprios, como:

os registradores;

a pilha de execuo, que lhe dar poder para chamar mtodos, passar parmetros e
alocar variveis locais;

o contador de instruo (program counter), que essencial para que o uxo de execuo
prossiga.

importante perceber que para que o acesso a esses recursos exclusivos ocorra, necessrio
o chaveamento de contexto entre as threads, ou seja, o estado dos elementos prprios citados
dever ser armazenado e restaurado a cada troca de thread no uso do processador.

Pgina 7 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

Dado o exposto, as alternativas (b), (c), (d) e (e) podem ser eliminadas, pois citam recursos
que no so compartilhados entre threads. A Figura 1 exemplica o compartilhamento das
threads dentro de um processo.

Figura 1: exemplicao de um processo com uma nica thread e com mltiplas threads.

Concluindo, as principais vantagens do uso de threads so:

permite a explorao do paralelismo real oferecido por mquinas multiprocessadas;

possibilita o aumento do nmero de atividades executadas por unidade de tempo


(throughput);

permite sobrepor operaes de clculo com operaes de I/O e, com isso, reduzir o
tempo de resposta;

o tempo de criao e destruio de threads inferior ao tempo de criao e destruio


de processos, respectivamente;

o chaveamento de contexto entre threads mais rpido que o tempo de chaveamento


entre processos;

como threads compartilham o descritor do processo, elas dividem o mesmo espao de


endereamento, o que permite a comunicao por memria compartilhada sem interao
com o ncleo (kernel) do sistema operacional.

Pgina 8 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

3. Assuntos relacionados: Banco de Dados, Modelo Relacional, Normalizao de Banco de


Dados, Primeira Forma Normal (1FN),
Banca: CESGRANRIO
Instituio: Petrobras
Cargo: Analista de Sistemas - Eng. de Software
Ano: 2008
Questo: 23
correto armar que qualquer relao vlida de um modelo relacional:

(a). pode apresentar tuplas duplicadas, desde que no haja chaves candidatas denidas.

(b). em seus atributos ordenados da esquerda para a direita, de acordo com a denio.

(c). tem suas tuplas naturalmente ordenadas, para ns de localizao.

(d). tem um ndice fsico para cada chave candidata, incluindo a chave primria.

(e). est, pelo menos, na primeira forma normal.

Soluo:
Conceitualmente, em um banco de dados relacional, as relaes podem ser denidas como
um conjunto de tuplas. Uma tupla uma sequncia ordenada de atributos e representa,
usualmente, um objeto do mundo real e suas informaes. Todas as tuplas em uma mesma
relao possuem o mesmo conjunto de atributos. Entretanto, em uma relao, elas devem
preservar o que chamado de integridade existencial, que, basicamente, implica que tuplas
iguais (com todos os valores dos seus atributos iguais) no so permitidas. Caso contrrio,
no temos uma relao.

A forma de garantir a integridade existencial denir uma chave primria, que, obrigato-
riamente, deve ser no-nula e nica em toda relao. Logicamente, sendo a chave primria
nica, as tuplas duplicadas no sero permitidas e a relao estar garantida.

Deve car clara a diferena entre tabela e relao. Uma tabela nada mais do que um
conjunto de linhas e colunas. J as relaes, que j foram denidas acima, so implemen-
tadas sicamente em tabelas, que, obviamente, devem atender s condies exigidas em uma
relao. Ou seja, nem toda tabela representa uma relao.

Na denio da primeira forma normal dada por Date, uma tabela est na primeira formal
normal se, e somente se, for isomrca alguma relao. Isso quer dizer que, especicamente,
a tabela deve atender s cinco condies abaixo:

no existe uma ordenao das linhas de cima para baixo;

no existe uma ordenao das colunas da direita para esquerda;

no existem linhas duplicadas;

qualquer interseo linha-coluna deve conter exatamente um valor no domnio aplicvel


e nada mais;

todas as colunas so regulares, no sentido de no possurem componentes ocultos como


identicadores de linhas, identicadores de colunas, identicadores de objetos ou times-
tamps ocultos. Veja nas Tabelas 2, 3 e 4 um exemplo de cenrio em que a informao
contida em uma tabela que no est na 1FN transportada para outras tabelas que
esto na 1FN.

Pgina 9 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

idPessoa nmPessoa dtAniversario nrTelefones


1 Joo Roberto 01/05/1980 9311-9654 - 3698-5741
2 Juliana Gomes 28/02/1985 3232-4521 - 6352-9821 - 3987-8855
3 Talita Brando 03/12/1988 5561-9874

Tabela 2: exemplo de tabela que no est na 1FN.

idPessoa nmPessoa dtAniversario


1 Joo Roberto 01/05/1980
2 Juliana Gomes 28/02/1985
3 Talita Brando 03/12/1988

Tabela 3: exemplo de tabela que est na 1FN.

idTelefone idPessoa nrTelefone


1 1 9311-9654
2 1 3698-5741
3 2 3232-4521
4 2 6352-9821
5 2 3987-8855
6 3 5561-9874

Tabela 4: exemplo de tabela que est na 1FN.

Dada a exposio terica, podemos analisar as alternativas da questo:

a. falsa, uma relao vlida no permite tuplas duplicadas.

b. falsa, a ordenao dos atributos no dene a relao.

c. falsa, a ordenao das linhas no dene a relao.

d. falsa, a relao uma denio no nvel conceitual. Os ndices fsicos so denidos no


nvel fsico e no inuenciam no conceito de relao. Geralmente, esses ndices podem
ser livremente criados para qualquer conjunto de atributos, j a obrigao citada de
serem criados para cada chave candidata no existe e no faz nenhum sentido.

e. verdadeira, pois, por denio, uma tabela representa uma relao se, e somente se, a
tabela est na primeira forma normal.

Pgina 10 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

4. Assuntos relacionados: Banco de Dados, Modelo Entidade-Relacionamento,


Banca: CESGRANRIO
Instituio: Petrobras
Cargo: Analista de Sistemas - Eng. de Software
Ano: 2008
Questo: 24

Um modelo entidade-relacionamento foi reestruturado conforme mostrado na gura acima.


Concluiu-se que todos os usurios eram funcionrios, embora nem todos os funcionrios fos-
sem usurios. O modelo relacional derivado desse modelo conceitual possua originalmente
duas variveis de relao bsicas, com os mesmos nomes das entidades correspondentes,
tendo ambas EMAIL como chave primria. Considerando que a varivel de relao FUN-
CIONARIO no ser modicada e que a independncia de dados lgica ser honrada, a
varivel de relao USUARIO

(a). ter que manter todos os seus atributos originais.

(b). dispensar o uso de chaves candidatas.

(c). ser substituda por uma varivel de relao bsica e uma derivada.

(d). ser substituda por uma varivel de relao bsica, apenas.

(e). ser substituda por uma varivel de relao derivada, apenas.

Soluo:
O modelo entidade-relacionamento um padro para modelagem conceitual de banco de
dados. Na gura da questo, os objetos representados por retngulos so conjuntos de en-
tidades e os objetos representados por elipses so atributos.

Pgina 11 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

Uma entidade um objeto que pode ser identicado de forma unvoca a todos os out-
ros objetos. A entidade pode representar tanto algo concreto, como uma pessoa, ou algo
abstrato, como um emprstimo, por exemplo. Um conjunto de entidades rene todas as
entidades de um mesmo tipo, ou seja, que possuem as mesmas propriedades: atributos.

Os atributos so propriedades que descrevem cada entidade de um conjunto de entidades.


Dizemos ainda que cada entidade pode ter seu prprio valor para cada atributo. Exemplo:
uma determinada entidade que representa uma pessoa pode ter o valor Joo Assis para o
atributo nome e o nmero 2367727 para o atributo nmero de inscrio.

O modelo entidade-relacionamento pode descrever diversos outros objetos importantes para


a modelagem de banco de dados, como os conjuntos de relacionamentos, os atributos mul-
tivalorados e a participao de entidades em um conjunto de relacionamentos.

H, ainda, os conceitos de generalizao e especializao. Generalizao o resultado da


unio de dois ou mais conjuntos de entidades, produzindo um conjunto de entidades de nvel
mais alto. Por outro lado, especializao o resultado da separao de um subconjunto de
entidades, formando conjuntos de entidades de nvel mais baixo. A generalizao usada
para enfatizar as semelhanas entre entidades de nvel mais baixo e ocultar suas diferenas.
A especializao o inverso: ela enfatiza as diferenas entre as entidades.

Verica-se que, no primeiro modelo, existem duas entidades independentes com seus re-
spectivos atributos. A transformao realizada para se chegar ao segundo modelo conceitual
nada mais do que um processo de generalizao.

J o modelo relacional ao qual a questo se refere uma maneira de representar o banco


de dados logicamente, e no conceitualmente. No modelo relacional, os dados so represen-
tados como relaes matemticas, isto , como um subconjunto do produto cartesiano de
n conjuntos. Na etapa de transformao do modelo conceitual para o modelo lgico, ser
permitido ao projetista criar um modelo consistente da informao a ser armazenada por
meio do processo de normalizao, por exemplo.

No modelo relacional, uma varivel relacional, tambm conhecida como relvar, uma
varivel que representa uma relao. Para tornarmos a explicao bem simples, podemos
dizer que uma varivel relacional bsica representa uma tabela no SQL e uma varivel rela-
cional derivada representa uma viso ou o resultado de uma consulta.

O modelo relacional derivado do primeiro modelo entidade-relacionamento pode ser descrito


da seguinte maneira:

Funcionario(email, nome)
Usuario(email, nome, login)

Segundo o enunciado, aps a generalizao, a varivel de relao Funcionario ser man-


tida sem modicaes. J, para a varivel de relao Usuario, criaremos uma nova varivel
de relao bsica da seguinte forma:

UsuarioTabela(email, login)

Pgina 12 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

Isso pode ser feito, j que, na generalizao, foi criado um relacionamento de muitos-para-
um com a varivel de relao Funcionario. Sendo assim, o campo e-mail ser suciente
para representar o usurio na varivel de relao Funcionario. Note que, dessa maneira, a
independncia lgica ainda no est honrada, j que a varivel de relao UsuarioTabela
no possui a informao do atributo nome.

Para garantirmos a independncia lgica, precisamos criar uma varivel relacional derivada
que chamaremos de UsuarioVisao ou simplesmente Usuario. No SQL, essa varivel de relao
representar uma juno das tabelas geradas pelas variveis de relao bsica Funcionario
e UsuarioTabela e representar todos os usurios, mas, dessa vez, com o atributo nome
advindo da tabela que representa o conjunto de funcionrios.

Dada as explicaes imediatamente acima, a resposta correta a alternativa C.

Pgina 13 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

5. Assuntos relacionados: Banco de Dados, Normalizao de Banco de Dados, Primeira


Forma Normal (1FN), Segunda Forma Normal (2FN), Terceira Forma Normal (3FN),
Banca: CESGRANRIO
Instituio: Petrobras
Cargo: Analista de Sistemas - Eng. de Software
Ano: 2008
Questo: 25
As informaes a seguir so comuns s questes de nmero 5 ao 8

Considere as tabelas de um banco de dados relacional descritas abaixo, onde os campos


que compem chaves primrias esto assinalados com *.

TABELA CAMPOS
CLIENTE *CODIGO_C, CPF, NOME, CIDADE
PRODUTO *CODIGO_P, DESCRICAO, PRECO
VENDA *CODIGO_C, *CODIGO_P, CPF, DATA, QUANTIDADE

H uma chave estrangeira de VENDA para CLIENTE com base nos campos CODIGO_C
e de VENDA para PRODUTO com base nos campos CODIGO_P. O campo CPF chave
candidata para CLIENTE e tambm armazenado na tabela VENDA. Os campos NOME
e DESCRICAO tambm so chaves candidatas de suas respectivas tabelas. Os campos
CIDADE, PRECO, DATA e QUANTIDADE admitem valores repetidos.

Sobre as formas normais a que as tabelas satisfazem, assinale a armativa correta.

(a). CLIENTE satisfaz segunda forma normal (2FN), mas no terceira (3FN).

(b). PRODUTO satisfaz segunda forma normal (2FN), mas no terceira (3FN).

(c). VENDA satisfaz segunda forma normal (2FN), mas no terceira (3FN).

(d). VENDA no satisfaz segunda forma normal (2FN).

(e). As trs tabelas satisfazem terceira forma normal (3FN).

Soluo:
Primeiramente, vamos denir o que dependncia funcional. Dizemos que B funcional-
mente dependente de A (A B) se, para cada valor de A, existe exatamente um atributo B.
Um exemplo prtico cidade estado, uma cidade A implicar em exatamente um estado
B correspondente. No caso, A o determinante e B o dependente.

A dependncia funcional trivial indica que um determinante com mais de um atributo


pode determinar seus prprios membros quando isolado. Exemplo: {banco, agencia}
{agencia}. A dependncia funcional no-trivial indica que um determinante identica outro
atributo qualquer {banco, agencia} {cidade}.

Se um atributo A determina B e se B determina C, podemos dizer que A determina C


de forma transitiva. Isto , existe uma dependncia funcional transitiva de A para C. Ex-
emplo: cidade estado, estado pais, ento cidade pais.

Uma chave candidata um atributo ou conjunto de atributos que nico dentre todos
os registros. J a chave primria uma chave escolhida entre as chaves candidatas para ser
o identicador principal da tabela.

Pgina 14 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

Outra denio importante a do atributo no-primo, que um atributo que no ocorre


em nenhuma das chaves candidatas da tabela.

Sabemos que uma tabela est na segunda forma normal se ela est na primeira forma nor-
mal e no existe atributo no-primo na tabela que seja funcionalmente dependente de algum
subconjunto prprio de qualquer chave candidata. Melhor dizendo: todas as colunas que
no fazem parte de nenhuma chave candidata dependem de todas as colunas que compem
qualquer chave candidata. Quando s h uma chave candidata (no caso a primeira) e ela
composta por somente um atributo, automaticamente a tabela estar na segunda forma
normal se j tiver atendido s condies da primeira forma normal.

Sendo assim, j podemos notar que a tabela CLIENTE e a tabela PRODUTO esto na
segunda forma normal garantidamente. J ao analisarmos a tabela VENDA poderamos nos
enganar ao acharmos que pelo fato de CPF ser dependente funcionalmente de CODIGO_C,
estaramos violando a condio exigida da segunda forma normal, j que CODIGO_C um
subconjunto prprio da chave primria. Essa concluso seria verdadeira se no fosse pelo
fato de {CPF,CODIGO_P} ser uma chave candidata, tornando o atributo CPF primo, ou
seja no no-primo. Conclumos, assim, que a tabela VENDA est na segunda forma normal.

Uma tabela est na terceira forma normal se qualquer atributo no-primo no transi-
tivamente dependente de qualquer chave candidata da tabela. Ao analisarmos a tabela
CLIENTE, notamos que o atributo CIDADE o nico no-primo, sendo impossvel, dessa
maneira, haver dependncia funcional em que uma chave candidata no seja o atributo de-
terminante. Ou seja, todas as dependncias funcionais so diretas a partir de qualquer chave
candidata e a tabela CLIENTE est na terceira forma normal. O nico atributo no-primo
da tabela PRODUTO PRECO. Portanto, seguindo o mesmo raciocnio anterior, conclu-
mos que PRODUTO est na terceira forma normal.

A tabela VENDA tem 2 atributos no-primo: DATA e QUANTIDADE. Como no h


dependncia funcional entre eles, essa tabela tambm est na terceira forma normal.

Logo, conclumos que todas as tabelas satisfazem terceira forma normal e a alternativa a
ser marcada a alternativa E.

Se continussemos a analisar quais formas normais so atendidas pelas tabelas da questo,


chegaramos concluso de que as tabelas CLIENTE e PRODUTO satisfazem forma
normal de Boyce Codd (FNBC), ao contrrio da tabela VENDA, que no satisfaz. Uma
tabela que no satisfaz a forma normal de Boyce Codd (FNBC) pode ser identicada com
as seguintes caractersticas:

encontramos duas ou mais chaves candidatas ({CODIGO_C, CODIGO_P} e {CPF,


CODIGO_P}, no caso da tabela VENDA);

as chaves candidatas apresentam mais de um atributo (so compostas);

todas as chaves candidatas tm um atributo em comum (CODIGO_P, no caso das


chaves candidatas da tabela VENDA).

Pgina 15 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

6. Assuntos relacionados: Banco de Dados, SQL,


Banca: CESGRANRIO
Instituio: Petrobras
Cargo: Analista de Sistemas - Eng. de Software
Ano: 2008
Questo: 26
Considere o comando em SQL apresentado a seguir.

SELECT C.CIDADE, AVG(P.PRECO)


FROM CLIENTE C, PRODUTO P, VENDA V
WHERE C.CODIGO_C = V.CODIGO_C AND P.CODIGO_P = V.CODIGO_P AND
P.PRECO > 100
GROUP BY C.CIDADE
HAVING AVG(P.PRECO) < 200

O que exibe esse comando?

(a). Para cada cidade, a mdia de preo de produtos vendidos a clientes da cidade com
valores acima de 100, se a mdia for menor que 200.

(b). Para cada cidade, a mdia de preo dos produtos vendidos a clientes da cidade
com valores entre 100 e 200.

(c). Para cada cidade, a quantidade de produtos vendidos com valores entre 100 e 200.

(d). Para cada cidade, a mdia de preo dos produtos vendidos a clientes da cidade
que compraram produtos de valores maiores do que 100 e cuja mdia de compra
menor do que 200.

(e). Apenas a cidade cuja mdia de preo dos produtos vendidos a mais alta dentre
as que tiveram mdia menor do que 200 e produtos vendidos com valores acima
de 100.

Soluo:
A primeira clusula WHERE (C.CODIGO_C = V.CODIGO_C) ir implementar uma
juno entre as tabelas CLIENTE e VENDA. Essa juno, caso fosse considerada sozinha,
iria listar registros em que cada um iria representar uma venda de produto, mas com infor-
maes adicionais do cliente: NOME e CIDADE.

Adicionando mais uma clusula de juno (P.CODIGO_P = V.CODIGO_P ), ser re-


alizada uma juno com a relao j obtida anteriormente. Nesse caso, todos os produtos
vendidos sero listados com suas respectivas informaes de descrio, preo, data de quando
foi realizada a venda e as informaes completas do cliente.

Entretanto, ao se usar a clusula P.P RECO > 100, nem todos os produtos vendidos sero
listados. Sero listados somente aqueles cujo valor preo unitrio for superior a 100.

A clusula GROUP BY C.CIDADE ir agrupar as vendas dos produtos por cidade e


reunir informaes, de acordo com AV G(P.P RECO), do preo mdio unitrio de cada
produto, dentro, claro, dos produtos que j possuem valor unitrio maior do que 100. Ex-
emplicando: caso os clientes de uma determinada cidade X tenham comprado exatamente
6 produtos com os preos 1000, 500, 120, 120, 100 e 50, somente sero considerados os pro-
dutos com valor maior do que 100, que so os de 1000, 500, 120 e 120. A mdia unitria

Pgina 16 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

desses produtos (1000 + 500 + 120 + 120)/4 = 435.

J a ltima clusula HAVING AV G(P.P RECO) < 200 ir permitir que somente as cidades
cujo preo mdio dos produtos adquiridos seja menor que 200. A cidade X anteriormente
citada no ir entrar na relao nal, j que a mdia dos preos unitrios de seus produtos
adquiridos maior do que 200 (435).

Podemos concluir que a alternativa correta a letra A. A letra D pode confundir um pouco,
mas ela est errada, pois o que est sendo considerado a mdia do preo do produto
HAVING AV G(P.P RECO) < 200 e no a mdia de compra.

Pgina 17 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

7. Assuntos relacionados: Banco de Dados,


Banca: CESGRANRIO
Instituio: Petrobras
Cargo: Analista de Sistemas - Eng. de Software
Ano: 2008
Questo: 27
H 3 cidades com 5 clientes cada, 2 cidades com 4 clientes cada e 10 produtos cadastrados
no banco de dados. Se um cliente no compra o mesmo produto duas vezes no mesmo dia
e nem em dois dias seguidos, a quantidade mxima de registros na tabela VENDA, para
clientes de uma determinada cidade, em um intervalo qualquer de 30 dias, ser

(a). 300

(b). 750

(c). 1500

(d). 3000

(e). 4500

Soluo:
Note que um cliente no poder comprar o mesmo produto por mais de 15 vezes em um
intervalo de 30 dias, j que o intervalo mnimo entre as compras de um mesmo produto ser
de 2 dias.

No caso mximo, qualquer cliente poder realizar a compra de todos os 10 produtos, mas
no poder comprar um mesmo produto por mais de 15 vezes dentro do intervalo de 30 dias.
Ou seja, um cliente poder representar, no mximo, 150 (15x10) registros na tabela VENDA.

As cidades que possuem mais clientes, possuem cinco clientes. Logo, no mximo, essas
cidades podero conter 750 (5x15x10) registros na tabela VENDA. Conclumos que a re-
sposta correta a alternativa B.

A cidade que possui quatro clientes, poder, no mximo, ser associada a 600 registros da
tabela VENDA. Podemos tambm calcular a quantidade mxima de registros na tabela
VENDA da seguinte maneira: 3x5x15x10 + 2x4x15x10 = 3450. Tal clculo seria interes-
sante se quisssemos, por exemplo, dimensionar o tamanho mximo do banco de dados.

Pgina 18 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

8. Assuntos relacionados: Banco de Dados, Modelo Multidimensional, Data Mart, Data


Warehouse,
Banca: CESGRANRIO
Instituio: Petrobras
Cargo: Analista de Sistemas - Eng. de Software
Ano: 2008
Questo: 28
Um datamart ser montado para anlise das vendas. Consultas sero feitas com base em
produtos, perodos, cidades e clientes. Assinale a armao correta sobre o modelo multidi-
mensional a ser gerado.

(a). conveniente criar uma tabela para a dimenso DATA, para evitar clculos com
datas nas consultas SQL e facilitar as consultas por intervalos semanais, mensais,
anuais, e similares.

(b). Nenhum atributo da tabela PRODUTO, alm da chave primria, dever constar
da tabela fato.

(c). Pelas especicaes, CIDADE deve ser, necessariamente, uma dimenso do mod-
elo.

(d). O modelo estar necessariamente no formato oco de neve (snowake).

(e). QUANTIDADE um fato no aditivo.

Soluo:
Um datamart pode ser conceituado como um subconjunto dos dados de uma organizao
que so direcionados a propsitos bem especcos ou a pequenos grupos de pessoas que os
utilizam como auxlio em tomadas de deciso.

Os datamarts podem ser entendidos como subconjuntos de um data warehouse. Hoje


comum que as empresas comecem a construir o seu data warehouse a partir de datamarts
focados em reas bem especcas e, assim, irem expandindo at formarem o seu data ware-
house.

preciso car claro que as diferenas entre datamart e data warehouse so apenas com
relao ao tamanho e ao escopo do problema a ser resolvido. Portanto, as denies dos
problemas e os requisitos de dados so essencialmente os mesmos para ambos. Enquanto
um datamart trata de um problema departamental ou local, um data warehouse envolve o
esforo de toda a empresa para que o suporte a decises atue em todos os nveis da orga-
nizao. Sabendo-se as diferenas entre escopo e tamanho, o desenvolvimento de um data
warehouse requer tempo, dados e investimentos gerenciais muito maiores que de um data-
mart.

Vamos apresentar, agora, alguns conceitos importantes em relao a data warehouse. Den-
imos fato como uma coleo de itens de dados composta de medidas. Esse valor numrico
denominado de medida. Por exemplo, caso se deseje analisar se as vendas em um determi-
nado estado esto caindo, podemos denir um fato representando as vendas totais realizadas
nas cidades de um determinado estado e analisar o resultado de suas medidas ao longo do
tempo.

Os fatos podem ser aditivos, semi-aditivos e no-aditivos. Um fato aditivo quando ele
pode ser agregado em todas as dimenses. Por exemplo, VENDAS pode ser agregado em

Pgina 19 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

qualquer combinao das dimenses DATA, PRODUTO e CIDADE. Um fato semi-aditivo


quando ele no pode ser agregado em pelo menos uma dimenso. Por exemplo, o nmero de
empregados aditivo nos diferentes departamentos da empresa, mas no o na dimenso
DATA. Um fato no-aditivo quando no pode ser agregado em nenhuma dimenso.

Uma dimenso uma coleo de atributos textuais que descrevem os objetos da orga-
nizao, e que esto altamente relacionados uns com os outros. Os atributos dimensionais
so a fonte para as restries mais interessantes nas consultas a um DW e so virtualmente
a fonte para os cabealhos de colunas do conjunto de respostas em SQL. Por exemplo, pode-
mos adotar CIDADE como uma dimenso. Para isso, criaramos uma tabela dimenso em
que cada registro representa uma cidade e descreve outros detalhes da cidade atravs de seus
atributos, como o estado ao qual ela pertence, por exemplo.

Um dos esquemas mais utilizados para representar um data warehouse o esquema es-
trela. Esse esquema chamado de estrela por apresentar a tabela de fatos dominante no
centro do esquema e as tabelas de dimenses nas extremidades. O esquema estrela pode
ser estendido de maneira que cada uma das pontas da estrela passa a ser o centro de outras
estrelas. Por exemplo, a dimenso CIDADE poderia ser decomposta de maneira que haja
outra tabela representando os estados e outras informaes relacionadas a ele. Essa decom-
posio seria basicamente um processo de normalizao.

Vamos, agora, analisar as alternativas.

A alternativa (A) est correta. Ao criarmos uma tabela dimenso DATA, podemos criar
um fato que represente a soma das vendas em cada um dos dias ou em cada uma das se-
manas, meses ou anos. Como os valores da tabela j esto calculados, uma consulta que
precise saber a quantidade de vendas em um determinado perodo de tempo ter um custo
muito menor.

A alternativa (B) est incorreta, pois no dimensionamento de um data warehouse, somos


livres para denir nossos fatos. No caso especco, um fato que s tivesse a chave primria
da tabela PRODUTO no teria interesse nenhum para os negcios, pois, em geral, os fatos
devem estar associados a valores que tenham representatividade, como a quantidade vendida
de um determinado produto, por exemplo.

O mesmo argumento dado anteriormente serve para as alternativas (C) e (D). H algumas
modelagens que so mais interessantes que outras, dependendo do objetivo que se deseja
alcanar, mas no h nenhuma restrio como as indicadas nas alternativas (C) e (D) para
a determinao de um modelo de data warehouse.

A alternativa (E) est errada, pois QUANTIDADE nem um fato.

Pgina 20 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

9. Assuntos relacionados: RSS, ATOM,


Banca: CESGRANRIO
Instituio: Petrobras
Cargo: Analista de Sistemas - Eng. de Software
Ano: 2008
Questo: 29
Os formatos de distribuio de informaes e notcias (newsfeeds) RSS e ATOM foram dis-
seminados pelos blogs e tm sido utilizados nos mais variados tipos de sites como alternativa
a outras modalidades de distribuio de notcias. Sobre este tema, correto armar que

(a). ao assinar um newsfeed, o usurio passa a receber emails peridicos com as notcias
fornecidas pelo mesmo.

(b). ao contrrio do ATOM, o RSS um padro do IETF (Internet Engineering Task


Force).

(c). os newsfeeds em ATOM so estruturados em formato XHTML.

(d). os newsfeeds em RSS so estruturados em formato HTML.

(e). o recurso de autodescoberta para ambos os formatos pode ser implementado


atravs de tags link na seo header da pgina do site que os oferece.

Soluo:
(A) ERRADA

As informaes publicadas via RSS e ATOM podem ser acessadas basicamente via leitores de
feeds, tambm conhecidos como agregadores. Os agregadores so programas que permitem
a visualizao de vrios feeds em um nico local, organizados como o usurio preferir. Exis-
tem agregadores para Linux, Windows e Mac OS, agregadores em pginas de Internet, assim
como agregadores nos prprios browsers. Exemplos tpicos de programas leitores de RSS
so Google Reader, RSS Reader e Bloglines. No linguajar das tecnologias RSS e ATOM, os
os usurios assinam um feed de um determinado site e a partir da o agregador comea a
receber as informaes distribudas pelo site. Mais precisamente, o agregador que se en-
carrega de vericar periodicamente se existe alguma nova informao disponvel nas fontes.
Perceba, portanto, que ao assinar um newsfeed o usurio no passa a receber emails com as
notcias, como sugere este alternativa. Ou seja, esta no a resposta para esta questo.

(B) ERRADA

O ATOM (que no uma sigla) foi criado por um conjunto de desenvolvedores inde-
pendentes, mas atualmente o projeto recebe apoio de grandes corporaes da Internet.
Para saber mais sobre o ATOM e suas caractersticas, o candidato pode visitar o site o-
cial do projeto em http://www.atomenabled.org. O RSS foi criado pela Netscape, mas
atualmente sua especicao mantida pelo RSS Advisory Board, cujo site ocial o
http://www.rssboard.org. Como o RSS no um padro IETF, conclumos que esta al-
ternativa est errada.

(C) e (D) ERRADAS

Tanto o RSS quanto o ATOM so estruturados em XML, e no em XHTML e HTML


como apresentam as alternativas.

Pgina 21 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

(E) CORRETA

O recurso de autodescoberta uma forma automtica de noticar os aplicativos (browser,


leitores, agregadores etc) que um determinado site possui feeds. Um exemplo tpico da
implementao do recurso de autodescoberta de feeds mostrado a seguir.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"


"http://www.w3.org/TR/html4/strict.dtd">

<html lang="en">

<head>
<link rel="alternate" type="application/atom+xml"
title="Main Atom" href="/xml/index.atom">
<link rel="alternate" type="application/atom+xml"
title="Recent comments" href="/xml/comments.atom">
</head>

<body>
...
</body>

</html>

Pgina 22 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

10. Assuntos relacionados: Segurana da Informao, PKI, Certicado Digital, HTTPS,


Banca: CESGRANRIO
Instituio: Petrobras
Cargo: Analista de Sistemas - Eng. de Software
Ano: 2008
Questo: 30
Durante o projeto de uma aplicao Internet, vericou-se a necessidade de a mesma propor-
cionar conexes seguras entre o browser dos clientes e o servidor de aplicaes, utilizando
HTTPS. Durante uma reunio entre os diversos membros da equipe do projeto, foram feitas
as armativas a seguir.

I - Ser preciso dotar o servidor de aplicao de um certicado digital.

II - Ser preciso obter uma autorizao de funcionamento (FA) de uma autoridade certi-
cadora (CA).

III - Se um cliente no possuir uma identidade digital, tal como um e-CPF ou e-CNPJ,
somente sero criptografados os dados enviados do cliente para o servidor; nesta situ-
ao, o servidor no deve exibir dados sigilosos para o cliente, pelo fato de os mesmos
estarem sujeitos interceptao; esta a principal razo pela qual alguns servios na
Internet s so disponibilizados para clientes que possuem identidade digital.

IV - Um mesmo endereo de Internet poder ser usado para conexes HTTP e HTTPS,
desde que sejam utilizadas portas diferentes para cada um.

Esto corretas APENAS as armativas

(a). I e II

(b). I e III

(c). I e IV

(d). II e III

(e). III e IV

Soluo:
O HTTPS (HyperText Transfer Protocol Secure) uma implementao do protocolo HTTP
sobre uma camada adicional SSL (Security Sockets Layer) ou TLS (Transport Layer Se-
curity), cujo objetivo permitir que os dados sejam transmitidos atravs de uma conexo
criptografada e que se verique a autenticidade das partes comunicantes por meio de certi-
cados digitais. Portanto, a alternativa I correta, pois o uso de certicados digitais parte
da implementao do HTTPS.

Um exemplo tpico da utilizao de HTTPS so as pginas de login dos webmails, nas


quais o objetivo principal proteger os dados de autenticao (login e senha) dos usurios,
que sero todos transmitidos de forma criptografada. Nesse caso, o HTTPS tambm garante
a autenticidade do servidor que, no processo de estabelecimento da comunicao, apresenta
ao cliente um certicado digital que atesta sua identidade.

Repare que no exemplo dado, um usurio A pode se passar por um usurio B, bastando
para isso que A conhea a senha de B. Ou seja, no h autenticao por parte do cliente. Na
verdade, a maioria das aplicaes que utilizam HTTPS, como webmails (Gmail, Hotmail,
Yahoo etc) e comrcio eletrnico (Submarino, Amazon, Ebay etc), ainda no se preocupam
com a autenticao dos clientes. No entanto, a autenticao dos clientes vem se tornando

Pgina 23 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

mais comum, principalmente em aplicaes governamentais e em sites de bancos. O e-CPF,


por exemplo, pode ser utilizado para garantir a identidade do contribuinte nas relaes com
a Receita Federal atravs da Internet. Alguns bancos tambm tm passado a usar autenti-
cao de mltiplos fatores, por meio do uso de tokens OTP e de certicados digitais.

importante ressaltar que, mesmo que apenas uma das partes (servidor ou cliente) se
autentique, a comunicao ser criptografada tanto no sentido cliente/servidor quanto no
sentido servidor/cliente, j que toda a comunicao acontece pela mesma conexo TCP.
Portanto, a alternativa III incorreta.

As portas s quais se refere a armativa IV so as portas utilizadas na camada de transporte


pelo TCP para oferecer os servios s aplicaes das camadas superiores. Para cada pro-
grama da camada de aplicao que deseja se comunicar usando o TCP, necessrio alocar
ao menos um socket, que pode ser denido como um endpoint para comunicao, sendo
unicamente identicado pela combinao (Endereo IP, Porta TCP). Uma conexo TCP,
portanto, formada por um par de sockets. Para ter conexes HTTP e e HTTPS acessveis
por um mesmo IP, necessrio que esses servios utilizem portas TCP diferentes. Comu-
mente, os servios HTTP e HTTPS utilizam as portas 80 e 443, respectivamente. Portanto,
a alternativa IV correta.

A armativa II trata da estruturao de uma PKI (Public Key Infrastructure), que pode ser
denida como um conjunto de hardware, software, pessoas, polticas e procedimentos para
criar, gerenciar, armazenar, distribuir e revogar certicados digitais. No Brasil, esse papel
desempenhado pelo ICP Brasil (Infraestrutura de Chaves Pblicas Brasileiras).

Em uma PKI, dois dos elementos mais importantes so as Autoridades Certicadoras (ACs)
e as Autoridades de Registro (ARs), cujas denies no glossrio do ICP Brasil so:

Autoridade Certicadora: a entidade, subordinada hierarquia da ICP Brasil, re-


sponsvel por emitir, distribuir, renovar, revoga e gerenciar certicados digitais. Cabe
tambm AC emitir listas de certicados revogados (LCR) e manter registros de suas
operaes sempre obedecendo as prticas denidas na Declarao de Prticas de Cer-
ticao (DPC). Desempenha como funo essencial a responsabilidade de vericar se
o titular do certicado possui a chave privada que corresponde chave pblica que
faz parte do certicado. Cria e assina digitalmente o certicado do assinante, onde o
certicado emitido pela AC representa a declarao da identidade do titular, que possui
um par nico de chaves (pblica/privada). Na hierarquia dos Servios de Certicao
Pblica, as AC esto subordinadas Autoridade Certicadora de nvel hierarquica-
mente superior;

Autoridade de Registro: entidade responsvel pela interface entre o usurio e a


Autoridade Certicadora. Vinculada a uma AC que tem por objetivo o recebimento,
validao, encaminhamento de solicitaes de emisso ou revogao de certicados digi-
tais s ACs e identicao, de forma presencial, de seus solicitantes. responsabilidade
da AR manter registros de suas operaes. Pode estar sicamente localizada em uma
AC ou ser uma entidade de registro remota.

Outros elementos e termos importantes no contexto de infraestruturas de chaves pblicas


podem ser pesquisados no glossrio do ICP Brasil, disponvel no endereo
https://www.icpbrasil.gov.br/duvidas/glossary.

Como em vrias questes de concurso, o exigido do candidato nesse caso o conhecimento

Pgina 24 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

da terminologia bsica. Ao menos no glossrio do ICP Brasil, no existe nenhuma referncia


as tais FAs (autorizao de funcionamento), presente na armativa II. Portanto, pode-se
considerar a alternativa II errada.

Pgina 25 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

11. Assuntos relacionados: XML,


Banca: CESGRANRIO
Instituio: Petrobras
Cargo: Analista de Sistemas - Eng. de Software
Ano: 2008
Questo: 31
Um tag XML vlido do ponto de vista sinttico

(a). <nome do cliente>Carlos da Silva</nome do cliente>

(b). <_endereco tipo=residencial>Rua das Flores, 1234</_endereco>

(c). <telefone numero=12345678 />

(d). <*preferencial* />

(e). <pross&atilde;o>Professor</pross&atilde;o>

Soluo:
XML o acrnimo para Extensible Markup Language. Assim como o HTML (HyperText
Markup Language), o XML derivado do padro ISO 8879, mais conhecido como SGML
(Standard Generalized Markup Language). A grande diferena entre HTML e XML que o
HTML dene a apresentao dos dados, enquanto o XML dene a estruturao dos dados e
o que eles representam. Em outras palavras, o XML utilizado para descrever o contedo
do documento.

Assim como o HTML, o XML faz uso de tags (palavras encapsuladas por sinais '<' e '>')
e atributos (denidos com name=value). No HTML, as tags e atributos especicam tm
funes denidas. A tag <b>, por exemplo, indica que texto dever ser exibido em negrito,
enquanto a tag <i> indica que o texto deve ser exibido em itlico. J no XML, as tags
so utilizadas apenas para delimitar os trechos de dados. Ou seja, uma tag <p>, que no
HTML indicaria um pargrafo, no XML pode indicar um preo, um parmetro, uma pessoa
ou qualquer outra informao.

Outro ponto fundamental na diferena entre o HTML e o XML que no HTML existe
um conjunto nito de tags, enquanto no XML, o conjunto de tags utilizadas em um doc-
umento pode ser denido pelo prprio usurio da linguagem, devendo as tags obedecerem
um conjunto de regras de nomenclatura.

Na especicao formal do XML, as regras de nomenclatura so denidas em termos uti-


lizando a notao EBNF (Extended Backus-Naur Form). A seo 2.3 da especicao do
XML, disponvel em http://www.w3.org/TR/2006/REC-xml11-20060816/, apresenta em
detalhe as regras de sintaxe. Algumas das regras mais importantes so as seguintes:

os nomes dos elementos podem conter letras, nmeros e outros caracteres;

os nomes dos elementos no podem comear com nmeros ou caracteres de pontuao;

os nomes dos elementos no podem comear com as sequncias xml, XML, Xml e outras
anlogas;

os nomes dos elementos no podem conter espaos.

Pelo o exposto, a alternativa (A) invlida, pois o nome do elemento possui espaos. A
alternativa (C) tambm apresenta uma sintaxe invlida, pois o valor do atributo numero
no foi colocado entre aspas, que so necessrias nesse caso. A alternativa (D), por sua

Pgina 26 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

vez, incorreta, pois comea com o caractere *, considerado invlido em qualquer posio
em nome de tag. A alternativa (E) tambm invlida, pois o nome do elemento est no
formato HTML encoded. O nome deveria ser simplesmente <prosso>, sem a necessidade
de substituir o pela sequncia &atilde. A nica alternativa correta , portanto, a letra
(B).

Pgina 27 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

12. Assuntos relacionados: XML, CSS, HTTP,


Banca: CESGRANRIO
Instituio: Petrobras
Cargo: Analista de Sistemas - Eng. de Software
Ano: 2008
Questo: 32
Analise as armativas a seguir, sobre CSS (Cascading Style Sheets).

I Uma folha de estilo CSS um documento XML, em conformidade com o esquema XML
xsd:css mantido pelo consrcio W3C, o que constitui uma barreira inicial de adoo
para organizaes onde o layout e a programao visual dos sites e portais so mantidas
por prossionais de criao ao invs de desenvolvedores.

II O uso de folhas de estilo CSS externas, em alternativa marcao com atributos nos
tags HTML e XHTML, proporciona uma reduo signicativa da exigncia de banda,
melhorando a experincia do usurio e demandando menos recursos dos servidores do
site.

III possvel especicar folhas de estilos diferentes para diferentes mdias em que a pgina
ser utilizada, o que permite, por exemplo, que uma mesma pgina se apresente de
forma diferente quando visualizada no browser e impressa.

IV O termo Cascading, que, em Portugus, pode ser traduzido como Em Cascata, reete
o fato de que, durante a aplicao de estilos a um documento, os tags que satisfazem a
mais de um seletor recebero apenas os atributos de estilo do seletor especicado por
ltimo, ignorando todos os atributos de seletores anteriores.

Esto corretas APENAS as armativas

(a). I e II

(b). I e III

(c). II e III

(d). II e IV

(e). III e IV

Soluo:
O CSS uma linguagem utilizada para descrever a apresentao (aparncia e formatao)
de um documento escrito em linguagens de marcao. O CSS comumente utilizado para
estilizar pginas Web escritas em HTML, mas ele pode ser utilizado para formatar qualquer
tipo de documento XML. O CSS foi primariamente desenvolvido para permitir a separao
entre o contedo e elementos de apresentao de um documento, como cores, fontes e layouts.
Essa separao permite, por exemplo:

aumentar a acessibilidade do contedo, a medida que permite a elaborao de docu-


mentos de melhor apresentao;

prover maior exibilidade e controle na especicao dos caractersticas da apresentao


do contedo;

reduzir a complexidade e a repetio do contedo estrutural da pgina, permitindo o


chamado tableless web design ;

reutilizar o cdigo de apresentao, uma vez que vrios documentos podem compartil-
har as denies feitas em um nico CSS.

Pgina 28 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

Em resumo, pode-se dizer que, ao separar o contedo da apresentao, o CSS simplica a


editorao e a manuteno de sites Web. Notoriamente, essa separao tambm permite
que a apresentao do site seja denida por designers (prossionais de criao), que podem
trabalhar em paralelo aos desenvolvedores. Desprende-se disso que a armativa I incorreta.

O CSS permite tambm que um mesmo documento seja apresentado em diferentes estilos de
acordo com o mtodo de renderizao utilizado. Nesse contexto, o mtodo de renderizao
basicamente denido de acordo com o dispositivo em que o documento ser apresentado, que
pode ser uma tela de computador (on-screen ), em uma impressora (in-print ) e at mesmo
em um dispositivo Braille. Essa exibilidade do CSS tem ganhado enorme importncia a
medida que os dispositivos como hand-helds e celulares tem sido cada vez mais utilizados
para acesso a Internet. Portanto, a alternativa III est correta.

A utilizao de arquivos CSS tambm pode contribuir para economia de banda, a medida
que os arquivos CSS podem ser armazenados no cache dos browsers. Ao serem armazena-
dos em cache, a quantidade de requisies HTTP necessrias nas prximas vezes em que
o site for acessado ser menor. Em alguns casos, pode-se utilizar tambm o cdigo CSS
inline, ou seja, dentro da prpria pgina HTML, de modo que no seja necessria uma req-
uisio HTTP adicional para obter um arquivo CSS externo. Essa tcnica especialmente
para diminuir o tempo de resposta de pginas que so acessadas uma vez (ou muito poucas
vezes) dentro de uma sesso. Exemplos tpicos de pginas com essa caracterstica so as
pginas iniciais de sites como Yahoo! e Google. Com isso, a alternativa II est correta. O
endereo http://developer.yahoo.com/performance/rules.html apresenta essas e mais algu-
mas dicas para aumentar o desempenho de aplicaes web.

A alternativa IV refere-se ao efeito cascata do CSS, que pode ser denido como um con-
junto de regras de prioridade para aplicao da regra de estilo aos elementos do documento.
Para determinar a prioridade so considerados diversos fatores, como o tipo de folha de
estilo, o local fsico da folha de estilo no seu todo, o local fsico da regra de estilo na folha
de estilo e a especicidade da regra de estilo. A ordem crescente de prioridade para o efeito
cascata :

1 folha de estilo padro do navegador do usurio;

2 folha de estilo do usurio;

3 folha de estilo do desenvolvedor:

3.1 estilo externo (importado ou linkado);

3.2 estilo incorporado (denido na seo head do documento);

3.3 estilo inline (dentro de um elemento HTML).

4 declaraes do desenvolvedor com !important;

5 declaraes do usurio com !important.

Assim, uma declarao de estilo com !important denido pelo usurio prevalece sobre todas
as demais, pois a de mais alta prioridade. Entre as folhas de estilo denidas pelo desen-
volvedor do site, os estilos inline (dentro de um elemento HTML) tem a prioridade mais
elevada, isto , prevalecer sobre a folha de estilo denida na seo head, e, esta prevalecer
sobre uma folha de estilo externa. Portanto, a alternativa IV errada pois dene de forma
errada as regras de priorizao do CSS.

Pgina 29 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

13. Assuntos relacionados: Gerncia de Projeto, Gerncia de Tempo, Desenvolvimento de


Cronograma,
Banca: CESGRANRIO
Instituio: Petrobras
Cargo: Analista de Sistemas - Eng. de Software
Ano: 2008
Questo: 33
Ao apresentar o cronograma de um projeto diretoria da empresa, o gerente foi informado
de que a data de trmino do projeto dever ser antecipada em 3 meses. Esta exigncia
implicar, necessariamente, em

(a). refazer as estimativas de esforo para uma ou mais tarefas do projeto.

(b). reduzir a durao do caminho crtico do projeto.

(c). alocar mais recursos ao projeto.

(d). fazer entregas diferentes das especicadas.

(e). aumentar o custo do projeto.

Soluo:
(A) ERRADA

A antecipao da data nal do projeto consiste, normalmente, em alterar a durao de


atividades que pertencem ao caminho crtico. O caminho crtico, geralmente, a sequncia
de atividades do cronograma que determina a durao do projeto, isto , o caminho mais
longo do projeto. Dependendo da tcnica de compreenso de cronograma utilizada, h a ne-
cessidade de refazer as estimativas de esforo das atividades relacionadas ao caminho crtico,
mas no uma implicao necessria para reduzir o prazo de um projeto.

(B) CORRETA

Antecipar a data nal do projeto em 3 meses implica em alterar as estimativas de du-


rao das atividades do caminho crtico, ou seja, reduzir a durao do caminho crtico.
Isso realizado utilizando as tcnicas de compresso de cronograma que consistem em re-
duzir o prazo do projeto denido inicialmente sem afetar o escopo para atender restries
de cronograma. As tcnicas utilizadas so a compresso e o paralelismo. Na comprenso,
as compensaes entre custo e cronograma so analisadas para determinar o mximo de
compresso para o menor custo incremental. Essa tcnica pode produzir uma alternativa
no vivel devido ao aumento de custo. Na de paralelismo, as fases ou atividades que nor-
malmente sero realizadas em sequenciamento so realizadas em paralelo. Tal tcnica pode
gerar retrabalho, devido a falta de informaes mais detalhadas a respeito de uma atividade.

(C) ERRADA

Alocar mais recursos ao projeto no implicao necessria para reduzir o prazo de um


projeto. Dependendo da tcnica de comprenso de cronograma utilizada, h a necessidade
de alocar mais recursos para as atividades relacionadas ao caminho crtico do projeto, mas
para isso tem que ser analisado o impacto nanceiro no projeto.

Pgina 30 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

(D) ERRADA

Algumas vezes, ao se diminuir um cronograma, altera-se tambm o escopo do projeto.


certo que no ser a gerncia de tempo que far a alterao do escopo. Ser sim a gerncia de
escopo, informada da diminuio do cronograma pela gerncia de integrao. De qualquer
forma, importante perceber que uma alterao no cronograma no necessariamente gera
alteraes das entregas.

(E) ERRADA

Aumentar o custo de um projeto depende da aprovao das pessoas interessadas, os stake-


holders, no projeto, e no uma negociao fcil. Alm de que, o aumento de um custo de
um projeto no uma implicao necessria para reduzir o prazo de um projeto, conforme
j descrevemos anteriormente.

Pgina 31 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

14. Assuntos relacionados: Gerncia de Projeto, Gerncia de Escopo, EAP,


Banca: CESGRANRIO
Instituio: Petrobras
Cargo: Analista de Sistemas - Eng. de Software
Ano: 2008
Questo: 34
A Estrutura Analtica do Projeto - EAP (em Ingls Work Breakdown Structure  WBS)
inclui

(a). estimativas de prazos.

(b). estimativas de custos.

(c). entregas internas e externas.

(d). alocao dos recursos s tarefas.

(e). estratgias para mitigao dos riscos.

Soluo:
A rea de gerenciamento do escopo compreende os processos necessrios para assegurar que
o projeto inclua todo o trabalho necessrio, e somente ele, para nalizar o projeto com
sucesso. A gerncia de escopo tem como principal preocupao denir o que est ou no
includo no projeto. A Estrutura Analtica do Projeto (EAP), elaborada pelo processo Criar
EAP, uma das principais sadas da gerncia de escopo.

(A) ERRADA

As estimativas de prazo so elaboradas pela rea de gerenciamento de tempo com base


na estimativa de recursos necessrios, sequenciamento e durao das atividades. O processo
responsvel por realizar as estimativas de prazo o Desenvolvimento do cronograma. Exis-
tem diversas ferramentas e tcnicas para realizar o desenvolvimento do cronograma, como:
anlise de rede do cronograma, mtodo do caminha crtico, compresso do cronograma,
nivelamento de recursos, software de gerenciamento de projetos (MS Project, Primavera),
etc. As estimativas de prazo so descritas no Plano de Gerenciamento do Cronograma e no
na EAP.

(B) ERRADA

As estimativas de custo so elaboradas pela rea de gerenciamento de custos baseado na


estimativa dos recursos necessrios para nalizar cada atividade do cronograma. Os cus-
tos das atividades do cronograma so estimados para todos os recursos cujos custos sero
lanados no projeto. As estimativas de custo podem ser geradas por meio de ferramentas
e tcnicas, como: estimativa anloga, modelagem paramtrica, estimativa bottom-up, soft-
ware de gerenciamento de projetos, etc. As estimativas de custos esto descritas no Plano
de Gerenciamento de Custos e no na EAP.

(C) CORRETA

Uma entrega qualquer produto ou servio gerado pelo projeto. Segundo PMBOK, a
EAP uma decomposio hierrquica orientada a entrega de trabalho a ser executado pela
equipe de projeto, para atingir os objetivos do projeto e criar as entregas necessrias. A
EAP subdivide o trabalho a ser realizado no projeto em partes menores, em que cada nvel

Pgina 32 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

descendente representa uma denio mais detalhada do trabalho do projeto. O nvel mais
baixo conhecido como pacote de trabalho. o ponto no qual o custo e o cronograma do
trabalho podem ser estimados de forma convel. Enm, todo o trabalho a ser executado
no projeto deve estar na EAP, e seus componentes auxiliam as partes interessadas (stake-
holders) a visualizar as entregas (internas ou externas).

(D) ERRADA

A alocao dos recursos s tarefas denidas na EAP realiza pela rea de gerenciamento
de recursos humanos e compreende a alocao propriamente dita da equipe ao projeto. Os
papis e responsabilidades denidos sero destinados a uma pessoa ou grupo de pessoas. As
formas de alocao so: negociao, alocao prvia e contratao. A alocao de recursos
descrita no Plano de Gerenciamento de Pessoal e no na EAP.

(E) ERRADA

Estratgia de mitigao de riscos realizada pela rea de gerenciamento de riscos e com-


preende planejar as respostas aos riscos de forma a reduzir as ameaas, ou seja, determinar
quais aes devero ser tomadas para reduzir as ameaas aos objetivos do projeto. Vrias
alternativas podem ser adotadas, como:

evitar: mudar o plano do projeto para eliminar o risco;

transferir: passar a resposta ao risco para terceiros;

mitigar: estabelecer estratgias antecipadas para evitar que eventos causadores do


risco aconteam;

aceitar: no estabelece estratgias para lidar com os riscos.

As respostas aos riscos so includas no Registro de Riscos e no na EAP.

Pgina 33 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

15. Assuntos relacionados: Gerncia de Projeto, Gerncia de Custos, Gerenciamento de


Valor Agregado (GVA),
Banca: CESGRANRIO
Instituio: Petrobras
Cargo: Analista de Sistemas - Eng. de Software
Ano: 2008
Questo: 35
So enumeradas a seguir algumas mtricas colhidas para determinado intervalo de tempo
ao longo da vida de um projeto.

I - Custo orado do trabalho previsto.

II - Custo orado do trabalho realizado.

III - Custo real do trabalho previsto.

IV - Custo real do trabalho realizado.

A tcnica de Gerenciamento de Valor Agregado  GVA (em Ingls, Earned Value Manage-
ment  EVM ) se baseia nas mtricas

(a). I e II, apenas.

(b). I e III, apenas.

(c). II e IV, apenas.

(d). I, II e IV, apenas.

(e). I, II, III e IV.

Soluo:
A GVA uma metodologia de gerenciamento usada para integrar o escopo, o cronograma e
os recursos de tal forma que se permita medir, objetivamente, o desempenho e o progresso
do projeto. Com essa metodologia possvel prever o desempenho do projeto com base no
desempenho passado.

Para utilizar a GVA, importante seguir alguns processos essenciais a qualquer projeto,
como: denio e elaborao do escopo do projeto, incluindo a Estrutura Analtica do Pro-
jeto (EAP); elaborao do cronograma a partir da EAP; estimativa de custo, partindo da
alocao dos recursos s atividades do projeto; e monitoramento do projeto.

Uma vez que esses processos tenham sido realizados, possvel realizar estimativas baseando-
se nos princpios bsicos da GVA:

BCWS (Budgeted Cost for Work Scheduled ou Custo Orado para Trabalho Planejado)
o montante nanceiro que o projeto, de acordo com o planejamento, deveria ter
consumido at um dado ponto do cronograma. O BCWS conhecido tambm como
Valor Planejado (PV);

BCWP (Budgeted Cost for Work Performed ou Custo Orado para Trabalho Realizado)
reete o valor do montante de trabalho que foi efetivamente realizado at uma data
especca. O BCWP conhecido tambm como Valor Agregado (VA);

ACWP (Actual Cost of Work Performed ou Custo Real do Trabalho Realizado) rep-
resenta o custo efetivo do trabalho realizado at o momento. O ACWP conhecido
tambm como Custo Real (CR).

Pgina 34 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

Para medir o desempenho, o Custo Orado do Trabalho Realizado determinado e com-


parado ao Custo Real do Trabalho Realizado. O progresso medido pela comparao entre
o Valor Agregado e o Valor Planejado.

Conforme explicado anteriormente, a GVA se baseia nas mtricas de Custo Orado do Tra-
balho Previsto, Custo Orado do Trabalho Realizado e Custo Real do Trabalho Realizado.
Logo, a alternativa correta a letra d.

Pgina 35 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

16. Assuntos relacionados: Probabilidade e Estatstica,


Banca: CESGRANRIO
Instituio: Petrobras
Cargo: Analista de Sistemas - Eng. de Software
Ano: 2008
Questo: 36
Um sistema legado utiliza uma senha alfanumrica de 4 posies, onde s so permitidos
dgitos de 0 a 9 e caracteres alfabticos maisculos de A a Z (incluindo as letras K, W
e Y). Uma senha vlida deve ter exatamente 4 caracteres, conter pelo menos um caracter
alfabtico, e no pode conter ou ser igual ao login do usurio.

Assumindo que o sistema permite um nmero ilimitado de tentativas de acesso com senhas
erradas, em quantas tentativas, no mnimo, garantido que um software, capaz de gerar to-
das as senhas vlidas para um determinado login e tentar se autenticar no sistema, determine
a senha do usurio cujo login CID?

(a). 1.669.214

(b). 1.669.544

(c). 1.669.616

(d). 1.679.616

(e). 1.680.916

Soluo:
Uma das melhores formas de se resolver esse tipo de questo partir de um determinado
conjunto de elementos e seguir restringindo-o, passo a passo, at obter o subconjunto pedido
na questo. A soluo proposta para esta questo segue justamente essa metodologia.

De acordo com o enunciado, cada caractere pode assumir 36 valores distintos. Portanto,
o conjunto formado por sequncias distintas de 4 caracteres tem 1.679.616 (36*36*36*36)
elementos. Perceba que nem todos esses elementos so senhas vlidas. Temos que descobrir
justamente quantos elementos so senhas vlidas.

O primeiro passo subtrair desse conjunto o subconjunto formado pelas sequncias for-
madas por apenas dgitos (0 a 9), anal de contas uma senha vlida tem que ter pelo menos
1 caractere alfabtico. Fazendo a primeira subtrao temos o subconjunto formado pelas
sequncias de 4 caracteres onde pelo menos 1 desses alfabtico (1.679.616 - 10*10*10*10
= 1.669.616). Esse subconjunto ainda no representa todas as senhas vlidas.

O segundo passo subtrair desse ltimo subconjunto as sequncias de 4 caracteres que


contm ou so iguais ao login CID. Para que uma sequncia de 4 caracteres contenha o login
CID, ela tem que ser do tipo *CID (36 sequncias) ou CID* (36 sequncias). Ou seja, h 72
sequncias de 4 caracteres, onde pelo menos 1 alfabtico, que contm o login CID. Fazendo
a segunda subtrao temos o subconjunto formado por todas as senhas vlidas (1.669.616 -
72 = 1.669.544).

Para que se garanta que um software determine a senha do usurio CID, esse deve tentar
no mnimo todas as possibilidades de senhas vlidas, ou seja, 1.669.544 sequncias. Logo, a
alternativa B a correta.

Pgina 36 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

17. Assuntos relacionados: Probabilidade e Estatstica,


Banca: CESGRANRIO
Instituio: Petrobras
Cargo: Analista de Sistemas - Eng. de Software
Ano: 2008
Questo: 37
Um sistema legado utiliza uma senha alfanumrica de 4 posies, onde s so permitidos
dgitos de 0 a 9 e caracteres alfabticos maisculos de A a Z (incluindo as letras K, W
e Y). Uma senha vlida deve ter exatamente 4 caracteres, conter pelo menos um caracter
alfabtico, e no pode conter ou ser igual ao login do usurio.

Acrescentando ao sistema a restrio de que a senha no deve conter caracteres repetidos,


quantas senhas vlidas diferentes so possveis para o usurio cujo login NINA?

(a). 1.021.020

(b). 1.215.440

(c). 1.217.440

(d). 1.408.680

(e). 1.413.720

Soluo:
Uma das melhores formas de se resolver esse tipo de questo partir de um determinado
conjunto de elementos e seguir restringindo-o, passo a passo, at obter o subconjunto pedido
na questo. A soluo proposta para esta questo segue justamente essa metodologia.

De acordo com o enunciado, cada caractere pode assumir 36 valores distintos. Portanto, o
conjunto formado por sequncias distintas de 4 caracteres diferentes tem 1.413.720 (36*35*34*33)
elementos. Perceba que nem todos esses elementos so senhas vlidas. Temos que descobrir
justamente quantos elementos so senhas vlidas.

O primeiro passo entender que a nica sequncia de 4 caracteres que contm o login
NINA a prpria sequncia NINA. Como h 2 Ns nessa sequncia, ela no pertence ao
conjunto de 4 caracteres diferentes. Enm, essa restrio j est sendo considerada.

O segundo passo subtrair desse conjunto o subconjunto formado por sequncias distin-
tas formadas por apenas dgitos (0 a 9). importante perceber que esses dgitos tem que
ser diferentes, j que esto no conjunto de sequncias de 4 caracteres diferentes. Fazendo essa
subtrao temos o subconjunto formado por todas as senhas vlidas (1.413.720 - 10*9*8*7
= 1.408.680). Logo, a alternativa D a correta.

Pgina 37 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

18. Assuntos relacionados: Gerncia de Projeto, Gerncia de Integrao, Controle Integrado


de Mudanas,
Banca: CESGRANRIO
Instituio: Petrobras
Cargo: Analista de Sistemas - Eng. de Software
Ano: 2008
Questo: 38
recomendado que um projeto possua um mecanismo formal e documentado de controle
de mudanas. Sobre este mecanismo, so feitas as armativas a seguir.

I - O mecanismo deve rastrear e tratar mudanas em quaisquer fatores crticos de sucesso


do projeto, incluindo escopo, prazos e custos.

II - Para tornar o processo gerencivel, recomendado que sejam rastreadas apenas mu-
danas que possuam impacto signicativo no custo ou nos prazos do projeto e que no
sejam rejeitadas em primeira anlise.

III - A avaliao e a aprovao de quaisquer solicitaes de mudanas so atribuies


exclusivas do gerente de projeto, pois o mesmo detm a autoridade e a responsabilidade
sobre os resultados nais do projeto perante os stakeholders.

IV - Tipicamente, o mecanismo de controle de mudanas prev algumas categorias de mu-


danas que so automaticamente aprovadas  tais como as resultantes de emergncias
 as quais devem ser registradas e rastreadas, da mesma forma que as demais.

Esto corretas APENAS as armativas:


(a). I e II.

(b). I e III.

(c). I e IV.

(d). II e III.

(e). III e IV.

Soluo:
O controle de mudanas ou controle integrado de mudanas um dos processos da rea de
gerenciamento de integrao. Essa rea compreende os processos necessrios para garan-
tir a integrao efetiva entre os processos das reas de gerenciamento visando os objetivos
do projeto. A integrao das reas, por exemplo, consiste em escolher sobre quais pontos
concentrar recursos e esforo em quais dias especcos, antecipando possveis problemas,
tratando-os antes de se tornarem crticos e coordenando o trabalho visando o bem geral do
projeto.

Mais especicamente, o processo controle integrado de mudanas consiste em registrar as


mudanas no projeto, seus motivos e respectivos impactos e realizar as alteraes necessrias
de forma integrada visando o projeto como todo. O controle de mudanas realizado durante
todo o projeto. Uma mudana pode exigir alterao nas estimativas de custos, sequncias
de atividades, datas de cronograma e recursos necessrios, e tudo isso deve ser monitorado
e controlado para o sucesso do projeto.

Uma das ferramentas ou tcnicas para o controle integrado de mudanas o sistema de


controle de mudanas: um conjunto de procedimentos formais e documentados que denem
como as entregas e a documentao do projeto sero controladas, alteradas e aprovadas.

Pgina 38 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

De acordo com as armaes da questo, temos:

I  Conforme explicado anteriormente, o controle de mudanas deve monitor e tratar


todas as mudanas de forma integrada visando o sucesso do projeto. Isso inclui os
fatores crticos do projeto como escopo, prazo, custo, recursos necessrios, oramento
e requisitos de qualidade. Logo, armativa verdadeira;

II  As mudanas aprovadas devem ser monitoradas e avaliadas levando em considerao


no apenas o custo ou prazo do projeto, mas tambm o impacto no escopo, oramento
e requisitos de qualidade. Logo, armao falsa;

III  Todas as mudanas solicitadas e documentas devem ser aceitas ou rejeitadas por uma
autoridade dentro da equipe de gerenciamento de projetos ou por uma organizao ex-
terna que represente o patrocinador ou cliente. O sistema de controle de mudanas
muitas vezes inclui um comit de controle de mudanas, responsvel pela aprovao ou
rejeio das mudanas solicitadas. As funes e responsabilidades desses comits so
denidas claramente nos procedimentos de controle de congurao e de controle de
mudanas e so acordadas com o patrocinador, com o cliente e com outras partes inter-
essadas. Ou seja, a avaliao e aprovao das mudanas no dependem exclusivamente
do gerente de projetos, mas de um comit. Logo, armao falsa;

IV  O sistema de controle de mudanas deve tambm incluir procedimentos para tratar


mudanas que podem ser aprovadas sem reviso prvia; por exemplo, como um re-
sultado de emergncias. Tipicamente, um sistema de controle de mudanas tem uma
forma automtica de aprovao de categorias especcas de mudanas. Essas mu-
danas devem ainda ser documentadas e capturadas de forma que as transformaes
na linha base do projeto possam ser registradas. Logo, armao verdadeira.

Conforme exposto acima, a alternativa correta a letra c.

Pgina 39 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

19. Assuntos relacionados: Lgica,


Banca: CESGRANRIO
Instituio: Petrobras
Cargo: Analista de Sistemas - Eng. de Software
Ano: 2008
Questo: 39

((p q) (r s)) (t)

Para que valores de p, q, r, s e t, respectivamente, a proposio acima verdadeira?

(a). V, V, V, V, V

(b). V, F, V, F, F

(c). F, F, V, F, F

(d). F, V, F, V, F

(e). F, F, V, V, V

Soluo:
As Tabelas 5, 6, 7, 8 e 9 so as tabelas verdade para as operaes utilizadas na proposio
da questo.

A A
V F
F V

Tabela 5: Negao ().

A B AB
V V V
V F F
F V V
F F V

Tabela 6: Se - Ento ().

P Q PQ
V V V
V F V
F V V
F F F

Tabela 7: Ou ().

Pgina 40 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

A B AB
V V V
V F F
F V F
F F F

Tabela 8: E ().

P Q PQ
V V V
V F F
F V F
F F V

Tabela 9: Se e Somente Se ().

Vamos analisar cada alternativa.

(A)

((V V ) (V V )) (V )
((V ) (V )) (F )
(V ) (F )
F

(B)

((V F ) (V F )) (F )
((V ) (F )) (V )
(F ) (V )
F

(C)

((F F ) (V F )) (F )
((F ) (F )) (V )
(V ) (V )
V

(D)

((F V ) (F V )) (F )
((V ) (F )) (V )
(F ) (V )
F

(E)

((F F ) (V V )) (V )
((F ) (V )) (F )
(V ) (F )
F

Pgina 41 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

Como podemos notar, os valores para p, q, r, s e t da alternativa (C) tornam a expresso


verdadeira e, por isso, a alternativa a ser marcada.

Pgina 42 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

20. Assuntos relacionados: Lgica,


Banca: CESGRANRIO
Instituio: Petrobras
Cargo: Analista de Sistemas - Eng. de Software
Ano: 2008
Questo: 40
Se Ana sabe que Beatriz tem acesso ao sistema de almoxarifado, ento Ana no fez um
pedido. Ou Ana fez um pedido ou a senha de Beatriz foi descoberta. Se Carlos conversou
com Ana, ento Ana sabe que Beatriz tem acesso ao sistema de almoxarifado. Ora, nem a
senha de Beatriz foi descoberta nem Beatriz conhece Carlos. Logo:

I - Ana fez um pedido.

II - Ana sabe que Beatriz tem acesso ao sistema de almoxarifado.

III - Carlos no conversou com Ana.

IV - Beatriz conhece Carlos.

So verdadeiras APENAS as concluses:


(a). I e II

(b). I e III

(c). II e III

(d). II e IV

(e). III e IV

Soluo:
Para facilitar, vamos representar as assertivas por letras:

X Ana sabe que Beatriz tem acesso ao sistema de almoxarifado;

Y Ana fez um pedido;

Z A senha de Beatriz foi descoberta;

W Carlos conversou com Ana;

U Beatriz conhece Carlos.

Agora, vamos representar as assertivas em um conjunto de proposies de acordo com o


texto:

i X Y ;
ii Y Z;
iii W X;
iv Z ;
v U .

Agora vamos comear a analisar as proposies e tentar achar solues que respondam a
validade das assertivas I, II, III e IV.

Na Proposio iv, sabemos que a senha de Beatriz no foi descoberta. J na Proposio


ii, podemos concluir que Ana fez um pedido, pois um dos valores Y e Z deveriam assumir
valor verdadeiro e como temos certeza que Z falso, conclumos que Y assume verdadeiro.

Pgina 43 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

J podemos concluir que a assertiva I verdadeira.

Analisando a Proposio i, temos que X deve implicar um valor falso (Y ). Da tabela


verdade da operao lgica se ento, podemos concluir que a nica maneira de tornar a
proposio vlida que X assuma valor falso (F F ). Conclumos, ento, X , ou seja,
Ana no sabe que Beatriz tem acesso ao sistema de almoxarifado. A assertiva II falsa.

Analisando a Proposio iii, temos que o valor de W deve ser falso para tornar a proposio
vlida, j que X falso como vimos anteriormente. Logo, Carlos no conversou com Ana.
A assertiva III verdadeira.

A assertiva IV claramente falsa de acordo com a Proposio v.

A alternava a ser marcada a letra (B), j que as nicas assertivas verdadeiras so: I e
III.

Pgina 44 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

21. Assuntos relacionados: Lgica,


Banca: CESGRANRIO
Instituio: Petrobras
Cargo: Analista de Sistemas - Eng. de Software
Ano: 2008
Questo: 41
O projeto ser bem-sucedido se ou o processo de desenvolvimento o Processo Unicado
ou a linguagem utilizada Java.. Uma possvel traduo da sentena acima para a lgica
de predicados de primeira ordem

(a). (Sp JI) (Sp U d)


(b). Sp (U d JI)
(c). Sp (JI U d)
(d). (U d JI) Sp
(e). (JI U d) Sp

Soluo:
O enunciado pode ser modicado para que tenha o mesmo signicado da seguinte maneira:
Para que o projeto seja bem-sucedido necessrio que pelo menos uma das seguintes as-
sertivas se torne verdadeira: o processo de desenvolvimento o Processo Unicado ou a
linguagem utilizada Java..

Quando utilizamos a palavra necessrio, estamos dizendo que para que o projeto seja bem-
sucedido, obrigatoriamente a condio necessria deve ser atendida. Entretanto, no estamos
dizendo que, caso a condio seja atendida (Processo Unicado ou Java), suciente para
que o projeto seja bem-sucedido. Para representar isso, devemos utilizar o se-ento.

No caso do uso do OU, devemos estar bem atentos. Pois, em muitos casos, em nossa
linguagem natural, o uso do OU pode representar um Ou-Exclusivo da Lgica de Primeira
Ordem. Um exemplo: hoje noite, eu vou para casa ou para o trabalho. Claramente, no
exemplo, somente uma das assertivas pode ser verdadeira: Eu vou para casa hoje noite
ou vou para o trabalho hoje noite. J no caso do enunciado da questo, encontramos o
uso do OU menos corriqueiro, sendo utilizado duas vezes, reforando o entendimento de que
pelo menos uma das assertivas envolvidas deva ser verdadeira.

Dado o exposto acima, podemos concluir que a alternativa (E) alternativa que corre-
sponde ao signicado da frase. Entretanto, a ordem um pouco diferente e Sp representa
que o projeto ser bem-sucedido. Isso ocorre porque a condio necessria o segundo op-
erador da operao se-ento e a consequncia o primeiro.

Um bom exemplo para xar os conceitos de sucincia e necessidade a seguinte proposio:


CARIOCA BRASILEIRO. Ser CARIOCA suciente para ser BRASILEIRO, mas no
necessrio. Ser BRASILEIRO necessrio para ser CARIOCA.

Pgina 45 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

22. Assuntos relacionados: Segurana da Informao, Normas de Segurana da Informao,


Famlia ISO 27000, ISO 27001,
Banca: CESGRANRIO
Instituio: Petrobras
Cargo: Analista de Sistemas - Eng. de Software
Ano: 2008
Questo: 42
Nas armativas a seguir, sobre a norma ISO 27001, a sigla ISMS se refere a um Sistema de
Gerenciamento de Segurana da Informao (Information Security Management System) no
contexto de uma organizao.

I A norma ISO 27001 estabelece uma abordagem do tipo PDCA (Plan, Do, Check, Act)
para a denio e manuteno do ISMS.

II A norma ISO 27001 prescreve as prticas de implantao e as mtricas utilizadas para


avaliar o desempenho do ISMS.

III Um dos controles listados na norma ISO 27001 preconiza que a organizao deve manter
contato com grupos especiais de interesse ou outros fruns e associaes prossionais
especializados em segurana.

IV O ISMS denido formalmente na ISO 27001 como um conjunto de regras (rules) e


boas prticas (best practices) nas reas de segurana fsica, autenticao de usurios,
autorizao de acessos e manuteno de um ambiente controlado para o tratamento e
gerenciamento de informao e ativos sensveis.

Esto corretas APENAS as armativas

(a). I e II

(b). I e III

(c). I e IV

(d). II e III

(e). II e IV

Soluo:
A norma ISO 27001 especica um conjunto de requisitos para o estabelecimento, implan-
tao, monitorao, reviso, manuteno e melhoria de um Sistema de Gesto de Segurana
de Informao, ou simplesmente, SGSI. Um SGSI pode tambm ser denido como um frame-
work de polticas, procedimentos e controles de vrias naturezas (fsicos, lgicos, legais etc)
que, por sua vez, fazem parte do processo de gerenciamento de riscos da organizao como
um todo.

Como todo sistema de gesto, o SGSI tambm descrito em termos de processos, os quais
so administrados por meio da metodologia PDCA (Plan-Do-Check-Act). Portanto, a al-
ternativa I est correta.

Em ltima instncia, o PDCA tem como objetivo principal garantir a melhoria contnua
da gesto da segurana da informao e minimizar os riscos associados segurana da in-
formao. Pode se dizer que a armativa III correta, tendo em vista que o contato com
grupos especiais de interesse uma forma de monitorar e melhorar o SGSI.

Outro aspecto interessante da norma ISO 27001 a sua aplicabilidade para todos os tipos de

Pgina 46 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

organizaes, tendo em vista o seu caractere genrico. Comumente a ISO 27001 denida
como um conjunto de melhores prticas para gerenciamento de segurana da informao, o
que no errado, desde que se ressalte que ela trabalha em nvel de processos, e no nos
nveis mais tcnicos. Portanto, a alternativa IV errada, pois dene a norma em questo
de maneira muito especca e tcnica.

Na norma, por exemplo, voc no ir encontrar as melhores prticas para implementao de


segurana fsica para CPDs. No entanto, a norma tem em sua lista de controles um referente
a Segurana fsica e do ambiente. O conjunto de controles que so tratados pela ISO 27001
engloba os mostrados a seguir, cabendo a cada organizao identicar a relevncia de cada
um deles para o seu negcio.

poltica de segurana;

segurana organizacional;

organizao da segurana da informao;

gesto de ativos;

segurana em recursos humanos;

segurana fsica e do ambiente;

gerenciamento das operaes e comunicaes;

controle de acesso;

aquisio, manuteno e desenvolvimento de sistemas;

gesto de incidentes de segurana de informao;

continuidade do negcio;

conformidade.

Por m, vale lembrar que a norma ISO 27001 pertence srie (ou famlia) ISO 27000, que
compreende normas relacionadas Segurana da Informao publicadas pela ISO. A srie
27000 est para a Segurana da Informao assim como a srie ISO 9000 e a srie ISO
14000 esto, respectivamente, para a Qualidade e para a Proteo Ambiental. Algumas das
normas que compe a famlia 27000, alm da 27001, so:

27000 - overview da famlia de padres ISO 27000, glossrio e termos comuns;

27003 - guideline para implementao de um SGSI;

27004 - gerenciamento de mtricas de segurana de informao;

27005 - implementao de segurana da informao baseada em uma abordagem de


gesto de riscos;

27006 - guia para o processo de certicao e registro;

27011 - guidelines para gerenciamento de segurana da informao na indstria de


telecomunicaes;

27034 - guideline para segurana de aplicaes.

Pgina 47 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

23. Assuntos relacionados: Segurana da Informao, Princpios Fundamentais da Segurana


da Informao,
Banca: CESGRANRIO
Instituio: Petrobras
Cargo: Analista de Sistemas - Eng. de Software
Ano: 2008
Questo: 43
Os trs princpios fundamentais aplicveis segurana da informao so:

(a). condencialidade, integridade e privacidade.

(b). condencialidade, no-repdio e legitimidade.

(c). condencialidade, integridade e disponibilidade.

(d). privacidade, disponibilidade e integridade.

(e). privacidade, integridade e legitimidade.

Soluo:
Os trs princpios fundamentais da segurana da informao so: condencialidade, integri-
dade e disponibilidade. Portanto, a resposta da questo a alternativa C.

Para conceituar cada um desses princpios, vamos utilizar o texto da seo 1 da Cartilha
de Segurana do CERT.BR (Centro de Estudos, Respostas e Tratamento de Incidentes de
Segurana no Brasil), uma entidade ligada ao CGI (Comit Gestor de Internet no Brasil).
De acordo com a cartilha, temos o seguinte:

Um computador (ou sistema computacional) dito seguro se este atende a trs requisitos
bsicos relacionados aos recursos que o compem: condencialidade, integridade e disponi-
bilidade.

A condencialidade diz que a informao s est disponvel para aqueles devidamente au-
torizados; a integridade diz que a informao no destruda ou corrompida e o sistema tem
um desempenho correto; e a disponibilidade diz que os servios/recursos do sistema esto
disponveis sempre que forem necessrios.

Alguns exemplos de violaes a cada um desses requisitos so:

condencialidade: algum obtm acesso no autorizado ao seu computador e l todas


as informaes contidas na sua declarao de Imposto de Renda;

integridade: algum obtm acesso no autorizado ao seu computador e altera infor-


maes da sua declarao de Imposto de Renda, momentos antes de voc envi-la
Receita Federal;

disponibilidade: o seu provedor sofre uma grande sobrecarga de dados ou um ataque


de negao de servio e por esse motivo voc ca impossibilitado de enviar sua declarao
de Imposto de Renda Receita Federal.

Pgina 48 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

24. Assuntos relacionados: Portais Corporativos, B2B, B2C, B2E, B2G,


Banca: CESGRANRIO
Instituio: Petrobras
Cargo: Analista de Sistemas - Eng. de Software
Ano: 2008
Questo: 44
So feitas 4 armativas sobre a tecnologia de portais.

I - Um portal em geral utiliza uma instncia de banco de dados para armazenar infor-
maes especcas do portal, como as personalizaes dos usurios, ndices para busca,
regras de autorizao de acesso ao contedo e, possivelmente, o prprio contedo.

II - Os portais B2B (Business-to-Business) e B2G (Business-to-Government) normalmente


apresentam estrutura tecnolgica similar, fazendo uso de web services em uma arquite-
tura A2A (Application-to-Application).

III - Um portal corporativo B2E (Business-to-Employees) pode ser utilizado para prover,
alm do contedo especco de interesse dos funcionrios, recursos de integrao com
ferramentas de data warehouse e BI (Business Intelligence).

IV - Ferramentas mais avanadas de portal fornecem recursos para deteco de padres


de comportamento e reas de interesse dos usurios, que sero utilizados para fornecer
contedo personalizado ao mesmo.

Esto corretas as armativas

(a). I e II, apenas.

(b). I e III, apenas.

(c). I, II e III, apenas.

(d). II, III e IV, apenas.

(e). I, II, III e IV.

Soluo:
Os portais corporativos so, comumente, apresentados como uma evoluo das intranets.
No entanto, os portais tambm podem ser vistos como uma aplicao web que agrega con-
tedo, colaborao, conhecimento e aplicativos transacionais, todos em uma interface nica.
Exemplos de funcionalidades que os portais normalmente possuem so:

busca e indexao;

categorizao de contedo;

colaborao;

personalizao;

comunidades;

integrao de sistemas;

segurana.

Portanto, pode-se dizer que as armativas I e IV so corretas. Com relao as alternativas II


e III, para entender porque elas tambm podem ser consideradas corretas, preciso conhecer
o signicado dos termos das siglas B2B, B2G, B2E e outras.

Pgina 49 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

B2B (Business to Business): so as transaes de comrcio entre empresas. Uma


empresa vendendo para outra empresa ou um banco transferindo recursos para outro
so exemplos de transaes B2B;

B2C (Business to Consumer): so as transaes entre uma empresa e um consumidor.


Amazon, Submarino e Americanas so exemplos tpicos de empresas que realizam esse
tipo de transao;

C2C (Consumer to Consumer): so as transaes entre consumidores, intermediadas


normalmente por uma empresa. Exemplos de sites que oferecem um meio para a
realizao de transaes C2C so os sites de leilo como o Ebay e Mercado Livre;

B2G (Business to Governement): so as transaes entre empresa e governo. Os ex-


emplos comuns de B2G so licitaes e compras de fornecedores;

B2E (Business-to-Employee): normalmente relacionado aos portais que atendem aos


empregados. Os portais B2E so as chamadas intranets corporativas, que tm por
objetivo oferecer aos empregados uma interface nica para que eles possam acompanhar
as notcias da empresa, gerenciar seus dados pessoais, solicitar servios etc.

Nesse ponto da resoluo da questo, voc deve estar pensando: mais um monte de siglas
para eu decorar! . E exatamente isso. A indstria de TI permanece abusando do uso de
siglas para representar conceitos que, aps apresentados, so familiares aos leitores, sejam
tcnicos ou no. Portanto, ca mais uma vez o recado. Fique atento s siglas e seus
signicados, pois elas vem sendo cobradas sistematicamente nos concursos!

Pgina 50 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

25. Assuntos relacionados: Engenharia de Software, Orientao a Objeto, Padres de Pro-


jeto,
Banca: CESGRANRIO
Instituio: Petrobras
Cargo: Analista de Sistemas - Eng. de Software
Ano: 2008
Questo: 45
Classes devem estar abertas para extenso e fechadas para modicao um princpio de
projeto de modelos orientados a objetos. Tal princpio pode ser aplicado atravs do padro
de projeto

(a). decorator.

(b). yweight.

(c). prototype.

(d). singleton.

(e). builder.

Soluo:
A Anlise Orientada a Objetos identica e dene classes que reetem diretamente o domnio
do problema e as responsabilidades do sistema dentro dele. Normalmente, a anlise ocorre
com a suposio de que existe uma tecnologia perfeita disponvel (capacidade ilimitada de
armazenamento, custo zero e no passvel de falha). Em suma, a anlise se interessa pelo
que o sistema deve fazer.

O Projeto Orientado a Objetos (Object-Oriented Design - OOD ) transforma o modelo de


anlise em um modelo de projeto que serve de base para a construo do software, ou
seja, envolve a modelagem de como o sistema ser implementado com adio dos requisi-
tos tecnolgicos ou no funcionais. Ao contrrio dos projetos de softwares convencionais, no
projeto orientado a objetos, os componentes principais do sistema so divididos em mdulos,
chamados subsistemas ou pacotes, e os dados e as operaes que os manipulam so encap-
sulados em classes. Ento, o projeto se preocupa como os requisitos sero implementados e,
portanto, pressupe uma infra-estrutura de implementao e fortemente inuenciado pela
anlise.

O Padro de Projeto Orientado a Objetos (Object-Oriented Design Patterns - OOD )


um dos componentes do projeto orientado a objetos e tem como objetivo registrar uma
experincia no projeto de software, na forma de um padro passvel de ser efetivamente
utilizado. Isso tem o intuito de reutilizar solues que funcionaram no passado, evitando
que um sistema seja desenvolvido do zero. Ou seja, padro de projeto est relacionado com
a reusabilidade de software.

Um padro um par nomeado problema/soluo com orientaes sobre como utiliz-lo


em novas situaes e possui quatro elementos essenciais:

Nome: uma identicao que representa o problema, suas solues e consequncias;

Problema: explica o problema de projeto, seu contexto e quando aplicar o padro;

Soluo: descreve os elementos que compem o projeto, seus relacionamentos, respon-


sabilidades e colaboraes. No descreve um particular projeto concreto ou implemen-
tao;

Pgina 51 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

Consequncias: so os resultados e os comprometimentos feitos ao se aplicar o padro.

Um dos principais padres de projeto o chamado Gangue dos Quatro (Gang of Four -
GoF ). Os padres GoF so organizados nos grupos:

Criativo: est relacionado ao processo de instanciao (criao) dos objetos, ajudando


a tornar um sistema independente de como seus objetos so criados;

Estrutural: trata de como as classes e os objetos so compostos para formar estruturas


maiores;

Comportamental: diz respeito a algoritmos e a atribuio de responsabilidades entre


objetos.

Um padro GoF tambm classicado segundo o seu escopo: de classe ou de objeto. Nos
padres com escopo de classe os relacionamentos que denem este padro so denidos
atravs de herana e em tempo de compilao. Nos padres com escopo de objeto o padro
encontrado no relacionamento entre os objetos denidos em tempo de execuo. A Tabela
10 apresenta os padres GoF organizados em grupos com os respectivos escopos.

Grupos
Escopo Criativo Estrutural Comportamental
Classe Mtodo-Fbrica Adaptador (classe) Interpretador
Mtodo Modelo
Objeto Construtor Adaptador (objeto) Cadeia de Responsabilidade
Fbrica Abstrata Composto Comando
Prottipo Decorador Iterador
Singular Fachada Mediador
Peso-Mosca Memorial
Ponte Observador
Procurador Estado
Estratgia
Visitador

Tabela 10: padres com os respectivos grupos e escopo.

O princpio Classes devem estar abertas para extenso e fechadas para modicao um
dos principais princpios da orientao a objetos, e conhecido como o princpio Aberto-
Fechado (Open Closed Principle  OCP ). Este princpio quer dizer que devemos estruturar
um aplicativo de forma que seja possvel adicionar novas funcionalidades com modicaes
mnimas no cdigo existente. Por exemplo, ao criarmos uma subclasse, ns no devemos
alterar o comportamento da classe base, mas apenas complet-lo.

A seguir, analisamos as alternativas da questo.

(A) CORRETA

O padro de objeto decorator (decorador) do grupo Estrutural anexa responsabilidades


adicionais a um objeto dinamicamente, permitindo estender sua funcionalidade. Prov uma
alternativa exvel ao uso de herana como modo de estender funcionalidade e permite adi-
cionar responsabilidades a objetos e no a uma classe inteira.

O decorator pode ser utilizado para adicionar responsabilidades dinamicamente a objetos

Pgina 52 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

individuais e transparentemente (sem afetar outros objetos), quando h responsabilidades


que podem ser retiradas, quando a herana geraria uma exploso de subclasses e quando a
herana seria uma boa alternativa, mas a denio da classe est escondida ou no disponvel
para herana.

Pode-se pensar tambm em termos de interface grca, por exemplo, adicionar uma borda
a um boto, frame, etc. Ao invs de construir uma subclasse para cada objeto que se de-
seja adicionar a funcionalidade, ele permite uma extenso transparente de funcionalidade
durante execuo. Para isso ele deve manter a mesma interface do objeto sendo estendido, e
deve aceit-lo como argumento na inicializao para criar uma referncia que ser mantida
como varivel membro privada.

O padro decorator est relacionado em estender funcionalidades do objeto de modo a no


modicar a classe inteira. O que mostra que o princpio Aberto-Fechado aplicado a este
padro. Portanto, alternativa correta.

(B) ERRADA

O padro de objeto yweight (peso-mosca) do grupo Estrutural utiliza compartilhamento


para suportar um grande nmero de pequenos objetos de forma eciente. O yweight
apropriado quando vrios objetos devem ser manipulados, e esses no suportam dados adi-
cionais. No padro yweight no existem ponteiros para os mtodos do dado, pois isto
consome muita memria. Em contrapartida so chamadas sub-rotinas diretamente para
acessar o dado.

Um exemplo o processador de texto. Cada caractere representa um objeto que possui


uma famlia de fonte, um tamanho de fonte e outras informaes. Um documento grande
com tal estrutura de dados facilmente ocuparia toda a memria disponvel no sistema. Para
resolver o problema, como muitas dessas informaes so repetidas, o yweight usado para
reduzir os dados, isto , cada objeto de caractere contm uma referncia para outro objeto
com suas respectivas propriedades.

O padro yweight no est relacionado a estender funcionalidades de uma classe base


sem modic-la, o que mostra que este padro no aplicado ao princpio Aberto-Fechado.
Portanto, alternativa errada.

(C) ERRADA

O padro de objeto prototype (prottipo) do grupo Criativo especica os tipos de obje-


tos que podem ser criados a partir de um modelo original (prottipo) e cria novos objetos
copiando este prottipo. Ele utiliza prottipos ao invs de classes e instncias, reunindo os
dois em um s, e ao invs de herana, utiliza decorator para estender funcionalidades.

O padro prototype pode ser utilizado em sistemas que precisam ser independentes da
forma como os seus componentes so criados, compostos e representados. O padro proto-
type pode ser til em sistemas que utilizam classes denidas em tempo de execuo.

O padro prototype no est relacionado a estender funcionalidades de uma classe base


sem modic-la, o que mostra que este padro no aplicado ao princpio Aberto-Fechado.
Portanto, alternativa errada.

Pgina 53 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

(D) ERRADA

O padro de objeto singleton (singular) do grupo Criativo garante que uma classe pos-
sui uma nica instncia e prov um ponteiro global para acess-la. Por exemplo, em uma
aplicao que precisa de uma infra-estrutura de log de dados, pode-se implementar uma
classe no padro singleton. Desta forma existe apenas um objeto responsvel pelo log em
toda a aplicao que acessvel unicamente atravs da classe singleton.

O singleton parecido com o yweight, ambos permitem somente uma instncia de um


objeto. A diferena que o singleton permite somente uma instncia de uma classe durante
o projeto, enquanto o yweight utiliza factories (fbricas) para produzir somente uma in-
stncia em tempo de execuo.

O padro singleton no est relacionado a estender funcionalidades de uma classe base


sem modic-la, o que mostra que este padro no aplicado ao princpio Aberto-Fechado.
Portanto, alternativa errada.

(E) ERRADA

O padro de objeto builder (construtor) do grupo Criativo separa a construo de um


objeto complexo de sua representao de modo que o mesmo processo de construo pode
criar diferentes representaes.

Por exemplo, o padro Builder pode ser utilizado em uma aplicao que converte o formato
RTF para uma srie de outros formatos e que permite a incluso de suporte para converso
para outros formatos, sem a alterao do cdigo fonte do leitor de RTF. A soluo para este
problema criar uma classe de leitura (director) associada a outra classe capaz de converter
o formato RTF para outra representao (builder).

O padro builder muitas vezes comparado com o padro Abstract Factory, pois ambos
podem ser utilizados para a construo de objetos complexos. A principal diferena entre
eles que o builder constri objetos complexos passo a passo e o Abstract Factory constri
famlias de objetos, simples ou complexos, de uma s vez.

O padro builder no est relacionado a estender funcionalidades de uma classe base sem
modic-la, o que mostra que este padro no aplicado ao princpio Aberto-Fechado.
Portanto, alternativa errada.

Pgina 54 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

26. Assuntos relacionados: Web Services, Interoperabilidade entre Aplicaes,


Banca: CESGRANRIO
Instituio: Petrobras
Cargo: Analista de Sistemas - Eng. de Software
Ano: 2008
Questo: 46
A interoperabilidade entre aplicaes nos dias atuais fortemente baseada no uso de web
services. Duas abordagens arquiteturais distintas para o projeto e implementao de web
services tm-se rmado no cenrio de tecnologia. So elas:

(a). REST e WS-*

(b). SOAP e WSDL

(c). RPC e RMI

(d). SGML e HTML

(e). B2B e B2C

Soluo:
Web service tecnologia que possibilita aplicaes interagirem umas com as outras de forma
independente de plataforma operacional e linguagem de programao utilizadas. Os Web
services so componentes que permitem s aplicaes enviarem e receberem mensagens for-
matadas em XML. Apesar de no ser obrigatrio, geralmente o HTTP escolhido como
mecanismo de transporte dessas mensagens.

(A) CORRETA

O termo REST se refere a um conjunto de princpios de arquitetura para web services.


Um conceito importante em REST a existncia de recursos (elementos de informao),
que so individualmente identicados por URIs (Identicadores Uniforme de Recurso). De
acordo com essa arquitetura, diferentes componentes da rede (clientes e servidores) devem
utilizar os mtodos do HTTP (por exemplo, POST, GET, PUT e DELETE) para trocarem
representaes dos recursos existentes (os arquivos ou cheiros so recebidos e enviados).

Algumas especicaes vm sendo desenvolvidas, principalmente pela W3C, para estender


as funcionalidades dos web services. Essas especicaes so chamadas de WS-*. Algumas
das especicaes mais importantes so: WS-Security, WS-Addressing, WS-Reliability e
WS-Transaction.

Tendo em vista o exposto, possvel concluir que REST e WS-* so duas abordagens ar-
quiteturais distintas que podem ser adotadas em projetos e desenvolvimentos de web services.

(B) ERRADA

SOAP (Simple Object Access Protocol) um protocolo que dene, por meio de um conjunto
de tags XML, o formato das estruturas das mensagens trocadas entre aplicaes. Dois dos
grandes benefcios do SOAP so: padro aberto adotado pela maioria das grandes empre-
sas de hardware e software; e construdo sobre padres tambm abertos como HTTP e XML.

Web Services Denition Language (WSDL) uma linguagem baseada em XML utilizada

Pgina 55 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

para descrever web services. Trata-se de um documento escrito em XML que alm de de-
screver o servio, especica como acess-lo e quais as operaes ou mtodos disponveis.

Como SOAP um protocolo e WSDL uma linguagem de denio, incorreto dizer que
eles so abordagens arquiteturais para projeto e implementao de web services.

(C) ERRADA

O RPC (Remote Procedure Call) dene um protocolo para execuo remota de procedi-
mentos em computadores ligados em rede. Esse protocolo pode ser utilizado com diferentes
protocolos de transporte, tais como UDP e TCP. Antes de ser enviada pela rede, uma RPC
emitida pela aplicao cliente encapsulada segundo o padro SOAP. O servio remoto,
ao receber a mensagem, faz o processo reverso, desencapsulando a mensagem e extraindo
a chamada. A aplicao servidora, ento, processa essa chamada e envia sua resposta
aplicao cliente. Essa mensagem de resposta tambm enviada de forma encapsulada se-
gundo o padro SOAP. Na mquina cliente, a resposta desencapsulada e repassada para a
aplicao cliente.

O RMI (Remote Method Invocation) uma interface de programao que permite a ex-
ecuo de chamadas remotas no estilo RPC em aplicaes desenvolvidas em Java. A API
RMI prov ferramentas para que seja possvel ao programador desenvolver uma aplicao
sem se preocupar com detalhes de comunicao entre os diversos possveis elementos (hosts)
de um sistema.

Apesar dos conceitos RPC e RMI se relacionarem com web service, totalmente errneo
dizer que eles so abordagens arquiteturais para projeto e implementao de web services.

(D) ERRADA

SGML um acrnimo para Standard Generalized Markup Language que foi denido pela
norma ISO 8879:1986 Information processingText and oce systems. Ela uma met-
alinguagem que pode ser utilizada para denir linguagens de marcao para documentos.
SGML uma descendente da GML (Generalized Markup Language) da IBM. Duas impor-
tantes linguagens derivadas da SGML so HTML (HyperText Markup Language) e XML
(eXtensible Markup Language).

HTML (Linguagem de Marcao de Hipertexto) uma linguagem fundamentalmente baseada


nos padres HyTime e SGML. O HyTime (Hypermedia/Time-based Document Structuring
Language - ISO 10744:1992) um padro para representao estruturada de hipermdia e
informao baseada em tempo. De acordo com essa padro, um documento visto como
um conjunto de eventos concorrentes dependentes de tempo (udio, vdeo, etc.), conectados
por webs ou hiperlinks.

Por se tratarem de linguagens de marcao, no faz sentido nenhum dizer que SGML e
HTML so abordagens arquiteturais para projeto e implementao de web services.

(E) ERRADA

B2B e B2C so duas das diversas siglas relacionadas ao e-commerce e ao e-business. Por-
tanto, nada tm a ver com abordagens arquiteturais. As principais siglas so:

Pgina 56 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

B2B (Business to Business) - so transaes de comrcio entre empresas;

B2C (Business to Consumer) - so transaes de comrcio entre empresa e consumidor.


Um exemplo bem conhecido o website Amazon;

C2C (Consumer to Consumer) - este o comrcio entre consumidores. Bons exemplos


desse tipo de transao so os sites de leilo;

B2G (Business to Governement) - so as transaes entre empresa e governo. O exemplo


mais comum de B2G so as licitaes online;

B2E (Business-to-Employee) - normalmente relacionado aos portais (intranets) que


atendem aos funcionrios. Tem por objetivo ser uma rea central de relacionamento
com a empresa. Atravs dele os funcionrios podem, por exemplo, pedir material para
sua rea, gerir todos os seus benefcio ou at utilizar processos de gesto dos funcionrios
(faltas, avaliaes, inscries em treinamentos, etc.).

Pgina 57 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

27. Assuntos relacionados: Servidor de Aplicaes, J2EE, JEE, .NET, MVC,


Banca: CESGRANRIO
Instituio: Petrobras
Cargo: Analista de Sistemas - Eng. de Software
Ano: 2008
Questo: 47
Um servidor de aplicaes prov diversos servios para as aplicaes que hospeda. Considerando-
se implementaes tpicas em J2EE/JEE e .NET, compondo uma arquitetura em 3 camadas,
correto armar que, dentre os servios oferecidos pelos servidores de aplicaes, encontra-se

(a). validao de objetos de domnio, segundo as regras de negcio da aplicao.

(b). gerao de cdigo atravs de MDA (Model Driven Architecture).

(c). persistncia nal dos objetos de domnio.

(d). suporte nativo arquitetura MVC.

(e). estrutura para troca de mensagens entre aplicaes.

Soluo:
O objetivo dos servidores de aplicaes disponibilizar uma plataforma que permita aos
programadores abstrair de uma gama de tarefas inerentes ao desenvolvimento do software.
Dessa forma, os programadores podem se concentrar mais nas regras de negcio do que nas
questes de infraestrutura da aplicao, como segurana, disponibilidade, balanceamento de
carga, mensageiria etc.

Para aplicaes simples, a utilizao de um servidor de aplicaes pode representar um over-


head ao invs de facilitar as tarefas dos programadores. No entanto, para grandes aplicaes
comerciais com requisitos mais rgidos de desempenho e robustez a falhas, os servidores de
aplicaes mostram-se muito teis.

Embora o conceito de servidor de aplicaes seja aplicvel para o desenvolvimento em uma


grande quantidade de linguagens, nos ltimos anos os que mais se tornaram populares so
os servidores de aplicaes J2EE (ou JEE, nas verses mais recentes), criados para suportar
aplicaes escritas em Java.

Para exemplicar o conjunto de servios que os servidores de aplicaes podem oferecer,


vejamos a Figura 2. Ela mostra a arquitetura JEE mais recente, publicada pela Sun Mi-
crosystems no documento JSR-000316. No esquema mostrado nessa gura, tanto o Web
Container quanto o EJB Container so hospedados no servidor de aplicaes, que oferece
servios diversos por meio de vrias APIs. A API JMS (Java Message Service), por exem-
plo, oferece suporte a comunicao ponto-a-ponto convel. A API JavaMail permite que as
aplicaes enviem e-mails sem ter que se preocupar com as questes de las de mensagens,
falhas etc. A API JASS, por sua vez, oferece facilidades para implementao de autenticao
e autorizao nas aplicaes.

Vale lembrar que os servidores de aplicaes tambm oferecem facilidades para persistncia
de dados, como lembrado na alternativa C. No entanto, a palavra nal torna a alternativa,
ao menos, duvidosa!

J no caso da alternativa D, de se esperar que um ambiente to cheio de funcionali-


dades como um servidor de aplicaes oferea suporte a construo de aplicaes segundo

Pgina 58 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

o modelo MVC. No entanto, a construo de uma aplicaes que obedea ao MVC est
muito mais ligada a separao dos componentes e camadas do sistema do que plataforma
tecnolgica utilizada. , portanto, possvel construir aplicaes MVC no bom e velho ASP,
bem como nos novos e modernos servidores de aplicaes.

A validao de objetos de que trata a alternativa A feita pelos servidores de aplicaes,


mas no est relacionada as regras de negcio das aplicaes. A gerao automtica de
cdigo, por sua vez, uma tarefa comum s IDEs, e no aos servidores de aplicaes.

Portanto, a alternativa E, por ser a mais objetiva e clara, a resposta correta para essa
questo.

Figura 2: arquitetura JEE 6.0.

Pgina 59 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

28. Assuntos relacionados: Processo Unicado,


Banca: CESGRANRIO
Instituio: Petrobras
Cargo: Analista de Sistemas - Eng. de Software
Ano: 2008
Questo: 48
Um princpio fundamental do Processo Unicado

(a). ser centrado em arquitetura.

(b). empregar times auto-dirigidos e auto-organizados.

(c). o desenvolvimento em cascata.

(d). a programao em pares.

(e). a propriedade coletiva do cdigo fonte.

Soluo:
O Processo Unicado de desenvolvimento de software rene trs caractersticas que o faz ser
nico. Essas trs caractersticas se relacionam entre si e so igualmente importantes. So
elas:

Orientado a Diagrama de Casos de Uso: um caso de uso, de acordo com a UML


(Unied Modeling Language), uma sequncia de aes de um sistema que devolve ao
usurio um resultado de valor. Um conjunto de casos de uso denido sob determinado
contexto forma um Diagrama de Casos de Uso, que descreve uma funcionalidade do
sistema sob esse contexto. Em outras palavras, um Diagrama de Casos de Uso dene
a funcionalidade de um sistema para cada tipo de usurio. Esse tipo de abordagem
favorece o atendimento das necessidades de cada tipo de usurio que interage com
o sistema, evitando, dessa forma, que o sistema possa ser desenvolvido a ponto de
apresentar funcionalidades desnecessrias;

Centrado na arquitetura do sistema: arquitetura de sistema uma viso do


projeto como um todo, destacando suas caractersticas mais importantes de forma
abrangente e sem detalhes especcos. Esse tipo de abordagem auxilia o arquiteto
a se concentrar nas metas corretas, como inteligibilidade, poder de recuperao para
mudanas futuras e reutilizao. Ou seja, a arquitetura de um sistema deve ser pro-
jetada a ponto de permitir que o sistema evolua, no apenas durante o incio do seu
desenvolvimento, mas tambm ao longo das iteraes futuras;

Metodologia iterativa e incremental: uma iterao pode ser entendida como um


miniprojeto, que resulta em uma nova verso do sistema. Justamente devido ao fato de
a cada interao ser gerada uma nova verso do sistema que essa metodologia tambm
se apresenta como incremental. Perceba que estas duas caractersticas, iterativa e
incremental, nem sempre aparecem juntas. H metodologias de desenvolvimento de
software que so iterativos, mas no incrementais.

O Processo Unicado organiza suas iteraes em quatro fases principais:

1. Concepo: o objetivo desta fase levantar, de forma genrica e pouco precisa, o


escopo do projeto. No deve existir aqui a pretenso de especicar de forma detalhada
requisitos, a ideia ter uma viso inicial do problema, estimar de forma vaga esforo e
prazos e determinar se o projeto vivel e merece uma anlise mais profunda;

Pgina 60 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

2. Elaborao: nesta fase, todos os requisitos (ou a grande maioria deles) so levantados
em detalhes. Em uma primeira iterao, um ou dois requisitos, os de maior risco e valor
arquitetural, so especicados e implementados. Eles serviro como base de avaliao
junto aos usurios e desenvolvedores para o planejamento da prxima iterao. Em cada
nova iterao dentro da fase de elaborao, pode haver um seminrio de requisitos, onde
requisitos antigos so melhores esclarecidos e novos so detalhados. Ao m desta fase,
90% dos requisitos foram levantados em detalhes, o ncleo do sistema foi implementado
com alta qualidade, os principais riscos foram tratados e pode-se ento fazer estimativas
mais realistas;

3. Construo: implementao iterativa dos elementos restantes de menor risco e menos


complexos. H tambm uma preparao para a implantao do sistema;

4. Transio: testes nais e implantao do sistema.

Agora que o bsico sobre Processo Unicado j foi exposto, vamos a cada alternativa.

(A) CORRETA

Ao ler a explicao acima, ca evidente que ser centrado em arquitetura um dos princpios
mais evidentes do Processo Unicado. justamente por isso que esta a alternativa correta.

(B) ERRADA

Times auto-dirigidos e auto-organizados no uma caracterstica do Processo Unicado.


Essa sim um princpio de outra metodologia de desenvolvimento de sistemas, o Scrum.
Portanto, esta alternativa est errada.

Scrum um processo para construir software de forma incremental em ambientes com-


plexos, onde os requisitos no so claros ou mudam com muita frequncia. A metodologia
baseada em princpios semelhantes aos de XP (Extreme Programming). As principais so:

equipes pequenas, multidisciplinares e auto-organizadas;

requisitos pouco estveis ou desconhecidos;

iteraes curtas (sprints) que seguem o ciclo PDCA e entregam incrementos de software
prontos;

reunies dirias e curtas geralmente realizadas em p;

Scrum Master: membro que tem como funo primria remover qualquer impedimento
habilidade de uma equipe de entregar o objetivo do sprint. O Scrum Master no o
lder da equipe (j que as equipes so auto-organizadas), mas atua como um mediador
entre a equipe e qualquer inuncia desestabilizadora.

(C) ERRADA

O modelo de desenvolvimento em cascata um modelo sequencial, no qual o desenvolvi-


mento visto como um uir constante para frente (como uma cascata) atravs das fases de
anlise de requisitos, projeto, implementao, testes (validao), integrao e manuteno
de software. Como j descrito anteriormente, o Processo Unicado uma metodologia iter-
ativa e incremental, que praticamente nada tem a ver com desenvolvimento em cascata. Ou
seja, esta alternativa no a correta.

Pgina 61 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

(D) e (E) ERRADAS

Estas duas alternativas trazem duas caractersticas associadas ao XP, e no ao Processo


Unicado. Justamente por isso que elas no devem ser escolhidas pelo candidato.

A metodologia XP destinada a grupos pequenos de desenvolvimento, e em projetos de


durao de at 36 meses. Suas principais caractersticas so:

metforas: utilizao de comparaes e analogias para facilitar entendimento;

design simples do sistema;

testes automatizados: testes de unidade e de aceitao;

refabricao: todo desenvolvedor tem o dever de melhorar um cdigo que esteja fun-
cionado porm est mal escrito;

programao de dupla: todo cdigo deve ser implementado em dupla;

reunies curtas e em p;

semana de 40 horas: ao se trabalhar a mais se obtm resultados no incio, mas com o


passar do tempo surge desgaste;

integrao contnua: eliminar erros graves de integrao;

releases curtos: release um conjunto de funcionalidades bem denidas e que repre-


sentam algum valor para o cliente. Um projeto XP pode ter uma ou mais releases no
seu ciclo;

CRC: linguagem para modelagem de classes do XP que utiliza os story cards (cartes
escritos pelos usurios onde so descritas funcionalidades do sistema).

Pgina 62 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

29. Assuntos relacionados: Processo Unicado, UML, Modelo de Casos de Uso,


Banca: CESGRANRIO
Instituio: Petrobras
Cargo: Analista de Sistemas - Eng. de Software
Ano: 2008
Questo: 49
O modelo de casos de uso um dos artefatos mais importantes previstos pelo Processo
Unicado. Sobre o modelo de casos de uso, so feitas as armativas a seguir.

I Atores humanos so identicados com base no papel que desempenham do ponto de


vista do sistema, e no necessariamente no cargo que ocupam na instituio em que o
sistema rodar.

II A evoluo dos casos de uso ao longo do ciclo de vida do projeto prev que os mesmos
ganhem em seu texto os detalhes especcos de implementao necessrios construo
do software na tecnologia adotada.

III As combinaes possveis do uxo principal com os uxos alternativos de um caso de


uso fornecem todos os cenrios possveis para o mesmo, os quais, por sua vez, podem
ser utilizados como unidades de planejamento, implementao e testes.

IV recomendvel que cada caso de uso seja decomposto funcionalmente e passe a incluir
casos de uso menores, sucessivamente, at a menor unidade implementvel possvel,
atendendo ao princpio da decomposio funcional.

Esto corretas APENAS as armativas

(a). I e II

(b). I e III

(c). II e III

(d). II e IV

(e). III e IV

Soluo:
O Processo Unicado de desenvolvimento de software tem trs princpios bsicos:

Centrado na arquitetura do sistema;


Metodologia iterativa e incremental;
Orientado a Diagrama de Casos de Uso.

Diagrama de Caso de Uso um dos principais diagramas da UML (Unied Modeling Lan-
guage). Ele descreve, de forma grca e intuitiva, relacionamentos e dependncias entre um
grupo de casos de uso e os atores que interagem com o sistema. O ponto de vista assumido
para essa descrio sempre o dos atores envolvidos.

Um ator uma entidade externa ao sistema. Ele representado gracamente por meio
de um boneco e um rtulo com o seu nome. Geralmente, um ator que inicia um caso de
uso. Alguns exemplos de atores so: usurios, outros sistemas que fazem interface com o
sistema que est sendo modelado e eventos externos.

Um caso de uso um conjunto de atividades do sistema que produz um resultado con-


creto e tangvel. Ou seja, ele dene uma grande funo do sistema. Gracamente, casos de

Pgina 63 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

uso so representados por elipses com seus respectivos rtulos.

Enm, esse tipo de diagrama descreve interaes entre os atores e o sistema em si. Veja um
exemplo na Figura 3

Figura 3: exemplo de Diagrama de Caso de Uso.

Os possveis relacionamentos, que so representados no diagrama utilizando-se setas, so os


seguintes:

entre um ator e um caso de uso


 Relacionamento de Associao: dene do ponto de vista externo uma fun-
cionalidade do sistema.

entre atores
 Relacionamento de Generalizao: dene que o ator que est na origem da
seta tem seus prprios casos de uso. J o ator que apontado pela seta tambm
tem os casos de uso do outro ator. Um exemplo tpico desse tipo de relacionamento
seria uma seta saindo do ator Cliente On-line e apontando para o ator Cliente.

entre casos de uso


 Relacionamento de Dependncia-Incluso: um relacionamento de incluso
de um caso de uso A (origem da seta) para um caso de uso B (destino da seta)
indica que B essencial para o comportamento de A. Pode ser dito tambm que
B parte de A;

 Relacionamento de Dependncia-Excluso: um relacionamento de extenso


de um caso de uso B para um caso de uso A indica que o caso de uso B pode ser

Pgina 64 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

acrescentado para descrever o comportamento de A (no essencial). A extenso


inserida em um ponto de extenso do caso de uso A. Ponto de extenso em um
caso de uso uma indicao de que outros casos de uso podero ser adicionados a
ele. Quando o caso de uso for invocado, ele vericar se suas extenses devem ou
no ser invocadas;

 Relacionamento de Generalizao ou Especializao (-um): um relaciona-


mento entre um caso de uso genrico para um mais especco, que herda todas as
caractersticas de seu pai. Quanto um caso de uso B -um caso de uso A, A ser
uma generalizao de B, ou seja, B ser uma especializao de A.

A seguir, cada uma das armativas feitas no enunciado analisada:

I verdadeira, pois os casos de uso so utilizados para representar o comportamento do


sistema, e no a hierarquia da instituio;

II falsa, pois os casos de uso no devem incluir detalhes de implementao, e sim o


comportamento esperado do sistema em um determinado cenrio;

III verdadeira, pois o uxo principal cobre o comportamento do sistema nos casos rotineiros
e os uxos alternativos cobrem os casos excepcionais. Dessa forma, todas as alterna-
tivas conhecidas de comportamento do sistema so cobertas, o que ajuda na fase de
implementao e de testes;

IV falsa, pois o diagrama que oferece uma decomposio funcional do sistema chamado
Diagrama de Fluxo de Dados, e no o de Caso de Uso.

Portanto, a resposta correta a alternativa B.

Pgina 65 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

30. Assuntos relacionados: Metodologia de Desenvolvimento de Software,


Banca: CESGRANRIO
Instituio: Petrobras
Cargo: Analista de Sistemas - Eng. de Software
Ano: 2008
Questo: 50
Estudos baseados na anlise de diversos projetos de desenvolvimento de software sugerem
que tais projetos tm maior chance de sucesso quando empregam metodologia e gerencia-
mento alinhados ao paradigma de desenvolvimento de novos produtos, em contraponto ao
paradigma de produo industrial. Com base nessas observaes, a maioria das metodologias
modernas de desenvolvimento de software recomenda:

(a). concluir o trabalho de especicaes dos requisitos do sistema, antes de iniciar as


atividades de projeto e implementao.

(b). planejar detalhadamente no incio do projeto todas as fases e atividades do mesmo,


de forma que seja possvel estimar com preciso o esforo necessrio e os prazos
de cada atividade.

(c). providenciar, desde o incio do projeto, mecanismos para prevenir e bloquear so-
licitaes de mudanas de forma a garantir que ser entregue exatamente o que
foi especicado.

(d). dividir o trabalho em iteraes curtas, com prazos xos, e no permitir que as
mesmas avancem sobre os prazos, reduzindo o escopo da iterao, se necessrio.

(e). no produzir documentao tcnica para o sistema, tendo em vista que a mesma j
nasce condenada a car desatualizada, investindo melhor o tempo em atividades
de implementao e testes exaustivos.

Soluo:
De certa forma, o ponto central que esta questo pretende avaliar o fato da maioria das
metodologias modernas de desenvolvimento de software abordarem projetos de desenvolvi-
mento de novos produtos de forma cclica (ou iterativa). Algumas dessas metodologias so:
RUP (Rational Unied Process), XP (eXtreme Programming), Cleanroom, RAD (Rapid
Application Development) e Espiral.

(A) ERRADA

Justamente pela abordagem das metodologias em questo ser cclica, a fase de especi-
cao dos requisitos do sistema no concluda antes de se iniciar as atividades de projeto
e implementao. Ou seja, mesmo aps o incio das atividades de projeto e implementao
pode haver, e geralmente h, novas especicaes de requisitos.

(B) ERRADA

Essa seria talvez uma boa abordagem, mas no a que a maioria das metodologias mod-
ernas pregam. Elas pregam que no incio do projeto, o planejamento e as estimativas do
projeto como um todo sejam feitos de forma geral. Planejamentos e estimativas cada vez
mais precisos so feitos a cada fase do projeto.

Pgina 66 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

(C) ERRADA

Praticamente todas as metodologias de desenvolvimento de novos produtos, inclusive as


modernas, pregam justamente o contrrio dessa alternativa. Isso porque acredita-se que o
quanto antes as eventuais mudanas forem consideradas em um projeto, menores sero os
problemas com custo e cronograma desse projeto. As metodologias consideram tambm que
pouco adianta ignorar as mudanas ao logo do projeto, pois, quando isso ocorre, mesmo
que seja entregue exatamente o que foi especicado, o novo produto no ser considerado
conforme ou de qualidade.

(D) CORRETA

Como j mencionado no incio deste comentrio, a abordagem cclica da maioria das metodolo-
gias modernas o centro desta questo. Essa a alternativa correta.

(E) ERRADA

Essa , sem dvida, a primeira alternativa que o candidato deve desconsiderar. Algumas
metodologias at apontam para uma simplicao da documentao tcnica, mas eliminar
totalmente esse tipo de documentao no uma alternativa.

Pgina 67 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

31. Assuntos relacionados: Processo Unicado, UML, Anlise de Caso de Uso,


Banca: CESGRANRIO
Instituio: Petrobras
Cargo: Analista de Sistemas - Eng. de Software
Ano: 2008
Questo: 51
A atividade analisar um caso de uso, prevista no Processo Unicado, produz um artefato
chamado realizao de anlise de caso de uso, que mostra como as classes de anlise co-
laboram para que o caso de uso apresente o comportamento especicado. A esse respeito,
assinale a armao correta.

(a). As classes de anlise, neste artefato, devem conter referncias a detalhes de imple-
mentao.

(b). Ao realizar a anlise de um caso de uso, possveis falhas e omisses no mesmo


se tornam mais perceptveis, tratando-se, portanto, de uma oportunidade para
renar o modelo de casos de uso.

(c). A interao entre as classes de anlise expressa primariamente atravs de dia-


gramas de classes UML.

(d). Um outro produto desta atividade o artefato chamado realizao de projeto de


caso de uso.

(e). O diagrama de robustez do sistema, que especica os requisitos no funcionais de


escalabilidade e tolerncia a falhas, um dos insumos para esta atividade.

Soluo:
A Anlise de Caso de Uso uma das atividades previstas na UML, e tem como nalidades:

identicar classes que desempenham os vrios uxos de eventos no caso de uso;

distribuir o comportamento do caso de uso entre essas classes usando as realizaes;

identicar responsabilidades e atributos associaes de classes;

identicar o uso de mecanismos arquiteturais para prover funcionalidades necessrias


ao caso de uso e software em geral.

Obviamente, ao realizar essa anlise de comportamento, possveis falhas e omisses se tor-


nam mais evidentes. Com isso, podemos armar que a resposta da questo a alternativa B.

Ainda com relao aos casos de uso, importante frisar que muitas vezes ela tida como
uma espcie de anlise de caixa preta, no qual os detalhes internos sobre como o sistema
responde s aes de um ator esto ausentes ou descritas muito resumidamente. Ou seja,
os casos de uso no apresentam detalhes de implementao. Com isso, a alternativa A est
errada.

Os diagramas de classes, mencionados na alternativa C, so diagramas estticos que de-


screvem os vrios tipos de objetos no sistema e o relacionamento entre eles. Tais diagramas
no provem informao de interao entre as classes. Com isso, a alternativa C tambm
est errada.

Os artefatos da anlise de caso de uso so Classe de Anlise, Realizao de Casos de Uso,


Modelo de Design, Modelo de Anlise. Ou seja, Realizao de Caso de Uso, citado na

Pgina 68 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

alternativa D, no um produto da atividade Analisa um Caso de Uso.

Por m, a alternativa E traz o diagrama de robustez. Tal diagrama geralmente utilizado
para passar da anlise (o que) para o desenho (como). Como ele no um insumo para a
anlise de caso de uso, esta alternativa est errada.

Pgina 69 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

32. Assuntos relacionados: Engenharia de Software, RUP,


Banca: CESGRANRIO
Instituio: Petrobras
Cargo: Analista de Sistemas - Eng. de Software
Ano: 2008
Questo: 52
Sobre testes no Processo Unicado, correto armar que um(a)

(a). caso de teste composto por um ou mais planos de testes.

(b). script de teste dene o cronograma e a estratgia utilizados na iterao.

(c). modelo de teste um componente que efetua testes unitrios em uma ou mais
classes de domnio.

(d). prova de conceito um tipo especial de caso de teste.

(e). avaliao de teste apresenta os resultados dos testes em termos de defeitos e cober-
tura.

Soluo:
O Processo Unicado (PU) surgiu como um processo popular para o desenvolvimento de
software visando construo de sistemas orientados a objetos (o RUP  Rational Unied
Process um renamento do PU). Ou seja, Processo Unicado um processo de desen-
volvimento, j o Rational Unied Process um produto da Rational  IBM, que tem no seu
ncleo o Processo Unicado.

O Processo Unicado utiliza um paradigma evolucionrio para o desenvolvimento de soft-


wares. O ciclo de vida iterativo baseado em renamentos e incrementos sucessivos a m de
convergir para um sistema adequado. Em cada iterao incrementa-se um pouco mais o pro-
duto, baseando-se na experincia obtida nas iteraes anteriores e no feedback do usurio.
O Processo Unicado consiste da repetio de uma srie de ciclos durante a vida de um
sistema. Cada ciclo concludo com uma verso do produto pronta para distribuio e
subdividido em quatro fases: concepo, elaborao, construo e transio. Cada fase, por
sua vez, subdivida em iteraes que passam por todos os cincos uxos do trabalho do
processo: anlise de requisitos, anlise, projeto, implementao e teste.

O uxo de teste desenvolvido com base no produto do uxo de implementao. Os com-


ponentes executveis so testados exaustivamente no uxo de teste para ento ser disponi-
bilizados aos usurios nais. O principal propsito do uxo de teste realizar vrios testes e
sistematicamente analisar os resultados de cada teste. Componentes que possurem defeitos
retornaro a uxos anteriores como os uxos de projeto e implementao, onde os problemas
encontrados podero ser corrigidos.

O teste de um sistema primeiramente empregado durante a fase de elaborao, quando a


arquitetura do sistema denida, e durante a fase de construo quando o sistema imple-
mentado. Um planejamento inicial de testes pode ser feito durante a fase de concepo.

Na fase de transio, o uxo de testes se limita ao conserto de defeitos encontrados du-


rante a utilizao inicial do sistema. O produto do uxo de teste o modelo de teste, esse
modelo primeiramente descreve como componentes executveis, provenientes do uxo de
implementao, so testados.

Pgina 70 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

Mais especicamente, um modelo de teste descreve como os testes de integrao e de


sistema exercitaro componentes executveis a partir do modelo de implementao. Todos
os casos de teste devem ser registrados no modelo de teste. Uma das principais atividades
de teste no Processo Unicado a criao do modelo de teste, que deve descrever como os
testes de integrao e de sistema exercitaro componentes executveis a partir do modelo
de implementao. O modelo de teste tambm descreve como os testes de integrao devem
ser executados, bem como os testes de unidade. O modelo de testes tambm pode descrever
como aspectos especcos dos sistemas testados, como por exemplo, se a interface do usurio
til e consistente ou se o manual do usurio cumpre seu objetivo.

O papel do uxo de teste vericar se os resultados do uxo de implementao cumprem


os requisitos estipulados por clientes e usurios, para que possa ser decidido se o sistema
necessita de revises ou se o processo de desenvolvimento pode continuar.

Um caso de teste um conjunto especco de entradas de teste, condies de execuo e


resultados esperados, identicados com a nalidade de avaliar um determinado aspecto de
um item de teste-alvo.

Um plano de testes uma denio das metas e dos objetivos dos testes no escopo da
iterao (ou projeto), os itens-alvo, a abordagem adotada, os recursos necessrios e os pro-
dutos que sero liberados.

Um script de teste um conjunto de instrues passo a passo que permitem a execuo de


um teste. Os scripts de teste podem assumir a forma de instrues de texto documentadas e
executadas manualmente ou de instrues que podem ser lidas pelo computador para ativar
a execuo automtica do teste.

Uma prova de conceito , como o nome sugere, uma prova de uma teoria. As provas
de conceito apenas armam algo que antes s existia no papel e que, portanto, no existia
nenhuma prova que de fato aquilo funcionaria. Durante o processo da anlise arquitetural,
aspectos de risco do projeto podem merecer uma investigao mais detalhada, para isso uma
prova de conceito pode ser construda e pode tomar as seguintes formas: Modelagem con-
ceitual; Prottipo Rpido; Simulao; Converso automtica de especicaes em cdigo;
Especicaes executveis ou a Construo de picos invertidos.

A avaliao de teste a avaliao dos resultados de um conjunto de testes. Ela geralmente


inclui uma lista de defeitos e seus nveis de prioridade, alm de informaes como a razo
de defeitos por linha de cdigo.

As principais medidas de um teste incluem a cobertura e a qualidade. A cobertura a


medida da abrangncia do teste e expressa pela cobertura dos requisitos e casos de teste
ou pela cobertura do cdigo executado. A qualidade uma medida de conabilidade, de
estabilidade e de desempenho do objetivo do teste (sistema ou aplicativo em teste). Ela se
baseia na avaliao dos resultados do teste e na anlise das solicitaes de mudana (de-
feitos) identicadas durante o teste.

Dado todo o exposto, a alternativa a ser marcada a letra (E).

Pgina 71 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

33. Assuntos relacionados: UML, Diagrama de Estados, Diagrama de Classes, Diagrama de


Atividades, Diagrama de Componentes, Diagrama de Sequncia,
Banca: CESGRANRIO
Instituio: Petrobras
Cargo: Analista de Sistemas - Eng. de Software
Ano: 2008
Questo: 53
Aplicaes com interfaces web podem apresentar uxos de navegao complexos entre suas
pginas. H links e botes a serem clicados a qualquer momento, disparando eventos de
transio de uma pgina para outra e at para si mesma. Utilizando Javascript no lado do
cliente, e possivelmente recursos Ajax, possvel habilitar ou desabilitar links e permitir ou
impedir o envio de formulrios com base em condies vericadas em tempo real. Dentre os
tipos de diagrama UML listados a seguir, qual o que melhor modelaria o uxo de navegao
descrito?

(a). Classe

(b). Atividade

(c). Mquina de estado

(d). Componente

(e). Seqncia

Soluo:
Antes de apontar qual a alternativa correta, vamos rever cada tipo de diagrama UML
envolvido nesta questo.

Diagrama de Classes

O objetivo de um diagrama de classes descrever estaticamente os vrios tipos de obje-


tos no sistema, bem como o relacionamento entre eles. importante ressaltar que esse tipo
de diagrama pode oferecer trs perspectivas distintas:

Conceitual: perspectiva destinada aos clientes. Ela representa os conceitos do domnio


em estudo;

Especicao: perspectiva destinada s pessoas que no precisam saber detalhes de


desenvolvimento. Ela evidencia as principais interfaces da arquitetura e mtodos, sem
detalhes sobre como eles sero implementados;

Implementao: perspectiva destinada ao time de desenvolvimento. Ela aborda


vrios detalhes importantes sobre a implementao.

Como o diagrama de classes faz uma descrio esttica do sistema, ele no adequado para
modelar nenhum tipo de uxo. Ou seja, a alternativa A no a que procuramos.

Diagrama de Atividades

Um diagrama de atividades um diagrama de estados em que todos ou a grande maio-


ria dos estados representam execues de aes (atividades internas ao sistema). Portanto,
ele um grco de uxo que evidencia os controles e as execues das atividades. Seus
principais elementos so:

Pgina 72 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

incio: crculo preenchido;

estado ou atividade: retngulo com bordas arredondadas;

transio: seta;

deciso ou desvio: losango - uma entrada e mais de uma sada;

intercalao ou merge: losango - mais de uma entrada e uma sada;

separao ou fork: barra horizontal - uma entrada e mais de uma sada;

juno ou join: barra horizontal - mais de uma entrada e uma sada.

Um diagrama de atividades descreve uma sequncia de atividades. Ento, se ele fosse uti-
lizado para descrever o uxo de navegao descrito no enunciado, o foco caria nos eventos
dos links e botes ao invs de nas pginas. Ou seja, dentre as alternativas que temos, o
diagrama de atividades no o mais adequado para o que se pede no enunciado.

Diagrama de Estados

Diagrama de estados tambm comumente chamado de mquina de estados. Ele mostra os


diferentes estados de um objeto durante sua vida, bem como os estmulos que acionam as
mudanas de estado. Ou seja, o diagrama de estados v o ciclo de vida dos objetos como
mquinas de estados (automatos) nitos. O termo nito signica que existe um nmero
nito de estados que o objeto pode assumir, bem como nito o nmero de estmulos que
acionam as mudanas de estado.

Na UML, o estado do objeto denido pelos valores dos atributos de um objeto de uma de-
terminada classe do modelo. No entanto, importante ressaltar que nem todas as variaes
de valores de atributos devem ser representadas por estados exclusivos, mas apenas aquelas
que podem afetar signicativamente o trabalho do objeto no contexto da aplicao.

Existem dois tipos especiais de estados: inicial e nal. Eles so especiais porque nenhum
evento pode fazer com que um objeto retorne para seu estado inicial, bem como no existe
nenhum evento capaz de tirar o objeto de seu estado nal.

A Figura 4 mostra um exemplo de um diagrama de estados para um objeto do tipo servi-


dor. Nele so mostrados 4 estados (pronto, escutando, trabalhando e desligando), alm dos
estados inicial e nal. Tambm so mostrados os estmulos que acionam as mudanas de
estado.

este o tipo de diagrama adequado para modelar o uxo de navegao entre pginas web.
As pginas seriam encaradas como os objetos e os eventos de links e botes seriam modela-
dos como os estmulos.

Diagrama de Componentes

Um diagrama de componente mostra os componentes do software (por exemplo, compo-


nentes CORBA, Java Beans ou sees do sistema que so claramente distintas) e os artefatos
de que eles so feitos, como arquivos de cdigo-fonte, bibliotecas de programao ou tabelas
de bancos de dados relacionais. Sendo assim, nem de longe ele til para modelar algum
tipo de uxo de sistema.

Pgina 73 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

Figura 4: exemplo de Diagrama de Estados.

Diagrama de Sequncia

Seu principal objetivo descrever a sequncia ao longo do tempo das comunicaes en-
tre objetos. A nfase temporal obtida com a linha vertical de tempo que est sempre
presente neste tipo de diagrama. Assim como o diagrama de comunicao, o diagrama de
sequncia um tipo de diagrama de interao. Ou seja, eles descrevem trocas de men-
sagens em situaes dinmicas. Perceba, portanto, que este tipo de diagrama no se mostra
adequado a modelagem de uxo de navegao.

Pgina 74 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

34. Assuntos relacionados: UML, Diagrama de Classes,


Banca: CESGRANRIO
Instituio: Petrobras
Cargo: Analista de Sistemas - Eng. de Software
Ano: 2008
Questo: 54

A gura acima mostra um diagrama de classes UML desenvolvido para um projeto em que
ainda no se sabe em que linguagem ser realizada a implementao. Sobre o diagrama,
assinale a armao correta.

(a). H um erro na cardinalidade da associao entre ClasseA e ClasseB, pois se trata


de uma composio e, como tal, um objeto da ClasseB s pode estar associado a
um objeto da ClasseA.

(b). H uma dependncia cclica entre ClasseB, ClasseC e ClasseE, o que no permi-
tido pela UML.

(c). O fato de que ClasseD generaliza ClasseA e ClasseB se traduz em herana mltipla,
o que no permitido pela UML.

(d). Retirando a ClasseA, o diagrama resultante corresponde ao padro de projeto


composite.

(e). Invertendo o sentido de todas as generalizaes, o diagrama resultante corresponde


ao padro de projeto chain of responsability.

Soluo:
Lembre-se que diagramas de classe nos permitem identicar tanto o contedo de uma classe
quanto o relacionamento entre vrias classes. Em um diagrama de classe, podemos mostrar
as variveis e mtodos membros de uma classe. Podemos tambm mostrar se uma classe
herda de outra, ou se mantm uma referncia para outra.

(A) CORRETA

O relacionamento todo-parte, tambm conhecido como composio agregada, ou relaciona-


mento tem-um ou parte-de, indica que um objeto (o todo) composto de outros objetos
(as partes). Com a composio agregada, o relacionamento entre os objetos muito mais
forte que com a associao, pois nela o todo no pode existir sem suas partes e as partes no
podem existir sem o todo. Vrios pontos importantes so inerentes a este fato. So eles:

remoo do todo implica na remoo das partes;

Pgina 75 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

existe apenas um todo, isto , as partes no so compartilhadas com outros todos;

as partes no podem ser acessadas fora do todo, ou seja, elas so particulares para o
todo;

uma mensagem destinada a uma parte deve ser enviada para o todo e retransmitida
por ele parte.

Isto signica que a agregao composta deve ser utilizada somente quando um objeto
considerado como uma parte de outro objeto e no apenas uma associao ocasional com
existncia e visibilidade independentes.

A m de representar este tipo de relacionamento, utiliza-se uma linha que termina com
um smbolo de diamante preenchido, smbolo este colocado contra o todo. Alm disso, para
evitar qualquer confuso possvel, ao todo atribuda, explicitamente, a multiplicidade de
1 (um), mesmo porque apenas um todo possvel.

A partir do diagrama UML e do que expomos, conseguimos classicar a Classe A como


sendo o todo e a Classe B como a parte do relacionamento. Assim, podemos vericar que
a alternativa A est correta, pois a multiplicidade 1 (um) deveria ser atribuda ao todo, e
no uma multiplicidade denotada pelo smbolo * que representa nenhum ou mais objetos.

(B) ERRADA

Na verdade, o que no permitido na UML o que foge da sua semntica e sintaxe,


pois lembremos que UML uma linguagem de modelagem. Logo, a UML em sua semntica
e sintaxe no impede a existncia da dependncia cclica, pois essa no se preocupa com
problemas da arquitetura do sistema ou da soluo.

(C) ERRADA

Um relacionamento entre classes chamado de relacionamento de generalizao. Esse rela-


cionamento tambm pode ser chamado de relacionamento de especializao, pois a general-
izao e a especializao so dois pontos de vista do mesmo relacionamento: as Classes A e
B so generalizaes da Classe D e esta uma especializao das anteriores.

No diagrama de classes, uma generalizao representada por uma echa partindo da sub-
classe (no caso, a Classe D) em direo (s) superclasses (no caso, as Classes A e B).

importante mencionar que, assim como a alternativa B, independentemente da linguagem


de programao adotada permitir (C++) ou no (Java) herana mltipla, no ser a UML
que restringir a modelagem de herana mltipla. Assim, em UML, uma classe pode ter
mais de uma superclasse. No nosso caso, a Classe D possui tanto caractersticas da Classe
A quanto da Classe B.

Conclumos, assim, que a alternativa est errada.

(D) ERRADA

Composite compe objetos em estruturas do tipo rvore para representar hierarquias todo-
parte. Faz tambm com que o tratamento dos objetos individuais e de suas composies
seja uniforme.

Pgina 76 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

Aplicaes grcas como editores de desenho e sistemas de captura de esquema deixam os


usurios construrem diagramas complexos a partir de Componentes simples. O usurio
pode agrupar Componentes para formar Componentes maiores, que, por sua vez, podem ser
agrupados para formar Componentes maiores ainda. O Padro Composite descreve como
usar composio recursiva, de modo que os clientes no tenham que fazer distino entre
componentes simples e composies.

A Figura 5 apresenta esta estrutura.

Figura 5: estrutura do padro de projeto Composite.

Observe que, mesmo aps a retirada da Classe A no conseguimos chegar estrutura ap-
resentada na gura: o Composite composto por componentes e um lho deste atravs
da herana. Na questo no temos essa composio e herana ao mesmo tempo. Portanto,
alternativa errada.

(E) ERRADA

O padro de projeto de software Chain of Responsibility representa um encadeamento de


objetos receptores para o processamento de uma srie de solicitaes diferentes. Esses ob-
jetos receptores passam a solicitao ao longo da cadeia at que um ou vrios objetos a trate.

Cada objeto receptor possui uma lgica descrevendo os tipos de solicitao que capaz
de processar e como passar adiante aquelas que requeiram processamento por outros recep-
tores. A delegao das solicitaes pode formar uma rvore de recurso, com um mecanismo
especial para insero de novos receptores no nal da cadeia existente.

Dessa forma, fornece um acoplamento mais fraco por evitar a associao explcita do reme-
tente de uma solicitao ao seu receptor e dar a mais de um objeto a oportunidade de tratar
a solicitao.

Um exemplo da aplicao desse padro o mecanismo de herana nas linguagens orien-

Pgina 77 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

tadas a objeto: um mtodo chamado em um objeto buscado na classe que implementa o


objeto e, se no encontrado, na superclasse dessa classe, de maneira recursiva.

A Figura 6 apresenta esta estrutura.

Figura 6: representao da estrutura do padro Chain of Responsability.

Como podemos observar, a estrutura do padro bem simples e possui um auto-relacionamento


(successor ), o que nos permite descartar a alternativa.

Pgina 78 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

35. Assuntos relacionados: Engenharia de Software, Testes de Software, Complexidade Ci-


clomtica,
Banca: CESGRANRIO
Instituio: Petrobras
Cargo: Analista de Sistemas - Eng. de Software
Ano: 2008
Questo: 55
Considere o seguinte cdigo de um mtodo de uma classe Java:

public boolean primo(int x) {


if (x == 1 || x == 2) {
return true;
}
int raiz = (int) Math.sqrt((double)x);
for (int i = 2; i <= raiz; i++) {
if (x % i == 0) {
return false;
}
}
return true;
}
}

Qual a complexidade ciclomtica do mtodo?

(a). 2

(b). 3

(c). 4

(d). 5

(e). 6

Soluo:
A complexidade ciclomtica, conhecida tambm como complexidade condicional, uma
mtrica de software que fornece uma medida quantitativa da complexidade lgica de um
programa estruturado (cclico). Ou seja, essa mtrica mede o nmero de caminhos linear-
mente independentes do conjunto bsico de um programa, indicando um limite mximo para
o nmero de casos de teste que dever ser executados para garantir que todas as instrues
do programa sejam executadas pelo menos uma vez. Um caminho independente qualquer
caminho que introduz pelo menos um novo conjunto de instrues ou uma nova condio.

Existem vrias formas de medir a complexidade ciclomtica de um programa. Uma forma


rpida e prtica, que o que nos interessa em uma prova, contabilizar o nmero total de
predicados lgicos (comparaes expresses booleanas) que aparecem em uma rotina. Seja
n esse nmero, a complexidade ciclomtica dada ento por n + 2.

No nosso caso, o nmero total de predicados lgicos 3 (o primeiro if (x == 1 || x ==


2), a condio no for (int i = 2; i <= raiz; i++) e o segundo if (x % i == 0) ). Ento, a
complexidade ciclomtica do procedimento primo igual 5.

Pgina 79 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

36. Assuntos relacionados: Algoritmos de Ordenao, Heapsort, Ordenao por rvore de


Deciso, Ordenao por Comparao, Quicksort, Ordenao por Insero, Ordenao por
Intercalao,
Banca: CESGRANRIO
Instituio: Petrobras
Cargo: Analista de Sistemas - Eng. de Software
Ano: 2008
Questo: 56
Sobre o algoritmo de ordenao heapsort, assinale a armao correta.

(a). Utiliza ordenao por rvore de deciso, ao invs de ordenao por comparao.

(b). A estrutura de dados que utiliza, chamada heap, pode ser interpretada como uma
rvore binria.

(c). Seu desempenho de pior caso pior do que o do algoritmo quicksort.

(d). Seu desempenho de pior caso o mesmo da ordenao por insero.

(e). Seu desempenho de pior caso menor do que o da ordenao por intercalao.

Soluo:
O Heapsort utiliza uma estrutura de dados chamada heap binrio (rvore binria mantida na
forma de vetor) para ordenar os elementos a medida que os insere na estrutura. Dessa forma,
ao nal das inseres, os elementos podem ser sucessivamente removidos da raiz da heap,
na ordem desejada. Para uma ordenao crescente, deve ser construda uma heap mxima
(o maior elemento ca na raiz). J para uma ordenao decrescente, deve ser construda
uma heap mnima (o menor elemento ca na raiz). Em resumo, as principais caractersticas
desse algoritmo so:

ordenao por seleo;

heap gerada e mantida no prprio vetor a ser ordenado (utilizao eciente da memria);

complexidade (em qualquer caso: pior, mdio ou melhor): O(n log n);

consumo de memria ao construir a rvore;

no indicado para vetores pequenos por conta do tempo de construo da rvore.

(A) ERRADA

Algoritmos que se baseiam apenas em comparaes entre os elementos de entrada para


efetuarem ordenaes so denominados algoritmos de ordenao por comparao. Os algo-
ritmos Heapsort, Quicksort e Ordenao por Intercalao (Mergesort) so alguns exemplos
desse tipo de algoritmo.

Uma rvore de deciso representa, de modo abstrato, as comparaes executadas por um


algoritmo de ordenao. Suas principais propriedades so: uma rvore binria; possui no
mnimo n! folhas (para n igual ao nmero de elementos a serem ordenados); cada folha
contm uma permutao dos dados de entrada. O caminho mais longo da rvore representa
o pior caso de execuo do algoritmo.

sempre possvel construir uma rvore de deciso para algoritmos de ordenao por com-
parao. Essa construo realizada da seguinte forma:

xe o n;

Pgina 80 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

verique qual a primeira comparao do algoritmo, que pode resultar em sim ou


no. Nesse passo, necessrio saber quais so os ndices que esto sendo comparados;

a primeira comparao colocada na raiz da rvore de deciso, incluindo os arcos sim


e no;

repita os passos anteriores para cada n da rvore. Em cada comparao, necessrio


saber quais so os ndices que esto sendo comparados. Observe que sempre se deve
analisar os ndices originais, ou seja, no devem ser consideradas as trocas de ndices
ocorridas durante a execuo do algoritmo.

Tendo em vista os conceitos apresentados, conclui-se que o algoritmo Heapsort pode ser
representado por uma rvore de deciso, j que um dos algoritmos que realiza ordenao
por comparao. Portanto, essa alternativa est errada.

(B) CORRETA

Considerando a explicao apresentada acima, se torna fcil concluir que essa a alter-
nativa correta.

(C) ERRADA

Seu desempenho no pior caso (igual ao do melhor ou mdio caso) O(n log n). Esse
o melhor resultado dentre os algoritmos baseados em comparaes. Esse conhecimento j
bastaria para concluir que essa alternativa est incorreta. As complexidades do algoritmo
Quicksort so O(nlogn) para o melhor caso e O(n2 ) para o pior caso. sempre importante
ter em mente que quanto mais eciente for a escolha do pivot, mais eciente ser o desem-
penho da ordenao do algoritmo Quicksort.

(D) ERRADA

No pior caso, a ordenao por insero apresenta complexidade igual a O(n2 ), pois nesse
caso so necessrias n(n 1)/2 (n2 )/2 comparaes. Esse cenrio sempre ocorre quando
a sequncia de entrada est ordenada na ordem inversa desejada.

(E) ERRADA

Tambm chamado de Mergesort, o algoritmo de ordenao por intercalao, um algoritmo


recursivo, se utiliza da tcnica dividir para conquistar. Sua idia bsica que mais fcil
criar uma sequncia ordenada a partir de duas outras tambm ordenadas. Para isso, ele
divide a sequncia original em pares de dados, as ordena, depois as agrupa em sequncias
de quatro elementos, e assim por diante, at ter toda a sequncia dividida em apenas duas
partes. Sua complexidade tanto para o pior quanto para o melhor caso O(n log n). Seu
ponto fraco a baixa ecincia na utilizao de memria, complexidade espacial O(n).
Contudo, existe uma variante desse algoritmo que realiza a ordenao no prprio vetor de
entrada, ou seja, complexidade espacial O(1), mas a sua implementao extremamente
complicada.

Pgina 81 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

37. Assuntos relacionados: Estruturas de Dados, Lista Encadeada, Tabela Hash,


Banca: CESGRANRIO
Instituio: Petrobras
Cargo: Analista de Sistemas - Eng. de Software
Ano: 2008
Questo: 57
Informaes comuns s questes de nmeros 57 e 58.

Considere uma tabela hash H, onde H[i] denota uma posio da tabela. H implemen-
tada usando uma funo h(k) para determinar a posio i de armazenamento, k sendo a
chave do elemento de dados x a ser armazenado em H, e denotada por k = chave[x]. H
um hash com encadeamento, ou seja, cada H[i] uma lista encadeada que armazenar os
elementos de dados que, de outra forma, colidiriam para a posio. Nesta implementao,
as listas so duplamente encadeadas, ou seja, cada elemento e da lista armazena tambm os
ponteiros proximo[e] e anterior[e]. Cada lista L possui ainda o valor inicio[L], que aponta
para o primeiro elemento da lista. NIL representa um ponteiro vazio.

denota o operador de atribuio.

O pseudocdigo a seguir mostra uma operao nesta estrutura, porm apresenta erro em
uma de suas linhas. As linhas esto numeradas apenas para facilitar a correspondncia com
as alternativas.

01 proximo[chave[x]] inicio[H[h(chave[chave[x]])]]
02 se inicio[H[h(chave[chave[x]])]] 6= NIL
03 ento inicio[anterior[inicio[H[h(chave[chave[x]])]]]] chave[x]
04 inicio[H[h(chave[chave[x]])]] chave[x]
05 anterior[chave[x]] NIL

O erro citado corrigido por

(a). 01 chave[x] inicio[H[h(chave[x])]]

(b). 02 se proximo[H[h(chave[chave[x]])]] 6= NIL

(c). 03 ento anterior[inicio[H[h(chave[chave[x]])]]] chave[x]

(d). 04 proximo[inicio[H[h(chave[chave[x]])]]] proximo[chave[x]]

(e). 05 anterior[chave[x]] inicio[H[h(chave[chave[x]])]]

Soluo:
Antes de partirmos para a resoluo da questo, relembremos as estruturas de dados citadas
(Tabela Hash e Lista Encadeada).

As Tabelas Hash so utilizadas geralmente em cenrios em que o nmero real de chaves


armazenadas menor que o nmero de chaves possveis. Nessas condies, Tabelas Hash
tornam-se uma alternativa efetiva ao endereamento direto de uma matriz, visto que usam
matrizes de tamanho proporcional ao nmero de chaves realmente armazenadas.

Em uma Tabela Hash, a funo hash (na questo, h(k)) utilizada para calcular em qual
entrada da tabela o elemento de chave k ser armazenado. Se a tabela possuir tamanho
m, isto , m entradas, ento o espao de sada da funo h(k) ser: 0, 1, . . . , m-1. O
propsito da funo hash reduzir a faixa de ndices da matriz que precisam ser tratados.

Pgina 82 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

Essa reduo, contudo, possui um preo, o de que duas chaves distintas podem mapear para
a mesma entrada na tabela.

As Listas Encadeadas so estruturas de dados nas quais os objetos esto arranjados em


uma ordem linear, fornecendo uma simples e exvel representao para conjuntos dinmi-
cos.

Na lista L em questo, cada elemento um objeto com um campo chave e dois outros
campos ponteiros: prximo e anterior. Dado um elemento e na lista, proximo[e] aponta
para o seu sucessor na lista encadeada, e anterior[e] aponta para o seu predecessor. Se ante-
rior[e] = NIL, o elemento e no possui predecessor e ele o primeiro elemento, ou cabea,
da lista (lembre-se que essa lista apenas duplamente encadeada, e no circular). Pelo lado
oposto, se proximo[e] = NIL, o elemento e no possui sucessor, sendo, ento, o ltimo
elemento, ou rabo, da lista.

Pelo enunciado, podemos notar que a referida lista (L) tambm possui um atributo ini-
cio, que aponta para o primeiro elemento da lista. Se inicio[L] = NIL, ento a lista vazia.

Assim sendo, partiremos para a resoluo da questo.

Ao analisar o pseudocdigo, podemos notar que a funo hash h(k) alimentada pela chave
da chave do elemento x e no apenas pela chave de x (chave[x]) como o enunciado apresenta,
o que poderia nos confundir.

Nesse pseudocdigo, todas as linhas esto corretas com exceo da linha 03. Vejamos,
passo a passo, o porqu:

1. chave[x]: determina a chave do elemento x;

2. chave[chave[x]]: determina a chave da chave do elemento x;

3. h(chave[chave[x]]): calcula a entrada da Tabela H que ser indexada;

4. H[h(chave[chave[x]])]: representa uma lista duplamente encadeada que est localizada


na entrada h(chave[chave[x]]) da Tabela H;

5. inicio[H[h(chave[chave[x]])]]: recupera o primeiro elemento (cabea) da lista


H[h(chave[chave[x]])]. Alm disso, como o cdigo da linha 03 executado apenas se a
condio da linha 02 satisfeita, temos, obviamente, que inicio[H[h(chave[chave[x]])]]
uma referncia de memria vlida (6= NIL);

6. anterior[inicio[H[h(chave[chave[x]])]]]: esta sequncia de indexaes recupera o ponteiro


para o n que precede o n da cabea. Como estamos tratando com uma lista dupla-
mente encadeada e no circular, ca evidente que tal ponteiro possui valor NIL;

7. inicio[anterior[inicio[H[h(chave[chave[x]])]]]]: neste nvel de indexao que chegamos


ao erro. Ao substituirmos a parte interna do colchete mais externo por NIL, como
vimos no item anterior, obteremos inicio[NIL], o que representa uma violao de acesso
memria. Portanto, a resposta correta a alternativa C.

Pgina 83 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

38. Assuntos relacionados: Estruturas de Dados, Lista Encadeada, Tabela Hash,


Banca: CESGRANRIO
Instituio: Petrobras
Cargo: Analista de Sistemas - Eng. de Software
Ano: 2008
Questo: 58
Corrigindo-se o erro citado, o pseudocdigo corresponderia a uma operao de

(a). insero de x em H.

(b). insero da chave de x em H.

(c). insero da chave da chave de x em H.

(d). remoo da chave de x de H.

(e). remoo de x de H.

Soluo:
Aps a correo do erro existente no pseudocdigo, teremos:

01 proximo[chave[x]] inicio[H[h(chave[chave[x]])]]
02 se inicio[H[h(chave[chave[x]])]] 6= NIL
03 ento anterior[inicio[H[h(chave[chave[x]])]]] chave[x]
04 inicio[H[h(chave[chave[x]])]] chave[x]
05 anterior[chave[x]] NIL

A partir da anlise do pseudocdigo acima, constamos que estamos diante de uma insero,
pois:

a atribuio existente na linha 01 faz com que o campo ponteiro prximo do n chave[x]
passe apontar para a atual cabea da lista. Para ns meramente ilustrativos, veja
abaixo a Figura 7 que apresenta dois cenrios iniciais possveis da lista. O primeiro em
que ela vazia e o segundo em que h apenas um n;

na linha 03, ao ponteiro anterior da atual cabea da lista (inicio[H[h(chave[chave[x]])]]),


atribudo o endereo do n que contm a chave de x (chave[x]). Lembre-se que antes
dessa atribuio, anterior[inicio[H[h(chave[chave[x]])]]] apontava para NIL, por se tratar
do primeiro n da lista. A Figura 8 ilustra esse cenrio, o qual ns chamaremos de 2.1,
pois advm do cenrio 2 que foi apresentado no item anterior;

na linha 04, ao atributo inicio da lista H[h(chave[chave[x]])] atribudo o n que contm


a chave x. Em outras palavras, o n x passa a ser o n cabea da lista. A Figura 9
ilustra dois possveis casos, um na lista vazia (1.1) e o outro em uma lista contendo um
n (2.2);

na linha 05, ao ponteiro anterior do n contendo a chave x, e atual cabea da lista,


atribudo o valor NIL, uma vez que ele no possui predecessor. Novamente, para
ilustrar essa atribuio, ns recorreremos a Figura 10, a qual apresenta o cenrio 1.2,
proveniente de uma lista inicialmente vazia, e o cenrio 2.3, proveniente de uma lista
no-vazia.

Pgina 84 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

Figura 7: ilustrao da linha 01 do pseudocdigo.

Figura 8: ilustrao da linha 03 do pseudocdigo.

Pgina 85 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

Figura 9: ilustrao da linha 04 do pseudocdigo.

Figura 10: ilustrao da linha 05 do pseudocdigo.

Pgina 86 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

39. Assuntos relacionados: Estruturas de Dados, rvore B,


Banca: CESGRANRIO
Instituio: Petrobras
Cargo: Analista de Sistemas - Eng. de Software
Ano: 2008
Questo: 59
Considere uma rvore B de grau mnimo igual a 2 (o que signica que cada n pode ter, no
mximo, 3 chaves) inicialmente vazia, na qual so inseridas as chaves N, D, T, B, Z, K, R,
F, G, nesta ordem, as quais so comparadas com base na ordem do alfabeto. Considerando
o algoritmo de insero em uma nica passagem, conclui-se que

(a). a altura da rvore resultante ser 3.

(b). B estar em um n interno.

(c). o n raiz conter a chave K.

(d). haver 4 ns folhas.

(e). F e G pertencero mesma folha.

Soluo:
rvores B so rvores de busca balanceadas projetadas para trabalhar com discos magnti-
cos ou outros dispositivos de armazenamento secundrio.

Antes de solucionarmos a presente questo, de enorme importncia que vejamos algu-


mas caractersticas da rvore B. So elas:

para um dado n x, n[x] representa o atual nmero de chaves armazenadas em x;

as n[x] chaves so armazenadas em ordem no-decrescente (chave1[x] chave2[x] ...


chaveN[x]);

folha[x] um valor booleano verdadeiro se x folha e falso se x um n interno;

se x um n interno, ento ele contm n[x] + 1 ponteiros para os seus lhos. Nesse
caso, note que os ns folhas, os quais esto localizados nos extremos da rvore, no
tm lhos;

as chaves existentes em um n x separam as faixas de chaves armazenadas em cada


sub-rvore. Por exemplo, considere um n x que contm apenas uma chave de valor V
(o que signica, como j vimos, que ele poder possuir at dois ns lhos: sub-rvore
esquerda e sub-rvore direita). Nesse cenrio, qualquer chave com valor menor que V
encontrar-se- na sub-rvore esquerda. Por outro lado, chaves com valor maior que V
estaro localizadas na sub-rvore direita;

em uma rvore B, todas as folhas se encontram na mesma profundidade, a qual


representada pela altura da rvore. Por conveno, o n raiz da rvore B encontra-se
na altura 0 (zero);

existem limites mximos e mnimos no nmero de chaves que um n pode conter. Esse
limite expressado em termos do grau mnimo da rvore B (considerado, aqui, como
um parmetro t). Assim, cada n diferente da raiz deve ter, pelo menos, t - 1 chaves,
isto , no mnimo t lhos (se a rvore no-vazia, o n raiz deve ter pelo menos uma
chave). No que se refere ao limite mximo, cada n pode conter at 2t - 1 chaves, ou
seja, 2t lhos;

Pgina 87 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

quando da tentativa de insero de uma chave em um n x cheio (contendo 2t - 1


chaves), uma operao fundamental, denominada split, efetuada. Tal operao con-
siste em: dividir o n x em dois ns lhos, cada um contendo t - 1 chaves; mover a
chave mediana de x para o n pai de x. Se x no possuir n pai, ento a rvore cresce
em altura por um;

antes da insero de uma chave em um n x cheio, devemos assegurar que o n pai de


x tambm no esteja cheio antes do split de x, evitando, dessa forma, que splits sejam
realizados recursivamente;

aps a ocorrncia de um split, a nova chave ser inserida no n folha existente em uma
das sub-rvores criadas.

Agora estamos aptos a resolver a presente questo. O primeiro passo da criao de uma
rvore B consiste em alocar um n raiz vazio, o qual no possui chaves e, logicamente, nem
ns lhos. Em seguida, ns iremos inserir as chaves, uma a uma, respeitando os limites que
os ns possuem. No caso da rvore em questo, com t igual a 2, um n ter no mnimo
uma chave e no mximo 3 chaves. A Figura 11, apresenta, passo a passo, a insero de cada
chave (ns que so modicados pelo processo de insero esto sombreados).

Ao observarmos a Figura 11, podemos notar que:

1) representa o estado inicial da nossa rvore, a qual contm apenas um n (raiz) vazio;

2), 3) e 4) so os resultados das inseres das respectivas chaves, N, D e T, o que nada


mais que uma simples insero no n raiz;

5) o resultado da insero da chave B na rvore prvia. O n raiz DNT, que est


cheio, dividido em dois ns contendo D e T, a chave N movida para o novo n raiz,
e a rvore B cresce em altura por um;

6) o resultado da insero da chave Z na rvore prvia, a qual uma simples insero


na folha;

O mesmo ocorre em 7) e 8) para as chaves K e R, respectivamente;

9) o resultado da insero da chave F. O n folha BDK divido antes de F ser inserida


no n mais a direita das duas folhas (n K);

10) o resultado da insero da chave G na folha FK.

Portanto, a resposta correta a alternativa E.

Pgina 88 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

Figura 11: insero de chaves em uma rvore B.

Pgina 89 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

40. Assuntos relacionados: Java,


Banca: CESGRANRIO
Instituio: Petrobras
Cargo: Analista de Sistemas - Eng. de Software
Ano: 2008
Questo: 60
Considere as informaes a seguir para responder s questes de nmeros 60 e
61.

So mostrados a seguir os cdigos fontes das classes Produto e ProdutoTest. O mtodo test-
DescontoValido() invocado pelo framework de testes automaticamente quando os testes
so executados, para exercitar o mtodo descontoValido() da classe Produto. O mtodo
assertEquals gera um junit.framework.AssertionFailedError quando os valores de seus argu-
mentos so diferentes entre si.

01 package br.com.exemplo.estoque;
02
03 public class Produto {
04
05 private double preco;
06 private double precoMinimo;
07
08 public Produto(double preco, double precoMinimo) {
09 this.preco = preco;
10 this.precoMinimo = precoMinimo;
11 }
12
13 public boolean descontoValido(int percentual) {
14 double precoComDesconto;
15 precoComDesconto = this.preco - this.preco * percentual / 100;
16 return (precoComDesconto >= this.precoMinimo);
17 }
18 }

Pgina 90 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

01 package br.com.exemplo.estoque;
02
03 import org.junit.Test;
04 import static org.junit.Assert.*;
05
06 public class ProdutoTest {
07
08 @Test
09 public void testDescontoValido() {
10 int percentual = 90;
11 boolean resultadoEsperado = true;
12
13 System.out.println(caderno);
14 Produto caderno = new Produto(10.00, 1.00);
15 boolean resultado = caderno.descontoValido(percentual);
16 assertEquals(resultadoEsperado, resultado);
17
18 System.out.println(caneta);
19 Produto caneta = new Produto(1.00, 0.10);
20 resultado = caneta.descontoValido(percentual);
21 assertEquals(resultadoEsperado, resultado);
22 }
23 }
Com base nos cdigos fontes apresentados, conclui-se que

(a). a linha 08 de ProdutoTest um comentrio.

(b). a classe ProdutoTest descende de org.junit.Test

(c). a classe Produto no pode ter descendentes sem construtores explicitamente declara-
dos.

(d). o campo preco da classe Produto s pode ser acessado pelas classes que estiverem
no mesmo pacote de Produto.

(e). org.junit.Assert um pacote.

Soluo:
(A) ERRADA

Em Java, existem 3 (trs) tipos de comentrios:

// Isto o primeiro tipo de comentrio

/* Isto o segundo tipo de comentrio */

/** Este o terceiro tipo de comentrio, muito utilizado para documentao web */

(B) ERRADA

Esta uma confuso muito comum em Java. Na verdade, o cdigo import org.junit.Test
utilizado para importar apenas a classe Test a m de que a classe ProdutoTest possa
acessar os seus mtodos pblicos (caso existam).

A classe ProdutoTest somente descenderia da classe Teste se ela fosse declarada utilizando-se

Pgina 91 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

a palavra chave extends, da seguinte forma: public class ProdutoTest extends Test.

Lembre-se que a palavra chave extends indicaria que todas as declaraes de mtodos, var-
iveis e campos da superclasse (classe pai) Test seriam herdadas pela classe ProdutoTest.

(C) CORRETA

Um construtor determina como um objeto inicializado pela criao de uma nova instncia
de uma classe com os parmetros especicados. Podemos trat-lo como um mtodo espe-
cial: com nome igual ao da classe; sem tipo de retorno ( void); e no herdado pelas subclasses.

Caso voc decida em no declarar um construtor em uma classe, Java automaticamente


fornecer um construtor default que no requer nenhum argumento. O construtor default
simplesmente chama o construtor da superclasse, denominado super(), com nenhum argu-
mento e inicializa as variveis da instncia. Se a superclasse no tiver um construtor que
no requer argumentos, ocorrer um erro em tempo de compilao, que o caso do presente
problema, pois note que a superclasse Produto possui apenas um construtor, obviamente de
mesmo nome, que exige dois argumentos.

Assim, a qualquer subclasse da classe Produto dever declara explicitamente o seu con-
strutor.

(D) ERRADA

O campo preco, como est precedido pelo modicador private, s poder ser acessado dentro
da classe Produto. Nem mesmo as subclasses da classe Produto podero acessar esse campo
diretamente.

Uma forma de tornar esse campo acessvel para leitura, seria por meio da declarao de
um mtodo, pblico ( public), na classe Produto. Esse mtodo retornaria apenas o valor
armazenado no campo preco.

Por outro lado, se desejssemos que esse campo fosse acessvel para escrita, deveramos
declarar um mtodo, na classe Produto, precedido pelo modicador protected. Isso per-
mitiria que apenas as subclasses da classe Produto atualizem o campo preco.

(E) ERRADA

Por conveno, todos os nomes de pacotes e diretrio que o seguem deveriam ser especi-
cados usando-se letras minsculas. Por outro lado, os nomes das classes e interfaces que
voc deseja referenciar dentro do pacote deveriam ser especicados usando-se a primeira
letra em maisculo. Isso permite que outros programadores que usam os seus pacotes deter-
minem facilmente quais componentes so nomes de diretrios e quais so nomes de interfaces
e classes.

Assim, na verdade, org.junit.* um pacote que contm vrias classes, dentre elas a classe
org.junit.Assert.

Pgina 92 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

41. Assuntos relacionados: Java,


Banca: CESGRANRIO
Instituio: Petrobras
Cargo: Analista de Sistemas - Eng. de Software
Ano: 2008
Questo: 61
testDescontoValido() valida a vericao para o produto caderno, mas gera uma exceo
para o produto caneta, indicando que o desconto de 90% no vlido para canetas, o que
est incorreto. A causa do problema e uma possvel soluo seriam:

(a). CAUSA: uso de aritmtica binria de ponto utuante para os clculos (variveis
do tipo double) com posterior tentativa de comparao exata entre os valores
calculados (linha 21). SOLUO: usar aritmtica decimal exata substituindo os
valores primitivos double por instncias da classe BigDecimal.

(b). CAUSA: arredondamento automtico devido ao uso na mesma expresso dos


tipos int e double (linha 14) sem converso de tipos (typecasting). SOLUO:
transformar o parmetro percentual em double ou realizar um typecasting explcito
de int para double na expresso.

(c). CAUSA: verso antiga da mquina virtual Java, que apresenta esse tipo de prob-
lema at a verso 1.1. SOLUO: atualizar para a ltima verso da JVM.

(d). CAUSA: falta da incluso do pacote java.lang.math em Produto. SOLUO:


incluir o pacote atravs de uma declarao import.

(e). CAUSA: mistura de elementos de escopos diferentes (classe e mtodo) na ex-


presso lgica de retorno. SOLUO: atribuir o precoMinimo a uma varivel
local e utiliz-la na comparao ou tornar precoComDesconto um campo de Pro-
duto.

Soluo:
(A) CORRETA

Observe, no cdigo acima, que as variveis preco, precoMinimo e precoComDesconto so


do tipo double. Observe, tambm, que o programa est tratando com partes fracionais de
uma unidade monetria, que assumiremos ser o real somente para ns ilustrativos, e ento
precisa de um tipo que permite pontos decimais em seus valores.

Infelizmente, nmeros em ponto utuante podem causar transtornos. O problema que ocorre
no cdigo acima devido ao uso do tipo double (ou oat) para representar quantias em reais
(assumindo que quantias de real so mostradas com dois dgitos a direita do ponto decimal).
Dessa forma, aps a chamada do construtor Produto, poderemos ter as seguintes quantias
armazenadas para o produto caderno:

na varvel privada preco: 10.000 e exibio 10.00;

na varivel privada precoMinimo: 0.999, o qual seria arrendondado normalmente para


1.00 para propsitos de exibio.

O mesmo pode ocorrer para o produto caneta aps a invocao do construtor Produto:

na varvel privada preco: 1.000 e exibio 1.00;

na varivel privada precoMinimo: 0.101, o qual seria arrendondado normalmente para


0.10 para propsitos de exibio.

Pgina 93 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

Assim, aps a invocao do mtodo descontoValido pelos produtos caderno e lpis, teremos:

para caderno: a varivel precoComDesconto armazenar 1.000 (e exibio 1.00), o que


maior que o precoMinimo (0.999), retornando true na comparao;

para caneta: a varivel precoComDesconto armazenar 0.100 (e exibio 0.10), o que


menor que o precoMinimo (0.101), retornando false na comparao.

A recomendao no usar variveis do tipo double (ou oat) para realizar clculos mon-
etrios precisos. A impreciso de nmeros em ponto utuante pode causar erros que re-
sultaro em incorretos valores monetrios. Nesses casos a recomendao usar a classes
java.math.BigDecimal para a realizao de clculos com preciso arbitrria de valores em
ponto utuante.

(B) ERRADA

Em Java, h regras de promoo que se aplicam a expresses contendo valores de dois


ou mais tipos primitivos. Cada valor promovido ao tipo mais alto na expresso. Dessa
forma, o argumento do mtodo descontoValido (percentual) e a constante (100) do tipo int
so automaticamente promovidas para o tipo double, devido ao campo preco.

(C) ERRADA

A JVM (Java Virtual Machine ou Mquina Virtual Java, em portugus) uma mquina
computacional abstrata, que, assim como uma mquina real, possui seu prprio conjunto de
instrues e capacidade de manipular vrias reas de memria em tempo de execuo.

Dentre as responsabilidade da JVM podemos citar as principais:

independncia de uma aplicao em relao ao hardware;

independncia de uma aplicao em relao ao sistema operacional;

proteo aos usurios contra programas maliciosos.

Lembre-se que a mquina virtual Java no tem conhecimento sobre a linguagem de progra-
mao Java. Ela conhece apenas um determinado formato binrio, arquivo do tipo classe, o
qual contm instrues da JVM (ou bytecodes) e uma tabela de smbolos, bem como outras
informaes.

(D) ERRADA

A classe Math parte do pacote java.lang, o qual implicitamente importado pelo compi-
lador. Ento no necessrio importar a classe Math para usar seus mtodos.

(E) ERRADA

Os membros de uma classe, no presente caso, preco e precoMinimo, so acessveis por qual-
quer mtodo declarado na mesma classe, independentemente do qualicador que os precede.
Assim, o campo precoMinino (this.precoMinimo no cdigo) pertence ao escopo do mtodo
descontoValido.

Note, ainda, que no mtodo descontoValido, o uso da palavra chave this para o membro
precoMinimo no era necessrio, pois no h variveis locais com o mesmo nome.

Pgina 94 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

42. Assuntos relacionados: Desenvolvimento de Software, Diagrama de Classes,


Banca: CESGRANRIO
Instituio: Petrobras
Cargo: Analista de Sistemas - Eng. de Software
Ano: 2008
Questo: 62

Com base no diagrama acima, analise os trechos de cdigo Java a seguir.

I - Produto p = new Produto();


p.setNome(Carro);

II - Seguravel s = new Veiculo();


s.setNome(Carro);
double p = s.calculaPremio();

III - Seguravel s = new Veiculo();


((Veiculo) s).setNome(Carro);

IV - Vendavel v = new Peca();


Produto p = (Produto) v;
p.setNome(Pneu);

V - Vendavel v = new Veiculo();


Produto p = (Peca)((Produto)((Veiculo) v));

Esto corretos APENAS os trechos de cdigo


(a). I e III

(b). I e IV

(c). II e III

Pgina 95 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

(d). III e IV

(e). IV e V

Soluo:
(I) ERRADA

Observe pelo diagrama que Produto uma classe abstrata, portanto no possvel aplicar
um construtor sobre ela. Em outras palavras, ela no pode ser instanciada. Ns precisamos
assegurar que o objeto a ser construdo pertence a uma classe concreta da classe abstrata
Produto, no caso, ou a classe Veculo ou a classe Peca. Uma soluo de correo seria o
seguinte cdigo:

Produto p = new Veculo();

(II) ERRADA

Note que apesar da varivel s ser uma instncia da classe Veiculo, ela foi automaticamente
convertida (upcast ) no momento da sua declarao para a interface Seguravel. Desse modo,
esse objeto poder acessar apenas os mtodos que foram denidos na interface, no caso, o
mtodo calculaPremio, e no o mtodo setNome.

(III) CORRETA

Semelhante alternativa anterior, porm com um converso (downcast ) explcita entre a


interface Seguravel e a classe que a implementa (Veiculo). Este tipo de converso permite a
uma classe pai, no caso a interface Seguravel, acessar todos os mtodos da classe lha.

Note, tambm, que s uma instncia da classe Veiculo, e por isso no foi necessrio inserir
mecanismos que vericam o tipo do objeto antes da converso (RITT, do ingls Run-Time
Type Identication ).

Em Java isso alcanado por meio do operador instanceof. O uso adequado desse oper-
ador garante que as converses so sempre seguras, no permitindo que um objeto seja
convertido para uma classe invlida.

(IV) CORRETA

No trecho de cdigo so realizadas duas converses:

1. Upcast entre uma instncia da classe, a classe concreta Peca, e a interface Vendavel.
Mais uma vez lembre-se que uma converso para uma classe (ou interface) pai feita
implicitamente;

2. Downcast entre a interface Vendavel, que uma instncia da classe Peca, e a classe
abstrata Produto. Observe, nesse caso, que a converso realizada para a classe pai
(Produto) da classe instanciada (Peca), o que perfeitamente aceitvel uma vez que
toda Peca um Produto.

Aps a realizao do downcast o mtodo setNome da classe Produto apropriadamente


invocado.

Pgina 96 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

(V) ERRADA

No trecho de cdigo, h uma tentativa de realizar um cast entre a instncia de Veiculo,


representada por v, para a classe Peca. Tal tipo de cast (entre classe irms) produzir um
erro de compilao, pois as referidas classes possuem mtodos completamente diferentes e
no relacionados.

Pgina 97 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

43. Assuntos relacionados: Java, UML, Diagrama de Classes,


Banca: CESGRANRIO
Instituio: Petrobras
Cargo: Analista de Sistemas - Eng. de Software
Ano: 2008
Questo: 63

public class Produto {

private Fabricante mFabricante;

public Produto () {
}

public Fabricante getFabricante () {


return mFabricante;
}

public void setFabricante (Fabricante val) {


this.mFabricante = val;
}
}

import java.util.ArrayList;

public class Fabricante {

private ArrayList<Produto> mProduto;

public Fabricante () {
}

public ArrayList<Produto> getProduto () {


return mProduto;
}

public void setProduto (ArrayList<Produto> val) {


this.mProduto = val;
}
}

Assinale o diagrama de classe que expressa corretamente a implementao mostrada acima,


em Java, das classes Produto e Fabricante, bem como da associao entre as mesmas.

(a). Diagrama 1

(b). Diagrama 2

(c). Diagrama 3

(d). Diagrama 4

(e). Diagrama 5

Pgina 98 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

Soluo:
Lembre-se que diagramas de classe nos permitem identicar tanto o contedo de uma classe
quanto o relacionamento entre vrias classes. Em um diagrama de classes podemos mostrar
as variveis e mtodos membros de uma classe. Podemos tambm mostrar se uma classe
herda de outra, ou se mantm uma referncia para outra. Em suma, podemos descrever todas
as dependncias do cdigo-fonte entre classes. Para resolvermos esta questo precisamos
saber:

1. associaes entre classes muito frequentemente representam instncias de variveis que


mantm referncia para outros objetos;

2. a direo da echa nos informa que a classe mantm referncia para outra classe;

3. o nmero prximo cabea da seta nos informa quantas referncias so mantidas;

4. quando existem muitas conexes representamos por estrela (*). Em Java, isso comu-
mente implementado com um Vetor ou uma Lista.

De posse desse conhecimento, estamos aptos a revolver a presente questo.

Inicialmente, analisemos a declarao da classe Produto. Observe que nela declarado


um membro privado do tipo Fabricante. Em outras palavras, a classe Produto mantm uma
nica referncia para classe Fabricante. Portanto, na associao existente entre Produto e
Fabricante deve existir uma echa apontando para a classe Fabricante com o valor numrico
1 (um) em sua ponta.

Agora, analisemos a declarao da classe Fabricante. Observe que nela declarado um


vetor (ArrayList) privado do tipo Produto, em outras palavras, a classe Fabricante mantm
muitas referncias para classe Produto. Portanto, na associao existente entre Fabricante
e Fabricante tambm deve existir uma echa apontando para a classe Produto com um as-
terisco (*) em sua ponta.

Conclumos, ento, que a reposta correta a letra D.

Pgina 99 de 114
www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

44. Assuntos relacionados: Java,


Banca: CESGRANRIO
Instituio: Petrobras
Cargo: Analista de Sistemas - Eng. de Software
Ano: 2008
Questo: 64
Considere o trecho de cdigo a seguir.

if (x != x + 0) {
System.out.println("Condio satisfeita.");
}

Se x for da classe String e tiver sido inicializado, esse trecho de cdigo Java

(a). imprimir a mensagem, apenas se x no for 0.

(b). imprimir a mensagem, apenas se x no tiver sido inicializado com null.

(c). imprimir a mensagem, independente do valor de x.

(d). gerar um erro de compilao.

(e). compilar, mas nunca imprimir a mensagem.

Soluo:
Para resolvermos a referida questo preciso saber que, em Java, o operador de adio (+)
tem precedncia maior que os operadores relacionais de (des)igualdade (!= e ==). Alm
disso, o operador + pode ser utilizado tambm para a concatenao de strings, que o
caso da nossa questo. Pronto, agora ns j temos condies de resolver a questo.

Pelo enunciado, extramos que x uma string inicializada, isto , uma string de tamanho N,
onde N pode ser maior do que 0 (zero), se x possuir algum contedo, ou N pode ser igual a
0 (zero), se x for nula.

Independentemente do contedo de x, o lado direito do operador != produzir uma string


com o tamanho N + 1. Isto , a string concatenada possuir tamanho, e obviamente, con-
tedo, diferente da original (x), o que sempre satisfar a condio de desigualdade existente
no if. Logo, esse trecho de cdigo imprimir a mensagem, independente do valor de x.
(alternativa C).

Pgina 100 de 114


www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

45. Assuntos relacionados: Teste de Mesa, Java,


Banca: CESGRANRIO
Instituio: Petrobras
Cargo: Analista de Sistemas - Eng. de Software
Ano: 2008
Questo: 65

public class Ponto {


private int x;
private int y;

public Ponto(int x, int y) {


setCoordenadas(x,y);
}

public void setCoordenadas(int x, int y) {


this.x = x;
this.y = y;
}

public String toString() {


return "(" + x + "," + y + ")";
}

public static void main(String[] args) {


int a = 1;
int b = 2;
int c = 3;
int d = 4;
Ponto p = new Ponto(a,b);
Ponto q = new Ponto(c,d);
Ponto r = p;
c = 5;
p.setCoordenadas(c,d);
System.out.print(p);
System.out.print(q);
System.out.print(r);
r.setCoordenadas(a,b);
a = b;
q.setCoordenadas(b,c);
System.out.print(p);
System.out.print(q);
System.out.println(r);
}
}

Qual ser a sada da execuo da classe Java acima?

(a). (5,4)(3,4)(5,4)(1,2)(2,5)(1,2)

(b). (5,4)(3,4)(1,2)(5,4)(2,5)(1,2)

(c). (5,4)(5,4)(5,4)(2,2)(2,5)(2,2)

Pgina 101 de 114


www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

(d). (3,4)(3,4)(5,4)(2,5)(2,5)(1,2)

(e). (3,4)(3,4)(5,4)(2,2)(2,5)(2,2)

Soluo:
A seguir, o passo a passo da execuo da classe em questo. Na verdade, sero abordados
os principais pontos da execuo.

aps a execuo da 5a linha (Ponto p = new Ponto(a,b);), teremos o seguinte cenrio:


a=1; b=2; c=3; d=4; p.x=1; p.y=2;

aps a execuo da 6a linha (Ponto q = new Ponto(c,d);), teremos o seguinte cenrio:


a=1; b=2; c=3; d=4; p.x=1; p.y=2; q.x=3; q.y=4;

aps a execuo da 7a linha (Ponto r = p;), teremos o seguinte cenrio:


a=1; b=2; c=3; d=4; p.x=1; p.y=2; q.x=3; q.y=4; r <-> p

Perceba que no foi criado um objeto que seria atribudo varivel r. Na execuo dessa
ltima linha, a varivel r foi atribuda ao objeto j existente p. Ou seja, a partir deste ponto,
em qualquer referncia s variveis r e p sero utilizadas as propriedades do mesmo objeto.

aps a execuo da 9a linha (p.setCoordenadas(c,d);), teremos o seguinte cenrio:


a=1; b=2; c=5; d=4; p.x=5; p.y=4; q.x=3; q.y=4; r <-> p

aps as execues das linhas de nmero 10, 11 e 12 (System.out.print(p); System.out.print(q);


System.out.print(r);), teremos a seguinte sada:
(5,4)(3,4)(5,4)

aps a execuo da 13a linha (r.setCoordenadas(a,b);), teremos o seguinte cenrio:


a=1; b=2; c=5; d=4; p.x=1; p.y=2; q.x=3; q.y=4; r <-> p

aps a execuo da 14a linha (a = b;), teremos o seguinte cenrio:


a=2; b=2; c=5; d=4; p.x=1; p.y=2; q.x=3; q.y=4; r <-> p

aps a execuo da 15a linha (q.setCoordenadas(b,c);), teremos o seguinte cenrio:


a=2; b=2; c=5; d=4; p.x=1; p.y=2; q.x=2; q.y=5; r <-> p

aps as execues das linhas de nmero 16, 17 e 18 (System.out.print(p); System.out.print(q);


System.out.println(r);), teremos a seguinte sada:
(5,4)(3,4)(5,4)(1,2)(2,5)(1,2)

Pgina 102 de 114


www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

46. Assuntos relacionados: Banco de Dados, Modelo Relacional, Data Warehouse, Modelo
Multidimensional, Data Mart, ROLAP, OLAP,
Banca: CESGRANRIO
Instituio: Petrobras
Cargo: Analista de Sistemas - Eng. de Software
Ano: 2008
Questo: 66
A respeito de sistemas de informaes gerenciais, so feitas as armativas a seguir.

I - Uma das diferenas entre bancos de dados relacionais e multidimensionais diz respeito
ao compromisso entre performance e escalabilidade: bancos de dados relacionais pro-
porcionam consultas mais rpidas, enquanto bancos de dados multidimensionais lidam
melhor com grandes quantidades de informaes armazenadas.

II - ROLAP se refere a um tipo de soluo OLAP que utiliza um bancos de dados rela-
cional.

III - Quando um projeto inicia por datamarts departamentais especializados que mais
tarde se consolidam em um data warehouse institucional, existe uma chance maior de
surgirem problemas de inconsistncia de metadados do que quando um data warehouse
institucional d origem a datamarts departamentais.

IV - Para melhoria de performance, as tabelas em data warehouses, em geral, esto nas


formas normais mais altas (considerando que 5 FN mais alta que 1 FN).

Esto corretas APENAS as armativas


(a). I e II

(b). I e III

(c). I e IV

(d). II e III

(e). III e IV

Soluo:
OLAP (Online Analytical Processing) uma abordagem que possibilita viabilizar consultas
em uma anlise multidimensional de dados. O termo usado em contraste com o termo
OLTP (Online Transaction Processing), que uma abordagem largamente utilizada em
ambientes transacionais. Em um ambiente transacional, h constante entrada de dados e
consultas simples. Alm disso, exigido, em um ambiente transacional, que a resposta
ao usurio seja imediata. Um exemplo quando voc acessa um site de um banco: voc
quer fazer transferncias ou conferir as transaes em sua conta corrente e uma demora
considervel inaceitvel. Entretanto, enquanto as abordagens OLTP so extremamente
adequadas em diversas situaes, elas se mostram inadequadas, em alguns casos, ao acesso
s informaes gerenciais como a produo de relatrios de vendas, contbeis e nanceiros.
Nesse ponto, que a abordagem OLAP importante. Os bancos de dados que utilizam
OLAP so projetados em modelos de dados multidimensionais que possibilitam executar
consultas complexas em um tempo muito menor baseando-se, principalmente, em desnor-
malizaes e em agregaes.

Um banco de dados OLAP pode ser armazenado de vrias maneiras. Em uma arquite-
tura ROLAP (relacional), os dados so armazenados em banco de dados relacionais. J em

Pgina 103 de 114


www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

uma arquitetura MOLAP (multidimensional), os dados so armazenados em cubos dimen-


sionais, em geral em formatos proprietrios, e no em banco de dados relacionais. HOLAP
(hbrido) tenta combinar as vantagens de MOLAP e ROLAP, extraindo o que h de melhor
de cada uma, ou seja, a alta performance do MOLAP com a melhor escalabilidade do RO-
LAP. Outras siglas so utilizadas para representar arquiteturas, mas so pouco utilizadas:
WOLAP (Baseado em Web), DOLAP (Desktop) e RTOLAP (Real-Time).

Vamos analisar as armativas da questo:

I como j foi dito, os bancos de dados relacionais podem ser utilizados para armazenar
bancos de dados modelados da maneira OLAP (multidimensional). As principais mo-
tivaes para esse uso a incrvel escalabilidade dos bancos de dados relacionais e
a grande disponibilidade de ferramentas. J uma arquitetura MOLAP (multidimen-
sional) construda, de forma otimizada, em estruturas de dados que possibilitam a
melhoria de desempenho em consultas. Ou seja, a armao est incorreta, pois arma
justamente o contrrio;

II verdadeira, como j explicado acima;

III verdadeira, pois quando uma empresa guia o projeto de forma centralizada e com
polticas estabelecidas, ela diminuir as chances de problemas de inconsistncia em
metadados. Caso contrrio, cada departamento ter sua forma de pensar sobre a
criao de metadados e dicultar a integrao no futuro;

IV a armativa est incorreta, pois um dos principais recursos utilizados em um OLAP


para aumentar o desempenho a desnormalizao das tabelas. A desnormalizao
utilizada para diminuir o custo com operaes de junes (joins) entre tabelas.

Pgina 104 de 114


www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

47. Assuntos relacionados: CMMI, Nveis de Maturidade,


Banca: CESGRANRIO
Instituio: Petrobras
Cargo: Analista de Sistemas - Eng. de Software
Ano: 2008
Questo: 67
O CMMI dene nveis crescentes de capacidade (capability) para as reas de processos e
de maturidade (maturity) organizacional. Sobre os nveis de maturidade, correto armar
que, no nvel

(a). 1, a disciplina de processo alcanada ajuda a garantir que as prticas existentes


sero mantidas, mesmo em situaes de crise e stress.

(b). 2, os projetos so monitorados, controlados, revisados e avaliados quanto sua


aderncia descrio do processo que utilizaram.

(c). 3, a performance dos processos controlada usando estatstica e outras tcnicas


quantitativas, sendo portanto quantitativamente previsvel.

(d). 4, a organizao est focada no aperfeioamento contnuo da performance dos


processos atravs de melhorias incrementais no processo e na tecnologia.

(e). 5, a organizao atingiu o nvel mximo de otimizao dos processos e passa a se


concentrar nos aspectos operacionais e na manuteno das mtricas que atestam
sua condio.

Soluo:
O CMMI (Capability Maturity Model Integration) uma metodologia criada pela SEI (Soft-
ware Engineering Institute) com o objetivo de substituir as diversas CMMs (Capability
Maturity Model) desenvolvidas especicamente para cada rea de atuao, tais como: de-
senvolvimento de sistemas, engenharia de software, aquisio de software e desenvolvimento
de processos. Apesar das CMMs serem teis, elas so excessivamente diversicadas e, por
conta disso, foram consideradas problemticas: redundncia de conceitos, terminologia in-
comum, inconsistncias, etc.

De forma geral, o objetivo maior do CMMI prover um conjunto de boas prticas para
melhoria dos processos das organizaes e a habilidade de gerenciar, desenvolver e manter
os seus produtos (softwares). Essas prticas, j consideradas efetivas, so organizadas em
uma estrutura que visa auxiliar a organizao, em particular os gerentes de projetos, a es-
tabelecer suas prioridades para a conquista de melhorias. Um guia para a implementao
dessas melhorias tambm fornecido pelo CMMI.

O CMMI possui duas formas de representao, uma contnua e outra por estgios. Es-
sas representaes oferecem exibilidade para as organizaes poderem utilizar diferentes
meios para obterem melhorias de acordo com as suas realidades.

A representao contnua d liberdade para as organizaes utilizarem a melhor ordem


entre as melhorias para que os objetivos de negcio sejam alcanados. Essa representao
caracterizada por nveis de capacidade (capability levels). So eles:

nvel 0: Incompleto;

nvel 1: Executado (Denido);

nvel 2: Gerenciado;

Pgina 105 de 114


www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

nvel 3: Denido;

nvel 4: Quantitativamente gerenciado;

nvel 5: Em otimizao (ou Optimizado).

J a representao por estgios disponibiliza uma sequncia pr-determinada para que as


melhorias sejam obtidas. Essa sequncia no pode ser desconsiderada pelas organizaes
que pretendem utilizar essa representao, pois cada estgio serve de base para o prximo.
A representao por estgios caracterizada por nveis de maturidade (maturity levels).
Esses nveis e suas principais caractersticas so apresentados a seguir:

nvel 1 (Inicial): os processos so informais. A pesar dessa informalidade, s vezes,


produtos e servios que funcionam so produzidos. Contudo, na maioria dos projetos,
as estimativas de oramento e cronograma so excedidas;

nvel 2 (Gerenciado): h gerenciamento sobre os requisitos, processos, produtos e


servios. Processos BSICOS so estabelecidos para tal gerenciamento. Sucessos e
fracassos anteriores so utilizados em processos futuros. Alguns dos procedimentos so
devidamente escritos e atividades de medio e anlise tambm acontecem;

nvel 3 (Denido): os processos BSICOS do nvel 2 se tornam padro para a organi-


zao. Esses processos, que so otimizados com o passar do tempo, so utilizados para
a gerao de processos denidos para cada projeto da organizao;

nvel 4 (Quantitativamente gerenciado): a eccia e a ecincia de cada processo so


percebidas em termos estatsticos durante toda a sua vida. As causas de variaes de
ecincia e/ou eccia so investigadas e tratadas para que no se repitam no futuro;

nvel 5 (Em otimizao): neste nvel, a organizao concentra esforos no melhoramento


contnuo do desempenho de processos por meio de melhorias tecnolgicas incrementais
e inovadoras. Regularmente, os objetivos quantitativos de melhoria so estabelecidos,
revisados e monitorados, sempre levando-se em considerao eventuais alteraes nos
objetivos do negcio.

(A) ERRADA

No nvel 1, os processos so informais, portanto, ainda no se obteve disciplina alguma


nos processos.

(B) CORRETA

Sim, de fato no nvel 2, os projetos so monitorados, controlados, revisados e avaliados.

(C) ERRADA

No nvel 3, os processos bsicos j se tornaram padro para a organizao, mas eles ainda
no so controlados estatisticamente. Isso acontece quando a organizao j se encontra no
nvel de maturidade 4.

(D) ERRADA

O aperfeioamento dos processos por meio de melhorias incrementais no processo e na tec-


nologia somente acontece quando a organizao j se encontra no nvel de maturidade 5.

Pgina 106 de 114


www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

(E) ERRADA

No nvel 5, a organizao no necessita se concentrar excessivamente nos aspectos opera-


cionais, anal de contas cada processo padro e otimizado. Ao invs disso, a organizao
se concentra em melhorias tecnolgicas incrementais e inovadoras.

Pgina 107 de 114


www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

48. Assuntos relacionados: Norma de Qualidade de Software, ISO 9001:2000,


Banca: CESGRANRIO
Instituio: Petrobras
Cargo: Analista de Sistemas - Eng. de Software
Ano: 2008
Questo: 68
Durante os testes de um software produzido pelo departamento de TI de uma empresa,
vericou-se que o mesmo no atendia a alguns dos requisitos originais especicados pelos
clientes. Sobre a conduo da situao, so feitas as armativas a seguir, que devem ser
analisadas luz de seu alinhamento com a norma ISO 9001:2000.

I - Independente do destino a ser dado ao software, as causas da no-conformidade devem


ser identicadas e eliminadas do processo de desenvolvimento.

II - O software deve ser entregue provisoriamente nestas condies, para diminuir a insat-
isfao do cliente, sendo substitudo por uma verso que atenda aos requisitos o mais
rpido possvel (ASAP).

III - O gerente do projeto de desenvolvimento pode denir e propor um procedimento


alternativo para lidar com a no-conformidade, diferente daquele previsto no processo
de desenvolvimento de software organizacional, desde que aprovado pelo cliente.

IV - Devem ser mantidos registros de quaisquer aes corretivas realizadas, ainda que
as mesmas no se revelem ecazes para tratar a no-conformidade, bem como dos
indicadores de satisfao do cliente, qualquer que seja o resultado do projeto.

Esto alinhadas com as exigncias da norma ISO 9001:2000 APENAS as armativas:


(a). I e II.

(b). I e IV.

(c). II e III.

(d). II e IV.

(e). III e IV.

Soluo:
A norma ISO 9001:2000 tem como objetivo orientar as organizaes na implementao, no
desenvolvimento e na melhoria do sistema de gesto da qualidade a partir de uma abor-
dagem baseada em processos. O modelo de um sistema de gesto da qualidade baseado em
processos mostrado na Figura 12.

O sistema de gesto da qualidade de uma empresa deve possuir um conjunto de diretrizes,


que permite aos clientes avaliarem a capacidade da organizao em fornecer produtos e
servios, que atendam aos requisitos especicados de forma consistente, fornecendo ainda
uma estrutura para melhoria contnua do desempenho da organizao.

A norma ISO 9001:2000 exige a elaborao de seis procedimentos: Controle de Documentos,


Controle de Registros, Auditoria Interna, Controle da No-Conformidade de Produtos, Ao
Corretiva e Ao Preventiva.

A existncia de procedimentos, instrues e registros de trabalho formalizam todas as ativi-


dades que afetam a qualidade. Isso exige a participao de todos os indivduos da orga-
nizao, aumentando o comprometimento com a qualidade, uma vez que todos participam
diretamente da implementao do sistema da qualidade.

Pgina 108 de 114


www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

Figura 12: representao grca da Norma ISO 9001:2000.

Analisando as armaes da questo, temos:

I - a organizao deve executar aes corretivas para eliminar as causas de no-conformidades,


de forma a evitar a sua repetio. As aes corretivas devem ser apropriadas aos efeitos
das no-conformidades encontradas. A organizao deve denir aes para eliminar as
causas de no-conformidades potenciais de forma a evitar a sua ocorrncia. Logo,
armativa verdadeira;

II - a organizao deve assegurar que produtos que no esteja conforme aos requisitos
sejam identicados e controlados para evitar seu uso no intencional ou entrega. Como
uma das medies do desempenho do sistema de gesto da qualidade, a organizao
deve monitorar as informaes relativas percepo do cliente sobre se a organizao
atendeu aos requisitos dos clientes. Ento, a armativa falsa;

III - um sistema de gesto da qualidade em conformidade com a ISO 9001:2000 asse-


gura que todo o processo de desenvolvimento possui um nvel de controle, disciplina e
repetibilidade, garantindo a qualidade dos produtos. Portanto, armativa falsa;

IV - a organizao deve tratar produtos no-conformes adotando-se pelo menos uma das
seguintes opes: a execuo de aes para eliminar a no-conformidade detectada;
autorizao do seu uso, liberao ou aceitao sob concesso por uma autoridade perti-
nente e, onde aplicvel, pelo cliente; e execuo de ao para impedir a inteno original
de seu uso ou aplicao originais. Devem ser mantidos registros sobre a natureza das
no-conformidades e qualquer ao subsequente tomada, incluindo concesses obtidas.
Quando o produto no-conforme for corrigido, esse deve ser vericado para demonstrar
a conformidade com os requisitos. Quando a no-conformidade do produto for detec-
tada aps a entrega ou incio do seu uso, a organizao deve tomar as aes apropriadas
em relao aos efeitos, ou potenciais efeitos, da no-conformidade. Logo, armativa
verdadeira.

Conforme exposto acima, a alternativa correta a letra b.

Pgina 109 de 114


www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

49. Assuntos relacionados: Governana de TI, COBIT,


Banca: CESGRANRIO
Instituio: Petrobras
Cargo: Analista de Sistemas - Eng. de Software
Ano: 2008
Questo: 69
O COBIT 4.0, especicado pelo IT Governance Institute (ITGI), um framework para
governana de TI. Conforme denida pelo ITGI para fundamentao do COBIT 4.0, a
governana de TI

(a). um subconjunto da Governana de Arquitetura (de Informaes).

(b). responsabilidade do departamento de Tecnologia da Informao ou setor equiva-


lente da organizao que se reporte diretamente gerncia executiva ou direo.

(c). promove o alinhamento da TI com os objetivos e estratgias organizacionais, as-


segurando que a TI sustente e estenda os mesmos.

(d). tem como reas de foco: Medida de Performance, Gerenciamento de Recursos,


Gerenciamento de Fornecedores, Gerenciamento de Riscos e Gerenciamento da
Comunicao.

(e). tem o objetivo primrio de simplicar a gesto de TI por parte dos executivos,
que, em muitos casos, so oriundos de outras reas de conhecimento, minimizando
a dependncia de conhecimentos tecnolgicos para a tomada de deciso em TI.

Soluo:
(A) ERRADA

A Governana de Arquitetura a prtica e orientao pela qual os enteprise architectures so


gerenciados e controlados em todo meio corporativo da empresa. O termo enteprise archi-
tecture denido como a organizao lgica para os processos empresariais e infraestrutura
de TI que reetem na integrao e padronizao dos requisitos do modelo de funcionamento
da empresa. As normas, tais como ITIL, COBIT ou CMMI tm foco na Governana de TI,
mas nenhuma delas realmente se referem a Governana de Arquitetura.

(B) ERRADA

Entende-se por Governana de TI como um conjunto de estruturas e processos que visam


garantir que a TI suporte e maximize os objetivos e as estratgias do negcio. A governana
e o COBIT devem suportar os interesses dos stakeholders internos e externos de acordo com
as necessidades especcas de cada um: os de dentro da empresa que tm interesse em gerar
valor a partir de investimentos de TI, os que prestam servios de TI sejam eles internos (De-
partamento de TI) ou externos (fornecedores); e os que controlam riscos e responsabilidades.
Ento, o COBIT deve ser utilizado como um amplo guia pela direo e pelos responsveis
pelos processos de negcio da empresa, no restringindo apenas ao departamento de TI.

(C) CORRETA

O Control Objective for Information and related Technology (COBIT) um framework que
fornece as melhores prticas para gerenciamento de processos de TI, atendendo as neces-
sidades de gesto de uma organizao, tratando os riscos do negcio, as necessidades de
controle e as mtricas de desempenho. Esse framework serve de suporte para implementar

Pgina 110 de 114


www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

a Governana de TI numa organizao garantindo que: a TI esteja alinhada com o neg-


cio; a TI permita o negcio e maximize os benefcios; os recursos de TI sejam usados com
responsabilidade; e que os riscos de TI sejam gerenciados apropriadamente. Vale reforar
que o COBIT no um padro denitivo. Ele serve como apoio para a implementao de
controles na Governana de TI. Ele atua em dizer o o que fazer e no se preocupa em
como fazer.

(D) ERRADA

O COBIT foca em duas reas chaves: fornece informaes necessrias para suportar os
objetivos e os requisitos do negcio; e trata as informaes como sendo o resultado com-
binado de aplicaes e recursos de TI que precisam ser gerenciados por processos de TI.
Para isso, o COBIT agrupa os processos de TI em quatro reas ou domnios: Planejamento
e Organizao; Aquisio e Implementao; Entrega e Suporte; e Monitorao e Avaliao.
Cada uma dessas reas dene os respectivos processos de TI.

(E) ERRADA

O COBIT foi criado com a caracterstica principal de ser: focado no negcio, orientado
a processos, baseado em controles e direcionado a medies. Foi criado para ser utilizado
no apenas pelos fornecedores de servio de TI, usurios e auditores, mas tambm, e mais
importante, como um amplo guia pela direo e os responsveis pelos processos de negcio da
empresa. O COBIT promove a organizao das atividades de TI em torno dos processos de
TI fornecendo um modelo para as organizaes adotarem e adaptarem conforme necessrio.
Aps os processos estarem denidos, eles podem ser alocados a indivduos e gerentes que so
responsveis e devero prestar conta por cada processo. Com essa estrutura, as atividades
cam mais fceis de serem controladas e organizadas.

Pgina 111 de 114


www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

50. Assuntos relacionados: Governana de TI, COBIT,


Banca: CESGRANRIO
Instituio: Petrobras
Cargo: Analista de Sistemas - Eng. de Software
Ano: 2008
Questo: 70
O COBIT 4.0 apresenta 34 processos de TI divididos por 4 reas ou domnios. Cada processo
possui um objetivo ou requisito de controle de alto nvel e objetivos detalhados. Alm disso,
h objetivos de controle genricos que os processos devem observar, que so identicados
como PCn, de process control number. NO corresponde a um dos objetivos de controle
genricos do COBIT 4.0:

(a). atribuir um proprietrio a cada processo, de forma que a responsabilidade seja


clara.

(b). denir cada processo de forma que seja repetvel.

(c). estabelecer metas e objetivos claros para cada processo para uma execuo ecaz.

(d). medir a performance de cada processo em relao s suas metas.

(e). estabelecer nveis de acordo de servio (SLA) onde cabvel para cada processo.

Soluo:
Controles gerais so aqueles embutidos nos processos e servios de TI, como: desenvolvi-
mento de sistema, gerenciamento de mudanas, segurana, etc. Eles devem ser considerados
juntos com os objetivos de controle detalhados para ter a viso completa dos requisitos de
controle.

(A) ERRADA

O controle geral que atribui um proprietrio a cada processo, de forma que a respons-
abilidade seja clara o PC1  Process Owner (Proprietrio do Processo).

(B) ERRADA

O controle geral que dene cada processo de forma que seja repetvel o PC2 - Repeatability
(Repetibilidade).

(C) ERRADA

O controle geral que estabelece metas e objetivos claros para cada processo para uma exe-
cuo ecaz o PC3  Goals and Objectives (Metas e Objetivos).

(D) ERRADA

O controle geral que mede o desempenho de cada processo em relao s suas metas
o PC5  Process Perfomance (Desempenho do Processo).

(E) CORRETA

O COBIT no dene nenhum controle geral sobre SLA. O SLA controlado no COBIT
pelo processo Dene and manage service levels (Dene e gerencia o nvel de servio) no

Pgina 112 de 114


www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

domnio Deliver and Support (Entrega e suporte).

Alm dos quatro controles gerais citados, existem mais dois:

PC4  Roles and Responsibilities (Regras e Responsabilidades)  dene regras, pa-


pis e responsabilidades no ambguas para cada processo do COBIT para a execuo
eciente;

PC6  Policy, Plans and Procedures (Polticas, Planos e Procedimentos)  documenta,


revisa, mantm atualizado, aprova e comunica a todas as partes envolvidas qualquer
poltica, plano ou procedimento que direciona um processo do COBIT.

Pgina 113 de 114


www.handbookdeti.com.br
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

Questao Resposta
1 E
2 A
3 E
4 C
5 E
6 A
7 B
8 A
9 E
10 C
11 B
12 C
13 B
14 C
15 D
16 B
17 D
18 C
19 C
20 B
21 E
22 B
23 C
24 E
25 A
26 A
27 E
28 A
29 B
30 D
31 B
32 E
33 C
34 A
35 D
36 B
37 C
38 B
39 E
40 C
41 A
42 D
43 D
44 C
45 A
46 D
47 B
48 B
49 C
50 E

Pgina 114 de 114 Handbook de TI Alm do Gabarito


ndice Remissivo
ISO 27001, 46
ISO 9001:2000, 108

.NET, 58 J2EE, 58

rvore B, 87 Java, 90, 93, 98, 100, 101


JEE, 58
Algoritmos de Ordenao, 80
Anlise de Caso de Uso, 68 Lgica, 40, 43, 45

Arquitetura de Computadores, 4, 7 Lista Encadeada, 82, 84

ATOM, 21
Metodologia de Desenvolvimento de Software,

B2B, 49 66

B2C, 49 Modelo de Casos de Uso, 63

B2E, 49 Modelo Entidade-Relacionamento, 11

B2G, 49 Modelo Multidimensional, 19, 103

Banco de Dados, 9, 11, 14, 16, 18, 19, 103 Modelo Relacional, 9, 103
Modos de Endereamento de Memria, 4
Certicado Digital, 23 MVC, 58
CMMI, 105
COBIT, 110, 112 Nveis de Maturidade, 105

Complexidade Ciclomtica, 79 Norma de Qualidade de Software, 108

Controle Integrado de Mudanas, 38 Normalizao de Banco de Dados, 9, 14

CSS, 28 Normas de Segurana da Informao, 46

Data Mart, 19, 103 OLAP, 103

Data Warehouse, 19, 103 Ordenao por rvore de Deciso, 80

Desenvolvimento de Cronograma, 30 Ordenao por Comparao, 80

Desenvolvimento de Software, 95 Ordenao por Insero, 80

Diagrama de Atividades, 72 Ordenao por Intercalao, 80

Diagrama de Classes, 72, 75, 95, 98 Orientao a Objeto, 51

Diagrama de Componentes, 72
Padres de Projeto, 51
Diagrama de Estados, 72
PKI, 23
Diagrama de Sequncia, 72
Portais Corporativos, 49

EAP, 32 Primeira Forma Normal (1FN), 9, 14

Engenharia de Software, 51, 70, 79 Princpios Fundamentais da Segurana da In-

Estruturas de Dados, 82, 84, 87 formao, 48


Probabilidade e Estatstica, 36, 37
Famlia ISO 27000, 46 Processo Unicado, 60, 63, 68

Gerncia de Custos, 34 Quicksort, 80


Gerncia de Escopo, 32
Gerncia de Integrao, 38 ROLAP, 103

Gerncia de Projeto, 30, 32, 34, 38 RSS, 21

Gerncia de Tempo, 30 RUP, 70

Gerenciamento de Valor Agregado (GVA), 34


Segunda Forma Normal (2FN), 14
Governana de TI, 110, 112
Segurana da Informao, 23, 46, 48

Heapsort, 80 Servidor de Aplicaes, 58

HTTP, 28 SQL, 16

HTTPS, 23
Tabela Hash, 82, 84
115Terceira Forma Normal (3FN), 14
Interoperabilidade entre Aplicaes, 55
Handbook de Questes de TI Comentadas para Concursos Volume 02  Edio 2

Teste de Mesa, 101


Testes de Software, 79
Thread, 7

UML, 63, 68, 72, 75, 98

Web Services, 55

XML, 26, 28

Pgina 116 de 114


www.handbookdeti.com.br