handbook_questoes_vol4 - cópia

117
Questões de TI comentadas para concursos Handbook de Além do gabarito Questões FCC Parte 2 Fundação Carlos Chagas Volume 4 Grupo Handbook 2ª Edição

Upload: -

Post on 06-Mar-2016

226 views

Category:

Documents


5 download

DESCRIPTION

Handbook de TI - Questões - vol 4

TRANSCRIPT

Page 1: handbook_questoes_vol4 - Cópia

Questões de TI comentadas para concursos

Handbook de

Além do gabarito

Questões FCCParte 2

Fundação Carlos Chagas

Volume 4

Grupo Handbook

2ª Edição

Page 2: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

Prefácio

Este é o volume 4 da série Handbook de Questões de TI Comentadas para Concursos � Além doGabarito que complementa o volume 3 ao trazer para você 50 questões elaboradas pela bancada Fundação Carlos Chagas, todas comentadas além do gabarito.

A Fundação Carlos Chagas (FCC) é uma instituição privada sem �ns lucrativos, reconhecidacomo de utilidade pública nos âmbitos federal, estadual e municipal. Em quarenta e cinco anosde existência, com mais de 2.600 concursos realizados e mais de 33 milhões de candidatos emtodo o território nacional, a FCC encontra-se plenamente habilitada a realizar todo tipo de con-curso.

Atualmente, muitos dos principais concursos na área de TI são organizados por essa banca.Entre os concursos estão os do Banco Central, da Câmara dos Deputados e de inúmeros tri-bunais espalhados por todo país.

A primeira característica dos concursos de TI da FCC é o fato das questões serem diretas,sem que isso implique, no entanto, em uma prova mais fácil. A segunda principal característicados concursos de TI da FCC é a abrangência multidisciplinar de seus editais, o que re�ete ademanda dos órgãos públicos por pro�ssionais quali�cados e generalistas.

Levando em consideração tais características, a equipe Handbook de TI preparou os volumes3 e 4 da série para você se preparar ainda melhor para os concursos de TI que estão por vir,especialmente os organizados pela FCC.

Bons estudos,

Grupo Handbook de TI

Página 1 de 114www.handbookdeti.com.br

Page 3: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

Direitos Autorais

Este material é registrado no Escritório de Direitos Autorais (EDA) da Fundação BibliotecaNacional. Todos os direitos autorais referentes a esta obra são reservados exclusivamente aosseus autores.

Os autores deste material não proíbem seu compartilhamento entre amigos e colegas próxi-mos de estudo. Contudo, a reprodução, parcial ou integral, e a disseminação deste material deforma indiscriminada através de qualquer meio, inclusive na Internet, extrapolam os limites dacolaboração. Essa prática desincentiva o lançamento de novos produtos e enfraquece a comu-nidade concurseira Handbook de TI.

A série Handbook de Questões de TI Comentadas para Concursos � Além do Gabarito é umaprodução independente e contamos com você para mantê-la sempre viva.

Grupo Handbook de TI

Página 2 de 114www.handbookdeti.com.br

Page 4: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

Canais de Comunicação

A equipe Handbook de TI disponibiliza diversos canais de comunicação para seus clientes.

Loja Handbook de TI

http://www.handbookdeti.com.br

Serviço de Atendimento

Comunicação direta com a Equipe Handbook de TI pode ser feita emhttp://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 ecomece a seguir o grupo Handbook de TI em http://twitter.com/handbookdeti

Página 3 de 114www.handbookdeti.com.br

Page 5: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

1. Assuntos relacionados: Programação, Algoritmos de Ordenação,Banca: FCCInstituição: TRT 15a RegiãoCargo: Analista Judiciário - Tecnologia da InformaçãoAno: 2009Questão: 21

São algoritmos de classi�cação por trocas apenas os métodos

(a). SelectionSort e InsertionSort.

(b). MergeSort e BubbleSort.

(c). QuickSort e SelectionSort.

(d). BubbleSort e QuickSort.

(e). InsertionSort e MergeSort.

Solução:

Os algoritmos de ordenação são uns dos principais objetos de estudo na área de computação.Tais algoritmos tem por objetivo colocar os elementos de uma sequência em uma determi-nada ordem, sendo as mais utilizadas as ordens numéricas e alfabéticas.

Uma das principais razões para se ordenar uma sequência é permitir que os seus elemen-tos sejam acessados de forma mais e�ciente. Os métodos de ordenação mais conhecidos eutilizados são os seguintes:

• Ordenação por Troca

� BubbleSort (Método da Bolha)� QuickSort (Método da Troca e Partição)

• Ordenação por Inserção

� InsertionSort (Método da Inserção Direta)� BinaryInsertionSort (Método da Inserção Direta Binária)

• Ordenação por Seleção

� SelectionSort (Método da Seleção Direta)� HeapSort (Método da Seleção em Árvore)

• Outros métodos

� MergeSort (Método da Intercalação)� BucketSort (Método da Distribuição de Chave)� CountingSort (Método da Ordenação por Contagem)

Como podemos ver, dentre os métodos apresentados nas alternativas da questão, os úni-cos baseados na ordenação troca são o BubbleSort e o QuickSort. Portanto, a respostada questão é a alternativa D. Tais algoritmos são classi�cados como de troca por que seusprocessos de ordenação se dão através de trocas entre pares de elementos do vetor. Emborao BubbleSort e o QuickSort se baseiem em trocas, seu funcionamento geral e o seu desem-penho diferem substancialmente.

O BubbleSort é, talvez, o método simples de ordenação, que funciona através de sucessivastrocas entre pares de elementos do vetor. O método realiza varreduras no vetor, trocandopares adjacentes de elementos sempre que o próximo elemento for menor que o anterior.

Página 4 de 114www.handbookdeti.com.br

Page 6: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

Após uma varredura, o maior elemento está corretamente posicionado no vetor e não pre-cisa mais ser comparado. Dessa forma, após a i-ésima varredura, os i maiores elementosestão ordenados. A complexidade algorítmica de tempo do BubbleSort é O(n2).

O Quicksort adota uma estratégia conhecida como divisão e conquista. Por isso, usual-mente, o Quicksort é implementado utilizando-se o paradigma recursivo. No primeiro passodo QuickSort, um elemento da lista é escolhido como pivô. Em seguida, a lista é rearran-jada (por meio de trocas de posição entre os elementos) de modo que todos os elementosanteriores ao pivô sejam menores que ele, e todos os elementos posteriores ao pivô sejammaiores que ele. Ao �m desse processo, que denomina-se particionamento, o pivô estará emsua posição �nal e haverá duas sublistas não ordenadas.

Em seguida, o algoritmo QuickSort é reaplicado a cada uma das sublistas, sendo a baseda recursão as sublistas de tamanho zero ou um que, por de�nição, estão sempre ordenadas.O processo é �nito, pois a cada iteração pelo menos um elemento é posto em sua posição�nal e não será mais manipulado na iteração seguinte. A complexidade algorítmica de tempodo QuickSort é O(nlgn).

A seguir, exemplos de implementação do bubble sort e do quicksort usando a linguagemde programação ruby.

#BubbleSort em Ruby

def bubblesort(list)

return list if list.size <= 1 # already sorted

loop do

swapped = false

0.upto(list.size-2) do |i|

if list[i] > list[i+1]

list[i], list[i+1] = list[i+1], list[i] # swap values

swapped = true

end

end

break unless swapped

end

return list

end

#QuickSort em Ruby

def quicksort (array)

return array if array.size <= 1

pivot = array[0]

return quicksort (array.select {|y| y < pivot })

+ array.select { |y| y == pivot } +

quicksort (array.select {|y| y > pivot })

end

Página 5 de 114www.handbookdeti.com.br

Page 7: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

2. Assuntos relacionados: Programação, Estruturas de Dados, Tabela Hash,Banca: FCCInstituição: TRT 15a RegiãoCargo: Analista Judiciário - Tecnologia da InformaçãoAno: 2009Questão: 22

Uma estrutura de dados especial de armazenamento de informações, cuja ideia central éutilizar uma função que, quando aplicada sobre uma chave de pesquisa, retorna o índiceonde a informação deve ser armazenada denomina-se

(a). vetor de dispersão.

(b). matriz de dispersão.

(c). tabela hash.

(d). árvore binária.

(e). lista encadeada

Solução:

A resposta da questão é a alternativa C, tabela hash, que também é conhecida como tabelade espalhamento ou de dispersão.

A implementação de uma tabela hash se baseia na escolha de uma função, chamada funçãohash, que associe uma chave de pesquisa a um índice em uma estrutura de dados. O requisitomais importante de uma função hash é o de distribuir uniformemente as chaves pelos váriosíndices, de forma eliminar ou minimizar a chance de que mais de uma chave seja mapeadapara o mesmo índice, problema conhecido como colisão.

Por mapearem uma chave de pesquisa a um determinado índice de forma direta, as tabelashash proporcionam um tempo médio de busca constante, ou seja, O(1). Em virtude de seualto desempenho, as tabelas hash são tipicamente utilizadas na indexação de grandes vol-umes de informações em bancos de dados e na criação de esquemas associativos de acesso àsmemória cache. A Figura 1 mostra, de forma básica, como se dá o esquema de mapeamentode chaves em índices usando uma tabela hash.

Figura 1: Tabela Hash.

No entanto, a de�nição de uma boa função hash nem sempre é uma tarefa simples, sendoum trabalho trabalho profundamente relacionado à estatística. Portanto, para otimizar a

Página 6 de 114www.handbookdeti.com.br

Page 8: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

função hash, é necessário conhecer a natureza da chave a ser utilizada e como os valores quea chave pode assumir se distribuem ao longo do domínio. Os métodos de implementação defunções hash mais comuns são o método da divisão, o método da dobra, e o método damultiplicação.

Com relação às limitações das tabelas hash, valem as seguintes observações. As tabelashash são estruturas de dados que não permite armazenar elementos repetidos, recuperarelementos sequencialmente, nem recuperar antecessores ou sucessores de um determinadoelemento já encontrado. Caso essas operações tenham muita importância no sistema, vale apena considerar a utilização de estruturas de dados como listas encadeadas, árvores, entreoutras.

Página 7 de 114www.handbookdeti.com.br

Page 9: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

3. Assuntos relacionados: Segurança da Informação, ISO 27001, SGSI,Banca: FCCInstituição: TRT 15a RegiãoCargo: Analista Judiciário - Tecnologia da InformaçãoAno: 2009Questão: 27

Implementar e operar a política, os controles, os processos e os procedimentos do Sistemade Gestão de Segurança da Informação, segundo a norma ABNT 27001, são atividadesassociadas no modelo PDCA à fase

(a). D = Do.

(b). P = Plan.

(c). C = Check.

(d). C = Control.

(e). A = Act

Solução:

A norma ISO 27001 especi�ca um conjunto de requisitos para o estabelecimento, implan-tação, monitoração, revisão, manutenção e melhoria de um Sistema de Gestão de Segurançade Informação, ou simplesmente, SGSI. Um SGSI pode também ser de�nido como um frame-work de políticas, procedimentos e controles de várias naturezas (físicos, lógicos, legais etc)que, por sua vez, fazem parte do processo de gerenciamento de riscos da organização comoum todo.

Como todo sistema de gestão, o SGSI também é descrito em termos de processos, os quaissão administrados por meio da metodologia PDCA (Plan-Do-Check-Act). Em última instân-cia, o uso do PDCA na implementação de sistemas de gestão tem como objetivo principalgarantir a melhoria contínua da gestão da segurança da informação, minimizando os riscosassociados à segurança da informação.

O PDCA pode ser utilizado em qualquer atividade da organização. É ideal que todasas pessoas da organização utilizem a ferramenta de gestão no dia-a-dia de suas atividades.

Desta forma, elimina-se a cultura �tarefeira� que muitas empresas insistem em perpetuare que incentiva a se realizar o trabalho sem antes planejar, desprezando o autocontrole, ouso de dados gerados pelas medições por indicadores e a atitude preventiva, para que osproblemas dos processos nunca ocorram.

As etapas do ciclo PDCA são as seguintes:

• PLAN: O primeiro passo para a aplicação do PDCA é o estabelecimento de um plano.Essa etapa envolve o estabelecimento dos objetivos e do método que deve ser utilizadopara conseguir alcançá-los. A elaboração de um bom plano evita falhas e retrabalhonos ciclos subsequentes;

• DO: O segundo passo do PDCA é a execução do plano. Essa etapa envolve o treina-mento dos envolvidos e a execução propriamente dita do plano;

• CHECK: O terceiro passo do PDCA é a veri�cação dos resultados alcançados. Nessafase podem ser detectados erros ou falhas;

Página 8 de 114www.handbookdeti.com.br

Page 10: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

• ACT: A última fase do PDCA é a realização das ações corretivas para as falhas encon-tradas no passo anterior. Após realizada a investigação das causas das falhas ou dosdesvios no processo, deve-se repetir o ciclo PDCA para a correção das falhas, de modoque o sistema o processo possa melhorar cada vez mais.

Portanto, no caso da ISO 27001, �Implementar e operar a política, os controles, os processose os procedimentos� corresponde a etapa Do do ciclo PDCA, pois tal atividade se trata daexecução de algo foi de�nido na etapa de Plan da implantação do SGSI. Logo, a alternativaA deve ser marcada.

Página 9 de 114www.handbookdeti.com.br

Page 11: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

4. Assuntos relacionados: Segurança da Informação, Tipos de Ataque, Ataques DoS,Banca: FCCInstituição: TRT 15a RegiãoCargo: Analista Judiciário - Tecnologia da InformaçãoAno: 2009Questão: 29

O impedimento do acesso autorizado aos recursos ou o retardamento de operações críticaspor um certo período de tempo é um tipo de ataque denominado

(a). engenharia social.

(b). trojan horse.

(c). denial of service.

(d). backdoor.

(e). rootkit.

Solução:

A resposta da questão é a alternativa C, denial of service (negação de serviço), tambémcomo conhecido como ataque DoS.

Diferentemente da maioria dos ataques, um ataque de negação de serviço não visa invadirum computador para extrair informações con�denciais, como números de cartões de créditoe senhas bancárias, e nem para modi�car os dados armazenado neste computador. Taisataques têm como objetivo tornar inacessíveis os serviços providos pela vítima a usuárioslegítimos. Nenhum dado é roubado ou alterado, bem como não ocorre nenhum acesso nãoautorizado ao computador da vítima.

A vítima simplesmente para de oferecer o seu serviço aos clientes legítimos, enquanto tentalidar com a sobrecarga gerada pelo ataque. O resultado de um ataque de negação de serviçopode ser o congelamento ou a reinicialização do programa da vítima que presta o serviço,ou ainda o esgotamento completo de recursos necessários para prover o seu serviço.

Agora, vamos aproveitar também para falar um pouco das demais alternativas trazidasna questão.

• Engenharia Social

Engenharia Social é um termo utilizado para quali�car os tipos de intrusão não técnica,que coloca ênfase na interação humana e, freqüentemente, envolve a habilidade de en-ganar pessoas objetivando violar procedimentos de segurança. Um aspecto relevante éque a engenharia social vale-se do fato dos indivíduos, em grande parte das vezes, nãoestarem conscientes do valor da informação que eles possuem e, portanto, não terempreocupação em protegê-las. Além disso, a engenharia social prega que o elemento maisvulnerável de qualquer sistema é o ser humano, o qual possui traços comportamentaise psicológicos que o torna susceptível a ataques. Exemplos de traços comportamentaisexplorados pela engenharia social são a vontade de ser útil e busca por novas amizades.

Página 10 de 114www.handbookdeti.com.br

Page 12: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

• Trojan Horse

Os trojan horses (cavalos de tróia) são programas que, além de executar funções paraas quais foram aparentemente projetados, executam também funções maliciosas semo conhecimento do usuário. Exemplos dessas funções são a alteração e destruição dearquivos, o furto de senhas e de números de cartões de crédito, a inclusão de backdoorsetc. Sobre os cavalos de tróia ainda é importante ressaltar que os mesmos não se repli-cam e não infectam outros arquivos, os que os difere dos vírus e dos worms.

• Backdoor

Para explicar o conceito de backdoor, vamos recorrer a de�nição apresentada na cartilhade segurança da informação do CERT.BR (Centro de Estudos, Resposta e Tratamentode Incidentes de Segurança no Brasil).

Normalmente, um atacante procura garantir uma forma de retornar a um computadorcomprometido, sem precisar recorrer aos métodos utilizados na realização da invasão.Na maioria dos casos, também é intenção do atacante poder retornar ao computadorcomprometido sem ser notado. A esses programas que permitem o retorno de um in-vasor a um computador comprometido, utilizando serviços criados ou modi�cados paraeste �m, dá-se o nome de backdoor.

E no trecho a seguir, a cartilha de segurança do CERT enumera algumas formas usuaisde inclusão de backdoors em sistemas computacionais.

A forma usual de inclusão de um backdoor consiste na disponibilização de um novoserviço ou substituição de um determinado serviço por uma versão alterada, normal-mente possuindo recursos que permitam acesso remoto. Pode ser incluído por um in-vasor ou através de um cavalo de tróia ... Uma outra forma é a instalação de pacotesde software, tais como o BackOri�ce e NetBus, da plataforma Windows, utilizadospara administração remota. Se mal con�gurados ou utilizados sem o consentimento dousuário, podem ser classi�cados como backdoors.

• Rootkit

Um rootkit é um software ou um conjunto de softwares que têm por objetivo esconderou obscurecer o fato de que um sistema tenha sido comprometido por um atacante. Aocontrário do que seu nome parece indicar, um rootkit não garante ao atacante priv-ilégios de root (privilégios administrativos) no sistema. Um atacante pode usar umrootkit, por exemplo, para substituir arquivos importantes do sistema, os quais podemser utilizados para esconder processos ou arquivos que tenham sido instalados pelo at-acante.

A título de curiosidade, o termo rootkit refere-se originalmente a um conjunto maliciosode ferramentas administrativas de sistemas operacionais da família Unix. No entanto,é importante ressaltar que também existem rootkits para sistemas Windows, Mac OSe outros.

Página 11 de 114www.handbookdeti.com.br

Page 13: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

5. Assuntos relacionados: Banco de Dados, Oracle,Banca: FCCInstituição: TRT 15a RegiãoCargo: Analista Judiciário - Tecnologia da InformaçãoAno: 2009Questão: 30

Cada database Oracle tem

I um ou mais data�les.

II um control �le.

III um conjunto de dois ou mais redo log �les.

Está correto o que consta em

(a). I, II e III.

(b). I, somente.

(c). II, somente.

(d). I e II, somente.

(e). I e III, somente.

Solução:

A resposta da questão é a alternativa A. Primordialmente, um banco de banco Oracle éformado por três tipos de arquivos que são: data�les, redo log �les e control �les.

Um banco de dados Oracle contém uma ou mais unidades lógicas de armazenamento chamadastablespaces, que coletivamente armazenam os dados do banco de dados. Cada tablespace,por sua vez, consiste de um ou mais arquivos chamados data�les, que são arquivos físicosestruturados de acordo com o sistema operacional em que o Oracle está rodando.

Os Redo Log Files armazenam os logs do sistema. Esse arquivo consiste de um bu�ercircular assim como o redo log bu�er, que é mantido em memória pelo Oracle. A funçãoprimária dos redo log �les é armazenar toda e qualquer mudança realizada nos dados dobanco de dados. Se houver alguma falha, como o corrompimento de um data�le, as infor-mações podem ser recuperadas utilizando o redo log �les e os data�les de backup.

O Oracle grava os redo log �les de forma circular. Isto signi�ca que, quando o arquivoredo log �le atual �ca cheio o banco de dados passa para o próximo arquivo redo. Quandoo último arquivo do redo log �le for preenchido o banco de dados volta para o primeiro,apagando informações já existentes e continuando o ciclo. Para que não se percam infor-mações quando o ciclo for reiniciado, os arquivos de redo são arquivados periodicamente. Aquantidade de arquivos de redo utilizados e a frequência do processo de arquivamento devemser de�nidas de acordo com as características do banco de dados, de modo que dados nãosejam perdidos e nem seja prejudicado o desempenho do sistema.

Já os Control Files servem para descrever a estrutura e o status do banco de dados. São elesque contém a identi�cação dos arquivos de log e de dados, o nome do banco e informações desincronismo entre os arquivos que o compõe. Como regra geral, cada banco de dados Oraclepossui um único control �le associado. No entanto, o Oracle possui um recurso chamado�multiplexed control �les�, que permite o armazenamento de múltiplas cópias do control �le

Página 12 de 114www.handbookdeti.com.br

Page 14: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

em vários discos diferentes, com o objetivo proporcionar redundância.

Embora na arquitetura do Oracle o banco de dados seja composto somente por esses trêsarquivos, uma série de outros arquivos são importantes para colocar uma instância no ar.Exemplos desses arquivos são:

• Parameter File: Arquivo texto que contém todos os parâmetros necessários para colocaruma instância do Oracle no ar, por exemplo, quantidade de memória alocada para oSGA, nome e localização de arquivos de controle, tamanho de bu�ers e de blocos etc;

• Alert File: Arquivo de log onde são registrados os erros ocorridos (processo, blocoscorrompidos, deadlock etc.), tarefas administrativas além dos valores de parâmetros deinicialização no momento em que a instância é colocada no ar;

• Trace File: Arquivo de log onde são armazenadas informações detalhadas sobre osproblemas ocorridos. A utilização desse arquivo é opcional.

Página 13 de 114www.handbookdeti.com.br

Page 15: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

6. Assuntos relacionados: Banco de Dados, Oracle,Banca: FCCInstituição: TRT 15a RegiãoCargo: Analista Judiciário - Tecnologia da InformaçãoAno: 2009Questão: 31

São apenas tipos de objetos de um schema Oracle:

(a). table, index, cluster e pro�le.

(b). table, index, cluster e view.

(c). table, tablespace, index e cluster.

(d). tablespace, index, cluster e directory.

(e). tablespace, index, cluster e view.

Solução:

Conceitualmente, um schema é uma estrutura lógica, criada pelos usuários, utilizada paraconter ou referenciar os seus dados. É importante lembrar que, boa parte, mas nem todosSGBDs, utilizam o conceito de schema.

No caso do Oracle, exemplos de objetos que são armazenados em um schema são tabelas,visões, índices e clusters. No Oracle, não há relação entre os tablespaces e o schema, demodo que objetos do mesmo schema podem estar em diferentes tablespaces, e um únicotablespace podem conter objetos de diferentes schemas. Portanto, a resposta da questão é aalternativa B. Agora, vamos aproveitar a questão para rever algumas de�nições importantessobre os bancos de dados Oracle.

• Table

Uma table (tabela) é uma unidade básica de armazenamento do banco de dados Or-acle, e são elas que contém possuem todos os dados acessíveis pelos usuário. Cadatabela é formada por um conjunto de colunas, cada um uma delas com um nome (ID,FULLNAME, BIRTHDAY etc) e um tipo de dado (NUMBER, VARCHAR2, DATEetc) associados. Uma linha (row) da tabela é formada pelas informações das colunase corresponde a um registro único do banco de dados. Os usuários podem ainda es-peci�car regras, chamadas restrições de integridade, para cada uma das colunas dastabelas. Um exemplo típico de regra é restrição de integridade NOT NULL, que forçaa coluna a conter um valor em todas as linhas.

• Views

As views (visões) são apresentações customizadas de dados de uma ou mais tabelas ououtras views. Um view pode ser considerada uma query de armazenamento. De modogeral, as views não contém dados, sendo os dados por ela apresentados derivados daschamadas �base tables� (tabelas base). Existem tipos especiais de views, as material-ized views, que contém dados de fato. Esse tipo de view geralmente é utilizada paraaumentar o desempenho de determinadas consultas.

As views são utilizadas geralmente para responder a consultas, e também para propor-cionar um nível adicional de segurança, restringido acesso a determinados conjunto de

Página 14 de 114www.handbookdeti.com.br

Page 16: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

linhas e colunas de uma tabela. No entanto, as views também podem ser de�nidas paraaceitar inserções, atualizações e exclusões. Nesses casos, todas as operações efetuadasna view afetam também as base tables.

• Index

Os indexes (índices) são estruturas de dados utilizadas para melhorar o desempenhodas operações sobre uma tabela do banco de dados. Os índices podem ser criados combase em uma ou mais colunas da tabela, sendo essa de�nição baseada nas consultasque o SGBD terá que responder com e�ciência.

No Oracle, os índices mais populares são baseados em árvores B (b-trees) e nos mapasde bits (bitmaps), sendo que a melhor escolha depende do tipo de dado a ser indexadoe, primordialmente, do per�l de operações da aplicação. Um ótimo teste compara-tivo entre os índices b-tree e bitmap do Oracle pode ser vista no estudo disponível emhttp://www.oracle.com/technology/pub/articles/sharma_indexes.html.

Embora sirvam para aumentar o desempenho das operações sobre as tabelas, o que épositivo, os índices também possuem aspectos negativos, como o consumo de espaço ea diminuição do desempenho das operações de inserção dados, já que, além das tabelas,os índices precisam ser atualizados. Portanto, os índices não devem ser utilizados indis-criminadamente, mas apenas nos casos em que os seus benefícios superem seus aspectosnegativos.

• Cluster

Os clusters (agrupamentos) são grupos de duas ou mais tabelas que são �sicamentearmazenados próximas umas das outras, de modo a proporcionar maior desempenhodas operações que referenciem ambas as tabelas. Assim como os índices, os clustersnão afetam a lógica da aplicação. O fato de uma tabela pertencer ou não a um clus-ter é transparente para o usuário, sendo relevante apenas para �ns de desempenho daaplicação.

Por �m, vamos falar um pouco sobre o conceito de Pro�les (per�s) do Oracle, que foi men-cionado na alternativa A da questão.

O pro�le é um recurso do Oracle que permite de�nir limites de utilização de recursos dosistema e parâmetros de segurança para os usuários do SGBD. Quando um usuário é criado,por padrão ele recebe o pro�le Default, que dá acesso ilimitado aos recursos do sistema.Para limitar o acesso do usuário aos recursos, é necessário criar um pro�le e associá-lo aousuário. Alguns exemplos de parâmetros (cujos nomes são auto-explicativos) que podem sercontrolados através de pro�le são mostrados a seguir.

Página 15 de 114www.handbookdeti.com.br

Page 17: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

Parâmetros de Recursos

[SESSIONS_PER_USER n|UNLIMITED|DEFAULT]

[CPU_PER_SESSION n|UNLIMITED|DEFAULT]

[CPU_PER_CALL n|UNLIMITED|DEFAULT]

[CONNECT_TIME n|UNLIMITED|DEFAULT]

[IDLE_TIME n|UNLIMITED|DEFAULT]

[LOGICAL_READS_PER_SESSION n|UNLIMITED|DEFAULT]

[LOGICAL_READS_PER_CALL n|UNLIMITED|DEFAULT]

[COMPOSITE_LIMIT n|UNLIMITED|DEFAULT]

[PRIVATE_SGA n [K|M]|UNLIMITED|DEFAULT]

Parâmetros de Password

[FAILED_LOGIN_ATTEMPTS expr|UNLIMITED|DEFAULT]

[PASSWORD_LIFE_TIME expr|UNLIMITED|DEFAULT]

[PASSWORD_REUSE_TIME expr|UNLIMITED|DEFAULT]

[PASSWORD_REUSE_MAX expr|UNLIMITED|DEFAULT]

[PASSWORD_LOCK_TIME expr|UNLIMITED|DEFAULT]

[PASSWORD_GRACE_TIME expr|UNLIMITED|DEFAULT]

[PASSWORD_VERIFY_FUNCTION function_name|NULL|DEFAULT]

Página 16 de 114www.handbookdeti.com.br

Page 18: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

7. Assuntos relacionados: Banco de Dados, Oracle,Banca: FCCInstituição: TRT 15a RegiãoCargo: Analista Judiciário - Tecnologia da InformaçãoAno: 2009Questão: 32

NÃO é um processo do tipo background contido em uma instância Oracle:

(a). system monitor process.

(b). checkpoint process.

(c). archiver process.

(d). server process.

(e). recoverer process

Solução:

O Oracle possui três tipos básicos de processo que são: processos User, processos server eprocessos em background. Com isso, a resposta da questão é alternativa D, �server process�.Agora, vamos conhecer um pouco mais dos processos do Oracle.

Os processos server recebem as requisições dos processos user, realizam o parse das in-struções SQL, veri�cam as permissões de acesso do usuário, traz os dados do disco parao DBBC, caso necessário, e retorna os dados para o usuário. Um processo server pode serdedicado para um processo user (dedicated server process) ou compartilhado entre múltiplosprocessos user (shared server process). Os processos server compartilhados só são possíveisem sistemas multithreaded.

As funções desempenhadas pelos processos user são se conectar com os processos server,enviar instruções SQL e receber os resultados. Caso o servidor suporte processos servercompartilhados, diversos processos server podem ser atendidos por um mesmo processoserver.

Já os os processo em background não realizam nenhuma comunicação com os processosuser. Os processos em backgound são responsáveis pelas tarefas de apoio para garantir ofuncionamento do sistema de gerenciamento de banco de dados como um todo. Um sistemaOracle tem inúmeros processos em background, porém apenas 4 deles são obrigatórios. Sãoeles:

• Process Monitor (PMON): Realiza a recuperação quando algum processo falha, alémde liberar o cache, locks e demais recursos que o processo estava utilizando;

• System Monitor (SMON): Realiza o processo de recuperação da instância durante oprocesso de inicialização, limpa segmentos temporários que não estão mais em uso, re-cupera transações terminadas de forma anormal e realiza desfragmentação nos arquivosde dados para facilitar a alocação;

• Database Writer (DBWR): A função principal do DBWR é escreve os blocos de dadosmodi�cados (dirty) do DBBC para o disco. Isso é feito nas seguintes situações: (i)quando a lista de blocos modi�cados atinge um tamanho con�gurado; (ii) quando oprocesso percorre um quantidade con�gurada de blocos e não encontra nenhum blocolivre; (iii) quando ocorre um timeout; (iv) quando ocorre um checkpoint ou (v) quando

Página 17 de 114www.handbookdeti.com.br

Page 19: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

o DBWR recebe um sinal do processo LGWR. Dessa forma, o processo DBWR além degarantir que as alterações feitas em bu�er serão persistidas, também gerencia o espaçoem bu�er para melhorar o desempenho do banco;

• Log Writer (LGWR): é o responsável por copiar as informações do redo log bu�er parao o redo log �le (arquivo de log com a mesma estrutura do redo log bu�er). O LGWRtambém é responsável por atualizar os headers dos arquivos de dados quando ocorreum checkpoint. O LGWR é disparado nas seguintes situações: (i) quando ocorre umcommit; (ii) quando ocorre um checkpoint; (iii) quando ocorre um timeout ou (iv)quando o redo log bu�er atinge um terço de sua capacidade.

Além desses quatro, o Oracle possui uma série de outros processos em background que sãode instalação e uso opcionais. Os mais importantes são os seguintes:

• CKPT: Atualiza os headers dos arquivos de dados quando ocorre um checkpoint. Autilização desse processo pode ajudar a melhorar o desempenho do sistema permitindoque o processo LGWR se concentre apenas na cópia do redo log bu�er para o disco;

• RECO: Responsável pela recuperação de falhas envolvendo transações distribuídas.Esse processo é necessário quando o Oracle está rodando de forma distribuída;

• ARCH: Responsável por copiar o redo log �le (que é um bu�er circular) para umdispositivos de armazenamento o�ine para que os logs não sejam perdidos;

• Pnnn: Processo responsável pela execução de consultas paralelas;

• SNPn: Controla a replicação de objetos dos banco de dados em outro site. Essas cópiassão chamadas snapshots. Esse processo pode ser escalonado para executar periodica-mente;

• LCKn: Realiza o controle de locks entre múltiplas instâncias;

• Dnnn: Esse processo funciona como um dispatcher quando o sistema está utilizandoprocessos server compartilhados. é necessário um dispatcher para cada protocolo decomunicação utilizado.

Página 18 de 114www.handbookdeti.com.br

Page 20: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

8. Assuntos relacionados: Governança de TI, COBIT, Requisitos de Negócio,Banca: FCCInstituição: TRT 15a RegiãoCargo: Analista Judiciário - Tecnologia da InformaçãoAno: 2009Questão: 33

A adequação às normas, leis e procedimentos é um requisito de qualidade denominado

(a). integridade.

(b). autenticidade.

(c). con�abilidade.

(d). con�dencialidade.

(e). conformidade.

Solução:

Esta questão encontra-se no âmbito de CobiT (Control Objectives for Information and re-lated Technology), que é um guia para a gestão de TI recomendado pelo ISACF (InformationSystems Audit and Control Foundation, www.isaca.org). O CobiT inclui recursos tais comoum sumário executivo, um framework, controle de objetivos, mapas de auditoria, um con-junto de ferramentas de implementação e um guia com técnicas de gerenciamento, além defornecer métricas para avaliação de resultados e possuir a vantagem de ser independente dasplataformas de TI adotadas nas empresas.

Em Cobit, para satisfazer os objetivos de negócio, as informações precisam estar em con-formidade com os critérios chamados requisitos de negócio. Estes requisitos estão dividosem:

1. Requisitos de Qualidade;

2. Requisitos de Segurança;

3. Requisitos de Fiduciários.

Estes 3 requisitos � Qualidade, Segurança e Fiduciário � são, por sua vez, sub-divididos em7 critérios de informação:

• E�cácia (efetividade): é a capacidade de alçar metas e resultados propostos. Trata dainformação que está sendo relevante e pertinente ao processo de negócio, bem comoque esteja sendo entregue de um modo oportuno, correto, consistente e útil;

• E�ciência: capacidade de produzir o máximo nos resultados com o mínimo de recursos.Diz respeito à provisão da informação através do uso otimizado (mais produtivo eeconômico) dos recursos;

• Con�abilidade: relaciona-se à provisão de informação apropriada para a gerência operara entidade e para a gerência exercer suas responsabilidades de relatar aspectos deconformidade e �nanças (podemos descartar, assim, a alternativa C);

• Con�dencialidade: diz respeito à proteção da informação sigilosa contra a revelaçãonão autorizada (descartamos, assim, a alternativa D);

• Integridade: relaciona-se à exatidão e à inteireza da informação bem como à sua validezde acordo com os valores e expectativas do negócio (descartamos, assim, a alternativaA);

Página 19 de 114www.handbookdeti.com.br

Page 21: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

• Disponibilidade: relaciona-se à informação que está sendo disponibilizada quando re-querida pelo processo de negócio agora e no futuro. Também diz respeito à proteçãodos recursos necessários e às capacidades associadas;

• Conformidade: trata do cumprimento das leis, dos regulamentos e arranjos contratuaisaos quais o processo de negócio está sujeito (portanto, a alternativa E é a correta).

Note, também, que o requisito autenticidade, citado na alternativa B, não faz parte doescopo de requisitos de CobiT, o que a descarta imediatamente.

Página 20 de 114www.handbookdeti.com.br

Page 22: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

9. Assuntos relacionados: Engenharia de Software, Testes de Software,Banca: FCCInstituição: TRT 15a RegiãoCargo: Analista Judiciário - Tecnologia da InformaçãoAno: 2009Questão: 34

Os testes de integração têm por objetivo veri�car se

(a). os módulos testados produzem os mesmos resultados que as unidades testadasindividualmente.

(b). os módulos testados suportam grandes volumes de dados.

(c). as funcionalidades dos módulos testados atendem aos requisitos.

(d). os valores limites entre as unidades testadas individualmente são aceitáveis.

(e). o tempo de resposta dos módulos testados está adequado.

Solução:

Uma vez implementado o código de uma aplicação, o mesmo deve ser testado para descobrirtantos defeitos quanto possível, antes da entrega do produto de software ao seu cliente.

O teste é uma atividade de veri�cação e validação do software e consiste na análise dinâmicado mesmo, isto é, na execução do produto de software com o objetivo de veri�car a presençade defeitos no produto e aumentar a con�ança de que o mesmo está correto.

A idéia básica dos testes é que os defeitos podem se manifestar por meio de falhas ob-servadas durante a execução do software. Essas falhas podem ser resultado de uma especi�-cação errada ou falta de requisito, de um requisito impossível de implementar considerandoo hardware e o software estabelecidos, o projeto pode conter defeitos ou o código pode estarerrado. Assim, uma falha é o resultado de um ou mais defeitos.

Um teste, dependendo da estratégia adotada, pode envolver vários estágios. Basicamentehá 3 (três) grandes estágios de teste

1. Teste de Unidade: tem o objetivo de validar individualmente itens menores (classesou métodos básicos) da implementação de um caso de uso por meio de testes de caixa-preta (orientado a entrada e saída) e caixa-branca (trabalha diretamente sobre o códigofonte). O objetivo é garantir que o item a ser testado cumpre a função para o qual elefoi projetado, adequando-se ao papel que ele desempenha no caso de uso. É interessanteobservar que o item a ser testado, apesar de menor magnitude, pode depender ou estarrelacionado a outros itens. Neste caso, é papel do desenvolvedor testar a integração deseu item com os demais, não se limitando a executar apenas testes isolados;

2. Teste de Integração: na fase de teste de integração o objetivo é encontrar falhasprovenientes da integração interna dos componentes de um sistema. Geralmente ostipos de falhas encontradas são de envio e recebimento de dados. Por exemplo, umobjeto A pode estar aguardando o retorno de um valor X ao executar um método doobjeto B, porém este objeto B pode retornar um valor Y, gerando, desta forma, umafalha. Não faz parte do escopo dessa fase de teste o tratamento de interfaces com outrossistemas (integração entre sistemas). Essas interfaces são testadas na fase de teste desistema (veremos a seguir);

Página 21 de 114www.handbookdeti.com.br

Page 23: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

O Teste de Integração pode ser realizado por meio das seguintes abordagens:

• Integração ascendente ou bottom-up: nessa abordagem, primeiramente, cadamódulo no nível inferior da hierarquia do sistema é testado individualmente. Aseguir, são testados os módulos que chamam esses módulos previamente testados.Esse procedimento é repetido até que todos os módulos tenham sido testados;

• Integração descendente ou top-down: A abordagem, neste caso, é precisa-mente o contrário da anterior. Inicialmente, o nível superior (geralmente um mó-dulo de controle) é testado sozinho. Em seguida, todos os módulos chamados porpelo módulo testado são combinados e testados como uma grande unidade. Essaabordagem é repetida até que todos os módulos tenham sido incorporados. Por�m, o sistema inteiro seria testado;

• Integração sanduíche: considera uma camada alvo no meio da hierarquia eutiliza as abordagens ascendente e descendente, respectivamente para as camadaslocalizadas abaixo e acima da camada alvo;

• Big-bang : testa individualmente cada módulo e só depois de testados individual-mente os integra.

3. Teste de Sistema: tem por objetivo identi�car erros de funções (requisitos funcionais)e características de desempenho (requisito não funcional) que não estejam de acordocom as especi�cações. Os testes de sistema incluem diversos tipos de teste, realizadosna seguinte ordem:

• Teste funcional: veri�ca se o sistema integrado realiza as funções especi�cadasnos requisitos;• Teste de desempenho: veri�ca se o sistema integrado atende aos requisitos nãofuncionais do sistema (e�ciência, segurança, con�abilidade etc);• Teste de aceitação: os clientes testam o sistema a �m de garantir que o mesmosatisfaz suas necessidades;• Teste de instalação: ocorre quando o teste de aceitação é feito em um ambientede teste diferente do local em que será instalado.

De posse deste conhecimento, podemos descarta a alternativa A, pois se um módulo pro-duzisse o mesmo valor que as suas unidades, a sua existência seria desnecessária. Podemosdescartar, também, as alternativas B e E, pois dizem respeito ao Teste de Sistema. Alémdisso, uma vez que o teste de valor limite é efetuado no Teste de Unidade, podemos descartara alternativa D também. Portanto, ao �nal do teste de integração, é possível assegurar queas funcionalidades do módulo testado atendem aos requisitos (alternativa C está correta).

Página 22 de 114www.handbookdeti.com.br

Page 24: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

10. Assuntos relacionados: Governança de TI, ITIL, Gerenciamento de Serviços, ServiceStrategy, Service Design, Service Operation, Service Transition, Continual Service Improve-ment,Banca: FCCInstituição: TRT 15a RegiãoCargo: Analista Judiciário - Tecnologia da InformaçãoAno: 2009Questão: 35

Segundo o ITIL, o controle dos riscos de fracasso e rompimento do objetivo principal doGerenciamento de Serviços, que é garantir que os serviços de TI estejam alinhados com asnecessidades de negócio, é realizado no estágio

(a). Service Strategy.

(b). Service Design.

(c). Service Operation.

(d). Service Transition.

(e). Continual Service Improvement.

Solução:

ITIL (IT Infrastructure Lybrary) é uma biblioteca composta das melhores práticas paraGerenciamento de Serviços de TI. Criada pelo Governo Britânico em 1980, tornou-se padrãode fato no mercado em 1990. Trata-se de uma biblioteca composta de 7 livros principais.Não se trata de uma metodologia e sim de um conjunto de melhores práticas adotadas emvárias empresas.

Podemos tratar a ITIL apenas como um consenso de como devem ser tratados os pro-cessos dentro de um departamento de TI. Os processos propostos são genéricos, podendoser utilizados por qualquer empresa, seja pública ou privada, de grande ou pequeno porte.Estes processos devem ser adotados e adaptados ao seu negócio, tenha em mente que nãoexiste receita de bolo pronta.

A ITIL oferece um framework comum para todas as atividades do departamento de TI,como a parte da provisão dos serviços, baseada na infra-estrutura de TI. Estas atividadessão divididas em processos, que fornecem um framework e�caz para um futuro Gerencia-mento de Serviços de TI aprimorado. Cada um destes processos cobre uma ou mais tarefasdo departamento de TI, tais como desenvolvimento de serviços, gerenciamento da infra-estrutura, fornecimento de serviços e suporte a serviços. São estes processos que propiciamo uso das melhores práticas, fazendo com que o departamento de TI possa adotá-las inde-pendente da estrutura da organização.

Em maio de 2007, foi lançada mundialmente a versão 3 da biblioteca ITIL como uma atu-alização completa da antiga versão 2, publicada na década de 90 do século passado. Estaversão é composta por cinco volumes:

• Estratégia do serviço (Service Strategy);

• Projeto de serviço (Service Design);

• Operação do serviço (Service Operation);

• Transição do serviço (Service Transition);

Página 23 de 114www.handbookdeti.com.br

Page 25: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

• Melhoria contínua do serviço (Continual Service Improvement).

A �m de resolver a presente questão, abordaremos alternativa por alternativa.

(A) ERRADA

O volume Service Strategy fornece orientação sobre como projetar, desenvolver e implemen-tar a gestão de serviços não apenas como uma capacidade organizacional, mas também comoum ativo estratégico. São fornecidas orientações sobre os princípios subjacentes à práticada gestão de serviço que são úteis para o desenvolvimento de políticas de gestão de serviços,diretrizes e procedimentos em todo o Ciclo de Vida do Serviço. Service Strategy é útilno contexto da Service Design, Service Transition, Service Operation, e Continual ServiceImprovement. Os tópicos abordados no Service Strategy incluem o desenvolvimento de mer-cados, interno e externo, bens, serviço de Catálogo, e implementação da estratégia atravésdo Ciclo de Vida do Serviço. Gestão Financeira, Serviço de Gerenciamento de Portfólio, De-senvolvimento Organizacional, e Risco de Estratégicas estão entre outros temas importantes.

As organizações usam esta orientação a �m de de�nir objetivos e expectativas de desempenhopara servir os clientes e o mercado, e para identi�car, selecionar e priorizar oportunidades.Service Strategy consiste em garantir que as organizações estão em uma posição para lidarcom os custos e riscos associados aos seus portifólios de serviços, e estão posicionadas nãoapenas para a e�cácia operacional, mas também para desempenho distinto. As decisõestomadas em relação a Service Strategy têm conseqüências de longo alcance, incluindo aque-les com efeito retardado.

Este volume de ITIL incentiva os leitores a parar de pensar sobre por que algo deve ser feitoantes pensando em como. Respostas para o primeiro tipo de questões são mais próximoao negócio do cliente. Service Strategy expande o âmbito da estrutura de ITIL além datradicional platéia de pro�ssionais de Gestão de Serviços de TI.

(B) ERRADA

O volume Service Design fornece orientação para a concepção e desenvolvimento de serviçose de processos de gestão de serviços. Abrange os princípios de design e métodos para aconversão de objetivos estratégicos em carteiras de portifólios e bens de serviços. O âm-bito do Service Design não se limita a novos serviços. Ele inclui as alterações e melhoriasnecessárias para aumentar ou manter o valor para clientes sobre o ciclo de vida dos serviços,a continuidade da serviços, cumprimento dos níveis de serviço, e de conformidade às normase regulamentos. Ele guia as organizações sobre como desenvolver capacidades de design paragestão de serviços.

(C) ERRADA

Este volume incorpora as práticas de gestão de operações de serviços. Inclui orientaçãosobre como alcançar a e�cácia e a e�ciência na entrega e suporte de serviços, de modo agarantir valor ao cliente e ao prestador de serviços. Os objetivos estratégicos são, em últimaanálise, realizados através de operações de serviço, tornando-se, portanto, numa capacidadecrítica. São fornecidas orientações sobre formas de manter estabilidade em operações deserviços, permitindo mudanças no design, escala, âmbito e níveis de serviço. Organizaçõessão providas com detalhadas orientações de processos, métodos e ferramentas para uso emduas perspectivas de controle: reativa e pró-ativa. Gestores e pro�ssionais são providos

Página 24 de 114www.handbookdeti.com.br

Page 26: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

com conhecimentos que lhes permitam tomar melhores decisões em áreas como a gestãoda disponibilidade dos serviços, controle de demanda, otimização da capacidade utilizada,agendamento de operações e resolução de problemas. A orientação é fornecida em apoio àsoperações através de novos modelos e arquiteturas, tais como serviços compartilhados, com-putação sob demanda, serviços web e o comércio eletrônico utilizando dispositivos móveis.

(D) CORRETA

O volume Service Transition fornece orientação para o desenvolvimento e melhoria de capaci-dades para transição de serviços novos e alterados em operações. Esta publicação forneceorientações sobre como as exigências da Service Strategy codi�cadas em Serviço Designsão efetivamente realizadas no Service Operation enquanto identi�ca, gerencia e controlaos riscos de fracasso e ruptura em todas as atividade de transição. A publicação combinapráticas de Gerenciamento de Liberação, Programa de Gestão e Gerenciamento de Riscos eos coloca no contexto da prática de gerenciamento de serviço. O volume fornece orientaçõessobre como gerenciar a complexidade relacionada a alterações de serviços e de processosde gestão de serviço, evitando indesejáveis conseqüências, além de permitir que a inovaçãoocorra paralelamente.

(E) ERRADA

Este volume fornece orientação instrumental na criação e manutenção de valor para osclientes através de um melhor design, introdução e operação dos serviços. Ele combina osprincípios, práticas e métodos de gestão de qualidade, Gestão de Mudanças e melhoria decapacidade. As organizações aprendem a realizar melhorias incrementais e em larga escalana qualidade do serviço, na e�ciência operacional e na continuidade dos negócios.

Página 25 de 114www.handbookdeti.com.br

Page 27: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

11. Assuntos relacionados: Governança de TI, ITIL, Gerenciamento de Serviços, ServiceStrategy, Service Design, Service Operation, Service Transition, Continual Service Improve-ment,Banca: FCCInstituição: TRT 15a RegiãoCargo: Analista Judiciário - Tecnologia da InformaçãoAno: 2009Questão: 37

Um processo de gerenciamento de serviços do ITIL que é realizado no estágio Service Strategydenomina-se

(a). Request Ful�lment.

(b). Service Measurement.

(c). Knowledge Management.

(d). Service Portfolio Management.

(e). Service Catalogue Management.

Solução:

O volume Service Strategy fornece orientação sobre como projetar, desenvolver e implemen-tar a gestão de serviços não apenas como uma capacidade organizacional, mas também comoum ativo estratégico. São fornecidas orientações sobre os princípios subjacentes à práticada gestão de serviço que são úteis para o desenvolvimento de políticas de gestão de serviços,diretrizes e procedimentos em todo o Ciclo de Vida do Serviço. Os tópicos abordados noService Strategy incluem o desenvolvimento de mercados, interno e externo, bens, serviço deCatálogo, e implementação da estratégia através do Ciclo de Vida do Serviço. Gestão Fi-nanceira, Serviço de Gerenciamento de Portfólio, Desenvolvimento Organizacional, e Riscode Estratégicas estão entre outros temas importantes.

Abordemos cada alternativa para resolver esta questão.

(A) ERRADA

O processo Request Ful�llment pertence ao estágio Service Operation. Uma solicitação deatendimento é uma solicitação de um usuário para informação ou recomendação, ou parauma mudança padrão, ou para o acesso a um serviço de TI. O propósito do Request Ful�ll-ment é o de permitir aos usuários solicitar e receber serviços padrão; prestar informaçõespara os usuários e clientes sobre os serviços e os procedimentos para obtê-los, e para ajudarcom informações gerais, reclamações e comentários. Todos os pedidos devem ser registradose monitorados. O processo deve incluir aprovação adequada antes de cumprir o pedido.

(B) ERRADA

Trata-se de um serviço pertencente ao estágio Continual Service Improvement, possuindocomo objetivos:

• validar decisões que tenham sido tomadas;

• direcionar atividades para o alcance de metas;

• fornecer evidências que justi�quem ações;

Página 26 de 114www.handbookdeti.com.br

Page 28: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

• sinalizar a necessidade de ações corretivas.

Uma organização, para alcançar plenamente os objetivos acima, precisa coletar três tipos demétricas de�nidas pelo Service Measurement :

• métrica de tecnologia: performance, disponibilidade, etc.;

• métricas de processos: fatores críticos de sucessos e seus KPI - Key Performance Indi-cators;

• métricas de serviços: resultados �nais dos serviços.

(C) ERRADA

Knowledge Management pertence ao Service Transition e tem como objetivo garantir quea pessoa certa tenha o conhecimento certo, no momento certo para entregar e suportar osserviços requeridos pelo negócio. Fornece meios para prover:

• serviços mais e�ciente com melhor qualidade;

• compreensão clara e comum do valor fornecido pelos serviços;

• informação relevante que está sempre disponível.

(D) CORRETA

Processo pertencente ao estágio Service Strategy. Service Portfolio Management envolvea gestão pró-ativa do investimento em todo o ciclo de vida do serviço, incluindo os serviçosno conceito, design e pipeline de transição.

Service Portfolio Management é um processo contínuo, que inclui:

• De�nição: garantir oportunidades de negócios, construir e atualizar portfólio;

• Análise: maximizar valor do portfólio, alinhar, priorizar e balancear produção/demanda;

• Aprovação: �nalizar portfólio proposto, autorizar serviços e recursos;

• Formalização: comunicar decisões, alocar recursos.

(E) ERRADA

O Service Catalogue Management, pertencente ao escopo do Service Design, provê umafonte centralizada de informações sobre os serviços de TI providos, garantindo que as áreasde negócios possam exibir uma imagem precisa e consistente dos serviços de TI disponíveis,seus detalhes e status. O propósito do Service Catalogue Management é fornecer uma fonteúnica e consistente de informações sobre todos os serviços acordados, e garantir que elasestejam amplamente disponíveis para aqueles que tenham permissão para acessá-las. Asinformações-chave dentro do processo de Service Catalogue Management estão contidas noService Catalogue.

Página 27 de 114www.handbookdeti.com.br

Page 29: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

12. Assuntos relacionados: Governança de TI, COBIT, Princípios de Governança,Banca: FCCInstituição: TRT 15a RegiãoCargo: Analista Judiciário - Tecnologia da InformaçãoAno: 2009Questão: 38

O princípio básico de governança incorporado no COBIT que objetiva a perenidade da áreade TI e da organização é o princípio de

(a). equidade.

(b). transparência.

(c). alinhamento aos negócios.

(d). prestação de contas.

(e). responsabilidade corporativa.

Solução:

Lembre-se que são 4 (quatro) os princípios de governança de TI existente no CobiT:

• Transparência: mais do que �a obrigação de informar�, a Administração deve cultivaro �desejo de informar�, sabendo que da boa comunicação interna e externa, particu-larmente quando espontânea, franca e rápida, resulta um clima de con�ança, tantointernamente, quanto nas relações da empresa com terceiros. A comunicação não deverestringir-se ao desempenho econômico-�nanceiro, mas deve contemplar também os de-mais fatores (inclusive intangíveis) que norteiam a ação empresarial e que conduzem àcriação de valor (descartamos, assim, a alternativa B);

• Eqüidade: caracteriza-se pelo tratamento justo e igualitário de todos os grupos mi-noritários, sejam do capital ou das demais �partes interessadas� (stakeholders), como co-laboradores, clientes, fornecedores ou credores. Atitudes ou políticas discriminatórias,sob qualquer pretexto, são totalmente inaceitáveis (descarta-se, assim, a alternativaA);

• Prestação de contas: os colaboradores têm a obrigação de prestar contas, fornecerrelatórios ou explicar suas ações sobre o uso de recursos que lhe são transmitidos. Osexecutivos prestam contas ao Conselho Administrativo os quais fornecem governança,direção e monitoração. Para cada um é essencial conhecer como suas ações contribuempara alcançar os objetivos da organização (alternativa D descartada);

• Responsabilidade Corporativa: conselheiros e executivos devem zelar pela perenidadedas organizações (visão de longo prazo, sustentabilidade) e, portanto, devem incorpo-rar considerações de ordem social e ambiental na de�nição dos negócios e operações(alternativa E é a correta).

Lembre-se também que, pela Information Systems Audit and Control Association (2006),Alinhamento estratégico (ou Alinhamento aos negócios) é uma das 5 (cinco) áreas nas quaiso escopo de governança de TI pode ser classi�cada. As demais áreas são: Gerenciamento deriscos, Gerenciamento de recurso, Controle e monitoração e Entrega de valor (descartamos,assim, a alternativa C).

O Alinhamento estratégico se refere a alinhar a TI com as estratégias do negócio. A questãochave é veri�car se os investimentos da empresa em TI estão em harmonia com objetivos

Página 28 de 114www.handbookdeti.com.br

Page 30: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

estratégicos da empresa e ainda está desenvolvendo capacidades necessárias para entregarvalor ao negócio. São objetivos estratégicos:

• Especi�car os objetivos;

• Desenvolver estratégias para alcançar os objetivos especi�cados;

• Desenhar planos de ações para implementar as estratégias.

Página 29 de 114www.handbookdeti.com.br

Page 31: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

13. Assuntos relacionados: Governança de TI, COBIT,Banca: FCC Domínios de Governança,Instituição: TRT 15a RegiãoCargo: Analista Judiciário - Tecnologia da InformaçãoAno: 2009Questão: 39

NÃO é um domínio de governança no framework do COBIT:

(a). monitoração.

(b). requisitos e processos.

(c). aquisição e implementação.

(d). planejamento e organização.

(e). entrega e suporte.

Solução:

O CobtiT está organizado em quatro domínios para re�etir um modelo para os processos deTI. Os domínios podem ser caracterizados pelos seus processos e pelas atividade executadasem cada fase de implantação da Governança Tecnológica. São eles:

• planejamento e organização: de�ne as questões estratégicas ligadas ao uso da TI emuma organização, trata de vários processos, entre eles, a de�nição da estratégia de TI,arquitetura da informação, direcionamento tecnológico, investimento, riscos, gerênciade projetos e da qualidade (descartamos, assim, a alternativa D);

• aquisição e implementação: de�ne as questões de implementação da TI conformeas diretivas estratégicas e de projeto pré-de�nidas no Plano Estratégico de Informáticada empresa, também conhecido como PDI (Plano Diretor de Informática). Possui umasérie de processos como, por exemplo, identi�cação de soluções automatizadas a seremaplicadas ou reutilizadas na corporação, aquisição e manutenção de sistemas de infra-estrutura, desenvolvimento e mapeamento de procedimentos nos sistemas, instalação egerência de mudanças (alternativa C descartada);

• entrega e suporte: de�ne as questões operacionais ligadas ao uso da TI para atendi-mento aos serviços para os clientes, manutenção e garantias ligadas a estes serviços. Omomento deste domínio é após a ativação de um serviço e sua entrega ao cliente, quepode operar ou utilizar os serviços da empresa para operação terceirizada. Os proces-sos relativos a este domínio tratam da de�nição dos níveis de serviço (SLA � SeviceLevel Agreement); gerência de fornecedores integrados às atividades; garantias de de-sempenho, continuidade e segurança de sistemas; treinamento de usuários; alocação decustos de serviços; gerência de con�guração; gerência de dados, problemas e incidentes(alternativa E descartada);

• monitoração: de�ne as questões de auditoria e acompanhamento dos serviços de TI,sob o ponto de vista de validação da e�ciência dos processos e evolução dos mesmos emtermos de desempenho e automação. Os processos deste domínio tratam basicamenteda supervisão das atividades dos outros processos; adequações realizadas na empresapara garantia de procedimentos operacionais; coleta e análise de dados operacionaise estratégicos para auditoria e para controle da organização. (alternativa A tambémdescartada).

Por eliminação, chegamos à conclusão que requisitos e processos não é um domínio doCobiT. Assim, a alternativa B é a correta.

Página 30 de 114www.handbookdeti.com.br

Page 32: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

14. Assuntos relacionados: Governança de TI, COBIT, Diretrizes de Gerenciamento,Modelode Maturidade, CSF, KPI, KGI,Banca: FCCInstituição: TRT 15a RegiãoCargo: Analista Judiciário - Tecnologia da InformaçãoAno: 2009Questão: 40

As diretrizes gerenciais do COBIT para indicar onde um processo se encontra e onde sedeseja chegar estabelecem o uso da ferramenta denominada

(a). modelo de maturidade.

(b). fatores críticos de sucesso.

(c). objetivos de controle detalhados.

(d). indicadores-chaves de desempenho.

(e). indicadores-chaves de metas.

Solução:

As diretrizes gerenciais de CobiT fornecem a conexão vital entre o controle de TI e a gov-ernança de TI. Elas são genéricas e orientadas a ação, orientam a gestão na obtenção deinformações do empreendimento e dos processos relacionados que estão sob controle, mon-itoram a conquista dos objetivos organizacionais, monitoram e melhoram o desempenhode cada processo de TI, além de realizar a avaliação do desempenho organizacional. Elasajudam a fornecer respostas a questões típicas de gestão, tais como:

• Até que ponto devemos ir no controle de TI, e se este ponto é justi�cado pelo custo/benefício?

• Quais são os indicadores de bom desempenho?

• Quais são os fatores críticos de sucesso?

• Quais são os riscos de não alcançar os nossos objetivos?

• O que os demais fazem?

• Como medir e comparar?

A seguir, abordaremos cada diretriz de gerenciamento:

Modelos de Maturidade (Maturity Models)

Os modelos de maturidade são usados para se gerenciar e controlar os processos de TIbaseado em um método de avaliação da organização, para que se possa avaliar desde o nívelde não existência (0) até otimizado (5), isto é, onde se deseja chegar. O objetivo dessasavaliações é veri�car onde se encontram os problemas e de�nir as prioridades para melhora-mento. O propósito não é avaliar o nível de aderência aos objetivos de controle.

Esta abordagem foi derivada do modelo de maturidade que a Software Engineering Institute(SEI) de�niu para o desenvolvimento de software (Capability Maturity Model for Software� SW-CMM). A partir da aplicação destes níveis em cada um dos 34 processos do CobiT épossível mapear:

• O estado atual da organização � onde a organização está hoje;

• O estado atual da indústria (fazendo uma comparação da empresa com outras) � acomparação;

Página 31 de 114www.handbookdeti.com.br

Page 33: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

• O estado atual das normas internacionais � comparações adicionais;

• A estratégia da organização para melhoria � aonde a organização quer chegar.

O exposto acima já é su�ciente para a�rmar que a alternativa A está correta. Contudo,iremos nos aprofundar um pouco mais no Modelo de Maturidade.

A vantagem de uma abordagem de modelo de maturidade é que se torna relativamentefácil para a gerência localizar o status atual na escala e avaliar o que está envolvido casoum melhor desempenho seja requerido. A escala de zero a cinco é usada para mostrarcomo um processo pode evoluir da não existência de uma capacidade para uma capacidadeotimizada. Abaixo, apresentamos um modelo maturidade genérico:

• Nível 0 (Inexistente): completa falta de qualquer processo reconhecível, e a empresanem reconheceu que existe a necessidade de se gerenciar tal processo;

• Nível 1 (Inicial): existe evidência que a empresa reconheceu a necessidade de gerencia-mento do processo. Entretanto, não existem ainda processos padronizados, e somente,abordagens ad-hoc, aplicadas baseada nos indivíduos ou casos. No geral, a abordagemde gerenciamento está desorganizada;

• Nível 2 (Repetitivo): procedimentos similares são seguidos por diferentes pessoas paraa execução de uma tarefa. Não há treinamento formal ou procedimentos formalizadosde comunicação, e a responsabilidade é deixada para os indivíduos. Como existe grandedependência nas pessoas, erros são esperados;

• Nível 3 (De�nido): procedimentos são padronizados e documentados, e comunicadosatravés de treinamento. É deixado para as pessoas seguirem esses processos, tornandodifícil detectar os desvios. Neste nível, os procedimentos não são so�sticados, mas é aformalização de práticas existentes;

• Nível 4 (Gerenciado): possível monitorar e medir a concordância com os procedimen-tos e tomar ação quando os processos parecem não estar trabalhando efetivamente.Neste nível, os processos estão em constante melhoramento e provem boas práticas, noentanto, automação e ferramentas são usadas de forma limitada ou fragmentada;

• Nível 5 (Otimizado): processos estão de�nidos em nível de melhores práticas, basea-dos em resultados de melhoramento contínuo e modelagem de maturidade com outrasempresas, e a TI é usada de forma integrada para automatizar o �uxo de trabalho,provendo ferramentas para melhorar a qualidade e efetividade, tornando a empresarápida para adaptações.

Fatores críticos de sucesso (Critical Success Factors � CSFs)

Os fatores críticos de sucesso de�nem os desa�os mais importantes ou ações de gerenci-amento que devem ser adotadas para colocar sobre controle a gestão de TI. São de�nidas asações mais importantes do ponto de vista do que fazer a nível estratégico, técnico, organi-zacional e de processo. Por exemplo, CSFs incluem:

• Processos de TI são de�nidos e alinhados com a estratégia de TI e com os objetivos denegócio;

• São conhecidos os clientes do processo e suas expectativas;

• Os processos são escaláveis e seus recursos são geridos de forma adequada.

Portanto, a alternativa B está errada.

Página 32 de 114www.handbookdeti.com.br

Page 34: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

Indicadores de Meta (Key Goal Indicator � KGIs)

KGIs são medidas pré-de�nidas que indicam se um processo de TI alcançou o requisitodo negócio em termos de critérios de informação. Os KGIs para TI são os drivers de negócioque usualmente suportam as perspectivas �nanceiras e clientes. São as KGIs que, após o fatoocorrido, re�etem se a meta foi atingida e, usualmente, são expressas nos seguintes termos:

• Disponibilidade das informações necessárias para suportar as necessidades de negócios;

• Riscos de falta de integridade e con�dencialidade das informações;

• E�ciência nos custos dos processos e operações;

• Con�rmação de con�abilidade, efetividade e conformidade das informações.

São exemplos de KGIs:

• Aumento do Nível de entrega de serviço;

• Número de clientes e custo por cliente atendido;

• Disponibilidade dos sistemas e serviços;

• Ausência de integridade e riscos de con�dencialidade;

• Con�rmação da con�abilidade e e�cácia;

• Aderência ao custo de desenvolvimento e prazo;

• Custo-e�ciência do processo;

• Produtividade da equipe;

• Número de mudanças aplicadas na hora certa nos processos e sistemas;

• Aumento da produtividade.

Assim, a alternativa E está errada.

Indicadores de Desempenho (Key Performance Indicators � KPI)

Indicadores de Desempenho � são medidas pré-de�nidas que determinam quanto o pro-cesso de TI conseguiu atingir em relação aos objetivos. Os KPIs se referem às perspectivasdos processos e da inovação, são medidas que re�etem as tendências em termos de atingirou não a meta no futuro. Notadamente, as KPIs são medidas antes do fato e aplicadas emdiversos escopos, por exemplo:

• Financeiro

� Número de Clientes de TI;� Custo por Cliente de TI;� Custo-e�ciência do serviço de TI;� Entrega de valor de TI por funcionário;

• Cliente

� Nível de Entrega de Serviço;� Satisfação do cliente;� Número de novos clientes;� Número de novos canais de serviço;

• Aprendizado

� Produtividade da Equipe;

Página 33 de 114www.handbookdeti.com.br

Page 35: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

� Número de pessoas treinadas em uma nova tecnologia;� Valor entregue por funcionário;� Aumento da disponibilidade do conhecimento;

• Processo

� Disponibilidade do processo e do sistema;� Desenvolvimento dentro do prazo e no custo;� Tempos de respostas;� Quantidade de erros e retrabalho;

Portanto, a alternativa D está errada.

Vale reforçar que objetivos de controle detalhados não faz parte das diretrizes gerenciaisdo COBIT. Logo, a alternativa C também esta errada.

Página 34 de 114www.handbookdeti.com.br

Page 36: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

15. Assuntos relacionados: Redes de Computadores, Rede Local, Backbone Colapsado,Banca: FCCInstituição: TRT 15a RegiãoCargo: Analista Judiciário - Tecnologia da InformaçãoAno: 2009Questão: 41

Sobre redes backbones colapsadas, considere:

I. Utilizam topologia em estrela com um dispositivo em seu centro que pode ser umcomutador.

II. Necessitam menor quantidade de cabos que uma backbone com ponte ou com rotea-mento, se comparadas nas mesmas características.

III. Necessitam menor quantidade de dispositivos que uma backbone com ponte ou comroteamento, se comparadas nas mesmas características.

Está correto o que consta em

(a). I e II, somente.

(b). I e III, somente.

(c). II e III, somente.

(d). II, somente.

(e). I ,II e III.

Solução:

Trata-se de uma arquitetura de rede na qual um roteador ou switch (comutador) provêuma construção ou backbone usando uma topologia estrela (consideração I está correta).Imagine, por exemplo, uma empresa localizada em dois prédios, em que cada andar sejaum departamento. Os departamentos serão então atendidos por switches departamentais.Na topologia colapsada, os switches departamentais �cam localizados nos andares dos pré-dios, ou acomodados em um rack num local apropriado. Caso exista algum servidor deaplicação especí�co do departamento no andar, ele pode também ser conectado nesse switchusando uma porta pré-con�gurada. Esses switches, por sua vez, devem estar conectados aoequipamento central chamado equipamento de backbone. Esse equipamento de backbone éum switch de alta capacidade da ordem de alguns gigabits/segundo, capaz de dar vazão atodo o tráfego requerido pelos switches departamentais, espalhados nos andares. A Figura2 ilustra esta topologia.

Observe que, nesta topologia, todas as redes convergem, através de cabos, até um switchcentral através do qual se comunicam entre si. Assim, caso haja falha neste ponto centralda rede, toda a rede pára. Por outro lado, esta topologia fornece facilidade em se detectarfalhas pois o ambiente é localizado.

Por outro lado, no backbone com roteamento, cada segmento de cada departamento estáligado ao backbone principal por uma bridge ou roteador que encaminha os dados para arede destino. Neste caso, quando uma rede departamental quer acessar outra rede, utiliza oseu roteador que endereça para o roteador da rede destino. Assim, para uma rede backbonecom roteamento, necessitaremos adicionar um roteador por andar, isto é, necessitaremos demais recursos que uma rede backbone colapsada (consideração III está correta).

Página 35 de 114www.handbookdeti.com.br

Page 37: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

Figura 2: exemplo de uma rede backbone colapsada.

Estes mesmo roteadores podem estar interligados através de diferentes topologias, por ex-emplo: Token-ring e FDDI (Fiber Distributed Data Interface). A implantação de qualqueruma destas topologias requer, consideravelmente, uma menor quantidade de cabos do que autilizada no backbone colapsado (consideração II está corretaCORRETA).

Portanto, a alternativa B é a correta.

Página 36 de 114www.handbookdeti.com.br

Page 38: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

16. Assuntos relacionados: Redes de Computadores, UDP, SSL, DNS, Protocolo ARP,Banca: FCCInstituição: TRT 15a RegiãoCargo: Analista Judiciário - Tecnologia da InformaçãoAno: 2009Questão: 42

Uma mensagem broadcast é enviada pelo software TCP/IP a todos os computadores de umasub-rede para obter o endereço correto da camada de enlace de dados (leva o endereço IP equestiona pelo endereço da camada de enlace de dados). Essa mensagem é uma solicitaçãoespecialmente formatada que utiliza o protocolo

(a). UDP.

(b). SSL.

(c). DNS.

(d). ARP.

(e). TDP.

Solução:

Abordaremos cada alternativa a �m de solucionar a presente questão.

(A) ERRADA

UDP (User Datagram Protocol � protocolo de datagrama do usuário) é um protocolo dacamada de transporte que oferece um meio para as aplicações enviarem datagramas IP en-capsulados sem que seja necessário estabelecer uma conexão (o UDP é descrito na RFC 768).

O UDP não garante a entrega dos pacotes na ordem correta, ou sequer se eles serão en-tregues, não realizando, também, controle de erros. Tudo isso cabe aos processos do usuário.O UDP é usado naquelas aplicações em que os dados são todos entregues num único pa-cote, tornando a ordem em que chegam irrelevante. Se um programa não receber respostadepois de um determinado período (timeout), ele solicita a retransmissão dos dados. Comoo UDP não precisa cuidar desses pormenores, o tamanho de seu cabeçalho é relativamentepequeno. Serviços que usam UDP incluem DNS, servidores de sincronização de horário edifusão (streaming) de áudio e vídeo.

Como podemos facilmente concluir, esta alternativa está errada.

(B) ERRADA

O protocolo SSL (Secure Sockets Layer) criado pela Netscape Corporation vem se tornandosinônimo de segurança para aplicações que utilizam a internet para efetuarem negócios on-line na Web. As principais características do SSL são:

• Segurança em conexões cliente/servidor: o SSL garante o sigilo dos dados troca-dos entre as partes envolvidas na conexão através do uso de criptogra�a simétrica. A�m de evitar que as mensagens, mesmo decifradas, sejam modi�cadas e com isso umataque de escuta ativa seja possível, o SSL adiciona a todas as mensagens um MAC(Message Authentication Code). Calculado a partir de funções de hash seguras, o MACgarante a integridade das mensagens trocadas. Além de sigilo e integridade, o SSL ainda

Página 37 de 114www.handbookdeti.com.br

Page 39: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

provê a autenticação das partes envolvidas a �m de garantir e veri�car a identidade dasmesmas. Neste processo, o SSL utiliza criptogra�a assimétrica e certi�cados digitais;

• Independência de protocolo: o SSL roda sobre qualquer protocolo de transportecon�ável. Porém, a maioria das implementações são feitas para redes TCP/IP;

• Interoperabilidade: dado a sua especi�cação bem detalhada e o uso de algoritmoscriptográ�cos conhecidos, diferentes implementações do protocolo tem a garantia deinteragir entre si;

• Extensibilidade: dado a necessidade, permitir que novos parâmetros e métodos decriptogra�a (assimétrica ou simétrica) sejam incorporados ao protocolo, sem que sejanecessária a criação de um novo protocolo ou a implementação inteira de uma novabiblioteca;

• E�ciência: devido a demanda por recursos computacionais que este tipo de operaçãorequer, o protocolo dispõe da opção de armazenamento em cache de informações refer-entes a sessão, diminuindo desta forma o esforço computacional em sucessivas conexões.

O funcionamento da versão mais recente do SSL (3.0) ocorre por meio do sistema de crip-togra�a de chaves públicas e privadas desenvolvido por Rivest, Shamir e Adleman, o RSA.

Efetivamente, o SSL é uma nova camada colocada entre a camada de aplicação e a camada detransporte, aceitando solicitações do navegador e enviando-as ao TCP para transmissão aoservidor. Depois que a conexão segura é estabelecida, a principal tarefa da SSL é manipulara compactação e a criptogra�a. Para realizar esta tarefa, o SSL conta com duas camadas:

• Record: trata-se da camada de mais baixo nível, que interage com o protocolo detransporte. Esta camada é responsável por encapsular os dados das camadas superioresem pacotes compactados e cifrados e repassá-los para a camada de transporte;

• Handshak: camada de nível superior. Esta camada permite que a aplicação servidorae a aplicação cliente autentiquem-se e negociem os algoritmos de cifragem e as chavescriptográ�cas antes que o protocolo de aplicação receba ou envie seu primeiro byte.

Novamente, alternativa errada.

(C) ERRADA

DNS (Domain Name System � sistema de nomes de domínios) é um protocolo da ca-mada de aplicação. A essência do DNS é a criação de um esquema hierárquico de atribuiçãode nomes baseado no domínio e de um sistema de bancos de dados distribuídos para imple-mentar esse esquema de nomenclatura. Ele é usado principalmente para mapear nomes dehosts e destinos de mensagens de correio eletrônico em endereços IP, mas também pode serusado para outros objetivos. O DNS é de�nido nas RFCs 1034 e 1035.

Em resumo, o DNS é utilizado da forma descrita a seguir. Para mapear um nome emum endereço IP, um programa aplicativo chama um procedimento de biblioteca denominadoresolvedor e repassa a ele o nome como um parâmetro. O resolvedor envia um pacote UDPa um servidor DNS local, que procura o nome e retorna o endereço IP ao resolvedor. Emseguida, o resolvedor retorna o endereço IP ao programa aplicativo que fez a chamada. Mu-nido do endereço IP, o programa pode então estabelecer uma conexão TCP com o destinoou enviar pacotes UDP até ele.

Existem dois modos de resolução de nomes no servidor DNS: interativo e recursivo. No

Página 38 de 114www.handbookdeti.com.br

Page 40: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

modo interativo o servidor DNS não assume a responsabilidade de resolver a requisição re-cebida. Ele envia uma resposta contendo a resolução do nome questionado caso ele tenhaa informação solicitada armazenada em cache ou ele envia a indicação de outros servidoresDNS que estão aptos a enviar uma resposta mais exata. No modo recursivo o servidor DNSassume a responsabilidade de resolver a requisição recebida. Este servidor terá que encon-trar uma resposta para a requisição solicitada e enviá-la ao requisitante.

Lembre-se que DNS é o único protocolo que tem caráter híbrido, capaz de utilizar tanto a ca-mada de transporte UDP para recebimento de pedidos de consultas de resolução de hosts/ip(ou vice-versa) com tamanho até 512 bytes, quanto o protocolo TCP caso o tamanho damensagem seja maior que 512 bytes. O protocolo TCP também é utilizado para troca deinformações de zonas com os servidores DNS vizinhos.

Novamente, alternativa errada.

(D) CORRETA

Embora na Internet cada máquina tenha um (ou mais) endereços IP, na verdade, eles nãopodem ser usados para transmitir pacotes, pois o hardware da camada de enlace de dadosnão reconhece endereços da Internet. Isto é, as placas de rede enviam e recebem quadroscom base em endereços Ethernet de 48 bits (endereço MAC), e nada sabem sobre endereçosIP de 32 bits.

Agora, surge a seguinte pergunta: De que forma os endereços IP são mapeados nos en-dereços da camada de enlace de dados, como é o caso dos endereços Ethernet? Para explicarcomo esse processo funciona, usaremos como exemplo uma rede Ethernet de classe C (ou /24)do departamento de Engenharia de Computação com o endereço IP 192.31.65.0. Suponha,ainda, que esta rede possua 5 hosts, cada qual com um endereço Ethernet exclusivo (E1 aE5).

No momento em que, por exemplo, um usuário no host 1 (IP 192.31.65.11) envia um pacotepara um usuário no host 2 (IP 192.31.65.12), o software da camada superior do host 1 con-strói um pacote com 192.31.65.12 no campo Destination address e o fornece ao software IPpara transmissão. O software IP pode examinar o endereço e constatar que o destino estáem sua própria rede, mas ele precisa encontrar de alguma forma o endereço Ethernet damáquina de destino. Uma solução é ter um arquivo de con�guração em algum lugar no sis-tema que faça o mapeamento de endereços IP em endereços Ethernet. Embora essa soluçãosem dúvida seja possível, no caso de organizações com milhares de máquinas, manter todosesses arquivos atualizados é uma tarefa demorada e propensa a erros.

Uma solução melhor seria o host 1 enviar um pacote de difusão para a Ethernet pergun-tando: A quem pertence o endereço IP 192.31.65.12? A difusão chegará a cada máquinada Ethernet 192.31.65.0, e cada uma delas veri�cará seu endereço IP. Somente o host 2responderá com seu endereço Ethernet (E2). Dessa forma, o host 1 descobrirá que o en-dereço IP 192.31.65.12 está no host que tem o endereço Ethernet E2. O protocolo usadopara fazer essa pergunta e receber a resposta é chamado ARP (Address Resolution Protocol).

Finalmente, após a resolução do endereço, o software IP do host 1 constrói um quadroEthernet endereçado a E2, coloca o pacote IP (endereçado a 192.31.65.5) no campo de cargaútil e o envia à Ethernet. A placa Ethernet do host 2 detecta esse quadro, reconhece-o como

Página 39 de 114www.handbookdeti.com.br

Page 41: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

um quadro destinado a ela, recolhe-o e causa uma interrupção. O driver Ethernet extraio pacote IP da carga útil e o repassa ao software IP, que veri�ca se ele está corretamenteendereçado, e depois o processa.

A vantagem do uso do ARP sobre os arquivos de con�guração é a simplicidade. O ad-ministrador do sistema não tem muito a fazer, a não ser atribuir um endereço IP a cadamáquina e tomar decisões em relação às máscaras de sub-rede. O ARP faz o resto.

Apenas a título de curiosidade, saiba que o protocolo RARP (Reverse ARP � ARP Re-verso) faz o trabalho contrário, como o nome já diz. Quando se deseja achar um endereçoIP de uma estação da qual se conhece o endereço de hardware (MAC), o protocolo RARPentra em ação.

Assim, concluímos que alternativa está correta.

(E) ERRADA

Protocolo inexistente. Obviamente, alternativa errada.

Página 40 de 114www.handbookdeti.com.br

Page 42: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

17. Assuntos relacionados: Redes de Computadores, HDLC, RSVP, SMTP, RTPC, SNMP,Banca: FCCInstituição: TRT 15a RegiãoCargo: Analista Judiciário - Tecnologia da InformaçãoAno: 2009Questão: 43

O protocolo padrão para transferência de correio entre hosts no conjunto de protocolosTCP/IP (de�nido na RFC 821) é o

(a). HDLC.

(b). RSVP.

(c). SMTP.

(d). RTPC.

(e). SNMP.

Solução:

Abordaremos cada alternativa a �m de solucionar a presente questão.

(A) ERRADA

O protocolo HDLC (High-Level Data Link Control) foi criado em 1979 pela ISO com oobjetivo de padronizar um protocolo orientado a bit para transmissão de dados síncronoshalf ou full-duplex, com con�guração ponto a ponto ou multiponto, em linhas comutadas oupermanentes. Este protocolo é utilizado no nível 2 (dois) do modelo OSI, nível de enlace dedados, e tem como principais características:

• protocolo orientado a bit;

• utilizado na recomendação X25;

• modo de operação síncrona;

• pode operar em modo de resposta assíncrona nas duas direções, com ambos ETD eECD desenvolvendo uma função primária e secundária;

• transmissão half-duplex e full-duplex ;

• suporta con�gurações ponto-a-ponto e multiponto;

• opera em linhas privadas ou discadas;

• transmissão de dados através de frames;

• transparência dos dados garantida pela técnica bit stu�ng ;

• utiliza o metodo de sliding window na transmissão;

• pode operar em três modos de resposta;

• protocolo orientado a conexão, contendo operações para:

� estabelecer conexão;� transmitir dados;� reinicializar conexão;� encerrar conexão.

Página 41 de 114www.handbookdeti.com.br

Page 43: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

Como este protocolo não condiz com o enunciado, a alternativa está errada.

(B) ERRADA

RSVP (ReSource reserVation Protocol � Protocolo de Reserva de Recursos) é um protocoloespecialmente desenvolvido para serviços integrados de Internet, pois permite que as própriasaplicações requeiram da rede reservas de recursos necessários para seus diversos serviços. Asnovas funções que foram implementadas neste protocolo tem dado a este uma �exibilidadee escalabilidade única comparado a protocolos convencionais de reserva de recursos. Esteprotocolo é utilizado por um host, em benefício do �uxo de dados de uma aplicação, pararequerer uma Internet deverá ser modi�cada para poder suportar uma Qualidade de Serviço(Quality of Service) especí�ca da rede. O protocolo RSVP é também utilizado por routers(roteadores) para entregar requisições de controle da QoS para todos os nós ao longo do(s)caminho(s) por onde os dados irão �uir, além de manter o estado da conexão para o serviçoque foi requisitado. As requisições RSVP geralmente irão resultar, embora não necessaria-mente, em reservas de recursos em cada nó ao longo da conexão.

Portanto, alternativa errada.

(C) CORRETA

Dentro da Internet, as mensagens de correio eletrônico são entregues quando a máquina deorigem estabelece uma conexão TCP com a porta 25 da máquina de destino. Um daemon decorreio eletrônico, que se comunica em SMTP (Simple Mail Transfer Protocol) permanecena escuta nessa porta. Esse daemon aceita as conexões recebidas e copia as mensagensque elas contêm para as caixas de correio apropriadas. Se uma mensagem não puder serentregue, um relatório de erros contendo a primeira parte da mensagem não entregue seráretornado ao remetente.

O SMTP foi de�nido pela RFC 2821 e trata-se de um protocolo ASCII muito simples queestá localizado na camada de aplicação do modelo OSI. Após estabelecer a conexão TCPcom a porta 25, a máquina de transmissão, operando como cliente, espera que a máquinade recepção, operando como servidor, comunique-se primeiro. O servidor começa enviandouma linha de texto que fornece sua identidade e informa que está preparado para recebermensagens. Caso não esteja, o cliente encerrará a conexão e tentará outra vez mais tarde.

Se o servidor estiver disposto a receber mensagens, o cliente anunciará de quem veio amensagem e para quem ela está indo. Se esse receptor existir no local de destino, o servidordará ao cliente o sinal para enviar a mensagem. Em seguida, o cliente enviará a mensagem eo servidor a con�rmará. Observe que não são necessários checksums porque o TCP forneceum �uxo de bytes con�ável. Se houver mais mensagens, elas serão enviadas. Quando todasas mensagens tiverem sido trocadas em ambos os sentidos, a conexão será encerrada.

Apesar do protocolo SMTP ser muito bem de�nido, ainda podem surgir alguns proble-mas. Um problema diz respeito ao tamanho das mensagens. Algumas implementações maisantigas não são capazes de lidar com mensagens maiores que 64 KB. Outro problema é cau-sado pelos timeouts. Se o cliente e o servidor tiverem diferentes timeouts, um deles poderádesistir enquanto o outro ainda estiver ocupado, encerrando a conexão inesperadamente.

Portanto, a alternativa está correta. (D) ERRADA

Página 42 de 114www.handbookdeti.com.br

Page 44: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

RTCP (Real-time Transport Control Protocol) cuida do feedback, da sincronização e dainterface do usuário, mas não transporta quaisquer dados. A primeira função pode serusada para fornecer feedback sobre retardo, �utuação, largura de banda, congestionamentoe outras propriedades de rede para as origens. Essas informações podem ser usadas peloprocesso de codi�cação para aumentar a taxa de dados (e oferecer melhor qualidade) quandoa rede estiver funcionamento bem e para reduzir a taxa de dados quando houver problemasna rede. Fornecendo feedback contínuo, os algoritmos de codi�cação podem ser adaptadoscontinuamente para oferecer a melhor qualidade possível sob as circunstâncias atuais. Porexemplo, se a largura de banda aumentar ou diminuir durante a transmissão, a codi�caçãopode passar de MP3 para PCM de 8 bits e para codi�cação delta, conforme necessário. Ocampo de tipo Payload type é usado para informar ao destino qual algoritmo de codi�caçãoserá empregado no pacote atual, tornando possível variar o algoritmo de acordo com a de-manda.

O RTCP também lida com a sincronização entre �uxos. O problema é que diferentes �uxospodem utilizar clocks distintos, com granularidades e taxas de �utuação diferentes. O RTCPpode ser usado para manter esses elementos sincronizados.

Finalmente, o RTCP fornece um modo para nomear as diversas origens (por exemplo, emtexto ASCII). Essas informações podem ser exibidas na tela do receptor, a �m de indicarquem está se comunicando no momento.

Logo, alternativa errada.

(E) ERRADA

O SNMP (Simple Network Management Protocol) foi especi�cado no RFC 1157. Trata-se deum protocolo de gerência de�nido a nível de aplicação, utilizado para obter informações deservidores SNMP (agentes espalhados em uma rede baseada na pilha de protocolos TCP/IP).Os dados são obtidos através de requisições de um gerente a um ou mais agentes utilizandoos serviços do protocolo de transporte UDP (User Datagram Protocol) para enviar e recebersuas mensagens através da rede.

O gerenciamento da rede através do SNMP permite o acompanhamento simples e fácil doestado (tráfego, percentagem de processamento, estados das portas de roteadores) em temporeal, podendo ser utilizado para gerenciar diferentes tipos de sistemas. Este gerenciamentoé conhecido como modelo de gerenciamento SNMP, ou simplesmente, gerenciamento SNMP.Portanto, o SNMP é o nome do protocolo no qual as informações são trocadas entre a MIB(Management Information Base)e a aplicação de gerência como também é o nome destemodelo de gerência.

O funcionamento do SNMP é baseado em dois dispositivos: o agente e o gerente. Cadamáquina gerenciada é vista como um conjunto de variáveis que representam informaçõesreferentes ao seu estado atual, estas informações �cam disponíveis ao gerente através deconsulta e podem ser alteradas por ele. Cada máquina gerenciada pelo SNMP deve possuirum agente e uma base de informações MIB.

Assim, alternativa errada.

Página 43 de 114www.handbookdeti.com.br

Page 45: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

18. Assuntos relacionados: Gerenciamento de Projetos, Método do Diagrama de Precedência(MDP),Banca: FCCInstituição: TRT 15a RegiãoCargo: Analista Judiciário - Tecnologia da InformaçãoAno: 2009Questão: 47

Os tipos de dependências ou de relações de precedência incluídos no MDP - Método doDiagrama de Precedência são em número de

(a). 1.

(b). 2.

(c). 3.

(d). 4.

(e). 5.

Solução:

O MDP (Método do Diagrama de Precedência) é um método de construção de diagramasde rede de cronograma do projeto. Esse diagrama usa retângulos, chamados de nós, pararepresentar as atividades, que são conectadas através de setas. Tais setas são utilizadas paramostrar as dependências entre os nós conectados. A Figura 3 apresenta um MDP, comoexemplo, de um projeto relativamente simples.

Figura 3: exemplo de MDP.

Nesse tipo de diagrama, existem 4 tipos de relações dependência:

• Término para Início: a iniciação da atividade sucessora depende do término daatividade predecessora. Este é o tipo mais comum;

• Término para Término: o término da atividade sucessora depende do término daatividade predecessora;

• Início para Início: a iniciação da atividade sucessora depende da iniciação da ativi-dade predecessora;

• Início para Término: o término da atividade sucessora depende da iniciação daatividade predecessora.

Portanto, é a alternativa D a correta.

Página 44 de 114www.handbookdeti.com.br

Page 46: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

19. Assuntos relacionados: Java, Bytecode, Máquina Virtual Java (JVM),Banca: FCCInstituição: TRT 15a RegiãoCargo: Analista Judiciário - Tecnologia da InformaçãoAno: 2009Questão: 48

No âmbito da linguagem Java, considere:

I. Edição é a criação do programa, que também é chamado de código Bytecode.

II. Compilação é a geração de um código intermediário chamado fonte, que é um códigoindependente de plataforma.

III. Na interpretação, a máquina virtual Java ou JVM analisa e executa cada instrução docódigo Bytecode.

IV. Na linguagem Java a interpretação ocorre apenas uma vez e a compilação ocorre a cadavez que o programa é executado.

Está correto o que consta em

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

(b). II e IV, somente.

(c). III e IV, somente.

(d). IV, somente.

(e). III, somente.

Solução:

Java é uma linguagem de programação muito popular atualmente. Ela foi desenvolvidana década de 90 pela SUN Microsystems e desde aquela época essa linguagem vem sendomelhorada e ampliada. O paradigma escolhido para o Java foi o de orientação a objetos,portanto, classes e métodos são utilizados para modelar o que se deseja programar.

Em geral, os códigos-fonte desenvolvidos em outras linguagens (C++, por exemplo) sãocompilados para serem executados em arquiteturas especí�cas. Dessa forma, executáveisgerados para uma determinada arquitetura (Intel, por exemplo) não funcionam em outrasarquiteturas (PowerPC e SPARC, por exemplo). À medida que temos diversas arquiteturase diversos sistemas que devem ser corretamente executados nessas arquiteturas, essa abor-dagem começa a se mostrar desfavorável.

A plataforma Java veio principalmente para solucionar esse tipo de problema. Diz-se entãoque a linguagem Java é portável, já que seus executáveis podem ser executados em qualquerarquitetura, desde que haja uma JVM para ela. De forma simpli�cada, essa portabilidadeé obtida da seguinte forma:

1. o desenvolvedor escreve (edita) o código-fonte de um sistema na linguagem Java;

2. ao �nal da fase de desenvolvimento, o código-fonte é compilado, uma única vez, gerando-se um código intermediário chamado de bytecode. Esse bytecode não depende da ar-quitetura da máquina física. Isso porque a máquina física não executa diretamente essecódigo intermediário;

Página 45 de 114www.handbookdeti.com.br

Page 47: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

3. uma JVM, que pode estar instalada sobre qualquer arquitetura física, interpreta e exe-cuta o código intermediário (bytecode) quantas vezes forem as vezes em que o sistemafor executado.

Perceba que com o Java não há mais dependência entre código-fonte e arquitetura física,mas passamos a ter dependência entre JVM e arquitetura física. Ou seja, foi adicionadauma camada (a JVM) para se obter a tão desejada portabilidade.

Neste ponto, podemos concluir que os itens I, II e IV são errados e o item III é correto.Portanto, a alternativa a ser marcada é a letra E.

Note que os itens I, II e IV só são errados por conta de trocas de palavras. Uma leituradesatenta provavelmente comprometeria esta questão. Vejamos:

• o item I estaria correto se a palavra �Bytecode� fosse substituída por �fonte�;

• o item II estaria correto se a palavra �fonte� fosse substituída por �Bytecode�;

• o item IV estaria correto se as palavras �interpretação� e �compilação� fossem invertidas.

Página 46 de 114www.handbookdeti.com.br

Page 48: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

20. Assuntos relacionados: Metodologia de Desenvolvimento de Software, Extreme Program-ming (XP), Scrum, DSDM, MVC,Banca: FCCInstituição: TRT 15a RegiãoCargo: Analista Judiciário - Tecnologia da InformaçãoAno: 2009Questão: 52

Histórias de usuários na atividade de planejamento, encorajamento de uso de cartões CRCe de refabricação, reuniões em pé e programação em pares são características típicas domodelo de processo de software

(a). XP.

(b). SCRUM.

(c). DSDM.

(d). DAS.

(e). MVC.

Solução:

(A) CORRETA

A metodologia XP (Extreme Programming) é destinada a grupos pequenos de desenvolvi-mento, e em projetos de duração de até 36 meses. Suas principais características são:

• metáforas: utilização de comparações e analogias para facilitar entendimento;

• design simples do sistema;

• testes automatizados: testes de unidade e de aceitação;

• refabricação: todo desenvolvedor tem o dever de melhorar um código que esteja fun-cionado porém está mal escrito;

• programação de dupla: todo código deve ser implementado em dupla;

• reuniões curtas e em pé;

• semana de 40 horas: ao se trabalhar a mais se obtém resultados no início, mas com opassar do tempo surge desgaste;

• integração contínua: eliminar erros graves de integração;

• releases curtos: release é um conjunto de funcionalidades bem de�nidas e que repre-sentam algum valor para o cliente. Um projeto XP pode ter uma ou mais releases noseu ciclo;

• CRC: linguagem para modelagem de classes do XP que utiliza os story cards (cartõesescritos pelos usuários onde são descritas funcionalidades do sistema).

Como se pode perceber acima, é esse o modelo de processo de software que possui as carac-terísticas mencionadas no enunciado. Portanto, esta é a alternativa correta.

(B) ERRADA

Scrum é um processo para construir software de forma incremental em ambientes com-plexos, onde os requisitos não são claros ou mudam com muita frequência. A metodologia ébaseada em princípios semelhantes aos de XP. As principais são:

Página 47 de 114www.handbookdeti.com.br

Page 49: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

• equipes pequenas, multidisciplinares e auto-organizadas;

• requisitos pouco estáveis ou desconhecidos;

• iterações curtas (sprints) que seguem o ciclo PDCA e entregam incrementos de softwareprontos;

• reuniões diárias e curtas geralmente realizadas em pé;

• Scrum Master: membro que tem como função primária remover qualquer impedimentoà habilidade de uma equipe de entregar o objetivo do sprint. O Scrum Master não é olíder da equipe (já que as equipes são auto-organizadas), mas atua como um mediadorentre a equipe e qualquer in�uência desestabilizadora.

Muito embora Scrum e XP sejam complementares, pois Scrum provê práticas ágeis de geren-ciamento enquanto XP provê práticas integradas de engenharia de software, e tenham algu-mas características em comum, nem todas as características apresentadas no enunciado sãoassociadas ao Scrum. Portanto, esta alternativa não está correta.

(C) ERRADA

DSDM (Dynamic Systems Development Method) é progenitor do XP. Ele é um arcabouçopara desenvolvimento rápido de aplicações (RAD). Suas principais particularidades são:

• projetos são divididos em 3 fases: pré-projeto, ciclo de vida e pós-projeto;

• a fase ciclo de vida é subdividida em 5 estágios: análise de viabilidade; análise de negó-cio; iteração do modelo funcional; iteração de elaboração e construção; e implantação;

• há 9 princípios nesse método de desenvolvimento:

� alto envolvimento do usuário durante o desenvolvimento;� autonomia da equipe em relação a decisões;� foco em entregas incrementais frequentes;� o critério principal de e�cácia é em relação a utilidade da entrega para o negócio,e não necessariamente com relação a aderência às especi�cações;

� feedbacks de usuários são considerados a cada iteração;� todas as alterações são reversíveis;� o escopo e requisitos de alto nível são especi�cados antes do início do projeto;� testes são tratados fora do ciclo de vida do projeto;� comunicação constante e de qualidade durante todo o projeto.

Como se pode notar, o DSDM não apresenta as características em questão. Ou seja, estaalternativa está errada.

(D) ERRADA

A princípio, DAS não se refere a nenhum modelo de processo de software conhecido. Porisso, conclui-se que esta não é a alternativa correta.

Fora do âmbito de modelos de processo de desenvolvimento de software, DAS se refere aDirect-Attached Storage, uma tecnologia de armazenamento de dados em que o dispositivode armazenamento é interligado diretamente à máquina detentora dos dados. Ou seja, nãohá nenhuma estrutura de rede entre o �dono� do dados e o dispositivo de armazenamento.Os principais protocolos utilizados nesse tipo de storage são: ATA, SATA, SCSI, SAS e

Página 48 de 114www.handbookdeti.com.br

Page 50: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

Fibre Channel.

(E) ERRADA

MVC (Model-view-controller) não é um modelo de processo de software. Portanto, estaalternativa está errada.

MVC é um padrão de arquitetura de software utilizado para separar dados ou lógica denegócios (Model) da interface do usuário (View) e do �uxo da aplicação (Control). Suaideia central é permitir que uma mesma lógica de negócio possa ser acessada e visualizadaatravés de várias interfaces. Outro benefício considerável dessa abordagem é que alteraçõesfeitas no layout não afetam a manipulação de dados.

Página 49 de 114www.handbookdeti.com.br

Page 51: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

21. Assuntos relacionados: UML, Diagrama de Objetos, Diagrama de Atividades, Diagramade Comunicação, Diagrama de Sequência, Diagrama de Tempo,Banca: FCCInstituição: TRT 15a RegiãoCargo: Analista Judiciário - Tecnologia da InformaçãoAno: 2009Questão: 55

Cobre um conjunto de instâncias dos itens encontrados nos diagramas de classe, expressaa parte estática de uma interação composta pelos objetos que colaboram entre si, mas semqualquer uma das mensagens passadas entre eles e, também, congela um momento no tempo.Na UML, trata-se do diagrama de

(a). atividade.

(b). comunicação.

(c). sequência.

(d). tempo.

(e). objetos.

Solução:

A UML (Uni�ed Modeling Language) é uma linguagem não-proprietária que permite mod-elagem de sistemas por meio de diagramas padronizados. Ela especi�ca tanto o signi�cadográ�co quanto semântico de cada diagrama. A versão 2.0 da UML contempla os seguintesdiagramas:

• Diagramas Estruturais

� Diagrama de Classes� Diagrama de Objetos� Diagrama de Componentes� Diagrama de Instalação� Diagrama de Pacotes� Diagrama de Estrutura

• Diagramas Comportamentais

� Diagrama de Caso de Uso� Diagrama de Transição de Estados� Diagrama de Atividade

• Diagramas de Interação

� Diagrama de Sequência� Diagrama de Interatividade� Diagrama de Colaboração ou Comunicação� Diagrama de Tempo

Para se obter, com segurança, a alternativa correta, é importante conhecer cada um dosquatro diagramas apresentados como alternativas.

(A) Diagrama de Atividade

Página 50 de 114www.handbookdeti.com.br

Page 52: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

Um diagrama de atividades é um diagrama de estado em que todos ou a grande maio-ria dos estados representam execuções de ações (atividades internas ao sistema). Portanto,ele é um grá�co de �uxo que evidencia os controles e as execuções das atividades. Seus prin-cipais elementos são: início (círculo preenchido); estado ou atividade (retângulo com bordasarredondadas); transição (seta); decisão ou desvio (losango - uma entrada e mais de umasaída); intercalação ou merge (losango - mais de uma entrada e uma saída); separação oufork (barra horizontal - uma entrada e mais de uma saída) e junção ou join (barra horizontal- mais de uma entrada e uma saída). Claramente este tipo de diagrama não se encaixa aoper�l descrito no enunciado. Portanto, esta não é a alternativa correta.

(B) Diagrama de Comunicação

Até a versão 1.5 da UML, este tinha o nome de diagrama de colaboração. Ele apresenta asinterações existentes entre objetos em uma situação especí�ca. Ele é um pouco similar aodiagrama de sequência. Enquanto um diagrama de comunicação apresenta mais claramentequais objetos se relacionam entre si, um diagrama de sequência enfatiza como as interaçõesentre objetos ocorrem ao longo do tempo. Não é difícil concluir também que este tipo dediagrama também não se encaixa ao per�l descrito no enunciado. Ou seja, esta não é aalternativa buscada.

(C) Diagrama de Sequência

Como explicado no item anterior, um diagrama de sequência é similar ao de comunicação.Seu principal objetivo é descrever a sequência ao longo do tempo das comunicações entreobjetos. A ênfase temporal é obtida com a linha de tempo vertical que está sempre presenteneste tipo de diagrama. Assim como o diagrama de comunicação, o diagrama de sequência éum tipo de diagrama de interação. Ou seja eles descrevem trocas de mensagens em situaçõesdinâmicas. Esse fato já bastaria para concluirmos que essa não é a alternativa correta.

(D) Diagrama de Tempo

Este diagrama pode ser entendido como uma fusão entre o diagrama de sequência e o deestado. Ele apresenta o comportamento dos objetos e suas interações em uma escala detempo, juntamente com as mensagens que modi�cam os estados desses objetos. Como opróprio nome do diagrama sugere, ele não expressa parte estática alguma. Por isso, �caclaro que essa também não é a alternativa certa.

(E) Diagrama de Objetos

Dentre os quatro diagramas apresentados como alternativas, este é o único estrutural. Semdúvida, este fator é o atalho para a resolução consciente desta questão. Enquanto os diagra-mas estruturais modelam o sistema, ou parte dele, do ponto de vista estático, os diagramascomportamentais e de interação o fazem com ênfase à dinâmica envolvida.

O diagrama de objetos é muito similar ao diagrama de classes. Os dois seguem praticamentea mesma notação. A principal diferença é que em um diagrama de objetos, os atributos dosobjetos possuem valores. Isso acontece porque ele evidencia o estado de um sistema emum determinado ponto do tempo. De forma simpli�cada, podemos entender o diagrama deobjetos como uma instância do diagrama de classes. Por este diagrama apresentar todas ascaracterísticas do enunciado, esta é a alternativa correta.

Página 51 de 114www.handbookdeti.com.br

Page 53: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

22. Assuntos relacionados: UML, Diagrama de Comunicação, Diagrama de Sequência,Banca: FCCInstituição: TRT 15a RegiãoCargo: Analista Judiciário - Tecnologia da InformaçãoAno: 2009Questão: 56

Duas características distinguem os diagramas de sequência dos de comunicação:

(a). linha do tempo de comunicação e mensagem.

(b). linha de vida do objeto e mensagem.

(c). linha de vida do objeto e foco de controle.

(d). linha de vida da mensagem e bifurcação.

(e). linha de vida da classe e nós de comunicação.

Solução:

Ambos os diagramas envolvidos nesta questão são ferramentas da UML (Uni�ed ModelingLanguage). Tanto um quanto o outro, se propõem a revelar as interações entre objetos.Por isso eles são classi�cados como diagramas de interação. Apesar dos seus objetivos �naisapontarem na mesma direção, cada diagrama apresenta uma ênfase diferente. Fundamental-mente, um diagrama de sequência é utilizado para evidenciar a cronologia entre as interações(trocas de mensagem) entre os objetos. Já um diagrama de comunicação é utilizado paraenfatizar quais objetos se comunicam com quais, sem a informação cronológica das trocasde mensagens.

Uma boa estratégia para resolvermos esta questão é a de eliminação.

(A) e (B) ERRADAS

�Mensagem� não é uma característica que distingue os dois diagramas. Isso porque am-bos trazem a informação de quais objetos trocam mensagens com quais objetos, cada umao seu próprio estilo. Portanto, podemos eliminar estas duas alternativas.

(D) ERRADA

�Bifurcação�, apesar de não ser a melhor tradução, se refere ao controle de execução fork(separação - não necessariamente em dois) do diagrama de atividade. Como essa não é umacaracterística de nenhum dos dois diagramas à prova, ela não oferece nenhuma distinçãoentre esses diagramas. Isso já basta para eliminarmos esta alternativa.

(E) ERRADA

Nenhum dos dois diagramas tem a característica �linha de vida da classe�. Por conta disso,não se pode dizer que tal característica distingue os tipos de diagrama em questão. Portanto,eliminamos também esta alternativa. OBS: �linha de vida do objeto� sim é uma caracterís-tica do diagrama de sequência que não aparece no diagrama de comunicação. Não confundaobjeto com classe!

Por eliminação, concluímos que a alternativa correta é a letra c.

Página 52 de 114www.handbookdeti.com.br

Page 54: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

23. Assuntos relacionados: UML, Diagrama de Sequência, Operadores de Controle Estrutu-rados,Banca: FCCInstituição: TRT 15a RegiãoCargo: Analista Judiciário - Tecnologia da InformaçãoAno: 2009Questão: 57

Os operadores de controle estruturados, aplicados aos diagramas de sequência (região retan-gular que circunscreve o diagrama e que serve para mostrar modos de execução), NÃO têmo objetivo de mostrar execução

(a). iterativa.

(b). condicional.

(c). paralela.

(d). opcional.

(e). comunicacional.

Solução:

O diagrama de sequência é uma das principais ferramentas da UML (Uni�ed ModelingLanguage). Como o próprio enunciado desta questão sugere, esse tipo de diagrama podeconter operadores de controle estruturados que servem para evidenciar modos de execuçãodentro do diagrama. Esses operadores são representados por tags e retângulos que delimitamsuas coberturas. Veja um exemplo na Figura 4.

Figura 4: exemplo de operadores de controle estruturados.

Em resumo, os tipos de operadores de controle são:

• Execução Opcional (tag opt): o corpo do operador (área interna ao retângulo)somente é executado se uma condição de proteção for verdadeira. Essa condição é umaexpressão booleana que pode aparecer entre colchetes acima de qualquer linha de vidano corpo;

• Execução Condicional (tag alt): o corpo do operador é subdividido por linhashorizontais tracejadas. Cada subdivisão tem uma condição de proteção. O corpo deuma subdivisão somente é executado se a sua condição for verdadeira;

Página 53 de 114www.handbookdeti.com.br

Page 55: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

• Execução Paralela (tag par): o corpo do operador também é subdividido por linhashorizontais tracejadas. Todas as subdivisões são executadas em paralelo;

• Execução Iterativa (tag loop): o corpo do operador é executado enquanto a condiçãode proteção, que aparece na parte superior de uma linha de vida no corpo, for ver-dadeira;

• Quebra (tag break): ele representa uma �quebra� na execução do processo. Porconta disso, ele é especialmente utilizado para modelar tratamentos de exceções;

• Região Crítica (tag critical): ele identi�ca uma operação atômica, ou seja, aquelaque não pode ser interrompida.

Pelo o exposto, é fácil concluir que a única alternativa que traz um tipo de execução NÃOcoberto pelos operadores de controle estruturados dos diagramas de sequência é a letra e.

Página 54 de 114www.handbookdeti.com.br

Page 56: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

24. Assuntos relacionados: MER, DER, Entidade Associativa, Entidade Fraca,Banca: FCCInstituição: TRT 15a RegiãoCargo: Analista Judiciário - Tecnologia da InformaçãoAno: 2009Questão: 58

Considere:

I Um relacionamento do tipo �material compõe material�.

II Um relacionamento que necessita ser relacionado a outro relacionamento.

III Entidade cuja vida depende de outra.

No MER, I, II e III são, respectivamente, representados por:

(a). entidade associativa, auto relacionamento e entidade fraca.

(b). entidade associativa, entidade fraca e auto relacionamento.

(c). auto relacionamento, entidade fraca e entidade associativa.

(d). auto relacionamento, entidade associativa e entidade fraca.

(e). entidade fraca, entidade associativa e auto relacionamento.

Solução:

MER é o acrônimo de Modelo Entidade-Relacionamento. Ele é um modelo conceitual dealto-nível projetado para ser compreensível também pelos demandantes dos sistemas mode-lados. A principal ferramenta desse modelo é o DER (Diagrama Entidade-Relacionamento).Esse diagrama é utilizado para apresentar gra�camente a modelagem elaborada pelo pro-jetista. Atualmente não há uma única notação padrão de DER adotada pelo mercado.Contudo, todas elas são similares. Algumas delas foram propostas por Peter Chen, Bach-man e James Martin.

São abordados abaixo, cada um dos três conceitos relacionados a MER que aparecem nasalternativas.

• entidade associativa: é uma entidade de�nida a partir da simpli�cação de um rela-cionamento do tipo N:M (muitos-para-muitos) entre duas ou mais entidades. Sua chaveprimária sempre é composta, no mínimo, pelas chaves primárias das entidades que par-ticipam do relacionamento. Imagine um relacionamento �vende�, do tipo 1:N (um-para-muitos), entre as entidades PEDIDO e PRODUTO. Ou seja, um PEDIDO vende NPRODUTOS. Pode-se ter uma entidade associativa ITEM_DE_PEDIDO que teria achave primária composta pelas chaves primárias das entidades PEDIDO e PRODUTO.Poderia ser, por exemplo, �número do pedido� e �código do produto�. Perceba que oprincipal interesse em se criar entidades associativas se deve ao fato delas possuírematributos que nem sempre fazem sentido nas entidades geradoras. Esse é o caso dosatributos �quantidade� e �desconto�, que podem ser modelados para se relacionarem di-retamente apenas com a entidade associativa ITEM_DE_PEDIDO. Perceba tambémque é o item II que representa o signi�cado de entidade associativa;

• auto relacionamento: é um caso especial de entidade em que ela se relaciona comsi mesma. Elas não são muito comuns, mas em alguns casos elas se mostram bastanteúteis para a modelagem desejada do sistema. Um exemplo típico é o relacionamento�supervisiona� e a entidade EMPREGADO. Ou seja, um EMPREGADO supervisiona

Página 55 de 114www.handbookdeti.com.br

Page 57: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

N EMPREGADOS. É fácil perceber que o item I traz outro exemplo de auto relaciona-mento;

• entidade fraca: é justamente de�nida pelo item III. Um bom exemplo de entidadefraca é a entidade DEPENDENTE. Em um relacionamento �depende de�, a existênciada entidade DEPENDENTE é condicionada a existência da entidade EMPREGADO.Nesse caso, EMPREGADO é a entidade forte.

Tendo em vista o exposto, podemos concluir que a alternativa correta é a letra d.

Página 56 de 114www.handbookdeti.com.br

Page 58: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

25. Assuntos relacionados: CMMI, Plano de Gerenciamento de Con�guração, RUP,Banca: FCCInstituição: TRT 16a RegiãoCargo: Analista Judiciário - Tecnologia da InformaçãoAno: 2009Questão: 21

Todas as atividades da disciplina Gerenciamento de Controle de Con�guração e Mudança,que serão executadas durante o ciclo de vida do produto ou do projeto, devem ser descritasno artefato

(a). Registro da Auditoria de Con�guração.

(b). Cronograma de Atividades.

(c). Plano de Gerenciamento de Con�guração.

(d). Itens de Con�guração.

(e). Repositório do Projeto.

Solução:

De acordo com o Modelo de Maturidade de Capacidade (CMM) do Software EngineeringInstitute (SEI), o Gerenciamento de Con�guração e de Solicitações de Mudança controlamudanças feitas nos artefatos de um projeto e mantém a integridade deles.

Os produtos de trabalho colocados sob gerenciamento de con�gurações incluem os produtosque são entregues ao cliente, produtos de trabalho internos de�nidos, produtos adquiridos,ferramentas e outros itens que são utilizados na criação e descrição destes produtos de tra-balho. Um Sistema de CM é interessante para gerenciar diversas variantes de sistemas desoftware em desenvolvimento, controlando as versões que são usadas.

Um Sistema de CM é fundamental para controlar os inúmeros artefatos produzidos pelasmuitas pessoas que trabalham em um mesmo projeto. O controle ajuda a evitar confusõesdispendiosas e garante que os artefatos resultantes não entrem em con�ito.

Podemos de�nir os baselines de con�gurações como as informações de con�gurações formal-mente projetadas em um momento especí�co durante a vida de um produto ou componentede produto. Já os itens de con�guração, que foram citados na alternativa D da questão, sãouma agregação de produtos de trabalho que é atribuída para o gerenciamento de con�gu-rações e tratada como uma entidade única no processo de gerenciamento de con�gurações.

O Gerenciamento de Con�guração e de Solicitações de Mudança (CM e CRM) envolve:

• a identi�cação dos itens de con�guração;

• a restrição de mudanças nesses itens;

• a auditoria das mudanças feitas nesses itens;

• a de�nição e o gerenciamento das con�gurações desses itens.

Em relação à alternativa A, o Registro da Auditoria de Con�guração identi�ca uma baseline,qualquer artefato necessário ausente e requisitos reprovados ou testados de forma incompleta.

Já na alternativa C, podemos de�nir que o Plano de Gerenciamento de Con�guração (CM)descreve todas as atividades do Gerenciamento de Controle de Con�guração e Mudança

Página 57 de 114www.handbookdeti.com.br

Page 59: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

(CCM) que serão executadas durante o ciclo de vida do produto ou do projeto. Ele detalhao cronograma de atividades, as responsabilidades atribuídas e os recursos necessários, comoequipes, ferramentas e computadores. Logo, a alternativa C é a alternativa a ser marcada.

Em relação à alternativa E, pode ser dito que o repositório do projeto armazena todasas versões de diretórios e arquivos do projeto. Ele também armazena todos os dados emetadados derivados que estejam associados a esses diretórios e arquivos.

Página 58 de 114www.handbookdeti.com.br

Page 60: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

26. Assuntos relacionados: CMM, Controle Integrado de Mudanças, RUP,Banca: FCCInstituição: TRT 16a RegiãoCargo: Analista Judiciário - Tecnologia da InformaçãoAno: 2009Questão: 22

Os métodos, processos e ferramentas utilizados para gerenciamento de con�guração e mu-dança de uma organização NÃO envolvem a

(a). auditoria das mudanças feitas nesses itens.

(b). de�nição e gerenciamento das con�gurações desses itens.

(c). identi�cação dos itens de con�guração.

(d). restrição de mudanças nesses itens.

(e). realização dos requisitos e critérios desses itens.

Solução:

Os métodos, os processos e as ferramentas utilizados para o gerenciamento de con�guração emudança de uma organização podem ser considerados como o Sistema de CM da organização.

De acordo com o Modelo de Maturidade de Capacidade (CMM) do Software EngineeringInstitute (SEI), o Gerenciamento de Con�guração e de Solicitações de Mudança envolve:

• a identi�cação dos itens de con�guração;

• a restrição de mudanças nesses itens;

• a auditoria das mudanças feitas nesses itens;

• a de�nição e o gerenciamento das con�gurações desses itens.

Dada uma de�nição tão clara e condizente com o enunciado da questão, podemos dizer quealternativa a ser marcada, por eliminação, é a letra E. Além disso, o sistema de CM não éresponsável pela realização dos requisitos do projeto.

O Sistema de Gerenciamento de Con�guração e Solicitações de Mudança (Sistema de CM)de uma organização contém informações-chave sobre os processos de desenvolvimento, pro-moção, implantação e manutenção de produtos da organização e armazena a base de ativosde artefatos potencialmente reutilizáveis resultantes da execução desses processos.

O Sistema de CM é parte fundamental e integrante dos processos gerais de desenvolvimento.

Página 59 de 114www.handbookdeti.com.br

Page 61: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

27. Assuntos relacionados: CMMI, RUP, Itens de Con�guração, Baseline,Banca: FCCInstituição: TRT 16a RegiãoCargo: Analista Judiciário - Tecnologia da InformaçãoAno: 2009Questão: 23

Sobre uma baseline dos itens de con�guração, analise:

I. Trata-se de uma 'imagem' de uma versão de cada artefato no repositório do projeto.

II. A baseline funciona como um padrão o�cial básico para os trabalhos subsequentes.

III. Depois do estabelecimento da baseline inicial, nenhuma mudança pode ser feita.

Está correto o que se a�rma em

(a). II e III, apenas.

(b). I e II, apenas.

(c). I, II e III.

(d). I, apenas.

(e). II, apenas.

Solução:

Em cada fase do processo de desenvolvimento, um conjunto bem de�nido de itens de con-�guração deve ser estabelecido. Tal conjunto representa um estágio do desenvolvimento, oqual é passível de modi�cações apenas mediante um mecanismo formal de alterações. A esteconjunto é dado o nome de Baselines, ou Con�gurações Base do sistema. Ou seja, as infor-mações de con�gurações formalmente projetadas em um momento especí�co durante a vidade um produto ou componente de produto são conhecidas como baselines de con�gurações.Essa de�nição coincide com a a�rmativa I, que é verdadeira.

As baselines de con�gurações mais as mudanças aprovadas a estas baselines, constituemas informações atuais de con�gurações. Logo, a baseline pode ser de�nida como um padrãobásico que pode ser modi�cado para resultar em con�gurações diferentes das inicialmentede�nidas. Logo, a a�rmativa II é correta e a a�rmativa III é incorreta. Por conseguinte, aalternativa a ser marcada é a letra B.

Em princípio, baselines poderiam ser estabelecidas em qualquer ponto do desenvolvimento.Entretanto, a grande vantagem do conceito está em se fazer coincidir o estabelecimento debaselines com os �nais de fase do ciclo de vida do produto.

O desenvolvimento com con�gurações base pode, então, ser resumido nos seguintes pon-tos:

• caracterização do ciclo de vida, identi�cando-se as fases pelas quais o desenvolvimentodo software irá passar e, dentro delas, as atividades a serem realizadas e os produtos aserem desenvolvidos;

• de�nição do conjunto de baselines. Para cada baseline planejada, deve-se estabelecerquais serão os itens de con�guração que a irão compor e quais as condições impostaspara seu estabelecimento;

Página 60 de 114www.handbookdeti.com.br

Page 62: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

• baselines representam marcos no processo de desenvolvimento: uma nova baseline éestabelecida no �nal de cada fase do ciclo de vida do software;

• durante cada fase, o desenvolvimento dos ICs a ela referentes está sob total controle deseus desenvolvedores, e realiza-se com ampla liberdade, podendo os ICs serem criadose modi�cados com bastante facilidade;

• durante cada fase, entretanto, a modi�cação de uma con�guração-base anteriormenteestabelecida somente pode ser feita de forma controlada, mediante um processo bemde�nido;

• ao ser estabelecida, cada baseline incorpora integralmente a anterior. Desta forma,em qualquer instante do desenvolvimento, a última baseline estabelecida representa oestado atual do desenvolvimento como um todo;

• o estabelecimento de cada baseline somente é realizado após ser aprovada por proced-imentos de consistência interna, veri�cação e validação.

Desta forma, é possível ter um controle sistemático sobre todos os itens de con�guraçãoabordados em cada fase do ciclo de vida do software, assim como é possível avaliar maisfacilmente o seu grau de evolução.

Página 61 de 114www.handbookdeti.com.br

Page 63: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

28. Assuntos relacionados: Oracle, SQL,Banca: FCCInstituição: TRT 16a RegiãoCargo: Analista Judiciário - Tecnologia da InformaçãoAno: 2009Questão: 25

Os programas PL/SQL são constituídos por blocos que executam operações lógicas e cadabloco tem três partes que de�nem as:

I. declarações de variáveis e itens.

II. instruções procedurais e SQL.

III. instruções de tratamento de erros.

No bloco é obrigatória a presença da seção que se a�rma em

(a). I e II, apenas.

(b). II e III, apenas.

(c). I, II e III

(d). I, apenas.

(e). II, apenas.

Solução:

A linguagem PL/SQL é uma linguagem procedural da Oracle. Ela é uma extensão da lin-guagem SQL padrão. Ela serve para criar programas complexos e poderosos, não só para obanco de dados, mas também em diversas ferramentas Oracle.

Os blocos de PL/SQL são processados por um uma PL/SQL Engine, que �ltra os comandosSQL e os manda individualmente para o SQL Statement Executor no Oracle Server.

A unidade básica de um programa PL/SQL é um bloco, que possui a seguinte estrutura:

DECLARE

Seção para declaração de variáveis, tipos e subprogramas locais.

BEGIN

Seção executável. Nesta seção, �cam as instruções procedurais e SQL. Esta é a única seçãodo bloco que é indispensável e obrigatória.

EXCEPTION

Seção onde �cam as instruções de tratamento de erro.

Por de�nição, apenas a seção executável é requerida. As outras seções são opcionais. Logo,somente a a�rmativa II está correta e alternativa a ser marcada é a letra E.

Aprofundando mais na linguagem, podemos dizer que as únicas instruções SQL que sãopermitidas em um programa PL/SQL são SELECT, INSERT, UPDATE, DELETE e várias

Página 62 de 114www.handbookdeti.com.br

Page 64: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

outras instruções de manipulação de dados e de controle de transação. Além disso, PL/SQLnão é caso sensitivo, ou seja, não diferencia maiúsculas de minúsculas.

Instruções de de�nição de dados como CREATE, DROP ou ALTER não são permitidas. Aseção executável, citada anteriormente, também contém construções tais como atribuições,desvios, loops, chamadas a procedimentos e triggers. A capacidade de usar laços(loops) éuma das principais diferenças entre SQL e PL/SQL.

A instrução SELECT no PL/SQL funciona apenas se o resultado da consulta contém umaúnica tupla. Se a consulta retorna mais do que uma tupla, será necessário usar um cursor.Um cursor é uma variável que itera sobre as tuplas de alguma relação. Essa relação podeser uma tabela armazenada ou pode ser a resposta para alguma consulta.

En�m, a linguagem PL/SQL possui mais recursos que o padrão e visa fornecer mais �exibil-idade e aproveita o poder das linguagens procedurais para o desenvolvimento de programascomplexos que envolvam acesso ao banco de dados Oracle.

Página 63 de 114www.handbookdeti.com.br

Page 65: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

29. Assuntos relacionados: Redes de Computadores, Endereçamento IP,Banca: FCCInstituição: TRT 16a RegiãoCargo: Analista Judiciário - Tecnologia da InformaçãoAno: 2009Questão: 26

Os roteadores decidem as rotas que serão seguidas baseados na porção

(a). de rede do endereço IP.

(b). de host do endereço IP.

(c). dinâmica do endereço IP.

(d). estática do endereço IP.

(e). de classes do endereço IP.

Solução:

É necessário esclarecer as diferenças entre um hub, um switch e um roteador.

O hub ou concentrador é um dispositivo que tem a função de interligar os computadoresde uma rede local. Sua forma de trabalho é a mais simples se comparado ao switch e aoroteador: ele trabalha na camada física do modelo OSI e, apesar de sua topologia físicaser em estrela, a lógica é comparada a uma topologia em barramento. Além disso, o hubtrabalha em broadcast, ou seja, envia a mesma informação dentro de uma rede para todasas máquinas interligadas. O hub somente é indicado para redes com poucos terminais.

O switch ou comutador é um aparelho muito semelhante ao hub, mas segmenta a rede in-ternamente, pois cada porta corresponde a um domínio de colisão diferente, o que signi�caque não haverá colisões entre pacotes de segmentos diferentes. O switch acaba criando umaespécie de canal de comunicação exclusiva entre a origem e o destino. Também por esse fato,o desempenho do switch é superior. Um switch opera na camada 2 (camada de enlace) domodelo OSI, entretanto, alguns operam também na camada 3 (camada de rede), herdandoalgumas propriedades dos roteadores.

O roteador é um dispositivo que opera na camada 3 do modelo OSI de referência. A principalcaracterística desse equipamento é a capacidade de selecionar a rota mais apropriada pararepassar os pacotes recebidos. Explicaremos mais sobre o seu funcionamento mais adiante.

Na Internet, os computadores comunicam entre eles graças ao protocolo IP (Internet Pro-tocol), que utiliza endereços numéricos, chamados endereços IP, compostos por 4 númerosinteiros (4 bytes) entre 0 e 255 e notados sob a forma xxx.xxx.xxx.xxx. Por exemplo,194.153.205.26 é um endereço IP com forma técnica.

Agora, vamos explicar para que servem os endereços IP. Estes endereços servem para queos computadores de uma rede se comuniquem entre si, assim cada computador de uma redepossui um endereço IP único nessa rede.

É o ICANN (Internet Corporation for Assigned Names and Numbers, substituindo o IANA,Internet Assigned Numbers Agency, desde 1998) que está encarregado de atribuir endereçosIP públicos, isto é, os endereços IP dos computadores diretamente ligados à rede pública deInternet.

Página 64 de 114www.handbookdeti.com.br

Page 66: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

Um endereço IP é um endereço 32 bits, geralmente notado sob a forma de 4 números inteirosseparados por pontos. Distinguem-se, com efeito, duas partes no endereço IP:

• uma parte dos números à esquerda designa a rede e chama-se ID de rede (em inglêsnetID);

• os números à direita designam os computadores desta rede e chamam-se ID de hóspede(em inglês host-ID).

Quando se anula a parte host-id, isto é, quando se substituem os bits reservados às máquinasda rede por zeros (por exemplo, 194.28.12.0), obtém-se o que chamamos de endereço rede.Este endereço não pode ser atribuído a nenhum dos computadores da rede.

Quando a parte netID é anulada, quer dizer, quando os bits reservados à rede são sub-stituídos por zeros, obtém-se o endereço máquina. Este endereço representa a máquinaespeci�cada pelo host-ID que se encontra na rede corrente.

Quando todas as bits da parte host-ID são de 1, o endereço obtido chama-se endereçode divulgação (em inglês broadcast). Trata-se de um endereço especí�co, permitindo enviaruma mensagem a todas as máquinas situadas na rede especi�cada pelo netID.

Outra questão especí�ca dos endereços IP é fato deles estarem repartidos por classes, deacordo com o número de bytes que representam a rede. Por exemplo, em um endereço derede classe A, o primeiro byte representa a rede. Já na classe B são os dois primeiros e naclasse C são os três primeiros. Essa divisão em classes foi criada para facilitar a atribuiçãode redes de acordo com o seu tamanho. Por exemplo, a rede classe A é capaz de possuiruma rede de hosts muito maior do que as outras classes, pois sobram mais endereços paraespeci�car cada host.

Outro aspecto importante a ser mencionado é que é possível dividir uma rede em sub-redes,onde cada sub-rede �ca apenas com uma faixa de números IP de toda a faixa original. Porexemplo, a rede Classe C 200.100.100.0/255.255.255.0, com 256 números IPs disponíveis (naprática são 254 números que podem ser utilizados, descontando o primeiro que é o númeroda própria rede e o último que o endereço de broadcast, poderia ser dividida em 8 sub-redes,com 32 números IP em cada sub-rede.

Toda a funcionalidade de um roteador é baseada em tabelas de roteamento. Quando umpacote chega em uma das interfaces do roteador, ele analisa a sua tabela de roteamento,para veri�car se na tabela de roteamento, existe uma rota para a rede de destino.

Uma entrada da tabela de roteamento possui, entre outros, os seguintes campos:

• Network ID ou endereço de rede é o endereço de destino;

• Network Mask ou máscara de sub-rede é a máscara de sub-rede utilizada para a redede destino;

• Next Hop é o endereço IP da interface para a qual o pacote deve ser enviado.

Um exemplo de tabela de roteamento está na Tabela 1. Observe que a identi�cação de rede0.0.0.0 com uma máscara de sub-rede 0.0.0.0 indica uma rota padrão. Quando o roteadortenta encontrar uma rota para um determinado destino, ele percorre todas as entradas databela de roteamento em busca de uma rota especí�ca para a rede de destino. Caso não seja

Página 65 de 114www.handbookdeti.com.br

Page 67: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

encontrada uma rota para a rede de destino, será utilizada a rota padrão.

Endereço de rede Máscara de sub-rede Interface (Next Hop) Opções Custo192.168.0.0 255.255.255.0 0.0.0.0 U 2169.254.0.0 255.255.0.0 0.0.0.0 U 10000.0.0.0 0.0.0.0 192.168.0.30 UG 0

Tabela 1: exemplo de tabela de roteamento.

Como podemos observar, o roteador baseia-se no endereço de rede (Network ID) do endereçode IP e, nesse caso, a alternativa A é a correta. Porém, ressalvamos que a máscara de sub-rede também é utilizada e confere uma �exibilização maior ao uso dos endereços IP.

Página 66 de 114www.handbookdeti.com.br

Page 68: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

30. Assuntos relacionados: Redes de Computadores, SNMP, Gerência de Redes,Banca: FCCInstituição: TRT 16a RegiãoCargo: Analista Judiciário - Tecnologia da InformaçãoAno: 2009Questão: 29

NÃO se trata de uma classe de rótulos para tipos de dados estruturados de�nida pela notaçãoASN.1:

(a). Sequência.

(b). Especi�cado por contexto.

(c). Universal.

(d). Aplicação.

(e). Privada.

Solução:

A notação ASN.1 (Abstract Syntax Notation One) é uma a linguagem desenvolvida peloITU-T e escolhida pela ISO para de�nir objetos gerenciáveis da MIB (Management Infor-mation Base). Vamos explicar melhor em que contexto é inserido o conceito de MIB enotação ASN.1 adiante.

Devido a diversidade de equipamentos das modernas redes de dados, tornou-se necessáriouni�car e padronizar as informações de gerência e o protocolo da administração dessas re-des. O protocolo SNMP (Simple Network Management Protocol) surgiu para atender essanecessidade.

Os sistemas de gerência de rede permitem ao administrador veri�car os dispositivos interli-gados à rede e atualizar suas informações de estado e con�guração. Na arquitetura SNMP, osoftware Agent (Agente) é instalado em cada dispositivo da rede, com a �nalidade interagircom o sistema de gerência para responder às requisições de informação recebidas ou paraexecutar os comandos solicitados. Já o software Manager (Gerente) é instalado no sistemade gerência para solicitar as informações e enviar comandos para os dispositivos de rede epara receber as informações solicitadas.

O manager e o agent utilizam a estrutura de objetos denominada Management Infor-mation Base (MIB) e os comandos do protocolo SNMP para a troca de informações.

A MIB possui uma estrutura em árvore padronizada que contém os objetos gerenciáveisde um determinado dispositivo de rede. Essa estrutura não tem limites e, de acordo com anecessidade, pode ser atualizada e expandida.

Um objeto gerenciável é uma visão abstrata de um recurso de um dispositivo da rede.Ele corresponde a uma estrutura de dados e operações obtida a partir do modelamento dosrecursos desse dispositivo de rede. Cada objeto possui as seguintes características:

• Um rótulo (label), em formato texto, e uma identi�cação única denominada ObjectIDenti�cation (OID), que é composta por uma seqüência de números que identi�ca aposição do objeto na árvore da MIB (por exemplo: 1.3.6.1.4.1.2682.1);

Página 67 de 114www.handbookdeti.com.br

Page 69: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

• Atributos: tipo de dado, descrição e informações de status, con�guração e estatísticas,entre outras;

• Operações que podem ser aplicadas ao objeto: leitura (read), escrita (write) e comando(set).

A notação ASN.1 utiliza conceitos de orientação a objeto para de�nir um recurso, seusatributos e as operações que podem ser executadas por este recurso, quando aplicável. Essanotação de�ne:

• Datatypes: tipos de dados básico que de�nem o formato das informações, tais comoInteger, Byte String, Object Identi�er, Null, Enumerated, Boolean, entre outros. Sãoatribuídos a informações básicas, tais como contadores (integer), texto descritivos(bytes string) e etc;

• Complex Constructed: tipos de dados mais complexos que formam estruturas de�nidasa partir dos tipos de dados básicos. São atribuídos a conjuntos mais complexos deinformações, tais como objetos gerenciáveis ou mensagens;

• Macro Templates: modelos completos para a de�nição dos objetos gerenciáveis. In-cluem todos os tipos de dados ou estruturas necessárias para o objeto, as faixas devalores aceitáveis para cada dado e os tipos de operações que podem ser executadaspelo objeto.

A notação ASN.1 possui ainda um conjunto de regras denominado BER (Basic EncodingRules) que de�ne a forma através da qual um programa escrito nessa linguagem é compiladopara ser traduzido para a linguagem de máquina do dispositivo de rede. Este programacompilado é então carregado e a MIB passa a ser interpretada corretamente pelo disposi-tivo. ASN.1 é como uma linguagem de programação (por exemplo, C), enquanto que BERassemelha-se um compilador para esse idioma.

Essa questão aborda um aspecto muito especí�co da notação ASN.1, a saber, a rotulagem.Portanto, entraremos em mais detalhes sobre a linguagem.

Na arquitetura ISO-OSI, abaixo da camada de aplicação está prevista a camada de ap-resentação. Para que serve a camada de apresentação? Serve para adequar a representaçãodos parâmetros de dados que são trocados, através da camada de sessão, entre duas apli-cações. Essa adequação se faz necessária devido às diferenças entre ambientes onde operamas aplicações comunicantes.

Os exemplos mais óbvios desta necessidade ocorre na transmissão de cadeias (strings) decaracteres entre ambientes operando com distintos conjuntos de caracteres, e valores reais einteiros cuja representação interna depende da arquitetura do hardware.

Esta adequação é suprida por um conjunto de algoritmos compostos de regras de codi�-cação, chamados sintaxes de transferência (transfer sintaxes). Os serviços da camada deapresentação funcionam negociando, quando duas aplicações se comunicam, a sintaxe detransferência a ser aplicada, e aplicando-a na transferência.

Para que esses serviços não precisem armazenar informação sobre como negociar a sintaxe detransferência em cada situação possível, uma linguagem comum para se denotar tipos de da-dos, uma espécie de linguagem intermediária para codi�cação/decodi�cação, compartilhadaentre as aplicações comunicantes, se faz necessária, para descrever as possíveis represen-tações de dados transferíveis entre elas.

Página 68 de 114www.handbookdeti.com.br

Page 70: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

Uma tal linguagem é dita uma sintaxe abstrata. A arquitetura ISO-OSI propôs a primeirade tais linguagens, por isso chamada de ASN-1 (Abstract Sintax Notation One), de�nida nopadrão ITU X-208-88 (de 1988), estendido em 1993 (X-209).

Dados são transferidos entre duas aplicações através de representações. A representaçãode um valor (dado) só permite distinguir o dado representado conhecendo-se o tipo ao qualpertence aquela representação. Formalmente, um tipo de dado é um conjunto (�nito ounão) de valores (dados) distinguíveis.

A ASN.1 é a linguagem padronizada pela ITU e também pela ISO-OSI (norma ISO8824)para denotar tipos de dados que podem ser inequivocamente reconhecidos por aplicações co-municantes. A semântica desses dados, entretanto, �ca de fora da ASN-1, sendo abordadapela linguagem BER (Basic Encoding Rules) e um por subconjunto desambiguado desta, oDER (Distinguished Encoding Rules, norma ISO 8825.)

A ASN.1 se parece com uma linguagem de programação, com a particularidade de se re-stringir à declaração de tipos e valores. Os valores que são transmitidos podem ser dediversos tipos. Existem os tipos simples e outros, mais complexos, que são formados devários tipos simples combinados. Cada tipo recebe uma denominação que o distingue, deforma inequívoca de todos os demais tipos. Algumas das maneiras de de�nir novos tipossão:

1. uma sequência (ordenada) de tipos existentes;

2. uma sequência não ordenada de tipos existentes;

3. uma seleção de um dentre um conjunto de tipos.

Estes são denominados tipos estruturados. Cada tipo recebe um rótulo (�tag�). Um mesmorótulo pode ser atribuído a mais de um tipo cuja particular identi�cação será decidida pelocontexto em que o rótulo for usado.

Existem quatro classes de rótulos:

• UNIVERSAL: pode ser atribuído a um tipo simples ou a um construtor (structured,other) conforme tabela;

• APPLICATION: rótulos atribuídos a tipos para módulos especí�cos. Em um dadomódulo, os rótulos desta classe somente podem ser atribuídos a uma única instância;

• PRIVATE: rótulos usados numa empresa especí�ca;

• ESPECIFICADO POR CONTEXTO: interpretado de acordo com o contexto em queé usado (omite-se o nome de classe).

Por eliminação, a alternativa a ser marcada é a letra A.

Abaixo, segue um exemplo de rotulação na sintaxe do ASN.1:

Registro pessoal::= [APPLICATION 0] IMPLICIT SET

{ Nome,

Cargo [0] ISO646 String,

NumeroEmpregado,

DataIngresso [1] Date,

Página 69 de 114www.handbookdeti.com.br

Page 71: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

NomeEsposa [2] Name,

Filhos [3] IMPLICIT SEQUENCE OF InformaçãoFilho DEFAULT { }

Informaçãofilho::= SET

{ Nome,

DataNascimento [0] Date

}

Nome ::= [APPLICATION 1] IMPLICIT SEQUENCE

{ Nome ISO646 String,

Inicial ISO646 String,

Sobrenome ISO646 String,

NumeroEmpregado::= [APPLICATION 2] IMPLICIT INTEGER

Date ::= [APPLICATION 3] IMPLICIT ISO 646 String -- AAAAMMDD

}

Página 70 de 114www.handbookdeti.com.br

Page 72: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

31. Assuntos relacionados: Governança de TI, Plano de Continuidade de Negócios,Banca: FCCInstituição: TRT 16a RegiãoCargo: Analista Judiciário - Tecnologia da InformaçãoAno: 2009Questão: 33

Um Plano de Continuidade de Negócios deve conter procedimentos

(a). de emergência; operacionais alternativos e temporários; e de restauração, recuper-ação e retomada.

(b). de emergência; e de restauração, recuperação e retomada, apenas.

(c). de emergência, apenas.

(d). operacionais alternativos e temporários, apenas.

(e). de emergência; e operacionais alternativos e temporários, apenas.

Solução:

Um Plano de Continuidade de Negócios é um conjunto de ações estruturadas a seradotada pelas empresas para suportar problemas e situações adversas durante a ocorrênciade um desastre, visando diminuir ou mesmo eliminar riscos ou impacto.

De forma geral, um plano de continuidade deve conter um conjunto de atividades paraprevenção de desastre, ações a serem tomadas durante um desastre e processos de retorno asituação anterior ao desastre.

O plano de continuidade de negócios deve, preferencialmente, ser desenvolvido por equipesmultidisciplinares, sob forte e adequada liderança, envolvendo todas as áreas de negócio aque o diz respeito. Além disso, deve ser atualizado sempre que necessário e testado peri-odicamente.

A recente norma BS 7799 e a norma brasileira NBR ISO/IEC 17799 consideram dez itenspara de�nir um ambiente seguro. Um destes itens é a recomendação de desenvolvimentode um plano de continuidade de negócios. Quando se fala em segurança, a área de TI ime-diatamente pensa em �rewalls, proxies, antivírus, senhas, política de segurança, deixandode lado as questões referentes aos PROCESSOS que dependem de TI e da velocidade desubstituição de um hardware dani�cado.

Basicamente, um Plano de Continuidade de Negócios (PCN) é um conjunto de três out-ros planos

• Plano de Gerenciamento de Crises (PGC);

• Plano de Continuidade Operacional (PCO);

• Plano de Recuperação de Desastres (PRD).

Cada um destes planos é focado em uma determinada variável de risco, numa situação deameaça ao negócio da empresa (ou ambiente).

Por exemplo, O PGC é focado nas atividades que envolvem as respostas aos eventos, ouseja, como atuar em situações de emergência. Este documento tem o propósito de de�nir

Página 71 de 114www.handbookdeti.com.br

Page 73: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

as responsabilidades de cada membro das equipes envolvidas com o acionamento da con-tingência antes, durante e depois da ocorrência do incidente. Além disso, tem que de�nir osprocedimentos a serem executados pela mesma equipe no período de retorno à normalidade.O comportamento da empresa na comunicação do fato à imprensa é um exemplo típico detratamento dado pelo plano.

Já o PCO é voltado para as atividades que garantam a realização dos processos, ou seja,como se deve agir enquanto os componentes que automatizam os processo não são repostos.Em outras palavras, de�ne uma operação alternativa e temporária para a execução dosprocessos das empresas. Tem o propósito de de�nir os procedimentos para contingencia-mento dos ativos que suportam cada processo de negócio, objetivando reduzir o tempo deindisponibilidade e, conseqüentemente, os impactos potenciais ao negócio. Orientar as açõesdiante da queda de uma conexão à Internet, exempli�cam os desa�os organizados pelo plano.

Finalizando, dizemos que o PRD é voltado para a substituição ou reposição de compo-nentes que venham a ser dani�cados. Tem o propósito de de�nir um plano de restauraçãoe recuperação e retomada das funcionalidades dos ativos afetados que suportam os pro-cessos de negócio, a �m de restabelecer o ambiente e as condições originais de operação, nomenor tempo possível.

Concluímos que um plano de continuidade de negócios deve ser bem completo e que ostrês planos citados acima que fazem parte dele são, na verdade, em outras palavras, osprocedimentos citados na alternativa A da questão em estudo.

Página 72 de 114www.handbookdeti.com.br

Page 74: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

32. Assuntos relacionados: Estruturas de Dados, Algoritmos de Ordenação,Banca: FCCInstituição: TRT 16a RegiãoCargo: Analista Judiciário - Tecnologia da InformaçãoAno: 2009Questão: 35

São, respectivamente, um método de busca e um método de ordenação:

(a). linear e por seleção direta.

(b). por permutação e linear.

(c). por seleção direta e por permutação.

(d). por permutação e binária.

(e). linear e binária.

Solução:

Os principais algoritmos de ordenação podem ser classi�cados em: ordenação por inserção,ordenação por troca, ordenação por seleção e ordenação por intercalação (permutação).

Na ordenação por inserção, dividi-se o vetor em dois segmentos; o primeiro com os ele-mentos já ordenados e o seguinte com o restante dos elementos ainda não ordenados. Oprimeiro elemento é colocado no primeiro segmento. Retira-se o primeiro elemento do seg-mento desordenado e insere-se no segmento ordenado em sua posição correta. Repete-seo processo para os demais elementos do vetor. A complexidade de tempo deste algoritmoé de O(n2). Exemplos de algoritmos de ordenação por inserção são a inserção direta e oincremento decrescente (Shell sort).

Na ordenação por troca, comparam-se dois elementos e trocam-se suas posições se o se-gundo elemento é menor do que o primeiro. A complexidade de tempo deste algoritmo é deO(n2). Exemplos de algoritmos de ordenação por troca são o método da bolha (buble sort)e o método da troca e partição (quicksort)

Na ordenação por seleção, seleciona-se o menor item do vetor. Em seguida, troca esseelemento com o item que está na primeira posição do vetor. Repete-se este procedimentopara o n − 1 elementos restantes. A complexidade de tempo deste algoritmo é de O(n2).Exemplos de algoritmos de ordenação por seleção são a inserção direta e a inserção em árvore(heapsort).

Na ordenação por intercalação, dividi-se o vetor em 2 sub-vetores de comprimento, aprox-imadamente n/2. Ordena recursivamente cada sub-vetor (dividindo-se novamente, quandopossível). Faz o merge dos 2 sub-vetores ordenados para obter o vetor ordenado completo.A complexidade de tempo deste algoritmo é de O(nlog(n)). Exemplo de algoritmo de orde-nação por intercalação é o mergesort.

Os principais algoritmos de busca são classi�cados em linear e binário.

O algoritmo de busca linear é a forma mais simples de se consultar um vetor em buscade um elemento. A busca é realizada da seguinte maneira: a partir do início do vetor,examina-se cada um de seus elementos até que o elemento desejado seja encontrado ou atéque o �nal do vetor seja atingido. A complexidade de tempo deste algoritmo é de O(n).

Página 73 de 114www.handbookdeti.com.br

Page 75: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

O algoritmo de busca binária é aplicado quando os elementos de um vetor estão ordena-dos. A busca é realizada por meio de sucessivas divisões do espaço de busca (divisão econquista), comparando o elemento buscado (chave) com o elemento no meio do vetor. Seo elemento do meio do vetor for a chave, a busca termina com sucesso. Caso contrário, se oelemento do meio vier antes do elemento buscado, então a busca continua na metade pos-terior do vetor. E �nalmente, se o elemento do meio vier depois da chave, a busca continuana metade anterior do vetor. A complexidade de tempo deste algoritmo é de O(log2(n)).

De acordo com as alternativas desta questão, um método de busca e um de ordenação,respectivamente, é o linear e por seleção direta. Logo, a alternativa correta é (A).

Página 74 de 114www.handbookdeti.com.br

Page 76: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

33. Assuntos relacionados: Raciocínio Lógico, Álgebra Booleana,Banca: FCCInstituição: TRT 16a RegiãoCargo: Analista Judiciário - Tecnologia da InformaçãoAno: 2009Questão: 39

Considere p = FALSE e q = TRUE. Os resultados booleanos de p AND q, p OR q e NOTp serão, respectivamente,

(a). FALSE, TRUE e FALSE.

(b). TRUE, FALSE e FALSE.

(c). TRUE, TRUE e TRUE.

(d). FALSE, TRUE e TRUE.

(e). FALSE, FALSE e TRUE.

Solução:

A operação AND resulta em um valor verdadeiro se e apenas se os valores de ambas asvariáveis p e q assumirem valor verdadeiro. Como p é falso (FALE), o resultado da operaçãop AND q é falso (FALSE).

A operação OR resulta em um valor verdadeiro se o valor de qualquer uma das variáveisp ou q assumir valor verdadeiro; caso contrário, o resultado da operação é falso. Como pé falso (FALSE) e q é verdadeiro (TRUE), o resultado da operação p OR q é verdadeiro(TRUE).

A operação NOT inverte o valor da variável p, isto é, o resultado desta operação é ver-dadeiro se p é falso, e falso se p é verdadeiro. Como p é falso (FALSE), o resultado daoperação NOT p é verdadeiro (TRUE).

O resultado das três operações são FALSE, TRUE, TRUE. Logo, a alternativa correta éa (D).

Página 75 de 114www.handbookdeti.com.br

Page 77: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

34. Assuntos relacionados: Projeto de Software, Coesão,Banca: FCCInstituição: TRT 16a RegiãoCargo: Analista Judiciário - Tecnologia da InformaçãoAno: 2009Questão: 42

Dentro do espectro de coesão entre tarefas de um módulo é menos indicado usar a

(a). procedimental do que a temporal.

(b). funcional do que a temporal.

(c). lógica do que a coincidental.

(d). comunicacional do que a procedimental.

(e). sequencial do que a funcional.

Solução:

A forma natural de solucionarmos problemas complexos é dividi-los em problemas mais sim-ples, aos quais chamamos de módulos.

A modularização é uma ferramenta da programação estruturada, que tem como objetivoaumentar a con�abilidade, legibilidade, manutenibilidade e �exibilidade dos algoritmos. Ummódulo é, então, um grupo de comandos, constituindo um trecho de algoritmo, com umafunção bem de�nida e o mais independente possível em relação ao resto do algoritmo.

Quando projetamos um algoritmo devemos construir módulos com apenas um propósito(alta coesão), e diminuir ao máximo a interação entre eles (baixo nível de acoplamento).Ou seja, o ideal é projetar software de forma que cada módulo encaminhe uma sub-funçãoespecí�ca de requisitos e tenha uma interface simples quando visto de outras partes da es-trutura do programa.

A coesão mede a intensidade da associação funcional dos elementos de um módulo. Umaclasse com baixa coesão possui funcionalidades não relacionadas, ou seja, uma classe combaixa coesão possui responsabilidades que pertencem a outras classes, e leva a problemasde di�culdade de entendimento, de reutilização e de manutenção. Os tipos de coesão (domelhor tipo para o pior tipo) são:

• Funcional: um módulo com coesão funcional contém elementos que contribuem para aexecução de uma e apenas uma tarefa relacionada ao problema;

• Seqüencial: um módulo seqüencialmente coeso é aquele cujos elementos estão envolvi-dos em atividades tais que os dados de saída de uma atividade servem como dados deentrada para a próxima;

• Comunicacional: um módulo com coesão comunicacional é aquele cujos elementos con-tribuem para atividades que usem a mesma entrada ou a mesma saída;

• Procedural: módulo cujos elementos estão envolvidos em atividades diferentes e pos-sivelmente não relacionadas, mas nas quais o controle �ui de uma atividade para aoutra;

• Temporal: módulo cujos elementos estão envolvidos em atividades que estão rela-cionadas no tempo;

Página 76 de 114www.handbookdeti.com.br

Page 78: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

• Lógica: módulo cujos elementos contribuem para atividades da mesma categoria geral,onde a atividade ou as atividades a serem executadas são selecionadas fora do módulo;

• Coincidental: um módulo coincidentemente coeso é aquele cujos elementos contribuempara atividades sem relação signi�cativa entre si.

O acoplamento mede o grau de interdependência entre os módulos do diagrama. Um altoacoplamento di�culta manutenções no sistema.

A seguir, analisamos as alternativas desta questão:

(A) ERRADA

A coesão procedimental ou procedural é mais indicada para ser utilizada do que a coesãotemporal.

(B) ERRADA

A coesão funcional é mais indicada para ser utilizada do que a coesão temporal.

(C) ERRADA

A coesão lógica é mais indicada para ser utilizada do que a coesão coincidental.

(D) ERRADA

A coesão comunicacional é mais indicada para ser utilizada do que a coesão procedimental.

(E) CORRETA

A coesão seqüencial é menos indicada para ser utilizada do que a coesão funcional.

Página 77 de 114www.handbookdeti.com.br

Page 79: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

35. Assuntos relacionados: Engenharia de Software, UML, Diagrama de Caso de Uso,Banca: FCCInstituição: TRT 16a RegiãoCargo: Analista Judiciário - Tecnologia da InformaçãoAno: 2009Questão: 46

Considere um Caso de Uso Base - UCB - que represente o atendimento a um trabalhadorpara uma reclamação trabalhista. Entretanto, na ocorrência de uma determinada condiçãocomo, por exemplo, �o reclamante tem precedentes judiciais�, um outro Caso de Uso - UCS- envia um comportamento ao UCB. Nessa situação, a UML representa o relacionamento deUCB com UCS como

(a). exceção.

(b). extensão.

(c). generalização.

(d). agregação.

(e). inclusão.

Solução:

A UML (Uni�ed Modeling Language) é uma linguagem visual para especi�cação, construçãoe documentação de softwares baseados na modelagem orientada a objeto. A UML não é ummétodo de desenvolvimento, mas um modelo de linguagem utilizada para que a modelagemde sistemas seja consistência, simples, compreensível e de fácil comunicação com outros sis-temas.

A UML é composta por elementos que modelam diferentes partes de um sistema. Os ele-mentos ajudam a criar os diagramas, que ajudam a entender a arquitetura do sistema. AUML possui basicamente nove diagramas que são utilizados em combinação para forneceros diferentes aspectos de sistemas, tais: diagrama de caso de uso, de classe, de objeto, deestado, de seqüência, de colaboração, de atividade, de componente e o de implantação.

Por meio dos diagramas, a UML aspectos estático (estrutura estática), dinâmico (compor-tamento dinâmico) e funcional. A estrutura estática é suportada pelos diagramas de classese de objetos, que consiste nas classes e seus relacionamentos. O comportamento dinâmico ésuportado pelos diagramas de caso de uso, de seqüência, de atividade, estado e colaboração.E a funcionalidade é suportada pelos diagramas de componente e implantação.

O diagrama de casos de uso descreve o comportamento de um sistema do ponto de vista dosusuários, possibilitando a de�nição dos limites de um sistema e das relações entre o sistemae o ambiente. Ou seja, os casos de uso são descrições de interações entre os usuários de umsistema e o sistema propriamente dito.

O diagrama de casos de uso é composto por atores, por casos de uso e por relacionamentos.Os atores representam o papel de uma entidade externa ao sistema como um usuário, umhardware, ou outro sistema que interage com o sistema modelado. Os casos de uso sãoprocessos ou funções que o sistema deve realizar de forma automática ou manual. Os rela-cionamentos podem ocorrem entre casos de usos, entre atores e casos de uso e entre atores.Os tipos de relacionamentos entre casos de uso são a extensão, a inclusão e a generalização.

Página 78 de 114www.handbookdeti.com.br

Page 80: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

Os tipos de relacionamento entre atores e casos de usos é a associação. E para relaciona-mento entre atores é a generalização.

Um caso de uso é representado por uma elipse conectada a símbolos de atores. Um retângulomostra os limites (fronteiras) do sistema, contendo em seu interior o conjunto de casos deuso e, do lado externo, os atores interagindo com o sistema.

A associação é a participação de um ator em um caso de uso, mostrando a comunicaçãoentre o ator com o caso de uso. A interação neste tipo de relacionamento ocorre por meiode mensagens e, no UML, é representado por uma linha entre ator e uma elipse.

A seguir, analisamos as alternativas desta questão:

(A) ERRADA

De acordo com explicado anteriormente, não existe o tipo de relacionamento exceção. Naespeci�cação de casos de uso, existem os �uxos de exceção que descrevem os procedimentosque devem ser adotados no caso de erros durante o �uxo principal e alternativo. Logo,alternativa está errada.

(B) CORRETA

Um relacionamento de extensão indica que um deles terá seu procedimento acrescido, emum ponto de extensão, de outro caso de uso, identi�cado como base. Este tipo de relaciona-mento é utilizado para expressar rotinas de exceção e para descrever cenários opcionais deum caso de uso. Os casos estendidos descrevem cenários que somente ocorrerão em umasituação especí�ca, se uma determinada condição for satisfeita.

Este relacionamento tem relação de dependência entre caso de uso de um mesmo diagrama.

Conforme o enunciado, o caso de uso �o reclamante tem precedentes judiciais� descreveuma situação especí�ca do caso de uso base �o atendimento a um trabalhador para umareclamação trabalhista�. Logo, alternativa está correta.

(C) ERRADA

Um relacionamento do tipo generalização ocorre quando temos dois elementos semelhantes,mas com um deles realizando algo a mais. Este relacionamento especi�ca que um caso de usoherda as características de um caso de uso pai, e pode sobrepor algumas delas ou adicionarnovas. Este relacionamento é semelhante à herança entre classes.

O relacionamento relatado no enunciado desta questão não é um relacionamento de gen-eralização. Logo, alternativa errada.

(D) ERRADA

De acordo com explicado anteriormente, não existe relacionamento nos diagramas de casode uso do tipo agregação. A agregação ocorre no relacionamento entre classes que ocorre nodiagrama de classes do UML. Logo, alternativa errada.

Página 79 de 114www.handbookdeti.com.br

Page 81: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

(E) ERRADA

Um relacionamento do tipo inclusão indica que um dos casos de uso terá seu procedimentocopiado num local especi�cado no outro caso de uso. Este tipo de relacionamento é utilizadoquando existem cenários cujas ações servem a mais de um caso de uso. Este relacionamentoé utilizado para rotinas de �uxo alternativo.

O relacionamento relatado no enunciado desta questão não é um relacionamento de inclusão.Logo, alternativa errada.

Página 80 de 114www.handbookdeti.com.br

Page 82: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

36. Assuntos relacionados: Engenharia de Software, UML, Diagrama de Classes,Banca: FCCInstituição: TRT 16a RegiãoCargo: Analista Judiciário - Tecnologia da InformaçãoAno: 2009Questão: 47

Considere diversas agências (classe Agencia) de atendimento a reclamações trabalhistas es-palhadas em vários pontos do Estado. Uma delas, a central (classe AgenciaCentral), tematributos diferenciados, porém herda os demais atributos e operações de Agencia. O rela-cionamento entre essas classes é de�nido na UML como

(a). inclusão.

(b). composição.

(c). especí�co.

(d). generalização.

(e). encapsulamento.

Solução:

A UML (Uni�ed Modeling Language) é uma linguagem visual para especi�cação, construçãoe documentação de softwares baseados na modelagem orientada a objeto. A UML não é ummétodo de desenvolvimento, mas um modelo de linguagem utilizada para que a modelagemde sistemas seja consistência, simples, compreensível e de fácil comunicação com outros sis-temas.

A UML é composta por elementos que modelam diferentes partes de um sistema. Os ele-mentos ajudam a criar os diagramas, que ajudam a entender a arquitetura do sistema. AUML possui basicamente nove diagramas que são utilizados em combinação para forneceros diferentes aspectos de sistemas, tais: diagrama de caso de uso, de classe, de objeto, deestado, de seqüência, de colaboração, de atividade, de componente e o de implantação.

Por meio dos diagramas, a UML aspectos estático (estrutura estática), dinâmico (compor-tamento dinâmico) e funcional. A estrutura estática é suportada pelos diagramas de classese de objetos, que consiste nas classes e seus relacionamentos. O comportamento dinâmico ésuportado pelos diagramas de caso de uso, de seqüência, de atividade, estado e colaboração.E a funcionalidade é suportada pelos diagramas de componente e implantação.

As classes podem ter modelos, um valor que é usado para uma classe ou tipo não especi-�cado. O tipo de modelo é especi�cado quando uma classe é iniciada (isto é, um objeto écriado).

Os diagramas de classe descrevem a estrutura estática de um sistema, mostrando as classesdos sistemas, os atributos delas, os objetos e os relacionamentos entre elas. Este diagramanão mostra a troca de mensagens entre as classes.

No diagrama de classes, temos os relacionamentos entre as classes e os objetos, que po-dem ser divididos em nível de instância e em nível de classe. Em nível de instância são aligação (link), a associação e a agregação. Em nível de classes são a generalização, a especial-ização e a realização. Existem também os relacionamentos genéricos que são a dependência(uma classe depende ou usa outra classe) e a multiplicidade (número de instâncias de uma

Página 81 de 114www.handbookdeti.com.br

Page 83: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

classe que se relaciona a uma instância de outra classe).

A associação é uma conexão entre classes, e também signi�ca que é uma conexão entreobjetos daquelas classes. Em UML, uma associação é de�nida com um relacionamento quedescreve uma série de ligações, onde a ligação é de�nida como a semântica entre as duplasde objetos ligados. As associações descrevem a conexão entre diferentes classes e podemter uma regra que especi�ca o propósito da associação e pode ser uni ou bidirecional (indi-cando se os dois objetos participantes do relacionamento podem mandar mensagens para ooutro, ou se apenas um deles sabe sobre o outro). Cada ponta da associação também possuium valor de multiplicidade, que dita como muitos objetos neste lado da associação poderelacionar-se com o outro lado.

As agregações são um tipo especial de associação no qual as duas classes participantes nãopossuem em nível igual, mas fazem um relacionamento todo-parte. Uma agregação descrevecomo a classe que possui a regra do todo é composta de outras classes, que possuem a regradas partes. Para agregações, a classe que age como o todo sempre tem uma multiplicidadede um.

A seguir, analisamos as alternativas desta questão:

(A) ERRADA

Um relacionamento do tipo inclusão indica que um dos casos de uso do diagrama de ca-sos de uso terá seu procedimento copiado num local especi�cado no outro caso de uso. Estetipo de relacionamento é utilizado quando existem cenários cujas ações servem a mais deum caso de uso. Este relacionamento é utilizado para rotinas de �uxo alternativo.

Este tipo de relacionamento ocorre entre casos de uso e não entre classes. Logo, alter-nativa errada.

(B) ERRADA

Composições são associações que representam agregações muito fortes. Isto signi�ca quecomposições formam também relacionamentos todo-parte, mas neste relacionamento asclasses não podem existir independentes.

O enunciado trata do caso de um relacionamento entre classe com herança, onde a classeAgenciaCentral herda os atributos da classe Agencia, e não um relacionamento do tipo todo-parte. Logo, alternativa errada.

(C) ERRADA

A especialização ocorre quando uma classe é uma especialização de outra classe. Ou seja,uma ou mais subclasses são de�nidas a partir de uma classe existente. Às novas subclassespodem ser adicionadas propriedades e associações especí�cas.

De acordo com o enunciado, a classe AgenciaCentral possui apenas atributos diferencia-dos da classe Agencia, e não especi�ca novas subclasses. Logo, alternativa errada.

Página 82 de 114www.handbookdeti.com.br

Page 84: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

(D) CORRETA

Uma generalização entre duas classes coloca-as numa hierarquia, representando o conceito deherança de uma classe derivada de uma classe base. A generalização abstrai classes genéri-cas, a partir de classes com propriedades (atributos e operações) semelhantes. Em umahierarquia de generalização, as subclasses herdam todas as propriedades de sua superclasse.

Conforme o enunciado, a classe AgenciaCentral herda propriedades da superclasse Agen-cia, caracterizando um relacionamento do tipo generalização. Logo, alternativa correta.

(E) ERRADA

O encapsulamento consiste na separação dos aspectos externos de um objeto, acessíveispor outros objetos, de seus detalhes internos de implementação, que �cam ocultos dos de-mais objetos. Este mecanismo é utilizado para impedir o acesso direto aos atributos de umobjeto, disponibilizando métodos que alterem esses atributos. A utilização de encapsula-mento é possível garantir a proteção aos atributos e as operações das classes.

De acordo com o enunciado, os atributos das classes AgenciaCentral e Agencia não estãoencapsulados. Logo, alternativa está errada.

Página 83 de 114www.handbookdeti.com.br

Page 85: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

37. Assuntos relacionados: Arquitetura de Computadores, Gerenciamento de Memória,Banca: FCCInstituição: TRT 18a RegiãoCargo: Analista Judiciário - Tecnologia da InformaçãoAno: 2008Questão: 23

Dentre os métodos para construção de algoritmos, o Cartesiano é aquele que segue o princípiode

(a). dividir para conquistar.

(b). primeiro que entra, primeiro que sai.

(c). planejamento reverso.

(d). pseudo-linguagem.

(e). primeiro que entra, último que sai.

Solução:

O método cartesiano consiste em atacar o problema abrangente dividindo-o em partesmenores, a �m de torná-lo mais simples ou especí�co e, se necessário, dividir novamenteas partes não compreendidas. O procedimento pode ser esquematizado na maneira a seguir:

• Dividir o problema em suas partes principais;

• Analisar a divisão obtida para garantir coerência;

• Se alguma parte não for bem compreendida, aplicar a ela o método;

• Analisar o objeto para garantir entendimento e coerência.

Logo, o método cartesiano também é conhecido como dividir para conquistar e a alternativaa ser marcada é a letra A.

Já o planejamento reverso é uma processo que analisa as informações do resultado (saída).Procura desagregar, desmontando a informação, a�m de atingir os dados de entrada, quando,então, teríamos (do �m para o início) todas as ações do algoritmo.

Outro método de construção de algoritmos também conhecido é o método das tabelas dedecisão. Chamamos de condições as variáveis a ter em conta para a tomada de decisão, ouseja, as variáveis que vão ser avaliadas. Já as ações são as operações a desenvolver condi-cionadas pelas respostas das condições. O método da tabela de decisão consiste em chegarnas ações através da análise das combinações das condições e, assim, chegar a um algoritmoque atenda às necessidades.

Página 84 de 114www.handbookdeti.com.br

Page 86: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

38. Assuntos relacionados: Estruturas de Dados, Árvores Binárias, Árvores AVL,Banca: FCCInstituição: TRT 18a RegiãoCargo: Analista Judiciário - Tecnologia da InformaçãoAno: 2008Questão: 24

Árvore AVL balanceada em altura signi�ca que, para cada nó da árvore, a diferença entreas alturas das suas sub-árvores (direita e esquerda) sempre será

(a). menor ou igual a 2.

(b). igual a 0 ou -1.

(c). maior que 1.

(d). igual a 1.

(e). igual a -1, 0 ou 1.

Solução:

As árvores binárias de pesquisa são projetadas para um acesso rápido à informação. Ideal-mente a árvore deve ser razoavelmente equilibrada e a sua altura será dada (no caso de estarcompleta). Contudo, com alguns dados, a árvore binária de pesquisa pode degenerar, tendono pior caso altura n-1, tornado-se o acesso muito mais lento, O(n). É o que acontece nocaso em que a construção da árvore é feita por inserções sucessivas e os valores são dadoscom chaves ordenadas (crescentes ou decrescentes).

Adelson-Velskii e Landis, em 1962, apresentaram uma árvore de busca binária que é bal-anceada com respeito a altura das sub-árvores. Uma característica importante deste tipo deárvore é que uma busca é realizada em O(log(n)) se a árvore possui n nós. Em uma árvoreAVL, cada nó está equilibrado em altura, signi�cando isto que, em cada nó, a diferença dealturas entre as subárvores esquerda e direita é no máximo 1. Uma outra de�nição paraárvores AVL será aquela em que para qualquer nó P se veri�ca que o módulo do fator deequilíbrio é sempre menor ou igual a um. Entende-se por fator de equilíbrio de um nó P adiferença da altura da subárvore esquerda de P e altura da subárvore direita de P. Dado oexposto, a alternativa correta da questão é a letra E.

Uma árvore AVL terá uma estrutura semelhante a uma árvore binária de pesquisa coma condição de que a árvore de pesquisa mantém-se equilibrada em altura depois de cadaoperação de inserção e eliminação.

Também há um tipo de árvore binária que garante a busca em O(log(n)) conhecida comoárvore rubro-negra. Entretanto, ela não tem a mesma propriedade em relação ao fator deequilíbrio. Uma propriedade garantida da árvore rubro-negra é que, caso ela possua n nós,ela terá altura menor ou igual à 2log(n+1).

Página 85 de 114www.handbookdeti.com.br

Page 87: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

39. Assuntos relacionados: Estruturas de Dados, Árvores Binárias, Árvores AVL,Banca: FCCInstituição: TRT 18a RegiãoCargo: Analista Judiciário - Tecnologia da InformaçãoAno: 2008Questão: 26

No projeto de módulos adequadamente estruturados deve-se

(a). evitar o baixo acoplamento.

(b). evitar escopo de efeito de um módulo fora de seu escopo de controle.

(c). evitar a coesão funcional.

(d). adotar o acoplamento por conteúdo.

(e). adotar a coesão lógica.

Solução:

Módulo é a parte do sistema responsável por uma tarefa bem de�nida e que pode seracoplado a um sistema para permitir ao mesmo executar a tarefa disponibilizada pelo mesmo.O conceito de módulo é similar ao de uma caixa preta. A função é bem clara. É conhecidaa entrada, a saída e a função.

Um projeto de módulos visa atingir os seguintes objetivos:

• Precisão: um módulo deve fazer exatamente o que se espera dele;

• Solidez: capacidade de um módulo manipular corretamente situações inesperadas. Ummódulo sólido não propaga erros;

• Extensibilidade: módulos devem ser construídos de tal forma que uma nova funcional-idade possa ser adicionada sem a necessidade de se refazer o serviço;

• Facilidade de adaptação: os módulos devem ser de tal forma que possam ser facilmenteadaptados a novas utilizações;

• Reutilização: os módulos devem ser projetados de tal forma que possam ser utilizadosem mais de uma aplicação.

Para atingirmos os objetivos acima em um projeto de módulos, os seguintes princípios devemser seguidos:

• Ocultar informações: o funcionamento interno de um módulo deve estar oculto aosoutros módulos. Assim, módulos podem utilizar-se de outros módulos e dependerdestes para realizar as tarefas esperadas sem se preocupar como devem ser realizadastais tarefas;

• Poucas interfaces: um módulo deve interagir com outros o mínimo possível, pois quantomais interfaces tiverem uns com os outros, mais difícil será a manutenção dos mesmos;

• Pequenas interfaces: a interface de um módulo deve precisar somente das informaçõesnecessárias para que o mesmo complete a tarefa. Este princípio limita as ligaçõesque um módulo tem com uma aplicação em particular, tornando-o mais fácil de serreutilizado;

• Interfaces explícitas: as interfaces devem ser feitas de forma que todas as informaçõespertinentes sejam claramente especi�cadas no código fonte;

Página 86 de 114www.handbookdeti.com.br

Page 88: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

• Clareza um módulo deve ser dedicado a uma �nalidade bem de�nida, e a função de-sempenhada pelo módulo não deve gerar nenhum �efeito colateral� inesperado. Umavantagem da obediência deste princípio é a facilidade de depuração.

Dentre os critérios de qualidade de um projeto de módulos se destacam o acoplamento e acoesão.

O acoplamento mede o grau de interdependência entre os módulos do diagrama. O quese deseja são módulos de baixo acoplamento para diminuir o máximo possível o efeito emcadeia quando um módulo for alterado. Os tipos de acoplamento são:

• Acoplamento de dados: corresponde a comunicação de dados necessária entre módulos.Uma vez que os módulos têm que se comunicar, a ligação de dados é inevitável, e não écrítica desde que mantidas as taxas mínimas. Deve-se tomar cuidado com o chamadodado migrante (um grupo de informações que vagueia pelo sistema), indesejável e semsentido para a maioria dos módulos pelos quais passa;

• Acoplamento de imagem: dois módulos apresentam acoplamento por imagem se elesfazem referência a uma mesma estrutura de dados. Este tipo de acoplamento tende afornecer mais dados do que o necessário a um módulo;

• Acoplamento de controle: dois módulos são acoplados por controle se um passa umgrupo de dados (controle) para o outro para controlar sua lógica interna;

• Acoplamento comum: dois módulos possuem Acoplamento Comum quando fazem refer-ência a uma área global de dados. Um bom exemplo é a Working Storage Section dalinguagem Cobol. Este tipo de acoplamento não é desejável, pois um erro em umaárea global pode se propagar por diversos módulos. Além disso, programas com muitosdados globais são de difícil entendimento e �ca difícil descobrir que módulos devem seralterados quando um dado é modi�cado;

• Acoplamento de conteúdo: dois módulos apresentam acoplamento de conteúdo (oupatológico) se um faz referência ou desvia a sequência de instruções para o interiorde um outro módulo (GOTO). Tal acoplamento torna o conceito de caixas-pretas semsentido.

Já a coesão mede a intensidade da associação funcional dos elementos de um módulo.Deseja-se módulos altamente coesos, cujos elementos são relacionados uns com os outros.Por outro lado, os elementos de um módulo não devem ser fortemente relacionados com oselementos de outros módulos, pois isto levaria a um forte acoplamento entre eles. Ter certezade que todos os módulos têm boa coesão é a melhor forma de minimizar o acoplamento. Ostipos de coesão são:

• Coesão funcional: um módulo apresenta coesão funcional quando suas funções internascontribuem para a execução de uma e apenas uma tarefa relacionada ao problema;

• Coesão sequencial: um módulo apresenta coesão sequencial quando suas funções in-ternas estão envolvidas em atividades de tal forma, que os dados de saída de umaatividade sirvam como dados de entrada para a próxima. Este �uxo estabelece umasequência de execução das funções, no entanto, não se pode caracterizar o conjuntodelas como uma única tarefa. Um módulo com coesão sequencial caracteriza-se porser de fácil manutenção, porém de baixa reutilização, pois contém atividades que sãoutilizadas juntas;

• Coesão comunicacional: um módulo possui coesão comunicacional quando suas funçõesinternas estão relacionadas por utilizarem as mesmas informações, ou seja, utilizam a

Página 87 de 114www.handbookdeti.com.br

Page 89: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

mesma entrada ou mesma saída. Nesta situação o módulo fornece mais informaçõesque o necessário. Módulos com coesão comunicacional e sequencial são semelhantes,pois ambos contém atividades organizadas em torno dos dados do problema original.A principal diferença entre eles é que um módulo sequencialmente coeso opera comouma linha de montagem onde suas atividades são executadas em uma ordem especí�ca.Já em um módulo com coesão comunicacional a ordem de execução não é importante;

• Coesão procedural: um módulo possui coesão procedural quando suas funções internasexecutam atividades diferentes e não correlacionadas, exceto por serem executadas emuma mesma ordem, nas quais o controle �ui (e não os dados) de uma atividade paraoutra. É comum em um módulo com coesão procedural que os dados de entrada esaída tenham pouca relação. É típico também que tais módulos devolvam resultadosparciais, tais como: �ags, chaves, etc.;

• Coesão temporal: um módulo possui coesão temporal quando suas funções internasexecutam atividades que estão relacionadas apenas com o tempo (as atividades nãoestão relacionadas entre si). A ordem de execução de atividades é mais importante emmódulos procedurais do que em módulos temporais;

• Coesão lógica: um módulo possui coesão lógica quando suas funções internas con-tribuem para atividades da mesma categoria geral, onde a atividade é selecionadafora do módulo. Desta forma, módulos logicamente coesos apresentam uma interfacedescaracterizada;

• Coesão coincidental: um módulo possui coesão coincidental quando suas funções nãopossuem nenhuma correlação entre si, não há uma ordem especí�ca de execução, nemsempre todas as funções são ativadas e a ativação das funções é decidida fora do módulo.

As formas de coesão apresentadas acima estão em ordem decrescente de importância paraum bom projeto. Ou seja, o ideal é que a coesão funcional seja adotada e funcionando comouma verdadeira �caixa-preta�. A medida que �descemos� a lista acima, vamos adentrandoem um enfraquecimento da coesão e, portanto, a uma piora do projeto de módulos.

Além do acoplamento e coesão devemos considerar outras diretrizes dentro do projeto taiscomo Factoring, Divisão de Decisão, Fan-In, Fan-Out, etc.

O factoring corresponde a separação de uma função contida em um módulo, passando-a para um novo módulo. Este separação pode ter com objetivo:

• reduzir o tamanho do módulo;

• obter as vantagens modulares de um projeto top-down, tornando o sistema mais com-preensível e permitindo modi�cações mais localizadas;

• evitar a codi�cação de uma mesma função em mais de um módulo;

• prover módulos de utilização mais genérica;

• simpli�car a implementação.

A fatoração de um módulo grande deve ser efetuada se não diminuir a coesão e não aumentaro acoplamento do módulo original.

Uma decisão é constituída de duas partes: o reconhecimento da ação a ser tomada e aexecução desta ação. Deve-se evitar ao máximo a divisão de decisão. A parte referentea execução da decisão deve ser mantida o mais próximo possível da parte referente ao re-conhecimento, a �m de que a informação reconhecida não tenha que percorrer um longo

Página 88 de 114www.handbookdeti.com.br

Page 90: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

caminho para ser processada(dado migrante).

O escopo de controle é um conjunto formado por um módulo e todos os seus subor-dinados. Já o escopo de efeito de uma decisão é conjunto de todos os módulos cujo seuprocedimento depende da decisão. É importante que o escopo de efeito de uma decisãode um módulo seja um subconjunto do escopo de controle deste módulo. Sempre que estaregra for violada, deve-se elaborar uma nova organização dos módulos com o objetivo deaproximar o reconhecimento da execução.

O FAN-OUT corresponde ao número de subordinados imediatos de um módulo. Deve-se limitar o FAN-OUT de um módulo em torno de sete. Para corrigir um alto FAN-OUTpode-se utilizar o factoring de módulos. Já a de�nição de FAN-IN corresponde ao númerode módulos superiores de um módulo. Um alto FAN-IN acarreta reutilização de módulos.

Dada as melhores diretrizes para um projeto de módulos, vamos analisar as alternativasda questão.

(A) Está errada. Como já foi exposto, o baixo acoplamento é desejável em um bom projetode módulos.

(B) Correta. É importante que um escopo de efeito de uma decisão de um módulo es-teja dentro do seu escopo de controle.

(C) Errada. A coesão funcional é a forma de coesão mais importante para um bom projeto,pois consiste em atribuir somente uma tarefa para um determinado módulo para resoluçãode um problema.

(D) Errada também. Ao adotarmos o acoplamento por conteúdo, estaremos ignorandoas principais vantagens da modularização como a reutilização e a facilidade de adaptação.

(E) Na coesão lógica, um módulo faz um conjunto de funções relacionadas, uma das quaisé escolhida através de um parâmetro ao chamar o módulo. Um exemplo abaixo.

public void faça(int flag) {

switch(flag) {

case ON:

// passos para tratar de ON

break;

case OFF:

// passos para tratar de OFF

break;

case FECHAR:

// passos para tratar de FECHAR

break;

case COR:

// passos para tratar de COR

break;

}

}

Tal tipo de coesão não é desejável para um bom projeto na maioria do casos. A alternativa

Página 89 de 114www.handbookdeti.com.br

Page 91: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

E está errada. A solução para obtermos uma melhor coesão é quebrarmos o módulo emmódulos diferentes cada qual com a sua função especí�ca.

Página 90 de 114www.handbookdeti.com.br

Page 92: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

40. Assuntos relacionados: Engenharia de Software, Orientação a Objeto,Banca: FCCInstituição: TRT 18a RegiãoCargo: Analista Judiciário - Tecnologia da InformaçãoAno: 2008Questão: 27

São dois conceitos utilizados especi�camente nos modelos orientados a objetos:

(a). �uxo de dados e herança.

(b). entidade externa e classe.

(c). método e polimor�smo.

(d). seleção e processo.

(e). depósito de dados e relacionamento.

Solução:

No paradigma orientado a objeto, pressupõe-se que o mundo é composto por objetos, ondeum objeto combina estrutura de dados e comportamento funcional. Neste paradigma, ossistemas são estruturados a partir dos objetos existentes no domínio do problema, ou seja,como os objetos interagem. Este paradigma tem origem no projeto de banco de dados e,normalmente, o modelo de Entidade e Relacionamento (ER) é utilizando como principalferramenta.

A orientação a objeto oferece alguns conceitos para a modelagem de sistemas, entre eles:objetos, atributos, comportamento, identidade, classes e instâncias, abstração, encapsula-mento, modularidade, hierarquia, mensagens, sobrecarga, polimor�smo, interfaces e pacotes.

Em sistemas modelados com base no paradigma orientado a objetos, os objetos relacionam-se uns com outros. Vários mecanismos têm sido propostos para a estruturação de classese objetos, entre eles: ligações e associações, agregações ou composições e generalização eespecialização.

Algumas linguagens de programação que dão suporte a orientação a objetos: Smaltalk, Perl,Python, Ruby, PHP, ColdFusion, C++, Object Pascal, Java, JavaScript, ActionScript, Del-phi e C#.

A seguir, analisamos as alternativas desta questão:

(A) ERRADA

O conceito de �uxo de dados está relacionado ao paradigma estruturado, que, basicamente,consiste em um modelo de entrada-processamento-saída, e os dados são considerados sepa-radamente das funções que os transformam.

O conceito de herança é utilizado no modelo orientado a objeto. A herança é um mecan-ismo que permite criar novas classes a partir de classes já existentes. A classe nova criada,chamada de subclasse, aproveita (herda) todas as características (atributos e operações) daclasse existente, chamada de superclasse.

As subclasses não estão limitadas somente aos atributos e às operações (métodos) herdados

Página 91 de 114www.handbookdeti.com.br

Page 93: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

da superclasse. Elas podem criar novos atributos e métodos a aqueles herdados e podemherdar características de uma ou mais superclasse.

Portanto, a alternativa está errada porque o termo �uxo de dados não é um conceito uti-lizado no paradigma de orientação a objeto.

(B) ERRADA

O conceito de entidade externa está relacionado com o Diagrama de Fluxo de Dados damodelagem de sistemas e representa fontes ou destinos de dados de um sistema. Tipica-mente, uma entidade externa pode representar pessoas, sistemas ou empresas.

O conceito de classe é utilizado no modelo orientado a objeto. Uma classe descreve um con-junto de objetos com as mesmas propriedades (atributos), mesmo comportamento (método),mesmos relacionamentos com outros objetos e a mesma semântica. Os objetos que se com-portam da maneira especi�cada pela classe são ditos instâncias dessa classe. Todo objetopertence a uma classe, isto é, é instância de uma classe.

Portanto, a alternativa está errada porque o termo entidade externa não é um conceitoespecí�co do paradigma de orientação a objeto.

(C) CORRETA

Tanto o conceito de método quanto de polimor�smo é utilizado especi�camente no mod-elo orientado a objeto. Logo, alternativa correta.

Os métodos ou operações são utilizados para recuperar ou manipular o estado (propriedades)de um objeto. O estado de um objeto corresponde ao conjunto de suas propriedades e érepresentado como atributo. O método é análogo às funções da programação estruturada.

A comunicação entre os objetos ocorrem por meio de troca de mensagens. Uma mensagemconsiste do nome do método e dos argumentos requeridos. A mensagem é utilizada paraacessar os atributos de um objeto, podendo alterar o estado do objeto.

O polimor�smo está ligado à comunicação entre objetos. Signi�ca que uma mesma men-sagem enviada a diferentes objetos resulta em um comportamento que dependente da classedo objeto que está recebendo a mensagem. Ou seja, uma mensagem pode ser interpretadade diferentes maneiras, dependendo da classe do objeto receptor e, é o objeto receptor quedetermina a interpretação da mensagem e não o objeto emissor. Então, o polimor�smo écaracterizado como o fato de uma operação poder ser implementada de diferentes maneirasem diferentes classes. A Figura ?? mostra um exemplo de polimor�smo.

Note neste exemplo, que apesar do método calcular ter sido chamado duas vezes pelo métodomostrarCalculo, o comportamento do objeto varia de acordo com a classe ao qual o objetopertence (Soma ou Subtração).

Aliado ao conceito de polimor�smo há outro conceito que precisar ser explicado: o de so-brecarga. Uma operação é dita polimór�ca se ela existe com a mesma assinatura (númeroe tipo de argumentos e valor de retorno) e os métodos que a implementam conservam umaúnica semântica. Na sobrecarga, as operações não têm necessariamente a mesma semântica

Página 92 de 114www.handbookdeti.com.br

Page 94: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

e não existe necessidade de preservar a assinatura. Na prática, as operações de sobrecargasão, normalmente, uma coincidência na escolha de nomes das operações.

public abstract class OpMat

{

public abstract double calcular(double x, double y);

}

public class Soma extends OpMat

{

public double calcular(double x, double y)

{

return x+y;

}

}

public class Subtracao extends OpMat

{

public double calcular(double x, double y)

{

return x-y;

}

}

public class Contas

{

public static void mostrarCalculo(OpMat operacao, double x, double y)

{

system.out.println("O resultado é: " + operacao.calcular(x, y);

}

public static void main( String args[] )

{

//Primeiro calculamos uma soma

Contas.mostrarCalculo(new Soma(), 5, 5); //O resultado é: 10

Contas.mostrarCalculo(new Subtracao(), 5, 5); //O resultado é: 0

}

}

(D) ERRADA

O conceito de seleção e processo não são, especi�camente, utilizados na modelo de ori-entação a objetos. Por exemplo, o conceito de seleção pode estar relacionado à instrução deseleção se-então-senão.

Portanto, a alternativa está errada porque os termos seleção e processo não são conceitosespecí�cos do paradigma de orientação a objeto.

(E) ERRADA

O conceito de depósito de dados não está relacionado ao modelo orientado a objetos, e

Página 93 de 114www.handbookdeti.com.br

Page 95: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

o conceito de relacionamento também não está, especi�camente, relacionado modelo orien-tado a objeto. Relacionamento, por exemplo, pode estar relacionado à modelagem de casosde uso e ao modelo de Entidade e Relacionamento. No modelo de orientação a objetos, umaforma de representar os relacionamentos é por meio de associação ou ligações e composiçãoou agregação.

Portanto, a alternativa está errada porque os termos depósito de dados e relacionamentonão são conceitos especí�cos do paradigma de orientação a objeto.

Página 94 de 114www.handbookdeti.com.br

Page 96: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

41. Assuntos relacionados: Engenharia de Software, Orientação a Objeto, Atributos e Classes,

Banca: FCCInstituição: TRT 18a RegiãoCargo: Analista Judiciário - Tecnologia da InformaçãoAno: 2008Questão: 28

O acesso aos atributos e operações das classes somente por intermédio de serviços (men-sagens) que conhecem suas interfaces é uma proteção garantida

(a). pela sub-classe.

(b). pela herança.

(c). pelo balanceamento.

(d). pela agregação.

(e). pelo encapsulamento.

Solução:

No modelo orientado a objetos, a comunicação entre os objetos ocorrem por meio de trocade mensagens. Uma mensagem consiste do nome do método (da operação) e dos argumentosrequeridos. A mensagem é utilizada para acessar os atributos de um objeto, podendo alteraro estado desse objeto.A seguir, analisamos as alternativas desta questão:

(A) ERRADA

Uma subclasse herda todas as características (atributos e métodos) de uma superclasse.A subclasse por herdar as características da superclasse não garante a proteção aos atribu-tos e às operações de uma classe. Logo, alternativa, errada.

(B) ERRADA

A herança é um mecanismo que permite criar novas classes a partir de classes já exis-tentes. A classe nova criada, chamada de subclasses, herda todos os atributos e métodosda superclasse. A herança não garante a proteção a atributos e operações de uma classe.Portanto, alternativa errada.

(C) ERRADA

O termo balanceamento não é utilizado no modelo de orientação a objeto. Logo, alter-nativa errada.

(D) ERRADA

As ligações e associações são formas de representar relacionamentos entre objetos e classes,respectivamente. Uma ligação é uma conexão entre objetos, e uma associação descreve umconjunto de ligações com estrutura e semântica comuns. Todas as ligações de uma asso-ciação interligam objetos da mesma classe. No exemplo �o empregado José trabalha nodepartamento de Informática�, temos um relacionamento entre o objeto empregado José eo objeto departamento Informática. Neste exemplo, uma ligação é representada entre José

Página 95 de 114www.handbookdeti.com.br

Page 97: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

e Informática e uma associação é representada entre as classes empregado e departamento.

A agregação é um tipo forte de associação, onde um objeto agregado é constituído de váriosobjetos componentes. Por exemplo, um carro é composto por motor, rodas, carroceria,etc. Um motor, por sua vez, é composto de bloco, válvulas, pistões, etc. A agregação érepresentada pelo relacionamento �todo-parte� ou �uma-parte-de� no qual os objetos, querepresentam os componentes de alguma coisa (classe parte), são associados a um objetorepresentando o todo (classe todo). Na agregação, a classe todo existe independente daclasse parte (e vice-versa), não existe uma �ligação forte� entre as duas classes e os objetosda classe todo são independentes da classe parte.

A agregação não garante proteção aos atributos e às operações de uma classe. Logo, al-ternativa, errada.

(E) CORRETA

O encapsulamento consiste na separação dos aspectos externos de um objeto, acessíveispor outros objetos, de seus detalhes internos de implementação, que �cam ocultos dos de-mais objetos. Este mecanismo é utilizado para impedir o acesso direto aos atributos de umobjeto, disponibilizando métodos que alterem esses atributos.

Com encapsulamento, não há necessidade de saber como as operações encapsuladas estãoimplementadas, mas apenas o que as operações realizam. Se uma operação está encapsulada,apenas o objeto que a de�ne precisa ser modi�cado. A principal motivação para o encap-sulamento é facilitar a reutilização de códigos. A utilização de encapsulamento é possívelgarantir a proteção aos atributos e as operações das classes. Portanto, alternativa correta.

Página 96 de 114www.handbookdeti.com.br

Page 98: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

42. Assuntos relacionados: Engenharia de Software, Orientação a Objeto, Associação entreClasses,Banca: FCCInstituição: TRT 18a RegiãoCargo: Analista Judiciário - Tecnologia da InformaçãoAno: 2008Questão: 29

Na associação entre classes, o número de instâncias de uma classe que pode se relacionarcom outra é de�nido

(a). unicamente pela quantidade de objetos contidos na classe-mãe.

(b). nas operações das classes.

(c). nos atributos das classes.

(d). pela multiplicidade.

(e). pela quantidade de características mutuamente herdadas.

Solução:

Relacionamentos são representações estáticas que modelam associações entre objetos. Cadaclasse desempenha um papel na associação, e para cada papel é possível especi�car a mul-tiplicidade (cardinalidade) de uma classe, que indica quantos objetos de uma classe podemestar associados a um objeto de outra classe. Em geral, a multiplicidade indica a fronteirainferior e superior para os objetos participantes de um relacionamento.

Por exemplo, em uma empresa, um empregado está lotado em um departamento e, op-cionalmente, o empregado pode ser chefe do departamento. Por sua vez, um departamentopode ter vários empregados lotados, mas apenas um chefe. No relacionamento empregadoe departamento, um empregado tem um e somente um departamento. No relacionamentodepartamento e chefe, um departamento possui um e somente um chefe.

Neste exemplo, mostramos o tipo de multiplicidade um para um, mas existem outros, como:zero ou um, um para muitos, zero ou muitos, muitos para muitos, etc.

A seguir, analisamos as alternativas desta questão:

(A) ERRADA

Os objetos são instâncias de uma classe e não estão contidos na classe, e também nãotem nenhuma relação com a multiplicidade de relacionamento de uma classe. Logo, alter-nativa errada.

(B) ERRADA

As operações de uma classe são utilizadas para recuperar ou manipular o estado (pro-priedades) de um objeto, e não para especi�car relacionamento entre classes. Portanto,alternativa errada.

(C) ERRADA

Os atributos de�nem as propriedades de um objeto, e não são utilizados para especi�car

Página 97 de 114www.handbookdeti.com.br

Page 99: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

relacionamento entre classes. Logo, alternativa errada.

(D) CORRETA

O número de instâncias que pode se relacionar com outra é de�nido pela multiplicidadeou cardinalidade, conforme explicado anteriormente. Portanto, alternativa correta.

(E) ERRADA

A herança é um mecanismo para modelar similaridades entre classes, e por meio dela, épossível tornar explícitos atributos e serviços comuns em uma hierarquia de classes. A her-ança não é utilizada para especi�car o número de instâncias em um relacionamento entreclasses. Logo, alternativa errada.

Página 98 de 114www.handbookdeti.com.br

Page 100: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

43. Assuntos relacionados: Engenharia de Software, Orientação a Objeto, Relacionamentosentre Classes,Banca: FCCInstituição: TRT 18a RegiãoCargo: Analista Judiciário - Tecnologia da InformaçãoAno: 2008Questão: 30

São dois tipos de relacionamento todo-parte:

(a). agregação e composição.

(b). generalização e composição.

(c). generalização e especialização.

(d). composição e dependência.

(e). especialização e agregação.

Solução:

Vários tipos de relacionamento têm sido propostos para estruturar classes e objetos na orien-tação a objeto, entre eles: associação, composição, agregação, generalização e especialização.

As ligações e associações são formas de representar relacionamentos entre objetos e classes,respectivamente. Uma ligação é uma conexão entre objetos, e uma associação descreve umconjunto de ligações com estrutura e semântica comuns. Todas as ligações de uma asso-ciação interligam objetos de mesma classe. No exemplo �o empregado José trabalha nodepartamento de Informática�, temos um relacionamento entre o objeto empregado José eo objeto departamento Informática. Neste exemplo, uma ligação é representada entre Josée Informática e uma associação é representada entre as classes empregado e departamento.

A composição e a agregação são um tipo forte de associação, onde um objeto agregadoé constituído de vários objetos componentes. Por exemplo, um carro é composto por mo-tor, rodas, carroceria, etc. Um motor, por sua vez, é composto de bloco, válvulas, pistões,etc. A agregação e a composição são representadas pelo relacionamento �todo-parte� ou�uma-parte-de� no qual os objetos, que representam os componentes de alguma coisa (classeparte), são associados a um objeto representando o todo (classe todo).

Na agregação, a classe todo existe independente da classe parte (e vice-versa), não existeuma �ligação forte� entre as duas classes e os objetos da classe todo são independentes daclasse parte. Por outro lado, na composição, existe uma �ligação forte� entre a classe todoe a classe parte e os objetos da classe parte são dependentes da classe todo. Um exemplode agregação é a relação entre a classe todo Apartamento e a classe parte Garagem. Umexemplo de composição é a relação entre a classe todo Edifício e a classe parte Apartamento.

Muitas vezes, um conceito geral pode ser especializado, adicionando novas características.Por exemplo, no conceito de estudantes, há características que são intrínsecas a quaisquerestudantes, e é possível especializar este conceito para mostrar as especi�cidades de subtiposde estudantes, tais como estudantes do 1o grau, do 2o grau, de graduação e pós-graduação.De maneira inversa, é possível extrair um conjunto de conceitos, características comuns que,quando generalizadas, formam um conceito geral. Por exemplo, ao avaliarmos o conceitoque temos de carros, motos, caminhões e ônibus, podemos notar que esses possuem carac-terísticas comuns que podem ser generalizadas em classe mais geral. O primeiro exemplo é

Página 99 de 114www.handbookdeti.com.br

Page 101: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

de especialização e o segundo exemplo é de generalização.

A generalização permite de�nir, a partir de um conjunto de classes, uma classe mais geralcontendo todas as características comuns entre esse conjunto de classes. A especialização éuma operação inversa, isto é, a partir de uma classe geral, a especialização de�ni um númerode subclasses, explicitando as diferenças entre as novas subclasses. Com a especialização ea generalização é possível capturar similaridades entre classes, dispondo-as em hierarquiasde classes.

De acordo com o explicado anteriormente, os tipos de relacionamento todo-parte são aagregação e a composição. Portanto, alternativa correta é a (A).

Página 100 de 114www.handbookdeti.com.br

Page 102: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

44. Assuntos relacionados: Engenharia de Software, Orientação a Objeto, Herança,Banca: FCCInstituição: TRT 18a RegiãoCargo: Analista Judiciário - Tecnologia da InformaçãoAno: 2008Questão: 31

Em um diagrama de classes, considere que Seguridade e Imóveis herdam características deAtivos. A classe ItemSuportado é super-classe de Imóveis mas não de Ativos. Nesse cenário,o relacionamento geral em que se envolve Imóveis caracteriza-se por

(a). ocultação.

(b). herança múltipla.

(c). dependência.

(d). polimor�smo.

(e). composição.

Solução:

A herança é um mecanismo que permite criar novas classes a partir de classes já existentes,aproveitando-se das características existentes na classe a ser estendida. Com a herança épossível criar classes derivadas (subclasses) a partir de classes bases (superclasses).

As subclasses herdam todas as características de suas superclasses, como suas variáveis(estado) e seus métodos (comportamento). Entretanto, as subclasses não estão limitadasao comportamento herdado de sua superclasse. As subclasses podem adicionar variáveis emétodos a aqueles herdados.

Quando uma subclasse herda características de uma única superclasse, tem-se herança sim-ples. Quando uma classe é de�nida a partir de duas ou mais superclasses, tem-se herançamúltipla. É importante observar, no entanto, que na herança múltipla podem ocorrer doisproblemas: colisão de nomes herdados a partir de diferentes superclasses e a possibilidadede herança repetida. A colisão quando uma classe C herda de duas classes A e B, sendo queA possui um atributo de mesmo nome que na classe B. Assim, como será a característicadesse atributo na classe C. A herança repetida ocorre quando a classe D herda das classesB e C, que por sua vez herdam da classe, isto é, a classe D herda, indiretamente, duas vezesda classe A.

No enunciado desta questão, temos um exemplo de hierarquia entre classes. A Figura 5ilustra a herança das classes Seguridade, Imóveis, Ativos e ItemSuportado.

Figura 5: herança entre as classes.

Página 101 de 114www.handbookdeti.com.br

Page 103: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

A classe Ativos é superclasse das classes Seguridade e Imóveis, isto é, Seguridade e Imóveissão subclasses de Ativos. A classe Imóveis também é subclasse da superclasse ItemSupor-tado. A subclasse Imóveis herda características das classes Ativos e ItemSegurado, carac-terizando uma herança múltipla. Portanto, a alternativa correta é a (B).

Página 102 de 114www.handbookdeti.com.br

Page 104: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

45. Assuntos relacionados: UML,Banca: FCCInstituição: TRT 18a RegiãoCargo: Analista Judiciário - Tecnologia da InformaçãoAno: 2008Questão: 35

Na notação original da UML 2.0, os símbolos + (mais) e # (jogo da velha), antecedendo asoperações de uma classe, caracterizam tais operações, respectivamente, como

(a). pública e protegida.

(b). protegida e privada.

(c). pública e privada.

(d). pacote e protegida.

(e). pública e pacote.

Solução:

Em UML, a Visibilidade é uma enumeração cujos valores indicam se o elemento de mode-lagem ao qual se referem podem ser vistos fora de seu espaço de nome (namespace). Umnamespace, por sua vez, é a parte do modelo na qual o nome pode ser de�nido ou usado.Dentro de um namespace, cada nome tem um signi�cado único.

A visibilidade pode ser aplicada aos atributos e às operações em relação a uma classe ouentre classes e o pacote onde ela foi de�nida (seu contêiner). A UML de�ne 4 níveis devisibilidade, mostrados na Tabela 2.

Símbolo Visibilidade Descrição+ Público Qualquer classe que possa ver o container

também pode ver e usar as classes.- Privado Apenas classes do mesmo container podem ver e

usar a classe.# Protegido Apenas classes do mesmo container ou de containers

descendentes podem ver usar as classes.∼ Pacote Apenas classes do mesmo package que o container

podem ver e usar as classes.

Tabela 2: níveis de visibilidade UML.

Atributos e operações com visibilidade pública em uma classe, por exemplo, podem ser vis-tos e utilizados por outras classes, enquanto atributos e operações com visibilidade privadapodem ser vistos e utilizados apenas pela classe que os contém.

Portanto, a resposta da questão é a alternativa A.

Página 103 de 114www.handbookdeti.com.br

Page 105: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

46. Assuntos relacionados: Engenharia de Software, Testes de Software,Banca: FCCInstituição: TRT 18a RegiãoCargo: Analista Judiciário - Tecnologia da InformaçãoAno: 2008Questão: 36

Uma sistemática para construção da arquitetura do software enquanto, ao mesmo tempo,conduz ao descobrimento de erros associados às interfaces é a estratégia de teste de softwaredenominada de

(a). sistema.

(b). unidade.

(c). validação.

(d). arquitetura.

(e). integração.

Solução:

O primeiro passo para a resolução da questão é compreender do que se trata o termo �inter-faces�. As interfaces são os pontos do software em que um componente interage com outro,ou pontos em que o sistema como um todo interage com outros sistemas. Portanto, os testesdas interfaces do software testam a integração entre os diversos componentes do sistema, ea integração do sistemas com outros.

Com isso, a resposta da questão é a alternativa E, testes de integração. Agora, vamossaber um pouco mais sobre os tipos de testes apresentados nas demais alternativas.

• Testes de Sistema: O objetivo dos testes de sistema é executar o sistema sob ponto devista de seu usuário �nal em busca de falhas. Os testes são executados em condiçõessimilares - de ambiente, interfaces e de dados - àquelas as quais o usuário estará sub-metido ao utilizar o sistema;

• Testes de Unidade: As �unidades� podem ser entendidas como sendo as menoresunidades de software desenvolvidas, ou como partes ou módulos do sistema. Por estemotivo, os testes unitários também são conhecidos como testes de módulo;

• Testes de Validação: De acordo com a de�nição apresentada pelo CMMI, a validação éo processo de avaliar se o software satisfaz os requisitos especi�cados. A validação estáintimamente ligada a outra etapa, também de�nida pelo CMMI, chamada Veri�cação.A veri�cação, por sua vez, visa assegurar que o software está sendo construído de acordocom a especi�cações.

Por �m, vamos discutir um pouco a alternativa D, arquitetura. O termo arquitetura desoftware remete, primordialmente, aos estudo dos componentes do software, das suas pro-priedades externas, e de seus relacionamentos com outros softwares.

Os �componentes� do software, como já vimos, são testados individualmente nos testesunitários. A integração entre eles, por sua vez, é testada nos testes de integração. Ouseja, testar a arquitetura deverá envolver, minimamente, testar os componentes do softwaree sua integração.

Nesse ponto, esperamos que o candidato já tenha despertado para a amplitude do termos

Página 104 de 114www.handbookdeti.com.br

Page 106: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

arquitetura. Porém, para reforçar ainda mais este fato, vamos ver o que as normas o�ciaisfalam sobre o tema.

Na Ontologia estabelecida pela ANSI/IEEE 1471-2000, a arquitetura de software é nor-malmente organizada em �visões�. As visões são de�nidas como instâncias de pontos devista, servindo para descrever a arquitetura na perspectiva de um conjunto de stakeholders.Exemplos de visões são:

• Visão funcional (relacionada às funcionalidades e lógica do software)

• Visão de código (relacionada aos códigos fonte do software)

• Visão de desenvolvimento (relacionada a estrutura do software)

• Visão de concorrência (relacionada aos processos e threads do software)

• Visão física (relacionada a evolução do software)

• Visão de ação do usuário (relacionada ao feedback dos usuários)

Concluindo, a arquitetura de software é uma disciplina bem ampla e genérica que permeiainúmeros aspectos do processo de desenvolvimento e uso do software. Além disso, o carátergenérico e abstrato do assunto é reforçado pelo fato do tema ser abordado por uma Ontologiaque, ainda por cima, pode ser considerada recente.

Página 105 de 114www.handbookdeti.com.br

Page 107: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

47. Assuntos relacionados: Engenharia de Software, Testes de Software,Banca: FCCInstituição: TRT 18a RegiãoCargo: Analista Judiciário - Tecnologia da InformaçãoAno: 2008Questão: 37

NÃO se trata de uma categoria de erros encontrados por meio de teste caixa-preta:

(a). Conjunto básico de caminhos de execução.

(b). Funções incorretas ou omitidas.

(c). Acesso à base de dados externa.

(d). Comportamento ou desempenho.

(e). Iniciação e término.

Solução:

Os métodos de teste caixa-preta concentram-se nos requisitos funcionais do software. Emoutras palavras, nos testes caixa-preta o testador não está interessado em como as entradassão processadas, mas apenas se as saídas são coerentes com os dados fornecidos na entrada.

Os principais objetivos dos testes caixa-preta são descobrir erros de interface, erros nasestruturas de dados, erros de acesso a banco de dados externos, erros de desempenho, errosde inicialização e de término, e também detectar funções incorretas ou ausentes.

Já os erros relacionados aos caminhos de execução só podem ser detectados por testes caixa-branca. Com isso, a resposta da questão é a alternativa A.

Sobre os testes de caixa-preta, ainda é importante ressaltar que eles geralmente são apli-cados durante as últimas etapas da atividade de teste, concentrando-se no domínio dasinformações. Alguns exemplos de métodos de testes caixa-preta são mostrados a seguir:

• Particionamento de equivalência: Esse método consiste em dividir o domínio de en-trada de um programa em classes de dados a partir das quais os casos de teste podemser derivados. O particionamento de equivalência procura de�nir casos de testes quedescubram classes de erros, reduzindo o número total de teste que devem ser realizados;

• Análise de valor limite: O objetivo do análise do valor limite é por a prova os valoresfronteiriços das entradas de dados, tendo em vista o fato de que a maior parte dos errostende a ocorrer nas fronteiras do domínio de entrada;

• Técnicas de grafo de causa-efeito: O grafo de causa-efeito é uma técnica de projetos decaso de teste que oferece uma uma representação concisa das condições lógicas e dasações correspondentes;

• Testes de comparação: Os testes de comparação, também conhecidos como testes back-to-back, são utilizados quando a con�abilidade do software é absolutamente crítica.Para aplicar a técnica, defende-se que versões independentes de software sejam de-senvolvidas para as aplicações. O método de comparação não é infalível, pois se aespeci�cação a partir da qual todas as versões foram desenvolvidas estiver errada,provavelmente todas as versões re�etirão o erro. Além disso, se cada uma das versõesindependentes produzir resultados idênticos, mas incorretos, os testes de condiçõesdeixarão de detectar o erro.

Página 106 de 114www.handbookdeti.com.br

Page 108: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

48. Assuntos relacionados: Banco de Dados, Primeira Forma Normal (1FN), Segunda FormaNormal (2FN), Terceira Forma Normal (3FN),Banca: FCCInstituição: TRT 18a RegiãoCargo: Analista Judiciário - Tecnologia da InformaçãoAno: 2008Questão: 45

Dadas as tabelas abaixo com os respectivos atributos, sendo chave os atributos grifados:

I PEDIDO (num-ped, data-ped, total-ped, cod-cliente, nome-cli, endereço-cli)

II ITEM (num-ped, cod-produto, qtde-prod, preço-total)

III PRODUTO (cod-produto, nome-prod, preço-unitário)

Encontra-se na 3FN o que consta em

(a). I, II e III.

(b). I, apenas.

(c). II, apenas.

(d). III, apenas.

(e). II e III, apenas.

Solução:

Como este assunto é muito cobrado nos concursos em geral, vamos explorar diversos conceitosimportantes para se resolver esta questão com con�ança.

• superchave: é um conjunto de um ou mais atributos que permite a identi�caçãounívoca de cada entidade em um conjunto de entidades. Na nomenclatura destaquestão, uma superchave identi�ca de forma única cada linha de uma tabela. Porexemplo, na relação (conceito que o enunciado deveria utilizar no lugar de tabela)ITEM, o conjunto {num-ped; preço-total} é uma superchave, pois ele pode identi�carde forma única cada item dessa relação. É importante perceber que toda relação tempelo menos uma superchave: conjunto de todos os seus atributos;

• chave candidata: é uma superchave tal que nenhum dos seus subconjuntos de atrib-utos é uma superchave. Ou seja, se pudermos retirar pelo menos um atributo de umasuperchave e ela continuar sendo uma superchave, a superchave inicial não é uma chavecandidata. Por exemplo, quando tiramos o atributo preço-total da superchave {num-ped; preço-total}, continuamos com uma superchave num-ped, pois num-ped identi�caunivocamente cada elemento da relação ITEM. Portanto, {num-ped; preço-total} nãoé uma chave candidata. Outra forma de entender o signi�cado de chave candidata épensar que ela é um subconjunto mínimo de atributos capaz de identi�car de formaúnica cada item de uma relação. Não se esqueça que um relação pode ter mais de umachave candidata;

• chave primaria: é simplesmente uma das chaves candidatas de uma relação. É oprojetista que faz essa escolha, quando há mais de uma chave candidata;

• dependência funcional: se para cada valor de um atributo A, existe exatamente umvalor para o atributo B, dizemos que B é dependente funcional de A (A → B) e queA é o determinante de B. Um bom exemplo é formado pelos atributos CIDADE A eESTADO B. Como toda cidade implica em somente um estado, temos que A → B;

Página 107 de 114www.handbookdeti.com.br

Page 109: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

• dependência funcional parcial: em uma dependência do tipo A → B, se existir umsubconjunto de A tal que ele determine B, dizemos que B é dependente funcional parcialde A. Exemplo: em {CIDADE; BAIRRO} → ESTADO, como CIDADE → ESTADO,dizemos que ESTADO é dependente funcional parcial de {CIDADE; BAIRRO}. Casonão exista esse tipo de subconjunto de A, dizemos que B é dependente funcional totalde A;

• dependência funcional trivial: indica que um determinante com mais de um atrib-uto determina seus próprios membros quando isolado. Exemplo: {banco; agencia} →{agencia}

• dependência funcional não-trivial: indica que um determinante identi�ca outroatributo qualquer {banco; agencia} → {cidade};

• dependência funcional transitiva: se um atributo A determina B e B determinaC, então, A determina C de forma transitiva. Exemplo: cidade → estado, estado →país, então cidade → país;

• atributo primo: atributo membro de qualquer chave candidata (pelo menos uma).Dois exemplos dentro desta questão são: cod-produto e num-ped. Perceba que todosos atributos de uma chave primária são primos;

• atributo não-primo: atributo que não ocorre em nenhuma chave candidata de umarelação. O atributo preço-unitário da relação PRODUTO é um exemplo de atributonão-primo;

• 1FN: ela diz respeito a atributos. Para que uma relação esteja na 1FN, ela não podeter nem atributos multivalorados nem relações aninhadas (objetos representados emmais de um registro);

• 2FN: ela diz respeito a dependência funcional parcial. Uma relação somente está na2FN se não houver atributo não-primo dependente funcional parcial de qualquer chavecandidata. Ou seja, se houver pelo menos um atributo não-primo dependente funcionalparcial de pelo menos uma chave candidata, a relação não estará na 2FN. Lembrandotambém que para uma relação estar na 2FN, ela também deve estar na 1FN;

• 3FN: ela diz respeito a dependência funcional transitiva. Para que uma relação estejana 3FN, ela não pode ter atributo não-primo dependente transitivamente de qualquerchave candidata. Ou seja, se houver pelo menos um atributo não-primo com dependên-cia funcional transitiva de pelo menos uma chave candidata, a relação não estará na3FN. Uma consequência é que para uma relação estar na 3FN, todos os atributos não-primo devem depender somente de atributos primos. Lembrando também que parauma relação estar na 3FN, ela também deve estar na 2FN e na 1FN;

As dependência funcional de uma relação são determinadas pelo negócio, e não pelo o bancode dados em si. Por isso, o ideal seria o enunciado trazer quais são as dependências fun-cionais existentes em cada relação. Na falta dessa especi�cação, o que nos resta é apelarpara o �bom-senso�.

Vamos analisar agora cada relação. Como o enunciado não menciona que algum atrib-uto pode ser multivalorado, concluímos que as 3 relações estão na 1FN.

PEDIDO (num-ped, data-ped, total-ped, cod-cliente, nome-cli, endereço-cli)

Como não há nenhuma chave candidata composta por mais de um atributo nesta relação,não há como existir dependência funcional parcial. Portando, esta relação está na 2FN.Perceba que cod-cliente → nome-cli e que esses dois atributos são não-primos. Isso já basta

Página 108 de 114www.handbookdeti.com.br

Page 110: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

para concluirmos que esta relação NÃO está na 3FN.

ITEM (num-ped, cod-produto, qtde-prod, preço-total)

Nesta relação, há dois atributos não-primos (qtde-prod e preço-total) e uma chave can-didata {num-ped; cod-produto}. Veja que (1) num-ped não determina nem qtde-prod nempreço-total; (2) cod-produto não determina nem qtde-prod nem preço-total. Portanto, nãohá dependência funcional parcial e, por consequência, esta relação está na 2FN. Como nãohá dependência funcional transitiva, esta relação está na 3FN.

PRODUTO (cod-produto, nome-prod, preço-unitário)

Pelo mesmo motivo da relação PEDIDO, concluímos também que esta relação está na 2FN.Como só há um atributo não-primo, não há como existir dependência funcional transitiva.Concluímos, portanto, que esta relação também está na 3FN.

Pelo o exposto, é possível identi�car facilmente que a alternativa correta é a letra e.

Página 109 de 114www.handbookdeti.com.br

Page 111: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

49. Assuntos relacionados: Banco de Dados, Commit, Savepoint, Rolling Back, Rolling For-ward,Banca: FCCInstituição: TRT 18a RegiãoCargo: Analista Judiciário - Tecnologia da InformaçãoAno: 2008Questão: 46

Antes do Oracle terminar uma transação deve acontecer explicitamente uma operação de

(a). commit ou savepoint, apenas.

(b). commit ou rolling back, apenas.

(c). commit ou rolling forward, apenas.

(d). rolling back ou rolling forward, apenas.

(e). commit, rolling back, rolling forward ou savepoint.

Solução:

Vamos, primeiramente, apresentar o que cada operação signi�ca:

• commit: operação que efetiva, no banco de dados, as alterações (insert, delete eupdate) realizadas em uma transação. Ou seja, as alterações de uma transação somentesão enxergadas por outras transações de outras sessões após um commit. Veja abaixoum exemplo de utilização deste operador:

SQL> insert into alunos (matricula, nome) values (1, `Ricardo Vargas`);

1 row created.

SQL> commit;

Commit complete.

• savepoint: marca um ponto (estado) na transação para onde se pode voltar com umrollback. Portanto, em transações mais complexas, se utiliza alguns savepoints paramarcar pontos para os quais seja possível realizar rollback. Dessa forma, estrategica-mente, apenas parte das alterações da transação é desfeita. Veja abaixo um exemplode utilização deste operador:

SQL> insert into alunos (matricula, nome) values (2, `Diogo Gobira`);

1 row created.

SQL> savepoint estado_1;

Savepoint created.

SQL> insert into alunos (matricula, nome) values (3, `André Camatta`);

1 row created.

SQL> savepoint estado_2;

Savepoint created.

• rolling back: em uma transação sem savepoints, esta operação desfaz todas as al-terações realizadas. Já em um transação com savepoints, um rollback desfaz todas asalterações realizadas após o último savepoint (volta-se ao estado do último savepoint).Veja abaixo um exemplo de utilização deste operador:

SQL> rollback to estado_1;

Rollback complete.

Página 110 de 114www.handbookdeti.com.br

Page 112: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

• rolling forward: é um recurso utilizado em caso de falha de banco de dados para queo seu estado imediatamente antes da falha seja restabelecido. Durante o funcionamentonormal de um banco de dados, todas as informações sobre operações são armazenadasem arquivos do tipo RedoFiles. Em situações de falha, logo após o banco de dadosvoltar a operar, esses arquivos são lidos e, então, as operações são refeitas.

Como se pode concluir dos itens acima, as operações savepoint e rolling forward não sãoobrigatórios até o término de cada transação. Isso porque savepoint é opcional e rollingforward somente é utilizado em casa do falha de bando de dados.

Tendo em vista o exposto, para que toda operação seja atômica e o banco de dados sejamantido consistente, é necessária ao �nal de cada transação a execução de um commit ouum rollback. Portanto, a alternativa que deve ser escolhida é a letra B.

Página 111 de 114www.handbookdeti.com.br

Page 113: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

50. Assuntos relacionados: Banco de Dados, PL/SQL,Banca: FCCInstituição: TRT 18a RegiãoCargo: Analista Judiciário - Tecnologia da InformaçãoAno: 2008Questão: 47

A estrutura de controle Iteração pode ser utilizada em PL/SQL com os comandos

(a). LOOP, CASE-LOOP, WHILE-LOOP e FOR-LOOP.

(b). LOOP, CASE-LOOP e WHILE-LOOP.

(c). LOOP, CASE-LOOP e FOR-LOOP.

(d). CASE-LOOP, WHILE-LOOP e FOR-LOOP.

(e). LOOP, WHILE-LOOP e FOR-LOOP.

Solução:

PL/SQL é o acrônimo para �Procedural Language/Structured Query Language�. Ou seja,PL/SQL é uma linguagem procedural que estende SQL. Ela foi desenvolvida pela OracleCorporation e, portanto, é utilizada em banco de dados Oracle.

O surgimento da PL/SQL aconteceu em 1991 para o Oracle 6.0. Antes disso, os desen-volvedores tinham que embutir instruções do tipo SQL nos códigos-fonte procedurais (porexemplo, dentro de códigos C). Com o aparecimento da PL/SQL isso mudou. Todo o códigoprocedural e também as instruções relacionadas ao banco podem ser escritos diretamenteem PL/SQL.

Essa linguagem suporta variáveis, condições, loops, arrays, exceções, funções e procedi-mentos.

A estrutura básica do PL/SQL é chamada de bloco. Portanto, um programa escrito nessalinguagem é composto por blocos. Geralmente, um bloco é desenvolvido para efetuar umaação lógica no programa. Cada bloco é estruturado da seguinte forma:

DECLARE

Seção onde são feitas as declaradas locais: subprogramas e variáveis

e seus tipos. Esta seção não é obrigatória.

BEGIN

Seção que contém o que será executado de fato: instruções procedurais

e SQL. Esta seção é obrigatória.

EXCEPTION

Seção onde ficam as instruções de tratamento de erro. Esta seção

também não é obrigatória.

END

Um exemplo bem básico é apresentado a seguir:

DECLARE

i NUMBER := 1;

BEGIN

LOOP

Página 112 de 114www.handbookdeti.com.br

Page 114: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

INSERT INTO T1 VALUES(i,i);

i := i+1;

EXIT WHEN i>100;

END LOOP;

END;

Especi�camente com relação a estrutura de controle do tipo iteração, PL/SQL possui osseguintes recursos: LOOP, WHILE, FOR e Cursor FOR. Os três primeiros são bem con-hecidos e geralmente estão presentes nas linguagem procedurais. Já o quarto é um tipoespecial de FOR em que uma variável assume o lugar de registros de uma relação. Abaixoum exemplo para facilitar o entendimento.

DECLARE

CURSOR cursor_person IS

SELECT person_code FROM people_table;

BEGIN

FOR RecordIndex IN cursor_person

LOOP

DBMS_OUTPUT.PUT_LINE(RecordIndex.person_code);

END LOOP;

END;

Nesta questão, a alternativa E é a única que traz apenas comandos PL/SQL relacionados acontrole de iteração. Portanto, é essa a alternativa correta.

Página 113 de 114www.handbookdeti.com.br

Page 115: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

Questao Resposta

1 D

2 C

3 A

4 C

5 A

6 B

7 D

8 E

9 C

10 D

11 D

12 E

13 B

14 A

15 B

16 D

17 C

18 D

19 E

20 A

21 E

22 C

23 E

24 D

25 C

26 E

27 B

28 E

29 A

30 A

31 A

32 A

33 D

34 E

35 B

36 D

37 A

38 E

39 B

40 C

41 E

42 D

43 A

44 B

45 A

46 E

47 A

48 E

49 B

50 E

Página 114 de 114 Handbook de TI Além do Gabarito

Page 116: handbook_questoes_vol4 - Cópia

Índice Remissivo

Álgebra Booleana, 75Árvores AVL, 85, 86Árvores Binárias, 85, 86

Algoritmos de Ordenação, 4, 73Arquitetura de Computadores, 84Associação entre Classes, 97Ataques DoS, 10Atributos e Classes, 95

Backbone Colapsado, 35Banco de Dados, 12, 14, 17, 107, 110, 112Baseline, 60Bytecode, 45

CMM, 59CMMI, 57, 60COBIT, 19, 28, 30, 31Coesão, 76Commit, 110Continual Service Improvement, 23, 26Controle Integrado de Mudanças, 59CSF, 31

DER, 55Diagrama de Atividades, 50Diagrama de Caso de Uso, 78Diagrama de Classes, 81Diagrama de Comunicação, 50, 52Diagrama de Objetos, 50Diagrama de Sequência, 50, 52, 53Diagrama de Tempo, 50Diretrizes de Gerenciamento, 31DNS, 37Domínios de Governança, 30DSDM, 47

Endereçamento IP, 64Engenharia de Software, 21, 78, 81, 91, 95, 97,

99, 101, 104, 106Entidade Associativa, 55Entidade Fraca, 55Estruturas de Dados, 6, 73, 85, 86Extreme Programming (XP), 47

Gerência de Redes, 67Gerenciamento de Memória, 84Gerenciamento de Projetos, 44Gerenciamento de Serviços, 23, 26

Governança de TI, 19, 23, 26, 28, 30, 31, 71

HDLC, 41Herança, 101

ISO 27001, 8Itens de Con�guração, 60ITIL, 23, 26

Java, 45

KGI, 31KPI, 31

Máquina Virtual Java (JVM), 45Método do Diagrama de Precedência (MDP),

44MER, 55Metodologia de Desenvolvimento de Software,

47Modelo de Maturidade, 31MVC, 47

Operadores de Controle Estruturados, 53Oracle, 12, 14, 17, 62Orientação a Objeto, 91, 95, 97, 99, 101

PL/SQL, 112Plano de Continuidade de Negócios, 71Plano de Gerenciamento de Con�guração, 57Primeira Forma Normal (1FN), 107Princípios de Governança, 28Programação, 4, 6Projeto de Software, 76Protocolo ARP, 37

Raciocínio Lógico, 75Rede Local, 35Redes de Computadores, 35, 37, 41, 64, 67Relacionamentos entre Classes, 99Requisitos de Negócio, 19Rolling Back, 110Rolling Forward, 110RSVP, 41RTPC, 41RUP, 57, 59, 60

Savepoint, 110Scrum, 47Segunda Forma Normal (2FN), 107Segurança da Informação, 8, 10Service Design, 23, 26Service Operation, 23, 26

115

Page 117: handbook_questoes_vol4 - Cópia

Handbook de Questões de TI Comentadas para Concursos Volume 04 � Edição 2

Service Strategy, 23, 26Service Transition, 23, 26SGSI, 8SMTP, 41SNMP, 41, 67SQL, 62SSL, 37

Tabela Hash, 6Terceira Forma Normal (3FN), 107Testes de Software, 21, 104, 106Tipos de Ataque, 10

UDP, 37UML, 50, 52, 53, 78, 81, 103

Página 116 de 114www.handbookdeti.com.br