Grupo Handbook
Handbook de
Questões de TI comentadas para concursos Além do gabarito
Volume 11
Processos de Negócio Parte 2 CESPE - Centro de Seleção e de Promoção de Eventos
Handbook de Questões de TI Comentadas para Concursos
Volume 11 – Edição 1
Prefácio Este é o volume 11 da série Handbook de Questões de TI Comentadas para Concursos – Além do Gabarito, que traz para você uma coletânea especial de questões da área de processos, selecionadas de provas organizadas pela Cespe, banca que possui vasta tradição na organização de concursos de grande porte e de alto nível de dificuldade. Entre as provas das quais as questões foram selecionadas, estão a prova para Analista de Sistema Pleno – Processos para a Petrobras em 2006, e, também, a prova para Analista de Sistemas Júnior – Processos de Negócio para a Petrobras aplicada em 2008. O tema processos de negócio vem sendo cada vez mais cobrado nas provas de concursos, refletindo a preocupação dos órgãos públicos em contratar profissionais capazes de implemetar soluções de TI altamente alinhadas aos objetivos da organização. Diante desse cenário, o Grupo Handbook de TI preparou mais este volume, com questões da área de processos de negócio, abordando temas como Gerenciamento de Projetos, Planejamento Estratégico, PMBOK, Desenvolvimento Evolucionário, Sistemas Distribuídos, Web Services, etc. Este volume é útil para todos que desejam prestar concursos na área de processos, em especial, aqueles organizados pela Cespe. Bons estudos, Grupo Handbook de TI
Página 1 de 72 www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 11 – Edição 1
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 é uma produção independente e contamos com você para mantê-la sempre viva. Grupo Handbook de TI
Página 2 de 72 www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 11 – Edição 1
Canais de Comunicação O Grupo Handbook de TI disponibiliza diversos canais de comunicação para os concurseiros de TI. Loja Handbook de TI Acesse a nossa loja virtual em http://www.handbookdeti.com.br Serviço de Atendimento Comunique-se diretamente conosco através do e-mail faleconosco@handbookdeti.com. br Twitter do Handbook de TI Acompanhe de perto promoções e lançamentos de produtos pelo nosso Twitter http:// twitter.com/handbookdeti
Página 3 de 72 www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 11 – Edição 1
1. Assuntos relacionados: Gerenciamento de Projetos, PMBOK, Ciclo de Vida de Projeto, Banca: Cespe Instituição: INMETRO Cargo: Analista Executivo em Metrologia e Qualidade - Processos de Negócios e Tecnologia da Informação Ano: 2009 Questão: 47–49 De acordo com o Guia do Conjunto de Conhecimentos no Gerenciamento de Projetos (PMBOK), julgue os itens subsequentes. 47 Se uma indústria de automóveis criar um projeto para a elaboração de novo modelo de veículo e esse projeto chegar ao seu final quando o novo modelo for criado, a produção dos diversos exemplares do carro deverá ser conduzida como outro projeto, por tratar-se de um trabalho operacional. 48 O gerente de projetos é responsável pelo controle dos recursos atribuídos ao projeto para atender aos seus objetivos, bem como pela otimização dos recursos organizacionais compartilhados entre todos os projetos. 49 O ciclo de vida de um projeto define as fases que conectam o seu início ao seu final. O término e a aprovação de produtos caracterizam a conclusão de uma fase.
Solução: 47 ERRADO Como o próprio nome diz, o PMBOK (Project Management Body Of Knowledge, no português Conjunto de Conhecimento em Gerência de Projetos) é um conjunto de normas, padrões e práticas consideradas benéficas à área de gerência de projetos. O PMBOK surgiu de anos de observação de experiências boas e ruins vividas por profissionais da área de gerência de projetos, sendo dessa forma direcionado especialmente para esse público. O PMBOK é mais popularmente conhecido como o Guia PMBOK. Isso porque a publicação do padrão é feita na forma de um guia (A Guide To The Project Management Body Of Knowledge – PMBOK Guide). Atualmente, esse guia está em sua 4a edição. O primeiro conceito importante apresentado nesse guia é a definição do que vem a ser um projeto. Segundo o PMBOK, um projeto “é um esforço temporário realizado para se criar um produto único, serviço ou resultado”. Por produto único, entenda-se algo com algumas características únicas, que não existiam anteriormente. Por exemplo, a criação e o desenvolvimento de um novo modelo de automóvel é feita por um projeto. Já a operação de se produzir várias unidades desse automóvel não pode ser considerada como um projeto, uma vez que nesse caso apenas se está reproduzindo algo já existente. Além disso, a produção em escala de um automóvel não configura um esforço temporário, mas sim uma operação contínua e repetitiva, onde todos os processos envolvidos na fabricação são bem conhecidos e o nível de incerteza sobre os resultados são baixos quando comparados ao da fase de projeto do automóvel. Portanto, a questão é incorreta, uma vez que ela afirma que o trabalho operacional de se produzir as unidades do novo automóvel deve ser feita por um projeto.
Página 4 de 72 www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 11 – Edição 1
48 ERRADO Outro conceito fundamental abordado pelo guia PMBOK é com relação às responsabilidades de um gerente de projetos. Segundo o PMBOK, o gerente de projetos deve: – identificar os requerimentos do projeto; – identificar as preocupações, expectativas e necessidades dos clientes do projetos durante a fase de planejamento; – saber equilibrar requisitos conflitantes como, por exemplo, escopo, orçamento, prazos e riscos. Um gerente de projetos é responsável pela aplicação das boas práticas contidas no PMBOK, de forma que o projeto sob sua gerência chegue ao resultados esperado da melhor forma possível. Ainda, um gerente de projetos deve ser responsável por apenas um projeto. Quando um profissional está no controle de vários projetos, diz-se que este é um gerente de programa de projetos. Um programa de projetos é um conjunto de projetos, que podem ou não compartilhar características em comuns. Tal profissional é responsável por garantir que cada projeto (e seus respectivos gerentes de projetos) obtenha os recursos necessários para sua continuidade, assim como pela otimização dos recursos compartilhados. Logo, a afirmativa da questão é incorreta, já que ela diz que essa tarefa é de responsabilidade do gerente de projetos e não do gerente do programa de projetos. 49 CERTO Apesar das características próprias de cada projeto, o PMBOK define um ciclo de vida genérico que pode ser aplicado a qualquer tipo de projeto, independente do tamanho e da complexidade que esse possa ter. Tal ciclo é definido de acordo com a seguinte sequência: – – – –
início do projeto; organização e preparo do projeto; execução do trabalho; fechamento do projeto.
Página 5 de 72 www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 11 – Edição 1
Figura 1: ciclo de vida genérico, definido pelo PMBOK, para projetos.
Página 6 de 72 www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 11 – Edição 1
Novamente é preciso citar que esse é um ciclo de vida genérico. Cada projeto tem suas características próprias, que influenciam diretamente no andamento do projeto. O ciclo de vida define de maneira simples as etapas envolvidas desde o início do projeto, onde, por exemplo, são levantados os requisitos e é proposto um documento inicial, até o fim do projeto, onde ocorre a aceitação dos resultados e o arquivamento de toda a documentação gerada durante a realização do projeto. O ciclo de vida pode ser composto por uma ou mais fases. Essas são divisões realizadas em pontos dentro de um projeto que geralmente necessitam de um controle maior. O subproduto gerado em uma fase é a entrada da próxima fase, criando assim uma sequência que permite obter o produto final. Assim como no ciclo de vida total do projeto, onde a entrega e a aprovação do produto caracterizam a conclusão do projeto, o mesmo ocorre quando se considera uma fase do projeto. Dessa forma, a afirmativa da questão é correta.
Página 7 de 72 www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 11 – Edição 1
2. Assuntos relacionados: Gerenciamento de Projetos, PMBOK, Gerenciamento de Aquisições, Banca: Cespe Instituição: INMETRO Cargo: Analista Executivo em Metrologia e Qualidade - Processos de Negócios e Tecnologia da Informação Ano: 2009 Questão: 54–56 O gerenciamento de aquisições do projeto é uma das áreas de conhecimento descritas no PMBOK. Entre os processos dessa área, está o de seleção de fornecedores. A respeito desse processo, julgue os itens subsequentes. 54 O processo de seleção de fornecedores recebe cotações ou propostas e aplica critérios de avaliação para selecionar os fornecedores que sejam qualificados e aceitáveis. 55 Para minimizar os efeitos de decisões pessoais na seleção de fornecedores, utiliza-se um sistema de ponderação. Na maioria desses sistemas, são atribuídos pesos numéricos a cada um dos critérios de avaliação. 56 Sistemas de triagem envolvem a eliminação prévia de fornecedores, em virtude de desempenho passado, avaliação de qualidade e atendimento de contratos anteriores, bem como de lições aprendidas de outros projetos acompanhados pelo escritório de projetos.
Solução: 54 CERTO O PMBOK define também 9 áreas de conhecimento dentro de gerência de projetos. São elas: 1. 2. 3. 4. 5. 6. 7. 8. 9.
Gerenciamento de integração do projeto; Gerenciamento do escopo do projeto; Gerenciamento de tempo do projeto; Gerenciamento de custos do projeto; Gerenciamento de qualidade do projeto; Gerenciamento de recursos humanos do projeto; Gerenciamento das comunicações do projeto; Gerenciamento de riscos do projeto; Gerenciamento de aquisições do projeto.
Para cada uma dessas áreas, o PMBOK discute sua função, assim como os processo envolvidos na área. Por exemplo, a nona área, que trata do gerenciamento de aquisições do projeto tem como função gerenciar comprar, aquisições de produtos ou serviços que sejam necessários para o andamento do projeto. Nesse sentido, é essa a área responsável por exemplo por realizar cotações de produtos, selecionar qual a melhor opção, contratar serviços e verificar se há necessidade de alteração nos termos dos contratos firmados. Os processos envolvidos nessa área são: – Planejamento de Aquisições: cujo o objetivo é verificar quais produtos devem ser comprados ou quais serviços devem ser adquiridos pela equipe do projeto; – Planejamento de Contratações: cujo objetivo é preparar a documentação necessária para os processos de solicitação de respostas dos fornecedores e de seleção de fornecedores;
Página 8 de 72 www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 11 – Edição 1
– Solicitação de Respostas dos Fornecedores: cujo o objetivo é receber as cotações enviadas pelos fornecedores sobre produtos e serviços que foram pedidas pelo projeto; – Seleção de Fornecedores: cujo o objetivo é receber as propostas ou cotações e, através da aplicação de critérios de avaliação, selecionar quais serão os fornecedores escolhidos; – Administração de Contratos: cujo o objetivo é cuidar para que os contratos estabelecidos sejam cumpridos da forma como foi estipulado; – Encerramento de Contratos: cujo o objetivo é dar suporte à etapa de encerramento do projeto, verificando que todos os produtos ou serviços foram entregues de forma aceitável. Da discussão acima, pode-se concluir que a afirmativa feita é correta. 55 CERTO Como mencionado na questão anterior, o processo de seleção de fornecedores é feito com base na aplicação de critérios de avaliação. A definição desses critérios depende das características de cada projeto. O PMBOK cita alguns exemplos, dentro os quais citamos: – quão bem o que o fornecedor oferece está de acordo com o que foi pedido? – a seleção do fornecedor trará redução de custos ao resultado final do projeto? – o fornecedor tem, ou terá, a capacidade e o conhecimento necessários para fornecer aquilo que está sendo pedido? – quais os riscos envolvidos na contratação do fornecedor? – o fornecedor possui processos gerenciais que garantam o sucesso do projeto? – qual a garantia provida pelo fornecedor? – qual a experiência de mercado ou referências que o fornecedor possui? Como já mencionado, esse são apenas alguns dos critérios que podem ser usados para a seleção. Afim de se garantir imparcialidade no processo, cada critério recebe um peso numérico de acordo com sua importância. Por fim, cada fornecedor recebe uma nota em cada critério e o de melhor desempenho é escolhido. Desse forma, podese concluir que a afirmativa é correta. 56 ERRADO Um sistema de triagem consiste em estabelecer critérios mínimos de requerimentos para um ou mais critérios de seleção e, com base nesses, eliminar fornecedores que não atendem a tais exigências. O uso de um sistema de triagem permite reduzir o trabalho envolvidos na decisão de quais fornecedores serão escolhidos, uma vez que aqueles que forem eliminados de antemão nessa etapa, não terão de ser analisados mais profundamente. Visto isso, a questão é incorreta uma vez que ela afirma que sistemas de triagem levam em consideração somente experiências passadas, com fornecedores já conhecidos e que não tenham cumprido contratos anteriores. Isso não deixa de ser um critério de avaliação. Entretanto, em um sistema de triagem, fornecedores que nunca foram contratados podem ser eliminados também por não cumprirem os requisitos mínimos.
Página 9 de 72 www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 11 – Edição 1
3. Assuntos relacionados: Sistemas Distribuídos, Common Object Request Broker Architecture (CORBA), Java Remote Method Invocation (Java RMI), Distributed Component Object Model (DCOM), Web Services, Banca: Cespe Instituição: INMETRO Cargo: Analista Executivo em Metrologia e Qualidade - Processos de Negócios e Tecnologia da Informação Ano: 2009 Questão: 63–67 Os sistemas de computação estão passando por uma evolução. Desde 1945, quando começou a era moderna dos computadores, até aproximadamente 1985, os computadores eram grandes e caros. Contudo, mais ou menos a partir de meados da década de 80, dois avanços tecnológicos começaram a mudar essa situação. O primeiro foi o desenvolvimento de microprocessadores de grande capacidade. O segundo desenvolvimento foi a invenção de redes de computadores de alta velocidade. Nesse cenário, surgem os sistemas distribuídos, os quais são plataformas formadas por um conjunto de computadores independentes que se apresenta a seus usuários como um sistema único e coerente. Com relação às arquiteturas distribuídas, julgue os itens a seguir. 63 Na arquitetura cliente-servidor, todos os processos envolvidos em uma tarefa ou atividade desempenham funções semelhantes, interagindo cooperativamente, sem distinção entre os processos nem entre os computadores em que são executados. 64 Em uma arquitetura distribuída, middleware é definido como uma camada de software cujo objetivo é mascarar a heterogeneidade e fornecer um modelo de programação conveniente para os programadores de aplicativos. Como exemplos de middlewares é correto citar: Sun RPC, CORBA, RMI Java e DCOM da Microsoft. 65 Multicomputadores são populares e atrativos porque oferecem um modelo de comunicação simples; todas as CPUs compartilham uma memória comum. Os processos escrevem dados na memória, os quais podem ser lidos por outros processos depois. 66 Em sistemas distribuídos, a arquitetura cliente-servidor é implementada com uma variação na execução dos processos servidores, por meio de código móvel. Nesse caso, o código móvel é um programa em execução (incluindo código e dados) que decide passar de um computador para outro em um ambiente de rede, realizando uma tarefa em nome de alguém e finalmente retornando com os resultados obtidos a esse alguém para a máquina origem. 67 Em uma arquitetura cliente-servidor, os pedidos são enviados em mensagens dos clientes para o servidor, e as respostas são enviadas do servidor para o cliente. Assim, uma interação completa entre um cliente e um servidor, desde o momento em que o cliente envia seu pedido até o momento em que recebe a resposta do servidor, é chamada de requisição remota.
Solução: Um sistema distribuído é aquele em que componentes localizados em uma rede de computadores se comunicam e coordenam suas ações através da passagem de mensagens (ou troca de mensagens). Três características destacam-se nesses sistemas: concorrência entre os componentes, falta de sincronismo (relógio) global e falhas independentes dos componentes.
Página 10 de 72 www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 11 – Edição 1
O compartilhamento de recursos é a principal motivação para a construção de sistemas distribuídos. Tais recursos podem ser gerenciados por servidores e acessados por cliente ou podem ser encapsulados como objetos e acessados por outros objetos clientes, por exemplo. Os desafios na construção de sistemas distribuídos envolvem heterogeneidade de seus componentes (diversas arquiteturas e sistemas operacionais coexistindo), segurança, escalabilidade (resposta satisfatória à medida que o sistema cresce), gerenciamento de falhas (manutenção do serviço na presença de falhas), concorrência (compartilhamento simultâneo de recursos) e transparência. A heterogeneidade, em particular, considera diferentes arquiteturas de rede, múltiplos hardwares de computadores, sistemas operacionais diversos, várias linguagens de programação existentes, dentre outros aspectos. Além disso, programas escritos por diferentes desenvolvedores podem não se comunicar adequadamente se não utilizarem padrões comuns. O termo middleware descreve uma camada de software que proporciona abstração de programação em sistemas distribuídos, mascarando a heterogeneidade de seus diversos componentes. Adicionalmente, provêem um modelo computacional uniforme a ser utilizado pelos programadores de aplicações servidoras e distribuídas. A arquitetura de um sistema é a sua estrutura em termos de componentes especificados separadamente. A divisão de responsabilidade entre os componentes (aplicações, servidores e outros processos), paralelamente à “alocação” dos componentes nos computadores da rede, é, talvez, o aspecto mais evidente no projeto de sistemas distribuídos. Os principais tipos de modelos de arquitetura utilizados são: • Modelo Cliente-Servidor. Os processos clientes interagem com processos servidores individuais (localizados em computadores distintos) com o objeto de acessar recursos compartilhados. Eventualmente, servidores podem ser clientes de outros servidores. Por exemplo, servidores Web são clientes de servidores DNS, que traduzem nomes de domínios Internet para endereços de rede; • Serviços providos por múltiplos servidores. Serviços podem ser implementados como múltiplos processos servidores em computadores distintos interagindo quando necessário para prover um serviço a um processo cliente. Os servidores podem particionar o conjunto de objetos no qual o serviço é baseado e distribuí-los entre si, ou, alternativamente, podem manter réplicas desses objetos em diversos servidores. A Web é um exemplo desta arquitetura, na medida em que cada servidor gerência sua porção das páginas existentes. A replicação é utilizada para incrementar o desempenho e a disponibilidade e melhorar a tolerância a falhas; • Servidores proxy e caches. Um cache é um “armazém” de cópias de objetos de dados utilizados recentemente que se localiza mais próximo dos clientes do que os próprios dados. Caches são utilizados intensamente na prática: navegadores Web mantêm um cache de páginas visitadas recentemente, por exemplo; • Processos pares (peers processes). Nesta arquitetura, todos os processos desempenham papéis similares, interagindo cooperativamente como pares para executar uma tarefa ou computação distribuída, não havendo distinção entre clientes e servidores. Existem variações do modelo cliente-servidor que consideram “código móvel” e “agente móvel” em suas implementações.
Página 11 de 72 www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 11 – Edição 1
O termo “código móvel” refere-se a um código que pode ser enviado de um computador a outro e, em seguida, ser executado neste computador-destino. Os applets Java são os exemplos mais comuns. Uma vantagem em se executar localmente códigos baixados de outros computadores é o fato de que esta estratégia proporciona uma boa resposta interativa, já que não sofre os atrasos e variações característicos de comunicações através das redes de computadores com baixa largura de banda. Um “agente móvel” é um programa em execução (código e dados) que se transfere de um computador a outro em uma rede, transportando um tarefa (coleta de informações, por exemplo) e, eventualmente, retornando resultados para a origem. Comparando esta arquitetura com a de “clientes estáticos” tradicional, observa-se uma redução no custo e no tempo de comunicação ao substituir as invocações remotas de procedimentos (Remote Procedure Calls – RPC) pelas execuções locais. 63 ERRADO Este item está incorreto, pois atribui características da arquitetura de processos pares à arquitetura cliente-servidor. A “ideia geral” explanada está de acordo com a teoria relativa ao modelo de pares, apesar de o gabarito oficial da banca examinadora indicar a anulação da questão. Possivelmente, tal fato tenha se dado pelo uso do termo “função” durante a assertiva, posto que há um entendimento geral da palavra como “atividade” e outro específico (considerando o contexto de programação) como “procedimento”. Em termos de atividades, os pares realizam funções semelhantes tanto de servidores quanto de clientes. Contudo, em termos de procedimentos, as abordagens são diferentes para ambos os papeis. 64 CERTO Este item está correto na definição e na contextualização do termo middleware. Podese acrescentar à lista de exemplos a tecnologia SOAP, middleware direcionado a aplicações envolvendo Web Services. 65 ERRADO Este item está incorreto, pois descreve multiprocessadores sob o termo multicomputadores. Os multicomputadores, comumente utilizados para acomodar sistemas distribuídos para execução de uma tarefa específica e paralelizável (clusters de computadores, por exemplo), são constituídos por computadores individuais conectados em uma rede de alta velocidade. Assim, cada computador possui sua própria memória e as tarefas distribuídas precisam ser sincronizadas por meio de mecanismos eficientes de controle dados. 66 ERRADO Este item está incorreto, haja vista descrever as características de um agente móvel e atribuí-las à arquitetura cliente-servidor de código móvel, conforme a teoria explanada anteriormente esclarece.
Página 12 de 72 www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 11 – Edição 1
67 CERTO Este item está correto, apresentando adequadamente a definição da arquitetura clienteservidor e seus conceitos básicos.
Página 13 de 72 www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 11 – Edição 1
4. Assuntos relacionados: Banco de Dados, SGBD, Modelo Relacional, Modelo Entidade-Relacionamento, Isolamento entre Transações, Seriabilidade entre Transações, Durabilidade em Transação, Atomicidade em Transação, Primeira Forma Normal (1FN), Segunda Forma Normal (2FN), Terceira Forma Normal (3FN), Banca: Cespe Instituição: INMETRO Cargo: Analista Executivo em Metrologia e Qualidade - Processos de Negócios e Tecnologia da Informação Ano: 2009 Questão: 75–79 Julgue os itens de 75 a 79, acerca de sistemas de bancos de dados. 75 Uma característica de sistemas de bancos de dados é o suporte a transações, as quais têm as propriedades de atomicidade, durabilidade, isolamento e seriabilidade. A seriabilidade, entretanto, não é relevante em sistema em que não haja concorrência no acesso aos dados. 76 No modelo relacional, os termos relação, tupla, cardinalidade, atributo, grau, domínio e chave primária estão relacionados com a estrutura dos dados. Nesse sentido, é correto afirmar que a quantidade de atributos de uma relação determina o seu grau e que o número de tuplas determina sua cardinalidade. 77 No modelo entidade-relacionamento, as entidades têm propriedades que tiram seus valores de um conjunto de valores correspondente e são representadas por meio de atributos. Uma das propriedades desses atributos é a impossibilidade de multivaloração. 78 Para que uma relação esteja na segunda forma normal, é suficiente observar que todos os seus atributos sejam funcionalmente dependentes da chave primária. 79 Para garantir a atomicidade de uma transação, um sistema gerenciador de banco de dados pode fazer uso de bloqueios, que, por sua vez, podem introduzir um problema conhecido como deadlock.
Solução: Um Sistema Gerenciador de Banco de Dados (SGBD) é uma coleção de dados (arquivos) inter-relacionados e de um conjunto de programas para acessar tais dados. A coleção de dados, geralmente chamada de banco de dados (ou base de dados), pode conter as informações relevantes de uma empresa, por exemplo. A principal motivação para o uso de um SGBD é a possibilidade de proporcionar uma forma eficiente e conveniente de armazenar e recuperar informações. O gerenciamento de dados envolve tanto a definição de estruturas para armazenamento de informação (o modelo físico) quanto a disponibilização de mecanismos para manipular tais informações. Adicionalmente, o SGBD deve garantir a segurança da informação armazenada, mesmo na presença de falhas ou tentativas não autorizadas de acesso. Sobre o modelo físico, apóia-se o modelo de dados, que pode ser entendido como uma coleção de ferramentas conceituais para descrever dados, relações entre os dados, a semântica dos dados e as restrições de integridade. Dois modelos muito utilizados são o “modelo entidade-relacionamento” e o “modelo relacional”.
Página 14 de 72 www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 11 – Edição 1
O modelo de dados “entidade-relacionamento” (modelo E-R) é baseado na percepção e abstração do mundo real, que é composto por uma coleção de objetos (as entidades) e pelos relacionamentos entre tais objetos. As entidades são descritas por atributos, que podem ser simples, compostos ou multivalorados. O modelo relacional utiliza um conjunto de tabelas para representar tanto os dados quanto os relacionamentos (ou relações) entre os dados. Cada entidade (ou objeto) é descrita por atributos restritos a seus respectivos tipos de dados (os domínios associados). Cada instância de entidade (os dados armazenados em si) é chamada de tupla (ou tuplo). A quantidade de atributos de uma tabela (ou relação) indica o grau da relação, ao passo que o número de tuplas indica sua cardinalidade. Toda tabela deve possuir um atributo, ou conjunto de atributos, que funcione como um identificador único, promovido a chave-primária, e que identifique de forma unívoca cada tupla da relação. Este conceito é essencial para a obtenção de formas normais. A normalização é uma técnica utilizada para produzir um conjunto de relações que possui certo conjunto de propriedades que minimizam dados redundantes e preservam a integridade do conteúdo armazenado à medida que ele recebe manutenção (inclusão, atualização e exclusão). Há três formas normais básicas. Para que uma relação esteja na 1a Forma Normal, é necessário que: • cada atributo de uma tupla contenha apenas um valor; • cada tupla seja composta da mesma quantidade de atributos; e • cada tupla seja diferente das demais. A chave-primária consegue garantir a terceira exigência, pois é um identificador único de cada tupla. Para que uma relação esteja na 2a Forma Normal, é necessário cumprir os requisitos para a 1a Formal Normal e, adicionalmente, garantir que todos os atributos sejam funcionalmente dependentes da chave-primária, isto é, que não exista valores distintos de atributos associados ao mesmo valor de chave-primária em um dado momento. Para adequar-se às regras da 3a Forma Normal, uma relação precisa cumprir os requisitos da 2a Forma Normal e garantir que os atributos não-chaves sejam independentes uns dos outros e dependentes do identificador único. Em um SGBD típico, muitas transações ocorrem simultaneamente e é necessário haver um controle eficiente para a manutenção da integridade dos dados. Uma transação é uma coleção de operações que formam uma unidade lógica de trabalho. Para manter a integridade dos dados durante a execução de transações, um SGBD precisa manter as seguintes propriedades (conhecidas pelo acrônimo ACID): • Atomicidade. Uma transação deve ocorrer por completo ou não deve ocorrer, isto é, execuções parciais são inadmissíveis; • Consistência. As transações não devem quebrar as regras de integridade do banco de dados; • Isolamento. O resultado da execução de transações concorrentes deve ser o mesmo que se obteria caso as execuções fossem isoladas;
Página 15 de 72 www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 11 – Edição 1
• Durabilidade. Mesmo na presença de falhas, as transações completamente executadas devem persistir na base de dados. Uma outra característica das transações em um SGBD é a seriabilidade, que auxilia a manutenção da consistência em bancos de dados na presença de concorrência. O escalonamento das transações (processo de agendamento das operações que compõem uma transação) determina a ordem de execução das mesmas. Para garantir a seriabilidade, o SGBD deve efetuar escalonamentos cujos resultados sejam equivalentes a execuções seriais das transações envolvidas. Uma técnica para garantir a seriabilidade de transações é requisitar que os itens de dados sejam acessados de uma maneira mutualmente exclusiva, ou seja, enquanto uma transação estiver acessando um conjunto de dados, nenhuma outra transação pode modificá-lo. Um método comumente utilizado para efetuar esta implementação é através de um bloqueio dos dados. Contudo, o uso de bloqueios pode gerar uma situação indesejada, conhecida por deadlock. Um sistema é dito em estado de deadlock quando existe um conjunto de transações no qual cada transação está esperando por alguma outra no mesmo conjunto. Nesta situação, nenhuma transação consegue progredir. 75 CERTO Este item está correto ao listar algumas propriedades das transações, bem como ao descrição de uma delas. A questão pode confundir o candidato por não apresentar as clássicas características ACID (a seriabilidade aparece no lugar da consistência). Entretanto, as características não são apresentadas como necessárias para a manutenção da integridade dos dados, o que não invalida a assertiva. 76 CERTO Este item é apontado como correto no gabarito oficial. Entretanto, existiria a possibilidade de interposição de recurso ao candidato que indicasse a sentença como falsa, pois as tuplas (e, consequentemente a cardinalidade) não fazem parte da estrutura dos dados, e sim, compõem os próprios dados. A sutileza do raciocínio não foi levada em consideração pela banca examinadora, que optou por considerar todos os elementos citados como componentes da estrutura dos dados em um modelo relacional. As definições de grau e cardinalidade estão corretas. 77 ERRADO Este item também está incorreto ao afirmar que os atributos não podem ser multivalorados, fato aceito pelo modelo entidade-relacionamento. 78 ERRADO Este item está incorreto, pois, para estar na 2a Forma Normal, além da citada dependência funcional, uma relação também deve cumprir os requisitos da 1a Forma Normal.
Página 16 de 72 www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 11 – Edição 1
79 CERTO Apesar do gabarito oficial apontar o item 79 como correto, uma análise mais detalhada revela uma informação incorreta na assertiva. A garantia da atomicidade está relacionada ao gerenciamento de recuperação de falhas do SGBD, isto é, na presença de falhas, o SGBD deve garantir que uma transação será executada completamente ou não será executada. Não há o emprego de bloqueios para tal intento. Já o isolamento e a seriabilidade podem ser beneficiados pelo uso de bloqueios.
Página 17 de 72 www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 11 – Edição 1
5. Assuntos relacionados: Engenharia de Software, Desenvolvimento em Cascata, Desenvolvimento Evolucionário, Banca: Cespe Instituição: INMETRO Cargo: Analista Executivo em Metrologia e Qualidade - Processos de Negócios e Tecnologia da Informação Ano: 2009 Questão: 84–86 O ciclo de vida de um software descreve sua existência desde sua concepção até sua desativação. A respeito da produção e dos processos de desenvolvimento de software, julgue os itens que se seguem. 84 A construção de um produto de software pressupõe o compromisso com um conjunto de requisitos antes do início do desenvolvimento de tal produto, seguido de um processo que é finalizado com a implantação do referido produto. 85 Em um processo de desenvolvimento em cascata, os testes de software são realizados todos em um mesmo estágio, que acontece após a finalização da fase de implementação. 86 Em uma empresa que tenha adotado um processo de desenvolvimento de software em cascata, falhas no levantamento de requisitos têm maior possibilidade de gerar grandes prejuízos do que naquelas que tenham adotado desenvolvimento evolucionário.
Solução: 84 ERRADO O processo de desenvolvimento de software consiste em uma série de atividades, que tem como objetivo a produção de um software. Não há um consenso sobre a quantidade e a função de cada atividade (etapa) do processo, no entanto, pode-se selecionar as atividades fundamentais, ou seja, que são descritas pela maioria dos autores. Dentre essas, pode-se destacar: – – – – – – –
Análise de Requisitos; Especificação; Projeto do Sistema (Arquitetura); Implementação; Testes; Documentação; Manutenção.
A análise de requisitos é uma das etapas mais importantes, visto que, é nela que são definidas as necessidades que o software deve atender, ou seja, a função do software. No entanto, não é uma etapa simples, haja visto que muitas vezes o cliente não sabe corretamente o que quer, dessa forma, o profissional que analisará isso deverá ser capaz de extrair os requisitos removendo as ambiguidades e contradições. A especificação é a etapa em que o engenheiro de software descreve de forma rigorosa o que de fato o software fará. Nessa etapa é realizada a especificação funcional formal do sistema.
Página 18 de 72 www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 11 – Edição 1
O projeto do sistema é a etapa de descrição abstrata do software. Nela é definida a arquitetura do sistema, módulos, interfaces e outras informações. A implementação é a parte de codificação, é a tradução do que está definido na arquitetura. Os testes são as verificações que o software é submetido a fim de validar os requisitos técnicos, não funcionais (p.e. Estabilidade) e funcionais (p.e. Requisitos). A documentação é uma etapa que, normalmente, ocorre em paralelo às outras, iniciando juntamente com a análise de requisitos e finalizando com a desativação do sistema. Por fim, a manutenção é a etapa realizada após a implementação e visa corrigir falhas do sistema, nesse ponto, o software fica em um ciclo que abrange as etapas anteriores. Dessa forma, a primeira parte da afirmação é correta, ou seja, são assumidos requisitos antes do desenvolvimento (a semântica da palavra indica a fase de implementação), no entanto, a finalização do produto não se dá na implantação, ou seja, o processo ainda fica na etapa de manutenção até a descontinuação do mesmo. Assim, a afirmação é falsa. 85 ERRADO O modelo de desenvolvimento em cascata segue a ordem sequencial de atividades apresentada na questão 84. A Figura 2 abaixo apresenta a sequencia de atividades. Observe que uma etapa move-se para a próxima fase somente quando a fase anterior está completa.
Figura 2: diagrama de blocos do modelo de desenvolvimento em cascata.
Figura 3: diagrama de blocos do estágio de manutenção. Aparentemente os testes do modelo em cascata são realizados apenas na etapa de testes, no entanto, após a implantação do sistema, o mesmo passa para o estágio de manutenção, no qual também são realizados testes. Dessa forma, a afirmação é falsa
Página 19 de 72 www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 11 – Edição 1
pelo fato de não considerar a manutenção do software como parte do processo. 86 CERTO Conforme descrito na questão 85, se houver uma falha na análise de requisitos, fatalmente isso incorrerá em grandes prejuízos, visto que a falha impactará alterações em todas as etapas seguintes. Um exemplo é a construção de um prédio de 10 andares, imagine que por uma falha na análise de requisitos não foram construídos banheiros, e apenas quando a fase de implementação estava no desenvolvimento do 3o andar isso foi percebido. Nesse caso, o impacto é enorme, visto que será necessário refazer todo o projeto de arquitetura (ou tentar adaptá-lo) e ainda será necessário modificar os 3 andares já construídos. Da mesma forma, no desenvolvimento do software, quanto mais avançado nas etapas, maior o prejuízo. No entanto, um modelo evolucionário, ou seja, que aumenta o sistema incrementalmente, o sistema passa várias vezes pelas etapas (vide Figura 4). Assim, a cada versão, o software incorpora mais funcionalidades, e, se houver uma falha na análise de requisitos, os problemas são solucionados em uma próxima versão (iteração), dessa maneira, apenas uma versão (ou iteração) é perdida.
Figura 4: diagrama de blocos do modelo de desenvolvimento evolucionário. Usando o exemplo da construção do prédio, se ao fazer o 1o andar fossem realizados os testes, o prejuízo seria muito menor. Por fim, a questão está correta.
Página 20 de 72 www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 11 – Edição 1
6. Assuntos relacionados: Engenharia de Software, Engenharia de Requisitos, Requisito Funcional, Requisito Não-Funcional, Prototipação, Banca: Cespe Instituição: INMETRO Cargo: Analista Executivo em Metrologia e Qualidade - Processos de Negócios e Tecnologia da Informação Ano: 2009 Questão: 87 e 89 Na engenharia de software, a engenharia de requisitos é o processo de descobrir, analisar, documentar e verificar os serviços prestados por um sistema e suas restrições operacionais. A respeito dos conceitos de requisitos, julgue os seguintes itens. 87 O documento de requisitos de software, que é uma declaração oficial do que deve ser implementado, deve incluir os requisitos não funcionais do sistema. Esses requisitos não funcionais podem refletir necessidades legais e até princípios éticos. 89 A utilização da técnica de prototipação no processo de requisitos consiste da criação de um modelo do sistema a ser apresentado para usuários finais e clientes com a finalidade de validação dos requisitos.
Solução: 87 CERTO Os requisitos de um sistema podem ser, simplificadamente, divididos em dois grupos: – Requisitos funcionais: descrevem as ações um sistema. Deve ser capaz de executar, sem levar em consideração restrições físicas. Esses especificam, portanto, as transformações dos dados (p.e. comportamento de entrada e saída) de um sistema; – Requisitos não funcionais: estão quase sempre associados a um requisito funcional. Descrevem como uma transformação se dará. Exemplos típicos desses são usabilidade, performance, estética, consistência na interface do usuário, confiabilidade, acessibilidade, adaptação a outras culturas, impedir corrupção de dados. Por fim, a afirmação é verdadeira, visto que, os requisitos não funcionais são fundamentais para definição do software e esbarram em questões éticas e legais. 89 CERTO A técnica de prototipagem é uma excelente forma de apresentar aos clientes os requisitos capturados na análise de requisitos. Ele consiste em um sistema básico capaz de demonstrar o que o sistema fará. Esse modelo pode não executar a tarefa de fato, ou seja, apenas emular o que seria o resultado. Dessa forma, o cliente é capaz de analisar se o que ele quer foi compreendido antes do prosseguimento do projeto. As metodologias evolutivas são também chamadas de modelo de prototipagem, visto que, a cada iteração um subproduto é apresentado e validado. Assim, a afirmação é correta.
Página 21 de 72 www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 11 – Edição 1
7. Assuntos relacionados: Planejamento Estratégico, Matriz SWOT, Banca: Cespe Instituição: INMETRO Cargo: Analista Executivo em Metrologia e Qualidade - Processos de Negócios e Tecnologia da Informação Ano: 2009 Questão: 101–104 Julgue os itens a seguir, referentes ao planejamento estratégico. 101 Na matriz SWOT, as ameaças são características que impedem que a empresa ou unidade de negócio tenha um bom desempenho e, portanto, precisam ser tratadas/ minimizadas. 102 Estratégia é a ação ou o caminho mais adequado a ser executado para se alcançar um objetivo. 103 O planejamento estratégico é o processo administrativo que proporciona sustentação metodológica para se estabelecer a melhor direção a ser seguida pela organização, visando aperfeiçoar a interação entre a empresa e o ambiente. 104 A missão corresponde aos limites que os principais responsáveis pela organização conseguem vislumbrar dentro de um período de tempo mais longo e uma abordagem mais ampla.
Solução: 101 ERRADO A análise de SWOT é um método utilizado no planejamento estratégico que identifica as Forças (Strentgh), Fraquezas (Weaknesses), Oportunidades (Oportunities) e Ameaças (Threats) da empresa. Tem como objetivo sintetizar a análise interna e externa, identificar pontos chaves para gestão e preparar opções estratégicas para alcançar um objetivo. Forças e fraquezas são fatores internos, como por exemplo ativos, habilidades e recursos que a empresa tem a sua disposição comparativamente com seus concorrentes. Já as oportunidades e ameaças são fatores externos que não estão sob o controle da entidade e são provenientes de fatores de mercado ou demográficos, tecnológicos, sociais, etc. A análise normalmente é realizada utilizando-se uma MATRIZ de SWOT, que facilita a visão sistêmica e a visualização das relações entre os fatores. Segue um exemplo de uma Matriz de SWOT. Com a combinação dos ambientes externo e interno e de seus componentes aprimorase a análise e tomada de decisões estratégicas da organização. Assim, utiliza-se a Matriz SWOT para auxílio das decisões com o intuito de maximizar as oportunidades do ambiente externo em torno dos pontos fortes e minimizar ou acabar com os pontos fracos para reduzir os efeitos das ameaças. Dessa forma, ameaças não são características (fraquezas seriam características) e sim, fatores externos que podem atrapalhar o alcance dos objetivos.
Página 22 de 72 www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 11 – Edição 1
Figura 5: exemplo de Matriz de SWOT. 102 CERTO Estratégia é uma palavra de origem militar que se refere a um plano de ação para atingir um determinado objetivo. Apesar da origem militar ela é muito usada na área de negócios. No plano dos negócios, pode-se definir como o conjunto de planos que a cúpula da corporação adota para alcançar resultados condizentes com os objetivos e com a missão da mesma. Segundo Chandler, primeiro pesquisador da estratégia empresarial, estratégia é: “a determinação das metas e objetivos básicos e de longo prazo de uma empresa; e a adoção de ações e alocação de recursos necessários para atingir esse objetivo.” 103 CERTO Planejamento estratégico é um processo de uma organização que define suas diretrizes, decidindo sobre as alocações de recursos para alcançar a relação pretendida com seu ambiente. Compreende a tomada de decisões sobre o curso de ação que a organização deve seguir: produtos e serviços que pretende oferecer e clientes que pretende atingir. Nesse processo esclarece-se os caminhos que serão seguidos pela empresa e quais objetivos devem ser alcançados. Normalmente o planejamento estratégico passa pelas seguintes etapas: 1. análise da situação estratégica da organização (Onde estamos? Como chegamos aqui?). As perspectivas dessa análise são a situação estratégica (o que o passado afeta o presente) e o plano estratégico (as decisões do presente que afetarão o futuro). Os componentes avaliados são o escopo ou modelo de negócio, produtos e mercados, vantagens competitivas, desempenho e uso de recursos;
Página 23 de 72 www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 11 – Edição 1
2. análise do ambiente ou análise externa. ( Quais são as ameaças e oportunidades do ambiente presente e futuro?). Faz parte do SWOT. Os componentes analisados são: ramo de negócios, ações do governo, tecnologia, conjuntura econômica e sociedade; 3. análise interna (Quais os pontos fortes e fracos?). É a outra ponta do SWOT. Normalmente realizado por análises de áreas funcionais e benchmarking; 4. definição do plano estratégico: objetivos e estratégias. (Para onde devemos ir? O que devemos fazer para chegar lá?). Os componentes do plano são negócio ou missão, objetivos, vantagens competitivas e alocação de recursos. 104 ERRADO Missão é o propósito, o que dá significado e direciona a existência de uma empresa. Está ligada a seus objetivos institucionais e aos motivos pelos quais foi criada, representando a razão de ser da organização. A missão deve responder o que a organização faz e para quem faz. Deve ser um enunciado contendo o propósito e as responsabilidades perante seus clientes. Normalmente responde as seguintes perguntas: O que, para quem, para quê, como, onde e com qual responsabilidade social deve fazer? O que a organização pretende atingir (os limites) ou se tornar em um determinado período de tempo é a Visão. É aquilo que se espera alcançar em um determinado tempo e espaço. A missão é algo perene e que se mantém, a visão é algo mutável e concreto que visa-se ser alcançado.
Página 24 de 72 www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 11 – Edição 1
8. Assuntos relacionados: Planejamento Estratégico, BSC, Banca: Cespe Instituição: INMETRO Cargo: Analista Executivo em Metrologia e Qualidade - Processos de Negócios e Tecnologia da Informação Ano: 2009 Questão: 105–110 Com relação ao BSC (balanced scorecard), julgue os próximos itens. 105 O BSC mede o desempenho organizacional sob quatro perspectivas equilibradas: financeira, do cliente, dos processos internos e do aprendizado e crescimento. 106 Os objetivos e medidas do BSC derivam das atividades operacionais da empresa. 107 Exemplos de medidas genéricas referentes à perspectiva financeira do BSC são a qualidade e o tempo de resposta. 108 O modelo de BSC a ser utilizado por uma organização em nenhuma hipótese deve agregar mais do que as quatro principais perspectivas propostas por esse modelo. 109 De acordo com o modelo do BSC, as medidas financeiras e não-financeiras devem fazer parte do sistema de informações para funcionários de todos os níveis da organização. 110 Uma das finalidades do BSC é comunicar e obter o comprometimento de executivos com a estratégia de uma empresa.
Solução: Como as 6 questões seguintes são todas referentes ao mesmo assunto, abordaremos a teoria antes e em cada questão comentaremos apenas o porquê de estarem certas ou erradas. O Balanced Scorecard foi desenvolvido por Robert Kaplan e David Norton, professores da Havard Busines Scholl, e é um sistema de gestão estratégica, uma metodologia que realiza medição e gestão de desempenho. Quando concebido em 1992, era um modelo de avaliação de desempenho empresarial, mas com a experiência de aplicações em diversas empresas foi revisado e tornou-se um sistema de gestão estratégica. Empresas inovadoras estão utilizando o scorecard para administrar estratégias a longo prazo e viabilizar processos gerenciais críticos: esclarecer e traduzir a visão e a estratégia; comunicar e associar objetivos e medidas estratégicas; planejar e estabelecer metas e alinhar iniciativas estratégicas; melhorar o feedback e o aprendizado estratégico. O BSC tem como objetivo medir a estratégia da empresa, dessa forma ele começa com a visão ou com a estratégia da organização. Para tal, olha-se a estratégia, normalmente, a partir de 4 referenciais: Financeiro, clientes, processos internos e aprendizado e crescimento. Ele tem início com a administração da organização traduzindo a estratégia de sua unidade em objetivos e metas estratégicas. O financeiro, ao estabelecer tais metas deve priorizar a receita e o crescimento de mercado, a lucratividade ou a geração de fluxo de caixa. No
Página 25 de 72 www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 11 – Edição 1
caso da perspectiva do cliente deve-se deixar claro qual o segmento de clientes e mercados deseja atingir. Após o financeiro e de clientes deve-se definir medidas e objetivos para seus processos internos. Essa é a área mais inovadora do BSC, onde destaca os processos mais críticos para desempenho para clientes e acionistas. As metas de aprendizado e crescimento expõem os motivos para investimentos tecnológicos, reciclagem de pessoal, na melhoria dos procedimentos organizacionais e nos sistemas de informação. A Figura 6 ilustra as quatro perspectivas e como elas se relacionam:
Figura 6: ilustração das quatro perspectivas do BSC. 105 CERTO Como explicado na teoria acima, essas são as 4 perspectivas básicas. 106 ERRADO Os objetivos e medidas derivam do planejamento estratégico e da visão. As atividades operacionais serão guiadas para atingir as metas estabelecidas.
Página 26 de 72 www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 11 – Edição 1
107 ERRADO Esses são exemplos de medidas genéricas da perspectiva de processos internos. Para cada perspectiva temos exemplos abaixo de medidas genéricas: 1. Financeira - Retorno sobre o investimento e o valor econômico agregado; 2. Cliente - Satisfação, retenção, participação de mercado e participação de conta; 3. Processos Internos - Qualidade, tempo de resposta, custo e lançamento de novos produtos; 4. Aprendizado e conhecimento - Satisfação dos funcionários e disponibilidade dos sistemas de informação. 108 ERRADO As quatro perspectivas do Balanced Scorecard se revelaram adequadas em diversas empresas e setores de mercado, mas não são um modelo ou uma camisa-de-força. Não há nenhuma regra ou teorema matemático que diga que as 4 perspectivas são necessárias e suficientes. Há exemplos de que, se altamente necessário, é possível incluir, por exemplo, uma perspectiva ambiental e comunitária. O que deve ficar claro é que os interesses devem ser vitais para o sucesso da estratégia da unidade de negócios. Além disso, todas as medidas que aparecem no BSC devem estar totalmente integradas à cadeia de relações causais que definem e retratam a história da estratégia da unidade de negócios. 109 CERTO A estrutura do BSC (formadas pelas 4 perspectivas discutidas acima) deixa claro que as medidas financeiras e não financeiras devem fazer parte do sistema de informações para funcionários de todo os níveis da organização. Segundo Kaplan e Norton, os funcionários da linha de frente devem compreender as consequências de suas decisões e ações; os altos executivos precisam reconhecer os vetores de sucesso a longo prazo. 110 CERTO O BSC deve ser entendido por todos os membros da organização. Nesse intuito a comunicação do BSC deve aumentar a compreensão de todos na organização a respeito da estratégia e a motivação para agir em prol de atingir os objetivos. Parte-se do princípio de que quando os funcionários entendem as medidas de alto nível e os objetivos, é possível para eles criar metas locais que apóiem a estratégia global e assim, comunicar e obter comprometimento de executivos e diretores em relação à estratégia estabelecida. Por outro lado, segundo Kaplan e Norton, o BSC pode e deve SER o mecanismo pelo qual os altos executivos apresentam suas estratégias corporativas e setoriais ao conselho de administração. Essa forma de comunicação não se limita a informar ao conselho em termos específicos sobre a existência de estratégias de longo prazo voltadas para o sucesso competitivo. Ela também serve de base para o feedback e a responsabilização diante do conselho. Ou seja, gera comprometimento do corpo executivo,
Página 27 de 72 www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos além de ser a ferramenta de comunicação.
Página 28 de 72 www.handbookdeti.com.br
Volume 11 – Edição 1
Handbook de Questões de TI Comentadas para Concursos
Volume 11 – Edição 1
9. Assuntos relacionados: Banco de Dados, Normalização de Banco de Dados, Primeira Forma Normal (1FN), Segunda Forma Normal (2FN), Terceira Forma Normal (3FN), Banca: Cespe Instituição: IPEA Cargo: Analista de Sistemas - Suporte de Processos de Negócios Ano: 2008 Questão: 74, 75, 77, 78 e 79 Com relação ao banco de dados, que é uma coleção de dados relacionados, e que os dados são fatos que podem ser gravados e que possuem um significado implícito, julgue os próximos itens. 74 Metadados descreve a estrutura do banco de dados primário. Em alguns tipos de sistemas de bancos de dados os usuários podem estabelecer operações sobre os dados como parte de sua definição. Este é o caso dos SGBD orientados a objeto e o objetorelacional. 75 Um SGBD distribuído pode ter o banco de dados e o software distribuídos em vários sítios conectados pela rede, exceto quando for capaz de suportar múltiplos usuários. 77 O processo de normalização envolve a análise das dependências entre os atributos de um banco de dados, em conformidade aos critérios de cada forma normal. A primeira forma normal é com base no conceito de dependência transitiva. 78 Cada entidade possui atributos que, entre outras classificações, podem ser simples ou compostos. Os atributos compostos podem ser divididos em subpartes menores, que representam a maioria dos atributos básicos com significados independentes. 79 Uma linha é chamada tupla, enquanto um cabeçalho de coluna é conhecido como relação, e a tabela é chamada atributo. O tipo de dado que descreve os tipos de valores que podem aparecer em cada coluna é representado pelo domínio de valores possíveis.
Solução: 74 CERTO Seguindo a etimologia da palavra Metadado, podemos concluir que Metadado significa dados sobre outros dados. Nesse contexto, um banco de dados pode atribuir dados sobre, p.e., uma coluna. Esses dados são os metadados da coluna. Um exemplo clássico de metadado presente em quase todos os bancos de dados é o tipo da coluna (dado primário do banco). Alguns bancos possuem colunas do tipo Data, Hora, Dinheiro e outros. Além disso, bancos de dados orientados a objetos e objeto-relacionais (Oracle, SQLServer, ...) permitem que sejam criadas funções e ações sobre dados (p.e. limitar idade, verificar CPF), assim criando mais informações (dados) sobre os dados armazenados no mesmo. Sendo assim, a questão está correta.
Página 29 de 72 www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 11 – Edição 1
75 ERRADO A questão é incorreta, visto que, um banco de dados tradicional é um sistema multiusuário, dessa forma, um banco de dados distribuído (ou seja, espalhado pela rede LAN e WAN) deve suportar múltiplos usuários. A grande dificuldade de funcionamento de um banco distribuído é manter a consistência das bases tendo muitos acessos simultâneos. No entanto, esses bancos possuem grande capacidade de armazenamento e performance de acesso, o que justifica o propósito dos mesmos. 77 ERRADO Os bancos de dados utilizam a normalização de dados para aumentar o desempenho em consultas e evitar redundâncias. O processo de normalização visa eliminar os dados redundantes e garantir que as dependências entre entidades tenham coerência (armazenando apenas dados logicamente relacionados em uma tabela). Os bancos de dados dividem a normalização em 5 estágios. Um banco de dados encontra-se em dos estágios (ou forma normal) quando suas tabelas atendem alguns requisitos. Esses requisitos são cumulativos, ou seja, para um banco de dados estar na 3o forma normal, ele deve atender os requisitos da 2o e 1o formas e os da 3o forma normal. Um atributo B possui uma dependência funcional do atributo A se, para cada valor do atributo A, existe exatamente um único valor do atributo B. A dependência funcional é representada por A → B. Exemplo: considerando os atributos CPF e Nome. Observe que existe uma dependência entre os valores dos conjuntos, ou seja, nome é função do CPF. Dessa forma, dado um número do CPF, poderei encontrar o nome da pessoa correspondente. Essa dependência é expressa por: CP F → N ome Primeira Forma Normal (FN1) Uma relação encontra-se na primeira forma normal se seus valores de seus atributos são atômicos (simples, indivisíveis) e monovalorados, ou seja, FN1 não permite “relações dentro de relações” ou “relações como atributos de tuplas”. Além disso, os atributos não podem conter grupos de repetição (p.e. Telefone, uma pessoa pode ter mais de um número associado). Segunda Forma Normal (FN2) Uma relação está na FN2 quando duas condições são satisfeitas: 1 - A relação está na FN1; 2 - Todo atributo da tabela seja dependente funcional da chave completa e
Página 30 de 72 www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 11 – Edição 1
não de parte da chave. Todos os atributos não-chave dependem funcionalmente de toda a chave primária. Terceira Forma Normal (FN3) A FN3 exige que não existam atributos transitivamente dependentes da chave e atendam a FN2 e FN1. Portanto, a questão está incorreta. 78 CERTO Os atributos são propriedades que identificam as entidades de um banco de dados. Uma entidade é representada por um conjunto de atributos, os quais, podem ser simples ou compostos. – os atributos simples não possuem qualquer característica especial, eles são, normalmente, tipos básicos do banco de dados. A maioria dos atributos de uma entidade são simples, um exemplo desse tipo é a altura de um indivíduo. Essa propriedade é simples e, normalmente, é representada por um número de ponto flutuante; – os atributos Compostos possuem um conteúdo que é formado por vários itens menores.Um exemplo clássico é o endereço. Esse pode ser dividido em vários outros atributos, como: Rua, Número, Complemento, Bairro, CEP, Estado, Cidade. Dessa forma, como o autor da questão coloca a expressão “entre outras classificações” pode-se considerar a questão correta. Alguns autores subdividem essa classificação em mais dois tipos, os atributos multivalorados, no qual o mesmo pode possuir mais de um valor (p.e. Telefone, uma pessoa pode ter mais de um), e os atributos determinantes, os quais determinam de forma única um indivíduo (p.e. CPF, RG, CNPJ e outros). No entanto, a maioria dos autores admitem apenas as duas primeiras formas ou, consideram essa classificação como outra forma de classificar atributos. 79 ERRADO Uma linha de um banco de dados é matematicamente chamada de tupla (um conjunto de dados com tipos diferentes), contudo, um cabeçalho de coluna do banco de dados é chamada de atributo, pois descreve o tipo de informação que será armazenada naquela posição da tupla. Além disso, uma tabela é chamada de entidade, pois representa um conjunto de atributos. Portanto, a afirmação é incorreta.
Página 31 de 72 www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 11 – Edição 1
10. Assuntos relacionados: Qualidade de Software, Análise de Pontos de Função, Índice de Maturidade de Software, Banca: Cespe Instituição: IPEA Cargo: Analista de Sistemas - Suporte de Processos de Negócios Ano: 2008 Questão: 90–93 Qualidade de software pode ser compreendida como a satisfação de requisitos funcionais e de desempenho estabelecidas pelo projeto de software. É derivada de uma série de fatores que variam de acordo com a aplicação e os clientes que os encomendam. Acerca desse assunto, julgue os itens de 90 a 93. 90 A análise de pontos por função contempla três formas de contagem: a estimativa, a indicativa e a detalhada. Ao medir a funcionalidade entregue por um sistema, considera as entradas, saídas e consultas externas bem como o número de arquivos lógicos internos e as interfaces externas. A avaliação da complexidade considera mais 14 fatores de ajuste de valor. 91 A análise de pontos por função utiliza a contagem com base nas linhas de código de um programa. Uma função pode ser definida como uma coleção de declarações executáveis que realizam uma tarefa. 92 Os fatores que afetam a qualidade do software podem ser medidos indiretamente, como é o caso do número de defeitos do software ou diretamente por meio de atributos de qualidade como usabilidade, manutenibilidade, confiabilidade, integridade entre outras. 93 O índice de maturidade de software avalia a estabilidade de um produto de software. Para tanto, baseia-se nos módulos existentes, naqueles que foram modificados, adicionados e descartados.
Solução: Qualidade é um conceito complexo, de difícil avaliação, pois muitas vezes envolve noções subjetivas acerca de elementos e fatores não-mensuráveis. O Gerenciamento de Qualidade de Software pode ser estruturado em três atividades principais: garantia de qualidade, planejamento de qualidade e controle de qualidade. A garantia de qualidade é o processo de definição da estratégia para atingir a qualidade do software e informar sobre o nível de qualidade alcançado. Já o planejamento de qualidade é o processo de desenvolvimento de um plano de qualidade para um projeto. Por fim, o controle de qualidade envolve a monitoração do processo de desenvolvimento para assegurar a qualidade desejada. Existem duas abordagens (complementares) geralmente utilizadas para verificar a qualidade dos produtos de um projeto de software: revisões de qualidade e medição de software. Nas revisões de qualidade, o software, sua documentação e os processos usados para produzi-lo são revisados por um grupo de pessoas. Esse processo é oneroso, demorado e, inevitavelmente, atrasa a conclusão de um sistema de software.
Página 32 de 72 www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 11 – Edição 1
A medição de software busca obter um valor numérico para algum atributo de um produto ou de um processo de software. A comparação desses valores com outros de projetos semelhantes permite a conclusão sobre a qualidade de software e dos processos de software. Uma métrica de software é qualquer tipo de medição relacionada a um sistema de software, processo ou documentação correlata. Alguns exemplos são: medidas de tamanhos de um produto em linhas de código (LOC – lines of code), quantidade de defeitos relatados em um produto entregue, análise por pontos de função, etc. A métrica de análise por pontos de função (ou pontos de função – PF) contabiliza as funcionalidades criadas para avaliar um software. Para determinar o número de PFs, considera-se a contagem de dados (arquivos lógicos internos e arquivos de interface externos) e de transações (entradas externas, saídas externas e consultas externas). Métodos alternativos de contagem foram desenvolvidos ao longo do tempo, como a Contagem Antecipada de Pontos de Função, de autoria da NESMA (Neterlandse Software Metrieken Associatie), que considera a contagem de pontos de função detalhada, estimativa e indicativa. Após identificados e contabilizados, esses fatores têm sua complexidade classificada como baixa, média ou alta, quantificados de acordo com algum padrão estabelecido previamente pela equipe de desenvolvimento. Buscando diferenciar funcionalidades com características de execução distintas (cálculos custosos de conversões triviais, por exemplo), após o cálculo de PF é aplicado um fator de ajuste (FA) ao valor encontrado. Esse FA é baseado em 14 Características Gerais do Sistema (CGS), como comunicação de dados, interface com o usuário, processamento complexo, reusabilidade, etc. Evidentemente, a variedade de aspectos a considerar e a presença de muitos elementos intangíveis são dificuldades para a obtenção de medidas de software eficientes. De qualquer forma, a finalidade destas medições é auxiliar na obtenção de um produto confiável que, em termos práticos, traduz-se como “um produto que não falha”. O software que é capaz de evitar falhas em virtude de defeitos é tido como um programa robusto, de alto nível de maturidade. O termo “maturidade” também é utilizado para descrever um produto extensivamente utilizado por vários usuários e no qual as falhas já foram encontradas e corrigidas. 90 ERRADO Este item apresenta informações pertinentes referente à métrica de análise por pontos de função. Contudo, tenta confundir o candidato ao misturar a classificação/avaliação de complexidade das funções (baixa, média e alta) com a avaliação de 14 características gerais do sistema (que efetua um ajuste considerando o quanto o sistema pode ser complexo). A assertiva está incorreta. 91 ERRADO Este item está incorreto ao afirmar que a análise por pontos de função (ou análise de pontos por função) utiliza a contagem de linhas de código. Essa estratégia é conhecida como LOC, conforme teoria apresentada.
Página 33 de 72 www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 11 – Edição 1
92 ERRADO Este item está incorreto pelo simples fato de inverter as posições dos termos “diretamente” e “indiretamente”: a medida do número de defeitos do software é uma medida direta, ao passo que atributos como usabilidade, manutenibilidade, confiabilidade e integridade são medidos de forma indireta e subjetiva. 93 CERTO Este item está correto. O Índice de Maturidade de Software (Software Maturity Index – SMI) pode ser utilizado como métrica para para um planejamento das atividades de manutenção do sistema, sendo que seu cálculo considera o número de módulos na versão atual, de módulos alterados, de módulos adicionados e de módulos suprimidos.
Página 34 de 72 www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 11 – Edição 1
11. Assuntos relacionados: Workflow, SOA, Sistemas Distribuídos, Banca: Cespe Instituição: IPEA Cargo: Analista de Sistemas - Suporte de Processos de Negócios Ano: 2008 Questão: 94–99 Relativos a arquitetura e tecnologias de sistemas de informação, julgue os itens que se seguem. 94 Na arquitetura cliente-servidor de duas camadas, o nível servidor inclui a parte do software SGBD responsável pelo armazenamento de dados em páginas de discos, controle de concorrência local e recuperação, buferização e caching de páginas de disco e outras funções. 95 A arquitetura cliente-servidor de três camadas divide a funcionalidade do SGBD entre cliente, servidor de aplicação e servidor de banco de dados. O servidor de aplicação assegura a atomicidade das transações globais por meio da execução da recuperação global quando certos sítios falharem. 96 Sistemas de workflow tratam a informação relativa ao fluxo de trabalho de modo a imprimir a ele maior eficiência por meio de seu gerenciamento, coordenação e controle. Neles, a sequência de atividades é pré-definida e podem ser com base em respostas e regras. 97 A arquitetura orientada a serviços (SOA) proporciona maior agilidade nos processos e redução nos custos a partir da integração de dados distintos, inclusive com bases de dados de sistemas legados. Como favorece a interoperabilidade, propicia à empresa independência de fornecedores. 98 A arquitetura distribuída é caracterizada pelo compartilhamento de recursos computacionais e serviços por meio da comunicação direta e descentralizada entre os sistemas envolvidos e inclui, entre outras coisas, a troca de informações, ciclos de processamento e espaço de armazenamento em disco. 99 O tempo e o esforço para desenvolver um sistema complexo levam os sistemas de grande porte a serem projetados para uma duração longa. Tais sistemas possuem hardware, software processos e procedimentos legados e as decisões por mantê-los muitas vezes se deve ao alto risco em substituí-los.
Solução: A representação das estruturas que definem um software, abrangendo seus componentes e suas características, é chamada de arquitetura de software. Essa arquitetura proporciona, dentre outros benefícios, a redução dos riscos associados à produção de um sistema de computador. Um componente de software pode ser tanto uma classe orientada a objetos quanto um middleware de comunicação entre clientes. A organização de um sistema reflete a estratégia básica usada para estruturá-lo e as decisões sobre o modelo geral organizacional de um sistema devem ser tomadas com antecedência, durante o processo de projeto de arquitetura. Existem diversos estilos arquiteturais que podem servir como modelos. A arquitetura cliente-servidor é um modelo que separa clientes e servidores. Serviços específicos são oferecidos pelos servidores para que outros subsistemas (clientes) possam
Página 35 de 72 www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 11 – Edição 1
usufruir de suas funcionalidades. Os principais componentes deste modelo são os servidores, os clientes e a infraestrutura de rede que os interliga. Essa arquitetura divide os papéis de cada componente de forma bem definida. Os servidores são elementos passivos no processo de comunicação, aguardando alguma solicitação dos clientes para oferecerem seus serviços. Em geral, a carga de processamento nos clientes é baixa, restringindo-se a exibir adequadamente os resultados obtidos. Numa elaboração em três camadas, é possível dividir as tarefas entre uma camada de apresentação (clientes), uma camada de negócio (servidores de aplicação) e uma camada de dados (servidores de banco de dados). A camada de apresentação interage diretamente com o usuário do sistema, permitindo, dentre outras atividades, a execução de consultas. As funcionalidades do sistema (regras de negócio) são oferecidas pela camada de negócio, responsável pela lógica da aplicação. Por fim, a camada de dados responsabiliza-se pela persistência das informações, armazenando adequadamente os dados manipulados pelo sistema. É possível basear o desenvolvimento de sistemas considerando o seu fluxo de trabalho característico. A arquitetura workflow está relacionada com a automação de procedimentos onde documentos, informações ou mesmo tarefas são encaminhadas entre diversos “participantes” (pessoas, setores, sistemas, etc.) obedecendo um conjunto de regras prédefinidas para atingir um objetivo global. Um Sistema de Gerenciamento de Workflow é aquele que proporciona a automação dos processos de negócio através do gerenciamento da sequência de atividades de trabalho e da solicitação apropriada de recursos humanos e/ou tecnológicos associados com as várias etapas das atividades. Tais sistemas são modelos dinâmicos, interpretados em “tempo de execução”, e capturam tanto o fluxo de controle quanto o fluxo de dados. A Arquitetura Orientada a Serviços (SOA – Service-Oriented Architecture) propõe a interoperabilidade entre sistemas por meio de interfaces de serviços (fracamente acoplados), sem necessidade do conhecimento de detalhes técnicos das plataformas envolvidas para efetuar a troca de informações. A ideia-chave deste modelo é a integração entre as “áreas de negócio” e o “setores tecnológicos” através dos componentes (serviços) oferecidos pelos sistemas. Tecnologicamente, SOA pode ser entendida como uma coleção de serviços distribuídos, coesos e fracamente acoplados uns aos outros. Conceitualmente, esta arquitetura é composta por um provedor de serviços (service provider), responsável por publicar uma descrição formal dos serviços; por um consumidor de serviços (service consumer), o usuário propriamente dito do serviço; por um registro de serviços (service resgistry), um cadastro de serviços; e por um “corretor de serviços” (service broker), cuja responsabilidade é manter o registro de serviços, intermediando interações. SOA não traz em si tão somente uma motivação tecnológica. A grande motivação para utilização de SOA é pelo valor que agrega à área de negócios. Em sua concepção, possibilita o aumento na velocidade de implementação das mudanças, facilitando as conexões de negócios e melhorando o controle destes mesmos negócios. Um estilo arquitetural que permeia diversos outros é aquele conhecido por arquitetura
Página 36 de 72 www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 11 – Edição 1
distribuída, caracterizado, principalmente, pelo compartilhamento de recursos computacionais. Em um sistema distribuído, as informações em fase de processamento são distribuídas por vários computadores. Esta arquitetura permite o compartilhamento de recurso de hardware e software associados a diferentes computadores em uma rede. Pela possibilidade de adição de recursos para atender novas demandas, garante-se a escalabilidade dos sistemas distribuídos. Além disso, a tolerância a falhas é favorecida, na medida em que múltiplos servidores podem oferecer simultaneamente as mesmas funcionalidades aos clientes. 94 e 95 CERTOS Tanto a assertiva 94 quanto a 95 estão corretas ao expor os conceitos das arquiteturas cliente-servidor de duas e de três camadas, respectivamente. Nestas arquiteturas, as funcionalidades de SGBD são distribuídas entre as camadas com o intuito de definir adequadamente os papéis de cada elemento envolvido no processo. O cliente é responsável por efetuar consultas, exercendo o mesmo papel em ambas as arquiteturas. O dúvida por parte do candidato poderia surgir ao avaliar o papel do servidor de aplicação (camada de negócio). Deve-se, contudo, atentar para o fato de que as transações globais precisam ser “acompanhadas” por esta camada, pois ela será responsável por informar eventuais falhas aos usuários (que não se comunicam diretamente com as bases de dados). 96 CERTO Esta assertiva apresenta corretamente os conceitos relativos à arquitetura workflow, valorizando a informação de “eficiência” agregada pelo uso deste modelo de desenvolvimento. 97 ERRADO Esta questão, que apresenta conceitos sobre a Arquitetura Orientada a Serviços (SOA), põe em discussão um assunto divergente entre os estudiosos ao abordar o aspecto “custo”. Apesar da possibilidade de integração de bases de dados distintas, inclusive considerando sistemas legados, a reusabilidade é a característica associada à economia de recursos durante o desenvolvimento direcionado pela SOA. Além disso, a integração preconizada por essa arquitetura refere-se, em sua essência, às áreas de negócio e de tecnologia, geralmente separadas pelos contextos de trabalho distintos. Adicionalmente, a interoperabilidade está mais relacionada à troca de informações independentemente de plataformas do que à aquisição de produtos junto a fornecedores. Assim, a questão 97 deve ser considerada errada. 98 CERTO Este item está correto, expondo adequadamente alguns conceitos referentes à Arquitetura Distribuída.
Página 37 de 72 www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 11 – Edição 1
99 CERTO A substituição de sistemas de grande porte é uma tarefa extremamente arriscada para a continuidade das atividades de uma empresa. As chances de panes, incongruências de dados e períodos longos sem uso do sistema são proporcionais à complexidade do software utilizado. Evidentemente, sistemas complexos (em termos de hardware, software, processos e procedimentos, dentre outros) devem ser projetados para durar bastante tempo, evitando desgastes entre o setor tecnológico e as áreas de negócio de uma empresa. A assertiva 99 está correta ao expor a teoria envolvendo sistemas de grande porte.
Página 38 de 72 www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 11 – Edição 1
12. Assuntos relacionados: XML, HTML, Data Warehouse, Data Mining, OLAP, Online Transaction Processing (OLTP), Sistemas de Apoio a Decisão, Banca: Cespe Instituição: IPEA Cargo: Analista de Sistemas - Suporte de Processos de Negócios Ano: 2008 Questão: 115–120 Com o desenvolvimento das tecnologias da informação foi possível realizar a comunicação multi-plataformas aumentando a complexidade do controle dos dados operacionais. Relativos a arquitetura e tecnologias de sistemas de informação, julgue os itens a seguir. 115 O modelo XML (extended markup language) usa estruturas de árvores hierárquicas, combina conceitos de banco de dados com os de modelos de representação de documentos. 116 As aplicações para a WEB podem utilizar arquiteturas de três camadas, com uma camada intermediária entre o cliente e o servidor de banco de dados. Tal camada é denominada servidor de canal e armazena as regras de negócio usadas para acessar os dados do banco de dados. 117 Um datawarehouse armazena informações oriundas de muitas fontes em um único banco de dados. Os sistemas de OLTP (online transaction processing) devem suportar um grande número de transações simultâneas sem gerar retardos excessivos, uma vez que buscam um melhor desempenho. 118 Metadados são dados que descrevem outros dados. A partir de sua adequada definição, o ETL possibilita a carga do datawarehouse a partir de um drill down nos dados. 119 Sistemas de apoio à decisão são aplicações com base em software que utilizam modelos de bancos de dados e técnicas analíticas para responder a problemas pouco estruturados. Utiliza modelos estruturados para resolver problemas complexos. 120 DataMining permite explorar e inferir informação útil a partir de grandes bancos de dados para descobrir relações ocultas entre os dados. Uma das formas é o KDD (knowledge discovery in databases) que utiliza técnicas de inteligência artificial e processadores de texto.
Solução: 115 CERTO XML (extended markup language) é uma linguagem de marcação mantida pelo W3C (World Wide Web Consortium). Antes de falar sobre XML em si, é conveniente uma breve discussão sobre o que vem a ser uma linguagem de marcação. Linguagens de marcação são conjuntos de tags (marcas) que tem como função agregar informação a um texto. Tal informação pode ser de vários tipos e isso depende do propósito que se deseja atingir com a linguagem. O exemplo mais famoso desse tipo de linguagem é talvez o HTML (HyperText Markup Language). Em HTML as marcas tem como objetivo definir como o texto será mostrado no navegador, quando o usuário acessa uma página:
Página 39 de 72 www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 11 – Edição 1
<html> <body> <h1>Um Título</h1> <p>Um parágrafo.</p> </body> </html> No exemplo de código HTML acima, a marca <html> indica o início do documento html e a marca </html> indica seu fim. Isso é um padrão: toda marca é definida por um par do tipo <marca>, </marca> que indicam respectivamente o início e o fim da marca. A marca <body> indica o corpo do html. Apenas o que está em seu interior é exibido para o usuário. A marca <h1> informa que “Um Título” deve ser exibido na forma de um título. Por último, a marca <p> indica que “Um parágrafo” deve ser exibido como um novo parágrafo. Dessa forma, a função de um navegador de internet é simplesmente ler as marcas de um documento html e exibir os dados contidos com a aparência que as marcas determinam. Isso é possível porque HTML define um conjunto padrão de marcas, de objetivos bem definidos. Diferente de HTML, que se preocupa com a aparência dos dados, em XML o objetivo é com a forma como os dados são estruturados. Como o próprio W3C diz, XML foi projetada para transportar e guardar dados enquanto HTML foi projetada para visualizar os dados. Em XML não existem marcas pré-definidas. O autor do documento é quem define as marcas, assim como seu significado. Por exemplo: <agenda> <contato> <nome>Maria</nome> <tel>5555555</tel> </contato> <contato> <nome>João</nome> <tel>5555554</tel> </contato> </agenda> O exemplo acima é a representação em XML de uma agenda simples. Todas as marcas presentes são criação deste autor e não são, de forma alguma, definidas pelo padrão XML. Como o leitor pode perceber, o significado das marcas é auto-explicativo: a marca <agenda> define a agenda em si, enquanto a marca <contato> indica que o dado a seguir é o de um contato da agenda. Essa liberdade de criação de marcas permite que os dados sejam armazenados de forma a serem entendidos facilmente, sem a necessidade de se adicionar comentários. Ainda no exemplo acima, uma coisa importante deve ser observada: a hierarquia dos dados. Uma marca <agenda> é formada por vários filhos do tipo <contato>. Essa hierarquia demonstra uma das bases do formato XML. Todo documento XML é formado por uma raiz única, formada de um ou mais filhos, usando o conceito básico de árvores:
Página 40 de 72 www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 11 – Edição 1
<raiz> <filho> <sub-filho>.....</sub-filho> </filho> </raiz> A vantagem do padrão XML é prover uma padronização no que diz sentido ao armazenamento de dados. Por exemplo, o desenvolvedor de uma aplicação pode definir um tipo de arquivo através da criação de conjunto de marcas tendo como base o padrão XML. Para que outras aplicações possam ler tal arquivo, basta que essas possuam um leitor que interprete as marcas definidas. Devido a forma hierárquica do XML, a criação de tais leitores é simplificada. Dessa forma, a adoção do padrão XML facilita a troca e transporte de dados entre diferentes plataformas e aplicações. 116 ERRADO Como diz o enunciado, o modelo de 3 camadas consiste realmente em uma camada intermediária que contém a lógica de negócio necessária para que a camada cliente acesse a camada servidora. Entretanto, tal camada é chamada de “servidor de aplicação” ou “camada de lógica de negócios”:
Figura 7: representação do modelo de 3 camadas. Como se pode observar na Figura 7, as máquinas clientes (Desktop) não tem acesso direto à máquina servidora de dados. O acesso é feito através de um servidor de aplicação, que se responsabiliza em obter os dados e repassá-los aos clientes. A ideia é que tal servidor de aplicação exponha uma interface comum, que pode ser acessada por máquinas com diferentes plataformas instaladas. Como vantagem, uma mudança no servidor de dados implica na alteração apenas do servidor de aplicação, para que este possa acessar a nova interface do banco de dados. Como a interface do servidor de aplicação com as máquinas clientes não é alterada, essa últimas não necessitam ser reinstaladas. Isso facilita a manutenção, uma vez que o número de servidores de aplicação e banco de dados é bem menor do que o número de clientes. O modelo de 3 camadas surgiu como uma solução para o problema de manutenção e escalabilidade presentes no modelo clássico de cliente-servidor (2 camadas). Nessa
Página 41 de 72 www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 11 – Edição 1
arquitetura, um cliente tinha acesso direto ao servidor e toda a lógica de acesso aos dados estava implementada em cada cliente. Assim, uma alteração no servidor obrigava a reinstalação de várias máquinas. Outro problema é que, como cada cliente acessa a máquina servidora de dados, o número de conexões que essa última deve gerenciar é alto. A Figura 8 mostra o esquema de uma arquitetura em 2 camadas:
Figura 8: representação do modelo de 2 camadas. 117 CERTO Como o enunciado da questão diz, um Data Warehouse é um banco de dados formado a partir da coleta de dados em vários outros bancos de dados. Seu objetivo principal é facilitar o acesso a dados que permitam às organizações fazerem análise e planejamento. Para entender melhor o conceito de data warehouse, é conveniente citar em que contexto esse surgiu. Na maioria das organizações, as informações são guardadas em diferentes bancos de dados, dependendo da função que aquelas desempenham. Por exemplo, uma empresa de vendas pode possuir dois bancos de dados: um para armazenar informações referentes a vendas realizadas, como quem realizou determinada venda e o que foi vendido; e outro para armazenar dados do departamento pessoal, como dados dos empregados da empresa. Esse dois bancos de dados tem funções diferentes e, por conta disso, é justificável a existência dos dois em separado. A existência desses diversos bancos de dados facilita o trabalho de cada setor da empresa, uma vez que esse último não precisa se preocupar com aspectos de outro setor. Não seria esse o caso se, por exemplo, houvesse um único banco de dados. Entretanto, consultas como “quantos tempo de empresa tem em média os funcionários de melhor rendimento” podem se tornar bastante complexas, já que para esse tipo de consulta seria necessário acessar mais de um banco de dados. Nesse contexto, o data warehouse provê um conjunto de ferramentas que permitem realizar esse tipo de consulta de forma mais simples. Tais ferramentas são respon-
Página 42 de 72 www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 11 – Edição 1
sáveis por extrair, transformar e carregar dos dados. Devido aos diferentes funções dos bancos de dados envolvidos, nem sempre é fácil extrair a informação necessária. Como soluções, são criados novos bancos de dados onde tais informações sejam mais facilmente obtidas. Outra função do data warehouse é padronizar a forma como uma mesma informação é armazenada nos diferentes bancos de dados. Por exemplo, enquanto um determinado banco de dados guarda a informação de sexo como simplesmente M ou F, outro banco pode guardar esse mesma informação como Masculino ou Feminino. O data warehouse deve então ser capaz de entender essas diferentes representações e fornecer um modo comum de consultas. Dessa forma, o data warehouse também facilita no transporte de dados de diferentes plataformas e bancos de dados. Outro aspecto importante de um data warehouse é que as consultas devem ser processadas o mais rápido possível. Nesse sentido, sistemas de OLTP são usados para garantir que o data warehouse consiga acessar rapidamente os diferentes bancos de dados associados. OLTP significa Online Transaction Processing, ou em português, sistema de processamento de transações em tempo real. Um exemplo de sistema desse tipo é o de transações bancárias, onde as operações devem ser realizadas com tempo de retardo mínimo e com segurança.
Figura 9: exemplo de sistema OLTP. 118 ERRADO Aqui existem três novos conceitos que precisam ser explicados para o bom entendimento dessa questão: metadados, ETL e drill down.
Página 43 de 72 www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 11 – Edição 1
Metadados são dados que tem como função descrever outros dados. Por exemplo, no código xml da questão 115, a marca <nome> é um metadado que informa que “Maria” e “João” são nomes de pessoas. Em um data warehouse, a existência de um repositório de metadados é muito importante para o bom funcionamento do mesmo. É através desse repositório que ferramentas de extração podem obter informações como o nome do dado e sua origem; que ferramentas de transformação podem obter regras de transformação do dado; e que ferramentas de carregamento podem obter qual o formato em que o dado está armazenado. Outros exemplos de metadados que podem estar presentes em uma base de dados são informações sobre histórico de atualizações, sobre quem é responsável pelo dado e quem pode obter acesso ao mesmo. ETL, do inglês Extrair, Transformar e Carregar (Extract, Transform and Load), é um conjunto de ferramentas responsáveis justamente por essas operações. Como foi dito no parágrafo anterior, essas ferramentas dependem da existência de um repositório de metadados bem estruturado para que seus objetivos possam ser cumpridos com eficiência. O erro da questão está em dizer que a carga do data warehouse é feita através de um drill down dos dados. Um processo de drill possibilita a visualização dos dados em diversos níveis de detalhamento. Nesse tipo de processo, é possível aumentar (drill down) ou diminuir (drill up) o nível de detalhes dos dados. Essa operações são úteis no momento em que consultas são feitas ao data warehouse, e não no momento em que o data warehouse está sendo carregado. 119 ERRADO Um SAD (Sistema de Apoio a Decisões) é um sistema que tem por objetivo fornecer informações que permitam auxiliar na tomada de decisões. Entretanto, o trabalho realizado por um SAD não é apenas fornecer informações que estejam armazenadas em um banco de dados. Mais do que isso, um SAD também deve ser capaz de analisar diferentes situações, podendo inclusive usar de simulações e de processamento analítico on-line (OLAP – OnLine Analytical Processing) em conjunto com data warehouses. Ao contrário do que diz o enunciado da questão, a função de um SAD não é dar uma solução acabada para um problema, mas sim dar o suporte necessário para que tal problema possa ser resolvido. 120 ERRADO A definição de Data Mining (Mineração de Dados) e KDD (Knowledge Discovery in Databases) é praticamente a mesma: um processo automatizado para achar padrões e relações em grandes quantidades de dados. Um caso muito famoso onde tais processos foram utilizados é o da rede de supermercados Wall Mart: descobriu-se que o aumento da vendas de fraldas descartáveis vinha sempre acompanhado de um aumento nas vendas de cerveja. A explicação é que, ao comprarem fraldas, os pais aproveitavam para comprar cerveja. No exemplo anterior é possível notar bem uma das características dessas técnicas:
Página 44 de 72 www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 11 – Edição 1
a capacidade de achar relações, regras ou padrões que não são óbvias e, por conta disso, não estão acessíveis imediatamente na base de dados. Essas informações “ocultas” tem tomado cada vez mais importância entre as empresas. A descoberta de um determinado padrão de consumo, por exemplo, pode influenciar muito no planejamento de uma empresa. Ainda, com a concorrência cada vez mais acirrada do mercado, a descoberta desse tipo de informação pode significar a diferença entre estar em primeiro ou segundo lugar. Apesar de terem o mesmo objetivo, as técnicas de Data Mining KDD diferem entre si com relação ao tipo de dado que é analisado: data mining tem como foco analisar dados estruturados como, por exemplo, aqueles provenientes de grandes bancos de dados. Já KDD tem uma aplicação mais ampla: é possível analisar dados não estruturados como arquivos de texto ou mesmo páginas html. Basicamente, o processo realizado pelo KDD envolve uma etapa inicial de seleção dos dados, seguida por uma transformação que culmina justamente em um conjunto de dados estruturados. A partir desse ponto, algoritmos de data mining podem então ser aplicados. Dessa forma, poderia se dizer que data mining é uma etapa do KDD, e não o contrário, como afirma o enunciado da questão.
Página 45 de 72 www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 11 – Edição 1
13. Assuntos relacionados: Gerência de Projeto, PMBOK, Gerência de Escopo, Gerência de Custos, PERT, Gerenciamento de Riscos, Banca: Cespe Instituição: IPEA Cargo: Analista de Sistemas - Suporte de Processos de Negócios Ano: 2008 Questão: 52, 53, 54, 56, 57 e 58 Projetos são frequentemente implementados como meios de realizar o plano estratégico da organização. Serviços continuados e projetos diferem principalmente porque enquanto os primeiros são contínuos e repetitivos, os projetos são temporários e únicos e a eles está associado um certo grau de incerteza. PMBOK (com adaptações). A partir do texto e com relação a práticas de gerenciamento de projetos, julgue os itens a seguir. 52 Na gerência do escopo, busca-se assegurar que o projeto inclua todo o trabalho necessário para complementar de forma bem-sucedida o projeto. O escopo do projeto é mensurado contra os requisitos do projeto e o escopo do produto é mensurado contra o plano de projeto. 53 Os diagramas de rede do projeto ou gráficos de PERT, são um esquema de apresentação das atividades do projeto e dos relacionamentos lógicos entre eles. Os riscos identificados de alta probabilidade ou impacto podem ser considerados entradas para a estimativa da duração das atividades e incorporados à baseline de duração de cada atividade. 54 As estimativas de custo são avaliações quantitativas dos prováveis custos dos recursos requeridos para a implementação das atividades do projeto. O baseline de custo é o orçamento que será utilizado para medir e monitorar o desempenho dos custos do projeto apenas na fase final do ciclo de vida do projeto. 56 Planejamento da qualidade consiste em avaliar, periodicamente, o desempenho geral do projeto para que sejam satisfeitos os padrões de qualidade relevantes. 57 O gerenciamento dos riscos é atividade que busca maximizar a probabilidade e consequência de eventos adversos aos objetivos do projeto e minimizar a probabilidade e consequência de eventos positivos. 58 O gerenciamento quantitativo do risco utiliza técnicas diversas como a árvore de decisão, a qual indica qual decisão produz o maior valor esperado para o tomador de decisão. Ela incorpora as probabilidades dos riscos e o custo ou ganho de cada caminho lógico de eventos e decisões futuras.
Solução: 52 ERRADO Gerência de Escopo é conjunto de processos necessários para garantir que o projeto em questão inclua todo o trabalho necessário e apenas o trabalho necessário para completar de forma bem sucedida o mesmo. O foco é definir o que está presente ou não no projeto. Os processos envolvidos na gerência de escopo são: coletar os requisitos, definir o
Página 46 de 72 www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 11 – Edição 1
escopo, criar o Work Breakdown Structure (WBS ou EAP), verificação de escopo e controlar alterações no escopo. O principal produto do processo de definir os requisitos é a Declaração do Escopo, que possui no mínimo os seguintes componentes: Escopo do produto, critérios de aceitação de produtos, entregas de produtos, exclusões do projeto, restrições do projeto e premissas do projeto. O escopo do projeto difere-se do escopo do produto na medida em que o primeiro define o trabalho necessário para fazer o produto, e o segundo define os recursos (atributos e comportamentos) do produto. 53 CERTO PERT ( Project Evaluation and Review Technique) é uma técnica baseada em redes para auxílio no planejamento e agendamento de muitas tarefas inter-relacionadas em grandes e complexos projetos. É utilizada por gerentes de projeto para analisar e representar tarefas envolvidas em um determinado projeto e para descobrir gargalos e o tempo mínimo para a conclusão do mesmo. Esse método utiliza uma representação baseada em rede para identificar relações de precedência ou paralelismo entre as tarefas. Em um projeto, uma atividade é uma tarefa que precisa ser realizada e é representada no diagrama por um arco. Eventos são representados por círculos que são ligados pelos arcos. Arcos chegando em um círculo representam as atividades necessárias para concluir tal evento, e as atividades representadas pelos arcos que saem, só podem ser iniciadas quando todas as que chegam são finalizadas. Assim, é criada uma rede de dependência entre as atividades, mas permitindo que certas atividades possam ocorrer em paralelo. O diagrama de PERT pode ter várias páginas com outras várias sub-tarefas.
Figura 10: exemplo de diagrama de PERT. O planejamento utilizando essa técnica envolve os seguintes passos: 1. identificar as atividades e as milestones. Milestones são eventos que marcam o início e término de uma ou mais atividades; 2. determinar a sequência correta dos eventos;
Página 47 de 72 www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 11 – Edição 1
3. construir o diagrama de redes; 4. estimar o tempo requerido para cada atividade; 5. determinar o caminho crítico. O caminho crítico é o caminho mais longo no diagrama do projeto, ele é determinado a partir da soma dos tempos de todas as atividades; 6. durante o progresso do projeto atualizar o diagrama. O PERT se destaca pela habilidade de lidar com imprecisões no tempo para executar uma tarefa. Essa característica permite considerar riscos na hora de estimar o tempo de cada atividade, possibilitando que se consiga ter uma visão mais real da duração do processo. A técnica PERT também disponibiliza meios para calcular a variação de tempo na execução de cada atividade, utilizando tempos de desvio padrão. É comum utilizar para isso três medidas: o tempo ótimo, o tempo mais provável de se terminar a tarefa e o tempo pessimista. 54 ERRADO A gerência de custos objetiva fazer a elaboração e o controle do orçamento do projeto. Com esse intuito são previstos recursos a serem utilizados, o tempo de utilização dos mesmos, seus valores e as receitas do projeto. No início do projeto poucas informações estão disponíveis, então é feito um orçamento inicial para o Plano de Gerenciamento do Projeto e de acordo com a obtenção de mais informações, o mesmo deve ser refinado. Além disso, cada revisão no cronograma ou no esforço deve ser acompanhada por uma revisão do orçamento. Segundo o guia de gerenciamento de projetos PMBoK (Project Management Body of Knowledge) a gerência de custo é composta por 3 processos: – Estimativa de custos: identifica-se os componentes de custo e determina-se para cada um, seu custo unitário (compra ou utilização), quantidade necessária e custo total para o projeto; – Determinação do orçamento: baseado nos valores adquiridos no passo um, criase um orçamento do projeto que será o baseline dos custos na medição de desempenho do mesmo. Assim, o Baseline dos Custos é o orçamento referencial que será utilizado para medir e monitorar o desempenho dos custos do projeto. É desenvolvido através da totalização das estimativas de custos por período; – Controle de custos: identifica-se e documenta-se as razões de variações no orçamento e adequa-se o mesmo de acordo com a necessidade. Dessa forma, desvios são identificados, orçamento alterado e situações de risco reportadas. 56 ERRADO O planejamento da qualidade é apenas um dos processos da gerência da qualidade de um projeto. A qualidade do projeto é controlada por diversas ações ligadas à aplicação de métodos, técnicas, revisões técnicas, testes e controle de alterações. A gerência de qualidade possui os processos para garantir que o projeto irá satisfazer as necessidades para o qual ele foi criado para atender. É criado um Plano da Qualidade do Projeto, o qual consiste nos procedimentos e nas diretrizes dos mesmos para garantir a qualidade do projeto. A gerência de qualidade consiste em 3 processos:
Página 48 de 72 www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 11 – Edição 1
– Planejamento da Qualidade: onde se identifica que padrões de qualidade são relevantes e o modo como atendê-los. Para identificar os padrões, podem ser utilizados métodos como Benchmarkig e Fluxogramação; – Garantia da Qualidade: aplicação de atividades de qualidade planejadas, de forma sistêmica, para garantir que todos os processos necessários para atender os objetivos estão sendo realizados. Verifica se suas medidas de qualidade ainda são adequadas. Utiliza-se a realização de auditorias; – Controle da Qualidade: monitoramento dos resultados do projeto para averiguar se os mesmos estão de acordo com os padrões de qualidade especificados e descobrir formas de eliminar as razões dos resultados insatisfatórios. Gráfico de controle e Diagrama de Pareto são métodos de apoio para o controle da qualidade. 57 ERRADO O gerenciamento de risco tem como objetivo justamente o contrário da afirmativa da questão. Ele tem por função garantir que os objetivos tenham mais probabilidade de serem alcançados, eliminar ou pelo menos minimizar ao máximo a probabilidade de que situações danosas ao projeto ocorram e que as benéficas aconteçam ou que pelo menos tenham probabilidade maximizada de ocorrer. É um processo formal usado para identificar os riscos e oportunidades, estimando-se potenciais impactos decorrentes e fornecer ações para responder a esses impactos, reduzindo as ameaças até um nível aceitável ou com o intuito de alcançar as oportunidades. Segundo o PMBok, há 6 processos para a Gerência de Riscos: – Planejamento de Gerência de Riscos: define-se a abordagem adotada na gerência de riscos do projeto; – Identificação dos Riscos: identificação, descrição e classificação dos riscos envolvidos no projeto; – Análise Qualitativa dos Riscos: analisa a probabilidade de ocorrência de riscos e seus impactos sobre o projeto; – Análise Quantitativa dos Riscos: analisa a probabilidade de ocorrência de riscos e seus impactos sobre o projeto de forma numérica; – Planejamento das Respostas de Riscos: determina quais ações a serem tomadas para reduzir a as ameaças aos objetivos; – Monitoramento e Controle de Riscos: garante a execução do plano de riscos definido, identifica novos riscos, monitora riscos residuais e realiza ajustes, se necessário. 58 CERTO O Gerenciamento quantitativo de riscos é de suma importância para analisar de forma numérica os efeitos dos riscos identificados no projeto. Como dito pela questão, ele utiliza diversas técnicas como: – Análise da árvore de decisão: consiste em avaliar os caminhos decorrentes a cada decisão que envolva riscos, analisando os valores associados aos mesmos, afim de tomar a melhor decisão para o projeto. Normalmente utiliza-se um diagrama, que representa a árvore de decisão, que descreve uma consideração feita e a implicação de cada um das escolhas possíveis e cenários disponíveis. Para cada escolha possível existe um valor atribuído, para os cenários há as probabilidades e de cada caminho lógico alternativo o retorno;
Página 49 de 72 www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 11 – Edição 1
– Análise de sensibilidade: analisa a influencia e impacto da incerteza de cada elemento sobre o objetivo que está sendo analisado. Para isso fixa-se todos os outros elementos em sua baseline; – Simulação: a simulação utiliza um modelo que traduz em um nível detalhado as incertezas do projeto e tem como fim analisar impactos potenciais das mesmas aos objetivos do projeto. Consiste em “executar” o modelo do projeto várias vezes para obter uma distribuição estatística, utilizando como entrada valores provenientes de uma função de distribuição de probabilidades. Ex: distribuição normal, triangular, beta e técnica de Monte Carlo.
Figura 11: exemplo de árvore de decisão.
Página 50 de 72 www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 11 – Edição 1
14. Assuntos relacionados: Análise Combinatória, Combinação Simples, Banca: Cespe Instituição: Petrobras Cargo: Analista de Sistemas Júnior - Processos de Negócio Ano: 2007 Questão: 51–52 A PETROBRAS patrocina eventos esportivos como a Stock Car, a Fórmula Truck, o Team Scud PETROBRAS de Motovelocidade, o Rally dos Sertões, a equipe PETROBRAS Lubrax e também o Clube de Regatas Flamengo. De acordo com essas informações, julgue os itens a seguir. 51 Se a PETROBRAS decidisse cortar aleatoriamente dois dos seis patrocínios acima citados, então, a quantidade de possibilidades de cortes seria superior a 350. 52 Considere que cada atleta do Clube de Regatas Flamengo possua, para momentos oficiais do clube, 8 uniformes completos — conjunto de elementos de vestuário —, cujos elementos não podem ser trocados de um uniforme para outro, e, para momentos não-oficiais do clube, 5 calças e 3 agasalhos distintos, que podem ser combinados. Nessa situação, cada atleta possui um total de 23 maneiras distintas de se vestir para os momentos oficiais e não-oficiais do clube.
Solução: 51 ERRADO Sendo 6 patrocínios e dois cortes, temos um situação em que seleciona-se dois elementos do conjunto de 6. A ordem não faz diferença no conjunto, ou seja, cortar o patrocínio do Flamengo e a Equipe Petrobras Lubrax ou cortar a Equipe Petrobras Lubrax e o Flamengo correspondem a uma mesma ação nesse contexto. Sendo assim, temos um problema de combinação. Logo, o número de combinações é dado por:
6 2
=
6! 2!∗4!
=
6∗5∗4! 2!∗4!
=
30 2
= 15.
Dessa forma, apenas 15 conjuntos são possíveis. A questão está errada. 52 CERTO Para momentos oficiais, os atletas possuem 8 uniformes completos não permutáveis (sem troca). Além disso, para momentos não oficiais, eles possuem 5 calças e 3 agasalhos, os quais podem ser combinados. Assim, temos: No de opções para vestir = 8 (não modificáveis) + 5 * 3 ( calças X agasalhos) = 23 opções. Logo, a questão está correta. Observe a árvore de possibilidades da Figura 12.
Página 51 de 72 www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Figura 12: árvore de possibilidades.
Página 52 de 72 www.handbookdeti.com.br
Volume 11 – Edição 1
Handbook de Questões de TI Comentadas para Concursos
Volume 11 – Edição 1
15. Assuntos relacionados: Lógica, Proposição Funcional, Banca: Cespe Instituição: Petrobras Cargo: Analista de Sistemas Júnior - Processos de Negócio Ano: 2007 Questão: 53 e 55 Uma proposição é uma afirmação que pode ser julgada como verdadeira (V) ou falsa (F), mas não como ambas. As proposições são simbolizadas por letras maiúsculas do alfabeto, como A, B, C etc., que podem ser conectadas por símbolos lógicos. A expressão A → B é uma proposição lida como “A implica B”, ou “A somente se B”, ou “A é condição suficiente para B”, ou “B é condição necessária para A”, entre outras. A valoração de A → B é F quando A é V e B é F, e nos demais casos é V. A expressão ¬A é uma proposição lida como “não A” e tem valoração V quando A é F, e tem valoração F quando A é V. Uma sequência de 3 proposições da forma A, A → B, B constitui um argumento válido porque sempre que A e A6B, chamadas premissas, tiverem valorações V, então a valoração de B, chamada conclusão, será obrigatoriamente V. A partir das informações do texto acima, julgue os itens a seguir. 53 A proposição “O piloto vencerá a corrida somente se o carro estiver bem preparado” pode ser corretamente lida como “O carro estar bem preparado é condição necessária para que o piloto vença a corrida”. 55 Simbolizando-se adequadamente, é correto concluir que a sequência formada pelas três proposições abaixo constitui um argumento válido. Premissas: 1. A PETROBRAS patrocinar o Comitê Olímpico Brasileiro (COB) é condição suficiente para que o COB promova maior número de eventos esportivos. 2. O COB promove maior número de eventos esportivos. Conclusão: 3. A PETROBRAS patrocina o COB.
Solução: 53 CERTO Seguindo a definição apresentada, A → B pode ser lida com “A é condição suficiente para B” ou “B é condição necessária para A”. No exemplo, pode-se considerar que B = “O carro está bem preparado” e A = “O piloto vence a corrida”. Assim, a leitura pode ser feita da seguinte maneira: “O carro está bem preparado é condição necessário para que O piloto vença a corrida”. A resposta está correta. Observe que não é analisado o valor lógico da afirmação e sim a sintaxe e semântica.
Página 53 de 72 www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 11 – Edição 1
55 ERRADO patrocina(petrobras, COB) → promovee ventos(COB) promovee ventos(COB) Nesse caso, as proposições são inconclusivas, pois, elas não se encaixam na regra de inferência Modus Ponens e Modus Tollens. Logo, a questão está errada.
Página 54 de 72 www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 11 – Edição 1
16. Assuntos relacionados: Lógica, Proposição Funcional, Banca: Cespe Instituição: Petrobras Cargo: Analista de Sistemas Júnior - Processos de Negócio Ano: 2007 Questão: 56, 57, 59 e 60 Uma proposição funcional simbólica é uma expressão que contém variáveis x, y, z, ... e predicados P, Q, R, ..., que dizem respeito às variáveis, e pode ou não conter os símbolos quantificadores denotados por ∀ (para todo) e ∃ (existe) que atuam sobre as variáveis. Uma proposição funcional pode ser julgada como verdadeira (V) ou falsa (F), dependendo do conjunto de valores que são atribuídos às variáveis e à interpretação dada aos predicados. Proposições funcionais são expressões, por exemplo, do tipo (∀x)P (x), (∃y)Q(y), (∀x)(∃y) P (x, y) etc. Algumas proposições não têm variáveis e são representadas por letras maiúsculas do alfabeto, como, por exemplo, A, B e C, que podem ser conectadas por símbolos lógicos, formando proposições compostas. São exemplos de proposições compostas as seguintes expressões: A ∧ B, que é lida como “A e B” e tem valoração V quando A é V e B é V e, nos demais casos, é F; ¬A, que é lida como “não A” e tem valoração V quando A é F, e tem valoração F quando A é V; A ∨ B, que é lida como “A ou B” e tem valoração F quando A é F e B é F e, nos demais casos, é V; A → B, que é lida como “se A então B” e tem valoração de F quando A é V e B é F e, nos demais casos, é V. Uma dedução é uma sequência finita de proposições, em que algumas das proposições são assumidas como verdadeiras e, a partir delas, a sequência é acrescida de novas proposições sempre verdadeiras. A última proposição que se acrescenta é chamada conclusão. A partir das informações acima, julgue os itens a seguir. 56 Se as variáveis x e y pertencem ao conjunto A = {2, 3, 4} e o predicado P (x, y) é interpretado como x2 ≤ y +2, então a proposição funcional (∃x)(∀y)P (x, y) é avaliada como verdadeira. 57 Admitindo-se que as proposições funcionais Nenhuma mulher é piloto de fórmula 1 e Alguma mulher é presidente sejam ambas V, então é correto concluir que a proposição funcional Existe presidente que não é piloto de fórmula 1 tem valoração V. 59 Considere que duas gêmeas idênticas — Bella e Linda — tenham sido acusadas de se fazerem passar uma pela outra. Considere ainda que uma delas sempre minta e que a outra seja sempre honesta. Supondo que Bella tenha confessado: “Pelo menos uma de nós mente”, então está correto concluir que a gêmea honesta é Linda. 60 Considere que as seguintes proposições compostas a respeito de um programa de computador sejam todas V. – O programa tem uma variável não-declarada ou o programa possui erro sintático nas 4 últimas linhas. – Se o programa possui erro sintático nas 4 últimas linhas, então ou falta um pontoe-vírgula ou há uma variável escrita errada. – Não falta um ponto e vírgula. – Não há uma variável escrita errada.
Página 55 de 72 www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 11 – Edição 1
Simbolizando adequadamente essas proposições, é possível obter-se uma dedução cuja conclusão é a proposição: O programa não possui erro sintático nas 4 últimas linhas. Solução: 56 CERTO x, y ∈ A = {2, 3, 4} P (x, y) = x2 ≤ y + 2 ∃x∀yP (x, y)
Logo, devemos achar um y (2,3,4) que satisfaça P(x,y) para todo x (2,3,4). Assim: P (2, 2) = 4 ≤ 4 (V) P (2, 3) = 4 ≤ 5 (V) P (2, 4) = 4 ≤ 6 (V) Assim, X = 2 satisfaz a proposição funcional. A questão está correta. 57 CERTO 1: ¬∃x(piloto(x) ∧ mulher(x)) = ∀x(mulher(x) → ¬piloto(x)) 2: ∃x(presidente(x) ∧ mulher(x)) Deseja-se provar que ∃x(presidente(x) ∧ mulher(x)): Instanciando 2: (3) presidente(c) ∧ mulher(c) Separando 2: (4) presidente(c), (5) mulher(c) Sendo 1 uma relação universal: (6) mulher(c) → ¬piloto(c) Assim, usando a Modus Ponens: (6) mulher(c) → ¬piloto(c), (5) mulher(c), logo (7) ¬piloto(c) Agora juntando (7) ¬piloto(c) com (4) presidente(c), temos: (8) presidente(c)∧¬piloto(c) Assim, se existe c que torna válida a proposição, podemos colocar na forma de existência: ∃x(presidente(x) ∧ mulher(x)). Assim, a afirmação é verdadeira. comentario 59 ERRADO Sabendo que Bella ou Linda sempre mente ou sempre diz a verdade, e que Bella disse que “Pelo menos uma de nós mente.”, temos a seguinte proposição: ∃x(mente(x)), sendo que essa é verdadeira, visto que uma delas é mentirosa. Assim, Bella disse a verdade, dessa forma, ela não pode ser mentirosa, o que resta é que Linda é mentirosa. Assim, a afirmação da questão é falsa. Linda não é honesta.
Página 56 de 72 www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 11 – Edição 1
60 CERTO Tomando erro_sintatico_4_ui como erro sintático nas 4 últimas linhas, f alta_pv como falta ponto e vírgula e var_escr_err como variável escrita errada. 1: variavel_nao_declarada(programa) ∧ erro_sintatico_4_ui(programa) 2: erro_sintatico_4_ui(programa) → (f alta_pv(programa)∧var_escr_err(programa)) 3: ¬f alta_pv(programa) 4: ¬var_escr_err(programa) Se juntarmos 3 e 4, temos (5) ¬f alta_pv(programa) ∧ ¬var_escr_err(programa). Rearranjando, temos (6) ¬(f alta_pv(programa) ∧ var_escr_err(programa)). Usando a Modus Tollens 6 e 2, temos (7): ¬erro_sintatico_4_ui(programa) Assim, provamos que não há um erro nas 4 últimas linhas últimas linhas.
Página 57 de 72 www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos 17. Assuntos relacionados: Banco de Dados, SQL, Consulta SQL, Banca: Cespe Instituição: Petrobras Cargo: Analista de Sistemas Júnior - Processos de Negócio Ano: 2007 Questão: 66
Comando 1 select distinct Nome from Tipos_Artefatos, Artefatos where Codigo = Tipo and Tipo > 10 order by Nome; Comando 2 select t1.Nome, t2.Nome, t3.Nome from Projetos t1, Tipos_Artefatos t2, Desenvolvedores t3, Artefatos t4 where t1.Codigo = t4.Projeto
Página 58 de 72 www.handbookdeti.com.br
Volume 11 – Edição 1
Handbook de Questões de TI Comentadas para Concursos
Volume 11 – Edição 1
and t2.Codigo = t4.Tipo and t3.Matricula = t4.Desenvolvedor order by t1.Nome, t2.Nome, t2.Nome; Comando 3 select Nome, Especialidade from Desenvolvedores where Matricula in ( select Desenvolvedor from Artefatos group by Desenvolvedor having Sum(Duracao) > 2) order by Nome, Especialidade; Considerando as tabelas e os comandos SQL acima, julgue os próximos itens. 66 A execução do comando 1 produz o seguinte resultado. Modelo de analise Modelo de implementacao Modelo de projeto
Solução: 66 CERTO O comando 1 seleciona todos os elementos da coluna Nome da tabela Tipos_Artefatos, que sejam distintos, nos quais o código (mapeado como Tipo da tabela Artefatos) tenham valor maior que 10. O resultado está ordenado por Nome. Analisando a consulta temos: – os elementos Tipo válidos da tabela Artefatos são 20, 20, 30 e 40. Dessa forma, a seleção de nomes seria Modelo de analise, Modelo de analise, Modelo de projeto, Modelo de implementacao; – como a seleção é distinta, teríamos: Modelo de analise, Modelo de projeto, Modelo de implementacao; – o uso da ordenação torna o resultado final ordenado alfabeticamente (usando a tabela de codificação). Modelo de analise, Modelo de implementação, Modelo de projeto. Dessa forma, a questão está correta.
Página 59 de 72 www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 11 – Edição 1
18. Assuntos relacionados: Redes de Computadores, UDP, Reliable UDP (RUDP), Banca: Cespe Instituição: Petrobras Cargo: Analista de Sistemas Júnior - Processos de Negócio Ano: 2007 Questão: 74 Acerca dos conceitos e das tecnologias relacionadas à Internet, julgue os seguintes itens. 74 Em uma aplicação que use UDP, se for necessário saber se datagramas enviados foram corretamente recebidos nos destinos, a aplicação deverá conter código para esse fim, uma vez que o serviço de comunicação provido pelo UDP não garante que os datagramas enviados sejam entregues nos destinos.
Solução: 74 CERTO O protocolo UDP é um serviço da camada de transporte que não é direcionado a conexão e não garante que um pacote seja entregue e muito menos que pacotes sequenciais cheguem em ordem. Dessa forma, ele é um protocolo bastante enxuto. As aplicações que necessitam apenas de confirmação de chegada de pacotes devem programar código adicional, transformando o UDP em RUDP (Reliable UDP). Dessa forma, a questão está correta.
Página 60 de 72 www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 11 – Edição 1
19. Assuntos relacionados: Engenharia de Software, UML, Diagrama de Caso de Uso, Testes de Software, Banca: Cespe Instituição: Petrobras Cargo: Analista de Sistemas Júnior - Processos de Negócio Ano: 2007 Questão: 78–81 Com relação a engenharia de software, julgue os seguintes itens. 78 A arquitetura de um sistema de software é influenciada por casos de uso identificados na especificação dos requisitos. Além de casos de uso, outros fatores influenciam a arquitetura de um sistema, a exemplo de softwares de sistema usados e requisitos não-funcionais. 79 Em um modelo de análise, as classes de controle podem encapsular controles relacionados a casos de uso e representar lógicas de negócio que não se relacionem a uma classe de entidade específica. 80 Em um modelo de projeto, para que um subsistema seja coeso, seus conteúdos devem ser fortemente relacionados e, para que ele seja fracamente acoplado, é necessário que se minimizem as dependências entre subsistemas. 81 O plano de teste é um artefato que descreve as estratégias de teste, as quais, por sua vez, podem definir os tipos de teste a serem realizados nas iterações, os objetivos desses testes, o nível de cobertura a ser atingido e a percentagem daqueles cujas execuções devem produzir determinados resultados.
Solução: Um sistema de informações é composto, essencialmente, por pessoas, dados, processos (ou procedimentos) e tecnologia, elementos que interagem objetivando apoiar e melhorar o processo de negócio de uma empresa. Evidentemente, o objetivo principal de tal sistema é agregar valor à organização onde será utilizado. Dito isto, deve-se compreender que o desenvolvimento de um sistema de informações é uma tarefa complexa, na qual o componente sistema de software refere-se aos módulos funcionais computadorizados responsáveis pela automatização de diversas tarefas. No desenvolvimento de tais sistemas, a necessidade de planejamento aumenta na mesma proporção da complexidade do software. O adequado planejamento é fundamental para o sucesso do projeto. Atualmente, ferramentas de desenvolvimento orientado a objetos (linguagens de programação e de modelagem, por exemplo) estão disponíveis e são amplamente difundidas e utilizadas. A Linguagem de Modelagem Unificada (UML – Unified Modeling Language) auxilia o processo de planejamento para o desenvolvimento de software dirigido a casos de uso. O sistema pode ser observado sob diversas perspectivas, sendo que cada visão enfatiza aspectos diferentes. É exatamente a visão de casos de uso que descreve o sistema como um conjunto de interações entre este sistema e os agentes externos, direcionando o desenvolvimento de outras visões (visão de projeto, de implementação, de implantação e de processo). Na maioria dos processos de desenvolvimento de software, existem algumas atividades
Página 61 de 72 www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 11 – Edição 1
(ou etapas) comumente realizadas, como o levantamento de requisitos, a análise, o projeto, a implementação, os testes e a implantação. Durante o levantamento de requisitos (ou elicitação de requisitos), os usuários e os desenvolvedores buscam ter uma compreensão do problema a ser resolvido. Os requisitos podem ser funcionais (funcionalidades do sistema), não-funcionais (qualidades do sistema) ou normativos (restrições legais). A análise dos requisitos irá permitir a definição dos componentes do sistema, bem como a interação entre os mesmos. A partir dos requisitos, os casos de uso são modelados pelo diagrama de casos de uso. Ao mesmo tempo, as principais classes do negócio são modeladas pelo diagrama de classes. O foco principal da fase de projeto é determinar a maneira pela qual o sistema atenderá aos requisitos em termos de recursos tecnológicos a serem utilizados (linguagem de programação, SGBD, middleware, rede de computadores, etc.). O projeto de arquitetura consiste em distribuir classes relacionadas do sistema em subsistemas e componentes. A codificação propriamente dita é efetuada na fase de implementação, quando a descrição computacional obtida na fase de projeto é traduzida para a linguagem de programação escolhida. Paralela e posteriormente, é possível realizar atividades de teste com o objetivo de verificar a exatidão e o cumprimento dos requisitos elencados previamente. O relatório de testes é o principal produto (ou artefato) desta fase, contendo informações sobre erros detectados no software. 78 CERTO São diversos os fatores que influenciam a arquitetura de um sistema de software. Durante a elicitação de requisitos, os casos de uso identificados contribuem decisivamente para a definição de uma arquitetura que atenda satisfatoriamente tanto aos requisitos funcionais quanto aos requisitos não-funcionais. A existência de sistemas legados também devem ser considerada, pois os fluxos de tarefas poderão ser afetados por estes softwares já em uso. A própria tecnologia a ser adotada (linguagem de programação, por exemplo), em alguns casos, é fator determinante da arquitetura. Esta assertiva está correta. 79 CERTO O subsistema de controle de um sistema de software, definido durante a fase de análise, responsabiliza-se, dentre outros, pelo estabelecimento (e cumprimento) das regras de negócio da empresa. Casos de uso específicos auxiliam a estruturação do modelo de negócio existente que, em sua composição, pode conter classes sem relação com as entidades específicas identificadas na elicitação, isto é, classes com funções de apoio ao sistema (pacote de utilitários, por exemplo). O item 79 está correto em seus apontamentos. 80 CERTO Esta questão apresenta adequadamente os conceitos de coesão e acoplamento de subsistemas. A coesão é uma medida de “relacionamento” e “foco” das responsabili-
Página 62 de 72 www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 11 – Edição 1
dades de uma classe ou de um subsistema. Quanto mais coesa é uma classe, mais específica é sua atribuição dentro do sistema (ou seja, mais relacionadas estão suas atribuições), característica que favorece sua reutilização sem o risco de ambiguidades e/ou conflitos de papéis. Uma classe com alta coesão deve capturar uma única abstração. Por sua vez, o acoplamento reflete o nível de “dependência” ou “conexão” entre classes/subsistemas. É desejável um baixo nível de acoplamento, o que facilita a manutenção e a reusabilidade como um todo. A questão 80 está correta. 81 CERTO Na busca pela excelência na produção de software, uma ferramenta altamente valiosa é o teste de software. Existem diversas estratégias de teste que podem ser adotadas pela equipe responsável por garantir a qualidade de um sistema, evitando erros de processamento em unidades isoladas (testes unitários) e em subsistemas integrados (testes de integração). Uma “especificação de teste” (ou um “plano de teste”) é um documento (artefato) que descreve uma estratégia global de condução de testes, descrevendo os passos a serem conduzidos, os momentos de execução dos passos e os responsáveis por cada etapa. A assertiva 81 está correta ao listar os componentes do plano de testes.
Página 63 de 72 www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 11 – Edição 1
20. Assuntos relacionados: Algoritmos, Recursividade, Estruturas de Dados, Lista Encadeada, Deque, Pilha, Fila, Árvore T, Tabela Hash, Banca: Cespe Instituição: Petrobras Cargo: Analista de Sistemas Júnior - Processos de Negócio Ano: 2007 Questão: 93–96 Acerca de estruturas de dados e algoritmos, julgue os seguintes itens. 93 Um procedimento recursivo contém, em sua descrição, uma ou mais chamadas a si mesmo, e deve possuir pelo menos uma chamada externa proveniente de um local exterior a ele. A um procedimento recursivo, tipicamente corresponde um nãorecursivo que executa a mesma computação. 94 Em uma lista linear, se inserções e remoções são permitidas apenas nas extremidades da lista, ela é denominada deque (double ended queue); se inserções e remoções são realizadas somente em um extremo, ela é denominada pilha; se inserções são realizadas em um extremo e remoções no outro, ela é denominada fila. 95 Uma árvore T é um conjunto finito de elementos denominados nós, tais que, se a árvore não está vazia, há um nó r chamado raiz de T. Os nós restantes constituem um conjunto vazio ou são divididos em conjuntos disjuntos não-vazios, cada qual uma árvore. Uma árvore com n > 1 nós tem, no mínimo, 1 folha e, no máximo, n – 1 folhas. 96 Em uma tabela de dispersão (hash), uma colisão ocorre quando o compartimento calculado para a chave x já está ocupado por outra chave. A implementação de uma tabela de dispersão pode prover um método para tratar colisões, por exemplo, armazenar chaves sinônimas em listas encadeadas.
Solução: Pode-se definir um algoritmo como uma sequência de passos computacionais que transformam um conjunto de valores (entrada) em outro conjunto de valores (saída). Esse “procedimento computacional bem definido” é considerado uma ferramenta para resolver problemas computacionais, descrevendo uma maneira prática e eficiente de relacionar entrada e saída. Diversos algoritmos são recursivos em sua estrutura, chamando a si mesmos recursivamente para lidar com subproblemas menores e intimamente relacionados. Essa abordagem de dividir para conquistar desmembra o problema original em problemas menores (em tamanho e em complexidade), resolvendo-os isoladamente e combinando as soluções em um momento oportuno. Tanto a entrada quanto a saída devem estar definidas em uma estrutura de dados, que é um meio de armazenamento e organização de dados com o objetivo de facilitar o acesso aos mesmos, bem como a sua modificação. Tais estruturas de dados, consideradas conjuntos dinâmicos (pois seus elementos podem variar ao serem processados por um algoritmo), em geral, utilizam ponteiros para orientar a manipulação de seus elementos constituintes. Quando os elementos da estrutura de dados podem ser alinhados em sequência, tem-se
Página 64 de 72 www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 11 – Edição 1
uma lista linear de dados. Exemplos típicos dessa organização de dados são as pilhas, as filas e os deques. Diversamente, uma lista não-linear organiza seus dados de forma não-sequencial, como é o caso das árvores, onde a recursão é utilizada para definir o posicionamento dos elementos, sendo que cada elemento da estrutura também é uma árvore. As pilhas e filas são estruturas de dados nas quais o elemento a ser removido já está previamente definido. No caso da pilha, que implementa a norma LIFO (last-in, first-out – último a entrar, primeiro a sair), o elemento a ser removido do conjunto é o mais recentemente inserido. Semelhantemente, uma fila implementa a norma FIFO (first-in, first-out – primeiro a entrar, primeiro a sair), estabelecendo que o elemento a ser removido é o que permaneceu no conjunto pelo tempo mais longo. A estrutura deque (double-ended queue) é uma “fila de dois lados”, pois os elementos a serem removidos encontram-se em ambos os lados da estrutura. Diferentemente das listas, pilhas e filas, as árvores são estruturas que armazenam os dados de forma hierárquica (e não sequencial). O primeiro elemento, chamado nó raiz, possui ligações para os outros elementos, chamados filhos, que são interpretados como raízes de subárvores (os ramos) da árvore principal. Essas subárvores não são conectadas em qualquer hipótese (isto é, são conjuntos disjuntos). Os nós que não possuem filhos são chamados de nós folhas. Existem diversos tipos de árvores: árvore binária (ou de busca binária), árvore B, árvore B+, árvore AVL, árvore T, etc. Cada tipo possui características específicas que o habilita para determinadas tarefas, seja no uso em bancos de dados, seja na implementação de sistemas operacionais. O endereçamento de índices é tarefa corriqueira em sistemas de computação. O uso de tabelas para tal intento pode ser impraticável em virtude da memória disponível em um computador típico. Somando-se a este o fato de que a quantidade de índices (chaves) a serem efetivamente armazenadas, em geral, é extremamente pequena em relação ao tamanho total da tabela, percebe-se o desperdício e a inviabilidade de tal solução. Quando o número de chaves a serem armazenadas é muito inferior ao conjunto de possíveis valores das chaves, uma alternativa viável é o uso de uma tabela hash. Em uma tabela hash, o elemento com a chave k efetua o hash para a posição h(k) (valor hash), onde h é a função hash. A finalidade desta função é reduzir o intervalo de índices armazenados. Quando um valor precisa ser recuperado, calcula-se o seu valor hash e pesquisa-se este resultado na tabela hash. No caso de ocorrer mapeamentos idênticos para chaves distintas (chamadas “chaves sinônimas”), diz-se que ocorreu uma colisão, cuja ocorrência deve ser tratada adequadamente pela implementação da tabela. 93 CERTO Esta questão está correta ao apresentar conceitos relativos à recursão. A afirmação final poderia causar estranheza à primeira vista, porém, é verdadeiro o fato de se poder transformar um algoritmo recursivo em outro que seja iterativo. A escolha entre recursão e iteração deve ser orientada pelo consumo de recursos do sistema (memória e processamento, por exemplo). 94 CERTO Sem sombra de dúvidas, tanto a pilha quanto a fila podem ser entendidas como listas
Página 65 de 72 www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 11 – Edição 1
lineares com características de entrada e saída de elementos previamente estabelecidas, considerando apenas os seus extremos. A assertiva 94 expressa adequadamente estas relações, inclusive para a estrutura de deque. 95 CERTO Apesar de pouco comentada por ser uma estrutura de dados relativamente recente (o artigo introdutório data de 1986), a árvore T é o assunto do item 95. Contudo, é possível responder à questão utilizando apenas os conceitos genéricos sobre árvores: – “Uma árvore T é um conjunto finito de elementos denominados nós, tais que, se a árvore não está vazia, há um nó r chamado raiz de T.” A afirmativa está de acordo com a definição genérica de árvore, estando, portanto, correta; – “Os nós restantes constituem um conjunto vazio ou são divididos em conjuntos disjuntos não-vazios, cada qual uma árvore.” Os nós conectados ao nó raiz de uma árvore são considerados nós raízes de subárvores e, para caracterizarem a estrutura completa como árvore, estas subárvores precisam ser conjuntos disjuntos. Logo, a afirmativa está de acordo com o conceito genérico de árvore; – “Uma árvore com n > 1 nós tem, no mínimo, 1 folha e, no máximo, n – 1 folhas.” Uma árvore que possui 1 nó, terá apenas o nó raiz. Possuindo mais de um nó, ao menos um deles será folha (isto é, estará no nível mais inferior da hierarquia. Ao mesmo tempo, a estrutura terá no máximo n – 1 folhas, pois dos n elementos, 1 será a raiz. Novamente, a assertiva refere-se a informações genéricas das estruturas de árvores. Observa-se, portanto, que o item 95 está correto. 96 CERTO Esta questão apresenta adequadamente o conceito de colisão em tabelas hash, indicando uma maneira comumente empregada para o seu tratamento prático. A questão está correta.
Página 66 de 72 www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 11 – Edição 1
21. Assuntos relacionados: Modelo Multidimensional, OLAP, MOLAP, ROLAP, Banca: Cespe Instituição: Petrobras Cargo: Analista de Sistemas Júnior - Processos de Negócio Ano: 2007 Questão: 134–135 Julgue os itens subsequentes, a partir de uma análise de abrangência no uso de tecnologias OLAP. 134 Soluções MOLAP promovem maior independência de fornecedores de SGBDs que soluções ROLAP. 134 Em um esquema de dados multidimensional, a tabela de fatos, usualmente, contém uma chave primária composta por várias chaves estrangeiras e algumas colunas cujos tipos de dados são, usualmente, nominais, ao passo que as tabelas de dimensões, usualmente, contêm uma chave primária simples e algumas colunas cujos tipos de dados são, usualmente, escalares.
Solução: Como as questões abaixo são todas relacionadas com o uso de tecnologias OLAP, abordaremos a teoria necessária antes e comentaremos cada uma delas, mostrando a resposta correta. Banco de dados operacionais têm foco em transações de registros, assim eles são predominantemente caracterizados pelo modelo OLTP (online transaction processing). Por outro lado, Data warehouses permitem complexas análises de dados objetivando o suporte na tomada de decisões. O tipo de carga de trabalho é completamente diferente e é conhecida como OLAP (Online analytical processing). Aplicações OLAP são baseadas em um modelo multidimensional de dados que representa intuitivamente os dados sob uma metáfora de um cubo (hyper cubo), cuja as células correspondem a eventos que ocorrem no domínio do negócio. A tecnologia ROLAP (Relational OLAP) é uma implementação baseada em DBMS relacionais. De um ponto de vista arquitetural, com ROLAP é necessário um middleware, também chamado motor multidimensional, entre o back-end relacional e os componentes de front-ends. O middleware recebe as consultas OLAP formuladas pelos usuários (através do front-end) e as transforma em instruções SQL para o backend relacional. Em produtos comerciais, diferentes módulos de front-end, como OLAP, relatórios e painéis são normalmente conectados diretamente ao motor multidimensional. O motor multidimensional é o principal componente e pode ser conectado a qualquer servidor relacional. A tecnologia MOLAP (Multidimentional OLAP) é uma implementação baseada em DBMS multidimensionais. Sistemas MOLAP são baseados em um modelo lógico ad-oc que podem ser usados para representar dados e operações multidimensionais diretamente. O banco de dados fisicamente armazena os dados em forma de arrays que são acessados através de sua posição. O principal problema com as implementações ROLAP tem relação com desempenho, devido ao custo das operações de join em tabelas grandes. Para reduzir o número de joins, dois conceitos chaves usados são: desnormalização e a redundância.
Página 67 de 72 www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 11 – Edição 1
Figura 13: Tempo, Produto e Local representam dimensões do cubo, enquanto o 174 representa uma medida. A principal vantagem dos sistemas MOLAP em relação aos ROLAP é que consultas multidimensionais podem ser feitas de forma fácil e natural sem a necessidade de complexas operações de join. Assim, o desempenho desses sistemas é muito bom. 134 ERRADO As implementações MOLAP têm muito pouco em comum, pois nenhum padrão de modelo lógico multidimensional foi estabelecido. Geralmente eles só compartilham o uso de algumas técnicas de otimização. Apesar da falta de padrão, as implementações MOLAP tem se tornado bem sucedidas graças aos investimentos feitos pelos seus produtores como Microsoft (Analysis Services) e Oracle (Hyperion). Como dito anteriormente, com ROLAP os dados são armazenados em um Banco de Dados relacional padrão e o motor multidimensional pode ser movido para trabalhar com qualquer back-end. Uma implementação Open Source que faz isso é o Mondrian, que também é desconectado dos front-ends. Exemplo de implementação comercial é o Oracle BI. 135 ERRADO Seguem algumas definições para facilitar o entendimento: – Fato: é o foco de interesse do processo de tomada de decisões. Tipicamente ele modela um conjunto de eventos que ocorrem no mundo de negócios. Um fato é normalmente representado por uma caixa com duas partes, uma para o nome do fato e outra para as medidas;
Página 68 de 72 www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 11 – Edição 1
– Medidas: são propriedades numéricas de um fato e descrevem os aspectos quantificáveis de interesse da análise; – Dimensão: é uma propriedade com domínio finito de um fato e descreve as coordenadas de análise.
Figura 14: exemplo de representação de um fato. Fatos são armazenados em tabelas de fatos. Uma tabela de fatos contém uma ou mais medidas e são sempre ligadas (por chaves estrangeiras) a alguma tabela de dimensão. Essa organização lógica consiste de uma tabela central (a tabela de fatos) e tabelas satélites (tabelas de dimensão) que se ligam a central através de relações 1:N, esse esquema é conhecido como Esquema Estrela. Num cenário típico, os atributos hierárquicos que representam o nível mais detalhado vão ser a chave primária da respectiva dimensão. Cada respectivo atributo vai ter uma chave estrangeira correspondente na tabela de fatos.
Figura 15: exemplo de uma tabela de fatos e sua relação com as dimensões.
Página 69 de 72 www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 11 – Edição 1
22. Assuntos relacionados: OLAP, ROLAP, MOLAP, Data Warehouse, Modelo Multidimensional, Modelo Estrela, Modelo Floco de Neve, Banca: Cespe Instituição: Petrobras Cargo: Analista de Sistemas Júnior - Processos de Negócio Ano: 2007 Questão: 141 e 143 Julgue os itens a seguir, acerca do uso de tecnologias OLAP e datawarehouse. 141 Soluções MOLAP possuem maior escalabilidade que ROLAP. 143 Um modelo multidimensional organizado segundo o esquema floco de neve tende a suportar um maior número de níveis de agregação que um modelo organizado segundo o esquema estrela. Dessa forma, quanto mais hierarquizada e complexa for uma organização, mais se justifica o uso do primeiro esquema.
Solução: 141 ERRADO ROLAP tem maior escalabilidade do que MOLAP, tratando grande volume de dados. Isso se deve a, enquanto Banco de Dados Multidimensionais podem tratar até 50GB de armazenamento, RDBMS podem tratar centenas de terabytes. E apesar de um banco de dados multidimensional requerer em média 50 143 CERTO Um esquema é uma coleção de objetos de banco de dados, incluindo tabelas, views, indexes e sinônimos. O esquema floco de neve é um esquema lógico no qual o diagrama de relações de entidade lembra um floco de neve. É representado por tabelas de fatos centralizadas e conectadas a várias dimensões. Nesse esquema, as tabelas são normalizadas em múltiplas tabelas, ou seja, as dimensões são agrupadas em várias tabelas ao invés de uma tabela gigante. Esse modelo se difere do esquema estrela, onde cada dimensão é representada por apenas uma tabela. É possível ter vários níveis de relacionamento entre as tabelas, como tabelas filhas possuindo múltiplas tabelas pais, formando assim um complexo “floco de neve”. Vale frisar que esse efeito de “floco de neve” só ocorre nas dimensões, não afeta a tabela de fato, que fica no centro. Se uma dimensão é muito esparsa ou ela tem uma lista muito grande de atributos que podem ser usados em uma consulta, a tabela de dimensão pode ocupar uma proporção significativa do banco de dados, então o esquema de floco de neves pode ser adequado.
Página 70 de 72 www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 11 – Edição 1
Figura 16: exemplo de uma topologia snowflake retirada do learndatamodeling.com.
Página 71 de 72 www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 11 – Edição 1
GABARITO Grupo Grupo Grupo Grupo Grupo Grupo Grupo Grupo Grupo Grupo Grupo Grupo Grupo Grupo Grupo Grupo Grupo Grupo Grupo Grupo Grupo Grupo
de de de de de de de de de de de de de de de de de de de de de de
Questões Questões Questões Questões Questões Questões Questões Questões Questões Questões Questões Questões Questões Questões Questões Questões Questões Questões Questões Questões Questões Questões
1 :: 2 :: 3 :: 4 :: 5 :: 6 :: 7 :: 8 :: 9 :: 10 :: 11 :: 12 :: 13 :: 14 :: 15 :: 16 :: 17 :: 18 :: 19 :: 20 :: 21 :: 22 ::
47 E 48 E 49 C 54 C 55 C 56 E 63 E 64 C 65 E 66 E 67 C 75 C 76 C 77 E 78 E 79 C 84 E 85 E 86 C 87 C 89 C 101 E 102 C 103 C 104 E 105 C 106 E 107 E 108 E 109 C 110 C 74 C 75 E 77 E 78 C 79 E 90 E 91 E 92 E 93 C 96 C 97 E 98 C 99 C 115 C 116 E 117 C 118 E 119 E 120 E 52 E 53 C 54 E 56 E 57 E 58 C 51 E 52 C 53 C 55 E 56 C 57 C 59 E 60 C 66 C 74 C 78 C 79 C 80 C 81 C 93 C 94 C 95 C 96 C 134 E 135 E 141 E 143 C
LEGENDA C - CERTO E - ERRADO A - ANULADA
Página 72 de 72
Handbook de TI
Além do Gabarito
Índice Remissivo
Árvore T, 64 Índice de Maturidade de Software, 32 Algoritmos, 64 Análise Combinatória, 51 Análise de Pontos de Função, 32 Atomicidade em Transação, 14
Modelo Entidade-Relacionamento, 14 Modelo Estrela, 70 Modelo Floco de Neve, 70 Modelo Multidimensional, 67, 70 Modelo Relacional, 14 MOLAP, 67, 70 Normalização de Banco de Dados, 29 OLAP, 39, 67, 70 Online Transaction Processing (OLTP), 39
Banco de Dados, 14, 29, 58 BSC, 25
PERT, 46 Pilha, 64 Planejamento Estratégico, 22, 25 Ciclo de Vida de Projeto, 4 PMBOK, 4, 8, 46 Combinação Simples, 51 Common Object Request Broker Architecture Primeira Forma Normal (1FN), 14, 29 Proposição Funcional, 53, 55 (CORBA), 10 Prototipação, 21 Consulta SQL, 58 Qualidade de Software, 32 Data Mining, 39 Data Warehouse, 39, 70 Recursividade, 64 Deque, 64 Redes de Computadores, 60 Desenvolvimento em Cascata, 18 Reliable UDP (RUDP), 60 Desenvolvimento Evolucionário, 18 Requisito Funcional, 21 Diagrama de Caso de Uso, 61 Distributed Component Object Model (DCOM), Requisito Não-Funcional, 21 ROLAP, 67, 70 10 Durabilidade em Transação, 14 Segunda Forma Normal (2FN), 14, 29 Seriabilidade entre Transações, 14 Engenharia de Requisitos, 21 SGBD, 14 Engenharia de Software, 18, 21, 61 Sistemas de Apoio a Decisão, 39 Estruturas de Dados, 64 Sistemas Distribuídos, 10, 35 Fila, 64 SOA, 35 SQL, 58 Gerência de Custos, 46 Gerência de Escopo, 46 Tabela Hash, 64 Gerência de Projeto, 46 Terceira Forma Normal (3FN), 14, 29 Gerenciamento de Aquisições, 8 Testes de Software, 61 Gerenciamento de Projetos, 4, 8 UDP, 60 Gerenciamento de Riscos, 46 UML, 61 HTML, 39 Web Services, 10 Isolamento entre Transações, 14 Workflow, 35 Java Remote Method Invocation (Java RMI), XML, 39 10 Lógica, 53, 55 Lista Encadeada, 64 Matriz SWOT, 22
73