ebook: tecnológico em analise e desenvolvimento de sistemas

34

Upload: puc-goias

Post on 02-Apr-2016

226 views

Category:

Documents


2 download

DESCRIPTION

Enade 2014 PUC Goiás

TRANSCRIPT

Page 1: eBook: Tecnológico em Analise e Desenvolvimento de Sistemas
Page 2: eBook: Tecnológico em Analise e Desenvolvimento de Sistemas
Page 3: eBook: Tecnológico em Analise e Desenvolvimento de Sistemas

e.BOOK: QUESTÕES DO ENADE COMENTADAS

Curso: Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas

Organizador(es): Prof. André Luiz Alves

Page 4: eBook: Tecnológico em Analise e Desenvolvimento de Sistemas

SUMÁRIO

QUESTÃO Nº 09

Autor(a): ): Prof. André Luiz Alves

QUESTÃO Nº 10

Autor(a): Prof. Ronaldo Lopes de Oliveira

QUESTÃO Nº 11

Autor(a):

QUESTÃO Nº 12

Autor(a): Prof. Ronaldo Lopes de Oliveira

QUESTÃO Nº 13

Autor(a): Prof. Adailton Araújo

QUESTÃO Nº 14

Autor(a):

QUESTÃO Nº 15

Autor(a):

QUESTÃO Nº 16

Autor(a):

QUESTÃO Nº 17

Autor(a): Prof. Adailton Araújo

QUESTÃO Nº 18

Autor(a): Prof. Adailton Araújo

QUESTÃO Nº 19

Autor(a):

QUESTÃO Nº 20

Autor(a):

QUESTÃO Nº 21

Autor(a): Prof. Ronaldo Lopes de Oliveira

QUESTÃO Nº 22

Autor(a):

QUESTÃO Nº 23

Autor(a):

QUESTÃO Nº 24

Autor(a): Prof. Ronaldo Lopes de Oliveira

QUESTÃO Nº 25

Autor(a): Prof. Adailton Araújo

QUESTÃO Nº 26

Autor(a):

Page 5: eBook: Tecnológico em Analise e Desenvolvimento de Sistemas

QUESTÃO Nº 27

Autor(a): Prof. André Luiz Alves

QUESTÃO Nº 28

Autor(a): Prof. Aníbal Santos Jukemura

QUESTÃO Nº 29

Autor(a): Prof. Aníbal Santos Jukemura

QUESTÃO Nº 30

Autor(a): Prof. Ronaldo Lopes de Oliveira

QUESTÃO Nº 31

Autor(a): Prof. Aníbal Santos Jukemura

QUESTÃO Nº 32

Autor(a): Prof. Ronaldo Lopes de Oliveira

QUESTÃO Nº 33

Autor(a):

QUESTÃO Nº 34

Autor(a):

QUESTÃO Nº 35

Autor(a):

QUESTÃO Nº 09

O levantamento de requisitos é uma etapa fundamental do projeto de sistemas. Dependendo da situação encontrada, uma ou mais técnicas podem ser utilizadas para a elicitação dos requisitos. A respeito dessas técnicas, analise as afirmações a seguir. I. Workshop de requisitos consiste na realização de reuniões estruturadas e delimitadas entre os analistas de requisitos do projeto e representantes do cliente.

Page 6: eBook: Tecnológico em Analise e Desenvolvimento de Sistemas

II. Cenário consiste na observação das ações do funcionário na realização de uma determinada tarefa, para verificar os passos necessários para sua conclusão. III. As entrevistas são realizadas com os stakeholders e podem ser abertas ou fechadas. IV. A prototipagem é uma versão inicial do sistema, baseado em requisitos levantados em outros sistemas da organização. É correto apenas o que se afirma em A I e II. B I e III. C II e IV. D I, III e IV. E II, III e IV.

Gabarito: B

Tipo de questão: Fácil

Conteúdo avaliado: Engenharia de Requisitos

Autor(a): Prof. André Luiz Alves

Comentário: A técnica de elicitação de requisitos denominada Cenários se caracteriza por representar os diversos modos de funcionamento de um sistema (existente ou a ser desenvolvido). Uma das formas de representação de cenários pode ser o Caso de Uso expandido (não confundir com os casos de uso elaborados como especificação funcional de determinado componente a ser construído). A representação em cenários é recomendada principalmente associada protótipos pois favorece a “descoberta” de requisitos que poderiam estar ocultos. O exposto na afirmação II corresponde à técnica denominada Observação e Análise Social (ou Etnografia – como aplicação dos estudos etnográficos), portanto é falsa. A prototipagem realmente corresponde a uma versão inicial do sistema, porém não há a exigência de que seja obrigatoriamente baseada em requisitos levantados em outros sistemas da organização, portanto é falsa.

Referências:

QUESTÃO Nº 10

Várias técnicas relacionadas à programação extrema (XP) são diretamente ligadas ao código, incluindo a refatoração, programação em pares e integração contínua. A

Page 7: eBook: Tecnológico em Analise e Desenvolvimento de Sistemas

programação em pares é a prática preferida dos desenvolvedores XP trabalhando em pares em um computador. A) programação em pares auxilia no desenvolvimento de código de melhor qualidade quando os pares a elaboram e utilizam padrões de codificação conjuntamente, os quais, quando utilizados corretamente e apropriadamente, reduzem problemas individuais . B) estão acostumados ao desenvolvimento e à propriedade coletiva, limitando-se a fazer pequenas mudanças na ocorrência de erros em tempo de execução. C) minimizam os riscos de insucesso no projeto através da utilização de ferramentas para a geração automática de testes funcionais e protótipos de interface. D) escrevem testes em separado e discutem os resultados posteriormente, o que dá a eles a chance de se sintonizarem antes de começarem a implementação. E) trabalham em projetos complexos onde a codificação seja desenvolvida de forma conjunta, minimizando erros e agregando valor onde quer que o sistema necessite.

Gabarito: A

Tipo de questão: Fácil

Conteúdo avaliado: Técnicas de Programação

Autor(a): Prof. Ronaldo Lopes de Oliveira

Comentário: A programação em pares é baseado no popular princípio de que duas cabeças pensam melhor do que uma. Um programador pode auxiliar o outro na aplicação de padrões de qualidade de código e mesmo na construção de algoritmos mais eficazes. Essa forma de trabalho em conjunto pode ser aplicada independentemente da complexidade do sistema, e até na elaboração e execução de testes.

Referências:

QUESTÃO Nº 11

Page 8: eBook: Tecnológico em Analise e Desenvolvimento de Sistemas

Gabarito:

Tipo de questão:

Conteúdo avaliado:

Autor(a):

Comentário:

Referências:

QUESTÃO Nº 12

Analise as seguintes afirmações sobre a UML (Linguagem de Modelagem Unificada). I. A UML é uma metodologia para o desenvolvimento de software orientado a objetos, uma vez que fornece um conjunto de representações gráficas e sua semântica para a modelagem de software. II. O diagrama de casos de uso procura, por meio de uma linguagem simples, demonstrar o comportamento externo do sistema. Esse diagrama apresenta o sistema sob a perspectiva do usuário, e é dentre todos da UML, o mais abstrato, flexível e informal. III. Um relacionamento de extensão de um caso de uso “A” para um caso de uso “B” significa que toda vez que “A” for executado ele incorporará o comportamento definido em “B”. IV. Os diagramas de comportamento da UML demonstram como ocorrem as trocas de mensagens entre os objetos do sistema para se atingir um determinado objetivo. É correto apenas o que se afirma em A) I e II. B) II e IV. C) III e IV. D) I, II e III. E) II, III e IV.

Page 9: eBook: Tecnológico em Analise e Desenvolvimento de Sistemas

Gabarito: B

Tipo de questão: Fácil

Conteúdo avaliado: Modelagem de Sistemas

Autor(a): Prof. Ronaldo Lopes de Oliveira

Comentário: A UML é uma linguagem de modelagem e não um processo ou método de desenvolvimento. Ela disponibiliza diagramas para representar conhecimentos ou aspectos específicos de um sistema, mas não define como as etapas de desenvolvimento devem acontecer (processo) e nem como as etapas e artefatos nelas produzidos são integrados (método). Um dos diagramas que a UML disponibiliza é o diagrama de casos de uso que mostra uma visão externa, informal e simplificada do sistema onde são mostrados os casos de uso, os atores neles envolvidos e suas possíveis associações. As associações entre os casos de uso podem ter três semânticas: inclusão, extensão e especialização. Um relacionamento de extensão indica que um caso de uso estende escopo funcional de outro caso de uso em algumas situações. Um relacionamento de inclusão indica que um caso de uso necessariamente inclui a execução de outro caso de uso. Um relacionamento de especialização indica que um caso de uso é uma especialização de outro, herdando todo o escopo do caso de uso genérico, podendo acrescentar algumas variações.

Referências:

QUESTÃO Nº 13

A linguagem gráfica EPC/ARIS é utilizada para modelar processos de negócios. Para isso, utiliza diversos recursos para descrever, representar ou indicar, por exemplo, atividades, funções, processos e fluxos. Nesse contexto, avalie as afirmações a seguir. I. A ligação entre dois processos é indicada por um conector. II. A descrição de um processo deve iniciar e terminar em um evento. III. As funções, ou atividades, são representadas por um retângulo com bordas arredondadas.

Gabarito: E

Tipo de questão: Média

Conteúdo avaliado: Modelagem de Processos de Negócio

Page 10: eBook: Tecnológico em Analise e Desenvolvimento de Sistemas

Autor(a): Prof. Adailton Araújo

Comentário: Na linguagem ECP, um evento representa uma mudança de estado em um determinado momento que tenha alguma relevância ao cliente, por isso os processos sempre iniciam e terminam com a ocorrência de eventos. O Item III é verdadeiro, pois condiz com a notação da linguagem. Já item I é falso, pois os conectores são utilizados quando ocorre unificação ou separação de fluxos e não para indicar a ligação entre dois processos. Na disciplina de Negócio em TI, é dada uma visão sobre a organização de processos de negócio de uma empresa. Na disciplina de Engenharia de Requisitos fica clara a importância de um bom entendimento do negócio para um bom levantamento e especificação de requisitos, o que implica no desenvolvimento de software com maior qualidade.

Referências:

QUESTÃO Nº 14

Gabarito:

Tipo de questão:

Conteúdo avaliado:

Autor(a):

Comentário:

Page 11: eBook: Tecnológico em Analise e Desenvolvimento de Sistemas

Referências:

QUESTÃO Nº 15

Os mapas de navegação enfocam como as pessoas se movimentam por um site ou aplicação. Cada página do site ou local da aplicação é representado com uma caixa ou cabeçalho e todas as páginas que puderem ser acessadas a partir dela devem usá-la como referência. Uma técnica bastante utilizada é colocar todos os fluxos possíveis no mapa de navegação, já que isso destacará seções onde há necessidade de uma revisão no projeto da interface. BENYON, D. Interação humano-computador. 2.ed. São Paulo: Pearson Prentice Hall, 2011. Com relação ao tema, analise as asserções a seguir. Os mapas de navegação são redesenhados muitas vezes no decorrer do ciclo de vida do projeto PORQUE a interface deve ser projetada para atender pessoas (capacidades e limitações motoras, neurológicas, cognitivas, etc.), atividades que as pessoas querem realizar (questões temporais, com ou sem cooperação, se são críticas em termos de segurança ,etc.), contextos nos quais a interação acontece (ambiente físico, contexto social ou organizacional ,etc.), e ater-se às tecnologias empregadas (hardware, plataformas, normas, linguagens de programação, políticas de acesso em ambientes de trabalho e residencial, etc.). As combinações desses elementos são muito diferentes, por exemplo, em um quiosque público, em um sistema de agenda compartilhada, em uma cabine de avião ou em um telefone celular. Acerca dessas asserções, assinale a opção correta. A As duas asserções são proposições verdadeiras, e a segunda é uma justificativa correta da primeira. B As duas asserções são proposições verdadeiras, mas a segunda não é uma justificativa correta da primeira. C A primeira asserção é uma proposição verdadeira, e a segunda, uma proposição falsa. D A primeira asserção é uma proposição falsa, e a segunda, uma proposição verdadeira.

Page 12: eBook: Tecnológico em Analise e Desenvolvimento de Sistemas

E Tanto a primeira quanto a segunda asserções são proposições falsas.

Gabarito: B

Tipo de questão: Média

Conteúdo avaliado: Tecnologia de Desenvolvimento de Software

Autor(a): Prof. Gilcimar Divino de Deus

Comentário: Na disciplina Tecnologia de Desenvolvimento II, podemos observar exemplos de mapas de navegação no arquivo faces-config.xml do JSF, que por meio dele são definidos os fluxos de telas e suas regras para exibição. Outro fator importante que é possível observar na disciplina é a utilização de layouts responsivos para que as interfaces se adequem aos diferentes tipos de dispositivos e atenda as necessidades do usuário independente de plataforma. Porém para os usuários com necessidades especiais é necessário pensar em uma interface que além de adequar ao conteúdo se adeque também as necessidades físicas e psíquicas do usuário e a resposta para isso é um bom projeto de interface homem-máquina.

Referências:

QUESTÃO Nº 16

Gabarito:

Tipo de questão:

Conteúdo avaliado:

Page 13: eBook: Tecnológico em Analise e Desenvolvimento de Sistemas

Autor(a):

Comentário:

Referências:

QUESTÃO Nº 17

Os processos de negócio aumentam o entendimento do “o que precisa ser feito” e do “como precisa ser feito” dentro de uma organização. (BALDAM, R. 2009, ed.2, p. 25) Sabendo disso, a fase da gestão de processos de negócio que evita a estagnação dos processos organizacionais é a A fase de gerenciamento. B a fase de planejamento. C a fase de monitoração. D a fase de modelagem. E a fase de otimização.

Gabarito: E

Tipo de questão: Média

Conteúdo avaliado: Gestão de Processos de Negócio

Autor(a): Prof. Adailton Araújo

Comentário Quando uma organização faz o levantamento, modelagem e implementação de processos de negócio, isso indica apenas o início de um ciclo. Os processos devem entrar em um ciclo de melhoria contínua (otimização) que deve ser responsável por garantir que esses processos estejam sempre alinhados os objetivos de negócio da organização. O que funciona bem hoje, pode não funcionar amanhã, pois os objetivos e necessidades mudam constantemente e os processos de negócio devem atender rapidamente a essas mudanças, essa garantia é caracterizada como otimização.

Page 14: eBook: Tecnológico em Analise e Desenvolvimento de Sistemas

Referências:

QUESTÃO Nº 18

A Norma ISO/IEC FDIS 14764 (2006) estabelece definições de vários tipos de manutenção e fornece um guia para gerenciar o processo de manutenção, que pode ser aplicado no planejamento, execução e controle, revisão e avaliação, e fechamento do processo de manutenção. Segundo essa Norma, solicitações de modificação são classificadas como corretiva, preventiva, adaptativa ou perfectiva. Os detalhes de como implementar ou realizar as atividades e tarefas de manutenção não são especificadas pela Norma, sendo de responsabilidade do mantenedor. ISO/IEC FDIS 14764. Software Engineering – Software Life Cycle Processes - Maintenance. 2006 Considerando os tipos de manutenção e as atividades de implementação do processo, avalie as afirmações a seguir. I. O mantenedor deve desenvolver, documentar e executar planos e procedimentos para realizar as atividades e tarefas do processo de manutenção. II. O mantenedor deve alterar a configuração do sistema para corrigir erros identificados pelos usuários usando a manutenção perfectiva. III. O mantenedor deve estabelecer procedimentos para receber, registrar e rastrear solicitações de modificação/registro de problemas dos usuários, e também prover realimentação para os usuários. IV. O mantenedor deve documentar a estratégia a ser usada para melhorar a manutebilidade futura do sistema, usando a manutenção corretiva.

Gabarito: C

Tipo de questão: Média

Conteúdo avaliado: Manutenção de Software

Autor(a): Prof. Adailton Araújo

Comentário:

Page 15: eBook: Tecnológico em Analise e Desenvolvimento de Sistemas

O item II não é verdadeiro, pois a identificação e correção de erros é papel da manutenção corretiva e não da manutenção perfectiva. A manutenção perfectiva atende a manutenções relacionadas a pedidos do usuário para modificar funções existentes, incluir novas funções e efetuar melhoramentos gerais. Com isso, podemos concluir que o item IV também é falso, pois da outro enforque para manutenção corretiva. As disciplinas de Processo e Qualidade de Software abordam conceitos relacionados ao ciclo de vida de desenvolvimento e manutenção de software. Como base são abordados modelos reconhecidos internacionalmente como CMMI, MPS.Br, ISO12207, etc.

Referências:

QUESTÃO Nº 19

Gabarito:

Tipo de questão:

Conteúdo avaliado:

Autor(a):

Comentário:

Referências:

Page 16: eBook: Tecnológico em Analise e Desenvolvimento de Sistemas

QUESTÃO Nº 20

Padrões de criação (creational patterns) abstraem a forma como objetos são criados, tornando o sistema independente de como os objetos são criados, compostos e representados. Um padrão de criação de classe usa a herança para variar a classe que é instanciada, enquanto que um padrão de criação de objeto delegará a instanciação para outro objeto. Há dois temas recorrentes nesses padrões. Primeiro, todos encapsulam conhecimento sobre quais classes concretas são usadas pelo sistema. Segundo, ocultam o modo como essas classes são criadas e montadas. Tudo que o sistema sabe no geral sobre os objetos é que suas classes são definidas por classes abstratas. Os padrões de criação são classificados em Abstract Factory, Builder, Factory Method, Prototype e Singleton. GAMMA, E. et al. Design Patterns: Elements of Reusable Object-Oriented Software. Reading, MA: Addison-Wesley, 1994.(adaptado) O padrão Abstract Factory é usado quando A o sistema deve ser independente da maneira como seus produtos são criados, relacionados e representados. B o algoritmo de criação de um objeto deve ser independente das suas partes e da maneira como ele é montado. C houver uma única instância de uma classe e esta for acessada a partir de um ponto de acesso conhecido. D classes delegam responsabilidade a alguma das subclasses, e deseja-se localizar qual é a subclasse acessada. E as classes utilizadas para instanciação são especificadas em tempo de execução ou carregadas dinamicamente.

Gabarito: A

Tipo de questão: Média

Conteúdo avaliado: Arquitetura de Software - Padrões de Projeto

Autor(a): Prof. Gilcimar Divino de Deus

Comentário: Na disciplina Tecnologia de Desenvolvimento II, podemos observar um exemplo real de padrão de criação de objetos com as implementações utilizando o Spring Framework que utiliza o padrão Factory, juntamente com outros padrões, para gerenciar o ciclo de vida e injeções de dependência de cada objeto. O Abstract Factory é uma variação do Factory fazendo com que os objetos sejam criados e relacionados sem dependência entre os objetos e a fábrica. A grande importância de ter um padrão de fábrica é possuir o controle, quase total, sobre os objetos criados,

Page 17: eBook: Tecnológico em Analise e Desenvolvimento de Sistemas

isso estende as possibilidades do que é possível fazer dinamicamente no framework, e retirando uma parte da responsabilidade, via código, do programador, e por consequência, diminuindo o número de erros e, utilizando algo recorrente que já foi amplamente utilizado.

Referências:

QUESTÃO Nº 21

O paradigma de programação orientado a objetos tem sido largamente utilizado no desenvolvimento de sistemas. Considerando o conceito de herança, avalie as afirmações abaixo. I. Herança é uma propriedade que facilita a implementação de reuso. II. Quando uma subclasse é criada, essa herda todas as características da superclasse, não podendo possuir propriedades e métodos próprios. III. Herança múltipla é uma propriedade na qual uma superclasse possui diversas subclasses. IV. Extensão é uma das formas de se implementar herança. É correto apenas o que se afirma em A) I. B) III. C) I e IV. D) II e III. E) II e IV.

Gabarito: C

Tipo de questão: Média

Conteúdo avaliado: Paradigmas de Desenvolvimento de Software

Autor(a): Prof. Ronaldo Lopes de Olilveira

Comentário: O mecanismo de herança pode ser utilizado para reuso quando, por exemplo, uma

Page 18: eBook: Tecnológico em Analise e Desenvolvimento de Sistemas

classe especializada é criada a partir de uma classe mais geral. Por meio do mecanismo de herança a classe especializada pode reusar todas as características e comportamentos já definidos pelos atributos e métodos da classe genérica. Além de poder reusar as características e comportamentos da classe genérica, a classe especializada pode receber outros atributos e métodos que vão ampliar ou refinar suas funcionalidades. Herança simples acontece quando uma classe especializada herda atributos de uma única classe genérica, enquanto que herança múltipla acontece quando uma classe é especializada a partir de mais de uma classe genérica, fazendo com que ela herde atributos e comportamentos de mais de uma origem. As formas mais comuns de implementação de herança são:

Extensão: uma subclasse estende a superclasse, acrescentando novos membros (atributos e/ou métodos). A superclasse permanece inalterada, motivo pelo qual este tipo de relacionamento é normalmente referenciado como herança estrita.

Especificação: a superclasse especifica o que uma subclasse deve oferecer, mas não implementa nenhuma funcionalidade. Diz-se que apenas a interface (conjunto de especificação dos métodos públicos) da superclasse é herdada pela subclasse.

Combinação de extensão e especificação: a subclasse herda a interface e uma implementação padrão de (pelo menos alguns de) métodos da superclasse. A subclasse pode então redefinir métodos para especializar o comportamento em relação ao que é oferecido pela superclasse, ou ter que oferecer alguma implementação para métodos que a superclasse tenha declarado mas não implementado. Normalmente, este tipo de relacionamento é denominado herança polimórfica.

A última forma é, sem dúvida, a que mais ocorre na programação orientada a objetos.

Referências:

QUESTÃO Nº 22

Gabarito:

Tipo de questão:

Conteúdo avaliado:

Autor(a):

Comentário:

Page 19: eBook: Tecnológico em Analise e Desenvolvimento de Sistemas

Referências:

QUESTÃO Nº 23

Gabarito:

Tipo de questão:

Conteúdo avaliado:

Autor(a):

Comentário:

Referências:

QUESTÃO Nº 24

No que diz respeito aos baselines (linhas base) da gerência de configuração, avalie as seguintes afirmações. I. As baselines representam conjuntos de itens de configuração formalmente aprovados que servem de base para as etapas seguintes de desenvolvimento. II. As baselines são definidas e podem ocorrer ao final de cada uma das fases do processo de desenvolvimento de software, ou de algum outro modo definido pela

Page 20: eBook: Tecnológico em Analise e Desenvolvimento de Sistemas

gerência. III. Um item de configuração de software “baselined”pode ser alterado a qualquer momento durante o desenvolvimento de software independentemente de um procedimento formal. IV. Ao término de uma etapa do desenvolvimento, e após sua aceitação formal, a baseline na qual a etapa se baseou pode ser descartada pois já se encontra representada nos artefatos gerados. V. Uma das funções da tarefa “Identificação da Configuração”, envolve a definição de uma nomenclatura que possibilite a identificação inequívoca dos itens de configuração, baselines e releases. É correto apenas o que se afirma em A) III e V. B) III e IV. C) I, II e III. D) I, II e IV. E) I, II e V.

Gabarito: E

Tipo de questão: Média

Conteúdo avaliado: Gerência de Configuração de Software

Autor(a): Prof. Ronaldo Lopes de Oliveira

Comentário: Durante o desenvolvimento de software são produzidos artefatos que precisam ser aprovados formalmente para que possam servir de base para as próximas fases do projeto. Por exemplo, o conjunto de requisitos de um software precisa ser aprovado formalmente para que os interessados no sistema tenham uma referência sobre o que vai ser desenvolvido. No planejamento do projeto de desenvolvimento serão definidos, por meio de um plano de configuração, quais os produtos de trabalho que serão objetos de gerência de configuração, os chamados itens de configuração. Também será definido nesse plano quais desses itens serão objeto de aprovações formais e quando serão feitas essas aprovações. Um conjunto de itens de configuração aprovado formalmente define uma baseline para o projeto que deve ser preservada ao longo de todo projeto para preservar a história desse item ao longo do projeto. Uma baseline não é alterada, mas pode acontecer de uma nova baseline ser gerada para o item a partir e, exclusivamente, da aplicação de um procedimento formal de mudança em que pessoas autorizadas possam solicitar e realizar mudanças no item que, após aprovadas novamente de maneira formal, gerarão uma nova baseline. Para que esse processo de mudança e o esquema de versionamento funcionem adequadamente, devem ser definidas no plano de configuração formas inequívocas de identificação (nomeação), de itens de configuração, baselines e releases, assim como formas de armazenamento e autorizações de acesso.

Page 21: eBook: Tecnológico em Analise e Desenvolvimento de Sistemas

Referências:

QUESTÃO Nº 25

Em projetos de desenvolvimento de software, vários tipos de testes podem ser empregados para garantia da qualidade do produto. Um dos tipos comumente empregados é o teste de regressão, o qual tem como objetivo. A identificar defeitos através da verificação do código-fonte. B identificar defeitos através da execução do sistema ou parte dele. C identificar defeitos no sistema em situação de sobrecarga. D verificar a existência de defeitos após alterações em um sistema (ou parte dele) já testado. E verificar a existência de defeitos em um sistema ou parte dele.

Gabarito: D

Tipo de questão: Fácil

Conteúdo avaliado: Tipos de testes de sistemas de informação

Autor(a): Prof. Adailton Araújo

Comentário Um dos conceitos abordados pelas disciplinas de Processo e Qualidade de Software é a Verificação e Validação de Software. Ao estudar essa área de conhecimento serão abordados os níveis, categorias e técnicas de teste. As letras A, B, C e E, todas dizem respeito a garantir a qualidade de um software por meio de testes, porém, nenhuma delas cita características que caracterizam o teste de regressão. Vamos tentar entender o teste de regressão com um exemplo. Desenvolvi a funcionalidade X de um software, realizei os testes 1, 2 e 3 para garantir que essa funcionalidade está funcionando de acordo com o solicitado pelo cliente. Logo em seguida o cliente já começou a utilizar o software. Em um segundo momento, o cliente solicita o desenvolvimento de uma nova funcionalidade Y. Eu desenvolvo essa nova funcionalidade, que tem que funcionar de maneira integrada com a funcionalidade antiga X. Para testar a nova funcionalidade eu desenvolvi os testes 4, 5 e 6. Porém, não bastar testar 4, 5 e 6, para garantir que o produto (X+Y) esteja funcionando, pois o novo desenvolvimento pode ter gerado anomalias no que funcionava anteriormente. Para evitar que X tenha REGREDIDO, o correto é executar o teste de regressão, ou seja, testar também 1, 2 e 3, para garantir que X continua funcionando depois do desenvolvimento de Y. O que caracteriza a resposta

Page 22: eBook: Tecnológico em Analise e Desenvolvimento de Sistemas

verdadeira para letra D.

Referências:

QUESTÃO Nº 26

Gabarito:

Tipo de questão:

Conteúdo avaliado:

Autor(a):

Comentário:

Referências:

QUESTÃO Nº 27

Modelos de ciclo de vida de processo de software são descrições abstratas do processo de desenvolvimento, mostrando as principais atividades e informações usadas na produção e manutenção de software, bem como a ordem em que as atividades devem ser executadas. Com relação aos modelos de ciclo de vida de processo de software, analise as seguintes asserções. O modelo de desenvolvimento em cascata acrescenta aspectos gerenciais (planejamento, controle e tomada de decisão) ao processo de desenvolvimento de

Page 23: eBook: Tecnológico em Analise e Desenvolvimento de Sistemas

software

PORQUE

considera que o processo é composto por várias etapas que são executadas de forma sistemática e sequencial. Acerca dessas asserções, assinale a opção correta. A As duas asserções são proposições verdadeiras, e a segunda é uma justificativa correta da primeira. B As duas asserções são proposições verdadeiras, mas a segunda não é uma justificativa correta da primeira. C A primeira asserção é uma proposição verdadeira, e a segunda, uma proposição falsa.

D A primeira asserção é uma proposição falsa, e a segunda, uma proposição verdadeira. E Tanto a primeira quanto a segunda asserções são proposições falsas.

Gabarito: D

Tipo de questão: Média

Conteúdo avaliado: Ciclo de Vida do Software

Autor(a): Prof. André Luiz Alves

Comentário: O modelo de desenvolvimento em cascata não acrescenta aspectos gerenciais, mas se constitui por várias etapas que são executadas de forma sistemática e sequencial.

Referências:

QUESTÃO Nº 28

A virtualização permite que um único computador hospede múltiplas máquinas virtuais, cada uma com seu próprio sistema operacional. Essa técnica tem ganhado

Page 24: eBook: Tecnológico em Analise e Desenvolvimento de Sistemas

importância nos dias atuais e vem sendo utilizada para resolver diversos tipos de problemas. Considerando os diversos aspectos a serem considerados na utilização da virtualização, avalie as afirmações abaixo. I. Um sistema operacional sendo executado em uma máquina virtual utiliza um subconjunto da memória disponível na máquina real. II. Uma das aplicações da virtualização é a disponibilização de múltiplos sistemas operacionais para teste de software. III. A virtualização só pode ser utilizada em sistemas operacionais Linux. IV. Um sistema operacional executado em uma máquina virtual apresenta um desempenho superior ao que alcançaria quando executado diretamente na mesma máquina real. É correto apenas o que se afirma em A I. B III. C I e II. D II e IV. E III e IV.

Gabarito: C

Tipo de questão: Fácil

Conteúdo avaliado: Sistemas Operacionais

Autor(a): Prof. Aníbal Santos Jukemura

Comentário Trata-se da avaliação do conceito de virtualização de sistemas operacionais. Segundo Silberschatz (Silberschatz, 2013), uma máquina virtual apresenta a característica de separar o hardware ou um computador isolado em vários ambientes de execução diferentes, criando a ilusão de que cada ambiente de execução separado está executando seu próprio computador privado. Assim, um sistema operacional sendo executado em uma máquina virtual utiliza um subconjunto da memória, CPU, placas de interface de rede etc. do conjunto disponível na máquina real. Portanto, a alternativa I é VERDADEIRA. Conforme Silberschatz (Silberschatz, 2013), um sistema de máquina virtual é um veículo perfeito para pesquisa e desenvolvimento de sistemas operacionais. O desenvolvimento do sistema é feito na máquina virtual, ao invés de uma máquina física, e por isso não atrapalha a operação normal do sistema. Portanto, a alternativa II é VERDADEIRA.

Page 25: eBook: Tecnológico em Analise e Desenvolvimento de Sistemas

Com relação à implementação de máquinas virtuais, existem diversas soluções no mercado, com versões freeware ou comerciais, que permitem a utilização de máquinas virtuais em múltiplas plataformas de sistemas operacionais como o IOS da Apple, Microsoft MS-Windows e GNU/Linux. Dentre soluções, citam-se o VMWARE, VirtualBox e o Microsoft Hyper-V. Logo, a alternativa III é FALSA. Ainda conforme Silberschatz (Silberschatz, 2013), usando técnicas de escalonamento de CPU e de memória virtual, um sistema operacional pode criar a ilusão de que um processo possui seu próprio processador com sua própria memória. Normalmente, um processo possui recursos adicionais, como chamadas de sistema e um sistema de arquivos, que não são fornecidos pelo hardware puro. A técnica de máquinas virtual não fornece tal funcionalidade adicional, mas provê uma interface idêntica à do hardware básico. Considerando que cada máquina é uma cópia do computador básico com limitações do recurso de hardware disponível, seu desempenho é inferior ao que alcançaria quando executado diretamente na mesma máquina real. Assim, a alternativa IV é FALSA.

Referências:

NEMETH, Evi; SNYDER, Garth; HEIN, Trend R. Unix and Linux system administration handbook. 4. ed. New York: Prentice-Hall, 2010.

SILBERSCHATZ, A.; GAVIN B. P.; GAGNE G. Fundamentos de sistemas operacionais. 8. ed. Rio de Janeiro: Elsevier/Campus, 2013.

TANEBAUM, Andrew S. Sistemas operacionais modernos. 3. ed. São Paulo: Prentice-Hall, 2010.

QUESTÃO Nº 29

A pilha é uma estrutura de dados que permite a inserção/remoção de itens dinamicamente seguindo a norma de último a entrar, primeiro a sair. Suponha que para uma estrutura de dados, tipo pilha, são definidos os comandos: • PUSH (p, n): Empilha um número “n” em uma estrutura de dados do tipo pilha “p”; • POP (p): Desempilha o elemento no topo da pilha. Considere que, em uma estrutura de dados tipo pilha “p”, inicialmente vazia, sejam executados os seguintes comandos: PUSH (p, 10) PUSH (p, 5) PUSH (p, 3) PUSH (p, 40) POP (p) PUSH (p, 11) PUSH (p, 4) PUSH (p, 7)

Page 26: eBook: Tecnológico em Analise e Desenvolvimento de Sistemas

POP (p) POP (p) Após a execução dos comandos, o elemento no topo da pilha “p” e a soma dos elementos armazenados na pilha “p” são, respectivamente, A 11 e 29. B 11 e 80. C 4 e 80. D 7 e 29. E 7 e 40.

Gabarito: A

Tipo de questão: Fácil

Conteúdo avaliado: Estrutura de Dados

Autor(a): Prof. Aníbal Santos Jukemura

Comentário: Trata-se de uma avaliação simples de funcionamento de uma estrutura de dados do tipo PILHA. Para resolver esta questão, basta executar passo-a-passo as operações PUSH e POP fornecidas. Através de uma análise simples e coesa, com as quatro primeiras operações PUSH, a pilha “p” apresenta a seguinte configuração:

Pilha p

push(p,40) 40 -- TOPO

push(p,3) 3 push(p,5) 5 push(p,10) 10

Com a operação POP(p), o valor 40 que está no topo é removido e com as três próximas operações PUSH, a pilha apresenta a seguinte configuração:

Pilha p

push(p,7) 7 -- TOPO

push(p,4) 4 push(p,11) 11 após pop(p)

push(p,3) 3 push(p,5) 5

Page 27: eBook: Tecnológico em Analise e Desenvolvimento de Sistemas

push(p,10) 10

Após a execução das duas últimas operações POP, a pilha apresenta a configuração FINAL a seguir:

Pilha p

push(p,11) 11 -- TOPO

push(p,3) 3 push(p,5) 5 push(p,10) 10

Portanto, o topo da pilha possui o valor 11 e a soma de todos os termos é 29.

Referências: BRASS, P. Advanced data structures. New York: Cambridge University Press, 2008. XVI, 456 p. MEDINA, Marco; FERTIG, Cristina. Algoritmos e programação: teoria e prática. 2. ed. São Paulo: Novatec, c2005. 384 p. GUIMARÃES, Angelo de Moura; LAGES, Newton Alberto de Castilho. Algoritmos e estruturas de dados. Rio de Janeiro: LTC, c1985. 216 p.

QUESTÃO Nº 30

As revisões técnicas formais são um meio efetivo de melhorar a qualidade do software. Com relação a esse tipo de revisão, analise as seguintes asserções. Nas revisões, os produtos de trabalho de um indivíduo ou equipe são revisados por técnicos ou gerentes PORQUE as revisões fornecem informações sobre defeitos, aumentando e permitindo o controle da qualidade do produto final. Acerca dessas asserções, assinale a opção correta. A) As duas asserções são proposições verdadeiras, e a segunda é uma justificativa correta da primeira. B) As duas asserções são proposições verdadeiras, mas a segunda não é uma justificativa correta da primeira. C) A primeira asserção é uma proposição verdadeira, e a segunda, uma proposição falsa. D) A primeira asserção é uma proposição falsa, e a segunda, uma proposição

Page 28: eBook: Tecnológico em Analise e Desenvolvimento de Sistemas

verdadeira. E) Tanto a primeira quanto a segunda asserções são proposições falsas.

Gabarito: A

Tipo de questão: Fácil

Conteúdo avaliado: Qualidade de Software

Autor(a): Prof. Ronaldo Lopes de Oliveira

Comentário:

Revisões técnicas formais são reuniões em que técnicos e/ou gerentes se reúnem

para revisar conteúdos de algum produto de trabalho obtido ao longo de um projeto

de software com o objetivo de descobrir possíveis problemas com esse produto e

evitar que esses problemas se propaguem para outros produtos comprometendo a

qualidade do produto final. As revisões são feitas em reuniões formais com agenda e

participantes previamente definidos. Normalmente as pessoas que vão participar da

reunião de revisão recebem o produto que vai ser revisado antecipadamente para que

possam chegar melhor preparados na reunião. Muitas vezes é feita no início da

reunião de revisão uma apresentação do produto pelo seu responsável e depois é

feita uma discussão sobre a sua qualidade de acordo com critérios previamente

definidos.

Referências:

QUESTÃO Nº 31

Em um determinado momento, uma rede recebe uma quantidade de requisições de operações, vindas de números IPs distintos, muito acima das condições operacionais previstas para os seus recursos e “trava”, isto é, os seus serviços são interrompidos. Muitas empresas e entidades governamentais sofrem esse tipo de ataque hacker.

Page 29: eBook: Tecnológico em Analise e Desenvolvimento de Sistemas

Para realizá-lo, um atacante precisa distribuir um código, em vários computadores, normalmente sem o consentimento dos destinatários, que se tornam seus “zumbis”. Em um momento, o atacante ativa os “zumbis” que fazem muitos acessos a um determinado alvo, acabando por esgotar seus recursos e derrubando o sistema de informações. A respeito desse tipo de ataque, analise as afirmações abaixo. I. É um ataque de negação de serviço distribuído (Distributed Denial Of Service). II. É um ataque que ameaça o atributo da disponibilidade do sistema. III. É um ataque em que os zumbis roubam as senhas dos usuários, para poder enviar requisições. IV. É um ataque não detectável por sistemas de antivírus. Está correto apenas o que se afirma em A I. B III. C I e II. D II e IV. E III e IV.

Gabarito: C

Tipo de questão: Fácil

Conteúdo avaliado: Redes de Computadores

Autor(a): Prof. Aníbal Santos Jukemura

Comentário: A questão descreve um ataque do tipo DDoS, sigla para Distributed Denial of Service, que é um tipo de ataque DoS em larga escala. Em outras palavras, este tipo de ataque utiliza milhares de computadores para comprometer uma determinada máquina servidora de rede de computadores, distribuindo a ação entre os equipamentos servidores. Trata-se de uma forma que aparece constantemente no noticiário, já que é o tipo de ataque mais comum na Internet. Assim, a própria definição do ataque descreve como VERDADEIRAS as afirmações I e II. Ataques DDoS são executados há tempos e já prejudicaram empresas bastante conhecidas. Historicamente, servidores da CNN, Amazon, Yahoo, Microsoft e eBay já foram "vítimas", sofrendo perdas com a indisponibilidade de seus respectivos sistemas. Em dezembro de 2010, por exemplo, os sites da Visa, Mastercard e Paypal sofreram ataques DDoS de um grupo defendendo a não existência de "censura" na Internet. Por ser um tipo de ataque que compromete a disponibilidade de um sistema, não há relação com o roubo de informações. Logo, a alternativa III é FALSA. Para que ataques do tipo DDoS sejam bem sucedidos, é necessário que se tenha um número grande de computadores para que estes façam parte do "exército" que

Page 30: eBook: Tecnológico em Analise e Desenvolvimento de Sistemas

participará da ação. Uma das melhores formas encontradas para se ter tantas máquinas foi a de inserir programas de ataque DDoS em vírus ou em softwares maliciosos. Logo, um bom sistema de antivírus atualizado pode detectar esse tipo de ataque. Portanto, a afirmação IV é FALSA.

Referências:

COMER, Douglas E. Interligação de redes com TCP/IP. 5ª rev e atual. Rio de Janeiro: Elsevier, Campus, 2006. 435 p.

KUROSE, James F; ROSS, Keith W. Computer networking: a top-down approach. 6th ed. Boston: Pearson, c2013. xxiv, 862 p.

QUESTÃO Nº 32

O MPS.BR (Melhoria de Processos do Software Brasileiro) é, ao mesmo tempo, um movimento para melhoria da qualidade e um modelo de qualidade de processo. Com relação às suas características, o MPS.BR A) possui 5 níveis de maturidade. B) possui representação contínua e por estágios. C) está em conformidade com as normas ISO/IEC 12207 e 15504. D) considera 3 dimensões: pessoas, ferramentas e procedimentos. E) divide-se em 3 modelos: desenvolvimento, aquisição e serviços.

Gabarito: C

Tipo de questão: Fácil

Conteúdo avaliado: Processos de Software

Autor(a): Prof. Ronaldo Lopes de Oliveira

Comentário: Como foi dito no enunciado da questão o MPS.BR é um modelo de maturidade que serve para orientar e medir a melhoria de processos de software nas organizações. Existem outros modelos de maturidade sendo que o mais conhecido é o CMM-I (Capability Maturity Model – Integration) proposto pelo Software Engineering Institute (SEI) da Universidade Carnegie Mellon. No contexto geral, pode-se dizer que o modelo MPS-BR é compatível com o modelo CMM-I, por estar em conformidade com as mesmas normas de referência: ISO/IEC 12207 que discute e descreve os diversos processos de software e ISO/IEC 15504 usada como base para avaliação de

Page 31: eBook: Tecnológico em Analise e Desenvolvimento de Sistemas

qualidade. No entanto há algumas diferenças. Uma delas é que o MPS-BR apresenta sete níveis de maturidade e não cinco como o modelo CMM-I. Essa maior quantidade de níveis permitem que as empresas, especialmente as pequenas, possam implementar um processo de melhoria mais gradual e realístico, podendo lidar melhor com as dificuldades inerentes ao processo. Outra diferença é que o MPS-BR só apresenta a representação por estágios, o que significa que a avaliação da maturidade dos processos é feita em relação a um determinado nível (estágio) de maturidade, sem considerar a possibilidade de atribuir níveis diferentes por processo como no caso da representação contínua. O modelo MPS.BR está dividido em quatro (4) componentes (que na resposta da letra D estão sendo tratados pelo termo modelo): Modelo de Referência MPS para Software (MR-MPS-SW), Modelo de Referência MPS para Serviços (MR-MPS-SV), Método de Avaliação (MA-MPS) e Modelo de Negócio (MN-MPS). Cada componente é descrito por meio de guias e/ou documentos do Programa MPS.BR. O Modelo MPS.BR considera a combinação de duas dimensões para a avaliação da maturidade de uma organização. A primeira dimensão é composta pelos processos que se espera que sejam executados para determinado nível de maturidade previsto no modelo. A segunda é o grau de institucionalização em que esses processos se encontram dentro da organização. A primeira dimensão é medida pelos resultados esperados na execução de cada processo. A segunda é a caracterização da habilidade do processo para alcançar os objetivos de negócio, atuais e futuros; estando relacionada com o atendimento aos atributos de processo associados aos processos de cada nível de maturidade. Segundo o MPS.BR essas dimensões são influenciadas por diversos fatores dentro de uma organização: pessoas, processos, tecnologia, ferramentas, características dos projetos e cultura organizacional.

Referências:

QUESTÃO Nº 33

Gabarito:

Tipo de questão:

Conteúdo avaliado:

Autor(a):

Comentário:

Page 32: eBook: Tecnológico em Analise e Desenvolvimento de Sistemas

Referências:

QUESTÃO Nº 34

O plano de negócios é um documento usado para descrever um empreendimento e o modelo de negócios que sustentam a empresa. Sua elaboração envolve um processo de aprendizagem e autoconhecimento e ainda permite ao empreendedor situar-se no seu ambiente de negócios. DORNELAS, J. C. A. Empreendedorismo: transformando ideias em negócios. Rio de Janeiro: Campus, 2001, p. 97 A respeito do plano de negócios, avalie as seguintes asserções. O plano de negócios é importante para gerenciar de forma mais eficaz a empresa e tomar decisões acertadas e identificar oportunidades e transformá-las em diferencial competitivo para a empresa PORQUE permite estabelecer comunicação interna eficaz na empresa e convencer o público-alvo externo: fornecedores, parceiros, clientes, bancos, investidores, etc. sobre os benefícios e os custos do negócio. Acerca dessas asserções, assinale a opção correta A As duas asserções são proposições verdadeiras, e a segunda é uma justificativa correta da primeira. B As duas asserções são proposições verdadeiras, mas a segunda não é uma justificativa correta da primeira. C A primeira asserção é uma proposição verdadeira, e a segunda, uma proposição falsa. D A primeira asserção é uma proposição falsa, e a segunda, uma proposição verdadeira. E As duas asserções são proposições falsas.

Gabarito: A

Tipo de questão: Média

Conteúdo avaliado: Negócios de Tecnologia da Informação

Page 33: eBook: Tecnológico em Analise e Desenvolvimento de Sistemas

Autor: Prof. Gilcimar Divino de Deus

Comentário: O Plano de Negócio é um documento que formaliza uma estratégia que a empresa acredita ser viável para melhorar seus negócios ou criar novos mercados. Sendo assim, ele de ser amplamente difundido tanto internamente quanto externamente, dependendo da extensão do plano. O grande fator importante é que ele documenta e busca comprovar a viabilidade do novo negócio com detalhes específicos do novo plano.

Referências:

QUESTÃO Nº 35

Gabarito:

Tipo de questão:

Conteúdo avaliado:

Autor(a):

Comentário:

Referências:

Page 34: eBook: Tecnológico em Analise e Desenvolvimento de Sistemas