Page 1

Grupo Handbook

Handbook de

Questões de TI comentadas para concursos Além do gabarito 2ª Edição

Volume 4

Questões FCC Parte 2 Fundação Carlos Chagas


Handbook de Questões de TI Comentadas para Concursos

Volume 04  Edição 2

Prefácio Este é o volume 4 da série

Gabarito

Handbook de Questões de TI Comentadas para Concursos  Além do

que complementa o volume 3 ao trazer para você 50 questões elaboradas pela banca

da Fundação Carlos Chagas, todas comentadas além do gabarito. A Fundação Carlos Chagas (FCC) é uma instituição privada sem ns lucrativos, reconhecida como de utilidade pública nos âmbitos federal, estadual e municipal. Em quarenta e cinco anos de existência, com mais de 2.600 concursos realizados e mais de 33 milhões de candidatos em todo o território nacional, a FCC encontra-se plenamente habilitada a realizar todo tipo de concurso. 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 tribunais 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ística dos concursos de TI da FCC é a abrangência multidisciplinar de seus editais, o que reete a demanda dos órgãos públicos por prossionais qualicados e generalistas. Levando em consideração tais características, a equipe Handbook de TI preparou os volumes 3 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 114

www.handbookdeti.com.br


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 Biblioteca Nacional. Todos os direitos autorais referentes a esta obra são reservados exclusivamente aos seus autores. Os autores deste material não proíbem seu compartilhamento entre amigos e colegas próximos de estudo. Contudo, a reprodução, parcial ou integral, e a disseminação deste material de forma indiscriminada através de qualquer meio, inclusive na Internet, extrapolam os limites da colaboração. Essa prática desincentiva o lançamento de novos produtos e enfraquece a comunidade concurseira Handbook de TI. A série

Handbook de Questões de TI Comentadas para Concursos  Além do Gabarito

produção independente e contamos com você para mantê-la sempre viva.

Grupo Handbook de TI

Página 2 de 114

www.handbookdeti.com.br

é uma


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 em http://www.handbookdeti.com.br/contacts

Twitter do Handbook de TI Que acompanhar de perto o trabalho do Grupo Handbook de TI. Cadastre-se no twitter e comece a seguir o grupo Handbook de TI em http://twitter.com/handbookdeti

Página 3 de 114

www.handbookdeti.com.br


Handbook de Questões de TI Comentadas para Concursos

1.

Volume 04  Edição 2

Assuntos relacionados: Programação, Algoritmos de Ordenação, Banca: FCC Instituição: TRT 15a Região Cargo: Analista Judiciário - Tecnologia da Informação Ano: 2009 Questão: 21 São algoritmos de classicaçã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 determinada 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 elementos sejam acessados de forma mais eciente. Os métodos de ordenação mais conhecidos e utilizados são os seguintes:

Ordenação por Troca

  •

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

Ordenação por Seleção

  •

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

Ordenação por Inserção

  •

BubbleSort (Método da Bolha)

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 únicos baseados na ordenação troca são o BubbleSort e o QuickSort.

Portanto, a resposta

da questão é a alternativa D. Tais algoritmos são classicados como de troca por que seus processos de ordenação se dão através de trocas entre pares de elementos do vetor. Embora o BubbleSort e o QuickSort se baseiem em trocas, seu funcionamento geral e o seu desempenho diferem substancialmente. O BubbleSort é, talvez, o método simples de ordenação, que funciona através de sucessivas trocas entre pares de elementos do vetor. O método realiza varreduras no vetor, trocando pares adjacentes de elementos sempre que o próximo elemento for menor que o anterior.

Página 4 de 114

www.handbookdeti.com.br


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 precisa mais ser comparado.

Dessa forma, após a i-ésima varredura, os i maiores elementos

estã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 passo do QuickSort, um elemento da lista é escolhido como pivô. Em seguida, a lista é rearranjada (por meio de trocas de posição entre os elementos) de modo que todos os elementos anteriores ao pivô sejam menores que ele, e todos os elementos posteriores ao pivô sejam maiores que ele. Ao m desse processo, que denomina-se particionamento, o pivô estará em sua posição nal e haverá duas sublistas não ordenadas. Em seguida, o algoritmo QuickSort é reaplicado a cada uma das sublistas, sendo a base da recursão as sublistas de tamanho zero ou um que, por deniçã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 tempo do QuickSort é

O(nlgn).

A seguir, exemplos de implementação do bubble sort e do quicksort usando a linguagem de 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 114

www.handbookdeti.com.br


Handbook de Questões de TI Comentadas para Concursos

2.

Volume 04  Edição 2

Assuntos relacionados: Programação, Estruturas de Dados, Tabela Hash, Banca: FCC Instituição: TRT 15a Região Cargo: Analista Judiciário - Tecnologia da Informação Ano: 2009 Questã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 índice onde 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 tabela de espalhamento ou de dispersão. A implementação de uma tabela hash se baseia na escolha de uma função, chamada função hash, que associe uma chave de pesquisa a um índice em uma estrutura de dados. O requisito mais 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 mapeada para o mesmo índice, problema conhecido como colisão. Por mapearem uma chave de pesquisa a um determinado índice de forma direta, as tabelas hash proporcionam um tempo médio de busca constante, ou seja,

O(1).

Em virtude de seu

alto desempenho, as tabelas hash são tipicamente utilizadas na indexação de grandes volumes de informações em bancos de dados e na criação de esquemas associativos de acesso às memória cache. A Figura 1 mostra, de forma básica, como se dá o esquema de mapeamento de chaves em índices usando uma tabela hash.

Figura 1: Tabela Hash. No entanto, a denição de uma boa função hash nem sempre é uma tarefa simples, sendo um trabalho trabalho profundamente relacionado à estatística. Portanto, para otimizar a

Página 6 de 114

www.handbookdeti.com.br


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 que a chave pode assumir se distribuem ao longo do domínio. Os métodos de implementação de funções hash mais comuns são o método da

multiplicação.

divisão,

o método da

dobra,

e o método da

Com relação às limitações das tabelas hash, valem as seguintes observações.

As tabelas

hash são estruturas de dados que não permite armazenar elementos repetidos, recuperar elementos sequencialmente, nem recuperar antecessores ou sucessores de um determinado elemento já encontrado. Caso essas operações tenham muita importância no sistema, vale a pena considerar a utilização de estruturas de dados como listas encadeadas, árvores, entre outras.

Página 7 de 114

www.handbookdeti.com.br


Handbook de Questões de TI Comentadas para Concursos

3.

Volume 04  Edição 2

Assuntos relacionados: Segurança da Informação, ISO 27001, SGSI, Banca: FCC Instituição: TRT 15a Região Cargo: Analista Judiciário - Tecnologia da Informação Ano: 2009 Questão: 27 Implementar e operar a política, os controles, os processos e os procedimentos do Sistema de Gestão de Segurança da Informação, segundo a norma ABNT 27001, são atividades associadas 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 especica um conjunto de requisitos para o estabelecimento, implantação, monitoração, revisão, manutenção e melhoria de um Sistema de Gestão de Segurança de Informação, ou simplesmente, SGSI. Um SGSI pode também ser denido como um framework 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 como um todo. Como todo sistema de gestão, o SGSI também é descrito em termos de processos, os quais são administrados por meio da metodologia PDCA (Plan-Do-Check-Act). Em última instância, o uso do PDCA na implementação de sistemas de gestão tem como objetivo principal garantir a melhoria contínua da gestão da segurança da informação, minimizando os riscos associados à segurança da informação. O PDCA pode ser utilizado em qualquer atividade da organização.

É ideal que todas

as 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 perpetuar e que incentiva a se realizar o trabalho sem antes planejar, desprezando o autocontrole, o uso de dados gerados pelas medições por indicadores e a atitude preventiva, para que os problemas 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 utilizado para conseguir alcançá-los. A elaboração de um bom plano evita falhas e retrabalho nos ciclos subsequentes;

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

CHECK: O terceiro passo do PDCA é a vericação dos resultados alcançados. Nessa fase podem ser detectados erros ou falhas;

Página 8 de 114

www.handbookdeti.com.br


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 encontradas no passo anterior. Após realizada a investigação das causas das falhas ou dos desvios no processo, deve-se repetir o ciclo PDCA para a correção das falhas, de modo que o sistema o processo possa melhorar cada vez mais.

Portanto, no caso da ISO 27001, Implementar e operar a política, os controles, os processos

Do do ciclo PDCA, pois tal atividade se trata da execução de algo foi denido na etapa de Plan da implantação do SGSI. Logo, a alternativa e os procedimentos corresponde a etapa

A deve ser marcada.

Página 9 de 114

www.handbookdeti.com.br


Handbook de Questões de TI Comentadas para Concursos

4.

Volume 04  Edição 2

Assuntos relacionados: Segurança da Informação, Tipos de Ataque, Ataques DoS, Banca: FCC Instituição: TRT 15a Região Cargo: Analista Judiciário - Tecnologia da Informação Ano: 2009 Questão: 29 O impedimento do acesso autorizado aos recursos ou o retardamento de operações críticas por 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ém como conhecido como ataque DoS. Diferentemente da maioria dos ataques, um ataque de negação de serviço não visa invadir um computador para extrair informações condenciais, como números de cartões de crédito e senhas bancárias, e nem para modicar os dados armazenado neste computador.

Tais

ataques têm como objetivo tornar inacessíveis os serviços providos pela vítima a usuários legítimos. Nenhum dado é roubado ou alterado, bem como não ocorre nenhum acesso não autorizado ao computador da vítima. A vítima simplesmente para de oferecer o seu serviço aos clientes legítimos, enquanto tenta lidar com a sobrecarga gerada pelo ataque. O resultado de um ataque de negação de serviço pode 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 trazidas na questão.

Engenharia Social

Engenharia Social é um termo utilizado para qualicar os tipos de intrusão não técnica, que coloca ênfase na interação humana e, freqüentemente, envolve a habilidade de enganar 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ão estarem conscientes do valor da informação que eles possuem e, portanto, não terem preocupação em protegê-las. Além disso, a engenharia social prega que o elemento mais vulnerável de qualquer sistema é o ser humano, o qual possui traços comportamentais e psicológicos que o torna susceptível a ataques. Exemplos de traços comportamentais explorados pela engenharia social são a vontade de ser útil e busca por novas amizades.

Página 10 de 114

www.handbookdeti.com.br


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 para as quais foram aparentemente projetados, executam também funções maliciosas sem o conhecimento do usuário. Exemplos dessas funções são a alteração e destruição de arquivos, o furto de senhas e de números de cartões de crédito, a inclusão de backdoors etc. Sobre os cavalos de tróia ainda é importante ressaltar que os mesmos não se replicam 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 denição apresentada na cartilha de segurança da informação do CERT.BR (Centro de Estudos, Resposta e Tratamento de Incidentes de Segurança no Brasil).

Normalmente, um atacante procura garantir uma forma de retornar a um computador comprometido, 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 computador comprometido sem ser notado. A esses programas que permitem o retorno de um invasor a um computador comprometido, utilizando serviços criados ou modicados para este m, dá-se o nome de backdoor. E no trecho a seguir, a cartilha de segurança do CERT enumera algumas formas usuais de inclusão de backdoors em sistemas computacionais.

A forma usual de inclusão de um backdoor consiste na disponibilização de um novo serviço ou substituição de um determinado serviço por uma versão alterada, normalmente possuindo recursos que permitam acesso remoto. Pode ser incluído por um invasor ou através de um cavalo de tróia ... Uma outra forma é a instalação de pacotes de software, tais como o BackOrice e NetBus, da plataforma Windows, utilizados para administração remota. Se mal congurados ou utilizados sem o consentimento do usuário, podem ser classicados como backdoors. •

Rootkit

Um rootkit é um software ou um conjunto de softwares que têm por objetivo esconder ou obscurecer o fato de que um sistema tenha sido comprometido por um atacante. Ao contrário do que seu nome parece indicar, um rootkit não garante ao atacante privilégios de root (privilégios administrativos) no sistema.

Um atacante pode usar um

rootkit, por exemplo, para substituir arquivos importantes do sistema, os quais podem ser utilizados para esconder processos ou arquivos que tenham sido instalados pelo atacante.

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

Página 11 de 114

www.handbookdeti.com.br


Handbook de QuestĂľes de TI Comentadas para Concursos

5.

Volume 04  Edição 2

Assuntos relacionados: Banco de Dados, Oracle, Banca: FCC Instituição: TRT 15a Região Cargo: Analista Judiciårio - Tecnologia da Informação Ano: 2009 Questão: 30 Cada database Oracle tem I um ou mais datales. 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: datales, redo log les e control les. Um banco de dados Oracle contÊm uma ou mais unidades lógicas de armazenamento chamadas tablespaces, que coletivamente armazenam os dados do banco de dados. Cada tablespace, por sua vez, consiste de um ou mais arquivos chamados datales, que são arquivos físicos estruturados 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 buer

circular assim como o redo log buer, que Ê mantido em memória pelo Oracle. A função primåria dos redo log les Ê armazenar toda e qualquer mudança realizada nos dados do banco de dados. Se houver alguma falha, como o corrompimento de um datale, as informaçþes podem ser recuperadas utilizando o redo log les e os datales de backup. O Oracle grava os redo log les de forma circular.

Isto signica que, quando o arquivo

redo log le atual ca cheio o banco de dados passa para o próximo arquivo redo. Quando o ú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 informaçþes quando o ciclo for reiniciado, os arquivos de redo são arquivados periodicamente. A quantidade de arquivos de redo utilizados e a frequência do processo de arquivamento devem ser denidas de acordo com as características do banco de dados, de modo que dados não sejam 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 eles que contÊm a identicação dos arquivos de log e de dados, o nome do banco e informaçþes de sincronismo entre os arquivos que o compþe. Como regra geral, cada banco de dados Oracle possui 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 114

www.handbookdeti.com.br


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ês arquivos, uma sÊrie de outros arquivos são importantes para colocar uma instância no ar. Exemplos desses arquivos são:

â&#x20AC;˘

Parameter File: Arquivo texto que contÊm todos os parâmetros necessårios para colocar uma instância do Oracle no ar, por exemplo, quantidade de memória alocada para o SGA, nome e localização de arquivos de controle, tamanho de buers e de blocos etc;

â&#x20AC;˘

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

â&#x20AC;˘

Trace File:

Arquivo de log onde são armazenadas informaçþes detalhadas sobre os

problemas ocorridos. A utilização desse arquivo Ê opcional.

PĂĄgina 13 de 114

www.handbookdeti.com.br


Handbook de Questões de TI Comentadas para Concursos

6.

Volume 04  Edição 2

Assuntos relacionados: Banco de Dados, Oracle, Banca: FCC Instituição: TRT 15a Região Cargo: Analista Judiciário - Tecnologia da Informação Ano: 2009 Questão: 31 São apenas tipos de objetos de um schema Oracle: (a). table, index, cluster e prole. (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 para conter ou referenciar os seus dados. É importante lembrar que, boa parte, mas nem todos SGBDs, 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, de

modo que objetos do mesmo schema podem estar em diferentes tablespaces, e um único tablespace podem conter objetos de diferentes schemas. Portanto, a resposta da questão é a alternativa B. Agora, vamos aproveitar a questão para rever algumas denições importantes sobre os bancos de dados Oracle.

Table

Uma table (tabela) é uma unidade básica de armazenamento do banco de dados Oracle, e são elas que contém possuem todos os dados acessíveis pelos usuário.

Cada

tabela é formada por um conjunto de colunas, cada um uma delas com um nome (ID, FULLNAME, BIRTHDAY etc) e um tipo de dado (NUMBER, VARCHAR2, DATE etc) associados. Uma linha (row) da tabela é formada pelas informações das colunas e corresponde a um registro único do banco de dados. Os usuários podem ainda especicar regras, chamadas restrições de integridade, para cada uma das colunas das tabelas. Um exemplo típico de regra é restrição de integridade NOT NULL, que força a 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 ou outras views. Um view pode ser considerada uma query de armazenamento. De modo geral, as views não contém dados, sendo os dados por ela apresentados derivados das chamadas base tables (tabelas base). Existem tipos especiais de views, as materialized views, que contém dados de fato. Esse tipo de view geralmente é utilizada para aumentar o desempenho de determinadas consultas.

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

Página 14 de 114

www.handbookdeti.com.br


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 denidas para aceitar inserções, atualizações e exclusões. Nesses casos, todas as operações efetuadas na view afetam também as base tables.

Index

Os indexes (índices) são estruturas de dados utilizadas para melhorar o desempenho das operações sobre uma tabela do banco de dados. Os índices podem ser criados com base em uma ou mais colunas da tabela, sendo essa denição baseada nas consultas que o SGBD terá que responder com eciência.

No Oracle, os índices mais populares são baseados em árvores B (b-trees) e nos mapas de bits (bitmaps), sendo que a melhor escolha depende do tipo de dado a ser indexado e, primordialmente, do perl 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 em http://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 e a 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 indiscriminadamente, mas apenas nos casos em que os seus benefícios superem seus aspectos negativos.

Cluster

Os clusters (agrupamentos) são grupos de duas ou mais tabelas que são sicamente armazenados próximas umas das outras, de modo a proporcionar maior desempenho das operações que referenciem ambas as tabelas.

Assim como os índices, os clusters

não afetam a lógica da aplicação. O fato de uma tabela pertencer ou não a um cluster é transparente para o usuário, sendo relevante apenas para ns de desempenho da aplicação.

Por m, vamos falar um pouco sobre o conceito de Proles (pers) do Oracle, que foi mencionado na alternativa A da questão. O prole é um recurso do Oracle que permite denir limites de utilização de recursos do sistema e parâmetros de segurança para os usuários do SGBD. Quando um usuário é criado, por padrão ele recebe o prole Default, que dá acesso ilimitado aos recursos do sistema. Para limitar o acesso do usuário aos recursos, é necessário criar um prole e associá-lo ao usuário. Alguns exemplos de parâmetros (cujos nomes são auto-explicativos) que podem ser controlados através de prole são mostrados a seguir.

Página 15 de 114

www.handbookdeti.com.br


Handbook de Questões de TI Comentadas para Concursos

Parâmetros de Recursos [SESSIONS_PER_USER [CPU_PER_SESSION [CPU_PER_CALL [CONNECT_TIME [IDLE_TIME [LOGICAL_READS_PER_SESSION [LOGICAL_READS_PER_CALL [COMPOSITE_LIMIT [PRIVATE_SGA

n|UNLIMITED|DEFAULT] n|UNLIMITED|DEFAULT] n|UNLIMITED|DEFAULT] n|UNLIMITED|DEFAULT] n|UNLIMITED|DEFAULT] n|UNLIMITED|DEFAULT] n|UNLIMITED|DEFAULT] n|UNLIMITED|DEFAULT] 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 114

www.handbookdeti.com.br

Volume 04  Edição 2


Handbook de Questões de TI Comentadas para Concursos

7.

Volume 04  Edição 2

Assuntos relacionados: Banco de Dados, Oracle, Banca: FCC Instituição: TRT 15a Região Cargo: Analista Judiciário - Tecnologia da Informação Ano: 2009 Questã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 e processos 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 instruções SQL, vericam as permissões de acesso do usuário, traz os dados do disco para o DBBC, caso necessário, e retorna os dados para o usuário. Um processo server pode ser dedicado para um processo user (dedicated server process) ou compartilhado entre múltiplos processos user (shared server process). Os processos server compartilhados só são possíveis em 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 server

compartilhados, diversos processos server podem ser atendidos por um mesmo processo server. Já os os processo em background não realizam nenhuma comunicação com os processos user. Os processos em backgound são responsáveis pelas tarefas de apoio para garantir o funcionamento do sistema de gerenciamento de banco de dados como um todo. Um sistema Oracle tem inúmeros processos em background, porém apenas 4 deles são obrigatórios. São eles:

Process Monitor (PMON): Realiza a recuperação quando algum processo falha, além de 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 o processo de inicialização, limpa segmentos temporários que não estão mais em uso, recupera transações terminadas de forma anormal e realiza desfragmentação nos arquivos de dados para facilitar a alocação;

Database Writer (DBWR): A função principal do DBWR é escreve os blocos de dados modicados (dirty) do DBBC para o disco.

Isso é feito nas seguintes situações: (i)

quando a lista de blocos modicados atinge um tamanho congurado; (ii) quando o processo percorre um quantidade congurada de blocos e não encontra nenhum bloco livre; (iii) quando ocorre um timeout; (iv) quando ocorre um checkpoint ou (v) quando

Página 17 de 114

www.handbookdeti.com.br


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 de garantir que as alteraçþes feitas em buer serão persistidas, tambÊm gerencia o espaço em buer para melhorar o desempenho do banco;

â&#x20AC;˘

Log Writer (LGWR): Ê o responsåvel por copiar as informaçþes do redo log buer para o o redo log le (arquivo de log com a mesma estrutura do redo log buer). O LGWR tambÊm Ê responsåvel por atualizar os headers dos arquivos de dados quando ocorre um checkpoint. O LGWR Ê disparado nas seguintes situaçþes: (i) quando ocorre um commit; (ii) quando ocorre um checkpoint; (iii) quando ocorre um timeout ou (iv) quando o redo log buer atinge um terço de sua capacidade.

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

â&#x20AC;˘

CKPT: Atualiza os headers dos arquivos de dados quando ocorre um checkpoint. A utilização desse processo pode ajudar a melhorar o desempenho do sistema permitindo que o processo LGWR se concentre apenas na cópia do redo log buer para o disco;

â&#x20AC;˘

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;

â&#x20AC;˘

ARCH: ResponsĂĄvel por copiar o redo log le (que ĂŠ um buer circular) para um dispositivos de armazenamento oine para que os logs nĂŁo sejam perdidos;

â&#x20AC;˘

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

â&#x20AC;˘

SNPn: Controla a replicação de objetos dos banco de dados em outro site. Essas cópias são chamadas snapshots. Esse processo pode ser escalonado para executar periodicamente;

â&#x20AC;˘

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

â&#x20AC;˘

Dnnn: Esse processo funciona como um dispatcher quando o sistema estĂĄ utilizando processos server compartilhados.

ĂŠ necessĂĄrio um dispatcher para cada protocolo de

comunicação utilizado.

PĂĄgina 18 de 114

www.handbookdeti.com.br


Handbook de Questões de TI Comentadas para Concursos

8.

Volume 04  Edição 2

Assuntos relacionados: Governança de TI, COBIT, Requisitos de Negócio, Banca: FCC Instituição: TRT 15a Região Cargo: Analista Judiciário - Tecnologia da Informação Ano: 2009 Questão: 33 A adequação às normas, leis e procedimentos é um requisito de qualidade denominado (a). integridade. (b). autenticidade. (c). conabilidade. (d). condencialidade. (e). conformidade.

Solução: Esta questão encontra-se no âmbito de CobiT (Control

Objectives for Information and related Technology ), que é um guia para a gestão de TI recomendado pelo ISACF (Information Systems Audit and Control Foundation, www.isaca.org). O CobiT inclui recursos tais como um sumário executivo, um framework, controle de objetivos, mapas de auditoria, um conjunto de ferramentas de implementação e um guia com técnicas de gerenciamento, além de fornecer métricas para avaliação de resultados e possuir a vantagem de ser independente das plataformas de TI adotadas nas empresas. Em Cobit, para satisfazer os objetivos de negócio, as informações precisam estar em conformidade com os critérios chamados requisitos de negócio. Estes requisitos estão dividos em: 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 em 7 critérios de informação:

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

Eciê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 e econômico) dos recursos;

Conabilidade: relaciona-se à provisão de informação apropriada para a gerência operar a entidade e para a gerência exercer suas responsabilidades de relatar aspectos de conformidade e nanças (podemos descartar, assim, a alternativa

Condencialidade: diz respeito à proteção da informação sigilosa contra a revelação não autorizada (descartamos, assim, a alternativa

C);

D);

Integridade: relaciona-se à exatidão e à inteireza da informação bem como à sua validez de acordo com os valores e expectativas do negócio (descartamos, assim, a alternativa

A);

Página 19 de 114

www.handbookdeti.com.br


Handbook de Questões de TI Comentadas para Concursos

Volume 04  Edição 2

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

Conformidade: trata do cumprimento das leis, dos regulamentos e arranjos contratuais aos quais o processo de negócio está sujeito (portanto, a alternativa

Note, também, que o requisito autenticidade, citado na alternativa escopo de requisitos de CobiT, o que a descarta imediatamente.

Página 20 de 114

www.handbookdeti.com.br

B,

E é a correta).

não faz parte do


Handbook de Questões de TI Comentadas para Concursos

9.

Volume 04  Edição 2

Assuntos relacionados: Engenharia de Software, Testes de Software, Banca: FCC Instituição: TRT 15a Região Cargo: Analista Judiciário - Tecnologia da Informação Ano: 2009 Questão: 34 Os testes de integração têm por objetivo vericar se (a). os módulos testados produzem os mesmos resultados que as unidades testadas individualmente. (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 descobrir tantos defeitos quanto possível, antes da entrega do produto de software ao seu cliente. O teste é uma atividade de vericação e validação do software e consiste na análise dinâmica do mesmo, isto é, na execução do produto de software com o objetivo de vericar a presença de defeitos no produto e aumentar a conança de que o mesmo está correto. A idéia básica dos testes é que os defeitos podem se manifestar por meio de falhas observadas durante a execução do software. Essas falhas podem ser resultado de uma especicação errada ou falta de requisito, de um requisito impossível de implementar considerando o hardware e o software estabelecidos, o projeto pode conter defeitos ou o código pode estar errado. Assim, uma falha é o resultado de um ou mais defeitos. Um teste, dependendo da estratégia adotada, pode envolver vários estágios. Basicamente há 3 (três) grandes estágios de teste 1.

Teste de Unidade:

tem o objetivo de validar individualmente itens menores (classes

ou métodos básicos) da implementação de um caso de uso por meio de testes de caixapreta (orientado a entrada e saída) e caixa-branca (trabalha diretamente sobre o código fonte). O objetivo é garantir que o item a ser testado cumpre a função para o qual ele foi projetado, adequando-se ao papel que ele desempenha no caso de uso. É interessante observar que o item a ser testado, apesar de menor magnitude, pode depender ou estar relacionado a outros itens. Neste caso, é papel do desenvolvedor testar a integração de seu 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 falhas

provenientes da integração interna dos componentes de um sistema. tipos de falhas encontradas são de envio e recebimento de dados.

Geralmente os

Por exemplo, um

objeto A pode estar aguardando o retorno de um valor X ao executar um método do objeto B, porém este objeto B pode retornar um valor Y, gerando, desta forma, uma falha. Não faz parte do escopo dessa fase de teste o tratamento de interfaces com outros sistemas (integração entre sistemas). Essas interfaces são testadas na fase de teste de sistema (veremos a seguir);

Página 21 de 114

www.handbookdeti.com.br


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, cada

módulo no nível inferior da hierarquia do sistema é testado individualmente.

A

seguir, 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 por pelo módulo testado são combinados e testados como uma grande unidade. Essa abordagem é 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 e

utiliza as abordagens ascendente e descendente, respectivamente para as camadas localizadas 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 identicar erros de funções (requisitos funcionais)

e características de desempenho (requisito não funcional) que não estejam de acordo com as especicações. Os testes de sistema incluem diversos tipos de teste, realizados na seguinte ordem:

• Teste funcional:

verica se o sistema integrado realiza as funções especicadas

nos requisitos;

• Teste de desempenho:

verica se o sistema integrado atende aos requisitos não

funcionais do sistema (eciência, segurança, conabilidade etc);

• Teste de aceitação:

os clientes testam o sistema a m de garantir que o mesmo

satisfaz suas necessidades;

• Teste de instalação:

ocorre quando o teste de aceitação é feito em um ambiente

de 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. Podemos descartar, também, as alternativas

B

e

E,

pois dizem respeito ao Teste de Sistema. Além

disso, uma vez que o teste de valor limite é efetuado no Teste de Unidade, podemos descartar a alternativa

D também.

Portanto, ao nal do teste de integração, é possível assegurar que

as funcionalidades do módulo testado atendem aos requisitos (alternativa

Página 22 de 114

www.handbookdeti.com.br

C está correta).


Handbook de Questões de TI Comentadas para Concursos

10.

Volume 04  Edição 2

Assuntos relacionados: Governança de TI, ITIL, Gerenciamento de Serviços, Service

Strategy, Service Design, Service Operation, Service Transition, Continual Service Improvement, Banca: FCC Instituição: TRT 15a Região Cargo: Analista Judiciário - Tecnologia da Informação Ano: 2009 Questão: 35 Segundo o ITIL, o controle dos riscos de fracasso e rompimento do objetivo principal do Gerenciamento de Serviços, que é garantir que os serviços de TI estejam alinhados com as necessidades 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 para

Gerenciamento de Serviços de TI. Criada pelo Governo Britânico em 1980, tornou-se padrão de 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 em várias empresas. Podemos tratar a ITIL apenas como um consenso de como devem ser tratados os processos dentro de um departamento de TI. Os processos propostos são genéricos, podendo ser 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ão existe 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 atividades são divididas em processos, que fornecem um

framework

ecaz para um futuro Gerencia-

mento de Serviços de TI aprimorado. Cada um destes processos cobre uma ou mais tarefas do departamento de TI, tais como desenvolvimento de serviços, gerenciamento da infraestrutura, fornecimento de serviços e suporte a serviços. São estes processos que propiciam o uso das melhores práticas, fazendo com que o departamento de TI possa adotá-las independente da estrutura da organização. Em maio de 2007, foi lançada mundialmente a versão 3 da biblioteca ITIL como uma atualização completa da antiga versão 2, publicada na década de 90 do século passado. Esta versã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 114

www.handbookdeti.com.br


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 como um ativo estratégico. São fornecidas orientações sobre os princípios subjacentes à prática da gestão de serviço que são úteis para o desenvolvimento de políticas de gestão de serviços,

Service Strategy é útil Service Design, Service Transition, Service Operation, e Continual Service Improvement. Os tópicos abordados no Service Strategy incluem o desenvolvimento de mer-

diretrizes e procedimentos em todo o Ciclo de Vida do Serviço. no contexto da

cados, interno e externo, bens, serviço de Catálogo, e implementação da estratégia através do Ciclo de Vida do Serviço. Gestão Financeira, Serviço de Gerenciamento de Portfólio, Desenvolvimento Organizacional, e Risco de Estratégicas estão entre outros temas importantes. As organizações usam esta orientação a m de denir objetivos e expectativas de desempenho para servir os clientes e o mercado, e para identicar, selecionar e priorizar oportunidades.

Service Strategy

consiste em garantir que as organizações estão em uma posição para lidar

com os custos e riscos associados aos seus portifólios de serviços, e estão posicionadas não apenas para a ecácia operacional, mas também para desempenho distinto. tomadas em relação a

Service Strategy

As decisões

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 antes pensando em

como.

ao negócio do cliente.

por que algo deve ser feito

Respostas para o primeiro tipo de questões são mais próximo

Service Strategy expande o âmbito da estrutura de ITIL além da

tradicional platéia de prossionais 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ços

e de processos de gestão de serviços.

Abrange os princípios de

design

e métodos para a

conversão de objetivos estratégicos em carteiras de portifólios e bens de serviços. bito do

Service Design

O âm-

não se limita a novos serviços. Ele inclui as alterações e melhorias

necessá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 normas e regulamentos. Ele guia as organizações sobre como desenvolver capacidades de

design

para

gestão de serviços. (C) ERRADA Este volume incorpora as práticas de gestão de operações de serviços.

Inclui orientação

sobre como alcançar a ecácia e a eciência na entrega e suporte de serviços, de modo a garantir valor ao cliente e ao prestador de serviços. Os objetivos estratégicos são, em última análise, realizados através de operações de serviço, tornando-se, portanto, numa capacidade crítica.

São fornecidas orientações sobre formas de manter estabilidade em operações de

serviços, permitindo mudanças no

design,

escala, âmbito e níveis de serviço. Organizações

são providas com detalhadas orientações de processos, métodos e ferramentas para uso em duas perspectivas de controle:

reativa e pró-ativa.

Gestores e prossionais são providos

Página 24 de 114

www.handbookdeti.com.br


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ão da 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 às operações através de novos modelos e arquiteturas, tais como serviços compartilhados, computaçã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 fornece orientações sobre como as exigências da

em Serviço

são efetivamente realizadas no

Service Strategy codicadas Service Operation enquanto identica,

gerencia e controla

Design

os riscos de fracasso e ruptura em todas as atividade de transição. A publicação combina práticas de Gerenciamento de Liberação, Programa de Gestão e Gerenciamento de Riscos e os coloca no contexto da prática de gerenciamento de serviço. O volume fornece orientações sobre como gerenciar a complexidade relacionada a alterações de serviços e de processos de gestão de serviço, evitando indesejáveis conseqüências, além de permitir que a inovação ocorra paralelamente. (E) ERRADA Este volume fornece orientação instrumental na criação e manutenção de valor para os clientes através de um melhor

design,

introdução e operação dos serviços. Ele combina os

princípios, práticas e métodos de gestão de qualidade, Gestão de Mudanças e melhoria de capacidade. As organizações aprendem a realizar melhorias incrementais e em larga escala na qualidade do serviço, na eciência operacional e na continuidade dos negócios.

Página 25 de 114

www.handbookdeti.com.br


Handbook de Questões de TI Comentadas para Concursos

11.

Volume 04  Edição 2

Assuntos relacionados: Governança de TI, ITIL, Gerenciamento de Serviços, Service

Strategy, Service Design, Service Operation, Service Transition, Continual Service Improvement, Banca: FCC Instituição: TRT 15a Região Cargo: Analista Judiciário - Tecnologia da Informação Ano: 2009 Questão: 37 Um processo de gerenciamento de serviços do ITIL que é realizado no estágio

Service Strategy

denomina-se (a). Request Fullment. (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 como um ativo estratégico. São fornecidas orientações sobre os princípios subjacentes à prática da 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 no

Service Strategy

incluem o desenvolvimento de mercados, interno e externo, bens, serviço de

Catálogo, e implementação da estratégia através do Ciclo de Vida do Serviço. Gestão Financeira, Serviço de Gerenciamento de Portfólio, Desenvolvimento Organizacional, e Risco de Estratégicas estão entre outros temas importantes. Abordemos cada alternativa para resolver esta questão. (A) ERRADA O processo

Request Fulllment

pertence ao estágio

Service Operation.

Uma solicitação de

atendimento é uma solicitação de um usuário para informação ou recomendação, ou para uma mudança padrão, ou para o acesso a um serviço de TI. O propósito do

ment

Request Fulll-

é o de permitir aos usuários solicitar e receber serviços padrão; prestar informações

para os usuários e clientes sobre os serviços e os procedimentos para obtê-los, e para ajudar com informações gerais, reclamações e comentários. Todos os pedidos devem ser registrados e 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,

como objetivos:

validar decisões que tenham sido tomadas;

direcionar atividades para o alcance de metas;

fornecer evidências que justiquem ações;

Página 26 de 114

www.handbookdeti.com.br

possuindo


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 de métricas denidas pelo

Service Measurement :

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

métricas de processos: fatores críticos de sucessos e seus KPI -

cators ; •

Key Performance Indi-

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

(C) ERRADA

Knowledge Management

pertence ao

Service Transition

e tem como objetivo garantir que

a pessoa certa tenha o conhecimento certo, no momento certo para entregar e suportar os serviços requeridos pelo negócio. Fornece meios para prover:

serviços mais eciente 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

envolve

a gestão pró-ativa do investimento em todo o ciclo de vida do serviço, incluindo os serviços no conceito,

design

e

pipeline

de transição.

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

Deniçã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ê uma

fonte centralizada de informações sobre os serviços de TI providos, garantindo que as áreas de 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 elas estejam amplamente disponíveis para aqueles que tenham permissão para acessá-las. informações-chave dentro do processo de

Service Catalogue.

Service Catalogue Management

Página 27 de 114

www.handbookdeti.com.br

As

estão contidas no


Handbook de Questões de TI Comentadas para Concursos

12.

Volume 04  Edição 2

Assuntos relacionados: Governança de TI, COBIT, Princípios de Governança, Banca: FCC Instituição: TRT 15a Região Cargo: Analista Judiciário - Tecnologia da Informação Ano: 2009 Questão: 38 O princípio básico de governança incorporado no COBIT que objetiva a perenidade da área de 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 cultivar

o desejo de informar, sabendo que da boa comunicação interna e externa, particularmente quando espontânea, franca e rápida, resulta um clima de conança, tanto internamente, quanto nas relações da empresa com terceiros. A comunicação não deve restringir-se ao desempenho econômico-nanceiro, mas deve contemplar também os demais fatores (inclusive intangíveis) que norteiam a ação empresarial e que conduzem à criação de valor (descartamos, assim, a alternativa

• Eqüidade:

B);

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 colaboradores, clientes, fornecedores ou credores. Atitudes ou políticas discriminatórias, sob qualquer pretexto, são totalmente inaceitáveis (descarta-se, assim, a alternativa

A); • Prestação de contas:

os colaboradores têm a obrigação de prestar contas, fornecer

relatórios ou explicar suas ações sobre o uso de recursos que lhe são transmitidos. Os executivos prestam contas ao Conselho Administrativo os quais fornecem governança, direção e monitoração. Para cada um é essencial conhecer como suas ações contribuem para alcançar os objetivos da organização (alternativa

• Responsabilidade Corporativa:

D descartada);

conselheiros e executivos devem zelar pela perenidade

das organizações (visão de longo prazo, sustentabilidade) e, portanto, devem incorporar considerações de ordem social e ambiental na deniçã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 quais o escopo de governança de TI pode ser classicada. As demais áreas são: Gerenciamento de riscos, 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ão chave é vericar se os investimentos da empresa em TI estão em harmonia com objetivos

Página 28 de 114

www.handbookdeti.com.br


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 entregar valor ao negócio. São objetivos estratégicos:

Especicar os objetivos;

Desenvolver estratégias para alcançar os objetivos especicados;

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

Página 29 de 114

www.handbookdeti.com.br


Handbook de Questões de TI Comentadas para Concursos

13.

Volume 04  Edição 2

Assuntos relacionados: Governança de TI, COBIT, Banca: FCC Domínios de Governança, Instituição: TRT 15a Região Cargo: Analista Judiciário - Tecnologia da Informação Ano: 2009 Questã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 reetir um modelo para os processos de TI. Os domínios podem ser caracterizados pelos seus processos e pelas atividade executadas em cada fase de implantação da Governança Tecnológica. São eles:

• planejamento e organização:

dene as questões estratégicas ligadas ao uso da TI em

uma organização, trata de vários processos, entre eles, a denição da estratégia de TI, arquitetura da informação, direcionamento tecnológico, investimento, riscos, gerência de projetos e da qualidade (descartamos, assim, a alternativa

• aquisição e implementação:

D);

dene as questões de implementação da TI conforme

as diretivas estratégicas e de projeto pré-denidas no Plano Estratégico de Informática da empresa, também conhecido como PDI (Plano Diretor de Informática). Possui uma série de processos como, por exemplo, identicação de soluções automatizadas a serem aplicadas ou reutilizadas na corporação, aquisição e manutenção de sistemas de infraestrutura, desenvolvimento e mapeamento de procedimentos nos sistemas, instalação e gerência de mudanças (alternativa

• entrega e suporte:

C descartada);

dene 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. O momento deste domínio é após a ativação de um serviço e sua entrega ao cliente, que pode operar ou utilizar os serviços da empresa para operação terceirizada. Os processos relativos a este domínio tratam da denição dos níveis de serviço (SLA 

Level Agreement );

Sevice

gerência de fornecedores integrados às atividades; garantias de de-

sempenho, continuidade e segurança de sistemas; treinamento de usuários; alocação de custos de serviços; gerência de conguração; gerência de dados, problemas e incidentes

E descartada); • monitoração: dene as questões de auditoria e acompanhamento dos serviços de TI, (alternativa

sob o ponto de vista de validação da eciência dos processos e evolução dos mesmos em termos de desempenho e automação. Os processos deste domínio tratam basicamente da supervisão das atividades dos outros processos; adequações realizadas na empresa para garantia de procedimentos operacionais; coleta e análise de dados operacionais e estratégicos para auditoria e para controle da organização. (alternativa

A

também

descartada). Por eliminação, chegamos à conclusão que CobiT. Assim, a alternativa

B é a correta.

requisitos e processos

Página 30 de 114

www.handbookdeti.com.br

não é um domínio do


Handbook de Questões de TI Comentadas para Concursos

14.

Volume 04  Edição 2

Assuntos relacionados: Governança de TI, COBIT, Diretrizes de Gerenciamento, Modelo de Maturidade, CSF, KPI, KGI, Banca: FCC Instituição: TRT 15a Região Cargo: Analista Judiciário - Tecnologia da Informação Ano: 2009 Questão: 40

As diretrizes gerenciais do COBIT para indicar onde um processo se encontra e onde se deseja 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 governança de TI. Elas são genéricas e orientadas a ação, orientam a gestão na obtenção de informações do empreendimento e dos processos relacionados que estão sob controle, monitoram a conquista dos objetivos organizacionais, monitoram e melhoram o desempenho de cada processo de TI, além de realizar a avaliação do desempenho organizacional. Elas ajudam 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 é justicado 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 TI baseado em um método de avaliação da organização, para que se possa avaliar desde o nível de não existência (0) até otimizado (5), isto é, onde se deseja chegar.

O objetivo dessas

avaliações é vericar onde se encontram os problemas e denir as prioridades para melhoramento. O propósito não é avaliar o nível de aderência aos objetivos de controle.

Software Engineering Institute (Capability Maturity Model for Software

Esta abordagem foi derivada do modelo de maturidade que a (SEI) deniu para o desenvolvimento de 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)  a comparação;

Página 31 de 114

www.handbookdeti.com.br


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á é suciente para armar 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 relativamente fácil para a gerência localizar o status atual na escala e avaliar o que está envolvido caso um melhor desempenho seja requerido.

A escala de

zero

a

cinco

é usada para mostrar

como um processo pode evoluir da não existência de uma capacidade para uma capacidade otimizada. Abaixo, apresentamos um modelo maturidade genérico:

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

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

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

Nível 3 (Denido): procedimentos são padronizados e documentados, e comunicados através de treinamento. É deixado para as pessoas seguirem esses processos, tornando difícil detectar os desvios. Neste nível, os procedimentos não são sosticados, mas é a formalização de práticas existentes;

Nível 4 (Gerenciado): possível monitorar e medir a concordância com os procedimentos 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, no entanto, automação e ferramentas são usadas de forma limitada ou fragmentada;

Nível 5 (Otimizado): processos estão denidos em nível de melhores práticas, baseados em resultados de melhoramento contínuo e modelagem de maturidade com outras empresas, e a TI é usada de forma integrada para automatizar o uxo de trabalho, provendo ferramentas para melhorar a qualidade e efetividade, tornando a empresa rápida para adaptações.

Fatores críticos de sucesso (Critical

Success Factors

 CSFs)

Os fatores críticos de sucesso denem os desaos mais importantes ou ações de gerenciamento que devem ser adotadas para colocar sobre controle a gestão de TI. São denidas as ações mais importantes do ponto de vista do que fazer a nível estratégico, técnico, organizacional e de processo. Por exemplo, CSFs incluem:

Processos de TI são denidos e alinhados com a estratégia de TI e com os objetivos de negó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 114

www.handbookdeti.com.br


Handbook de Questões de TI Comentadas para Concursos

Indicadores de Meta (Key

Goal Indicator

Volume 04  Edição 2

 KGIs)

KGIs são medidas pré-denidas que indicam se um processo de TI alcançou o requisito do negócio em termos de critérios de informação. Os KGIs para TI são os

drivers

de negócio

que usualmente suportam as perspectivas nanceiras e clientes. São as KGIs que, após o fato ocorrido, reetem 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 condencialidade das informações;

Eciência nos custos dos processos e operações;

Conrmação de conabilidade, 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 condencialidade;

Conrmação da conabilidade e ecácia;

Aderência ao custo de desenvolvimento e prazo;

Custo-eciê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é-denidas que determinam quanto o processo de TI conseguiu atingir em relação aos objetivos. Os KPIs se referem às perspectivas dos processos e da inovação, são medidas que reetem as tendências em termos de atingir ou não a meta no futuro. Notadamente, as KPIs são medidas antes do fato e aplicadas em diversos escopos, por exemplo:

Financeiro

    •

Custo por Cliente de TI; Custo-eciência do serviço de TI; Entrega de valor de TI por funcionário;

Cliente

    •

Número de Clientes de TI;

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 114

www.handbookdeti.com.br


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 Vale reforçar que

D está errada.

objetivos de controle detalhados não faz parte das diretrizes gerenciais C também esta errada.

do COBIT. Logo, a alternativa

Página 34 de 114

www.handbookdeti.com.br


Handbook de Questões de TI Comentadas para Concursos

15.

Volume 04  Edição 2

Assuntos relacionados: Redes de Computadores, Rede Local, Backbone Colapsado, Banca: FCC Instituição: TRT 15a Região Cargo: Analista Judiciário - Tecnologia da Informação Ano: 2009 Questão: 41 Sobre redes backbones colapsadas, considere: I. Utilizam topologia em estrela com um dispositivo em seu centro que pode ser um comutador. II. Necessitam menor quantidade de cabos que uma backbone com ponte ou com roteamento, se comparadas nas mesmas características. III. Necessitam menor quantidade de dispositivos que uma backbone com ponte ou com roteamento, 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 uma construção ou

backbone

switch

(comutador) provê

usando uma topologia estrela (consideração

I

está correta).

Imagine, por exemplo, uma empresa localizada em dois prédios, em que cada andar seja um departamento. Os departamentos serão então atendidos por Na topologia colapsada, os

switches

switches

departamentais.

departamentais cam localizados nos andares dos pré-

dios, ou acomodados em um rack num local apropriado.

Caso exista algum servidor de

aplicação especíco do departamento no andar, ele pode também ser conectado nesse

switches, por sua vez, devem estar equipamento de backbone. Esse equipamento

switch

usando uma porta pré-congurada. Esses

conectados ao

equipamento central chamado

de

um

switch

backbone

é

de alta capacidade da ordem de alguns gigabits/segundo, capaz de dar vazão a

todo o tráfego requerido pelos

switches

departamentais, espalhados nos andares. A Figura

2 ilustra esta topologia. Observe que, nesta topologia, todas as redes convergem, através de cabos, até um

switch

central através do qual se comunicam entre si. Assim, caso haja falha neste ponto central da rede, toda a rede pára. Por outro lado, esta topologia fornece facilidade em se detectar falhas pois o ambiente é localizado. Por outro lado, no ligado ao

backbone

backbone

com roteamento, cada segmento de cada departamento está

principal por uma

bridge

ou roteador que encaminha os dados para a

rede destino. Neste caso, quando uma rede departamental quer acessar outra rede, utiliza o seu roteador que endereça para o roteador da rede destino. Assim, para uma rede

backbone

com roteamento, necessitaremos adicionar um roteador por andar, isto é, necessitaremos de mais recursos que uma rede

backbone

colapsada (consideração

Página 35 de 114

www.handbookdeti.com.br

III está correta).


Handbook de Questões de TI Comentadas para Concursos

Figura 2: exemplo de uma rede

backbone

Volume 04  Edição 2

colapsada.

Estes mesmo roteadores podem estar interligados através de diferentes topologias, por exemplo:

Token-ring

e FDDI (Fiber

Distributed Data Interface ).

A implantação de qualquer

uma destas topologias requer, consideravelmente, uma menor quantidade de cabos do que a utilizada no backbone

colapsado

Portanto, a alternativa

(consideração

II está corretaCORRETA).

B é a correta.

Página 36 de 114

www.handbookdeti.com.br


Handbook de Questões de TI Comentadas para Concursos

16.

Volume 04  Edição 2

Assuntos relacionados: Redes de Computadores, UDP, SSL, DNS, Protocolo ARP, Banca: FCC Instituição: TRT 15a Região Cargo: Analista Judiciário - Tecnologia da Informação Ano: 2009 Questão: 42 Uma mensagem broadcast é enviada pelo software TCP/IP a todos os computadores de uma sub-rede para obter o endereço correto da camada de enlace de dados (leva o endereço IP e questiona pelo endereço da camada de enlace de dados). Essa mensagem é uma solicitação especialmente 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 da

camada de transporte que oferece um meio para as aplicações enviarem datagramas IP encapsulados 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 entregues, 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 pacote, tornando a ordem em que chegam irrelevante. Se um programa não receber resposta depois de um determinado período (timeout ), ele solicita a retransmissão dos dados. Como o UDP não precisa cuidar desses pormenores, o tamanho de seu cabeçalho é relativamente pequeno. Serviços que usam UDP incluem DNS, servidores de sincronização de horário e difusã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 tornando

sinônimo de segurança para aplicações que utilizam a internet para efetuarem negócios online 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 criptograa simétrica. A m de evitar que as mensagens, mesmo decifradas, sejam modicadas e com isso um ataque 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 MAC

garante a integridade das mensagens trocadas. Além de sigilo e integridade, o SSL ainda

Página 37 de 114

www.handbookdeti.com.br


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 vericar a identidade das mesmas. Neste processo, o SSL utiliza criptograa assimétrica e certicados digitais;

• Independência de protocolo:

o SSL roda sobre qualquer protocolo de transporte

conável. Porém, a maioria das implementações são feitas para redes TCP/IP;

• Interoperabilidade:

dado a sua especicação bem detalhada e o uso de algoritmos

criptográcos conhecidos, diferentes implementações do protocolo tem a garantia de interagir entre si;

• Extensibilidade:

dado a necessidade, permitir que novos parâmetros e métodos de

criptograa (assimétrica ou simétrica) sejam incorporados ao protocolo, sem que seja necessária a criação de um novo protocolo ou a implementação inteira de uma nova biblioteca;

• Eciência:

devido a demanda por recursos computacionais que este tipo de operação

requer, o protocolo dispõe da opção de armazenamento em cache de informações referentes 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 criptograa 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 de transporte, aceitando solicitações do navegador e enviando-as ao TCP para transmissão ao servidor. Depois que a conexão segura é estabelecida, a principal tarefa da SSL é manipular a compactação e a criptograa. 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 de

transporte. Esta camada é responsável por encapsular os dados das camadas superiores em 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 servidora

e a aplicação cliente autentiquem-se e negociem os algoritmos de cifragem e as chaves criptográ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ção de nomes baseado no domínio e de um sistema de bancos de dados distribuídos para implementar esse esquema de nomenclatura. Ele é usado principalmente para mapear nomes de hosts e destinos de mensagens de correio eletrônico em endereços IP, mas também pode ser usado para outros objetivos. O DNS é denido nas RFCs 1034 e 1035. Em resumo, o DNS é utilizado da forma descrita a seguir.

Para mapear um nome em

um endereço IP, um programa aplicativo chama um procedimento de biblioteca denominado resolvedor e repassa a ele o nome como um parâmetro. O resolvedor envia um pacote UDP a um servidor DNS local, que procura o nome e retorna o endereço IP ao resolvedor. Em seguida, o resolvedor retorna o endereço IP ao programa aplicativo que fez a chamada. Munido do endereço IP, o programa pode então estabelecer uma conexão TCP com o destino ou enviar pacotes UDP até ele. Existem dois modos de resolução de nomes no servidor DNS: interativo e recursivo.

Página 38 de 114

www.handbookdeti.com.br

No


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 recebida. Ele envia uma resposta contendo a resolução do nome questionado caso ele tenha a informação solicitada armazenada em cache ou ele envia a indicação de outros servidores DNS que estão aptos a enviar uma resposta mais exata. No modo recursivo o servidor DNS assume a responsabilidade de resolver a requisição recebida. Este servidor terá que encontrar 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 camada 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 da mensagem seja maior que 512 bytes. O protocolo TCP também é utilizado para troca de informaçõ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ão podem ser usados para transmitir pacotes, pois o hardware da camada de enlace de dados não reconhece endereços da Internet. Isto é, as placas de rede enviam e recebem quadros com base em endereços Ethernet de 48 bits (endereço MAC), e nada sabem sobre endereços IP 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 explicar como 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 a E5). No momento em que, por exemplo, um usuário no host 1 (IP 192.31.65.11) envia um pacote para um usuário no host 2 (IP 192.31.65.12), o software da camada superior do host 1 constrói um pacote com 192.31.65.12 no campo

Destination address

e o fornece ao software IP

para 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 da máquina de destino. Uma solução é ter um arquivo de conguração em algum lugar no sistema que faça o mapeamento de endereços IP em endereços Ethernet. Embora essa solução sem dúvida seja possível, no caso de organizações com milhares de máquinas, manter todos esses 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 perguntando: A quem pertence o endereço IP 192.31.65.12? A difusão chegará a cada máquina da Ethernet 192.31.65.0, e cada uma delas vericará seu endereço IP. Somente o host 2 responderá 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 usado para 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 quadro Ethernet 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 114

www.handbookdeti.com.br


Handbook de Questões de TI Comentadas para Concursos

um quadro destinado a ela, recolhe-o e causa uma interrupção.

Volume 04  Edição 2

O driver Ethernet extrai

o pacote IP da carga útil e o repassa ao software IP, que verica se ele está corretamente endereçado, e depois o processa. A vantagem do uso do ARP sobre os arquivos de conguração é a simplicidade.

O ad-

ministrador do sistema não tem muito a fazer, a não ser atribuir um endereço IP a cada má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

verso )

ARP  ARP Re-

faz o trabalho contrário, como o nome já diz. Quando se deseja achar um endereço

IP de uma estação da qual se conhece o endereço de hardware (MAC), o protocolo RARP entra em ação. Assim, concluímos que alternativa está correta. (E) ERRADA Protocolo inexistente. Obviamente, alternativa errada.

Página 40 de 114

www.handbookdeti.com.br


Handbook de Questões de TI Comentadas para Concursos

17.

Volume 04  Edição 2

Assuntos relacionados: Redes de Computadores, HDLC, RSVP, SMTP, RTPC, SNMP, Banca: FCC Instituição: TRT 15a Região Cargo: Analista Judiciário - Tecnologia da Informação Ano: 2009 Questão: 43 O protocolo padrão para transferência de correio entre hosts no conjunto de protocolos TCP/IP (denido 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 o

objetivo de padronizar um protocolo orientado a bit para transmissão de dados síncronos

half

ou

full-duplex, com conguração ponto a ponto ou multiponto, em linhas comutadas ou

permanentes. Este protocolo é utilizado no nível 2 (dois) do modelo OSI, nível de enlace de dados, 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 e ECD desenvolvendo uma função primária e secundária;

half-duplex

full-duplex ;

transmissão

suporta conguraçõ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

utiliza o metodo de

pode operar em três modos de resposta;

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

   

e

sliding window

stung ;

na transmissão;

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

Página 41 de 114

www.handbookdeti.com.br


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 protocolo

especialmente desenvolvido para serviços integrados de Internet, pois permite que as próprias aplicações requeiram da rede reservas de recursos necessários para seus diversos serviços. As novas funções que foram implementadas neste protocolo tem dado a este uma exibilidade e escalabilidade única comparado a protocolos convencionais de reserva de recursos. Este protocolo é utilizado por um

host,

em benefício do uxo de dados de uma aplicação, para

requerer uma Internet deverá ser modicada 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ço que foi requisitado. As requisições RSVP geralmente irão resultar, embora não necessariamente, 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 de origem estabelece uma conexão TCP com a porta 25 da máquina de destino. Um correio eletrônico, que se comunica em SMTP (Simple na escuta nessa porta.

Esse

daemon

Mail Transfer Protocol )

daemon

de

permanece

aceita as conexões recebidas e copia as mensagens

que elas contêm para as caixas de correio apropriadas.

Se uma mensagem não puder ser

entregue, um relatório de erros contendo a primeira parte da mensagem não entregue será retornado ao remetente. O SMTP foi denido pela RFC 2821 e trata-se de um protocolo ASCII muito simples que está localizado na camada de aplicação do modelo OSI. Após estabelecer a conexão TCP com a porta 25, a máquina de transmissão, operando como cliente, espera que a máquina de recepção, operando como servidor, comunique-se primeiro. O servidor começa enviando uma linha de texto que fornece sua identidade e informa que está preparado para receber mensagens. 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 a mensagem e para quem ela está indo. Se esse receptor existir no local de destino, o servidor dará ao cliente o sinal para enviar a mensagem. Em seguida, o cliente enviará a mensagem e o servidor a conrmará. Observe que não são necessários

checksums

porque o TCP fornece

um uxo de bytes conável. Se houver mais mensagens, elas serão enviadas. Quando todas as mensagens tiverem sido trocadas em ambos os sentidos, a conexão será encerrada. Apesar do protocolo SMTP ser muito bem denido, ainda podem surgir alguns problemas. Um problema diz respeito ao tamanho das mensagens. Algumas implementações mais antigas não são capazes de lidar com mensagens maiores que 64 KB. Outro problema é causado 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 114

www.handbookdeti.com.br


Handbook de Questões de TI Comentadas para Concursos

RTCP (Real-time

Transport Control Protocol )

cuida do

Volume 04  Edição 2

feedback,

interface do usuário, mas não transporta quaisquer dados. usada para fornecer

feedback

da sincronização e da

A primeira função pode ser

sobre retardo, utuação, largura de banda, congestionamento

e outras propriedades de rede para as origens.

Essas informações podem ser usadas pelo

processo de codicação para aumentar a taxa de dados (e oferecer melhor qualidade) quando a rede estiver funcionamento bem e para reduzir a taxa de dados quando houver problemas na rede. Fornecendo

feedback

contínuo, os algoritmos de codicação podem ser adaptados

continuamente para oferecer a melhor qualidade possível sob as circunstâncias atuais. Por exemplo, se a largura de banda aumentar ou diminuir durante a transmissão, a codicação pode passar de MP3 para PCM de 8 bits e para codicação delta, conforme necessário. O campo de tipo

Payload type

é usado para informar ao destino qual algoritmo de codicação

será empregado no pacote atual, tornando possível variar o algoritmo de acordo com a demanda. O RTCP também lida com a sincronização entre uxos. O problema é que diferentes uxos podem utilizar

clocks

distintos, com granularidades e taxas de utuação diferentes. O RTCP

pode ser usado para manter esses elementos sincronizados. Finalmente, o RTCP fornece um modo para nomear as diversas origens (por exemplo, em texto ASCII). Essas informações podem ser exibidas na tela do receptor, a m de indicar quem está se comunicando no momento. Logo, alternativa errada. (E) ERRADA O SNMP (Simple

Network Management Protocol ) foi especicado no RFC 1157.

Trata-se de

um protocolo de gerência denido a nível de aplicação, utilizado para obter informações de servidores 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 utilizando os serviços do protocolo de transporte UDP (User

Datagram Protocol ) para enviar e receber

suas mensagens através da rede. O gerenciamento da rede através do SNMP permite o acompanhamento simples e fácil do estado (tráfego, percentagem de processamento, estados das portas de roteadores) em tempo real, 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 deste

modelo de gerência. O funcionamento do SNMP é baseado em dois dispositivos: o agente e o gerente.

Cada

máquina gerenciada é vista como um conjunto de variáveis que representam informações referentes ao seu estado atual, estas informações cam disponíveis ao gerente através de consulta e podem ser alteradas por ele. Cada máquina gerenciada pelo SNMP deve possuir um agente e uma base de informações MIB. Assim, alternativa errada.

Página 43 de 114

www.handbookdeti.com.br


Handbook de Questões de TI Comentadas para Concursos

18.

Volume 04  Edição 2

Assuntos relacionados: Gerenciamento de Projetos, Método do Diagrama de Precedência (MDP),

Banca: FCC Instituição: TRT 15a Região Cargo: Analista Judiciário - Tecnologia da Informação Ano: 2009 Questão: 47 Os tipos de dependências ou de relações de precedência incluídos no MDP - Método do Diagrama 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 diagramas de rede de cronograma do projeto. Esse diagrama usa retângulos, chamados de nós, para representar as atividades, que são conectadas através de setas. Tais setas são utilizadas para mostrar as dependências entre os nós conectados.

A Figura 3 apresenta um MDP, como

exemplo, 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 da

atividade predecessora. Este é o tipo mais comum;

• Término para Término:

o término da atividade sucessora depende do término da

atividade 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 da

atividade predecessora. Portanto, é a alternativa D a correta.

Página 44 de 114

www.handbookdeti.com.br


Handbook de Questões de TI Comentadas para Concursos

19.

Volume 04  Edição 2

Assuntos relacionados: Java, Bytecode, Máquina Virtual Java (JVM), Banca: FCC Instituição: TRT 15a Região Cargo: Analista Judiciário - Tecnologia da Informação Ano: 2009 Questã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ódigo independente de plataforma. III. Na interpretação, a máquina virtual Java ou JVM analisa e executa cada instrução do código Bytecode. IV. Na linguagem Java a interpretação ocorre apenas uma vez e a compilação ocorre a cada vez 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 desenvolvida

na década de 90 pela SUN Microsystems e desde aquela época essa linguagem vem sendo melhorada 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ão compilados para serem executados em arquiteturas especícas.

Dessa forma, executáveis

gerados para uma determinada arquitetura (Intel, por exemplo) não funcionam em outras arquiteturas (PowerPC e SPARC, por exemplo). À medida que temos diversas arquiteturas e diversos sistemas que devem ser corretamente executados nessas arquiteturas, essa abordagem começa a se mostrar desfavorável. A plataforma Java veio principalmente para solucionar esse tipo de problema. Diz-se então que a linguagem Java é portável, já que seus executáveis podem ser executados em qualquer arquitetura, desde que haja uma JVM para ela. De forma simplicada, 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, gerandose um código intermediário chamado de bytecode. Esse bytecode não depende da arquitetura da máquina física. Isso porque a máquina física não executa diretamente esse código intermediário;

Página 45 de 114

www.handbookdeti.com.br


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 executa o código intermediário (bytecode) quantas vezes forem as vezes em que o sistema for 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 adicionada

uma 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 leitura desatenta 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 114

www.handbookdeti.com.br


Handbook de Questões de TI Comentadas para Concursos

20.

Volume 04  Edição 2

Assuntos relacionados: Metodologia de Desenvolvimento de Software, Extreme Programming (XP), Scrum, DSDM, MVC, Banca: FCC Instituição: TRT 15a Região Cargo: Analista Judiciário - Tecnologia da Informação Ano: 2009 Questão: 52

Histórias de usuários na atividade de planejamento, encorajamento de uso de cartões CRC e de refabricação, reuniões em pé e programação em pares são características típicas do modelo 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 desenvolvimento, 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 funcionado 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 o passar do tempo surge desgaste;

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

releases curtos: release é um conjunto de funcionalidades bem denidas e que representam algum valor para o cliente. Um projeto XP pode ter uma ou mais releases no seu ciclo;

CRC: linguagem para modelagem de classes do XP que utiliza os story cards (cartões escritos 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 características mencionadas no enunciado. Portanto, esta é a alternativa correta. (B) ERRADA Scrum é um processo para construir software de forma incremental em ambientes complexos, 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 114

www.handbookdeti.com.br


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 software prontos;

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 é o líder da equipe (já que as equipes são auto-organizadas), mas atua como um mediador entre a equipe e qualquer inuência desestabilizadora.

Muito embora Scrum e XP sejam complementares, pois Scrum provê práticas ágeis de gerenciamento enquanto XP provê práticas integradas de engenharia de software, e tenham algumas características em comum, nem todas as características apresentadas no enunciado são associadas ao Scrum. Portanto, esta alternativa não está correta. (C) ERRADA DSDM (Dynamic Systems Development Method) é progenitor do XP. Ele é um arcabouço para 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 ecácia é em relação a utilidade da entrega para o negócio, e não necessariamente com relação a aderência às especicaçõ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 especicados 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, esta alternativa está errada. (D) ERRADA A princípio, DAS não se refere a nenhum modelo de processo de software conhecido. Por isso, conclui-se que esta não é a alternativa correta. Fora do âmbito de modelos de processo de desenvolvimento de software, DAS se refere a Direct-Attached Storage, uma tecnologia de armazenamento de dados em que o dispositivo de armazenamento é interligado diretamente à máquina detentora dos dados. Ou seja, não há 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 114

www.handbookdeti.com.br


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, esta

alternativa está errada. MVC é um padrão de arquitetura de software utilizado para separar dados ou lógica de negócios (Model) da interface do usuário (View) e do uxo da aplicação (Control).

Sua

ideia central é permitir que uma mesma lógica de negócio possa ser acessada e visualizada através de várias interfaces. Outro benefício considerável dessa abordagem é que alterações feitas no layout não afetam a manipulação de dados.

Página 49 de 114

www.handbookdeti.com.br


Handbook de Questões de TI Comentadas para Concursos

21.

Volume 04  Edição 2

Assuntos relacionados: UML, Diagrama de Objetos, Diagrama de Atividades, Diagrama de Comunicação, Diagrama de Sequência, Diagrama de Tempo, Banca: FCC Instituição: TRT 15a Região Cargo: Analista Judiciário - Tecnologia da Informação Ano: 2009 Questão: 55

Cobre um conjunto de instâncias dos itens encontrados nos diagramas de classe, expressa a parte estática de uma interação composta pelos objetos que colaboram entre si, mas sem qualquer 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 (Unied Modeling Language) é uma linguagem não-proprietária que permite modelagem de sistemas por meio de diagramas padronizados. Ela especica tanto o signicado gráco quanto semântico de cada diagrama. A versão 2.0 da UML contempla os seguintes diagramas:

Diagramas Estruturais

      •

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

Diagramas Comportamentais

   •

Diagrama de Classes

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 dos quatro diagramas apresentados como alternativas. (A) Diagrama de Atividade

Página 50 de 114

www.handbookdeti.com.br


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 maioria 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 principais elementos são: início (círculo preenchido); estado ou atividade (retângulo com bordas arredondadas); transição (seta); decisão ou desvio (losango - uma entrada e mais de uma saída); intercalação ou merge (losango - mais de uma entrada e uma saída); separação ou fork (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 ao perl 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 as interações existentes entre objetos em uma situação especíca. Ele é um pouco similar ao diagrama de sequência. Enquanto um diagrama de comunicação apresenta mais claramente quais objetos se relacionam entre si, um diagrama de sequência enfatiza como as interações entre objetos ocorrem ao longo do tempo. Não é difícil concluir também que este tipo de diagrama também não se encaixa ao perl descrito no enunciado.

Ou seja, esta não é a

alternativa 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 entre objetos. A ênfase temporal é obtida com a linha de tempo vertical que está sempre presente neste 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ções dinâ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 de estado.

Ele apresenta o comportamento dos objetos e suas interações em uma escala de

tempo, juntamente com as mensagens que modicam os estados desses objetos. próprio nome do diagrama sugere, ele não expressa parte estática alguma.

Como o

Por isso, ca

claro que essa também não é a alternativa certa. (E) Diagrama de Objetos Dentre os quatro diagramas apresentados como alternativas, este é o único estrutural. Sem dúvida, este fator é o atalho para a resolução consciente desta questão. Enquanto os diagramas estruturais modelam o sistema, ou parte dele, do ponto de vista estático, os diagramas comportamentais e de interação o fazem com ênfase à dinâmica envolvida. O diagrama de objetos é muito similar ao diagrama de classes. Os dois seguem praticamente a mesma notação. A principal diferença é que em um diagrama de objetos, os atributos dos objetos possuem valores.

Isso acontece porque ele evidencia o estado de um sistema em

um determinado ponto do tempo. De forma simplicada, podemos entender o diagrama de objetos como uma instância do diagrama de classes. Por este diagrama apresentar todas as características do enunciado, esta é a alternativa correta.

Página 51 de 114

www.handbookdeti.com.br


Handbook de Questões de TI Comentadas para Concursos

22.

Volume 04  Edição 2

Assuntos relacionados: UML, Diagrama de Comunicação, Diagrama de Sequência, Banca: FCC Instituição: TRT 15a Região Cargo: Analista Judiciário - Tecnologia da Informação Ano: 2009 Questã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 (Unied Modeling Language).

Tanto um quanto o outro, se propõem a revelar as interações entre objetos.

Por isso eles são classicados como diagramas de interação. Apesar dos seus objetivos nais apontarem na mesma direção, cada diagrama apresenta uma ênfase diferente. Fundamentalmente, 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 para enfatizar quais objetos se comunicam com quais, sem a informação cronológica das trocas de 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 um ao 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 é uma característica de nenhum dos dois diagramas à prova, ela não oferece nenhuma distinção entre 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ística do diagrama de sequência que não aparece no diagrama de comunicação. Não confunda objeto com classe! Por eliminação, concluímos que a alternativa correta é a letra c.

Página 52 de 114

www.handbookdeti.com.br


Handbook de Questões de TI Comentadas para Concursos

23.

Volume 04  Edição 2

Assuntos relacionados: UML, Diagrama de Sequência, Operadores de Controle Estrutu-

rados,

Banca: FCC Instituição: TRT 15a Região Cargo: Analista Judiciário - Tecnologia da Informação Ano: 2009 Questão: 57 Os operadores de controle estruturados, aplicados aos diagramas de sequência (região retangular que circunscreve o diagrama e que serve para mostrar modos de execução), NÃO têm o 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 (Unied Modeling Language).

Como o próprio enunciado desta questão sugere, esse tipo de diagrama pode

conter operadores de controle estruturados que servem para evidenciar modos de execução dentro do diagrama. Esses operadores são representados por tags e retângulos que delimitam suas 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 é uma expressão booleana que pode aparecer entre colchetes acima de qualquer linha de vida no corpo;

• Execução Condicional (tag alt):

o corpo do operador é subdividido por linhas

horizontais tracejadas. Cada subdivisão tem uma condição de proteção. O corpo de uma subdivisão somente é executado se a sua condição for verdadeira;

Página 53 de 114

www.handbookdeti.com.br


Handbook de Questões de TI Comentadas para Concursos

• Execução Paralela (tag par):

Volume 04  Edição 2

o corpo do operador também é subdividido por linhas

horizontais tracejadas. Todas as subdivisões são executadas em paralelo;

• Execução Iterativa (tag loop):

o corpo do operador é executado enquanto a condição

de proteção, que aparece na parte superior de uma linha de vida no corpo, for verdadeira;

• Quebra (tag break):

ele representa uma quebra na execução do processo.

Por

conta disso, ele é especialmente utilizado para modelar tratamentos de exceções;

• Região Crítica (tag critical):

ele identica uma operação atômica, ou seja, aquela

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

Página 54 de 114

www.handbookdeti.com.br


Handbook de Questões de TI Comentadas para Concursos

24.

Volume 04  Edição 2

Assuntos relacionados: MER, DER, Entidade Associativa, Entidade Fraca, Banca: FCC Instituição: TRT 15a Região Cargo: Analista Judiciário - Tecnologia da Informação Ano: 2009 Questã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 de alto-nível projetado para ser compreensível também pelos demandantes dos sistemas modelados. A principal ferramenta desse modelo é o DER (Diagrama Entidade-Relacionamento). Esse diagrama é utilizado para apresentar gracamente a modelagem elaborada pelo projetista.

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, Bachman e James Martin. São abordados abaixo, cada um dos três conceitos relacionados a MER que aparecem nas alternativas.

• entidade associativa:

é uma entidade denida a partir da simplicação de um rela-

cionamento do tipo N:M (muitos-para-muitos) entre duas ou mais entidades. Sua chave primária sempre é composta, no mínimo, pelas chaves primárias das entidades que participam do relacionamento. Imagine um relacionamento vende, do tipo 1:N (um-paramuitos), entre as entidades PEDIDO e PRODUTO. Ou seja, um PEDIDO vende N PRODUTOS. Pode-se ter uma entidade associativa ITEM_DE_PEDIDO que teria a chave 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 o principal interesse em se criar entidades associativas se deve ao fato delas possuírem atributos que nem sempre fazem sentido nas entidades geradoras. Esse é o caso dos atributos quantidade e desconto, que podem ser modelados para se relacionarem diretamente apenas com a entidade associativa ITEM_DE_PEDIDO. Perceba também que é o item II que representa o signicado de entidade associativa;

• auto relacionamento:

é um caso especial de entidade em que ela se relaciona com

si 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 114

www.handbookdeti.com.br


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 relacionamento;

• entidade fraca:

é justamente denida pelo item III. Um bom exemplo de entidade

fraca é a entidade DEPENDENTE. Em um relacionamento depende de, a existência da 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 114

www.handbookdeti.com.br


Handbook de Questões de TI Comentadas para Concursos

25.

Volume 04  Edição 2

Assuntos relacionados: CMMI, Plano de Gerenciamento de Conguração, RUP, Banca: FCC Instituição: TRT 16a Região Cargo: Analista Judiciário - Tecnologia da Informação Ano: 2009 Questão: 21 Todas as atividades da disciplina Gerenciamento de Controle de Conguração e Mudança, que serão executadas durante o ciclo de vida do produto ou do projeto, devem ser descritas no artefato (a). Registro da Auditoria de Conguração. (b). Cronograma de Atividades. (c). Plano de Gerenciamento de Conguração. (d). Itens de Conguração. (e). Repositório do Projeto.

Solução: De acordo com o Modelo de Maturidade de Capacidade (CMM) do Software Engineering Institute (SEI), o Gerenciamento de Conguração e de Solicitações de Mudança controla mudanças feitas nos artefatos de um projeto e mantém a integridade deles. Os produtos de trabalho colocados sob gerenciamento de congurações incluem os produtos que são entregues ao cliente, produtos de trabalho internos denidos, produtos adquiridos, ferramentas e outros itens que são utilizados na criação e descrição destes produtos de trabalho. Um Sistema de CM é interessante para gerenciar diversas variantes de sistemas de software em desenvolvimento, controlando as versões que são usadas. Um Sistema de CM é fundamental para controlar os inúmeros artefatos produzidos pelas muitas pessoas que trabalham em um mesmo projeto. O controle ajuda a evitar confusões dispendiosas e garante que os artefatos resultantes não entrem em conito. Podemos denir os

baselines de congurações

como as informações de congurações formal-

mente projetadas em um momento especíco durante a vida de um produto ou componente de produto. Já os

itens de conguração,

que foram citados na alternativa D da questão, são

uma agregação de produtos de trabalho que é atribuída para o gerenciamento de congurações e tratada como uma entidade única no processo de gerenciamento de congurações. O Gerenciamento de Conguração e de Solicitações de Mudança (CM e CRM) envolve:

a identicação dos itens de conguração;

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

a auditoria das mudanças feitas nesses itens;

a denição e o gerenciamento das congurações desses itens.

Em relação à alternativa A, o Registro da Auditoria de Conguração identica uma baseline, qualquer artefato necessário ausente e requisitos reprovados ou testados de forma incompleta. Já na alternativa C, podemos denir que o Plano de Gerenciamento de Conguração (CM) descreve todas as atividades do Gerenciamento de Controle de Conguração e Mudança

Página 57 de 114

www.handbookdeti.com.br


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 detalha o cronograma de atividades, as responsabilidades atribuídas e os recursos necessários, como equipes, 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 todas as versões de diretórios e arquivos do projeto.

Ele também armazena todos os dados e

metadados derivados que estejam associados a esses diretórios e arquivos.

Página 58 de 114

www.handbookdeti.com.br


Handbook de Questões de TI Comentadas para Concursos

26.

Volume 04  Edição 2

Assuntos relacionados: CMM, Controle Integrado de Mudanças, RUP, Banca: FCC Instituição: TRT 16a Região Cargo: Analista Judiciário - Tecnologia da Informação Ano: 2009 Questão: 22 Os métodos, processos e ferramentas utilizados para gerenciamento de conguração e mudança de uma organização NÃO envolvem a (a). auditoria das mudanças feitas nesses itens. (b). denição e gerenciamento das congurações desses itens. (c). identicação dos itens de conguraçã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 conguração e mudanç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 Engineering Institute (SEI), o Gerenciamento de Conguração e de Solicitações de Mudança envolve:

a identicação dos itens de conguração;

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

a auditoria das mudanças feitas nesses itens;

a denição e o gerenciamento das congurações desses itens.

Dada uma denição tão clara e condizente com o enunciado da questão, podemos dizer que alternativa 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 Conguração e Solicitações de Mudança (Sistema de CM) de uma organização contém informações-chave sobre os processos de desenvolvimento, promoção, implantação e manutenção de produtos da organização e armazena a base de ativos de 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 114

www.handbookdeti.com.br


Handbook de Questões de TI Comentadas para Concursos

27.

Volume 04  Edição 2

Assuntos relacionados: CMMI, RUP, Itens de Conguração, Baseline, Banca: FCC Instituição: TRT 16a Região Cargo: Analista Judiciário - Tecnologia da Informação Ano: 2009 Questão: 23 Sobre uma baseline dos itens de conguraçã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 ocial básico para os trabalhos subsequentes. III. Depois do estabelecimento da baseline inicial, nenhuma mudança pode ser feita. Está correto o que se arma 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 denido de itens de conguração deve ser estabelecido. Tal conjunto representa um estágio do desenvolvimento, o qual é passível de modicações apenas mediante um mecanismo formal de alterações. A este conjunto é dado o nome de Baselines, ou Congurações Base do sistema. Ou seja, as informações de congurações formalmente projetadas em um momento especíco durante a vida de um produto ou componente de produto são conhecidas como

baselines de congurações.

Essa denição coincide com a armativa I, que é verdadeira.

baselines de congurações

As

mais as mudanças aprovadas a estas baselines, constituem

as informações atuais de congurações. Logo, a

baseline

pode ser denida como um padrão

básico que pode ser modicado para resultar em congurações diferentes das inicialmente denidas. Logo, a armativa II é correta e a armativa III é incorreta. Por conseguinte, a alternativa 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 de baselines com os nais de fase do ciclo de vida do produto. O desenvolvimento com congurações base pode, então, ser resumido nos seguintes pontos:

caracterização do ciclo de vida, identicando-se as fases pelas quais o desenvolvimento do software irá passar e, dentro delas, as atividades a serem realizadas e os produtos a serem desenvolvidos;

denição do conjunto de baselines. Para cada baseline planejada, deve-se estabelecer quais serão os itens de conguração que a irão compor e quais as condições impostas para seu estabelecimento;

Página 60 de 114

www.handbookdeti.com.br


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 de seus desenvolvedores, e realiza-se com ampla liberdade, podendo os ICs serem criados e modicados com bastante facilidade;

durante cada fase, entretanto, a modicação de uma conguração-base anteriormente estabelecida somente pode ser feita de forma controlada, mediante um processo bem denido;

ao ser estabelecida, cada baseline incorpora integralmente a anterior.

Desta forma,

em qualquer instante do desenvolvimento, a última baseline estabelecida representa o estado atual do desenvolvimento como um todo;

o estabelecimento de cada baseline somente é realizado após ser aprovada por procedimentos de consistência interna, vericação e validação.

Desta forma, é possível ter um controle sistemático sobre todos os itens de conguração abordados em cada fase do ciclo de vida do software, assim como é possível avaliar mais facilmente o seu grau de evolução.

Página 61 de 114

www.handbookdeti.com.br


Handbook de Questões de TI Comentadas para Concursos

28.

Volume 04  Edição 2

Assuntos relacionados: Oracle, SQL, Banca: FCC Instituição: TRT 16a Região Cargo: Analista Judiciário - Tecnologia da Informação Ano: 2009 Questão: 25 Os programas PL/SQL são constituídos por blocos que executam operações lógicas e cada bloco tem três partes que denem 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 arma 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 linguagem SQL padrão. Ela serve para criar programas complexos e poderosos, não só para o banco 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 comandos SQL 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ção do bloco que é indispensável e obrigatória.

EXCEPTION Seção onde cam as instruções de tratamento de erro. Por denição, apenas a seção executável é requerida. As outras seções são opcionais. Logo, somente a armativa 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ão permitidas em um programa PL/SQL são SELECT, INSERT, UPDATE, DELETE e várias

Página 62 de 114

www.handbookdeti.com.br


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/SQL não é caso sensitivo, ou seja, não diferencia maiúsculas de minúsculas. Instruções de denição de dados como CREATE, DROP ou ALTER não são permitidas. A seçã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 pode ser uma tabela armazenada ou pode ser a resposta para alguma consulta. Enm, a linguagem PL/SQL possui mais recursos que o padrão e visa fornecer mais exibilidade e aproveita o poder das linguagens procedurais para o desenvolvimento de programas complexos que envolvam acesso ao banco de dados Oracle.

Página 63 de 114

www.handbookdeti.com.br


Handbook de Questões de TI Comentadas para Concursos

29.

Volume 04  Edição 2

Assuntos relacionados: Redes de Computadores, Endereçamento IP, Banca: FCC Instituição: TRT 16a Região Cargo: Analista Judiciário - Tecnologia da Informação Ano: 2009 Questã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 O

hub

hub,

um

switch

e um roteador.

ou concentrador é um dispositivo que tem a função de interligar os computadores

de uma rede local. Sua forma de trabalho é a mais simples se comparado ao

switch

e ao

roteador: ele trabalha na camada física do modelo OSI e, apesar de sua topologia física ser em estrela, a lógica é comparada a uma topologia em barramento. Além disso, o trabalha em

broadcast,

as máquinas interligadas. O O

switch

hub

ou seja, envia a mesma informação dentro de uma rede para todas

hub

somente é indicado para redes com poucos terminais.

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 signica que não haverá colisões entre pacotes de segmentos diferentes. O

switch

acaba criando uma

espé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) do

modelo OSI, entretanto, alguns operam também na camada 3 (camada de rede), herdando algumas propriedades dos roteadores. O roteador é um dispositivo que opera na camada 3 do modelo OSI de referência. A principal característica desse equipamento é a capacidade de selecionar a rota mais apropriada para repassar os pacotes recebidos. Explicaremos mais sobre o seu funcionamento mais adiante. Na Internet, os computadores comunicam entre eles graças ao protocolo IP (Internet Protocol), que utiliza endereços numéricos, chamados endereços IP, compostos por 4 números inteiros (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 que os computadores de uma rede se comuniquem entre si, assim cada computador de uma rede possui 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ços IP públicos, isto é, os endereços IP dos computadores diretamente ligados à rede pública de Internet.

Página 64 de 114

www.handbookdeti.com.br


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 inteiros separados 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ês netID);

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áquinas da 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 substituídos por zeros, obtém-se o endereço máquina.

Este endereço representa a máquina

especicada 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ço de divulgação (em inglês broadcast). Trata-se de um endereço especíco, permitindo enviar uma mensagem a todas as máquinas situadas na rede especicada pelo netID. Outra questão especíca dos endereços IP é fato deles estarem repartidos por classes, de acordo com o número de bytes que representam a rede. Por exemplo, em um endereço de rede classe A, o primeiro byte representa a rede. Já na classe B são os dois primeiros e na classe C são os três primeiros. Essa divisão em classes foi criada para facilitar a atribuição de redes de acordo com o seu tamanho. Por exemplo, a rede classe A é capaz de possuir uma rede de hosts muito maior do que as outras classes, pois sobram mais endereços para especicar 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. Por exemplo, a rede Classe C 200.100.100.0/255.255.255.0, com 256 números IPs disponíveis (na prática são 254 números que podem ser utilizados, descontando o primeiro que é o número da 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 um pacote chega em uma das interfaces do roteador, ele analisa a sua tabela de roteamento, para vericar 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 rede de 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 identicação de rede 0.0.0.0 com uma máscara de sub-rede 0.0.0.0 indica uma rota padrão. Quando o roteador tenta encontrar uma rota para um determinado destino, ele percorre todas as entradas da tabela de roteamento em busca de uma rota especíca para a rede de destino. Caso não seja

Página 65 de 114

www.handbookdeti.com.br


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

Custo

192.168.0.0

255.255.255.0

0.0.0.0

U

2

169.254.0.0

255.255.0.0

0.0.0.0

U

1000

0.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ço de IP e, nesse caso, a alternativa A é a correta. Porém, ressalvamos que a máscara de subrede também é utilizada e confere uma exibilização maior ao uso dos endereços IP.

Página 66 de 114

www.handbookdeti.com.br


Handbook de Questões de TI Comentadas para Concursos

30.

Volume 04  Edição 2

Assuntos relacionados: Redes de Computadores, SNMP, Gerência de Redes, Banca: FCC Instituição: TRT 16a Região Cargo: Analista Judiciário - Tecnologia da Informação Ano: 2009 Questão: 29 NÃO se trata de uma classe de rótulos para tipos de dados estruturados denida pela notação ASN.1: (a). Sequência. (b). Especicado por contexto. (c). Universal. (d). Aplicação. (e). Privada.

Solução: A notação

ASN.1

(Abstract Syntax Notation One) é uma a linguagem desenvolvida pelo

ITU-T e escolhida pela ISO para denir objetos gerenciáveis da mation Base). notação

MIB

(Management Infor-

Vamos explicar melhor em que contexto é inserido o conceito de

ASN.1 adiante.

MIB

e

Devido a diversidade de equipamentos das modernas redes de dados, tornou-se necessário unicar e padronizar as informações de gerência e o protocolo da administração dessas redes. O protocolo

SNMP (Simple Network Management Protocol) surgiu para atender essa

necessidade. Os sistemas de gerência de rede permitem ao administrador vericar os dispositivos interligados à rede e atualizar suas informações de estado e conguração. Na arquitetura SNMP, o software

Agent (Agente) é instalado em cada dispositivo da rede, com a nalidade interagir

com o sistema de gerência para responder às requisições de informação recebidas ou para executar os comandos solicitados. Já o software

Manager (Gerente) é instalado no sistema

de gerência para solicitar as informações e enviar comandos para os dispositivos de rede e para receber as informações solicitadas. O

manager

A

MIB

agent utilizam a estrutura de objetos denominada Management InforMIB) e os comandos do protocolo SNMP para a troca de informações.

e o

mation Base (

possui uma estrutura em árvore padronizada que contém os objetos gerenciáveis

de um determinado dispositivo de rede. Essa estrutura não tem limites e, de acordo com a necessidade, 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 dos recursos desse dispositivo de rede. Cada objeto possui as seguintes características:

Um rótulo (label), em formato texto, e uma identicação única denominada Object IDentication (OID), que é composta por uma seqüência de números que identica a posição do objeto na árvore da MIB (por exemplo: 1.3.6.1.4.1.2682.1);

Página 67 de 114

www.handbookdeti.com.br


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, conguraçã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 denir um recurso, seus

atributos e as operações que podem ser executadas por este recurso, quando aplicável. Essa notação dene:

Datatypes: tipos de dados básico que denem o formato das informações, tais como Integer, Byte String, Object Identier, Null, Enumerated, Boolean, entre outros. São atribuí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 denidas a partir dos tipos de dados básicos.

São atribuídos a conjuntos mais complexos de

informações, tais como objetos gerenciáveis ou mensagens;

Macro Templates: modelos completos para a denição dos objetos gerenciáveis.

In-

cluem todos os tipos de dados ou estruturas necessárias para o objeto, as faixas de valores aceitáveis para cada dado e os tipos de operações que podem ser executadas pelo objeto. A notação ASN.1 possui ainda um conjunto de regras denominado

BER

(Basic Encoding

Rules) que dene a forma através da qual um programa escrito nessa linguagem é compilado para ser traduzido para a linguagem de máquina do dispositivo de rede.

Este programa

compilado é então carregado e a MIB passa a ser interpretada corretamente pelo dispositivo. ASN.1 é como uma linguagem de programação (por exemplo, C), enquanto que BER assemelha-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 apresentação. Para que serve a camada de apresentação? Serve para adequar a representação dos parâmetros de dados que são trocados, através da camada de sessão, entre duas aplicações. Essa adequação se faz necessária devido às diferenças entre ambientes onde operam as aplicações comunicantes. Os exemplos mais óbvios desta necessidade ocorre na transmissão de cadeias (strings) de caracteres entre ambientes operando com distintos conjuntos de caracteres, e valores reais e inteiros cuja representação interna depende da arquitetura do hardware. Esta adequação é suprida por um conjunto de algoritmos compostos de regras de codicação, chamados sintaxes de transferência (transfer sintaxes).

Os serviços da camada de

apresentação funcionam negociando, quando duas aplicações se comunicam, a sintaxe de transferê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 de transferência em cada situação possível, uma linguagem comum para se denotar tipos de dados, uma espécie de linguagem intermediária para codicação/decodicação, compartilhada entre as aplicações comunicantes, se faz necessária, para descrever as possíveis representações de dados transferíveis entre elas.

Página 68 de 114

www.handbookdeti.com.br


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 primeira de tais linguagens, por isso chamada de ASN-1 (Abstract Sintax Notation One), denida no padrã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ção

de um valor (dado) só permite distinguir o dado representado conhecendo-se o tipo ao qual pertence aquela representação.

Formalmente, um tipo de dado é um conjunto (nito ou

nã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 comunicantes. A semântica desses dados, entretanto, ca de fora da ASN-1, sendo abordada pela linguagem BER (Basic Encoding Rules) e um por subconjunto desambiguado desta, o

DER (Distinguished Encoding Rules, norma ISO 8825.)

A ASN.1 se parece com uma linguagem de programação, com a particularidade de se restringir à declaração de tipos e valores. diversos tipos.

Os valores que são transmitidos podem ser de

Existem os tipos simples e outros, mais complexos, que são formados de

vários tipos simples combinados. Cada tipo recebe uma denominação que o distingue, de forma inequívoca de todos os demais tipos. Algumas das maneiras de denir novos tipos sã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 mesmo rótulo pode ser atribuído a mais de um tipo cuja particular identicação será decidida pelo contexto 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 dado

mó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 114

www.handbookdeti.com.br


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 114

www.handbookdeti.com.br


Handbook de Questões de TI Comentadas para Concursos

31.

Volume 04  Edição 2

Assuntos relacionados: Governança de TI, Plano de Continuidade de Negócios, Banca: FCC Instituição: TRT 16a Região Cargo: Analista Judiciário - Tecnologia da Informação Ano: 2009 Questã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, recuperaçã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 ser

adotada pelas empresas para suportar problemas e situações adversas durante a ocorrência de um desastre, visando diminuir ou mesmo eliminar riscos ou impacto. De forma geral, um plano de continuidade deve conter um conjunto de atividades para prevenção de desastre, ações a serem tomadas durante um desastre e processos de retorno a situação anterior ao desastre. O plano de continuidade de negócios deve, preferencialmente, ser desenvolvido por equipes multidisciplinares, sob forte e adequada liderança, envolvendo todas as áreas de negócio a que o diz respeito. Além disso, deve ser atualizado sempre que necessário e testado periodicamente. A recente norma BS 7799 e a norma brasileira NBR ISO/IEC 17799 consideram dez itens para denir um ambiente seguro.

Um destes itens é a recomendação de desenvolvimento

de um plano de continuidade de negócios. Quando se fala em segurança, a área de TI imediatamente pensa em rewalls, proxies, antivírus, senhas, política de segurança, deixando de lado as questões referentes aos PROCESSOS que dependem de TI e da velocidade de substituição de um hardware danicado. Basicamente, um Plano de Continuidade de Negócios (PCN) é um conjunto de três outros 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 de ameaça ao negócio da empresa (ou ambiente). Por exemplo, O PGC é focado nas atividades que envolvem as respostas aos eventos, ou seja, como atuar em situações de

emergência.

Este documento tem o propósito de denir

Página 71 de 114

www.handbookdeti.com.br


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 contingência antes, durante e depois da ocorrência do incidente. Além disso, tem que denir os procedimentos 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 de tratamento 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, dene uma processos das empresas.

operação alternativa e temporária para a execução dos

Tem o propósito de denir os procedimentos para contingencia-

mento dos ativos que suportam cada processo de negócio, objetivando reduzir o tempo de indisponibilidade e, conseqüentemente, os impactos potenciais ao negócio. Orientar as ações diante da queda de uma conexão à Internet, exemplicam os desaos organizados pelo plano. Finalizando, dizemos que o PRD é voltado para a substituição ou reposição de compo-

restauração recuperação e retomada das funcionalidades dos ativos afetados que suportam os pro-

nentes que venham a ser danicados. Tem o propósito de denir um plano de e

cessos de negócio, a m de restabelecer o ambiente e as condições originais de operação, no menor tempo possível. Concluímos que um plano de continuidade de negócios deve ser bem completo e que os três planos citados acima que fazem parte dele são, na verdade, em outras palavras, os procedimentos citados na

alternativa A da questão em estudo.

Página 72 de 114

www.handbookdeti.com.br


Handbook de Questões de TI Comentadas para Concursos

32.

Volume 04  Edição 2

Assuntos relacionados: Estruturas de Dados, Algoritmos de Ordenação, Banca: FCC Instituição: TRT 16a Região Cargo: Analista Judiciário - Tecnologia da Informação Ano: 2009 Questã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 classicados 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 elementos já ordenados e o seguinte com o restante dos elementos ainda não ordenados.

O

primeiro elemento é colocado no primeiro segmento. Retira-se o primeiro elemento do segmento desordenado e insere-se no segmento ordenado em sua posição correta.

Repete-se

o 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 o

incremento decrescente (Shell

sort ).

Na ordenação por troca, comparam-se dois elementos e trocam-se suas posições se o segundo elemento é menor do que o primeiro. A complexidade de tempo deste algoritmo é de

O(n2 ).

Exemplos de algoritmos de ordenação por troca são o método da bolha (buble

e o método da troca e partição (quicksort )

Na ordenação por seleção, seleciona-se o menor item do vetor.

sort )

Em seguida, troca esse

elemento com o item que está na primeira posição do vetor. Repete-se este procedimento para 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 imadamente

n/2.

2

sub-vetores de comprimento, aprox-

Ordena recursivamente cada sub-vetor (dividindo-se novamente, quando

possível). Faz o merge dos

2

sub-vetores ordenados para obter o vetor ordenado completo.

A complexidade de tempo deste algoritmo é de nação por intercalação é o

O(nlog(n)).

Exemplo de algoritmo de orde-

mergesort.

Os principais algoritmos de busca são classicados em linear e binário. O algoritmo de busca linear é a forma mais simples de se consultar um vetor em busca de 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

Página 73 de 114

www.handbookdeti.com.br

O(n).


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 ordenados.

A busca é realizada por meio de sucessivas divisões do espaço de busca (divisão e

conquista), comparando o elemento buscado (chave) com o elemento no meio do vetor. Se o elemento do meio do vetor for a chave, a busca termina com sucesso. Caso contrário, se o elemento do meio vier antes do elemento buscado, então a busca continua na metade posterior do vetor. E nalmente, se o elemento do meio vier depois da chave, a busca continua na 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 é

Página 74 de 114

www.handbookdeti.com.br

(A).


Handbook de Questões de TI Comentadas para Concursos

33.

Volume 04  Edição 2

Assuntos relacionados: Raciocínio Lógico, Álgebra Booleana, Banca: FCC Instituição: TRT 16a Região Cargo: Analista Judiciário - Tecnologia da Informação Ano: 2009 Questão: 39 Considere p = FALSE e q = TRUE. Os resultados booleanos de p AND q, p OR q e NOT p 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 as variáveis p e q assumirem valor verdadeiro. Como p é falso (FALE), o resultado da operação p AND q é falso (FALSE). A operação OR resulta em um valor verdadeiro se o valor de qualquer uma das variáveis p 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 é verdadeiro se p é falso, e falso se p é verdadeiro.

Como p é falso (FALSE), o resultado da

operaçã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 114

www.handbookdeti.com.br


Handbook de Questões de TI Comentadas para Concursos

34.

Volume 04  Edição 2

Assuntos relacionados: Projeto de Software, Coesão, Banca: FCC Instituição: TRT 16a Região Cargo: Analista Judiciário - Tecnologia da Informação Ano: 2009 Questã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 simples, aos quais chamamos de módulos. A modularização é uma ferramenta da programação estruturada, que tem como objetivo aumentar a conabilidade, legibilidade, manutenibilidade e exibilidade dos algoritmos. Um módulo é, então, um grupo de comandos, constituindo um trecho de algoritmo, com uma função bem denida 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ção especíca de requisitos e tenha uma interface simples quando visto de outras partes da estrutura do programa. A coesão mede a intensidade da associação funcional dos elementos de um módulo. Uma classe com baixa coesão possui funcionalidades não relacionadas, ou seja, uma classe com baixa coesão possui responsabilidades que pertencem a outras classes, e leva a problemas de diculdade de entendimento, de reutilização e de manutenção. Os tipos de coesão (do melhor tipo para o pior tipo) são:

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

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

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

Procedural: módulo cujos elementos estão envolvidos em atividades diferentes e possivelmente não relacionadas, mas nas quais o controle ui de uma atividade para a outra;

Temporal:

módulo cujos elementos estão envolvidos em atividades que estão rela-

cionadas no tempo;

Página 76 de 114

www.handbookdeti.com.br


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 contribuem para atividades sem relação signicativa entre si.

O acoplamento mede o grau de interdependência entre os módulos do diagrama. Um alto acoplamento diculta 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ão temporal. (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 114

www.handbookdeti.com.br


Handbook de Questões de TI Comentadas para Concursos

35.

Volume 04  Edição 2

Assuntos relacionados: Engenharia de Software, UML, Diagrama de Caso de Uso, Banca: FCC Instituição: TRT 16a Região Cargo: Analista Judiciário - Tecnologia da Informação Ano: 2009 Questão: 46 Considere um Caso de Uso Base - UCB - que represente o atendimento a um trabalhador para uma reclamação trabalhista. Entretanto, na ocorrência de uma determinada condição como, 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 de UCB com UCS como (a). exceção. (b). extensão. (c). generalização. (d). agregação. (e). inclusão.

Solução: A UML (Unied Modeling Language) é uma linguagem visual para especicação, construção e documentação de softwares baseados na modelagem orientada a objeto. A UML não é um método de desenvolvimento, mas um modelo de linguagem utilizada para que a modelagem de sistemas seja consistência, simples, compreensível e de fácil comunicação com outros sistemas. A UML é composta por elementos que modelam diferentes partes de um sistema. Os elementos ajudam a criar os diagramas, que ajudam a entender a arquitetura do sistema. A UML possui basicamente nove diagramas que são utilizados em combinação para fornecer os diferentes aspectos de sistemas, tais: diagrama de caso de uso, de classe, de objeto, de estado, 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 (comportamento dinâmico) e funcional. A estrutura estática é suportada pelos diagramas de classes e 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 dos usuários, possibilitando a denição dos limites de um sistema e das relações entre o sistema e o ambiente. Ou seja, os casos de uso são descrições de interações entre os usuários de um sistema 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, um hardware, ou outro sistema que interage com o sistema modelado.

Os casos de uso são

processos ou funções que o sistema deve realizar de forma automática ou manual. Os relacionamentos 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 114

www.handbookdeti.com.br


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 relacionamento entre atores é a generalização. Um caso de uso é representado por uma elipse conectada a símbolos de atores. Um retângulo mostra os limites (fronteiras) do sistema, contendo em seu interior o conjunto de casos de uso 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ção entre o ator com o caso de uso. A interação neste tipo de relacionamento ocorre por meio de 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. Na especicação de casos de uso, existem os uxos de exceção que descrevem os procedimentos que 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, em um ponto de extensão, de outro caso de uso, identicado como base. Este tipo de relacionamento é utilizado para expressar rotinas de exceção e para descrever cenários opcionais de um caso de uso.

Os casos estendidos descrevem cenários que somente ocorrerão em uma

situaçã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 descreve uma situação especíca do caso de uso base o atendimento a um trabalhador para uma reclamaçã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 especica que um caso de uso herda as características de um caso de uso pai, e pode sobrepor algumas delas ou adicionar novas. Este relacionamento é semelhante à herança entre classes. O relacionamento relatado no enunciado desta questão não é um relacionamento de generalização. Logo, alternativa errada. (D) ERRADA De acordo com explicado anteriormente, não existe relacionamento nos diagramas de caso de uso do tipo agregação. A agregação ocorre no relacionamento entre classes que ocorre no diagrama de classes do UML. Logo, alternativa errada.

Página 79 de 114

www.handbookdeti.com.br


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 procedimento copiado num local especicado no outro caso de uso. Este tipo de relacionamento é utilizado quando 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 114

www.handbookdeti.com.br


Handbook de Questões de TI Comentadas para Concursos

36.

Volume 04  Edição 2

Assuntos relacionados: Engenharia de Software, UML, Diagrama de Classes, Banca: FCC Instituição: TRT 16a Região Cargo: Analista Judiciário - Tecnologia da Informação Ano: 2009 Questão: 47 Considere diversas agências (classe Agencia) de atendimento a reclamações trabalhistas espalhadas em vários pontos do Estado. Uma delas, a central (classe AgenciaCentral), tem atributos diferenciados, porém herda os demais atributos e operações de Agencia. O relacionamento entre essas classes é denido na UML como (a). inclusão. (b). composição. (c). especíco. (d). generalização. (e). encapsulamento.

Solução: A UML (Unied Modeling Language) é uma linguagem visual para especicação, construção e documentação de softwares baseados na modelagem orientada a objeto. A UML não é um método de desenvolvimento, mas um modelo de linguagem utilizada para que a modelagem de sistemas seja consistência, simples, compreensível e de fácil comunicação com outros sistemas. A UML é composta por elementos que modelam diferentes partes de um sistema. Os elementos ajudam a criar os diagramas, que ajudam a entender a arquitetura do sistema. A UML possui basicamente nove diagramas que são utilizados em combinação para fornecer os diferentes aspectos de sistemas, tais: diagrama de caso de uso, de classe, de objeto, de estado, 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 (comportamento dinâmico) e funcional. A estrutura estática é suportada pelos diagramas de classes e 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 especicado. O tipo de modelo é especicado quando uma classe é iniciada (isto é, um objeto é criado). Os diagramas de classe descrevem a estrutura estática de um sistema, mostrando as classes dos sistemas, os atributos delas, os objetos e os relacionamentos entre elas. Este diagrama não mostra a troca de mensagens entre as classes. No diagrama de classes, temos os relacionamentos entre as classes e os objetos, que podem ser divididos em nível de instância e em nível de classe. Em nível de instância são a ligação (link), a associação e a agregação. Em nível de classes são a generalização, a especializaçã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 114

www.handbookdeti.com.br


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 signica que é uma conexão entre objetos daquelas classes. Em UML, uma associação é denida com um relacionamento que descreve uma série de ligações, onde a ligação é denida como a semântica entre as duplas de objetos ligados.

As associações descrevem a conexão entre diferentes classes e podem

ter uma regra que especica o propósito da associação e pode ser uni ou bidirecional (indicando se os dois objetos participantes do relacionamento podem mandar mensagens para o outro, ou se apenas um deles sabe sobre o outro). Cada ponta da associação também possui um valor de multiplicidade, que dita como muitos objetos neste lado da associação pode relacionar-se com o outro lado. As agregações são um tipo especial de associação no qual as duas classes participantes não possuem em nível igual, mas fazem um relacionamento todo-parte. Uma agregação descreve como a classe que possui a regra do todo é composta de outras classes, que possuem a regra das partes. Para agregações, a classe que age como o todo sempre tem uma multiplicidade de 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 casos de uso terá seu procedimento copiado num local especicado no outro caso de uso. Este tipo de relacionamento é utilizado quando existem cenários cujas ações servem a mais de um 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 signica que

composições formam também relacionamentos todo-parte, mas neste relacionamento as classes não podem existir independentes. O enunciado trata do caso de um relacionamento entre classe com herança, onde a classe AgenciaCentral herda os atributos da classe Agencia, e não um relacionamento do tipo todoparte. 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 denidas a partir de uma classe existente. Às novas subclasses podem ser adicionadas propriedades e associações especícas. De acordo com o enunciado, a classe AgenciaCentral possui apenas atributos diferenciados da classe Agencia, e não especica novas subclasses. Logo, alternativa errada.

Página 82 de 114

www.handbookdeti.com.br


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 de herança de uma classe derivada de uma classe base. A generalização abstrai classes genéricas, a partir de classes com propriedades (atributos e operações) semelhantes.

Em uma

hierarquia de generalização, as subclasses herdam todas as propriedades de sua superclasse. Conforme o enunciado, a classe AgenciaCentral herda propriedades da superclasse Agencia, 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íveis por outros objetos, de seus detalhes internos de implementação, que cam ocultos dos demais objetos. Este mecanismo é utilizado para impedir o acesso direto aos atributos de um objeto, 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ão encapsulados. Logo, alternativa está errada.

Página 83 de 114

www.handbookdeti.com.br


Handbook de Questões de TI Comentadas para Concursos

37.

Volume 04  Edição 2

Assuntos relacionados: Arquitetura de Computadores, Gerenciamento de Memória, Banca: FCC Instituição: TRT 18a Região Cargo: Analista Judiciário - Tecnologia da Informação Ano: 2008 Questão: 23 Dentre os métodos para construção de algoritmos, o Cartesiano é aquele que segue o princípio de (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 partes menores, a m de torná-lo mais simples ou especíco e, se necessário, dividir novamente as 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 alternativa a 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, am 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 de decisão. Chamamos de condições as variáveis a ter em conta para a tomada de decisão, ou seja, as variáveis que vão ser avaliadas. Já as ações são as operações a desenvolver condicionadas pelas respostas das condições. O método da tabela de decisão consiste em chegar nas ações através da análise das combinações das condições e, assim, chegar a um algoritmo que atenda às necessidades.

Página 84 de 114

www.handbookdeti.com.br


Handbook de Questões de TI Comentadas para Concursos

38.

Volume 04  Edição 2

Assuntos relacionados: Estruturas de Dados, Árvores Binárias, Árvores AVL, Banca: FCC Instituição: TRT 18a Região Cargo: Analista Judiciário - Tecnologia da Informação Ano: 2008 Questão: 24 Árvore AVL balanceada em altura signica que, para cada nó da árvore, a diferença entre as 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. Idealmente a árvore deve ser razoavelmente equilibrada e a sua altura será dada (no caso de estar completa). Contudo, com alguns dados, a árvore binária de pesquisa pode degenerar, tendo no pior caso altura

n-1,

tornado-se o acesso muito mais lento, O(n). É o que acontece no

caso em que a construção da árvore é feita por inserções sucessivas e os valores são dados com chaves ordenadas (crescentes ou decrescentes). Adelson-Velskii e Landis, em 1962, apresentaram uma árvore de busca binária que é balanceada 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 árvore AVL, cada nó está equilibrado em altura, signicando isto que, em cada nó, a diferença de alturas entre as subárvores esquerda e direita é no máximo 1.

Uma outra denição para

árvores AVL será aquela em que para qualquer nó P se verica que o módulo do fator de equilíbrio é sempre menor ou igual a um. Entende-se por fator de equilíbrio de um nó P a diferença da altura da subárvore esquerda de P e altura da subárvore direita de P. Dado o exposto, a alternativa correta da questão é a letra E. Uma árvore AVL terá uma estrutura semelhante a uma árvore binária de pesquisa com a condição de que a árvore de pesquisa mantém-se equilibrada em altura depois de cada operaçã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 de equilí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 114

www.handbookdeti.com.br


Handbook de Questões de TI Comentadas para Concursos

39.

Volume 04  Edição 2

Assuntos relacionados: Estruturas de Dados, Árvores Binárias, Árvores AVL, Banca: FCC Instituição: TRT 18a Região Cargo: Analista Judiciário - Tecnologia da Informação Ano: 2008 Questã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 denida e que pode ser

acoplado 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. É conhecida a 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. Um módulo sólido não propaga erros;

Extensibilidade: módulos devem ser construídos de tal forma que uma nova funcionalidade 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 facilmente adaptados a novas utilizações;

Reutilização: os módulos devem ser projetados de tal forma que possam ser utilizados em mais de uma aplicação.

Para atingirmos os objetivos acima em um projeto de módulos, os seguintes princípios devem ser seguidos:

Ocultar informações: o funcionamento interno de um módulo deve estar oculto aos outros módulos.

Assim, módulos podem utilizar-se de outros módulos e depender

destes para realizar as tarefas esperadas sem se preocupar como devem ser realizadas tais tarefas;

Poucas interfaces: um módulo deve interagir com outros o mínimo possível, pois quanto mais 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ções necessárias para que o mesmo complete a tarefa.

Este princípio limita as ligações

que um módulo tem com uma aplicação em particular, tornando-o mais fácil de ser reutilizado;

Interfaces explícitas: as interfaces devem ser feitas de forma que todas as informações pertinentes sejam claramente especicadas no código fonte;

Página 86 de 114

www.handbookdeti.com.br


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 denida, e a função desempenhada pelo módulo não deve gerar nenhum efeito colateral inesperado. Uma vantagem 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 a coesão. O

acoplamento

mede o grau de interdependência entre os módulos do diagrama. O que

se deseja são módulos de baixo acoplamento para diminuir o máximo possível o efeito em cadeia 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 chamado dado migrante (um grupo de informações que vagueia pelo sistema), indesejável e sem sentido para a maioria dos módulos pelos quais passa;

Acoplamento de imagem: dois módulos apresentam acoplamento por imagem se eles fazem referência a uma mesma estrutura de dados. Este tipo de acoplamento tende a fornecer 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 um grupo 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 linguagem Cobol.

Working Storage Section

da

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 muitos dados globais são de difícil entendimento e ca difícil descobrir que módulos devem ser alterados quando um dado é modicado;

Acoplamento de conteúdo:

dois módulos apresentam acoplamento de conteúdo (ou

patológico) se um faz referência ou desvia a sequência de instruções para o interior de um outro módulo (GOTO). Tal acoplamento torna o conceito de caixas-pretas sem sentido. 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 os elementos de outros módulos, pois isto levaria a um forte acoplamento entre eles. Ter certeza de que todos os módulos têm boa coesão é a melhor forma de minimizar o acoplamento. Os tipos de coesão são:

Coesão funcional: um módulo apresenta coesão funcional quando suas funções internas contribuem 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 internas estão envolvidas em atividades de tal forma, que os dados de saída de uma atividade sirvam como dados de entrada para a próxima. Este uxo estabelece uma sequência de execução das funções, no entanto, não se pode caracterizar o conjunto delas como uma única tarefa.

Um módulo com coesão sequencial caracteriza-se por

ser de fácil manutenção, porém de baixa reutilização, pois contém atividades que são utilizadas juntas;

Coesão comunicacional: um módulo possui coesão comunicacional quando suas funções internas estão relacionadas por utilizarem as mesmas informações, ou seja, utilizam a

Página 87 de 114

www.handbookdeti.com.br


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ções que 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 como uma 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 internas executam atividades diferentes e não correlacionadas, exceto por serem executadas em uma mesma ordem, nas quais o controle ui (e não os dados) de uma atividade para outra.

É comum em um módulo com coesão procedural que os dados de entrada e

saída tenham pouca relação. É típico também que tais módulos devolvam resultados parciais, tais como: ags, chaves, etc.;

Coesão temporal: um módulo possui coesão temporal quando suas funções internas executam atividades que estão relacionadas apenas com o tempo (as atividades não estão relacionadas entre si). A ordem de execução de atividades é mais importante em mó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 é selecionada fora do módulo. Desta forma, módulos logicamente coesos apresentam uma interface descaracterizada;

Coesão coincidental: um módulo possui coesão coincidental quando suas funções não possuem nenhuma correlação entre si, não há uma ordem especíca de execução, nem sempre 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 para um bom projeto. Ou seja, o ideal é que a coesão funcional seja adotada e funcionando como uma verdadeira caixa-preta. A medida que descemos a lista acima, vamos adentrando em 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 tais como 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 compreensível e permitindo modicações mais localizadas;

evitar a codicação de uma mesma função em mais de um módulo;

prover módulos de utilização mais genérica;

simplicar a implementação.

A fatoração de um módulo grande deve ser efetuada se não diminuir a coesão e não aumentar o acoplamento do módulo original. Uma decisão é constituída de duas partes:

o reconhecimento da ação a ser tomada e a

execução desta ação. Deve-se evitar ao máximo a

divisão de decisão.

A parte referente

a execução da decisão deve ser mantida o mais próximo possível da parte referente ao reconhecimento, a m de que a informação reconhecida não tenha que percorrer um longo

Página 88 de 114

www.handbookdeti.com.br


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 suborescopo de efeito de uma decisão é conjunto de todos os módulos cujo seu

dinados. Já o

procedimento depende da decisão.

É importante que o escopo de efeito de uma decisão

de um módulo seja um subconjunto do escopo de controle deste módulo. Sempre que esta regra for violada, deve-se elaborar uma nova organização dos módulos com o objetivo de aproximar 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-OUT pode-se utilizar o

factoring

de módulos. Já a denição de FAN-IN corresponde ao número

de 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 alternativas da questão. (A) Está errada. Como já foi exposto, o baixo acoplamento é desejável em um bom projeto de 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ção de um problema. (D) Errada também.

Ao adotarmos o acoplamento por conteúdo, estaremos ignorando

as 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 break; case OFF: // passos para tratar de break; case FECHAR: // passos para tratar de break; case COR: // passos para tratar de break; } }

ON OFF FECHAR COR

Tal tipo de coesão não é desejável para um bom projeto na maioria do casos. A alternativa

Página 89 de 114

www.handbookdeti.com.br


Handbook de Questões de TI Comentadas para Concursos

E está errada.

Volume 04  Edição 2

A solução para obtermos uma melhor coesão é quebrarmos o módulo em

módulos diferentes cada qual com a sua função especíca.

Página 90 de 114

www.handbookdeti.com.br


Handbook de Questões de TI Comentadas para Concursos

40.

Volume 04  Edição 2

Assuntos relacionados: Engenharia de Software, Orientação a Objeto, Banca: FCC Instituição: TRT 18a Região Cargo: Analista Judiciário - Tecnologia da Informação Ano: 2008 Questão: 27 São dois conceitos utilizados especicamente nos modelos orientados a objetos: (a). uxo de dados e herança. (b). entidade externa e classe. (c). método e polimorsmo. (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, onde um objeto combina estrutura de dados e comportamento funcional.

Neste paradigma, os

sistemas 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 principal ferramenta. 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, encapsulamento, modularidade, hierarquia, mensagens, sobrecarga, polimorsmo, interfaces e pacotes. Em sistemas modelados com base no paradigma orientado a objetos, os objetos relacionamse uns com outros. Vários mecanismos têm sido propostos para a estruturação de classes e objetos, entre eles: ligações e associações, agregações ou composições e generalização e especializaçã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, Delphi 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 separadamente das funções que os transformam. O conceito de herança é utilizado no modelo orientado a objeto. A herança é um mecanismo 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) da classe 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 114

www.handbookdeti.com.br


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 podem herdar características de uma ou mais superclasse. Portanto, a alternativa está errada porque o termo uxo de dados não é um conceito utilizado no paradigma de orientação a objeto. (B) ERRADA O conceito de entidade externa está relacionado com o Diagrama de Fluxo de Dados da modelagem 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 conjunto 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 comportam da maneira especicada pela classe são ditos instâncias dessa classe. Todo objeto pertence a uma classe, isto é, é instância de uma classe. Portanto, a alternativa está errada porque o termo entidade externa não é um conceito especíco do paradigma de orientação a objeto. (C) CORRETA Tanto o conceito de método quanto de polimorsmo é utilizado especicamente no modelo 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 mensagem consiste do nome do método e dos argumentos requeridos.

A mensagem é utilizada para

acessar os atributos de um objeto, podendo alterar o estado do objeto. O polimorsmo está ligado à comunicação entre objetos.

Signica que uma mesma men-

sagem enviada a diferentes objetos resulta em um comportamento que dependente da classe do objeto que está recebendo a mensagem. Ou seja, uma mensagem pode ser interpretada de diferentes maneiras, dependendo da classe do objeto receptor e, é o objeto receptor que determina a interpretação da mensagem e não o objeto emissor. Então, o polimorsmo é caracterizado como o fato de uma operação poder ser implementada de diferentes maneiras em diferentes classes. A Figura

?? mostra um exemplo de polimorsmo.

Note neste exemplo, que apesar do método calcular ter sido chamado duas vezes pelo método mostrarCalculo, o comportamento do objeto varia de acordo com a classe ao qual o objeto pertence (Soma ou Subtração). Aliado ao conceito de polimorsmo há outro conceito que precisar ser explicado: o de sobrecarga. Uma operação é dita polimórca se ela existe com a mesma assinatura (número e 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 114

www.handbookdeti.com.br


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 sobrecarga sã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, especicamente, utilizados na modelo de orientação a objetos. Por exemplo, o conceito de seleção pode estar relacionado à instrução de seleção se-então-senão. Portanto, a alternativa está errada porque os termos seleção e processo não são conceitos especí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 114

www.handbookdeti.com.br


Handbook de Questões de TI Comentadas para Concursos

Volume 04  Edição 2

o conceito de relacionamento também não está, especicamente, relacionado modelo orientado a objeto. Relacionamento, por exemplo, pode estar relacionado à modelagem de casos de uso e ao modelo de Entidade e Relacionamento. No modelo de orientação a objetos, uma forma de representar os relacionamentos é por meio de associação ou ligações e composição ou agregação. Portanto, a alternativa está errada porque os termos depósito de dados e relacionamento não são conceitos especícos do paradigma de orientação a objeto.

Página 94 de 114

www.handbookdeti.com.br


Handbook de Questões de TI Comentadas para Concursos

41.

Volume 04  Edição 2

Assuntos relacionados: Engenharia de Software, Orientação a Objeto, Atributos e Classes, Banca: FCC Instituição: TRT 18a Região Cargo: Analista Judiciário - Tecnologia da Informação Ano: 2008 Questão: 28 O acesso aos atributos e operações das classes somente por intermédio de serviços (mensagens) 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 troca de mensagens. Uma mensagem consiste do nome do método (da operação) e dos argumentos requeridos. A mensagem é utilizada para acessar os atributos de um objeto, podendo alterar o 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 atributos 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á existentes. A classe nova criada, chamada de subclasses, herda todos os atributos e métodos da 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 um conjunto de ligações com estrutura e semântica comuns. ciação interligam objetos da mesma classe.

Todas as ligações de uma asso-

No exemplo o empregado José trabalha no

departamento de Informática, temos um relacionamento entre o objeto empregado José e o objeto departamento Informática. Neste exemplo, uma ligação é representada entre José

Página 95 de 114

www.handbookdeti.com.br


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ários objetos componentes. etc.

Por exemplo, um carro é composto por motor, rodas, carroceria,

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, que representam os componentes de alguma coisa (classe parte), 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 existe uma ligação forte entre as duas classes e os objetos da 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íveis por outros objetos, de seus detalhes internos de implementação, que cam ocultos dos demais objetos. Este mecanismo é utilizado para impedir o acesso direto aos atributos de um objeto, disponibilizando métodos que alterem esses atributos. Com encapsulamento, não há necessidade de saber como as operações encapsuladas estão implementadas, mas apenas o que as operações realizam. Se uma operação está encapsulada, apenas o objeto que a dene precisa ser modicado. A principal motivação para o encapsulamento é facilitar a reutilização de códigos. A utilização de encapsulamento é possível garantir a proteção aos atributos e as operações das classes. Portanto, alternativa correta.

Página 96 de 114

www.handbookdeti.com.br


Handbook de Questões de TI Comentadas para Concursos

42.

Volume 04  Edição 2

Assuntos relacionados: Engenharia de Software, Orientação a Objeto, Associação entre Classes,

Banca: FCC Instituição: TRT 18a Região Cargo: Analista Judiciário - Tecnologia da Informação Ano: 2008 Questão: 29 Na associação entre classes, o número de instâncias de uma classe que pode se relacionar com outra é denido (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. Cada classe desempenha um papel na associação, e para cada papel é possível especicar a multiplicidade (cardinalidade) de uma classe, que indica quantos objetos de uma classe podem estar associados a um objeto de outra classe. Em geral, a multiplicidade indica a fronteira inferior e superior para os objetos participantes de um relacionamento. Por exemplo, em uma empresa, um empregado está lotado em um departamento e, opcionalmente, o empregado pode ser chefe do departamento. Por sua vez, um departamento pode ter vários empregados lotados, mas apenas um chefe. No relacionamento empregado e departamento, um empregado tem um e somente um departamento. No relacionamento departamento 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ão tem nenhuma relação com a multiplicidade de relacionamento de uma classe. Logo, alternativa errada. (B) ERRADA As operações de uma classe são utilizadas para recuperar ou manipular o estado (propriedades) de um objeto, e não para especicar relacionamento entre classes.

Portanto,

alternativa errada. (C) ERRADA Os atributos denem as propriedades de um objeto, e não são utilizados para especicar

Página 97 de 114

www.handbookdeti.com.br


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 é denido pela multiplicidade ou 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 herança não é utilizada para especicar o número de instâncias em um relacionamento entre classes. Logo, alternativa errada.

Página 98 de 114

www.handbookdeti.com.br


Handbook de Questões de TI Comentadas para Concursos

43.

Volume 04  Edição 2

Assuntos relacionados: Engenharia de Software, Orientação a Objeto, Relacionamentos entre Classes, Banca: FCC

Instituição: TRT 18a Região Cargo: Analista Judiciário - Tecnologia da Informação Ano: 2008 Questã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 orientaçã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 um conjunto de ligações com estrutura e semântica comuns. ciação interligam objetos de mesma classe.

Todas as ligações de uma asso-

No exemplo o empregado José trabalha no

departamento de Informática, temos um relacionamento entre o objeto empregado José e o 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 motor, 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 (classe parte), 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 existe uma ligação forte entre as duas classes e os objetos da classe todo são independentes da classe parte. Por outro lado, na composição, existe uma ligação forte entre a classe todo e a classe parte e os objetos da classe parte são dependentes da classe todo. Um exemplo de agregação é a relação entre a classe todo Apartamento e a classe parte Garagem. Um exemplo 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 quaisquer estudantes, e é possível especializar este conceito para mostrar as especicidades de subtipos

o grau, do 2o grau, de graduação e pós-graduação.

de estudantes, tais como estudantes do 1

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 conceito

que temos de carros, motos, caminhões e ônibus, podemos notar que esses possuem características comuns que podem ser generalizadas em classe mais geral. O primeiro exemplo é

Página 99 de 114

www.handbookdeti.com.br


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 denir, a partir de um conjunto de classes, uma classe mais geral contendo 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 deni um número de subclasses, explicitando as diferenças entre as novas subclasses. Com a especialização e a generalização é possível capturar similaridades entre classes, dispondo-as em hierarquias de classes. De acordo com o explicado anteriormente, os tipos de relacionamento todo-parte são a agregação e a composição. Portanto, alternativa correta é a

Página 100 de 114

www.handbookdeti.com.br

(A).


Handbook de Questões de TI Comentadas para Concursos

44.

Volume 04  Edição 2

Assuntos relacionados: Engenharia de Software, Orientação a Objeto, Herança, Banca: FCC Instituição: TRT 18a Região Cargo: Analista Judiciário - Tecnologia da Informação Ano: 2008 Questão: 31 Em um diagrama de classes, considere que Seguridade e Imóveis herdam características de Ativos. 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). polimorsmo. (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 limitadas

ao comportamento herdado de sua superclasse. As subclasses podem adicionar variáveis e métodos a aqueles herdados. Quando uma subclasse herda características de uma única superclasse, tem-se herança simples. Quando uma classe é denida a partir de duas ou mais superclasses, tem-se herança múltipla. É importante observar, no entanto, que na herança múltipla podem ocorrer dois problemas: colisão de nomes herdados a partir de diferentes superclasses e a possibilidade de herança repetida. A colisão quando uma classe C herda de duas classes A e B, sendo que A possui um atributo de mesmo nome que na classe B. Assim, como será a característica desse atributo na classe C. A herança repetida ocorre quando a classe D herda das classes B e C, que por sua vez herdam da classe, isto é, a classe D herda, indiretamente, duas vezes da classe A. No enunciado desta questão, temos um exemplo de hierarquia entre classes. ilustra a herança das classes Seguridade, Imóveis, Ativos e ItemSuportado.

Figura 5: herança entre as classes.

Página 101 de 114

www.handbookdeti.com.br

A Figura 5


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óveis são subclasses de Ativos. A classe Imóveis também é subclasse da superclasse ItemSuportado. A subclasse Imóveis herda características das classes Ativos e ItemSegurado, caracterizando uma herança múltipla. Portanto, a alternativa correta é a

Página 102 de 114

www.handbookdeti.com.br

(B).


Handbook de Questões de TI Comentadas para Concursos

45.

Volume 04  Edição 2

Assuntos relacionados: UML, Banca: FCC Instituição: TRT 18a Região Cargo: Analista Judiciário - Tecnologia da Informação Ano: 2008 Questão: 35 Na notação original da UML 2.0, os símbolos + (mais) e # (jogo da velha), antecedendo as operaçõ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 modelagem ao qual se referem podem ser vistos fora de seu espaço de nome (namespace). Um namespace, por sua vez, é a parte do modelo na qual o nome pode ser denido ou usado. Dentro de um namespace, cada nome tem um signicado único. A visibilidade pode ser aplicada aos atributos e às operações em relação a uma classe ou entre classes e o pacote onde ela foi denida (seu contêiner).

A UML dene 4 níveis de

visibilidade, 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

Pacote

Apenas classes do mesmo container ou de containers descendentes podem ver usar as classes. 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 vistos e utilizados por outras classes, enquanto atributos e operações com visibilidade privada podem ser vistos e utilizados apenas pela classe que os contém. Portanto, a resposta da questão é a alternativa A.

Página 103 de 114

www.handbookdeti.com.br


Handbook de Questões de TI Comentadas para Concursos

46.

Volume 04  Edição 2

Assuntos relacionados: Engenharia de Software, Testes de Software, Banca: FCC Instituição: TRT 18a Região Cargo: Analista Judiciário - Tecnologia da Informação Ano: 2008 Questã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 software denominada 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 interfaces. 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 testes das interfaces do software testam a integração entre os diversos componentes do sistema, e a integração do sistemas com outros. Com isso, a resposta da questão é a alternativa E, testes de integração.

Agora, vamos

saber 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 de vista de seu usuário nal em busca de falhas. Os testes são executados em condições similares - de ambiente, interfaces e de dados - àquelas as quais o usuário estará submetido ao utilizar o sistema;

Testes de Unidade:

As unidades podem ser entendidas como sendo as menores

unidades de software desenvolvidas, ou como partes ou módulos do sistema. Por este motivo, os testes unitários também são conhecidos como testes de módulo;

Testes de Validação: De acordo com a denição apresentada pelo CMMI, a validação é o processo de avaliar se o software satisfaz os requisitos especicados. A validação está intimamente ligada a outra etapa, também denida pelo CMMI, chamada Vericação. A vericação, por sua vez, visa assegurar que o software está sendo construído de acordo com a especicações.

Por m, vamos discutir um pouco a alternativa D, arquitetura.

O termo arquitetura de

software remete, primordialmente, aos estudo dos componentes do software, das suas propriedades externas, e de seus relacionamentos com outros softwares. Os componentes do software, como já vimos, são testados individualmente nos testes unitários.

A integração entre eles, por sua vez, é testada nos testes de integração.

Ou

seja, testar a arquitetura deverá envolver, minimamente, testar os componentes do software e sua integração. Nesse ponto, esperamos que o candidato já tenha despertado para a amplitude do termos

Página 104 de 114

www.handbookdeti.com.br


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 ociais falam sobre o tema. Na Ontologia estabelecida pela ANSI/IEEE 1471-2000, a arquitetura de software é normalmente organizada em visões.

As visões são denidas como instâncias de pontos de

vista, 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 permeia inúmeros aspectos do processo de desenvolvimento e uso do software. Além disso, o caráter genérico e abstrato do assunto é reforçado pelo fato do tema ser abordado por uma Ontologia que, ainda por cima, pode ser considerada recente.

Página 105 de 114

www.handbookdeti.com.br


Handbook de Questões de TI Comentadas para Concursos

47.

Volume 04  Edição 2

Assuntos relacionados: Engenharia de Software, Testes de Software, Banca: FCC Instituição: TRT 18a Região Cargo: Analista Judiciário - Tecnologia da Informação Ano: 2008 Questã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. Em outras palavras, nos testes caixa-preta o testador não está interessado em como as entradas sã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 nas estruturas de dados, erros de acesso a banco de dados externos, erros de desempenho, erros de 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 caixabranca. Com isso, a resposta da questão é a alternativa A. Sobre os testes de caixa-preta, ainda é importante ressaltar que eles geralmente são aplicados durante as últimas etapas da atividade de teste, concentrando-se no domínio das informaçõ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 entrada de um programa em classes de dados a partir das quais os casos de teste podem ser derivados. O particionamento de equivalência procura denir casos de testes que descubram 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 valores fronteiriços das entradas de dados, tendo em vista o fato de que a maior parte dos erros tende 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 de caso de teste que oferece uma uma representação concisa das condições lógicas e das ações correspondentes;

Testes de comparação: Os testes de comparação, também conhecidos como testes

to-back,

back-

são utilizados quando a conabilidade do software é absolutamente crítica.

Para aplicar a técnica, defende-se que versões independentes de software sejam desenvolvidas para as aplicações.

O método de comparação não é infalível, pois se a

especicação a partir da qual todas as versões foram desenvolvidas estiver errada, provavelmente todas as versões reetirão o erro. Além disso, se cada uma das versões independentes produzir resultados idênticos, mas incorretos, os testes de condições deixarão de detectar o erro.

Página 106 de 114

www.handbookdeti.com.br


Handbook de Questões de TI Comentadas para Concursos

48.

Volume 04  Edição 2

Assuntos relacionados: Banco de Dados, Primeira Forma Normal (1FN), Segunda Forma Normal (2FN), Terceira Forma Normal (3FN),

Banca: FCC Instituição: TRT 18a Região Cargo: Analista Judiciário - Tecnologia da Informação Ano: 2008 Questã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 conceitos importantes para se resolver esta questão com conança.

• superchave:

é um conjunto de um ou mais atributos que permite a identicação

unívoca de cada entidade em um conjunto de entidades.

Na nomenclatura desta

questão, uma superchave identica de forma única cada linha de uma tabela.

Por

exemplo, 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 identicar de forma única cada item dessa relação. É importante perceber que toda relação tem pelo 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 uma superchave e ela continuar sendo uma superchave, a superchave inicial não é uma chave candidata. Por exemplo, quando tiramos o atributo preço-total da superchave {numped; preço-total}, continuamos com uma superchave num-ped, pois num-ped identica univocamente cada elemento da relação ITEM. Portanto, {num-ped; preço-total} não é uma chave candidata. Outra forma de entender o signicado de chave candidata é pensar que ela é um subconjunto mínimo de atributos capaz de identicar de forma única cada item de uma relação. Não se esqueça que um relação pode ter mais de uma chave candidata;

• chave primaria:

é simplesmente uma das chaves candidatas de uma relação.

É o

projetista que faz essa escolha, quando há mais de uma chave candidata;

• dependência funcional:

se para cada valor de um atributo A, existe exatamente um

valor para o atributo B, dizemos que B é dependente funcional de A (A

B) e que

A é o determinante de B. Um bom exemplo é formado pelos atributos CIDADE A e ESTADO B. Como toda cidade implica em somente um estado, temos que A

Página 107 de 114

www.handbookdeti.com.br

B;


Handbook de Questões de TI Comentadas para Concursos

• dependência funcional parcial:

Volume 04  Edição 2

em uma dependência do tipo A

B, se existir um

subconjunto de A tal que ele determine B, dizemos que B é dependente funcional parcial de A. Exemplo: em {CIDADE; BAIRRO}

ESTADO, como CIDADE

ESTADO,

dizemos que ESTADO é dependente funcional parcial de {CIDADE; BAIRRO}. Caso não exista esse tipo de subconjunto de A, dizemos que B é dependente funcional total de 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 atributo qualquer {banco; agencia} → {cidade}; • dependência funcional transitiva:

um determinante identica outro

se um atributo A determina B e B determina

C, então, A determina C de forma transitiva. Exemplo: cidade país, então cidade

• atributo primo:

estado, estado

país;

atributo membro de qualquer chave candidata (pelo menos uma).

Dois exemplos dentro desta questão são: cod-produto e num-ped. Perceba que todos os atributos de uma chave primária são primos;

• atributo não-primo:

atributo que não ocorre em nenhuma chave candidata de uma

relação. O atributo preço-unitário da relação PRODUTO é um exemplo de atributo não-primo;

• 1FN:

ela diz respeito a atributos. Para que uma relação esteja na 1FN, ela não pode

ter nem atributos multivalorados nem relações aninhadas (objetos representados em mais de um registro);

• 2FN:

ela diz respeito a dependência funcional parcial. Uma relação somente está na

2FN se não houver atributo não-primo dependente funcional parcial de qualquer chave candidata. Ou seja, se houver pelo menos um atributo não-primo dependente funcional parcial de pelo menos uma chave candidata, a relação não estará na 2FN. Lembrando també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 esteja

na 3FN, ela não pode ter atributo não-primo dependente transitivamente de qualquer chave candidata. Ou seja, se houver pelo menos um atributo não-primo com dependência funcional transitiva de pelo menos uma chave candidata, a relação não estará na 3FN. Uma consequência é que para uma relação estar na 3FN, todos os atributos nãoprimo devem depender somente de atributos primos.

Lembrando também que para

uma 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 banco de dados em si. Por isso, o ideal seria o enunciado trazer quais são as dependências funcionais existentes em cada relação. Na falta dessa especicação, o que nos resta é apelar para 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. Perceba que cod-cliente

Portando, esta relação está na 2FN.

nome-cli e que esses dois atributos são não-primos. Isso já basta

Página 108 de 114

www.handbookdeti.com.br


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 candidata {num-ped; cod-produto}. Veja que (1) num-ped não determina nem qtde-prod nem preço-total; (2) cod-produto não determina nem qtde-prod nem preço-total. Portanto, não há dependência funcional parcial e, por consequência, esta relação está na 2FN. Como não há 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 identicar facilmente que a alternativa correta é a letra e.

Página 109 de 114

www.handbookdeti.com.br


Handbook de Questões de TI Comentadas para Concursos

49.

Volume 04  Edição 2

Assuntos relacionados: Banco de Dados, Commit, Savepoint, Rolling Back, Rolling For-

ward,

Banca: FCC Instituição: TRT 18a Região Cargo: Analista Judiciário - Tecnologia da Informação Ano: 2008 Questã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 signica:

• commit:

operação que efetiva, no banco de dados, as alterações (insert, delete e

update) realizadas em uma transação. Ou seja, as alterações de uma transação somente são enxergadas por outras transações de outras sessões após um commit. Veja abaixo um exemplo de utilização deste operador:

SQL> insert into alunos (matricula, nome) values (1, `Ricardo Vargas`); 1 row created. SQL> commit; Commit complete. • savepoint: rollback.

marca um ponto (estado) na transação para onde se pode voltar com um

Portanto, em transações mais complexas, se utiliza alguns savepoints para

marcar pontos para os quais seja possível realizar rollback. Dessa forma, estrategicamente, apenas parte das alterações da transação é desfeita. Veja abaixo um exemplo de 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 as alteraçõ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 114

www.handbookdeti.com.br


Handbook de Questões de TI Comentadas para Concursos

• rolling forward:

Volume 04  Edição 2

é um recurso utilizado em caso de falha de banco de dados para que

o seu estado imediatamente antes da falha seja restabelecido. Durante o funcionamento normal de um banco de dados, todas as informações sobre operações são armazenadas em arquivos do tipo RedoFiles.

Em situações de falha, logo após o banco de dados

voltar 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ão obrigatórios até o término de cada transação.

Isso porque savepoint é opcional e rolling

forward 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 seja mantido consistente, é necessária ao nal de cada transação a execução de um commit ou um rollback. Portanto, a alternativa que deve ser escolhida é a letra B.

Página 111 de 114

www.handbookdeti.com.br


Handbook de Questões de TI Comentadas para Concursos

50.

Volume 04  Edição 2

Assuntos relacionados: Banco de Dados, PL/SQL, Banca: FCC Instituição: TRT 18a Região Cargo: Analista Judiciário - Tecnologia da Informação Ano: 2008 Questã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 Oracle Corporation 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 (por exemplo, dentro de códigos C). Com o aparecimento da PL/SQL isso mudou. Todo o código procedural e também as instruções relacionadas ao banco podem ser escritos diretamente em PL/SQL. Essa linguagem suporta variáveis, condições, loops, arrays, exceções, funções e procedimentos. A estrutura básica do PL/SQL é chamada de bloco. Portanto, um programa escrito nessa linguagem é composto por blocos. Geralmente, um bloco é desenvolvido para efetuar uma açã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 114

www.handbookdeti.com.br


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; Especicamente com relação a estrutura de controle do tipo iteração, PL/SQL possui os seguintes recursos: LOOP, WHILE, FOR e Cursor FOR. Os três primeiros são bem conhecidos e geralmente estão presentes nas linguagem procedurais.

Já o quarto é um tipo

especial de FOR em que uma variável assume o lugar de registros de uma relação. Abaixo um 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 a controle de iteração. Portanto, é essa a alternativa correta.

Página 113 de 114

www.handbookdeti.com.br


Handbook de Questões de TI Comentadas para Concursos

Questao 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50

Página 114 de 114

Volume 04  Edição 2

Resposta D C A C A B D E C D D E B A B D C D E A E C E D C E B E A A A A D E B D A E B C E D A B A E A E B E

Handbook de TI

Além do Gabarito


Índice Remissivo Governança de TI, 19, 23, 26, 28, 30, 31, 71 HDLC, 41 Herança, 101

Álgebra Booleana, 75 Árvores AVL, 85, 86

ISO 27001, 8

Árvores Binárias, 85, 86

Itens de Conguração, 60 ITIL, 23, 26

Algoritmos de Ordenação, 4, 73 Arquitetura de Computadores, 84

Java, 45

Associação entre Classes, 97 Ataques DoS, 10

KGI, 31

Atributos e Classes, 95

KPI, 31

Backbone Colapsado, 35

Máquina Virtual Java (JVM), 45

Banco de Dados, 12, 14, 17, 107, 110, 112

Método do Diagrama de Precedência (MDP),

Baseline, 60

44

Bytecode, 45

MER, 55 Metodologia de Desenvolvimento de Software,

CMM, 59

47

CMMI, 57, 60

Modelo de Maturidade, 31

COBIT, 19, 28, 30, 31

MVC, 47

Coesão, 76 Commit, 110

Operadores de Controle Estruturados, 53

Continual Service Improvement, 23, 26

Oracle, 12, 14, 17, 62

Controle Integrado de Mudanças, 59

Orientação a Objeto, 91, 95, 97, 99, 101

CSF, 31 PL/SQL, 112 DER, 55

Plano de Continuidade de Negócios, 71

Diagrama de Atividades, 50

Plano de Gerenciamento de Conguração, 57

Diagrama de Caso de Uso, 78

Primeira Forma Normal (1FN), 107

Diagrama de Classes, 81

Princípios de Governança, 28

Diagrama de Comunicação, 50, 52

Programação, 4, 6

Diagrama de Objetos, 50

Projeto de Software, 76

Diagrama de Sequência, 50, 52, 53

Protocolo ARP, 37

Diagrama de Tempo, 50 Diretrizes de Gerenciamento, 31

Raciocínio Lógico, 75

DNS, 37

Rede Local, 35

Domínios de Governança, 30

Redes de Computadores, 35, 37, 41, 64, 67

DSDM, 47

Relacionamentos entre Classes, 99 Requisitos de Negócio, 19

Endereçamento IP, 64

Rolling Back, 110

Engenharia de Software, 21, 78, 81, 91, 95, 97, 99, 101, 104, 106 Entidade Associativa, 55 Entidade Fraca, 55

Rolling Forward, 110 RSVP, 41 RTPC, 41 RUP, 57, 59, 60

Estruturas de Dados, 6, 73, 85, 86 Extreme Programming (XP), 47

Savepoint, 110 Scrum, 47

Gerência de Redes, 67 Gerenciamento de Memória, 84 Gerenciamento de Projetos, 44 Gerenciamento de Serviços, 23, 26

Segunda Forma Normal (2FN), 107 Segurança da Informação, 8, 10 Service Design, 23, 26 115 Service Operation, 23, 26


Handbook de Questões de TI Comentadas para Concursos

Service Strategy, 23, 26 Service Transition, 23, 26 SGSI, 8 SMTP, 41 SNMP, 41, 67 SQL, 62 SSL, 37 Tabela Hash, 6 Terceira Forma Normal (3FN), 107 Testes de Software, 21, 104, 106 Tipos de Ataque, 10 UDP, 37 UML, 50, 52, 53, 78, 81, 103

Página 116 de 114

www.handbookdeti.com.br

Volume 04  Edição 2


handbook_questoes_vol4 - Cópia  

Handbook de TI - Questões - vol 4

Advertisement
Read more
Read more
Similar to
Popular now
Just for you