Tecnologia da Informação - macrosa.weebly.com€¦ · gestão de tecnologia da informação e...

320
QUESTÕES Tecnologia da Informação Questões comentadas CESPE/UnB Gledson Pompeu, Gleyson Azevedo, Marcelo Pacote e Marcio Victorino Banco de Dados Desenvolvimento de Sistemas Web Engenharia de Software Gestão de Tecnologia da Informação Segurança da Informação Com código de acesso exclusivo ao site: www.dominandoti.com.br

Transcript of Tecnologia da Informação - macrosa.weebly.com€¦ · gestão de tecnologia da informação e...

  • QUESTÕES

    Gledson P

    vedo, M

    arcelo Pa

    cio Vi

    Tecnologia da InformaçãoQuestões comentadasCESPE/UnB

    Gledson Pompeu, Gleyson Azevedo, Marcelo Pacote e Marcio Victorino

    Banco de DadosDesenvolvimento de Sistemas WebEngenharia de SoftwareGestão de Tecnologia da InformaçãoSegurança da Informação

    Com código de acesso exclusivo ao site: www.dominandoti.com.br

  • Obrigado por adquirir o livro

    TECNOLOGIA DA INFORMAÇÃO – Questões comentadas Cespe/UnB

    Nesta página você tem o código para acesso gratuito a materiais de estudo complementares disponíveis no site http://www.dominandoti.com.br

    A melhor preparação para concursosna área de Tecnologia da Informação

    Para acessá-lo, encaminhe a confirmação de compra deste e-book para [email protected], solicitando seu código de acesso.

    Cadastre-se em www.elsevier.com.brpara conhecer nosso catálogo completo,

    ter acesso a serviços exclusivos no site e receber informações sobre nossos

    lançamentos e promoções.

  • QUESTÕES

    Gledson Pompeu, Gleyson Azevedo, Marcelo Pacote e Marcio Victorino

    Tecnologia da InformaçãoQuestões comentadasCESPE/UnB

    Banco de DadosDesenvolvimento de Sistemas WebEngenharia de SoftwareGestão de Tecnologia da InformaçãoSegurança da Informação

  • CIP-Brasil. Catalogação-na-fonte.Sindicato Nacional dos Editores de Livros, RJ

    _________________________________________________________________________

    T425

    TI [recurso eletrônico] : questões comentadas CESPE/UNB / Gled-son Pompeu ... [et al.]. - Rio de Janeiro : Elsevier, 2012. recurso digital Formato: PDF Requisitos do sistema: Adobe Digital Editions Modo de acesso: World Wide We ISBN 978-85-352-6135-6 (recurso eletrônico) 1. Tecnologia da informação - Administração. 2. Sistemas de infor-mação gerencial - Problemas, questões, exercícios. 3. Serviço público - Brasil - Concursos. 4. Livros eletrônicos. I. Pompeu, Gledson.

    12-2591. CDD: 658.0546 CDU: 005.94_________________________________________________________________________

    © 2012, Elsevier Editora Ltda.

    Todos os direitos reservados e protegidos pela Lei no 9.610, de 19/02/1998.Nenhuma parte deste livro, sem autorização prévia por escrito da editora, poderá ser reproduzida ou transmitida sejam quais forem os meios empregados: eletrônicos, mecânicos, fotográficos, gravação ou quaisquer outros.

    Copidesque: Carla das NevesRevisão: Daniela MarrocosEditoração Eletrônica: SBNigri Artes e Textos Ltda.

    Coordenador da Série: Sylvio Motta

    Elsevier Editora Ltda.Conhecimento sem FronteirasRua Sete de Setembro, 111 – 16o andar20050-006 – Centro – Rio de Janeiro – RJ – Brasil

    Rua Quintana, 753 – 8o andar04569-011 – Brooklin – São Paulo – SP – Brasil

    Serviço de Atendimento ao [email protected]

    ISBN 978-85-352-6135-6

    Nota: Muito zelo e técnica foram empregados na edição desta obra. No entanto, podem ocorrer erros de digitação, impressão ou dúvida conceitual. Em qualquer das hipóteses, solicitamos a comunicação ao nosso Serviço de Atendimento ao Cliente, para que possamos esclarecer ou encaminhar a questão.

    Nem a editora nem o autor assumem qualquer responsabilidade por eventuais danos ou perdas a pessoas ou bens, originados do uso desta publicação.

  • Aos nossos familiares, nosso agradecimento pela compreensão por todo o tempo investido na preparação deste livro.

    Aos leitores, que lutam pela tão sonhada vaga no serviço público, nossa es-perança de que este livro possa ajudá-los a chegar mais rápido ao seu objetivo.

    Gledson, Gleyson, Marcio e Pacote.

    Dedicatória

  • página deixada intencionalmente em branco

  • Gledson Pompeu

    Bacharel em Ciência da Computação pela UnB, com especializações em Administração Estratégica de Sistemas de Informação pela FGV, Gestão do Conhecimento e Inteligência Organizacional pela PUC-PR, Gestão Estratégica de Pessoas pela FIA-USP e Auditoria e Controle Governamental pelo ISC/TCU, além de detentor da certificação CGEIT (Certified in the Governance of Enterprise IT).

    Auditor do Tribunal de Contas da União desde 1995, onde exerce funções relacionadas à gestão de TI desde 1999, e aprovado em 4º lugar no concurso para Consultor Legislativo do Senado Federal para a área de Comunicações e Tecnologia da Informação.

    Professor de cursos preparatórios para concursos de TI desde o ano 2000, já tendo ministrado aulas sobre todos os assuntos da área. Desde 2005, tem se concentrado em modelos de gestão e governança de TI e na preparação para provas discursivas. Desde 2008 atua como coordenador de cursos presenciais em Brasília e em outras capitais, bem como de cursos online na área de TI. É responsável pela gestão de conteúdo do site Mapa da Prova (http://www.mapadaprova.com.br) e faz parte da equipe que mantém o site Dominando TI (http://www.dominandoti.com.br).

    Gleyson Azevedo

    Formado em Engenharia de Telecomunicações e Mestre em Segurança da Informação, ambos pelo Instituto Militar de Engenharia (IME). Atua na área de segurança há seis anos, trabalhando no Centro de Desenvolvimento de Sistemas do Exército Brasileiro.

    Os Autores

  • Atuou como professor de cursos de graduação e pós-graduação nas áreas de Segurança da Informação e Redes de Computadores em Brasília e fre-quentemente ministra palestras em seminários e congressos. Desde 2009, é professor de Segurança da Informação e Redes de Computadores em cursos online e presenciais em diversas capitais do Brasil, além de fazer parte da equipe do site Dominando TI (http://www.dominandoti.com.br).

    Marcelo Pacote

    Mestre em Informática pela Universidade de Brasília (UnB), trabalha na área de arquitetura e desenvolvimento de sistemas há mais de 10 anos, atualmente como Auditor Federal de Controle Externo do Tribunal de Contas da União (TCU). Possui 11 certificações profissionais na área de TI: CSM, SCJA, SCJP, SCJD, SCWCD, SCBCD, SCEA(I), RUPF, IRUP, ITIL Founda-tions e Oracle SQL Expert.

    Ministra cursos preparatórios para certificações na área de desenvolvi-mento desde 2007 e desde 2010 é professor de Desenvolvimento de Sistemas em cursos online e presenciais em diversas capitais do Brasil.

    Marcio Victorino

    Oficial do Exército Brasileiro formado pela Academia Militar das Agulhas Negras (AMAN) em 1988 e em Engenharia da Computação pelo Instituto Militar de Engenharia (IME) em 1994. Possui Especialização em Sistemas de Informação e Telemática pela UFRGS, Mestrado em Sistemas e Computação pelo IME e Doutorado em Ciência da Informação pela Unb. Também é pós--graduado em Gestão da Administração Pública pela Unisul.

    Possui as seguintes certificações: Sun Certified Java Programmer, Sun Certified Web Component Developer, Sun Certified Business Component De-veloper, Project Management Professional, IBM Certified Solution Designer, OMG Certified UML Professional e Oracle Database 11g: SQL Fundamentals.

    Trabalha na área de desenvolvimento e integração de Sistemas Corporati-vos e Gerenciamento de Projetos de TI desde 1995, quando também começou a ministrar cursos de TI. Já atuou como instrutor da disciplina gerenciamento de projetos na Escola Nacional da Administração Pública (ENAP) e, atualmen-te, é professor universitário das disciplinas de Programação OO, Engenharia de Software e Banco de Dados em cursos de graduação e pós-graduação.

    Atua como professor em cursos preparatórios para concursos públicos para cargos de TI desde 2004 e é um dos mantenedores do site Dominando TI (http://www.dominandoti.com.br).

  • Este livro traz mais de 700 questões selecionadas criteriosamente pelos autores de modo a cobrir, de forma precisa e abrangente, os diversos assuntos cobrados nas provas aplicadas pelo Cespe nos últimos anos, nas matérias de bancos de dados, desenvolvimento de sistemas web, engenharia de software, gestão de tecnologia da informação e segurança da informação.

    Na primeira parte do livro, as questões são listadas de forma sequencial, organizadas por assunto, sem o acréscimo de qualquer outro elemento além do texto e das imagens das provas originais. Sugerimos que você use as questões de cada seção como uma espécie de “simulado”, a ser respondido para avaliar o seu conhecimento de cada tema.

    Na segunda parte do livro, o gabarito oficial de cada questão é apresen-tado, seguido de comentários diretos e objetivos para que você possa enten-der claramente o motivo de ter errado determinadas questões. Em muitos casos, esses comentários vêm acompanhados de breves resumos da matéria, pequenos “lembretes” sobre tópicos importantes para que você não erre mais questões sobre aquele assunto específico. No caso de questões anuladas, ou com gabarito questionável, é apresentada a visão dos autores sobre qual deveria ter sido a resposta correta, com base na bibliografia consagrada de cada assunto.

    Ao final do livro, você encontra ainda as referências bibliográficas re-comendadas para o estudo de cada uma das matérias, várias delas citadas pontualmente nos comentários das questões.

    Apresentação

  • página deixada intencionalmente em branco

  • Durante os mais de 10 anos dedicados à preparação para concursos pú-blicos na área de TI, tive a oportunidade de mostrar a milhares de candidatos a importância de aliar o estudo teórico à resolução de questões de provas anteriores. Nos cursos teóricos, em cursos de exercícios ou em “aulões” em que eram resolvidas todas as questões de determinadas provas, a conclusão coletiva era sempre a mesma: não adianta saber só a teoria; é funda-mental saber como essa teoria é cobrada, conhecer os macetes e a “jurisprudência” de cada banca – entendimentos específicos (e muitas vezes questionáveis) que são adotados pelas bancas na hora de definir o ga-barito das questões.

    Ao longo desse tempo, conseguimos reunir uma equipe de professores altamente especializados, que aliam o conhecimento sólido das respectivas matérias a um entendimento completo sobre a forma como essas matérias são cobradas. Esta equipe, a que hoje chamamos “Dominando TI”, começou dando aulas nos cursos preparatórios de Brasília, onde a chamada “indús-tria dos concursos” é mais forte. Depois, vieram os cursos online, por meio de vídeoaulas e de redes de teleconferência. Nos últimos dois anos, em um esforço de democratização do conhecimento, passamos a ministrar aulas presenciais em outras capitais: Belo Horizonte, Rio de Janeiro, Fortaleza, Recife e Salvador.

    Agora, atendendo aos pedidos de ex-alunos e outros interessados, re-solvemos dar mais um passo para levar uma preparação de excelência aos candidatos de todas as localidades, com a edição de livros específicos para concursos na área de TI. Este é apenas o primeiro volume de uma coleção que pretende ser extensa – cobrindo todos os assuntos e as principais bancas organizadoras de concursos para essa área.

    Palavras da Coordenação da Obra

  • Para mais detalhes sobre os livros publicados ou planejados, acesse a seção de Livros do nosso site, em http://www.dominandoti.com.br.

    Para terminar, quero apenas lembrar que a aprovação em concursos públicos sempre foi, e continuará sendo, mérito dos candidatos que dedicam semanas, meses e às vezes anos de suas vidas aos estudos. O nosso papel, como professores, é fazer com que esse caminho possa ser trilhado de forma mais eficiente, ao mostrar os atalhos e armadilhas espalhados ao longo da estrada.

    Sucesso a todos!

    Gledson Pompeu

  • PARTE 1QUESTÕES PARA RESOLUÇÃO

    Capítulo 1 Questões de BanCo de dados ......................................... 31.1. Modelagem de Dados ................................................................................... 31.2. Normalização ............................................................................................... 91.3. Álgebra Relacional ..................................................................................... 111.4. Transações ................................................................................................. 121.5. Arquitetura de Banco de Dados e Bancos de Dados Distribuídos ........... 141.6. Arquitetura OLAP ..................................................................................... 15

    Capítulo 2 Questões de desenvolvimento de sistemas WeB ..........172.1. Linguagem Java ......................................................................................... 17

    2.1.1. Sintaxe, características e APIs .......................................................172.1.2. Orientação a objetos com Java .......................................................20

    2.2. Padrões de Projeto ..................................................................................... 232.3. Arquitetura Java EE ................................................................................. 25

    2.3.1. JSP/Servlets, EJB e Servidores de Aplicação ................................252.3.2. JSF ...................................................................................................292.3.3. JPA/Hibernate .................................................................................29

    2.4. Desenvolvimento Web (lado cliente) ......................................................... 302.5. Interoperabilidade de sistemas Web ......................................................... 34

    2.5.1. XML .................................................................................................352.5.2. Web Services ....................................................................................362.5.3. SOA ..................................................................................................39

    Sumário

  • Capítulo 3 Questões de engenharia de softWare ..........................413.1. Análise por Pontos de Função ................................................................... 41

    3.1.1. Conceitos básicos de APF ...............................................................413.1.2. APF segundo o IFPUG ....................................................................423.1.3. APF segundo a NESMA ..................................................................433.1.4. Aplicações da APF ...........................................................................43

    3.2. Modelos de Processos de Desenvolvimento de Software ......................... 443.3. Processo Unificado .................................................................................... 463.4. Processos Ágeis .......................................................................................... 493.5. Engenharia de Requisitos ......................................................................... 523.6. Arquitetura de Software ........................................................................... 553.7. Qualidade de Software .............................................................................. 563.8. Orientação a Objetos ................................................................................. 593.9. Unified Modeling Language (UML).......................................................... 61

    Capítulo 4 Questões de gestão de teCnologia da informação .....734.1. Gerenciamento de Projetos ....................................................................... 73

    4.1.1. Conceitos básicos de gerenciamento de projetos ...........................744.1.2. Portfólios, programas e estruturas organizacionais ......................744.1.3. Escritórios de projetos e outras partes interessadas .....................754.1.4. Ciclo de vida e grupos de processos ................................................764.1.5. Gerência de integração....................................................................774.1.6. Gerência de escopo ..........................................................................784.1.7. Gerência de tempo ...........................................................................784.1.8. Gerência de custos ...........................................................................794.1.9. Gerência de riscos............................................................................804.1.10. Gerências de qualidade, RH, comunicações e aquisições ..............80

    4.2. Qualidade de Software .............................................................................. 814.2.1. CMMI – Conceitos básicos e estrutura ...........................................824.2.2. CMMI – Níveis de capacidade e maturidade ..................................824.2.3. CMMI – Áreas de Processo .............................................................834.2.4. MPS.BR – Conceitos básicos e níveis de maturidade ....................854.2.5. MPS.BR – Processos ........................................................................87

    4.3. Gerenciamento de Serviços ....................................................................... 874.3.1. ITIL – Conceitos básicos e estrutura do modelo ............................884.3.2. ITIL – Estratégia de serviços ..........................................................884.3.3. ITIL – Desenho de serviços .............................................................894.3.4. ITIL – Transição de serviços ..........................................................90

    Tecnologia da Informação – Questões Comentadas I Cespe / UnB

    XIV

    ELSEVIER

  • 4.3.5. ITIL – Operação de serviços ...........................................................914.3.6. ITIL – Melhoria contínua de serviços ............................................92

    4.4. Governança de TI ...................................................................................... 934.4.1. Cobit – Conceitos básicos ...............................................................934.4.2. Cobit – Características gerais .........................................................944.4.3. Cobit – Modelo de maturidade ........................................................964.4.4. Cobit – Domínios e processos ..........................................................97

    4.5. Planejamento e Gestão Estratégica de TI ................................................ 99

    Capítulo 5 Questões de segurança da informação ......................1035.1. Conceitos básicos de Segurança da Informação ..................................... 1035.2. Criptografia – Conceitos, algoritmos e protocolos ................................. 1045.3. Assinatura digital, certificação digital e PKI ......................................... 1105.4. Ameaças, vulnerabilidades e ataques ..................................................... 1115.5. Dispositivos e sistemas de proteção ........................................................ 1135.6. Normas ABNT NBR ISO/IEC 27001 e 27002 – Gestão de segurança

    da informação........................................................................................... 1175.7. Norma ABNT NBR ISO/IEC 27005 – Gestão de riscos em segurança

    da informação........................................................................................... 1235.8. Norma ABNT NBR 15999 – Gestão da continuidade de negócios ........ 124

    PARTE 2GABARITOS COMENTADOS

    Capítulo 1 gaBaritos de BanCo de dados .....................................1291.1. Modelagem de Dados ............................................................................... 1291.2. Normalização ........................................................................................... 1371.3. Álgebra Relacional ................................................................................... 1391.4. Transações ............................................................................................... 1411.5. Arquitetura de Banco de Dados e Bancos de Dados Distribuídos ......... 1451.6. Arquitetura OLAP ................................................................................... 146

    Capítulo 2 gaBaritos de desenvolvimento de sistemas WeB .......1492.1. Linguagem Java ....................................................................................... 149

    2.1.1. Sintaxe, características e APIs .....................................................1492.1.2. Orientação a objetos com Java ....................................................151

    2.2. Padrões de Projeto ................................................................................... 1542.3. Arquitetura Java EE ............................................................................... 156

    I Sumário

    XV

  • 2.3.1. JSP/Servlets, EJB e Servidores de Aplicação ..............................1562.3.2. JSF .................................................................................................1602.3.3. JPA/Hibernate ...............................................................................161

    2.4. Desenvolvimento Web (lado cliente) ....................................................... 1622.5. Interoperabilidade de sistemas Web ....................................................... 166

    2.5.1. XML ...............................................................................................1662.5.2. Web Services ..................................................................................1672.5.3. SOA ................................................................................................170

    Capítulo 3 gaBaritos de engenharia de softWare .......................1723.1. Análise por Pontos de Função ................................................................. 172

    3.1.1. Conceitos básicos de APF ............................................................1723.1.2. APF segundo o IFPUG ..................................................................1743.1.3. APF segundo a NESMA ................................................................1763.1.4. Aplicações da APF .........................................................................177

    3.2. Modelos de Processos de Desenvolvimento de Software ...................... 1783.3. Processo Unificado .................................................................................. 1823.4. Processos Ágeis ........................................................................................ 1863.5. Engenharia de Requisitos ....................................................................... 1903.6. Arquitetura de Software ......................................................................... 1943.7. Qualidade de Software ............................................................................ 1953.8. Orientação a Objetos ............................................................................... 2013.9. Unified Modeling Language (UML)........................................................ 204

    Capítulo 4 gaBaritos de gestão de teCnologia da informação ..2134.1. Gerenciamento de Projetos ..................................................................... 213

    4.1.1. Conceitos básicos de gerenciamento de projetos .........................2134.1.2. Portfólios, programas e estruturas organizacionais ....................2154.1.3. Escritórios de projetos e outras partes interessadas ...................2164.1.4. Ciclo de vida e grupos de processos ..............................................2184.1.5. Gerência de integração..................................................................2204.1.6. Gerência de escopo ........................................................................2224.1.7. Gerência de tempo .........................................................................2234.1.8. Gerência de custos .........................................................................2254.1.9. Gerência de riscos..........................................................................2264.1.10. Gerências de qualidade, RH, comunicações e aquisições ............228

    4.2. Qualidade de Software ............................................................................ 2314.2.1. CMMI – Conceitos básicos e estrutura .........................................2314.2.2. CMMI – Níveis de capacidade e maturidade ................................232

    Tecnologia da Informação – Questões Comentadas I Cespe / UnB

    XVI

    ELSEVIER

  • 4.2.3. CMMI – Áreas de Processo ...........................................................2354.2.4. MPS.BR – Conceitos básicos e níveis de maturidade ..................2394.2.5. MPS.BR – Processos ......................................................................241

    4.3. Gerenciamento de Serviços ..................................................................... 2424.3.1. ITIL – Conceitos básicos e estrutura do modelo ..........................2424.3.2. ITIL – Estratégia de serviços ........................................................2444.3.3. ITIL – Desenho de serviços ...........................................................2464.3.4. ITIL – Transição de serviços ........................................................2484.3.5. ITIL – Operação de serviços .........................................................2494.3.6. ITIL – Melhoria contínua de serviços ..........................................252

    4.4. Governança de TI .................................................................................... 2524.4.1. Cobit – Conceitos básicos .............................................................2524.4.2. Cobit – Características gerais .......................................................2554.4.3. Cobit – Modelo de maturidade ......................................................2574.4.4. Cobit – Domínios e processos ........................................................259

    4.5. Planejamento e Gestão Estratégica de TI .............................................. 263

    Capítulo 5 gaBaritos de segurança da informação .....................2665.1. Conceitos básicos de Segurança da Informação .................................... 2665.2. Criptografia – Conceitos, algoritmos e protocolos ................................. 2685.3. Assinatura digital, certificação digital e PKI ......................................... 2755.4. Ameaças, vulnerabilidades e ataques ..................................................... 2775.5. Dispositivos e sistemas de proteção ........................................................ 2805.6. Normas ABNT NBR ISO/IEC 27001 e 27002 – Gestão de segurança

    da informação........................................................................................... 2875.7. Norma ABNT NBR ISO/IEC 27005 – Gestão de riscos em segurança da

    informação ............................................................................................... 2945.8. Norma ABNT NBR 15999 – Gestão da continuidade de negócios ........ 295

    PARTE 3REFERÊNCIAS BIBLIOGRÁFICAS

    Capítulo 1 referênCias BiBliográfiCas ........................................2991.1. Referências de Bancos de Dados ............................................................. 2991.2. Referências de Desenvolvimento de Sistemas Web ............................... 2991.3. Referências de Engenharia de Software ................................................. 3001.4. Referências de Gestão de Tecnologia da Informação ............................. 3001.5. Referências de Segurança da Informação .............................................. 301

    I Sumário

    XVII

  • página deixada intencionalmente em branco

  • Parte 1 Questões

    para resolução

    Parte 1

    Questões para

    resolução

  • página deixada intencionalmente em branco

  • C a p í t u l o 1

    Questões de Banco de Dados

    1.1. Modelagem de Dados

    A disciplina de Banco de Dados (BD) é bastante relevante em concursos para a área de tecnologia da informação. Os principais autores que abordam essa disciplina de forma completa, independente de banca examinadora, são Navathe, Korth e Date. No entanto, pode-se perceber que ultimamente as questões de BD do Cespe têm sido embasadas, principalmente, na abordagem dos autores Navathe e Korth.

    Este é o assunto mais cobrado em questões de concurso sobre BD. Um autor muito didático para este assunto é Carlos Alberto Heuser, em seu livro “Projeto de Banco de Dados”. As questões de modelagem abordam, principalmente, modelo entidade rela-cionamento, tal como proposto por Peter Chen, e cardinalidade de relacionamentos.

    1. (TJ-ES/Analista Judiciário/Análise de Sistemas/2011) Em um modelo entidade--relacionamento, as entidades fracas não possuem seus próprios atributos--chave. Elas possuem sempre restrição de participação total, também co-nhecida como dependência de existência em relação a seu relacionamento identificador. Esse tipo de restrição ocorre porque uma entidade fraca não pode ser identificada sem um tipo identificador.

    2. (MEC/Atividade Técnica de Complexidade Gerencial/Administrador de Banco de Dados/2011) Atributos derivados são atributos cujos valores estão relacionados aos atributos armazenados. Como exemplo, tem-se o atributo idade, que está relacionado ao atributo data de nascimento; assim, armazena-se o atributo data de nascimento e o atributo idade é derivado do atributo armazenado.

    3. (MEC/Atividade Técnica de Complexidade Gerencial/Administrador de Banco de Dados/2011) A restrição de integridade de entidade estabelece que nenhum valor de chave primária e chave estrangeira pode ser nulo. Se houver valores nulos para as chaves, então não será possível identificar alguma tupla.

    4. (MEC/Atividade Técnica de Complexidade Gerencial/Administrador de Banco de Dados/2011) Uma restrição importante das entidades de um tipo entidade

  • é a chave ou restrição de unicidade. Um tipo entidade tem, geralmente, um ou mais atributos, denominado atributo-chave, cujos valores são distintos para cada uma das entidades do conjunto de entidades e podem ser usados para identificar cada entidade univocamente.

    5. (Correios/Analista de Correios/Desenvolvimento de Sistemas/2011) Em um banco de dados relacional, os dados são armazenados em tabelas compostas por uma simples estrutura de linhas e colunas. As tabelas se relacionam por meio de chaves, criando tipos de relacionamento no modelo de entidade e relacionamento. Uma chave estrangeira implementa restrições nos sistemas gerenciadores de bancos de dados relacionais.

    6. (MPU/Analista de Informática/Banco de Dados/2010) Na construção de um banco de dados relacional, a vinculação entre as entidades conceituais e as tabelas implementadas no banco de dados é biunívoca, ou seja, cada entidade conceitual dá origem a uma única tabela.

    7. (MPU/Analista de Informática/Banco de Dados/2010) Em um banco de dados relacional, os valores que compõem um índice em uma tabela não podem ser repetidos em outro registro da mesma tabela.

    8. (MPU/Analista de Informática/Banco de Dados/2010) Considerando uma tabela AUTOMOVEL, que tenha como atributo ANO_DE_FABRICACAO, para o qual exista uma restrição que estabelece o limite mínimo para seu valor, a forma mais ade-quada de implementar essa restrição seria por meio da definição de um trigger.

    Considerando o diagrama entidade-relacionamento (E-R) na figura acima, julgue o próximo item.

    9. (MPU/Analista de Informática/Banco de Dados/2010) No modelo E-R da figura, os atributos de uma agregação, de modo geral, coincidem com os atributos do relacionamento que são englobados.

    10. (MPU/Analista de Informática/Banco de Dados/2010) Considere a seguinte situação hipotética. Em determinada organização, os funcionários (entidade F) associam-se

    Tecnologia da Informação – Questões Comentadas I Cespe / UnB

    4

    ELSEVIER

  • aos departamentos (entidade D), por meio do relacionamento de lotação (L), sendo N funcionários em 1 departamento (N:1). Também pode ocorrer, concomitantemente com a lotação, o relacionamento gerencial (G), do tipo 1:1, ou seja, um funcioná-rio gerencia no máximo um departamento. Como restrição da organização, todo gerente deve estar lotado obrigatoriamente no departamento que dirige. Nessa situação, é correto afirmar que, na referida organização, verifica-se um exemplo de restrição de integridade envolvendo relacionamentos.

    11. (MPU/Analista de Informática/Banco de Dados/2010) O termo integridade é uti-lizado em sistema de banco de dados com o significado de precisão, correção ou validade. Nesse contexto, a integridade tem como função assegurar que os dados no banco de dados sejam precisos e preservados contra atualizações válidas.

    12. (TRT21-RN/Analista Judiciário/Tecnologia da Informação/2010) A chave can-didata, conjunto de um ou mais atributos tomados coletivamente, permite identificar de maneira unívoca uma entidade em um conjunto de entidades.

    13. (TRT21-RN/Analista Judiciário/Tecnologia da Informação/2010) Uma chave es-trangeira é um atributo ou uma combinação de atributos em uma relação, cujos valores são necessários para equivaler somente à chave primária de outra relação.

    Capítulo 1 I Questões de Banco de Dados

    5

  • A figura acima apresenta um modelo de banco de dados denominado ER1, no qual são representadas informações acerca de comissões, compostas por vários membros, os quais se reúnem periodicamente para discutir e votar propostas. Suponha que um modelo relacional denominado R1 seja gerado a partir do modelo ER1. Nesse contexto, julgue os itens seguintes, acerca das informações apresentadas e dos conceitos de bancos de dados.

    14. (ANATEL/Analista Administrativo/Análise de Negócios/2009) ER1 é um modelo lógico.

    15. (ANATEL/Analista Administrativo/Análise de Negócios/2009) Em R1, o relacio-namento “presença” será representado por meio de uma tabela que contém pelo menos quatro colunas, sendo duas delas chaves estrangeiras.

    16. (ANATEL/Analista Administrativo/Análise de Negócios/2009) ER1 está na terceira forma normal.

    17. (ANATEL/Analista Administrativo/Análise de Negócios/2009) Em R1, os ele-mentos “Reunião” e “Proposta” são relações que contêm, cada uma, uma ou mais chaves estrangeiras.

    18. (ANATEL/Analista Administrativo/Análise de Negócios/2009) Em R1, uma operação de junção efetuada entre as relações “Comissão” e “Reunião” utilizaria adequa-damente os atributos “cod_comissão” e “cod_reunião” como atributos de junção.

    19. (ANATEL/Analista Administrativo/Análise de Negócios/2009) São propriedades ou limitações do modelo ER1: uma comissão pode ser composta por um número arbitrário de pessoas; uma pessoa pode participar de um número arbitrário de comissões; cada proposta é encaminhada em apenas uma reunião; e uma pessoa pode ter presença em reuniões de comissões das quais ela não faz parte.

    20. (ANTAQ/Analista Administrativo/Informática/2009) A abordagem relacional parte do princípio de que os dados são percebidos como tabelas que satisfazem relações de integridade manipuláveis por meio de operadores.

    21. (ANTAQ/Analista Administrativo/Informática/2009) Um diagrama entidade--relacionamento permite uma representação, em forma de figura, da estrutura física de um banco de dados.

    22. (STF/Analista Judiciário/Análise de Sistemas de Informações/2008) Dado um conjunto de relacionamentos R binário entre os conjuntos de entidades A e B, é correto afirmar que, em um mapeamento de cardinalidade muitos para muitos, uma entidade A está associada a qualquer número de entidades em B e uma entidade em B está associada a um número qualquer de entidades em A.

    23. (STF/Analista Judiciário/Análise de Sistemas de Informações/2008) As carac-terísticas do atributo CEP — numérico, sequencial e não repetido — permitem utilizá-lo como chave primária em um banco de dados destinado ao cadastro de clientes de uma loja.

    24. (STF/Analista Judiciário/Análise de Sistemas de/2008) Qualquer relação que não faça parte do modelo lógico, mas seja visível para o usuário como uma relação virtual, é denominada visão.

    Tecnologia da Informação – Questões Comentadas I Cespe / UnB

    6

    ELSEVIER

  • 25. (STF/Analista Judiciário/Análise de Sistemas de Informações/2008) Integri-dade referencial pode ser definida como uma condição imposta a um conjunto de atributos de uma relação para que valores que apareçam nesse conjunto também apareçam em um certo conjunto de atributos de uma outra relação.

    26. (STF/Analista Judiciário/Análise de Sistemas de Informações/2008) Chaves estrangeiras podem ser definidas como sendo um conjunto de atributos pertencentes a um esquema de relação que constituem chaves primárias ou candidatas em outros esquemas independentes.

    Capítulo 1 I Questões de Banco de Dados

    7

  • Considerando as figuras I e II acima, que apresentam, respectivamente, um modelo de entidades e relacionamentos e um esquema resumido do banco de dados relacional, julgue os três itens subsequentes.

    27. (STJ/Analista Judiciário/Informática/2008) Segundo a figura I, para identifi-car uma entidade do tipo CRIANCA, é necessário identificar uma entidade do tipo HOSPEDE; para cada entidade do tipo HOTEL, o atributo NOME tem valor único; para cada entidade do tipo FUNCIONARIO, o atributo APELIDO pode ter um conjunto de valores. O atributo HORAS pode ser migrado para a entidade FUNCIONARIO.

    28. (STJ/Analista Judiciário/2008) Segundo a figura I, o número de horas que um funcionário trabalha em um hotel é determinado combinando-se entidades dos tipos HOTEL e FUNCIONARIO; uma entidade do tipo HOTEL pode estar associada a apenas uma entidade do tipo HOSPEDE; os valores do atributo NOME são distintos para cada entidade do tipo CRIANCA.

    29. (STJ/Analista Judiciário/Informática/2008) A partir do modelo de entidades e relacionamentos e do esquema resumido do banco de dados relacional, é correto inferir que o esquema descreve incorretamente parte do projeto de um banco de dados para o modelo apresentado, uma vez que há atributos e entidades incorretamente mapeados para as relações.

    30. (TST/Analista Judiciário/Análise de Sistemas/2008) No modelo relacional, cada tupla em uma relação deve ser distinta das demais por definição.

    31. (TST/Analista Judiciário/Análise de Sistemas/2008) Uma chave primária é usada para identificar tuplas individuais em uma relação, não podendo ter o valor nulo.

    32. (TST/Analista Judiciário/Análise de Sistemas/2008) A existência de uma tupla em uma relação que faz referência a uma tupla não-existente em outra relação constitui uma violação das restrições de chave da primeira relação.

    33. (TST/Analista Judiciário/Análise de Sistemas/2008 No modelo entidade-rela-cionamento (ER), a modelagem analisa e representa os dados da aplicação de forma independente do processamento que transforma os dados.

    34. (MPE-RR/Analista Judiciário/Analista de Banco de Dados/2008) Em um banco de dados, o grau de um tipo relacionamento é o número de tipos entidade que participam desse relacionamento. Um tipo relacionamento binário tem grau dois e um ternário tem grau três.

    35. (MPE-RR/Analista Judiciário/Analista de Banco de Dados/2008) A razão de cardinalidade para um tipo relacionamento binário especifica o número má-ximo de instâncias de relacionamento em que uma entidade pode participar. 1:1, 1:N, N:1 e M:N, por exemplo, são possíveis razões de cardinalidade para um tipo relacionamento binário.

    Tecnologia da Informação – Questões Comentadas I Cespe / UnB

    8

    ELSEVIER

  • 36. (MPE-RR/Analista Judiciário/Analista de Banco de Dados/2008) Há atributos cujos valores são relacionados, como, por exemplo, idade e data de nascimento, pois, para uma pessoa, a idade pode ser calculada a partir da data atual e da data de nascimento. Diz-se, assim, que a idade é um atributo derivado e que a data de nascimento é um atributo armazenado.

    37. (MPE-RR/Analista Judiciário/Analista de Banco de Dados/2008) Há casos em que um tipo entidade participa, em papéis diferentes, mais de uma vez em um tipo relacionamento. Por exemplo, em uma associação entre subordinado e chefe na qual ambos são do tipo Empregado, podem-se usar nomes de papéis para definir o significado de cada participação.

    38. (MPE-RR/Analista Judiciário/Analista de Banco de Dados/2008) Atributos compostos podem ser divididos em partes menores. Por exemplo, um endereço pode ser dividido em rua e cidade. Atributos que não são divisíveis são ditos simples ou atômicos.

    39. (MPE-RR/Analista Judiciário/Analista de Banco de Dados/2008) Um tipo en-tidade cujas entidades são identificadas a partir apenas dos valores dos seus atributos-chave é um tipo entidade fraca. Em contraste, um tipo entidade cujas entidades são identificadas por estarem relacionadas a entidades específicas de outro tipo entidade são do tipo entidade forte.

    1.2. Normalização

    As questões sobre normalização concentram-se em cobrar conceitos relacio-nados à primeira, segunda e terceira formas normais. As demais formas normais são cobradas esporadicamente e de forma bem superficial.

    40. (MEC/Atividade Técnica de Complexidade Gerencial/Administrador de Banco de Dados/2011) Quando um esquema de relação tem mais de uma chave, cada uma delas é denominada chave-candidata, e, nesse caso, deve-se decompor a relação com base nas dependências funcionais até que somente uma chave primária permaneça na relação.

    41. (MEC/Atividade Técnica de Complexidade Gerencial/Administrador de Banco de Dados/2011) Um atributo Y possui uma dependência funcional do atributo X se, para cada valor do atributo X, existe exatamente um único valor do atributo Y. A dependência funcional é representada por X -> Y.

    42. (MEC/Atividade Técnica de Complexidade Gerencial/Administrador de Banco de Dados/2011) A normalização de dados é o processo da análise de deter-minados esquemas de relações com base em suas dependências funcionais e chaves primárias. Esse processo visa alcançar as propriedades desejáveis de maximização da redundância e de minimização das anomalias de inserção, exclusão e atualização.

    Capítulo 1 I Questões de Banco de Dados

    9

  • 43. (MPU/Analista de Informática/Banco de Dados/2010) Uma relação está na se-gunda forma normal (2FN) se e somente se estiver na 1FN e qualquer atributo da chave for dependente funcional (DF) completo em relação a cada chave, tal que não há atributo fora da chave que seja DF parcial em relação a cada chave.

    44. (MPU/Analista de Informática/Banco de Dados/2010) Se os valores de atributos forem atômicos, ou seja, estiverem vinculados a um modelo relacional unitá-rio, então nem todas as relações estarão normalizadas ou na primeira forma normal (1FN), segundo definido pela álgebra relacional.

    45. (TRT21-RN/Analista Judiciário/Tecnologia da Informação/2010) A primeira forma normal estabelece que os atributos da relação contêm apenas valores atômicos.

    46. (TRT21-RN/Analista Judiciário/Tecnologia da Informação/2010) A dependência funcional é uma associação que se estabelece entre dois ou mais atributos de uma relação e define-se do seguinte modo: se A e B são atributos ou conjuntos de atributos, da relação R, diz-se que B é funcionalmente dependente de A se cada um dos valores de A em R tem associado a si um e um só valor de B em R.

    47. (ANTAQ/Analista Administrativo/Informática/2009) São objetivos da nor-malização: eliminar redundâncias, evitar erros de atualização e facilitar tanto a representação do mundo real quanto a imposição de restrições de integridade.

    48. (ANTAQ/Analista Administrativo/Informática/2009) A reversibilidade é um aspecto da normalização que permite que esta ocorra sem perdas de dados e relações, preservando-se as informações do banco de dados.

    49. (STJ/Analista Judiciário/Informática/2008) A normalização é um processo no qual são analisados esquemas de relações, com base em dependências fun-cionais e chaves primárias, visando minimizar redundâncias e anomalias de inserção, exclusão e atualização. Na normalização, se ocorrer a decomposição de uma relação, cada dependência funcional existente antes da decomposição terá de ser representada em alguma relação existente depois da decomposição.

    50. (STJ/Analista Judiciário/Informática/2008) O teste para a segunda forma normal envolve verificar se os atributos do lado esquerdo das dependências funcionais são parte da chave primária. Nas dependências funcionais apresen-tadas na tabela abaixo, as relações atendem aos requisitos da segunda forma normal.

    relação chave primária dependência funcionalR1 CPF CPF > NOME, CGCR2 NOME, CPF NOME, CPF > IDADE

    R3 CGCCGC > RUA, CIDADE, ESTADO,

    NOMER4 CGC, CPF CGC, CPF> HORAS

    Tecnologia da Informação – Questões Comentadas I Cespe / UnB

    10

    ELSEVIER

  • 51. (STJ/Analista Judiciário/Informática/2008) A partir das dependências funcio-nais apresentadas na tabela a seguir, é correto inferir que as relações estão na terceira forma normal, pois: as relações só contêm atributos atômicos; para as relações que possuem chaves primárias com vários atributos, ne-nhum atributo externo à chave é funcionalmente dependente de parte da chave primária; há dependência transitiva entre atributo não-chave e chave primária.

    relação chave primária dependência funcional

    R1 CPFCPF > AUTOR

    AUTOR > TELEFONE

    R2 ISBN, CAPITULOISBN, CAPÍTULO > AUTO

    RISBN> TITULOR3 EDITORA EDITORA > NOME, EDITOR

    52. (MPE-AM/Analista Judiciário/Analista de Banco de Dados/2008) A FNBC exige que todas as dependências não-triviais sejam da forma α→β, em que α é uma superchave. A terceira forma normal (3FN) também não suaviza essa restrição.

    53. (MPE-AM/Analista Judiciário/Analista de Sistemas/2008) Um esquema de uma relação que se encontra na primeira forma normal apresenta atributos compostos que podem ser multivalorados.

    1.3. Álgebra Relacional

    A Álgebra Relacional abrange uma coleção de operações usadas para mani-pular registros em tabelas. É uma maneira formal de se responder às demandas dos usuários do Banco de Dados.

    54. (MPU/Analista de Informática/Banco de Dados/2010) A interseção X INTERSECT Y, em que X e Y são duas relações, é o conjunto de todas as tuplas pertencentes a ambas as relações X e Y.

    55. (STF/Analista Judiciário/Análise de Sistemas de Informações/2008) A opera-ção de junção externa (outer join) é uma extensão da operação de junção para tratar informações omitidas.

    56. (STF/Analista Judiciário/Análise de Sistemas de Informações/2008) Apenas as operações union e intersect são disponibilizadas pela linguagem SQL para manipulação de conjuntos.

    57. (TST/Analista Judiciário/Análise de Sistemas/2008) Duas relações de mesmo grau e com atributos correspondentes que pertencem ao mesmo domínio são compatíveis quanto à operação UNION.

    Capítulo 1 I Questões de Banco de Dados

    11

  • 58. (MPE-AM/Analista Judiciário/Analista de Banco de Dados/2008) A álgebra relacional consiste em um conjunto de operações e relações, sendo que cada operação usa uma ou mais relações com seus operandos e produz outra relação como seu resultado.

    59. (MPE-AM/Analista Judiciário/Analista de Banco de Dados/2008) Segundo C. J. Date, o conjunto de operadores tradicionais na álgebra relacional é formado por união, interseção, diferença e produto cartesiano e os operadores relacionais especiais são seleção, projeção, junção e divisão.

    60. (MPE-AM/Analista Judiciário/Analista de Banco de Dados/2008) A interseção de duas relações (compatíveis de união) X e Y – X INTERSECT Y – é o conjunto de todas as tuplas t pertencentes a X e a Y.

    61. (MPE-AM/Analista Judiciário/Analista de Banco de Dados/2008) O produto cartesiano de duas relações X e Y – X TIMES Y – é o conjunto de todas as tuplas t, em que t é a concatenação de uma tupla x, pertencente a X, com uma tupla y, pertencente a Y.

    62. (MPE-AM/Analista Judiciário/Analista de Banco de Dados/2008) A cláusula select corresponde à seleção do predicado da álgebra relacional. Ela consiste em um predicado envolvendo atributos da relação que aparece na cláusula from.

    63. (MPE-AM/Analista Judiciário/Analista de Banco de Dados/2008) A cláusula where corresponde à operação de projeção da álgebra relacional.

    1.4. Transações

    No passado, as questões sobre transação cobravam apenas as propriedades dos SGBDs Atomicidade, Consistência, Isolamento e Consistência (ACID). No entanto, atualmente pode-se perceber questões mais elaboradas cobrando es-tratégias de lock e o entendimento de protocolos de serialização de transações.

    64. (ANAC/Analista Administrativo/Tecnologia da Informação/2009) Para o SGBD viabilizar a execução de transações concomitantemente existem diversas téc-nicas e controle de concorrência que são utilizadas para garantir propriedade de não-interferência ou isolamento de transações. Uma dessas técnicas é o controle de concorrência baseado em ordenamento de registro de timestamp que utiliza o bloqueio combinado com o Protocol Two-Phase locking (2PL).

    65. (TCU/Auditor Federal de Controle Externo/Tecnologia da Informação/2009) Um escalonamento é considerado correto quando se pode encontrar um esca-lonamento serial que seja equivalente a ele. Dado um conjunto de transações T1,...,Tn, dois escalonamentos S1 e S2 são equivalentes se existe sincronização read-write e sincronização write-write.

    Tecnologia da Informação – Questões Comentadas I Cespe / UnB

    12

    ELSEVIER

  • 66. (TCU/Auditor Federal de Controle Externo/Tecnologia da Informação/2009) No two-phase locking, os locks de dados supõem que a transação está dividida em uma fase de crescimento, na qual os locks são feitos, e em uma fase de encolhimento, na qual os locks são confirmados.

    T1lock(p1)read(p1)

    write(p1)lock(p2)unlock(p1)

    read(p2)write(p2)unlock(p2)

    T2

    lock(p1)

    read(p1)write(p1)lock(p2)unlock(p1)

    read(p2)write(p2)unlock(p2)

    Considerando as transações T1 e T2 apresentadas acima, julgue os itens subsequentes.

    67. (TCU/Auditor Federal de Controle Externo/Tecnologia da Informação/2009) Na situação em questão, a transação T2 pode ver os writes incrementais de T1. Esse enfoque diminui a concorrência do sistema.

    68. (TCU/Auditor Federal de Controle Externo/Tecnologia da Informação/2009) Se, por alguma razão, a transação T1 for abortada, o requerimento de atomicidade impli-cará que também sejam abortadas as transações como T2, aquelas que igualmente tenham visto os resultados de T1, transações que tenham visto os writes dessas transações e assim por diante. Esse problema é conhecido como rollback em cascata.

    69. (STF/Analista Judiciário/Análise de Sistemas de Informações/2008) Quando uma regra de integridade referencial é violada, o procedimento normal a ser adotado é rejeitar a ação que ocasionou essa violação.

    70. (STF/Analista Judiciário/Análise de Sistemas de Informações/2008) A execução de transações de maneira concorrente possibilita o surgimento de inconsis-tências dos dados armazenados em um banco de dados. A responsabilidade pela consistência dos dados é única e exclusiva do banco de dados, mais es-pecificamente, do componente de controle de concorrência.

    Capítulo 1 I Questões de Banco de Dados

    13

  • 71. (MPE-AM/Analista Judiciário/Analista de Banco de Dados/2008) As proprie-dades dos sistemas de banco de dados conjuntamente denominadas ACID são consistência, isolamento e durabilidade. Elas asseguram a integridade dos dados nas transações.

    72. (MPE-AM/Analista Judiciário/Analista de Banco de Dados/2008) Quando mudan-ças causadas por uma transação abortada são desfeitas, a transação foi commited; enquanto uma transação completada com sucesso é chamada de rolled back.

    73. (MPE-AM/Analista Judiciário/Analista de Banco de Dados/2008) Em relação ao término com sucesso de uma transação, os possíveis estados são: ativa, em efetivação parcial, em falha, abortada e em efetivação. Uma transação é dita concluída se estiver em efetivação ou abortada.

    74. (BASA/Tecnologia da Informação/Banco de Dados/2010) Um update lock insere um bloqueio no objeto para impedir que outros usuários façam alterações, porém não é ativado quando já existe um shared lock ou um exclusive lock no mesmo objeto.

    75. (BASA/Tecnologia da Informação/Banco de Dados/2010) Uma transação do tipo dirty read lê todos os registros, não importando se estão sendo modificados ou se ainda não houve um commit.

    1.5. Arquitetura de Banco de Dados e Bancos de Dados Distribuídos

    O Cespe aborda a arquitetura de Sistemas Gerenciadores de Banco de Da-dos (SGBDs) de várias formas. No entanto, o conceito mais cobrado tem sido a arquitetura em três esquemas. Em SGBDs distribuídos, a cobrança mais comum abrange conceitos relacionados a transações distribuídas, Commit em Duas Fases ou em Três Fases.

    Tecnologia da Informação – Questões Comentadas I Cespe / UnB

    14

    ELSEVIER

  • Considerando a figura acima, que ilustra uma arquitetura de banco de dados de três esquemas, julgue os itens subsequentes (76 à 79).

    76. (TJ-ES/Analista Judiciário/Análise de Banco de Dados/2011) Em razão de a independência de dados, provida pela arquitetura em tela, permitir a execução mais eficiente de consultas no sistema gerenciador de banco de dados (SGBD), os mais conhecidos SGBDs comerciais implementam a arquitetura de banco de dados de três esquemas por completo.

    77. (TJ-ES/Analista Judiciário/Análise de Banco de Dados/2011) O acesso do usu-ário ao banco de dados, que ocorre no nível do “esquema externo”, classifica--se em interativo ou em modo batch. No primeiro caso, ocorre por meio de uma sublinguagem de dados, tal como a SQL; e, no segundo, por meio de um programa aplicativo, escrito em Java, C++ ou C, que contém um subconjunto de comandos que disponibilizam uma sublinguagem de dados.

    78. (TJ-ES/Analista Judiciário/Análise de Banco de Dados/2011) Na arquitetura em questão, a independência lógica de dados consiste na capacidade de alterar o “esquema interno” sem mudar o “esquema conceitual”.

    79. (TJ-ES/Analista Judiciário/Análise de Banco de Dados/2011) Devido à indepen-dência de dados, provida pela referida arquitetura, as modificações do “esque-ma conceitual” — tais como a adição ou a remoção de um tipo de registro (ou item) de dados — não causam ou requerem alterações no “esquema externo” ou nos programas de acesso ao banco de dados.

    1.6. Arquitetura OLAP

    Data Warehouse (DW) e Data Mining são os assuntos mais cobrados rela-cionados à Arquitetura OLAP. Este assunto está em ascendência, ou seja, a cada prova que passa mais questões são cobradas.

    80. (TJ-ES/Analista Judiciário/Análise de Sistemas/2011) O modelo multidimensio-nal contém elementos básicos como a tabela fato, as dimensões, as métricas e as medidas. As dimensões participam de um fato, determinando o contexto do modelo, enquanto a tabela fato reflete a evolução dos negócios por meio das métricas aditivas ou não aditivas. Se a modelagem for do tipo snowflake, as medidas ficarão inseridas tanto nas dimensões quanto na fato, por haver um grau de normalização maior que no esquema star-schema.

    81. (QOBM/Complementar/Informática/2011) Em banco de dados de apoio à de-cisão, há muita preocupação com a integridade dos dados e com a existência de redundância.

    Capítulo 1 I Questões de Banco de Dados

    15

  • 82. (QOBM/Complementar/Informática/2011) Utilizando OLAP, usuários finais conseguem, mediante um simples estilo de navegação e pesquisa, analisar rapidamente inúmeros cenários, gerar relatórios ad-hoc e descobrir tendên-cias e fatos relevantes, independentemente do tamanho, da complexidade e da fonte dos dados corporativos.

    83. (Correios/Analista de Correios/Desenvolvimento de Sistemas/2011) As ferra-mentas de software ETL (extract transform load) têm como função a extração de dados de diversos sistemas, a transformação desses dados de acordo com as regras de negócio e a carga dos dados em um data mart ou um DW.

    84. (Correios/Analista de Correios/Desenvolvimento de Sistemas/2011) Toda estrutura de dados no DW tem um elemento de tempo – como dia, mês ou ano – como referência.

    85. (Correios/Analista de Correios/Desenvolvimento de Sistemas/2011) Em um ambiente data warehouse (DW), é possível a análise de grandes volumes de dados, os quais ficam disponíveis para serem alterados e manipulados pelo usuário.

    86. (Correios/Analista de Correios/Desenvolvimento de Sistemas/2011) Fer-ramentas OLAP (online analytical processing) permitem a navegação pelos dados de um DW, o que possibilita a realização de pesquisas e apresentação de informações. Por meio de um processo drill down, por exemplo, um rela-tório consolidado de vendas mensal poderá ser preparado de forma que as informações sejam dispostas por trimestre, por semestre, por ano, e assim sucessivamente.

    87. (Correios/Analista de Correios/Desenvolvimento de Sistemas/2011) Inteligên-cia empresarial, ou business inteligence, é um termo utilizado para descrever as habilidades das corporações para coletar dados e explorar informações, analisá-las e desenvolver entendimentos para tomada de melhores decisões.

    88. (Correios/Analista de Correios/Desenvolvimento de Sistemas/2011) Na modelagem dimensional, que pode ser usada para a construção de um DW, forma-se, basicamente, uma tabela central e tabelas dimensões diretamente ligadas a essa tabela central. O star schema, que atua nesse contexto, tem a característica de ser normalizado, exigindo excessivo espaço em disco, já que são necessárias diversas informações em cada linha das tabelas.

    89. (Previc/Analista Administrativo/Tecnologia da Informação/2010) Os esquemas em estrela e em flocos de neve são dois modelos multidimensionais comuns. Dadas as suas características, o modelo em flocos de neve aumenta a redun-dância de dados e, por isso, aumenta o espaço utilizado em disco.

    Tecnologia da Informação – Questões Comentadas I Cespe / UnB

    16

    ELSEVIER

  • C a p í t u l o 2

    Questões de Desenvolvimento de Sistemas Web

    A disciplina de desenvolvimento de sistemas engloba um número elevado de tecnologias e linguagens. Ao contrário de outras matérias, as questões passam por atualização rápida e, em pouco tempo, uma tecnologia se torna obsoleta ou detém novas versões. Nesta seção tentamos destacar o que há de mais importante e perene nessas tecnologias.

    2.1. Linguagem Java

    A linguagem de programação Java é, sem dúvida, a mais cobrada em con-cursos públicos. Para abordar o tema, as questões selecionadas foram divididas sob dois aspectos:

    • Sintaxe,característicaseAPIs–sãobastantecobradasemconcursodenível médio. Geralmente apresentam trechos de código Java e questio-nam sobre o resultado de uma execução. É importante treinar o per-corrimento de algoritmos e atentar para situações nas quais podem ocorrer erros em tempo de compilação ou de execução.

    • Orientaçãoaobjetos–figuramcomfrequêncianasprovasqueexigemnível superior. Conceitos de encapsulamento, abstração, herança e po-limorfismo devem ser dominados pelos candidatos. Este último, o po-limorfismo, é o conceito mais complexo e também o mais cobrado nas questões.

    2.1.1. Sintaxe, características e APIs

    90. (MPU/Técnico de Informática/2010) 1 public class MpuJava2 {

    2 public static void main (String args [ ]) {

    3 Integer i = null;

  • 4 Int j = i;

    5 System.out.println (j);

    6 }

    7 }

    O código na linha 5 produzirá a impressão do conteúdo da variável j que terá o valor null.

    91. (BASA/Técnico Científico/Tecnologia da Informação/Arquitetura de Tecnolo-gia/2010) Ao final da execução do trecho de código abaixo, escrito na linguagem Java, será exibido o valor 21.int [ ] m = {1, 2, 3, 4,5};

    int [ ] n = {0, 1, 2, 3, 4};

    int s = 0;

    for(int i = 0; i

  • 96. (INSS/Analista de Seguro Social/Ciência da Computação/2008) A tentativa de execução do programa usando a linha de comando java Reverso 5 joão maria josé produziria um erro de runtime.1 package br.gov.inss;

    2 import java.io.DataImputStream;

    3 import java.io.IOException;

    4 public class Reverso {

    5 protected static void out (int quantos) throws IOException {

    6 DataInputStream in = new DataInputStream(System.in);

    7 String name;

    8 if (quantos > 0) {

    9 name = in.readLine ( );

    10 lista.insere(name);

    11 System.out.println(lista.remove( ));

    12 out(quantos - 1);

    13 System.out.println(name);

    14 }

    15 }

    16 public static void main(String args [ ]) throws IOException {

    17 int quantos = Integer.parseInt(args(0));

    18 System.out.println(“entre com uma sequência de “+quantos+” nomes.");

    19 out(quantos);

    20 }

    21 static Lista lista = new Lista( );

    22 private static class No {

    23 String conteudo; No proximo;

    24 No(String c, No p) {conteudo = c; proximo = p;}

    25 }

    26 private static class Lista {

    27 No cabeça = null;

    28 void insere(String c) {

    29 cabeça = new No(c, cabeça);

    30 }

    31 String remove( ) {

    32 String conteudo = null;

    33 if (cabeça != null) {

    34 conteudo = cabeça.conteudo; cabeça = cabeça.proximo;

    35 }

    36 return conteudo;

    37 }

    38 }

    39 }

    Capítulo 2 I Questões de Desenvolvimento de Sistemas Web

    19

  • 97. (EMBASA/Analista de Tecnologia da Informação/Desenvolvimento/2010) O trecho de código a seguir está sintaticamente incorreto.If (ChatUser.getByName(getName( )) != null) {

    throw new IllegalArgumentException(“Invalid username”);

    } else {

    ChatUser.addUser(this);

    }

    2.1.2. Orientação a objetos com Java

    98. (MPU/Analista de Informática/Desenvolvimento de Sistemas/2010) No código em Java mostrado a seguir, as classes Conta e Poupança implementam o po-limorfismo dinâmico.class Conta

    {

    float saldo;

    public float getSaldo(int i)

    {

    float saldo = Of;

    if (i == 1) saldo = this.saldo + 1.03f;

    return saldo;

    }

    public void setSaldo (float saldo)

    {

    this.saldo = saldo + 20f;

    }

    class Poupança extends Conta

    {

    public float getSaldo( )

    {

    return saldo;

    }

    }

    99. (BASA/Técnico Científico/Tecnologia da Informação/Arquitetura de Tecnolo-gia/2010) Na linguagem Java, se uma classe tem uma variável declarada com a palavra-chave final, significa que qualquer subclasse dessa classe estará impedida de alterar o valor dessa variável.

    100. (MEC/Atividade Técnica de Complexidade Intelectual/Analista de Siste-mas/2011) De acordo com o trecho de programa em questão, o mecanismo de herança foi bloqueado pela redefinição de atributos na subclasse criada.

    Tecnologia da Informação – Questões Comentadas I Cespe / UnB

    20

    ELSEVIER

  • class Bicycle { int cadence = 0; int speed = 0; int gear = 1; void changeCadence(int newValue) { cadence = newValue; } void changeGear(int newValue) { gear = newValue; } void speedUp(int increment) { speed = speed + increment; } void applyBrakes(int decrement) { speed = speed – decrement; } void printStates() { System.out.println(“cadence:“+cadence+”speed: “+speed+”gear:“+gear); }}

    class BicycleDemo { public static void main(String[]args) { Bicycle bike1 = new Bicycle(); Bicycle bike2 = new Bicycle(); bike1.changeCadence(50); bike1.speedUp(10); bike1.changeGear(2); bike1.printStates(); bike2.changeCadence(50); bike2.speedUp(10); bike2.changeGear(2); bike2.changeCadence(40); bike2.speedUp(10); bike2.changeGear(3); bike2.printStates(); }}

    101. (DETRAN-DF/Analista/Análise de Sistemas/2009) Os moderadores de acesso são empregados para restringir o acesso a um método. Em Java, há os mode-radores public, protected, package, friendly, private e private protected. No moderador private, o método é privativo da classe que o contém, sendo seu uso permitido apenas dentro de um mesmo arquivo-fonte, e vedado a qualquer outra classe.

    Capítulo 2 I Questões de Desenvolvimento de Sistemas Web

    21

  • 102. (DETRAN-DF/Analista/Análise de Sistemas/2009) Ao declarar uma nova classe, é possível especificar um dos seguintes modificadores: public, friendly, final, abstract. Uma classe abstract pode ser instanciada e derivada.

    103. (TRT-ES/Técnico Judiciário/Tecnologia da Informação/2009) Uma variável de instância possui vários valores para cada instância da classe, enquanto variá-veis de classe iniciam-se pelo modificador private, significando, ao compilador, que há apenas uma cópia da classe em existência, independentemente de quantas vezes ela é instanciada.

    104. (TRE-ES/Analista/Análise de Sistemas/2011) Em programação orientada a objetos, um construtor java serve para inicializar os atributos, sendo automa-ticamente executado sempre que se cria um novo objeto.

    105. (FUB/Analista de Tecnologia da Informação/2011) Uma classe abstrata não pode ser diretamente instanciada. Somente as subclasses derivadas por he-rança múltipla de classes abstratas, chamadas de classes concretas, podem ser instanciadas.

    106. (TRE-ES/Técnico/Programação de Sistemas/2011) O encapsulamento em Java somente pode ser realizado por meio do modificador de acesso protegido.

    107. (Correios/Analista de Sistemas/Desenvolvimento de Sistemas/2011) Na lin-guagem de programação Java, um método público da superclasse somente pode ser anulado por um método público da subclasse.

    108. (MPU/Analista de Informática/Desenvolvimento de Sistemas/2010) No código em Java apresentado a seguir, a tentativa de execução da classe Principal resultará em erro, porque o objeto p1 foi criado utilizando como tipo a classe abstrata Conta.abstract class Conta

    {

    protected float saldo;

    public abstract float saldoConta ( );

    public void setSaldo (float saldo)

    {

    this.saldo = saldo+50f;

    }

    }

    class Poupanca extends Conta

    {

    public float saldoConta( )

    {

    return saldo;

    }

    }

    Tecnologia da Informação – Questões Comentadas I Cespe / UnB

    22

    ELSEVIER

  • public class Principal

    {

    public static void main (String args[ ])

    {

    conta p1 = new Poupanca( );

    ((Poupanca)p1).setSaldo(450f);

    System.out.println(“saldo: “+((Poupanca)p1).saldoConta( ));

    }

    }

    109. (DETRAN-DF/Analista/Análise de Sistemas/2009) A implementação de herança múltipla em Java não é possível.

    2.2. Padrões de Projeto

    Ao estudar padrões de projeto, há dois tópicos de maior relevância: a clas-sificação dos padrões (criação, estruturais e comportamentais) e seu propósito.

    Conhecer a classificação é fundamental para eliminar opções nas questões. Em muitos casos, apenas o conhecimento da classificação é suficiente para de-terminar se um item está correto.

    Cada padrão está documentado sob o formato: intenção (propósito), mo-tivação, aplicabilidade, estrutura, participantes, colaborações, consequências, implementação, usos conhecidos e padrões relacionados. É claro que é importante conhecer todos os elementos, mas vale destacar a importância de conhecer o propósito de cada um deles.

    Questões incluindo código-fonte e a diagramas sobre a estrutura dos padrões tem chance mínima de serem cobradas.

    As questões a seguir tratam dos 23 padrões de projeto da chamada “gangue dos quatro” (GoF ou Gang of Four – os quatro autores do Livro Padrões de Pro-jeto – Soluções Reutilizáveis de Software Orientado a Objetos).

    110. (TRT-RN/Técnico Judiciário/Tecnologia da Informação/2010) Os padrões de projeto podem ser definidos como soluções já testadas para problemas que ocorrem frequentemente durante o projeto de software.

    111. (STJ/Analista Judiciário/Tecnologia da Informação/2008) Os padrões de projeto podem ser usados no projeto orientado a objetos para apoiar o reuso de software. Esses padrões frequentemente empregam a herança e o poli-morfismo para prover generalidade. Abstract factory, strategy e template method são padrões de projeto que podem ser empregados nos frameworks orientados a objetos para facilitar a adaptação dos frameworks.

    Capítulo 2 I Questões de Desenvolvimento de Sistemas Web

    23

  • 112. (TJ-DF/Analista Judiciário/Tecnologia da Informação/2008) O padrão de projeto orientado a objetos denominado singleton exprime o fenômeno recorrente na análise que é a existência de muitas aplicações nas quais há um objeto que é a única instância de sua classe.

    113. (ANAC/Técnico Administrativo/Tecnologia da Informação/2009) O uso de pa-drões de projeto somente pode ser aplicado a projetos que implementam o paradigma de programação orientada a objetos.

    114. (SERPRO/Analista/Desenvolvimento de Sistemas/2008) Adapter é um padrão estrutural utilizado para compatibilizar interfaces de modo que elas possam interagir.

    115. (SERPRO/Analista/Desenvolvimento de Sistemas/2008) Expert é um padrão que apresenta uma interface para várias funcionalidades de uma API de maneira simples e fácil de usar.

    116. (TCU/Auditor Federal de Controle Externo/Tecnologia da Informação/2009) Caso seja verificado no desenvolvimento de um sistema forte acoplamento entre as classes, recomenda-se o uso do padrão de comportamento Factory Method, que evita o acoplamento do remetente de uma solicitação ao seu re-ceptor, dando a mais de um objeto a oportunidade de tratar uma solicitação, mesmo nos casos em que o conjunto de objetos não seja conhecido a priori ou seja definido dinamicamente.

    117. (TCU/Auditor Federal de Controle Externo/Tecnologia da Informação/2009) No desenvolvimento de um sistema estruturado em subsistemas para facilitar o acesso e minimizar a comunicação e dependências entre os subsistemas, o padrão de criação Factory Method, que fornece uma interface para a criação de famílias de objetos relacionados ou dependentes sem especificar suas classes concretas, é mais indicado que o padrão de criação Prototype.

    118. (TCU/Auditor Federal de Controle Externo/Tecnologia da Informação/2009) Se, no desenvolvimento de uma aplicação que leia documentos do tipo txt e seja capaz de converter o documento em vários formatos distintos, houver a necessidade de facilitar acréscimos de novos tipos de conversão, será mais indicado o uso do padrão de estrutura Adapter que o uso do padrão de estrutura Bridge, pois o padrão Adapter separa a construção de um objeto complexo de sua representação para criar representações diferentes com o mesmo processo.

    119. (INMETRO/Analista/Desenvolvimento de Sistemas/2009) Alguns dos usos típicos do padrão Façade são a unificação das várias interfaces de um sistema complexo; a construção de pontos de entrada para cada uma das múltiplas ca-madas de um sistema; a redução de dependências entre um cliente e múltiplas classes de implementação e o encapsulamento de todas as demais interfaces públicas de um sistema.

    Tecnologia da Informação – Questões Comentadas I Cespe / UnB

    24

    ELSEVIER

  • 2.3. Arquitetura Java EE

    Este tópico aborda uma verdadeira “sopa de letrinhas”. O primeiro passo é dominar o que significa cada uma delas. EJB, JPA, JSP, JTA, JSF e servlets são detalhadas nos itens a seguir. Outras como JMS e JCA fazem parte de escopo complementar que deve ser conhecido pelos candidatos. Perceba que, por hora, tratamos apenas de saber qual o propósito de cada uma dessas especificações.

    Trata-se de matéria bastante extensa e que permeia assuntos correlacionados. Assim, embora Hibernate não faça parte diretamente da arquitetura Java EE, foi incluído nesta seção haja vista seu relacionamento com a arquitetura. Ademais, foram incluídas questões que citam de servidores de aplicação e servidores web, frequentemente cobrados em provas relacionadas à infraestrutura e suporte.

    O termo corrente para retratar a arquitetura é Java EE. Antes, eram adotados os termos J2EE e JEE. Perceba que, mesmo em questões recentes, todos os três termos seguem sendo utilizados. Isso será comprovado nas questões dessa seção.

    2.3.1. JSP/Servlets, EJB e Servidores de Aplicação

    120. (TJ-ES/Analista Judiciário/Análise de Sistemas/2011) Na arquitetura J2EE, o container web Apache Tomcat permite a execução de páginas JSP e servlets, que são classes Java que processam dinamicamente as requisições e constroem respostas na forma de páginas HTML.

    121. (Correios/Analista de Sistemas/Desenvolvimento de Sistemas/2011) Ao ser registrado com o contêiner JSP, o arquivo WAR de uma aplicação torna os re-cursos nele armazenados disponíveis para usuários finais mediante o acesso do servidor HTTP associado.

    122. (PREVIC/Analista de Tecnologia da Informação/2011) Em uma aplicação mul-ticamadas na plataforma Java EE, servlets, JavaServer Faces e JSP consistem em tecnologias utilizadas na camada web.

    123. (TRE-BA/Analista Judiciário/Análise de Sistemas/2010) O Enterprise Java-Beans (EJB), cuja especificação mais recente é a da versão 2.1, define, em sistemas Java, um conjunto de tecnologias utilizadas do lado cliente.

    124. (TRE-BA/Analista Judiciário/Análise de Sistemas/2010) Em um sistema de transação distribuído, o Java Transaction API (JTA) permite especificar um conjunto de interfaces entre o gerenciador de transações e as partes envolvidas.

    125. (STJ/Analista Judiciário/Tecnologia da Informação/2008) Na plataforma J2EE, uma aplicação web para a Internet pode ser composta por servlets, Java Server Pages (JSP) e páginas HTML. Nessas aplicações, a apresentação dos dados pode ser separada da lógica do negócio, adotando-se o estilo de arquitetura model view controller (MVC). Nesse caso, pode-se usar servlets operando

    Capítulo 2 I Questões de Desenvolvimento de Sistemas Web

    25

  • como controladoras que recebem as solicitações dos usuários e providenciam o processamento das mesmas. Em uma mesma aplicação, entretanto, só pode existir um servlet operando como controladora.

    126. (Correios/Analista de Sistemas/Desenvolvimento de Sistemas/2011) Ao usar tag personalizada JSP, é suficiente carregar uma URL que indique a localização do arquivo TLD para a biblioteca que se deseja acessar.

    127. (PREVIC/Analista de Tecnologia da Informação/2011) O container JSP provê uma lista de objetos instanciados, chamados de objetos implícitos. É através do objeto aplicação (application object) que são rastreadas as informações de um cliente específico entre múltiplas requisições.

    128. (SECONT-ES/Auditor/Tecnologia da Informação/2009) No desenvolvimento de uma aplicação web que siga o padrão JEE, a tecnologia JSP (Java Server Pages) permite criar páginas web com componentes estáticos e dinâmicos; o AJAX permite a troca e manipulação de dados XML com comunicação assíncrona, utilizando XMLHttpRequest; e o servlet é exemplo de servidor de aplicações que contém diretórios como o bin e o webapps e é responsável por gerenciar requisições recebidas de clientes.

    129. (MPU/Analista de Informática/Perito/2010) Os programas a seguir, que cons-tituem uma integração entre as tecnologias JSP e Servlet, implementam uma solução válida para mostrar o valor obtido, por uma empresa, com o lucro ou prejuízo na venda de um produto.

    Produto:

    Compra:

    Venda:

    import java.io.*;

    import javax.servlet.*;

    import javax.servlet.http.*;

    public class VendaServlet extends HttpServlet {

    protected void service (HttpServletRequest request, HttpServletResponse response)

    throws ServletException, IOException {

    response.setContentType (“text/html;charset=UTF-8”);

    PrintWriter out = response.getWriter( );

    String produto = request.getParameter(“btDesc”);

    float compra = Float.parseFloat(request.getParameter(“btCompra”));

    float venda = Float.parseFloat(request.getParameter(“btVenda”));

    Tecnologia da Informação – Questões Comentadas I Cespe / UnB

    26

    ELSEVIER

  • float lucro = venda - compra;

    out.println (“”);

    out.println (“”);

    out.println (“Mpu VendaServlet”);

    out.println (“”);

    out.println (“”);

    out.println (“O lucro : + lucro + “”);

    out.println (“”);

    out.println (“”);

    }

    }

    130. (MPU/Analista de Informática/Perito/2010) Para que métodos estáticos de classes Java sejam executados a partir das funções da linguagem de expressão em JSP, é necessário que o nome da função coincida com o nome do método da classe Java.

    131. (MPU/Analista de Informática/Perito/2010) O contêiner, que executa JSP, transforma o programa JSP em Servlet, assim, a expressão “< %=Math.Ran-dom()% >” se torna argumento para out.println().

    132. (MPU/Analista de Informática/Perito/2010) Em um contêiner Servlet, a exe-cução do programa MpuServlet1 a seguir implica, também, na execução do programa MpuServlet2.import java.io.*;

    import javax.servlet.*;

    import javax.servlet.http.*;

    public class MpuServlet1 extends HttpServlet (

    protected void doGet (HttpServletRequest request, HttpServletResponse response)

    throws ServletException, IOException {

    response.setContentType (“text/html;charset=UTF-8”);

    PrintWriter out = response.getWriter( );

    out.println (“”);

    out.println (“”);

    out.println (“Concurso MPU”);

    out.println (“”);

    out.println (“”);

    out.println (“Concurso do MPU – Tela 1”);

    response.flushBuffer( );

    RequestDispatcher rd = request.getRequestDispatcher(“MpuServlet2”);

    rd.forward(request, response);

    out.println (“”);

    out.println (“”);

    out.close( );

    }

    }

    Capítulo 2 I Questões de Desenvolvimento de Sistemas Web

    27

  • import java.io.*;

    import javax.servlet.*;

    import javax.servlet.http.*;

    public class MpuServlet2 extends HttpServlet (

    protected void doGet (HttpServletRequest request, HttpServletResponse response)

    throws ServletException, IOException (

    response.setContentType (“text/html;charset=UTF-8”);

    PrintWriter out = response.getWriter( );

    out.println (“”);

    out.println (“”);

    out.println (“Concurso MPU”);

    out.println (“”);

    out.println (“”);

    out.println (“Concurso do MPU – Tela 2”);

    out.println (“”);

    out.println (“”);

    out.close( );

    }

    }

    133. (CBM-DF/Oficial/Informática/2011) O uso de Javabeans, o controle de trans-ferência entre as páginas e o suporte independente de applets Java pelos browsers são possibilidades proporcionadas pela action tag da JSP.

    134. (TRE-ES/Técnico/Programação de Sistemas/2011) Nos beans de entidade cuja persistência é gerenciada por contêiner, o desenvolvedor tem a responsabili-dade de escrever todo o código JDBC para a interação com o banco de dados.

    135. (MPU/Técnico de Informática/2010) A plataforma adotada pela SUN para a sua versão 6 do Java EE é o JBoss, que implementa resposta para requisições JSP e WebServices e ainda permite implantar servlets.

    136. (TCU/Auditor Federal de Controle Externo/Tecnologia da Informação/2010) A web profile da plataforma JEE apresenta, em relação ao perfil application server definido em edições anteriores da plataforma Java, as seguintes vanta-gens: fornece suporte para POJOs (plain old Java objects) e annotations; possui modelo de empacotamento de componentes mais simples; a configuração dos seus descritores XML (extensible markup language) é mais fácil; é aderente ao padrão SOA.

    137. (TCU/Auditor Federal de Controle Externo/Tecnologia da Informação/2010) A tecnologia EJB (enterprise Java beans) apresenta, na sua versão 3.1, melhorias que propiciam facilidades para o uso de beans singleton e que permitem o uso de beans de uma classe, sem necessidade de desenvolvimento de sua interface correspondente, e a invocação assíncrona de beans de sessão.

    Tecnologia da Informação – Questões Comentadas I Cespe / UnB

    28

    ELSEVIER

  • 138. (TCU/Auditor Federal de Controle Externo/Tecnologia da Informação/2010) No desenvolvimento de conteúdos para apresentação, o uso de facelets traz vantagens em relação ao uso de JSP. Uma delas é a maior modularidade, com o uso de templates e componentes compostos (composite).

    2.3.2. JSF

    139. (TRT-RN/Analista Judiciário/Tecnologia da Informação/2010) Portlets é um subprojeto do Java Server Faces (JSF) que permite integração com o Apache Myfaces e que tem como característica nativa a criação de templates com componentes reutilizáveis utilizando o XHTML como tecnologia de view do JSF.

    140. (TRE-BA/Analista Judiciário/Análise de Sistemas/2010) Entre os itens que o padrão Java Server Faces (JSF) utiliza, estão os componentes, os eventos e a navegabilidade.

    141. (MPU/Analista de Informática/Perito/2010) Uma aplicação web deve prover mecanismos de validação de dados. O JSF fornece vários validadores de dados padrões que podem ser utilizados no lado do cliente (client-side).

    142. (TCU/Auditor Federal de Controle Externo/Tecnologia da Informação/2010) Para suportar a construção de aplicações com Ajax e JSF, recomenda-se aos desenvolvedores de páginas que usem a tag , relacionada ao proces-samento de pedidos http assíncronos.

    143. (SECONT-ES/Auditor/Tecnologia da Informação/2009) O JSF é um framework web embasado em interface gráfica, capaz de renderizar componentes e manipular eventos em aplicações web no padrão Java EE, no qual os com-ponentes JSF são orientados a eventos. O JSF fornece, ainda, mecanismos para conversão, validação, execução de lógica de negócios e controle de navegação.

    2.3.3. JPA/Hibernate

    144. (MPU/Técnico de Informática/2010) A API de Persistência Java é embasada em ideias contidas em frameworks líderes de mercado, como Hibernate, Oracle TopLink e Objetos de Dados Java.

    145. (SECONT-ES/Auditor/Tecnologia da Informação/2009) O Hibernate, um fra-mework de mapeamento objeto relacional (ORM), cria uma camada persistência na solução desenvolvida, o que permite ligar os objetos aos bancos de dados relacionais. Entre seus serviços, o Hibernate provê um meio de controlar tran-sações, por meio de métodos de suas interfaces session e transaction, tendo ainda suporte a herança e polimorfismo. É distribuído sob a licença LGPL, o que permite seu uso em projetos comerciais ou open source.

    Capítulo 2 I Questões de Desenvolvimento de Sistemas Web

    29

  • 146. (TRE-BA/Analista Judiciário/Análise de Sistemas/2010) No Hibernate, apenas a linguagem de consulta HQL (hibernate query language) pode ser utilizada. A HQL executa os pedidos SQL sobre as classes de persistência do Java, em vez de tabelas no banco de dados, o que diminui a distância entre o desenvolvimento das regras de negócio e o banco de dados.

    147. (INMETRO/Analista/Desenvolvimento de Sistemas/2009) Considerando que para o uso da tecnologia Hibernate na linguagem Java são empregados, usual-mente, dois tipos de arquivos: (i) configuração e (ii) mapeamento, sendo a lista a seguir uma sequência de elementos XML utilizados na tecnologia Hibernate: (a) hibernate-mapping (b) class; (c) generator; (d) property; (e) session-factory; e (f) mapping, então, uma associação adequada entre os elementos e o tipo de arquivo Hibernate, no qual eles usualmente são empregados, é a seguinte: {(a, ii), (b, ii), (c, i), (d, ii), (d, i), (e, i), (f, i)}.

    148. (CBM-DF/Oficial/Informática/2011) A principal característica do Hibernate é a transformação das tabelas de dados para classes em Java. Além disso, ele gera as chamadas SQL e libera o desenvolvedor do trabalho manual da conversão dos dados resultantes.

    149. (MPU/Analista de Informática/Perito/2010) Na instalação padrão do Hibernate, o trecho de código Java abaixo permite a inserção de 200.000 linhas em uma tabela no banco de dados.Session ses = sessionFactory.openSession( );

    Transaction trans = ses.beginTransaction( );

    for (int i=0; i

  • 150. (TCU/Auditor Federal de Controle Externo/Tecnologia da Informação/2010) A fim de preservar a acessibilidade de tabelas, o elemento não deve ser usado para composição do layout de páginas HTML.

    151. (BASA/Técnico Científico/Tecnologia da Informação/Análise de Sistemas/2010) A sintaxe da linguagem JavaScript assemelha-se muito à da Java e da C++, por exemplo, na criação de objetos usando o operador new e na definição de classes usando a diretiva class.

    152. (INMETRO/Analista/Desenvolvimento de Sistemas/2009) Alguns dos efeitos da carga do script abaixo em um browser habilitado para execução de scripts na linguagem JavaScript e que a suporta, são: o título da janela do browser será Página 1 e o conteúdo da página apresentada será a expressão Olá!

    Página 1

    document.write(‘olá!’);

    document.title=’Título’;

    Sem JavaScript.

    153. (SERPRO/Analista/Desenvolvimento de Sistemas/2008) O Javascript expande as capacidades de uma página HTML e, unido ao CSS, formou o DHTML.

    154. (ANATEL/Especialista em Regulação/Informática/2006) Um documento HTML é armazenado em um arquivo ASCII e a estrutura do documento é descrita com sequências de caracteres chamadas tags. O estilo de um documento pode ser definido com tags HTML ou com a linguagem Cascading Style Sheets. O código que define o estilo de um documento HTML tem de ser armazenado no mesmo arquivo no qual está o documento.1

    2

    3

    4 this.fone.opcional = true;

    5 this.cep.numerico = true; this.cep.min = 0; this.cep.max = 99999;

    6 this.idade.numerico = true; this.idade.min = 0; this.idade.max = 120;

    7 return verifica (this);” METHOD=”post”>

    Capítulo 2 I Questões de Desenvolvime