Prévia do material em texto
<p>1.</p><p>Durante o processo de desenvolvimento de software utilizando o</p><p>modelo cascata, foi identificado um problema na funcionalidade de criar</p><p>um cadastro, que deveria ser permitido somente para pessoas acima de 18</p><p>anos de idade e estava sendo permitido para qualquer idade. Isso gerou um</p><p>retrabalho de correção do software e na documentação de especificação</p><p>de requisitos. Um analista confirmou que houve uma falha na validação dos</p><p>requisitos, pois o cliente realmente havia exposto esse requisito em uma</p><p>entrevista. Com base no cenário exposto, assinale a alternativa correta que</p><p>indica a falha que ocorreu. a. Houve uma falha na geração de casos de</p><p>teste, a qual não gerou o teste correto para validar a regra relacionada à</p><p>idade para o cadastro de clientes b. Houve uma falha na classificação do</p><p>requisito, pois foi tratado como um requisito não funcional, ao invés de</p><p>funcional c. Houve uma falha na prototipação, pois o cliente não trouxe o</p><p>feedback relacionado à regra da idade para o cadastro de clientes d. Houve</p><p>uma falha na revisão dos requisitos, em que não foi identificada essa</p><p>regra relacionada à idade para o cadastro de clientes (CORRETA) e.</p><p>Houve uma falha na elicitação dos requisitos, em que não foi detectada, na</p><p>entrevista, a necessidade de conferência da idade para cadastro de</p><p>clientes ------------------------------------ (editado)</p><p>1</p><p>2. [20:01]</p><p>A Engenharia de Software se preocupa com as questões __ de desenvolver e</p><p>entregar software ___. A) teóricas, útil. B) teóricas, perfeito. C) teóricas, correto. D)</p><p>práticas, correto. E) práticas, útil. (CORRETA) ------------------------------------</p><p>(editado)</p><p>1</p><p>3.</p><p>NíveaDCAP — 28/07/2024 20:08</p><p>Um bom software considera que os seus requisitos funcionais sejam</p><p>atendidos, principalmente em conformidade com a expectativa dos seus usuários.</p><p>Além dos requisitos funcionais, uma série de atributos essenciais podem ser</p><p>observados para caracterizar um bom software. Com base nos atributos</p><p>essenciais de um bom software, assinale a alternativa que melhor descreve a</p><p>manutenibilidade. a. O software deve apresentar características como</p><p>responsividade e tempo de processamento b. Em caso de falha do sistema, um</p><p>bom software não deve gerar impactos físicos ou econômicos de forma negativa</p><p>c. Um bom software deve apresentar uma descrição que permita o</p><p>atendimento de mudanças requisitadas pelo cliente (CORRETA) d. Os recursos</p><p>de um computador, como memória e processador, não devem ser desperdiçados</p><p>pelo software e. O software deve ser inteligível, útil e compatível com os outros</p><p>sistemas utilizados pelos usuários ------------------------------------</p><p>1</p><p>4. [20:14]</p><p>Um exemplo de metodologia ágil mundialmente conhecido e adotado é o</p><p>Scrum. No modelo de sprint do Scrum, todo o trabalho a ser realizado está</p><p>presente no __. A partir dele, são selecionados itens que irão fazer parte do __, o</p><p>qual deve compor a construção de um ___, a ser entregue para validação e revisão.</p><p>Preencha as lacunas escolhendo a alternativa CORRETA. a. Especificação de</p><p>entregáveis, backlog do produto, backlog da sprint. b. Backlog da sprint, sprint,</p><p>software potencialmente entregável. c. Backlog do produto, backlog da sprint,</p><p>software potencialmente entregável. (CORRETA) d. Backlog do produto,</p><p>software potencialmente entregável, backlog da sprint. e. Documento de</p><p>requisitos, software potencialmente entregável, backlog da sprint. --------------------</p><p>--------------------- (editado)</p><p>1</p><p>29 de julho de 2024</p><p>5.</p><p>1</p><p>6.</p><p>Lila Harada — 29/07/2024 12:49</p><p>SEMANA 1_Engenharia de Software.docx</p><p>https://cdn.discordapp.com/attachments/1207356192003981323/1267509244819931207/SEMANA_1_Engenharia_de_Software.docx?ex=66dc75f9&is=66db2479&hm=c377005fb0e913db91fba1741c855384643aec1313daed208f9ae7b96a8695c4&</p><p>27.03 KB</p><p>1</p><p>30 de julho de 2024</p><p>7.</p><p>Felipe Paixão — 30/07/2024 14:46</p><p>Essas foram as que caíram para mim. Todas CORRETAS</p><p>1</p><p>31 de julho de 2024</p><p>8.</p><p>Bruno Oliveira — 31/07/2024 15:04</p><p>Minhas respostas da semana 1</p><p>Semana 1 - Engenharia de software.pdf</p><p>76.43 KB</p><p>https://cdn.discordapp.com/attachments/1207356192003981323/1268268051258802288/Semana_1_-_Engenharia_de_software.pdf?ex=66dc95aa&is=66db442a&hm=54ed25a896572fdc3cb939ed71233897bd7669b8c0c835dc86e14fe4926ce397&</p><p>1</p><p>3 de agosto de 2024</p><p>9.</p><p>Guilherme Mello — 03/08/2024 10:08</p><p>Olá pessoal! Acho que já possuem todas as minhas perguntas, mas seguem as</p><p>respostas.</p><p>semana 1 ES.pdf</p><p>744.90 KB</p><p>1</p><p>10.</p><p>Chico — 03/08/2024 16:09</p><p>[CORRETA] Um bom software considera que os seus requisitos funcionais sejam</p><p>atendidos, principalmente em conformidade com a expectativa dos seus</p><p>usuários. Além dos requisitos funcionais, uma série de atributos essenciais</p><p>podem ser observados para caracterizar um bom software. Com base nos</p><p>atributos essenciais de um bom software, assinale a alternativa que melhor</p><p>descreve a manutenibilidade. ( ) a. O software deve apresentar características</p><p>como responsividade e tempo de processamento ( ) b. O software deve ser</p><p>inteligível, útil e compatível com os outros sistemas utilizados pelos usuários (X) c.</p><p>Um bom software deve apresentar uma descrição que permita o atendimento de</p><p>mudanças requisitadas pelo cliente ( ) d. Em caso de falha do sistema, um bom</p><p>software não deve gerar impactos físicos ou econômicos de forma negativa ( ) e.</p><p>Os recursos de um computador, como memória e processador, não devem ser</p><p>desperdiçados pelo software (editado)</p><p>11. [16:09]</p><p>[CORRETA] Os modelos de processo de software são caracterizados pelo seu</p><p>ciclo de vida de desenvolvimento, conhecido como SDLC (software development</p><p>life cycle), o qual representa um modelo de atividades utilizado para a construção</p><p>de um software. Diferentes modelos genéricos foram criados para processos de</p><p>software, buscando trazer recomendações para que se aumentem as chances de</p><p>https://cdn.discordapp.com/attachments/1207356192003981323/1269280696212652072/semana_1_ES.pdf?ex=66dc5044&is=66dafec4&hm=cbe9d57079ecd15cc3e9df6b4c65b1cc27f38a2d199fa701dcd139272404feb7&</p><p>sucesso do seu desenvolvimento. Dentre os modelos de processo de software</p><p>existentes, assinale a alternativa que representa o modelo mais tradicional, com</p><p>fases de processo distintas, como especificação de requisitos, desenvolvimento,</p><p>validação e evolução. ( ) a. Desenvolvimento incremental ( ) b. Metodologia ágil (X)</p><p>c. Modelo em cascata ( ) d. Integração e configuração ( ) e. Programação em pares</p><p>(editado)</p><p>12. [16:09]</p><p>[CORRETA] Durante o processo de desenvolvimento de software utilizando o</p><p>modelo cascata, foi identificado um problema na funcionalidade de criar um</p><p>cadastro, que deveria ser permitido somente para pessoas acima de 18 anos de</p><p>idade e estava sendo permitido para qualquer idade. Isso gerou um retrabalho de</p><p>correção do software e na documentação de especificação de requisitos. Um</p><p>analista confirmou que houve uma falha na validação dos requisitos, pois o</p><p>cliente realmente havia exposto esse requisito em uma entrevista. Com base no</p><p>cenário exposto, assinale a alternativa correta que indica a falha que ocorreu. (X)</p><p>a. Houve uma falha na revisão dos requisitos, em que não foi identificada essa</p><p>regra relacionada à idade para o cadastro de clientes ( ) b. Houve uma falha na</p><p>elicitação dos requisitos, em que não foi detectada, na entrevista, a necessidade</p><p>de conferência da idade para cadastro de clientes ( ) c. Houve uma falha na</p><p>classificação do requisito, pois foi tratado como um requisito não funcional, ao</p><p>invés de funcional ( ) d. Houve uma falha na geração de casos de teste, a qual não</p><p>gerou o teste correto para validar a regra relacionada à idade para o cadastro de</p><p>clientes ( ) e. Houve uma falha na prototipação, pois o cliente não trouxe o</p><p>feedback relacionado à regra da idade para o cadastro de clientes</p><p>13. [16:09]</p><p>[CORRETA] Um exemplo de metodologia ágil mundialmente conhecido e adotado</p><p>é o Scrum. No modelo de sprint do Scrum,</p><p>iniciado. Analistas foram alocados para fazer o trabalho de</p><p>engenharia de requisitos, acompanhado pelo arquiteto de sistemas, que irá atuar</p><p>na concepção da arquitetura a ser utilizada na implementação do sistema. Os</p><p>analistas entendem que há muitas funcionalidades que poderiam ser</p><p>implementadas através da compra de bibliotecas prontas de terceiros e indicam</p><p>ao arquiteto que leve em consideração essa alternativa, pois poderia ajudar a</p><p>reduzir custos e prazos de projeto. Porém o arquiteto entende que seria melhor</p><p>implementar algo novo. Considerando o cenário exposto, assinale a alternativa</p><p>que melhor aponta uma justificativa do arquiteto para não fazer reuso de software.</p><p>(X) a. Maior dificuldade para implementar futuras mudanças nas funcionalidades</p><p>das bibliotecas a serem compradas. ( ) b. O mais importante, para um projeto, é a</p><p>qualidade, e não o prazo da entrega. ( ) c. Falta de padrões de projeto arquiteturais</p><p>para utilização das bibliotecas a serem compradas. ( ) d. Problemas para testar as</p><p>funcionalidades sem o código-fonte das bibliotecas. ( ) e. O uso de componentes</p><p>reusáveis sempre traz um custo de manutenção maior.</p><p>23. [06:44]</p><p>[CORRETA] O reúso pode ser tratado como uma estratégia de otimização do</p><p>desenvolvimento de software, em que elementos podem ser reutilizados para</p><p>novos softwares. Isso possibilita a redução do tempo de desenvolvimento, tendo</p><p>em vista que os elementos que serão reutilizados já tiveram o seu ciclo de</p><p>desenvolvimento realizado, não havendo a necessidade de passar novamente</p><p>pelas mesmas etapas.Correlacione os tipos de reúso com suas respectivas</p><p>definições. 1 — Reúso de sistema. 2 — Reúso de aplicações. 3 — Reúso de</p><p>componentes. I — Este tipo de reúso pode ter a sua configuração diferenciada</p><p>para clientes. II — Este tipo de reúso pode ser exemplificado por reúso de</p><p>elementos acessados por API. III — Este tipo de reúso permite o reúso de uma</p><p>série de programas inteiros e completos. Assinale a alternativa que correlaciona</p><p>adequadamente os dois grupos de informação. ( ) a. 1 — II; 2 — I; 3 — III (X) b. 1 —</p><p>III; 2 — I; 3 — II ( ) c. 1 — III; 2 — II; 3 — I ( ) d. 1 — I; 2 — II; 3 — III ( ) e. 1 — I; 2 — III; 3</p><p>— II</p><p>24. [06:44]</p><p>[CORRETA] A reutilização de elementos de software para projetos é muito</p><p>importante para acelerar o tempo de desenvolvimento de novos softwares. Um</p><p>tipo de elemento que pode ser reutilizado são os padrões de projeto, muito</p><p>utilizados quando se trata do paradigma de programação orientada a</p><p>objetos.Assinale a alternativa abaixo que trata do conceito de padrão de projeto. ( )</p><p>a. Um padrão de projeto descreve um algoritmo para resolver um problema, sendo</p><p>muito utilizado para linguagens de programação estruturada. ( ) b. Um padrão de</p><p>projeto descreve um problema e várias alternativas de sua solução, de forma que</p><p>possam ser aplicadas para qualquer caso sem alteração. ( ) c. Um padrão de</p><p>projeto descreve uma solução que pode ser aplicada para diferentes tipos de</p><p>problemas, com um algoritmo que requer ajustes para cada caso. ( ) d. Um padrão</p><p>de projeto descreve um requisito padrão para ser reutilizado em diferentes tipos</p><p>de projetos de desenvolvimento de software. (X) e. Um padrão de projeto descreve</p><p>um problema e um modelo para a sua solução, permitindo o reúso com os ajustes</p><p>para cada caso.</p><p>25.</p><p>Chico — 20/08/2024 07:20</p><p>[CORRETA] Os padrões de projeto podem ser classificados conforme dois</p><p>critérios: a finalidade e o escopo. Um programador resolveu utilizar um padrão de</p><p>projeto Singleton, para assegurar que só haja uma única instância da classe xyz na</p><p>aplicação. A presença de mais instâncias da classe xyz poderia gerar duplicidades</p><p>de dados a serem tratados no sistema de gerenciamento de banco de dados. Com</p><p>base nesse texto, assinale a alternativa correta que corresponde à finalidade do</p><p>padrão de projeto utilizado para a classe xyz: ( ) a. A finalidade do padrão de</p><p>projeto Singleton utilizado para a classe xyz é conhecida como padrão de Objeto.</p><p>(X) b. A finalidade do padrão de projeto Singleton utilizado para a classe xyz é</p><p>conhecida como padrão de criação. ( ) c. A finalidade do padrão de projeto</p><p>Singleton utilizado para a classe xyz é conhecida como padrão de Estrutural. ( ) d.</p><p>A finalidade do padrão de projeto Singleton utilizado para a classe xyz é conhecida</p><p>como padrão de Classe. ( ) e. A finalidade do padrão de projeto Singleton utilizado</p><p>para a classe xyz é conhecida como padrão de Comportamental.</p><p>26. [07:21]</p><p>[CORRETA] Na engenharia de software, temos o uso de elementos chamados de</p><p>componentes. Os componentes são uma abstração de um nível mais alto do que</p><p>objetos, definidos por suas interfaces. Podemos considerar que os componentes</p><p>apresentam um tamanho maior do que objetos isolados, e a abstração é aplicada</p><p>para que não seja necessária a apresentação dos detalhes de sua</p><p>implementação. Assinale a alternativa correta que apresenta as características</p><p>dos componentes de software. ( ) a. Passível de composição, implantável,</p><p>documentado, dependente e padronizado. ( ) b. Monolítico, implantável,</p><p>dependente, sem padrão e registrado em backlogs. ( ) c. Monolítico, não</p><p>implantável, independente, registrado em backlogs e padronizado. (X) d. Passível</p><p>de composição, implantável, documentado, independente e padronizado. ( ) e.</p><p>Passível de composição, não implantável, documentado, independente, sem</p><p>padrão.</p><p>27. [07:21]</p><p>[CORRETA] Considerando o contexto de engenharia de software baseada em</p><p>reúso, marque a alternativa que descreve ou caracteriza corretamente uma das</p><p>cinco características fundamentais de componentes de software. (X)</p><p>Padronizado: um componente deve estar em conformidade com um modelo de</p><p>componentes padrão, que possa definir interfaces, metadados, documentação,</p><p>composição e implantação de componentes. ( ) Independente: para apresentar</p><p>essa característica, o componente precisa ser autocontido; ele deve ser capaz de</p><p>operar como uma entidade stand-alone em uma plataforma que proporcione uma</p><p>implementação do modelo de componentes. ( ) Passível de composição: os</p><p>componentes precisam apresentar essa característica para que um possível</p><p>usuário possa decidir se eles satisfazem ou não as suas necessidades; a sintaxe e,</p><p>preferencialmente, a semântica de todas as interfaces de componentes devem</p><p>estar especificadas. ( ) Documentado: para apresentar essa característica, todas</p><p>as interações externas de um componente devem ocorrer por meio de interfaces</p><p>definidas publicamente; além disso, o componente deve fornecer acesso externo</p><p>às informações sobre si mesmo, como seus métodos e atributos. ( ) Implantável:</p><p>deve apresentar essa característica para ser possível compor um componente e</p><p>implantá-lo sem ter de usar outros componentes específicos.</p><p>28. [07:21]</p><p>[CORRETA] Considerando o contexto de reúso de software, marque a alternativa</p><p>que contém exemplos corretos de abordagens para reúso. (X) Bibliotecas de</p><p>programas, engenharia de software orientada a aspectos, frameworks de</p><p>aplicação, padrões de projeto. ( ) Engenharia de software baseada em</p><p>componentes, geradores de testes, integração de sistemas de aplicação,</p><p>sistemas de sistemas. ( ) Engenharia de software dirigida a testes, linhas de</p><p>produtos de software, padrões de requisitos, sistemas ERP. ( ) Engenharia dirigida</p><p>por modelos, padrões de arquitetura, sistemas CRM, sistemas orientados a</p><p>serviços. ( ) Empacotamento de sistemas legados, frameworks de defeitos,</p><p>geradores de programas, sistemas de aplicação configuráveis.</p><p>29. [07:21]</p><p>[CORRETA] Considerando o contexto de padrões de projeto, marque a alternativa</p><p>que contém uma afirmação correta sobre os tipos ou níveis de padrão de projeto. (</p><p>) Padrões no escopo de classe são estáticos, fixados em tempo de projeto. ( )</p><p>Padrões estruturais referem-se à interação entre classes/objetos. (X) Padrões no</p><p>escopo de objeto são dinâmicos, podendo ser alterados em tempo de execução. (</p><p>) A classificação por escopo é dividida em “classe” e “subclasse”. ( )</p><p>A</p><p>classificação por propósito/finalidade é dividida em “de criação”, “de finalização”,</p><p>“estruturais” e “comportamentais”.</p><p>30. [07:21]</p><p>[CORRETA] Considerando o contexto de padrões de projeto, marque a alternativa</p><p>que define corretamente o que é um padrão de projeto. ( ) Um padrão de projeto</p><p>descreve uma solução e o cerne da sua implementação (em OO), de forma que</p><p>possa ser estendido, fazendo as correções necessárias para cada caso. ( ) Um</p><p>padrão de projeto descreve uma implementação e o cerne da sua solução (em</p><p>OO), de forma que possa ser testado, fazendo as correções necessárias para cada</p><p>caso. ( ) Um padrão de projeto descreve um problema e o cerne da sua</p><p>implementação (em OO), de forma que possa ser simplificado, fazendo as</p><p>melhorias necessárias para cada caso. (X) Um padrão de projeto descreve um</p><p>problema e o cerne da sua solução (em OO), de forma que possa ser reusado,</p><p>fazendo os ajustes necessários para cada caso. ( ) Um padrão de projeto descreve</p><p>uma solução e o cerne da sua conceituação (em OO), de forma que possa ser</p><p>expandido, fazendo os testes necessários para cada caso.</p><p>31. [07:22]</p><p>[CORRETA] Considerando o contexto de reúso de software, assinale a alternativa</p><p>que contém um exemplo de problema, limitação ou dificuldade para aplicar a</p><p>engenharia de software orientada a reúso. ( ) Aumentar o custo total do</p><p>desenvolvimento de software. ( ) Aumentar a dependabilidade. ( ) Precisar manter</p><p>conformidade com os padrões. ( ) Aumentar os riscos do processo de</p><p>desenvolvimento de software. (X) Povoar uma biblioteca de compo</p><p>1.</p><p>[CORRETA] Os testes de desempenho são planejados conforme as</p><p>expectativas citadas em requisitos de desempenho do sistema, que tem</p><p>como base as características de eficiência de desempenho dos requisitos</p><p>de qualidade. Nesse contexto, correlacione as dimensões de desempenho</p><p>de um produto de software com suas definições.</p><p>1. Comportamento em relação ao tempo</p><p>2. Utilização de recursos</p><p>3. Capacidade do sistema</p><p>I. Grau em que a quantidade e a variedade de elementos usados pelo sistema</p><p>atingem os seus requisitos. II. Grau em que os limites máximos de um parâmetro</p><p>do sistema como número de usuários concorrentes atingem os seus requisitos. III.</p><p>Grau em que as taxas de throughput do sistema atingem seus requisitos quando</p><p>as suas funções são exercidas. Assinale a alternativa que correlaciona</p><p>adequadamente os dois grupos de informação. ( ) a. 1 - I; 2 - II; 3 - III. ( ) b. 1 - II; 2 -</p><p>III; 3 - I. ( ) c. 1 - III; 2 - II; 3 - I. ( ) d. 1 - II; 2 - I; 3 - III. (X) e. 1 - III; 2 - I; 3 - II.</p><p>Justificativa: A sentença I se enquadra no conceito 2, pois a utilização de recursos</p><p>consiste no grau em que a quantidade e a variedade de recursos usados pelo</p><p>sistema atingem os seus requisitos, quando as funções do sistema são</p><p>executadas. A sentença II se enquadra no conceito 3, pois a capacidade consiste</p><p>no grau em que os limites máximos de um parâmetro do sistema atingem os seus</p><p>requisitos. A sentença III se enquadra no conceito 1, pois o comportamento em</p><p>relação ao tempo consiste no grau em que os tempos de resposta e de</p><p>processamento, bem como as taxas de throughput do sistema, atingem os seus</p><p>requisitos quando as suas funções de sistema são executadas.</p><p>2. [13:39]</p><p>[CORRETA] Assinale a alternativa que apresenta apenas tipos de sistemas para os</p><p>quais o teste de desempenho é essencial: (X) Sistemas de tempo real; Sistemas</p><p>embutidos; Aplicativos móveis; Softwares web. ( ) Sistemas embutidos;</p><p>Aplicativos móveis; Sistemas stand-alone; Softwares web. ( ) Sistemas de tempo</p><p>real; Aplicativos móveis; Sistemas stand-alone; Softwares web. ( ) Sistemas de</p><p>tempo real; Sistemas embutidos; Sistemas stand-alone; Aplicativos móveis. ( )</p><p>Sistemas de tempo real; Sistemas embutidos; Sistemas stand-alone; Softwares</p><p>web. Justificativa: desempenho não costuma ser um fator crítico para sistemas</p><p>stand-alone quando comparado com outros tipos de sistemas e, portanto, teste</p><p>de desempenho não é essencial para esse tipo de sistema.</p><p>3. [13:39]</p><p>[CORRETA] Assinale a alternativa que contém uma descrição correta para um tipo</p><p>específico de teste de desempenho: (X) Teste de volume: Avaliar a capacidade do</p><p>item de teste processar quantidades de dados especificadas (usualmente no ou</p><p>próximos ao limite máximo de capacidade especificada) em termos de</p><p>throughput, capacidade de armazenamento ou ambos. ( ) Teste de carga: Avaliar</p><p>se um item de teste pode sustentar uma carga necessária continuamente por um</p><p>período de tempo determinado. ( ) Teste de estresse: Avaliar o comportamento de</p><p>um item de teste em condições esperadas de carga variável (uso baixo, típico e de</p><p>pico). ( ) Teste de resistência: Avaliar o nível no qual o aumento de carga (de</p><p>usuários, transações, armazenamento de dados etc.) compromete a capacidade</p><p>de um item de teste para sustentar o desempenho requerido. ( ) Teste de</p><p>capacidade: Avaliar o comportamento de um item de teste em condições de carga</p><p>acima dos requisitos de capacidade antecipados ou especificados ou da</p><p>disponibilidade de recursos abaixo dos requisitos mínimos exigidos. Justificativa:</p><p>As descrições corretas são: Teste de carga: Avaliar o comportamento de um item</p><p>de teste em condições esperadas de carga variável (uso baixo, típico e de pico).</p><p>Teste de estresse: Avaliar o comportamento de um item de teste em condições de</p><p>carga acima dos requisitos de capacidade antecipados ou especificados ou da</p><p>disponibilidade de recursos abaixo dos requisitos mínimos exigidos. Teste de</p><p>capacidade: Avaliar o nível no qual o aumento de carga (de usuários, transações,</p><p>armazenamento de dados etc.) compromete a capacidade de um item de teste</p><p>para sustentar o desempenho requerido. Teste de resistência: Avaliar se um item</p><p>de teste pode sustentar uma carga necessária continuamente por um período de</p><p>tempo determinado.</p><p>4. [13:40]</p><p>[CORRETA] Considere os dois tipos de violação: I. Ocorre quando uma ação em</p><p>um sistema é executada além das permissões concedidas. II. Ocorre quando há</p><p>divulgação não autorizada/esperada de alguma informação sensível armazenada</p><p>ou manipulada por um sistema. Marque a alternativa que apresenta corretamente</p><p>os dois tipos de violação descritos acima: ( ) Violação de privacidade; Violação de</p><p>propriedade. ( ) Violação de propriedade; Violação de segurança. ( ) Violação de</p><p>privacidade; Violação de segurança. (X) Violação de segurança; Violação de</p><p>privacidade. ( ) Violação de propriedade; Violação de privacidade. Justificativa:</p><p>“Violação de propriedade” não é um conceito usado no contexto abordado no</p><p>enunciado, embora sejam informações privadas que são alvos de violações de</p><p>segurança e de privacidade. Além disso, violação de segurança é um conceito</p><p>mais genérico, enquanto a violação de privacidade é mais específica, pois a</p><p>violação de privacidade só ocorre se alguma informação sensível for divulgada</p><p>enquanto basta haver acesso não autorizado para que uma violação de segurança</p><p>ocorra, mesmo que não haja divulgação de informação sensível. (editado)</p><p>5. [13:40]</p><p>[CORRETA] O desenvolvimento dirigido por testes (TDD — Test Driven</p><p>Development) é um método de desenvolvimento de software baseado no test-</p><p>first, em que os casos de teste são criados para direcionar a implementação das</p><p>funcionalidades, sendo estas incorporadas ao software. Com relação às</p><p>características do TDD, observe as afirmações a seguir. I. TDD requer um</p><p>ambiente de teste automatizado, como é o caso da adoção de JUnit para o</p><p>desenvolvimento de software utilizando a linguagem de programação Java. II. No</p><p>TDD, são aplicados, principalmente, testes de integração, não priorizando outros</p><p>tipos de testes como unitários. III. TDD ajuda programadores para trazer maior</p><p>clareza sobre o que o código deve fazer, aumentando a eficiência para as entregas</p><p>de software. IV. Os testes de sistema não são necessários no TDD, tendo em vista</p><p>que os testes realizados pelos programadores durante a codificação são</p><p>suficientes. Está correto o</p><p>que se afirma em: ( ) a. II e IV, apenas. (X) b. I e III,</p><p>apenas. ( ) c. I, II e III, apenas. ( ) d. II e III, apenas. ( ) e. I e IV, apenas.</p><p>6. [13:40]</p><p>Justificativa: A afirmativa I está correta, pois o TDD requer que os testes sejam</p><p>criados para um ambiente automatizado, como o uso de JUnit, para uma melhor</p><p>eficiência da metodologia. Assim, a cada nova implementação, podem ser</p><p>verificados se testes anteriormente executados não apresentam resultados</p><p>divergentes. A afirmativa II está incorreta, pois, na metodologia TDD, são</p><p>utilizados, principalmente, os testes unitários, sendo que o programador pode</p><p>criar o teste da funcionalidade antes da implementação do seu código. A</p><p>afirmativa III está correta, pois, por meio dos casos de teste, o programador pode</p><p>ter maior clareza do que deve ser implementado, para que o teste possa ser bem-</p><p>sucedido. Dessa forma, uma visão de como o teste irá verificar uma</p><p>funcionalidade pode ajudar a direcionar a implementação do código. A afirmativa</p><p>IV está incorreta, pois os testes de sistema podem vir a ser adicionados no TDD, a</p><p>fim de realizar uma análise do sistema em um nível maior, alinhado com a</p><p>expectativa dos seus clientes e usuários, como uma verificação final para a</p><p>entrega do software.</p><p>7.</p><p>Maki BotAPP — 12/08/2024 13:40</p><p>@Chico just advanced to level 8!</p><p>8.</p><p>Chico — 12/08/2024 13:40</p><p>[CORRETA] Uma equipe de testes está avaliando alguns requisitos de sistema</p><p>para a elaboração do plano de testes. Para cada um dos requisitos, foi identificado</p><p>o melhor tipo de testes que pode ser aplicado, para assegurar a validação dele.</p><p>Sendo assim, relacione, adequadamente, os requisitos levantados a seguir com</p><p>os tipos de teste que melhor se adequam para a sua verificação.</p><p>1. O sistema deve ter um tempo de resposta inferior a dois segundos</p><p>para cada solicitação.</p><p>2. O sistema deve ser capaz de suportar 200 solicitações simultâneas</p><p>por segundo.</p><p>3. O sistema deve ser capaz de suportar 1.000 usuários conectados</p><p>durante 24 horas.</p><p>I. Teste de carga II. Teste de resistência III. Teste de desempenho Assinale a</p><p>alternativa que correlaciona adequadamente os dois grupos de informação. ( ) a. 1</p><p>- III; 2 - II; 3 - I ( ) b. 1 - II; 2 - I; 3 - III ( ) c. 1 - II; 2 - III; 3 - I ( ) d. 1 - I; 2 - II; 3 - III (X) e. 1 -</p><p>III; 2 - I; 3 - II Justificativa: A sentença I se enquadra no conceito 2, pois o teste de</p><p>verificação de carga está ligado à capacidade que um sistema deve apresentar, o</p><p>que está representado pela quantidade de solicitações simultâneas citada, 200</p><p>solicitações simultâneas por segundo. A sentença II se enquadra no conceito 3,</p><p>pois o teste de resistência verifica o comportamento do sistema frente a uma</p><p>longa duração de tempo, como é o caso apresentado de quantidade de usuários</p><p>conectados por um período de 24 horas. A sentença III se enquadra no conceito 1,</p><p>pois o teste de desempenho verifica, principalmente, o tempo de resposta do</p><p>sistema para uma solicitação, como apresentado no caso de tempo de resposta</p><p>inferior a dois segundos para cada solicitação feita ao sistema. (editado)</p><p>9. [13:40]</p><p>[CORRETA] Considere as seguintes afirmações para o contexto de</p><p>"desenvolvimento dirigido por testes": I. Pode confundir os programadores na hora</p><p>de entenderem o que precisam implementar. II. Leva a uma baixa cobertura de</p><p>código sendo testado. III. Dificultam a realização de teste de regressão. IV. Torna a</p><p>depuração praticamente inviável. V. Dificulta a documentação do sistema. (X)</p><p>Nenhuma das afirmações está correta. ( ) Apenas as afirmações (I) e (V) estão</p><p>corretas. ( ) Apenas as afirmações (II), (III) e (IV) estão corretas. ( ) Apenas a</p><p>afirmação (III) está correta. ( ) Apenas a afirmação (IV) está correta. Justificativa:</p><p>As afirmações corretas são: I) Ajuda os programadores a entenderem o que</p><p>precisam implementar. II) Garante uma boa cobertura de código sendo testado. III)</p><p>Confere uma boa abordagem para a realização de testes de regressão. IV) Torna a</p><p>depuração praticamente desnecessária. V) Ajuda a documentar o sistema.</p><p>(editado)</p><p>10. [13:41]</p><p>[CORRETA] O desenvolvimento dirigido por testes é uma metodologia utilizada</p><p>para priorizar a criação de casos de teste antes de iniciar a implementação</p><p>propriamente dita do código das funcionalidades. Isso permite um foco maior da</p><p>implementação, para que os testes possam executar com sucesso as</p><p>funcionalidades. Assinale a alternativa que indique um dos recursos importantes</p><p>para o processo de desenvolvimento dirigido por testes. ( ) a. Estruturas de</p><p>seleção. ( ) b. Padrões de projeto. (X) c. Refatoração. ( ) d. Diagrama de classes. ( )</p><p>e. Estruturas de repetição. Justificativa: A refatoração é importante para o ciclo de</p><p>verificação da implementação por meio dos testes e dos ajustes necessários para</p><p>que possa ser incorporado ao software. Os padrões de projeto não são um recurso</p><p>mandatório no TDD, estando relacionados às atividades de arquitetura do</p><p>software. O diagrama de classes não é um recurso mandatório no TDD, estando</p><p>relacionado às atividades de modelagem na arquitetura do software. As estruturas</p><p>de seleção não são um recurso mandatório no TDD, estando relacionadas a</p><p>estruturas de lógica utilizadas na implementação. As estruturas de repetição não</p><p>são um recurso mandatório no TDD, estando relacionadas a estruturas de lógica</p><p>utilizadas na implementação. (editado)</p><p>11. [13:41]</p><p>[CORRETA] Considere as seguintes informações sobre a ferramenta</p><p>AppInspector, projetada para apoiar o teste de segurança: I. AppInspector analisa</p><p>sistemas apresentados às lojas de aplicações mais populares, identifica quais</p><p>aplicações exibem comportamento malicioso e devem ser removidas ou evitadas</p><p>pelos usuários. II. AppInspector gera relatórios informando aos usuários um</p><p>potencial risco para a violação da privacidade devido ao mau ou abuso do uso de</p><p>dados do usuário. III. AppInspector usa uma abordagem dinâmica que monitora o</p><p>que um aplicativo usa de informações do usuário e verifica se há comportamento</p><p>suspeito, por exemplo, o consumo excessivo de recursos ou a exclusão de dados</p><p>do usuário. IV. AppInspector usa uma infraestrutura que emula smartphones que</p><p>permite um serviço de validação de segurança em grande escala com baixo custo,</p><p>usando a computação na nuvem. V. AppInspector acompanha e registra os fluxos</p><p>de informações do usuário e suas ações para analisar o comportamento do</p><p>aplicativo, identificando violações de segurança ou de privacidade e apontando a</p><p>causa que levou às violações. Com base nas afirmações a seguir, marque a</p><p>alternativa correta abaixo. ( ) Apenas as afirmações (I), (III) e (V) estão corretas. ( )</p><p>Apenas as afirmações (II), (III), (IV) e (V) estão corretas. ( ) Apenas as afirmações (I)</p><p>e (IV) estão corretas. ( ) Apenas as afirmações (II), (III) e (V) estão corretas. (X)</p><p>Todas as afirmações estão corretas.</p><p>12. [13:42]</p><p>[CORRETA] A violação é quando algum ato indevido ocorre sem permissão ou</p><p>sem consentimento da pessoa ou da empresa. No que se refere à segurança da</p><p>informação, podemos citar a violação de segurança e a violação de privacidade,</p><p>ambas podendo causar sérios danos. Com base nessas violações, observe as</p><p>asserções a seguir e a relação proposta entre elas. I. A violação de segurança</p><p>ocorre quando uma ação é executada sem as devidas permissões. PORQUE II.</p><p>Quando são divulgadas informações sensíveis de forma não autorizada/esperada,</p><p>acabam por violar a privacidade. A respeito dessas asserções, assinale a</p><p>alternativa correta. (X) a. As asserções I e II são proposições verdadeiras, mas a II</p><p>não é uma justificativa da I. ( ) b. A asserção I é uma proposição verdadeira, e a II é</p><p>uma proposição falsa. ( ) c. A asserção I é uma proposição falsa, e a II é uma</p><p>proposição verdadeira. ( ) d. As asserções I e II são proposições verdadeiras, e a II</p><p>é uma justificativa da I. ( ) e. As asserções I e II são falsas. Justificativa: A asserção I</p><p>está correta, pois a violação de segurança ocorre quando uma ação é processada</p><p>sem haver</p><p>as permissões adequadas para tal, estando além das permissões</p><p>concedidas. Isso possibilita que ações possam ser incorretamente realizadas por</p><p>profissionais não autorizados, gerando problemas que podem causar prejuízos</p><p>para os usuários e principais interessados. A asserção II também está correta,</p><p>porém não justifica a I, pois a violação de privacidade ocorre quando são</p><p>publicadas informações sem o consentimento da pessoa ou da empresa. São</p><p>duas violações distintas, não havendo relação de justificativa entre as asserções.</p><p>13. [13:42]</p><p>[CORRETA] O processo de desenvolvimento dirigido por testes engloba uma série</p><p>de etapas. Primeiro, deve-se definir __ (lacuna 1), que deve apresentar poucas</p><p>linhas de código na sua implementação. Na sequência, um __ (lacuna 2) deve ser</p><p>escrito e implementado de forma automatizada. A falta da __ (lacuna 3) fará com</p><p>que a verificação automatizada falhe. Deve-se então, implementar a</p><p>funcionalidade e executar, novamente, o teste. Assim, a __ (lacuna 4) é feita ao</p><p>código existente. Preencha as lacunas escolhendo a alternativa correta. ( ) a. a</p><p>especificação de requisito, teste para a funcionalidade, funcionalidade</p><p>implementada, refatoração do código. (X) b. o incremento da funcionalidade, teste</p><p>para a funcionalidade, funcionalidade implementada, refatoração do código. ( ) c.</p><p>o teste para a funcionalidade, incremento para a funcionalidade, refatoração do</p><p>código, funcionalidade implementada. ( ) d. o incremento da funcionalidade,</p><p>requisito funcional, funcionalidade implementada, refatoração do código. ( ) e. o</p><p>incremento da funcionalidade, teste para a funcionalidade, refatoração do código,</p><p>funcionalidade implementada.</p><p>14. [13:42]</p><p>Justificativa: A primeira lacuna é completada pelo termo incremento dia</p><p>funcionalidade, pois, no desenvolvimento dirigido por testes, inicialmente,</p><p>devemos definir o incremento a ser implementado, sendo este algo que possa ser</p><p>implementado por poucas linhas de código. A segunda lacuna é completada pelo</p><p>termo teste para a funcionalidade, pois um teste deve ser implementado para</p><p>testar esse incremento; porém, quando executado, este deve falhar pela falta da</p><p>funcionalidade implementada. A terceira lacuna é completada pelo termo</p><p>funcionalidade implementada, pois a implementação do incremento deve ser</p><p>realizada para que o teste passe. A quarta lacuna é completada pelo termo</p><p>refatoração de código, pois o código do incremento deve ser refatorado ao código</p><p>existente.</p><p>15. [13:42]</p><p>[CORRETA] Uma equipe de testes está avaliando a seleção dos tipos de teste que</p><p>devem ser realizados para um software desenvolvido, em que a eficiência de</p><p>desempenho é um requisito muito importante. Os tipos de teste de desempenho</p><p>foram selecionados com base na norma ISO/IEC/IEEE 29119-1, sendo estes os</p><p>testes de carga, de stress e de capacidade. Dessa maneira, correlacione,</p><p>adequadamente, os tipos de teste de desempenho com o seu propósito.</p><p>1. Teste de carga</p><p>2. Teste de stress</p><p>3. Teste de capacidade</p><p>I. Avaliar o nível que o aumento de carga pode prejudicar o desempenho de um</p><p>item de teste em termos de capacidade. II. Avaliar como se comporta um item de</p><p>teste tendo condições de carga em níveis superiores aos requisitos de</p><p>capacidade. III. Avaliar como se comporta um item de teste com a variação da</p><p>carga (uso baixo, típico e de pico). Assinale a alternativa que correlaciona</p><p>adequadamente os dois grupos de informação. ( ) a.1 - III; 2 - I; 3 - II. ( ) b. 1 - II; 2 - I;</p><p>3 - III. (X) c. 1 - III; 2 - II; 3 - I. ( ) d. 1 - II; 2 - III; 3 - I. ( ) e. 1 - I; 2 - II; 3 - III. Justificativa:</p><p>A sentença I se enquadra no conceito 2, pois os testes de stress verificam o</p><p>comportamento do item de teste em condições de carga acima dos requisitos de</p><p>capacidade ou quando a quantidade de recursos disponíveis é mínima. A</p><p>sentença II se enquadra no conceito 3, pois os testes de capacidade verificam</p><p>quanto um aumento da carga pode comprometer a capacidade de um item de</p><p>teste. A sentença III se enquadra no conceito 1, pois os testes de carga são testes</p><p>de desempenho que verificam um item de teste em condições de carga variável,</p><p>como uso baixo, típico e de pico.</p><p>16. [13:42]</p><p>[CORRETA] Os testes de segurança da informação em produtos de software são</p><p>importantes para garantir a integridade, a confidencialidade e a disponibilidade</p><p>dos dados, para que seus usuários sintam-se seguros no uso do sistema. Assim,</p><p>uma série de testes pode ser planejada com foco na segurança, tendo em vista</p><p>motivações existentes para invasões e roubos de informação no mundo atual.</p><p>Com base nas informações apresentadas, identifique se são (V) verdadeiras ou (F)</p><p>falsas as afirmativas a seguir. I. Na segurança da informação, modificar o</p><p>conteúdo de forma mal-intencionada é um exemplo de ação de invasão. II. O</p><p>desenvolvedor deve tornar o custo da invasão menor do que o valor das</p><p>informações que poderiam ser obtidas. III. Uma das motivações para a invasão</p><p>são indivíduos desonestos que tentam invadir para obter ganhos pessoais ilícitos.</p><p>Assinale a alternativa que apresenta a sequência correta. ( ) a. F, V, V. ( ) b. V, V, F. ( )</p><p>c. F, F, V. (X) d. V, F, V. ( ) e. V, F, F. Justificativa: A afirmativa I é verdadeira, pois</p><p>modificar o conteúdo de forma mal-intencionada é ferir um dos pilares da</p><p>segurança da informação, a integridade. Nesse sentido, testes de segurança</p><p>podem auxiliar a verificar esse tipo de fragilidade, minimizando risco de conteúdos</p><p>transmitidos serem alterados até o seu destinatário. A afirmativa II é falsa, pois o</p><p>desenvolvedor deve tomar o custo da invasão maior do que o valor das</p><p>informações que poderiam ser obtidas, para que não valha a pena. Assim, as</p><p>dificuldades para se obter tais dados devem ser grandes, para que o invasor</p><p>prefira desistir de obtê-los. A afirmativa III é verdadeira, pois uma das motivações</p><p>para a invasão é a busca de ganhos ilícitos por parte de hackers para invadir sites e</p><p>sistemas. Um exemplo são os casos de pedido de resgate para que o site possa</p><p>voltar à operação, tendo em vista os prejuízos que os seus proprietários podem</p><p>ter.</p><p>17. [13:43]</p><p>[CORRETA] Assinale a alternativa que apresenta uma informação correta sobre</p><p>tipos de vulnerabilidades que o teste de segurança busca encontrar, considerando</p><p>uma arquitetura do tipo cliente-servidor: (X) Possibilidade de acesso não</p><p>autorizados a bancos de dados. ( ) Inserção de scripts mal-intencionados para ser</p><p>passados do cliente para o servidor. ( ) Inserção de scripts mal-intencionados para</p><p>desabilitar operações do cliente. ( ) Possibilidade de ataques que causam recusa</p><p>de serviço no cliente. ( ) Erros preexistentes em navegadores, programas de e-mail</p><p>e software de comunicação no servidor. Justificativa: as devidas vulnerabilidades,</p><p>nas alternativas incorretas, são as seguintes: Possibilidade de ataques que</p><p>causam recusa de serviço no servidor. Inserção de scripts mal-intencionados para</p><p>desabilitar operações do servidor. Inserção de scripts mal-intencionados para ser</p><p>passados do servidor para o cliente. Erros preexistentes em navegadores,</p><p>programas de e-mail e software de comunicação no cliente.</p><p>18. [13:43]</p><p>[CORRETA] O desenvolvimento dirigido por testes, ou TDD (Test Driven</p><p>Development), é uma metodologia de desenvolvimento de software que tem</p><p>como base a elaboração de casos de teste para direcionar a implementação de</p><p>funcionalidades de forma incremental. Assim, os desenvolvedores podem focar</p><p>em implementar funcionalidades para que passem nos casos de testes criados.</p><p>Nesse contexto, avalie as asserções a seguir e a relação proposta entre elas. I. No</p><p>desenvolvimento dirigido por testes, tem-se como vantagem a redução de custos</p><p>com testes de regressão desenvolvidos de forma incremental. PORQUE II. Os</p><p>testes de regressão são automatizados na metodologia de desenvolvimento</p><p>dirigido por testes, reduzindo o tempo gasto com testes. A respeito dessas</p><p>asserções, assinale a alternativa correta ( ) a. A asserção I é uma proposição falsa,</p><p>e a II é uma proposição verdadeira. ( ) b. A asserção I é uma proposição verdadeira,</p><p>e a II é uma proposição falsa. ( ) c. As asserções I e II são falsas. ( ) d. As asserções</p><p>I e II são proposições verdadeiras, mas a II não é uma justificativa da I. (X) e. As</p><p>asserções I e II são proposições verdadeiras, e a II é uma justificativa da I.</p><p>2 de setembro de 2024</p><p>19.</p><p>Chico — 02/09/2024 09:27</p><p>[CORRETA] Uma equipe de testes está avaliando alguns requisitos de sistema</p><p>para a elaboração do plano de testes. Para cada um dos requisitos, foi identificado</p><p>o melhor tipo de testes que pode ser aplicado, para assegurar a validação ele.</p><p>Sendo assim, relacione, adequadamente, os requisitos levantados a seguir com</p><p>os tipos de teste que melhor se adéquam para a sua verificação.</p><p>1. O sistema deve ter um tempo de resposta inferior a dois segundos</p><p>para cada solicitação.</p><p>2. O sistema deve ser capaz de suportar 200 solicitações simultâneas</p><p>por segundo.</p><p>3. O sistema deve ser capaz de suportar 1.000 usuários conectados</p><p>durante 24 horas.</p><p>I. Teste de carga II. Teste de resistência III. Teste de desempenho Assinale a</p><p>alternativa que correlaciona adequadamente os dois grupos de informação. (X) a.</p><p>1 - III; 2 - I; 3 - II ( ) b. 1 - III; 2 - II; 3 - I ( ) c. 1 - II; 2 - III; 3 - I ( ) d. 1 - II; 2 - I; 3 - III ( ) e. 1 -</p><p>I; 2 - II; 3 - III</p><p>20.</p><p>Chico — 02/09/2024 09:34</p><p>[CORRETA] O processo de desenvolvimento dirigido por testes engloba uma série</p><p>de etapas. Primeiro, deve-se definir __ (lacuna 1), que deve apresentar poucas</p><p>linhas de código na sua implementação. Na sequência, um __ (lacuna 2) deve ser</p><p>escrito e implementado de forma automatizada. A falta da __ (lacuna 3) fará com</p><p>que a verificação automatizada falhe. Deve-se então, implementar a</p><p>funcionalidade e executar, novamente, o teste. Assim, a __ (lacuna 4) é feita ao</p><p>código existente. Preencha as lacunas escolhendo a alternativa correta. ( ) a. o</p><p>incremento da funcionalidade, requisito funcional, funcionalidade implementada,</p><p>refatoração do código. ( ) b. o teste para a funcionalidade, incremento para a</p><p>funcionalidade, refatoração do código, funcionalidade implementada. (X) c. o</p><p>incremento da funcionalidade, teste para a funcionalidade, funcionalidade</p><p>implementada, refatoração do código. ( ) d. o incremento da funcionalidade, teste</p><p>para a funcionalidade, refatoração do código, funcionalidade implementada. ( ) e.</p><p>a especificação de requisito, teste para a funcionalidade, funcionalidade</p><p>implementada, refatoração do código.</p><p>21.</p><p>Chico — 02/09/2024 14:59</p><p>[CORRETA] Analise as seguintes afirmações e com base em sua análise marque a</p><p>alternativa correta abaixo: I. Falta de recursos no lado do cliente. II. Largura de</p><p>banda em excesso. III. Recursos de banco de dados inadequados. IV. Recursos</p><p>extras do SO. V. Funcionalidades do software mal projetadas. ( ) a. Apenas as</p><p>afirmações (II) e (IV) apresentam uma fonte de problema de desempenho a ser</p><p>detectada via teste de desempenho. (X) b. Apenas as afirmações (III) e (V)</p><p>apresentam uma fonte de problema de desempenho a ser detectada via teste de</p><p>desempenho. ( ) c. Todas as afirmações apresentam uma fonte de problema de</p><p>desempenho a ser detectada via teste de desempenho. ( ) d. Apenas as</p><p>afirmações (I), (II) e (V) apresentam uma fonte de problema de desempenho a ser</p><p>detectada via teste de desempenho. ( ) e. Apenas as afirmações (I), (III), (IV) e (V)</p><p>apresentam uma fonte de problema de desempenho a ser detectada via teste de</p><p>desempenho.</p><p>22.</p><p>Chico — 02/09/2024 16:44</p><p>[CORRETA] Assinale a alternativa que apresenta uma informação correta sobre</p><p>tipos de vulnerabilidades que o teste de segurança busca encontrar, considerando</p><p>uma arquitetura do tipo cliente-servidor: ( ) a. Inserção de scripts mal-</p><p>intencionados para desabilitar operações do cliente. ( ) b. Erros preexistentes em</p><p>navegadores, programas de e-mail e software de comunicação no servidor. ( ) c.</p><p>Inserção de scripts mal-intencionados para ser passados do cliente para o</p><p>servidor. (X) d. Possibilidade de acesso não autorizados a bancos de dados. ( ) e.</p><p>Possibilidade de ataques que causam recusa de serviço no cliente.</p><p>1.</p><p>Está correta</p><p>2. [16:28]</p><p>Uma equipe de projeto está implementando a integração contínua para o</p><p>processo de desenvolvimento de software. Para tanto, optou por utilizar a</p><p>abordagem de uso de teste de fumaça para assegurar a validação das novas</p><p>builds integradas pelo processo, buscando agilizar a busca de erros nas</p><p>integracões. Com base nas informacões apresentadas, identifique se são (V)</p><p>verdadeiras ou (F) falsas as afirmativas a seguir. 1,67 pon I. A build é integrada a</p><p>outras builds eo produto inteiro passa sob demanda manual e eventual pelo teste</p><p>de fumaça Il. Busca-se encontrar erros bloqueadores, que apresentam a maior</p><p>probabilidade de atrasar o cronograma do projeto Il. O teste de fumaça exercita o</p><p>sistema fim a fim, devendo ser capaz de expor os principais problemas H: Assinale</p><p>a alternativa que apresenta a sequência correta Oa.V.VF O b.F.F.F. cFVV Od.V,F.V</p><p>Oe.FFV</p><p>1</p><p>3. [16:29]</p><p>Correta - F V V</p><p>1</p><p>12 de agosto de 2024</p><p>4.</p><p>Chico — 12/08/2024 13:57</p><p>Questões dos documentos acima</p><p>5. [13:57]</p><p>[CORRETA] A equipe de desenvolvimento e testes resolveu automatizar os testes</p><p>utilizando uma ferramenta com base em testes de interface por robô. Tendo em</p><p>vista o investimento a ser realizado, uma série de fatores foi considerada para</p><p>avaliar se a automatização seria eficaz para o projeto. Pensando nos fatores</p><p>levantados, identifique se são (V) verdadeiras ou (F) falsas as afirmativas a seguir.</p><p>I. Aplicações complexas podem demandar elevados esforços na codificação de</p><p>scripts de automação. II. Para que a implementação da automação seja facilitada,</p><p>é importante que a aplicação esteja suficientemente madura. III. O investimento</p><p>em automatização é viável, independente da duração do ciclo de vida da</p><p>aplicação. Assinale a alternativa que apresenta a sequência correta. ( ) a. V, F, V.</p><p>(X) b. V, V, F. ( ) c. F, V, F. ( ) d. F, F, V. ( ) e. V, F, F.</p><p>6. [13:57]</p><p>[CORRETA] Considerando o modelo de processo unificado (IBM Rational RUP®), a</p><p>gestão de configuração de software é mais requisitada em quais fases do</p><p>processo de desenvolvimento de software? ( ) Iniciação e Construção. ( ) Iniciação</p><p>e Elaboração. ( ) Elaboração e Construção. ( ) Elaboração e Transição. (X)</p><p>Construção e Transição.</p><p>7. [13:58]</p><p>[CORRETA] Marque a alternativa que apresenta corretamente uma característica</p><p>associada à automação de testes de software: ( ) Os testes de unidade costumam</p><p>ser automatizados por engenheiros de automação de testes. ( ) Testes</p><p>automatizados visam aumentar a produtividade, mas não melhorar a qualidade. ( )</p><p>Apesar das vantagens da automação de testes, há várias classes de teste que não</p><p>podem ou devem ser automatizados devido a suas características. ( ) Embora</p><p>testes automatizados aumentem a produtividade, eles são considerados bastante</p><p>caros. (X) Existem ferramentas para automatizar a geração e a execução de testes.</p><p>8. [13:58]</p><p>[CORRETA] Uma das vantagens da utilização da integração contínua é realizar</p><p>com maior frequência a integração do software, construindo builds que, em</p><p>processos tradicionais de desenvolvimento de software, seriam feitos com menor</p><p>frequência para acomodar a maior quantidade de implementações e</p><p>modificações possível.Dentro desse contexto, assinale a alternativa correta que</p><p>aponta uma característica da integração contínua após o commit de uma</p><p>implementação para o repositório. ( ) a. Receber uma notificação caso o código</p><p>apresente uma grande quantidade de linhas que requer um processo de revisão. ( )</p><p>b. Gerar um caso de teste manual e incluí-lo na lista de testes automatizados para</p><p>que possa ser executado em um novo commit. ( ) c. Colocar, automaticamente, a</p><p>build em ambiente produtivo caso ocorra uma falha de baixo impacto. ( ) d.</p><p>Colocar a implementação em uma fila para que possa ser selecionada,</p><p>posteriormente,</p><p>para inclusão na nova build. (X) e. Receber uma notificação</p><p>rápida caso a sua modificação provoque falhas no sistema em desenvolvimento.</p><p>9. [13:58]</p><p>[CORRETA] Em um sistema de gestão da configuração, são identificados alguns</p><p>elementos que devem existir para o seu desenvolvimento. Esses elementos não</p><p>são mutuamente exclusivos e podem ser utilizados em conjunto à medida que o</p><p>processo de software evolui.Diante disso, correlacione adequadamente os</p><p>elementos de um sistema de gestão de configuração com as respectivas</p><p>definições às quais se referem.</p><p>1. Elementos de componente</p><p>2. Elementos de processo</p><p>3. Elementos de construção</p><p>I. Conjunto de ferramentas que auxiliam na construção do software por meio da</p><p>automação, considerando que componentes apropriados possam ser utilizados e</p><p>validados. II. Coleção de procedimentos e tarefas relacionadas às atividades</p><p>envolvidas na engenharia de software otimizando a gestão das alterações</p><p>realizadas. III. Conjunto de ferramentas que podem ser utilizadas para a gestão de</p><p>cada item de configuração do software. Assinale a alternativa que correlaciona</p><p>adequadamente os dois grupos de informação. ( ) a. 1 - III; 2 - I; 3 - II. ( ) b. 1 - I; 2 -</p><p>III; 3 - II. (X) c. 1 - III; 2 - II; 3 - I. ( ) d. 1 - I; 2 - II; 3 - III. ( ) e. 1 - II; 2 - III; 3 - I.</p><p>10. [13:58]</p><p>[CORRETA] Os testes automatizados têm sido uma tendência para projetos de</p><p>software, devido ao crescimento da complexidade do software e a quantidade de</p><p>testes que podem ser realizados para assegurar a qualidade do software,</p><p>buscando encontrar o maior número de defeitos possível. Com base nas</p><p>informações apresentadas, identifique se são (V) verdadeiras ou (F) falsas as</p><p>afirmativas a seguir. I. Uma das motivações para investir em testes automatizados</p><p>é o aumento da produtividade e a qualidade nos projetos de software. II. O</p><p>investimento em testes automatizados é relativamente alto, pois serão utilizados</p><p>apenas na etapa final do projeto para executar testes de regressão. III.</p><p>Ferramentas de teste como Selenium auxiliam na automação de testes,</p><p>facilitando a criação de casos de teste para automatização. Assinale a alternativa</p><p>que apresenta a sequência correta. ( ) a. F, V, V. ( ) b. V, V, F. ( ) c. V, F, F. (X) d. V, F, V. (</p><p>) e. F, F, V.</p><p>11. [13:58]</p><p>[CORRETA] Um time de desenvolvimento está adotando a metodologia ágil para</p><p>um sistema complexo, mas que apresenta um longo ciclo de vida para o mercado.</p><p>Nesse projeto, o time avaliou a adoção de ferramentas como Gitlab CI/CD,</p><p>pensando em um processo de integração contínua. Considerando que serão</p><p>realizadas dez sprints de duas semanas cada, em que momento o processo de</p><p>integração contínua deve ser disparado para uma melhor eficiência na busca da</p><p>qualidade de software? Assinale a alternativa que indica a melhor resposta para a</p><p>pergunta feita no problema exposto. ( ) a. Deve-se disparar o processo de</p><p>integração contínua no término de cada sprint, realizando o merge de todas as</p><p>implementações. ( ) b. Deve-se disparar o processo de integração contínua a cada</p><p>semana, ou seja, duas vezes por sprint nesse cenário proposto. (X) c. Deve-se</p><p>disparar o processo de integração contínua a cada commit realizado por um</p><p>desenvolvedor ao longo das sprints do projeto. ( ) d. Deve-se disparar o processo</p><p>de integração contínua no início do projeto para configurar o ambiente de gestão</p><p>da configuração e ao término do projeto. ( ) e. Deve-se disparar o processo de</p><p>integração contínua ao término do projeto, ou seja, no término da sprint 10, com</p><p>uma versão mais estável do software.</p><p>12. [13:59]</p><p>[CORRETA] Uma equipe de projeto está implementando a integração contínua</p><p>para o processo de desenvolvimento de software. Para tanto, optou por utilizar a</p><p>abordagem de uso de teste de fumaça para assegurar a validação das novas</p><p>builds integradas pelo processo, buscando agilizar a busca de erros nas</p><p>integracões. Com base nas informacões apresentadas, identifique se são (V)</p><p>verdadeiras ou (F) falsas as afirmativas a seguir. I. A build é integrada a outras</p><p>builds e o produto inteiro passa sob demanda manual e eventual pelo teste de</p><p>fumaça II. Busca-se encontrar erros bloqueadores, que apresentam a maior</p><p>probabilidade de atrasar o cronograma do projeto III. O teste de fumaça exercita o</p><p>sistema fim a fim, devendo ser capaz de expor os principais problemas Assinale a</p><p>alternativa que apresenta a sequência correta: ( ) a. V - V - F ( ) b. F - F - F (X) c. F - V</p><p>- V ( ) d. V - F - V ( ) e. F - F - V</p><p>2 de setembro de 2024</p><p>13.</p><p>Chico — 02/09/2024 16:52</p><p>[CORRETA] Na integração contínua, o desenvolvedor envia o seu código para __</p><p>(lacuna 1). O servidor de integração contínua monitora o repositório, buscando por</p><p>modificações. Após __ (lacuna 2) ser efetuado, o servidor identificará a mudança</p><p>de código. Assim, o processo de __ (lacuna 3) é iniciado, testes são realizados, e</p><p>todo o projeto é integrado. Preencha as lacunas escolhendo a alternativa correta.</p><p>(X) a. o controle de versão, um commit, build. ( ) b. o e-mail, um commit, build. ( )</p><p>c. o commit, um pull request, build. ( ) d. o commit, um controle de versão, build. (</p><p>) e. o controle de versão, um commit, e-mail.</p><p>14. [16:53]</p><p>[CORRETA] Marque a alternativa que apresenta corretamente uma característica</p><p>associada à integração contínua de software: ( ) A integração continua representa</p><p>a união dos componentes em uma build realizada uma ou mais vezes por semana.</p><p>( ) O teste fumaça precisa ser bem completo, o mais exaustivo possível, para</p><p>garantir que a nova build não possui qualquer problema antes de passar para a</p><p>próxima etapa do processo de desenvolvimento de software. (X) A integração</p><p>contínua deve ser um processo simples, de repetibilidade. ( ) Estima-se que mais</p><p>pouco mais de 25% das organizações desenvolvedoras de software no mundo já</p><p>usam integração contínua. ( ) Embora não seja originária dos métodos ágeis, a</p><p>prática de integração contínua ganhou rapidamente a adesão dos adeptos de</p><p>métodos ágeis.</p><p>15. [16:59]</p><p>[CORRETA] As ferramentas de apoio para a automação de testes podem ser</p><p>utilizadas para os diferentes níveis de teste, como os testes de unidade, os testes</p><p>de integração, os testes de sistema e os testes de validação. No caso de testes de</p><p>unidade, podem ser aplicados testes de caixa branca para a automação. Assinale</p><p>a alternativa que representa um exemplo de ferramenta de apoio para automação</p><p>de testes de unidade. (X) a. JUnit. ( ) b. TestComplete. ( ) c. Robotium. ( ) d.</p><p>Selenium Web. ( ) e. Selenium IDE.</p><p>16.</p><p>Chico — 02/09/2024 17:02</p><p>[CORRETA] Um líder de projetos propôs a adoção de integração contínua em um</p><p>projeto de software, devido aos atrasos de cronograma em função de períodos</p><p>ineficientes de integração de componentes de software, que ocorrem após um</p><p>longo período de implementações. Com base nesse problema apresentado,</p><p>observe as asserções a seguir e a relação proposta entre elas. I. A integração</p><p>contínua traz, como uma das vantagens, um menor risco para o projeto, evitando</p><p>uma longa etapa de integração. PORQUE II. A integração contínua realiza a</p><p>integração de componentes com antecedência, descobrindo e corrigindo falhas</p><p>de forma antecipada. A respeito dessas asserções, assinale a alternativa correta. (</p><p>) a. A asserção I é uma proposição falsa, e a II é uma proposição verdadeira. (X) b.</p><p>As asserções I e II são proposições verdadeiras, e a II é uma justificativa da I. ( ) c.</p><p>As asserções I e II são falsas. ( ) d. A asserção I é uma proposição verdadeira, e a II</p><p>é uma proposição falsa. ( ) e. As asserções I e II são proposições verdadeiras, mas</p><p>a II não é uma justificativa da I.</p><p>17.</p><p>Chico — 02/09/2024 19:09</p><p>[CORRETA] 19 - Marque a alternativa que apresenta corretamente a ordem das</p><p>camadas do processo de gestão de configuração de software, do mais interno</p><p>para o mais externo: ( ) Item de configuração de software→Identificação à Controle</p><p>de versão → Controle de alterações → Relatórios (comunicados) → Auditoria de</p><p>configuração. ( ) Identificação → Item de configuração de software → Controle de</p><p>alterações → Controle de versão → Relatórios (comunicados) → Auditoria de</p><p>configuração. ( ) Identificação → Item de configuração de software → Controle de</p><p>versão → Controle de alterações → Auditoria de configuração → Relatórios</p><p>(comunicados). ( ) Identificação → Item de configuração de software → Controle de</p><p>versão → Controle de alterações → Relatórios (comunicados) → Auditoria de</p><p>configuração. (X) Item de configuração de software → Identificação → Controle de</p><p>alterações → Controle de versão → Auditoria de configuração → Relatórios</p><p>(comunicados).</p><p>18. [19:11]</p><p>[CORRETA] Qual a alternativa abaixo apresenta a ordem correta para o fluxo de</p><p>trabalho da prática de integração contínua considerando as seguintes atividades:</p><p>1. Inicia-se o processo de build.</p><p>2. O desenvolvedor envia o código para o controle de versão (via SVN,</p><p>CVS etc.).</p><p>3. O projeto inteiro é integrado.</p><p>4. O script de build é executado.</p><p>5. O servidor de integração contínua monitora o repositório de controle</p><p>de versão, buscando por modificações.</p><p>6. O servidor de integração envia por email (ou por outras formas de</p><p>notificação) o resultado da execução da build para usuários</p><p>específicos do projeto.</p><p>7. O servidor identifica a mudança no código.</p><p>8. O servidor volta ao estado de monitoramento de mudanças no</p><p>repositório.</p><p>9. Obtém-se os arquivos do controle de versão.</p><p>10. Relatórios são gerados.</p><p>11. Testes são realizados.</p><p>12. Um commit é efetuado.</p><p>( ) 12, 5, 2, 9, 1, 7, 11, 4, 10, 3, 8, 6. ( ) 12, 2, 5, 11, 4, 7, 9, 1, 10, 3, 8, 6. ( ) 12, 2, 5, 4,</p><p>11, 1, 7, 9, 3, 10, 8, 6. (X) 5, 2, 12, 7, 1, 9, 4, 11, 10, 3, 6, 8. ( ) 2, 5, 12, 1, 4, 9, 11, 7,</p><p>3, 10, 6, 8.</p><p>19. [19:14]</p><p>[CORRETA] Os sistemas de gestão de configuração de software tem como base</p><p>repositórios de armazenamento para realizar o controle de itens de configuração,</p><p>como códigos que são desenvolvidos para compor uma versão de software de um</p><p>projeto de desenvolvimento.Com relação ao sistema de gestão de configuração</p><p>de software, avalie as afirmações a seguir. I. O repositório do sistema de gestão da</p><p>configuração deve armazenar somente as últimas versões dos itens de</p><p>configuração. II. O recurso de gestão da configuração mantém o controle de uma</p><p>série de configurações representando marcos do projeto ou versões de produção.</p><p>III. O repositório gerencia uma grande variedade de relações entre os elementos</p><p>de dados nele armazenados. IV. O repositório de um sistema de gestão de</p><p>configuração deve controlar somente versões de código de software. Está correto</p><p>o que se afirma em: (X) a. II e III, apenas. ( ) b. III e IV, apenas. ( ) c. I, II e III, apenas.</p><p>( ) d. I e II, apenas. ( ) e. II e IV, apenas.</p><p>1 III – 2 I – 3 II</p><p>“b”</p><p>?</p><p>PERGUNTA 1</p><p>Um arquiteto deparou-se com a necessidade de criar um elemento que centralizasse toda a</p><p>comunicação do sistema, assegurando que o devido tratamento seja dado para cada requisição</p><p>recebida, encaminhando-as para os componentes adequados. Para tanto, resolveu utilizar um tipo de</p><p>padrão de projeto que atendesse à conversão dessas interfaces.</p><p>Assinale a alternativa que melhor se encaixa no padrão de projeto utilizado pelo arquiteto.</p><p>a.</p><p>O padrão de projeto adequado para resolver o problema proposto é o Adapter.</p><p>b.</p><p>O padrão de projeto adequado para resolver o problema proposto é o Abstract Factory.</p><p>c.</p><p>O padrão de projeto adequado para resolver o problema proposto é o Singleton.</p><p>d.</p><p>O padrão de projeto adequado para resolver o problema proposto é o Façade. ← Errada</p><p>e.</p><p>O padrão de projeto adequado para resolver o problema proposto é o Builder.</p><p>1,44 pontos</p><p>PERGUNTA 2</p><p>O arquiteto de sistemas de uma empresa está levantando a possibilidade de reúso de componentes</p><p>dentro de uma aplicação que deve ser desenvolvida com um prazo bastante curto. Para tanto,</p><p>considerou uma série de observações para verificar a validade do reúso de componentes.</p><p>Dentro desse cenário, identifique se são (V) verdadeiras ou (F) falsas as afirmativas a seguir.</p><p>I. O arquiteto deve considerar a necessidade do código-fonte do componente, pois, sendo uma</p><p>entidade executável independente, torna-se imprescindível esse artefato.</p><p>II. Os componentes devem ter uma interface “requer” com a definição de todos os serviços que são</p><p>por eles definidos, com métodos bem delineados.</p><p>III. O arquiteto deve avaliar a implantação dos componentes que estão sendo selecionados, a fim de</p><p>assegurar que os componentes são autocontidos.</p><p>Assinale a alternativa que apresenta a sequência CORRETA.</p><p>a.</p><p>F — F — F</p><p>b.</p><p>V — F — V</p><p>c.</p><p>V — V — V</p><p>d.</p><p>F — F — V ← Correta</p><p>e.</p><p>V — F — F</p><p>1,44 pontos</p><p>PERGUNTA 3</p><p>Considerando o contexto de engenharia de software baseada em reúso, marque a alternativa que</p><p>apresenta um elemento básico de um modelo de componentes corretamente associado com o seu</p><p>grupo.</p><p>“Apoio a teste” usada para testar o componente, composta por “definição de interface”,</p><p>“empacotamento” e “personalização”.</p><p>“Implantação e uso” que representa o modo como o componente deve ser implantado, composta por</p><p>“empacotamento”, “documentação” e “apoio à evolução”. ← Correta</p><p>“Requisições” para definir como o componente deve ser invocado, composta por “acesso a</p><p>metadados”, “interfaces específicas” e “apoio à evolução”.</p><p>“Informação de uso” necessária para que o componente seja usado em um programa, composta por</p><p>“definição de interface”, “composição” e “interfaces específicas”.</p><p>“Interfaces” do componente, composta por “convenção de nomes”, “acesso a metadados” e</p><p>“personalização”.</p><p>1,42 pontos</p><p>PERGUNTA 4</p><p>Uma empresa de desenvolvimento de software está com um grande projeto para ser iniciado.</p><p>Analistas foram alocados para fazer o trabalho de engenharia de requisitos, acompanhado pelo</p><p>arquiteto de sistemas, que irá atuar na concepção da arquitetura a ser utilizada na implementação do</p><p>sistema. Os analistas entendem que há muitas funcionalidades que poderiam ser implementadas</p><p>através da compra de bibliotecas prontas de terceiros e indicam ao arquiteto que leve em</p><p>consideração essa alternativa, pois poderia ajudar a reduzir custos e prazos de projeto. Porém o</p><p>arquiteto entende que seria melhor implementar algo novo.</p><p>Considerando o cenário exposto, assinale a alternativa que melhor aponta uma justificativa do</p><p>arquiteto para não fazer reuso de software.</p><p>a.</p><p>Maior dificuldade para implementar futuras mudanças nas funcionalidades das bibliotecas a serem</p><p>compradas. ← Correta</p><p>b.</p><p>O uso de componentes reusáveis sempre traz um custo de manutenção maior.</p><p>c.</p><p>Falta de padrões de projeto arquiteturais para utilização das bibliotecas a serem compradas.</p><p>d.</p><p>O mais importante, para um projeto, é a qualidade, e não o prazo da entrega.</p><p>e.</p><p>Problemas para testar as funcionalidades sem o código-fonte das bibliotecas.</p><p>1,42 pontos</p><p>PERGUNTA 5</p><p>Considerando o contexto de engenharia de software baseada em reúso, marque a alternativa que</p><p>apresenta corretamente três tipos de composição de componentes.</p><p>aditiva, equivalente, sequencial.</p><p>aditiva, alternativa, equivalente.</p><p>alternativa, equivalente, hierárquica.</p><p>alternativa, hierárquica, sequencial.</p><p>Aditiva, hierárquica, sequencial. ← Correta</p><p>1,42 pontos</p><p>PERGUNTA 6</p><p>O reúso pode ser tratado como uma estratégia de otimização do desenvolvimento de software, em</p><p>que elementos podem ser reutilizados para novos softwares. Isso possibilita a redução do tempo de</p><p>desenvolvimento, tendo em vista que os elementos</p><p>que serão reutilizados já tiveram o seu ciclo de</p><p>desenvolvimento realizado, não havendo a necessidade de passar novamente pelas mesmas etapas.</p><p>Correlacione os tipos de reúso com suas respectivas definições.</p><p>1 — Reúso de sistema.</p><p>2 — Reúso de aplicações.</p><p>3 — Reúso de componentes.</p><p>I — Este tipo de reúso pode ter a sua configuração diferenciada para clientes.</p><p>II — Este tipo de reúso pode ser exemplificado por reúso de elementos acessados por API.</p><p>III — Este tipo de reúso permite o reúso de uma série de programas inteiros e completos.</p><p>Assinale a alternativa que correlaciona adequadamente os dois grupos de informação.</p><p>a.</p><p>1 — III; 2 — I; 3 — II ← Correta</p><p>b.</p><p>1 — III; 2 — II; 3 — I</p><p>c.</p><p>1 — II; 2 — I; 3 — III</p><p>d.</p><p>1 — I; 2 — II; 3 — III</p><p>e.</p><p>1 — I; 2 — III; 3 — II</p><p>1,43 pontos</p><p>PERGUNTA 7</p><p>A reutilização de elementos de software para projetos é muito importante para acelerar o tempo de</p><p>desenvolvimento de novos softwares. Um tipo de elemento que pode ser reutilizado são os padrões</p><p>de projeto, muito utilizados quando se trata do paradigma de programação orientada a objetos.</p><p>Assinale a alternativa abaixo que trata do conceito de padrão de projeto.</p><p>a.</p><p>Um padrão de projeto descreve uma solução que pode ser aplicada para diferentes tipos de</p><p>problemas, com um algoritmo que requer ajustes para cada caso.</p><p>b.</p><p>Um padrão de projeto descreve um problema e várias alternativas de sua solução, de forma que</p><p>possam ser aplicadas para qualquer caso sem alteração.</p><p>c.</p><p>Um padrão de projeto descreve um requisito padrão para ser reutilizado em diferentes tipos de</p><p>projetos de desenvolvimento de software.</p><p>d. ← Correta</p><p>Um padrão de projeto descreve um problema e um modelo para a sua solução, permitindo o reúso</p><p>com os ajustes para cada caso.</p><p>e.</p><p>Um padrão de projeto descreve um algoritmo para resolver um problema, sendo muito utilizado</p><p>para linguagens de programação estruturada.</p><p>Tentativa 1</p><p>• Pergunta 1</p><p>0 em 1,43 pontos</p><p>Os testes de desempenho são planejados conforme as expectativas citadas em</p><p>requisitos de desempenho do sistema, que tem como base as características de</p><p>eficiência de desempenho dos requisitos de qualidade.</p><p>Nesse contexto, correlacione as dimensões de desempenho de um produto de</p><p>software com suas definições.</p><p>1. Comportamento em relação ao tempo</p><p>2. Utilização de recursos</p><p>3. Capacidade do sistema</p><p>I. Grau em que a quantidade e a variedade de elementos usados pelo sistema</p><p>atingem os seus requisitos.</p><p>II. Grau em que os limites máximos de um parâmetro do sistema como número</p><p>de usuários concorrentes atingem os seus requisitos.</p><p>III. Grau em que as taxas de throughput do sistema atingem seus requisitos</p><p>quando as suas funções são exercidas.</p><p>Assinale a alternativa que correlaciona adequadamente os dois grupos de</p><p>informação.</p><p>Resposta Selecionada: c.</p><p>1 - III; 2 - II; 3 - I.</p><p>Respostas: a.</p><p>1 - I; 2 - II; 3 - III.</p><p>b.</p><p>1 - II; 2 - III; 3 - I.</p><p>c.</p><p>1 - III; 2 - II; 3 - I.</p><p>d.</p><p>1 - II; 2 - I; 3 - III.</p><p>e.</p><p>1 - III; 2 - I; 3 - II.</p><p>Comentário</p><p>da resposta:</p><p>JUSTIFICATIVA</p><p>A sentença I se enquadra no conceito 2, pois a utilização de</p><p>recursos consiste no grau em que a quantidade e a variedade</p><p>de recursos usados pelo sistema atingem os seus requisitos,</p><p>quando as funções do sistema são executadas.</p><p>A sentença II se enquadra no conceito 3, pois a capacidade</p><p>consiste no grau em que os limites máximos de um parâmetro</p><p>do sistema atingem os seus requisitos.</p><p>A sentença III se enquadra no conceito 1, pois o</p><p>comportamento em relação ao tempo consiste no grau em que</p><p>os tempos de resposta e de processamento, bem como as taxas</p><p>de throughput do sistema, atingem os seus requisitos quando</p><p>as suas funções de sistema são executadas.</p><p>• Pergunta 2</p><p>1,43 em 1,43 pontos</p><p>Assinale a alternativa que apresenta apenas tipos de sistemas para os quais o</p><p>teste de desempenho é essencial:</p><p>Resposta</p><p>Selecionada:</p><p>Sistemas de tempo real; Sistemas embutidos; Aplicativos</p><p>móveis; Softwares web.</p><p>Respostas:</p><p>Sistemas de tempo real; Sistemas embutidos; Aplicativos</p><p>móveis; Softwares web.</p><p>Sistemas embutidos; Aplicativos móveis; Sistemas stand-</p><p>alone; Softwares web.</p><p>Sistemas de tempo real; Aplicativos móveis; Sistemas</p><p>stand-alone; Softwares web.</p><p>Sistemas de tempo real; Sistemas embutidos; Sistemas</p><p>stand-alone; Aplicativos móveis.</p><p>Sistemas de tempo real; Sistemas embutidos; Sistemas</p><p>stand-alone; Softwares web.</p><p>Comentário da</p><p>resposta:</p><p>JUSTIFICATIVA</p><p>Desempenho não costuma ser um fator crítico para sistemas</p><p>stand-alone quando comparado com outros tipos de sistemas</p><p>e, portanto, teste de desempenho não é essencial para esse</p><p>tipo de sistema.</p><p>• Pergunta 3</p><p>0 em 1,42 pontos</p><p>Assinale a alternativa que contém uma descrição correta para um tipo</p><p>específico de teste de desempenho:</p><p>Resposta</p><p>Selecionada:</p><p>Teste de resistência: Avaliar o nível no qual o aumento de</p><p>carga (de usuários, transações, armazenamento de dados etc.)</p><p>compromete a capacidade de um item de teste para sustentar</p><p>o desempenho requerido.</p><p>Respostas:</p><p>Teste de volume: Avaliar a capacidade do item de teste</p><p>processar quantidades de dados especificadas (usualmente no</p><p>ou próximos ao limite máximo de capacidade especificada)</p><p>em termos de throughput, capacidade de armazenamento ou</p><p>ambos.</p><p>Teste de carga: Avaliar se um item de teste pode sustentar</p><p>uma carga necessária continuamente por um período de</p><p>tempo determinado.</p><p>Teste de estresse: Avaliar o comportamento de um item de</p><p>teste em condições esperadas de carga variável (uso baixo,</p><p>típico e de pico).</p><p>Teste de resistência: Avaliar o nível no qual o aumento de</p><p>carga (de usuários, transações, armazenamento de dados etc.)</p><p>compromete a capacidade de um item de teste para sustentar</p><p>o desempenho requerido.</p><p>Teste de capacidade: Avaliar o comportamento de um item de</p><p>teste em condições de carga acima dos requisitos de</p><p>capacidade antecipados ou especificados ou da</p><p>disponibilidade de recursos abaixo dos requisitos mínimos</p><p>exigidos.</p><p>Comentário</p><p>da resposta:</p><p>JUSTIFICATIVA</p><p>As descrições corretas são:</p><p>Teste de carga: Avaliar o comportamento de um item de teste</p><p>em condições esperadas de carga variável (uso baixo, típico e</p><p>de pico).</p><p>Teste de estresse: Avaliar o comportamento de um item de</p><p>teste em condições de carga acima dos requisitos de</p><p>capacidade antecipados ou especificados ou da</p><p>disponibilidade de recursos abaixo dos requisitos mínimos</p><p>exigidos.</p><p>Teste de capacidade: Avaliar o nível no qual o aumento de</p><p>carga (de usuários, transações, armazenamento de dados etc.)</p><p>compromete a capacidade de um item de teste para sustentar o</p><p>desempenho requerido.</p><p>Teste de resistência: Avaliar se um item de teste pode</p><p>sustentar uma carga necessária continuamente por um período</p><p>de tempo determinado.</p><p>• Pergunta 4</p><p>1,42 em 1,42 pontos</p><p>Considere os dois tipos de violação:</p><p>I. Ocorre quando uma ação em um sistema é executada além das</p><p>permissões concedidas.</p><p>II. Ocorre quando há divulgação não autorizada/esperada de alguma</p><p>informação sensível armazenada ou manipulada por um sistema.</p><p>Marque a alternativa que apresenta corretamente os dois tipos de violação</p><p>descritos acima:</p><p>Resposta Selecionada:</p><p>Violação de segurança; Violação de privacidade.</p><p>Respostas: Violação de privacidade; Violação de propriedade.</p><p>Violação de propriedade; Violação de segurança.</p><p>Violação de privacidade; Violação de segurança.</p><p>Violação de segurança; Violação de privacidade.</p><p>Violação de propriedade; Violação de privacidade.</p><p>Comentário</p><p>da resposta:</p><p>JUSTIFICATIVA</p><p>“Violação de propriedade” não é um conceito usado no</p><p>contexto abordado no enunciado, embora sejam informações</p><p>privadas</p><p>que são alvos de violações de segurança e de</p><p>privacidade. Além disso, violação de segurança é um conceito</p><p>mais genérico, enquanto a violação de privacidade é mais</p><p>específica, pois a violação de privacidade só ocorre se alguma</p><p>informação sensível for divulgada enquanto basta haver acesso</p><p>não autorizado para que uma violação de segurança ocorra,</p><p>mesmo que não haja divulgação de informação sensível.</p><p>• Pergunta 5</p><p>1,42 em 1,42 pontos</p><p>O desenvolvimento dirigido por testes (TDD — Test Driven Development) é</p><p>um método de desenvolvimento de software baseado no test-first, em que os</p><p>casos de teste são criados para direcionar a implementação das funcionalidades,</p><p>sendo estas incorporadas ao software.</p><p>Com relação às características do TDD, observe as afirmações a seguir.</p><p>I. TDD requer um ambiente de teste automatizado, como é o caso da adoção de</p><p>JUnit para o desenvolvimento de software utilizando a linguagem de</p><p>programação Java.</p><p>II. No TDD, são aplicados, principalmente, testes de integração, não</p><p>priorizando outros tipos de testes como unitários.</p><p>III. TDD ajuda programadores para trazer maior clareza sobre o que o código</p><p>deve fazer, aumentando a eficiência para as entregas de software.</p><p>IV. Os testes de sistema não são necessários no TDD, tendo em vista que os</p><p>testes realizados pelos programadores durante a codificação são suficientes.</p><p>Está correto o que se afirma em:</p><p>Resposta Selecionada: b.</p><p>I e III, apenas.</p><p>Respostas: a.</p><p>II e IV, apenas.</p><p>b.</p><p>I e III, apenas.</p><p>c.</p><p>I, II e III, apenas.</p><p>d.</p><p>II e III, apenas.</p><p>e.</p><p>I e IV, apenas.</p><p>Comentário</p><p>da resposta:</p><p>JUSTIFICATIVA</p><p>A afirmativa I está correta, pois o TDD requer que os testes</p><p>sejam criados para um ambiente automatizado, como o uso de</p><p>JUnit, para uma melhor eficiência da metodologia. Assim, a</p><p>cada nova implementação, podem ser verificados se testes</p><p>anteriormente executados não apresentam resultados</p><p>divergentes.</p><p>A afirmativa II está incorreta, pois, na metodologia TDD, são</p><p>utilizados, principalmente, os testes unitários, sendo que o</p><p>programador pode criar o teste da funcionalidade antes da</p><p>implementação do seu código.</p><p>A afirmativa III está correta, pois, por meio dos casos de teste,</p><p>o programador pode ter maior clareza do que deve ser</p><p>implementado, para que o teste possa ser bem-sucedido. Dessa</p><p>forma, uma visão de como o teste irá verificar uma</p><p>funcionalidade pode ajudar a direcionar a implementação do</p><p>código.</p><p>A afirmativa IV está incorreta, pois os testes de sistema podem</p><p>vir a ser adicionados no TDD, a fim de realizar uma análise do</p><p>sistema em um nível maior, alinhado com a expectativa dos</p><p>seus clientes e usuários, como uma verificação final para a</p><p>entrega do software.</p><p>• Pergunta 6</p><p>1,44 em 1,44 pontos</p><p>Uma equipe de testes está avaliando alguns requisitos de sistema para a</p><p>elaboração do plano de testes. Para cada um dos requisitos, foi identificado o</p><p>melhor tipo de testes que pode ser aplicado, para assegurar a validação ele.</p><p>Sendo assim, relacione, adequadamente, os requisitos levantados a seguir com</p><p>os tipos de teste que melhor se adéquam para a sua verificação.</p><p>1. O sistema deve ter um tempo de resposta inferior a dois segundos para</p><p>cada solicitação.</p><p>2. O sistema deve ser capaz de suportar 200 solicitações simultâneas por</p><p>segundo.</p><p>3. O sistema deve ser capaz de suportar 1.000 usuários conectados durante</p><p>24 horas.</p><p>I. Teste de carga</p><p>II. Teste de resistência</p><p>III. Teste de desempenho</p><p>Assinale a alternativa que correlaciona adequadamente os dois grupos de</p><p>informação.</p><p>Resposta Selecionada: e.</p><p>1 - III; 2 - I; 3 - II</p><p>Respostas: a.</p><p>1 - III; 2 - II; 3 - I</p><p>b.</p><p>1 - II; 2 - I; 3 - III</p><p>c.</p><p>1 - II; 2 - III; 3 - I</p><p>d.</p><p>1 - I; 2 - II; 3 - III</p><p>e.</p><p>1 - III; 2 - I; 3 - II</p><p>Comentário</p><p>da resposta:</p><p>JUSTIFICATIVA</p><p>A sentença I se enquadra no conceito 2, pois o teste de</p><p>verificação de carga está ligado à capacidade que um sistema</p><p>deve apresentar, o que está representado pela quantidade de</p><p>solicitações simultâneas citada, 200 solicitações simultâneas</p><p>por segundo.</p><p>A sentença II se enquadra no conceito 3, pois o teste de</p><p>resistência verifica o comportamento do sistema frente a uma</p><p>longa duração de tempo, como é o caso apresentado de</p><p>quantidade de usuários conectados por um período de 24</p><p>horas.</p><p>A sentença III se enquadra no conceito 1, pois o teste de</p><p>desempenho verifica, principalmente, o tempo de resposta do</p><p>sistema para uma solicitação, como apresentado no caso de</p><p>tempo de resposta inferior a dois segundos para cada</p><p>solicitação feita ao sistema.</p><p>• Pergunta 7</p><p>1,44 em 1,44 pontos</p><p>Considere as seguintes afirmações para o contexto de "desenvolvimento</p><p>dirigido por testes":</p><p>I. Pode confundir os programadores na hora de entenderem o que</p><p>precisam implementar.</p><p>II. Leva a uma baixa cobertura de código sendo testado.</p><p>III. Dificultam a realização de teste de regressão.</p><p>IV. Torna a depuração praticamente inviável.</p><p>V. Dificulta a documentação do sistema.</p><p>Resposta Selecionada:</p><p>Nenhuma das afirmações está correta.</p><p>Respostas:</p><p>Nenhuma das afirmações está correta.</p><p>Apenas as afirmações (I) e (V) estão corretas.</p><p>Apenas as afirmações (II), (III) e (IV) estão corretas.</p><p>Apenas a afirmação (III) está correta.</p><p>Apenas a afirmação (IV) está correta.</p><p>Comentário da</p><p>resposta:</p><p>JUSTIFICATIVA</p><p>As afirmações corretas são:</p><p>I) Ajuda os programadores a entenderem o que</p><p>precisam implementar.</p><p>II) Garante uma boa cobertura de código sendo testado.</p><p>III) Confere uma boa abordagem para a realização de</p><p>testes de regressão.</p><p>IV) Torna a depuração praticamente desnecessária.</p><p>V) Ajuda a documentar o sistema.</p><p>Tentativa 2</p><p>•</p><p>Os testes de desempenho são planejados conforme as expectativas citadas em</p><p>requisitos de desempenho do sistema, que tem como base as características de</p><p>eficiência de desempenho dos requisitos de qualidade.</p><p>Nesse contexto, correlacione as dimensões de desempenho de um produto de</p><p>software com suas definições.</p><p>1. Comportamento em relação ao tempo</p><p>2. Utilização de recursos</p><p>3. Capacidade do sistema</p><p>I. Grau em que a quantidade e a variedade de elementos usados pelo sistema</p><p>atingem os seus requisitos.</p><p>II. Grau em que os limites máximos de um parâmetro do sistema como número</p><p>de usuários concorrentes atingem os seus requisitos.</p><p>III. Grau em que as taxas de throughput do sistema atingem seus requisitos</p><p>quando as suas funções são exercidas.</p><p>Assinale a alternativa que correlaciona adequadamente os dois grupos de</p><p>informação.</p><p>Resposta Selecionada: d.</p><p>1 - III; 2 - I; 3 - II.</p><p>Respostas: a.</p><p>1 - II; 2 - I; 3 - III.</p><p>b.</p><p>1 - III; 2 - II; 3 - I.</p><p>c.</p><p>1 - II; 2 - III; 3 - I.</p><p>d.</p><p>1 - III; 2 - I; 3 - II.</p><p>e.</p><p>1 - I; 2 - II; 3 - III.</p><p>Comentário</p><p>da resposta:</p><p>JUSTIFICATIVA</p><p>A sentença I se enquadra no conceito 2, pois a utilização de</p><p>recursos consiste no grau em que a quantidade e a variedade de</p><p>recursos usados pelo sistema atingem os seus requisitos, quando</p><p>as funções do sistema são executadas.</p><p>A sentença II se enquadra no conceito 3, pois a capacidade</p><p>consiste no grau em que os limites máximos de um parâmetro</p><p>do sistema atingem os seus requisitos.</p><p>A sentença III se enquadra no conceito 1, pois o comportamento</p><p>em relação ao tempo consiste no grau em que os tempos de</p><p>resposta e de processamento, bem como as taxas de throughput</p><p>do sistema, atingem os seus requisitos quando as suas funções</p><p>de sistema são executadas.</p><p>• Pergunta 2</p><p>1,43 em 1,43 pontos</p><p>O desenvolvimento dirigido por testes é uma metodologia utilizada para</p><p>priorizar a criação de casos de teste antes de iniciar a implementação</p><p>propriamente dita do código das funcionalidades. Isso permite um foco maior</p><p>da implementação, para que os testes possam executar com sucesso as</p><p>funcionalidades.</p><p>Assinale a alternativa que indique um dos recursos importantes para o processo</p><p>de desenvolvimento dirigido por testes.</p><p>Resposta Selecionada: c.</p><p>Refatoração.</p><p>Respostas: a.</p><p>Estruturas de seleção.</p><p>b.</p><p>Padrões de projeto.</p><p>c.</p><p>Refatoração.</p><p>d.</p><p>Diagrama de classes.</p><p>e.</p><p>Estruturas de repetição.</p><p>Comentário</p><p>da resposta:</p><p>JUSTIFICATIVA</p><p>A refatoração é importante para o ciclo de verificação da</p><p>implementação por meio dos testes e dos ajustes necessários</p><p>para que possa ser incorporado ao software. Os padrões de</p><p>projeto não são um recurso mandatório no TDD, estando</p><p>relacionados às atividades de arquitetura do software. O</p><p>diagrama de classes não é um recurso mandatório no TDD,</p><p>estando relacionado às atividades de modelagem na arquitetura</p><p>do software. As estruturas de seleção não são um recurso</p><p>mandatório no TDD, estando relacionadas a estruturas de</p><p>lógica utilizadas na implementação. As estruturas de repetição</p><p>não são um recurso mandatório no TDD, estando relacionadas</p><p>a estruturas de lógica utilizadas na implementação.</p><p>• Pergunta 3</p><p>1,42 em 1,42 pontos</p><p>O desenvolvimento dirigido por testes (TDD — Test Driven Development) é</p><p>um método de desenvolvimento de software baseado no test-first, em que os</p><p>casos de teste são criados para direcionar a implementação das funcionalidades,</p><p>sendo estas incorporadas ao software.</p><p>Com relação às características do TDD, observe as afirmações a seguir.</p><p>I. TDD requer um ambiente de teste automatizado, como é o caso da adoção de</p><p>JUnit para o desenvolvimento de software utilizando a linguagem de</p><p>programação Java.</p><p>II. No TDD, são aplicados, principalmente, testes de integração, não</p><p>priorizando outros tipos de testes como unitários.</p><p>III. TDD ajuda programadores para trazer maior clareza sobre o que o código</p><p>deve fazer, aumentando a eficiência para as entregas de software.</p><p>IV. Os testes de sistema não são necessários no TDD, tendo em vista que os</p><p>testes realizados pelos programadores durante a codificação são suficientes.</p><p>Está correto o que se afirma em:</p><p>Resposta Selecionada: d.</p><p>I e III, apenas.</p><p>Respostas: a.</p><p>I, II e III, apenas.</p><p>b.</p><p>I e IV, apenas.</p><p>c.</p><p>II e III, apenas.</p><p>d.</p><p>I e III, apenas.</p><p>e.</p><p>II e IV, apenas.</p><p>Comentário</p><p>da resposta:</p><p>JUSTIFICATIVA</p><p>A afirmativa I está correta, pois o TDD requer que os testes</p><p>sejam criados para um ambiente automatizado, como o uso de</p><p>JUnit, para uma melhor eficiência da metodologia. Assim, a</p><p>cada nova implementação, podem ser verificados se testes</p><p>anteriormente executados não apresentam resultados</p><p>divergentes.</p><p>A afirmativa II está incorreta, pois, na metodologia TDD, são</p><p>utilizados, principalmente, os testes unitários, sendo que o</p><p>programador pode criar o teste da funcionalidade antes da</p><p>implementação do seu código.</p><p>A afirmativa III está correta, pois, por meio dos casos de teste,</p><p>o programador pode ter maior clareza do que deve ser</p><p>implementado, para que o teste possa ser bem-sucedido. Dessa</p><p>forma, uma visão de como o teste irá verificar uma</p><p>funcionalidade pode ajudar a direcionar a implementação do</p><p>código.</p><p>A afirmativa IV está incorreta, pois os testes de sistema podem</p><p>vir a ser adicionados no TDD, a fim de realizar uma análise do</p><p>sistema em um nível maior, alinhado com a expectativa dos</p><p>seus clientes e usuários, como uma verificação final para a</p><p>entrega do software.</p><p>• Pergunta 4</p><p>1,42 em 1,42 pontos</p><p>Considere as seguintes informações sobre a ferramenta AppInspector, projetada</p><p>para apoiar o teste de segurança:</p><p>I. AppInspector analisa sistemas apresentados às lojas de aplicações mais</p><p>populares, identifica quais aplicações exibem comportamento malicioso</p><p>e devem ser removidas ou evitadas pelos usuários.</p><p>II. AppInspector gera relatórios informando aos usuários um potencial</p><p>risco para a violação da privacidade devido ao mau ou abuso do uso de</p><p>dados do usuário.</p><p>III. AppInspector usa uma abordagem dinâmica que monitora o que um</p><p>aplicativo usa de informações do usuário e verifica se há</p><p>comportamento suspeito, por exemplo, o consumo excessivo de</p><p>recursos ou a exclusão de dados do usuário.</p><p>IV. AppInspector usa uma infraestrutura que emula smartphones que</p><p>permite um serviço de validação de segurança em grande escala com</p><p>baixo custo, usando a computação na nuvem.</p><p>V. AppInspector acompanha e registra os fluxos de informações do usuário</p><p>e suas ações para analisar o comportamento do aplicativo, identificando</p><p>violações de segurança ou de privacidade e apontando a causa que</p><p>levou às violações.</p><p>Com base nas afirmações a seguir, marque a alternativa correta abaixo.</p><p>Resposta</p><p>Selecionada:</p><p>Todas as afirmações estão corretas.</p><p>Respostas: Apenas as afirmações (I), (III) e (V) estão corretas.</p><p>Apenas as afirmações (II), (III), (IV) e (V) estão</p><p>corretas.</p><p>Apenas as afirmações (I) e (IV) estão corretas.</p><p>Apenas as afirmações (II), (III) e (V) estão corretas.</p><p>Todas as afirmações estão corretas.</p><p>Comentário da resposta: JUSTIFICATIVA</p><p>Todas as afirmações estão corretas.</p><p>• Pergunta 5</p><p>1,42 em 1,42 pontos</p><p>A violação é quando algum ato indevido ocorre sem permissão ou sem</p><p>consentimento da pessoa ou da empresa. No que se refere à segurança da</p><p>informação, podemos citar a violação de segurança e a violação de privacidade,</p><p>ambas podendo causar sérios danos.</p><p>Com base nessas violações, observe as asserções a seguir e a relação proposta</p><p>entre elas.</p><p>I. A violação de segurança ocorre quando uma ação é executada sem as devidas</p><p>permissões.</p><p>PORQUE</p><p>II. Quando são divulgadas informações sensíveis de forma não</p><p>autorizada/esperada, acabam por violar a privacidade.</p><p>A respeito dessas asserções, assinale a alternativa correta.</p><p>Resposta</p><p>Selecionada:</p><p>a.</p><p>As asserções I e II são proposições verdadeiras, mas a II</p><p>não é uma justificativa da I.</p><p>Respostas: a.</p><p>As asserções I e II são proposições verdadeiras, mas a II</p><p>não é uma justificativa da I.</p><p>b.</p><p>A asserção I é uma proposição verdadeira, e a II é uma</p><p>proposição falsa.</p><p>c.</p><p>A asserção I é uma proposição falsa, e a II é uma</p><p>proposição verdadeira.</p><p>d.</p><p>As asserções I e II são proposições verdadeiras, e a II é</p><p>uma justificativa da I.</p><p>e.</p><p>As asserções I e II são falsas.</p><p>Comentário</p><p>da resposta:</p><p>JUSTIFICATIVA</p><p>A asserção I está correta, pois a violação de segurança ocorre</p><p>quando uma ação é processada sem haver as permissões</p><p>adequadas para tal, estando além das permissões concedidas.</p><p>Isso possibilita que ações possam ser incorretamente</p><p>realizadas por profissionais não autorizados, gerando</p><p>problemas que podem causar prejuízos para os usuários e</p><p>principais interessados.</p><p>A asserção II também está correta, porém não justifica a I, pois</p><p>a violação de privacidade ocorre quando são publicadas</p><p>informações sem o consentimento da pessoa ou da empresa.</p><p>São duas violações distintas, não havendo relação de</p><p>justificativa entre as asserções.</p><p>• Pergunta 6</p><p>1,44 em 1,44 pontos</p><p>Considere as seguintes afirmações para o contexto de "desenvolvimento</p><p>dirigido por testes":</p><p>I. Pode confundir os programadores na hora de entenderem o que</p><p>precisam implementar.</p><p>II. Leva a uma baixa cobertura de código sendo testado.</p><p>III. Dificultam a realização de teste de regressão.</p><p>IV. Torna a depuração praticamente inviável.</p><p>V. Dificulta a documentação do sistema.</p><p>Resposta Selecionada:</p><p>Nenhuma das afirmações está correta.</p><p>Respostas: Apenas as afirmações (I) e (V) estão corretas.</p><p>Apenas a afirmação (III) está correta.</p><p>Apenas a afirmação (IV) está correta.</p><p>Apenas as afirmações (II), (III) e (IV) estão corretas.</p><p>Nenhuma das afirmações está correta.</p><p>Comentário da</p><p>resposta:</p><p>JUSTIFICATIVA</p><p>As afirmações corretas são:</p><p>I) Ajuda os programadores a entenderem o que</p><p>precisam</p><p>todo o trabalho a ser realizado está</p><p>presente no __. A partir dele, são selecionados itens que irão fazer parte do __, o</p><p>qual deve compor a construção de um ___, a ser entregue para validação e</p><p>revisão. Preencha as lacunas escolhendo a alternativa CORRETA. (X) a. Backlog do</p><p>produto, backlog da sprint, software potencialmente entregável. ( ) b. Backlog do</p><p>produto, software potencialmente entregável, backlog da sprint. ( ) c. Documento</p><p>de requisitos, software potencialmente entregável, backlog da sprint. ( ) d. Backlog</p><p>da sprint, sprint, software potencialmente entregável. ( ) e. Especificação de</p><p>entregáveis, backlog do produto, backlog da sprint.</p><p>14.</p><p>Chico — 03/08/2024 16:17</p><p>[CORRETA] Marque a alternativa que contém uma afirmação correta sobre os</p><p>modelos de processo de software.</p><p>( ) Embora o reúso de software seja comum e frequente, ainda não há nenhum</p><p>modelo de processo proposto especificamente para esse fim. (X) O modelo de</p><p>Boehm é um modelo de processo de software bastante antigo (de 1988) que já</p><p>propunha o desenvolvimento incremental dirigido por riscos. ( ) O</p><p>desenvolvimento incremental, apesar das suas vantagens e benefícios, não tem</p><p>sido usado atualmente nas organizações que desenvolvem software. ( ) O modelo</p><p>em cascata foi o primeiro modelo de processo proposto para a engenharia de</p><p>software e é ainda o mais usado atualmente. ( ) O RUP (Rational Unified Process)</p><p>reúne elementos de vários modelos de processos que foram propostos antes de</p><p>seu lançamento, com exceção de prototipação.</p><p>15. [16:17]</p><p>[CORRETA] Foi solicitado o desenvolvimento de um sistema que permite a venda</p><p>de ingressos de forma online, para uma fábrica de software. Os analistas fizeram o</p><p>levantamento de requisitos, classificando-os em requisitos funcionais e não</p><p>funcionais, gerando, assim, uma lista de requisitos que foi posteriormente</p><p>documentada em um documento de especificação de requisitos. Sobre os</p><p>requisitos funcionais que foram levantados pelos analistas, avalie as afirmativas a</p><p>seguir. I. O usuário deve realizar os pagamentos por um destes meios: cartão de</p><p>débito, cartão de crédito, boleto ou pix. II. O sistema deve ser acessado por meio</p><p>de um navegador compatível com Google Chrome, Mozilla Firefox, Microsoft Edge</p><p>ou Safari. III. A transferência de dados do cliente deve ser realizada por meio de</p><p>criptografia, utilizando uma conexão segura pela internet. IV. O usuário deve ter a</p><p>possibilidade de selecionar a opção de meia entrada para a compra de ingressos</p><p>no sistema. Está correto o que se afirma em: ( ) a. II, III e IV, apenas (X) b. I e IV,</p><p>apenas ( ) c. I e III, apenas ( ) d. I, II e IV, apenas ( ) e. II e III, apenas</p><p>16. [16:17]</p><p>[CORRETA] Marque a alternativa que descreve corretamente uma das quatro</p><p>atividades fundamentais da Engenharia de Software.</p><p>( ) Validação: o software deve ser validado para garantir que atenda ao que o</p><p>gerente deseja. ( ) Especificação: a funcionalidade do software e as restrições</p><p>sobre sua operação devem ser validadas. ( ) Modelagem: o funcionamento</p><p>desejado para o software é modelado para que possa ser analisado antes do</p><p>desenvolvimento. (X) Desenvolvimento: o software deve ser produzido para</p><p>atender a sua especificação. ( ) Evolução: o software deve evoluir para atender as</p><p>novas funcionalidades sendo atendidas pelas soluções dos concorrentes.</p><p>17.</p><p>Chico — 03/08/2024 16:24</p><p>[CORRETA] Marque a alternativa que lista apenas princípios dos métodos ágeis.</p><p>(X) Acolher as mudanças; Entrega incremental; Envolvimento do cliente; Manter a</p><p>simplicidade; Pessoas, não processos. ( ) Acolher as mudanças; Envolvimento do</p><p>cliente; Manter a simplicidade; Minimizar custos; Pessoas, não processos. ( )</p><p>Acolher as mudanças; Entrega incremental; Manter a simplicidade; Minimizar</p><p>custos; Pessoas, não processos. ( ) Entrega incremental; Envolvimento do cliente;</p><p>Manter a simplicidade; Minimizar custos; Pessoas, não processos. ( ) Acolher as</p><p>mudanças; Entrega incremental; Envolvimento do cliente; Minimizar custos;</p><p>Pessoas, não processos.</p><p>18. [16:24]</p><p>[CORRETA] O processo de engenharia de requisitos visa construir um documento</p><p>de requisitos que irá nortear o escopo a ser desenvolvido para a construção do</p><p>software. Assim o software deve satisfazer os requisitos de usuários e clientes,</p><p>bem como de todos os stakeholders do projeto. Avalie as afirmações a seguir, em</p><p>relação às principais atividades da engenharia de requisitos e correlacione-as</p><p>adequadamente às descrições citadas. 1 — Elicitação e análise de requisitos. 2 —</p><p>Especificação de requisitos. 3 — Validação de requisitos. I — Definição de</p><p>documento contendo um conjunto de requisitos obtidos pela análise de</p><p>informações obtidas. II — Avaliação dos requisitos conforme aspectos</p><p>relacionados ao realismo, consistência e integridade. III — Levantamento dos</p><p>requisitos a partir de entrevistas com potenciais usuários e clientes do sistema.</p><p>Assinale a alternativa que correlaciona adequadamente os dois grupos de</p><p>informação. (X) a. 1 — III; 2 — I; 3 — II ( ) b. 1 — I; 2 — III; 3 — II ( ) c. 1 — II; 2 — I; 3</p><p>— III ( ) d. 1 — III; 2 — II; 3 — I ( ) e. 1 — I; 2 — II; 3 — III</p><p>19. [16:28]</p><p>[CORRETA] A Engenharia de Software se preocupa com as questões __ de</p><p>desenvolver e entregar software ___. (X) práticas, útil. ( ) teóricas, perfeito. ( )</p><p>teóricas, útil. ( ) teóricas, correto. ( ) práticas, correto.</p><p>20.</p><p>Chico — 03/08/2024 16:32</p><p>[CORRETA] Os métodos ágeis seguem princípios fundamentados no manifesto</p><p>ágil, criado por um conjunto de especialistas em desenvolvimento de software</p><p>que procuraram meios de trazer uma dinâmica mais adequada para a realidade da</p><p>entrega no mercado de software. O manifesto ágil deve ser seguido por qualquer</p><p>projeto que utilize métodos ágeis.Com base no manifesto ágil, assinale a</p><p>alternativa correta que indica uma de suas regras presentes. ( ) a. A negociação de</p><p>contratos tem maior valor do que a colaboração com o cliente ( ) b. Seguir um</p><p>plano é mais importante do que responder a mudanças ( ) c. Uma documentação</p><p>abrangente deve ter mais prioridade do que um software funcional ( ) d. Um</p><p>escopo definido é mais importante do que assumir um escopo flexível (X) e.</p><p>Indivíduos e interações são mais importantes do que processos e ferramentas</p><p>21. [16:33]</p><p>[CORRETA] O desenvolvimento de software tem como base os requisitos que são</p><p>repassados e que irão delimitar o escopo do produto que deve ser construído.</p><p>Assim, de acordo com a aplicabilidade, podemos categorizar os diferentes tipos</p><p>de aplicação, que podem indicar o método de engenharia de software a ser</p><p>utilizado.Com base nas informações apresentadas, identifique se são (V)</p><p>verdadeiras ou (F) falsas as afirmativas a seguir. I. ( ) As aplicações stand-alone</p><p>são softwares que rodam de forma local em computadores pessoais. II. ( ) Os</p><p>sistemas de controle embarcados são softwares que vêm pré-instalados em</p><p>computadores pessoais. III. ( ) Os dados gerados por dispositivos de internet das</p><p>coisas podem ser utilizados por sistemas de coleta de dados e análise. Assinale a</p><p>alternativa que apresenta a sequência CORRETA. (X) a. V — F — V ( ) b. F — V — V (</p><p>) c. V — F — F ( ) d. V — V — F ( ) e. F — F — V</p><p>22. [16:37]</p><p>[CORRETA] O modelo de desenvolvimento incremental é um dos modelos</p><p>genéricos utilizados para o desenvolvimento de software, tendo como base a</p><p>implementação de parte dos requisitos de forma incremental, em um processo</p><p>iterativo e evolutivo, diferente do proposto pelo modelo cascata. Nesse contexto,</p><p>avalie as asserções a seguir e a relação proposta entre elas. I. No modelo de</p><p>desenvolvimento incremental, é mais fácil e rápido obter uma opinião do cliente</p><p>sobre o desenvolvimento realizado. PORQUE II. No modelo de desenvolvimento</p><p>incremental, podem ser feitas demonstrações do progresso do software, mesmo</p><p>não estando totalmente concluído. A respeito dessas asserções, assinale a</p><p>alternativa correta. ( ) a. A asserção I é uma proposição falsa, e a II é uma</p><p>proposição verdadeira ( ) b.</p><p>implementar.</p><p>II) Garante uma boa cobertura de código sendo testado.</p><p>III) Confere uma boa abordagem para a realização de</p><p>testes de regressão.</p><p>IV) Torna a depuração praticamente desnecessária.</p><p>V) Ajuda a documentar o sistema.</p><p>• Pergunta 7</p><p>1,44 em 1,44 pontos</p><p>Uma equipe de testes está avaliando alguns requisitos de sistema para a</p><p>elaboração do plano de testes. Para cada um dos requisitos, foi identificado o</p><p>melhor tipo de testes que pode ser aplicado, para assegurar a validação ele.</p><p>Sendo assim, relacione, adequadamente, os requisitos levantados a seguir com</p><p>os tipos de teste que melhor se adéquam para a sua verificação.</p><p>1. O sistema deve ter um tempo de resposta inferior a dois segundos para</p><p>cada solicitação.</p><p>2. O sistema deve ser capaz de suportar 200 solicitações simultâneas por</p><p>segundo.</p><p>3. O sistema deve ser capaz de suportar 1.000 usuários conectados durante</p><p>24 horas.</p><p>I. Teste de carga</p><p>II. Teste de resistência</p><p>III. Teste de desempenho</p><p>Assinale a alternativa que correlaciona adequadamente os dois grupos de</p><p>informação.</p><p>Resposta Selecionada: c.</p><p>1 - III; 2 - I; 3 - II</p><p>Respostas: a.</p><p>1 - I; 2 - II; 3 - III</p><p>b.</p><p>1 - III; 2 - II; 3 - I</p><p>c.</p><p>1 - III; 2 - I; 3 - II</p><p>d.</p><p>1 - II; 2 - III; 3 - I</p><p>e.</p><p>1 - II; 2 - I; 3 - III</p><p>Comentário</p><p>da resposta:</p><p>JUSTIFICATIVA</p><p>A sentença I se enquadra no conceito 2, pois o teste de</p><p>verificação de carga está ligado à capacidade que um sistema</p><p>deve apresentar, o que está representado pela quantidade de</p><p>solicitações simultâneas citada, 200 solicitações simultâneas</p><p>por segundo.</p><p>A sentença II se enquadra no conceito 3, pois o teste de</p><p>resistência verifica o comportamento do sistema frente a uma</p><p>longa duração de tempo, como é o caso apresentado de</p><p>quantidade de usuários conectados por um período de 24</p><p>horas.</p><p>A sentença III se enquadra no conceito 1, pois o teste de</p><p>desempenho verifica, principalmente, o tempo de resposta do</p><p>sistema para uma solicitação, como apresentado no caso de</p><p>tempo de resposta inferior a dois segundos para cada</p><p>solicitação feita ao sistema.</p><p> Pergunta 1</p><p>2,5 em 2,5 pontos</p><p>Foi solicitado o desenvolvimento de um sistema que permite a venda de ingressos de</p><p>forma online, para uma fábrica de software. Os analistas fizeram o levantamento de</p><p>requisitos, classificando-os em requisitos funcionais e não funcionais, gerando, assim, uma</p><p>lista de requisitos que foi posteriormente documentada em um documento de</p><p>especificação de requisitos.</p><p>Sobre os requisitos funcionais que foram levantados pelos analistas, avalie as afirmativas a</p><p>seguir.</p><p>I. O usuário deve realizar os pagamentos por um destes meios: cartão de</p><p>débito, cartão de crédito, boleto ou pix.</p><p>II. O sistema deve ser acessado por meio de um navegador compatível com</p><p>Google Chrome, Mozilla Firefox, Microsoft Edge ou Safari.</p><p>III. A transferência de dados do cliente deve ser realizada por meio de</p><p>criptografia, utilizando uma conexão segura pela internet.</p><p>IV. O usuário deve ter a possibilidade de selecionar a opção de meia entrada</p><p>para a compra de ingressos no sistema.</p><p>Está correto o que se afirma em:</p><p>Resposta Selecionada: b.</p><p>I e IV, apenas</p><p>Respostas: a.</p><p>I e III, apenas</p><p>b.</p><p>I e IV, apenas</p><p>c.</p><p>II e III, apenas</p><p>d.</p><p>II, III e IV, apenas</p><p>e.</p><p>I, II e IV, apenas</p><p>Comentário da</p><p>resposta:</p><p>JUSTIFICATIVA</p><p>A afirmativa I está correta, pois a forma como o usuário irá efetivar o seu</p><p>pagamento representa uma funcionalidade do sistema, o qual irá realizar</p><p>o pagamento pela compra dos ingressos por diferentes meios.</p><p>A afirmativa II está incorreta, pois representa o meio de acesso pelo qual</p><p>o sistema será utilizado, ou seja, através de navegadores. A</p><p>compatibilidade de navegadores corresponde a um requisito de produto</p><p>não funcional.</p><p>A afirmativa III está incorreta, pois o uso de criptografia e de conexão</p><p>segura através da internet corresponde a requisitos de segurança da</p><p>informação. Os requisitos de segurança da informação são tratados</p><p>como requisitos não funcionais.</p><p>A afirmativa IV está correta, pois o usuário pode selecionar a opção de</p><p>meia entrada, que corresponde a uma funcionalidade do sistema, a fim</p><p>de utilizar o sistema de compra de ingressos. Nesse caso, deve ser</p><p>tratado como um requisito funcional.</p><p> Pergunta 2</p><p>2,5 em 2,5 pontos</p><p>Marque a alternativa que lista apenas princípios dos métodos ágeis.</p><p>Resposta</p><p>Selecionada:</p><p>Acolher as mudanças; Entrega incremental; Envolvimento do cliente;</p><p>Manter a simplicidade; Pessoas, não processos.</p><p>Respostas: Acolher as mudanças; Entrega incremental; Envolvimento do cliente;</p><p>Minimizar custos; Pessoas, não processos.</p><p>Acolher as mudanças; Envolvimento do cliente; Manter a simplicidade;</p><p>Minimizar custos; Pessoas, não processos.</p><p>Acolher as mudanças; Entrega incremental; Manter a simplicidade;</p><p>Minimizar custos; Pessoas, não processos.</p><p>Entrega incremental; Envolvimento do cliente; Manter a simplicidade;</p><p>Minimizar custos; Pessoas, não processos.</p><p>Acolher as mudanças; Entrega incremental; Envolvimento do cliente;</p><p>Manter a simplicidade; Pessoas, não processos.</p><p>Comentário da</p><p>resposta:</p><p>JUSTIFICATIVA</p><p>Minimizar custos não é um dos cinco princípios de métodos</p><p>ágeis.</p><p> Pergunta 3</p><p>2,5 em 2,5 pontos</p><p>Um bom software considera que os seus requisitos funcionais sejam atendidos,</p><p>principalmente em conformidade com a expectativa dos seus usuários. Além dos requisitos</p><p>funcionais, uma série de atributos essenciais podem ser observados para caracterizar um</p><p>bom software.</p><p>Com base nos atributos essenciais de um bom software, assinale a alternativa que melhor</p><p>descreve a manutenibilidade.</p><p>Resposta</p><p>Selecionada:</p><p>c.</p><p>Um bom software deve apresentar uma descrição que permita o</p><p>atendimento de mudanças requisitadas pelo cliente</p><p>Respostas: a.</p><p>Os recursos de um computador, como memória e processador, não</p><p>devem ser desperdiçados pelo software</p><p>b.</p><p>O software deve apresentar características como responsividade e</p><p>tempo de processamento</p><p>c.</p><p>Um bom software deve apresentar uma descrição que permita o</p><p>atendimento de mudanças requisitadas pelo cliente</p><p>d.</p><p>Em caso de falha do sistema, um bom software não deve gerar</p><p>impactos físicos ou econômicos de forma negativa</p><p>e.</p><p>O software deve ser inteligível, útil e compatível com os outros</p><p>sistemas utilizados pelos usuários</p><p>Comentário</p><p>da resposta:</p><p>JUSTIFICATIVA</p><p>A manutenibilidade está relacionada ao fato de o software apresentar</p><p>facilidade para mudanças, devido às necessidades mutáveis do cliente.</p><p>Para tanto, o software pode ser modificado, permitindo que possa evoluir</p><p>com alterações em funcionalidades existentes ou permitir a</p><p>implementação de novos requisitos. A observação em relação ao</p><p>desperdício de recursos como memória e processador, bem como de</p><p>características como responsividade e tempo de processamento, está</p><p>relacionada ao atributo eficiência. A característica de dependabilidade</p><p>do software não deve gerar impactos físicos ou econômicos de forma</p><p>negativa no caso de falha do sistema. A inteligibilidade, a utilidade e a</p><p>compatibilidade com os outros sistemas utilizados pelos usuários</p><p>representam o atributo de aceitabilidade.</p><p> Pergunta 4</p><p>2,5 em 2,5 pontos</p><p>Um exemplo de metodologia ágil mundialmente conhecido e adotado é o Scrum. No</p><p>modelo de sprint do Scrum, todo o trabalho a ser realizado está presente no</p><p>_____________________. A partir dele, são selecionados itens que irão fazer parte do</p><p>_____________________, o qual deve compor a construção de um _______________________, a ser</p><p>entregue para validação e revisão.</p><p>Preencha as lacunas escolhendo a alternativa CORRETA.</p><p>Resposta</p><p>Selecionada:</p><p>b.</p><p>Backlog do produto, backlog da sprint, software potencialmente</p><p>entregável.</p><p>Respostas: a.</p><p>Backlog do produto, software potencialmente</p><p>entregável, backlog da sprint.</p><p>b.</p><p>Backlog do produto, backlog da sprint, software potencialmente</p><p>entregável.</p><p>c.</p><p>Documento de requisitos, software potencialmente</p><p>entregável, backlog da sprint.</p><p>d.</p><p>Backlog da sprint, sprint, software potencialmente entregável.</p><p>e.</p><p>Especificação de entregáveis, backlog do produto, backlog da sprint.</p><p>Comentário</p><p>da resposta:</p><p>JUSTIFICATIVA</p><p>A primeira lacuna é completada pelo termo “backlog do produto”, pois</p><p>contempla todo o trabalho a ser realizado, refletindo os requisitos</p><p>do software a ser construído e alinhado junto aos clientes, podendo ter</p><p>seus itens priorizados.</p><p>A segunda lacuna é completada pelo termo “backlog da sprint”, pois, para</p><p>cada sprint, um conjunto de itens do backlog de produtos é selecionado a</p><p>fim de gerar o backlog da sprint, o qual projeta as entregas a serem feitas</p><p>no seu término.</p><p>A terceira lacuna é completada pelo termo “software potencialmente</p><p>entregável”, pois, ao final de cada sprint, deve ser entregue</p><p>um software potencialmente entregável, para que possa ser validado</p><p>junto às principais partes interessadas.</p><p>Segunda-feira, 5 de Agosto de 2024 11h54min26s BRT</p><p>PERGUNTA 1</p><p>Um arquiteto deparou-se com a necessidade de criar um elemento que centralizasse toda a</p><p>comunicação do sistema, assegurando que o devido tratamento seja dado para cada requisição</p><p>recebida, encaminhando-as para os componentes adequados. Para tanto, resolveu utilizar um tipo de</p><p>padrão de projeto que atendesse à conversão dessas interfaces.</p><p>Assinale a alternativa que melhor se encaixa no padrão de projeto utilizado pelo arquiteto.</p><p>a.</p><p>O padrão de projeto adequado para resolver o problema proposto é o Adapter.</p><p>b.</p><p>O padrão de projeto adequado para resolver o problema proposto é o Abstract Factory.</p><p>c.</p><p>O padrão de projeto adequado para resolver o problema proposto é o Singleton.</p><p>d.</p><p>O padrão de projeto adequado para resolver o problema proposto é o Façade. ← Errada</p><p>e.</p><p>O padrão de projeto adequado para resolver o problema proposto é o Builder.</p><p>1,44 pontos</p><p>PERGUNTA 2</p><p>O arquiteto de sistemas de uma empresa está levantando a possibilidade de reúso de componentes</p><p>dentro de uma aplicação que deve ser desenvolvida com um prazo bastante curto. Para tanto,</p><p>considerou uma série de observações para verificar a validade do reúso de componentes.</p><p>Dentro desse cenário, identifique se são (V) verdadeiras ou (F) falsas as afirmativas a seguir.</p><p>I. O arquiteto deve considerar a necessidade do código-fonte do componente, pois, sendo uma</p><p>entidade executável independente, torna-se imprescindível esse artefato.</p><p>II. Os componentes devem ter uma interface “requer” com a definição de todos os serviços que são</p><p>por eles definidos, com métodos bem delineados.</p><p>III. O arquiteto deve avaliar a implantação dos componentes que estão sendo selecionados, a fim de</p><p>assegurar que os componentes são autocontidos.</p><p>Assinale a alternativa que apresenta a sequência CORRETA.</p><p>a.</p><p>F — F — F</p><p>b.</p><p>V — F — V</p><p>c.</p><p>V — V — V</p><p>d.</p><p>F — F — V ← Correta</p><p>e.</p><p>V — F — F</p><p>1,44 pontos</p><p>PERGUNTA 3</p><p>Considerando o contexto de engenharia de software baseada em reúso, marque a alternativa que</p><p>apresenta um elemento básico de um modelo de componentes corretamente associado com o seu</p><p>grupo.</p><p>“Apoio a teste” usada para testar o componente, composta por “definição de interface”,</p><p>“empacotamento” e “personalização”.</p><p>“Implantação e uso” que representa o modo como o componente deve ser implantado, composta por</p><p>“empacotamento”, “documentação” e “apoio à evolução”. ← Correta</p><p>“Requisições” para definir como o componente deve ser invocado, composta por “acesso a</p><p>metadados”, “interfaces específicas” e “apoio à evolução”.</p><p>“Informação de uso” necessária para que o componente seja usado em um programa, composta por</p><p>“definição de interface”, “composição” e “interfaces específicas”.</p><p>“Interfaces” do componente, composta por “convenção de nomes”, “acesso a metadados” e</p><p>“personalização”.</p><p>1,42 pontos</p><p>PERGUNTA 4</p><p>Uma empresa de desenvolvimento de software está com um grande projeto para ser iniciado.</p><p>Analistas foram alocados para fazer o trabalho de engenharia de requisitos, acompanhado pelo</p><p>arquiteto de sistemas, que irá atuar na concepção da arquitetura a ser utilizada na implementação do</p><p>sistema. Os analistas entendem que há muitas funcionalidades que poderiam ser implementadas</p><p>através da compra de bibliotecas prontas de terceiros e indicam ao arquiteto que leve em</p><p>consideração essa alternativa, pois poderia ajudar a reduzir custos e prazos de projeto. Porém o</p><p>arquiteto entende que seria melhor implementar algo novo.</p><p>Considerando o cenário exposto, assinale a alternativa que melhor aponta uma justificativa do</p><p>arquiteto para não fazer reuso de software.</p><p>a.</p><p>Maior dificuldade para implementar futuras mudanças nas funcionalidades das bibliotecas a serem</p><p>compradas. ← Correta</p><p>b.</p><p>O uso de componentes reusáveis sempre traz um custo de manutenção maior.</p><p>c.</p><p>Falta de padrões de projeto arquiteturais para utilização das bibliotecas a serem compradas.</p><p>d.</p><p>O mais importante, para um projeto, é a qualidade, e não o prazo da entrega.</p><p>e.</p><p>Problemas para testar as funcionalidades sem o código-fonte das bibliotecas.</p><p>1,42 pontos</p><p>PERGUNTA 5</p><p>Considerando o contexto de engenharia de software baseada em reúso, marque a alternativa que</p><p>apresenta corretamente três tipos de composição de componentes.</p><p>aditiva, equivalente, sequencial.</p><p>aditiva, alternativa, equivalente.</p><p>alternativa, equivalente, hierárquica.</p><p>alternativa, hierárquica, sequencial.</p><p>Aditiva, hierárquica, sequencial. ← Correta</p><p>1,42 pontos</p><p>PERGUNTA 6</p><p>O reúso pode ser tratado como uma estratégia de otimização do desenvolvimento de software, em</p><p>que elementos podem ser reutilizados para novos softwares. Isso possibilita a redução do tempo de</p><p>desenvolvimento, tendo em vista que os elementos que serão reutilizados já tiveram o seu ciclo de</p><p>desenvolvimento realizado, não havendo a necessidade de passar novamente pelas mesmas etapas.</p><p>Correlacione os tipos de reúso com suas respectivas definições.</p><p>1 — Reúso de sistema.</p><p>2 — Reúso de aplicações.</p><p>3 — Reúso de componentes.</p><p>I — Este tipo de reúso pode ter a sua configuração diferenciada para clientes.</p><p>II — Este tipo de reúso pode ser exemplificado por reúso de elementos acessados por API.</p><p>III — Este tipo de reúso permite o reúso de uma série de programas inteiros e completos.</p><p>Assinale a alternativa que correlaciona adequadamente os dois grupos de informação.</p><p>a.</p><p>1 — III; 2 — I; 3 — II ← Correta</p><p>b.</p><p>1 — III; 2 — II; 3 — I</p><p>c.</p><p>1 — II; 2 — I; 3 — III</p><p>d.</p><p>1 — I; 2 — II; 3 — III</p><p>e.</p><p>1 — I; 2 — III; 3 — II</p><p>1,43 pontos</p><p>PERGUNTA 7</p><p>A reutilização de elementos de software para projetos é muito importante para acelerar o tempo de</p><p>desenvolvimento de novos softwares. Um tipo de elemento que pode ser reutilizado são os padrões</p><p>de projeto, muito utilizados quando se trata do paradigma de programação orientada a objetos.</p><p>Assinale a alternativa abaixo que trata do conceito de padrão de projeto.</p><p>a.</p><p>Um padrão de projeto descreve uma solução que pode ser aplicada para diferentes tipos de</p><p>problemas, com um algoritmo que requer ajustes para cada caso.</p><p>b.</p><p>Um padrão de projeto descreve um problema e várias alternativas de sua solução, de forma que</p><p>possam ser aplicadas para qualquer caso sem alteração.</p><p>c.</p><p>Um padrão de projeto descreve um requisito padrão para ser reutilizado em diferentes tipos de</p><p>projetos de desenvolvimento de software.</p><p>d. ← Correta</p><p>Um padrão de projeto descreve um problema e um modelo para a sua solução, permitindo o reúso</p><p>com os ajustes para cada caso.</p><p>e.</p><p>Um padrão de projeto descreve um algoritmo para resolver um problema, sendo muito utilizado</p><p>para linguagens de programação</p><p>estruturada.</p><p>Tentativa 1</p><p>• Pergunta 1</p><p>0 em 1,43 pontos</p><p>Os testes de desempenho são planejados conforme as expectativas citadas em</p><p>requisitos de desempenho do sistema, que tem como base as características de</p><p>eficiência de desempenho dos requisitos de qualidade.</p><p>Nesse contexto, correlacione as dimensões de desempenho de um produto de</p><p>software com suas definições.</p><p>1. Comportamento em relação ao tempo</p><p>2. Utilização de recursos</p><p>3. Capacidade do sistema</p><p>I. Grau em que a quantidade e a variedade de elementos usados pelo sistema</p><p>atingem os seus requisitos.</p><p>II. Grau em que os limites máximos de um parâmetro do sistema como número</p><p>de usuários concorrentes atingem os seus requisitos.</p><p>III. Grau em que as taxas de throughput do sistema atingem seus requisitos</p><p>quando as suas funções são exercidas.</p><p>Assinale a alternativa que correlaciona adequadamente os dois grupos de</p><p>informação.</p><p>Resposta Selecionada: c.</p><p>1 - III; 2 - II; 3 - I.</p><p>Respostas: a.</p><p>1 - I; 2 - II; 3 - III.</p><p>b.</p><p>1 - II; 2 - III; 3 - I.</p><p>c.</p><p>1 - III; 2 - II; 3 - I.</p><p>d.</p><p>1 - II; 2 - I; 3 - III.</p><p>e.</p><p>1 - III; 2 - I; 3 - II.</p><p>Comentário</p><p>da resposta:</p><p>JUSTIFICATIVA</p><p>A sentença I se enquadra no conceito 2, pois a utilização de</p><p>recursos consiste no grau em que a quantidade e a variedade</p><p>de recursos usados pelo sistema atingem os seus requisitos,</p><p>quando as funções do sistema são executadas.</p><p>A sentença II se enquadra no conceito 3, pois a capacidade</p><p>consiste no grau em que os limites máximos de um parâmetro</p><p>do sistema atingem os seus requisitos.</p><p>A sentença III se enquadra no conceito 1, pois o</p><p>comportamento em relação ao tempo consiste no grau em que</p><p>os tempos de resposta e de processamento, bem como as taxas</p><p>de throughput do sistema, atingem os seus requisitos quando</p><p>as suas funções de sistema são executadas.</p><p>• Pergunta 2</p><p>1,43 em 1,43 pontos</p><p>Assinale a alternativa que apresenta apenas tipos de sistemas para os quais o</p><p>teste de desempenho é essencial:</p><p>Resposta</p><p>Selecionada:</p><p>Sistemas de tempo real; Sistemas embutidos; Aplicativos</p><p>móveis; Softwares web.</p><p>Respostas:</p><p>Sistemas de tempo real; Sistemas embutidos; Aplicativos</p><p>móveis; Softwares web.</p><p>Sistemas embutidos; Aplicativos móveis; Sistemas stand-</p><p>alone; Softwares web.</p><p>Sistemas de tempo real; Aplicativos móveis; Sistemas</p><p>stand-alone; Softwares web.</p><p>Sistemas de tempo real; Sistemas embutidos; Sistemas</p><p>stand-alone; Aplicativos móveis.</p><p>Sistemas de tempo real; Sistemas embutidos; Sistemas</p><p>stand-alone; Softwares web.</p><p>Comentário da</p><p>resposta:</p><p>JUSTIFICATIVA</p><p>Desempenho não costuma ser um fator crítico para sistemas</p><p>stand-alone quando comparado com outros tipos de sistemas</p><p>e, portanto, teste de desempenho não é essencial para esse</p><p>tipo de sistema.</p><p>• Pergunta 3</p><p>0 em 1,42 pontos</p><p>Assinale a alternativa que contém uma descrição correta para um tipo</p><p>específico de teste de desempenho:</p><p>Resposta</p><p>Selecionada:</p><p>Teste de resistência: Avaliar o nível no qual o aumento de</p><p>carga (de usuários, transações, armazenamento de dados etc.)</p><p>compromete a capacidade de um item de teste para sustentar</p><p>o desempenho requerido.</p><p>Respostas:</p><p>Teste de volume: Avaliar a capacidade do item de teste</p><p>processar quantidades de dados especificadas (usualmente no</p><p>ou próximos ao limite máximo de capacidade especificada)</p><p>em termos de throughput, capacidade de armazenamento ou</p><p>ambos.</p><p>Teste de carga: Avaliar se um item de teste pode sustentar</p><p>uma carga necessária continuamente por um período de</p><p>tempo determinado.</p><p>Teste de estresse: Avaliar o comportamento de um item de</p><p>teste em condições esperadas de carga variável (uso baixo,</p><p>típico e de pico).</p><p>Teste de resistência: Avaliar o nível no qual o aumento de</p><p>carga (de usuários, transações, armazenamento de dados etc.)</p><p>compromete a capacidade de um item de teste para sustentar</p><p>o desempenho requerido.</p><p>Teste de capacidade: Avaliar o comportamento de um item de</p><p>teste em condições de carga acima dos requisitos de</p><p>capacidade antecipados ou especificados ou da</p><p>disponibilidade de recursos abaixo dos requisitos mínimos</p><p>exigidos.</p><p>Comentário</p><p>da resposta:</p><p>JUSTIFICATIVA</p><p>As descrições corretas são:</p><p>Teste de carga: Avaliar o comportamento de um item de teste</p><p>em condições esperadas de carga variável (uso baixo, típico e</p><p>de pico).</p><p>Teste de estresse: Avaliar o comportamento de um item de</p><p>teste em condições de carga acima dos requisitos de</p><p>capacidade antecipados ou especificados ou da</p><p>disponibilidade de recursos abaixo dos requisitos mínimos</p><p>exigidos.</p><p>Teste de capacidade: Avaliar o nível no qual o aumento de</p><p>carga (de usuários, transações, armazenamento de dados etc.)</p><p>compromete a capacidade de um item de teste para sustentar o</p><p>desempenho requerido.</p><p>Teste de resistência: Avaliar se um item de teste pode</p><p>sustentar uma carga necessária continuamente por um período</p><p>de tempo determinado.</p><p>• Pergunta 4</p><p>1,42 em 1,42 pontos</p><p>Considere os dois tipos de violação:</p><p>I. Ocorre quando uma ação em um sistema é executada além das</p><p>permissões concedidas.</p><p>II. Ocorre quando há divulgação não autorizada/esperada de alguma</p><p>informação sensível armazenada ou manipulada por um sistema.</p><p>Marque a alternativa que apresenta corretamente os dois tipos de violação</p><p>descritos acima:</p><p>Resposta Selecionada:</p><p>Violação de segurança; Violação de privacidade.</p><p>Respostas: Violação de privacidade; Violação de propriedade.</p><p>Violação de propriedade; Violação de segurança.</p><p>Violação de privacidade; Violação de segurança.</p><p>Violação de segurança; Violação de privacidade.</p><p>Violação de propriedade; Violação de privacidade.</p><p>Comentário</p><p>da resposta:</p><p>JUSTIFICATIVA</p><p>“Violação de propriedade” não é um conceito usado no</p><p>contexto abordado no enunciado, embora sejam informações</p><p>privadas que são alvos de violações de segurança e de</p><p>privacidade. Além disso, violação de segurança é um conceito</p><p>mais genérico, enquanto a violação de privacidade é mais</p><p>específica, pois a violação de privacidade só ocorre se alguma</p><p>informação sensível for divulgada enquanto basta haver acesso</p><p>não autorizado para que uma violação de segurança ocorra,</p><p>mesmo que não haja divulgação de informação sensível.</p><p>• Pergunta 5</p><p>1,42 em 1,42 pontos</p><p>O desenvolvimento dirigido por testes (TDD — Test Driven Development) é</p><p>um método de desenvolvimento de software baseado no test-first, em que os</p><p>casos de teste são criados para direcionar a implementação das funcionalidades,</p><p>sendo estas incorporadas ao software.</p><p>Com relação às características do TDD, observe as afirmações a seguir.</p><p>I. TDD requer um ambiente de teste automatizado, como é o caso da adoção de</p><p>JUnit para o desenvolvimento de software utilizando a linguagem de</p><p>programação Java.</p><p>II. No TDD, são aplicados, principalmente, testes de integração, não</p><p>priorizando outros tipos de testes como unitários.</p><p>III. TDD ajuda programadores para trazer maior clareza sobre o que o código</p><p>deve fazer, aumentando a eficiência para as entregas de software.</p><p>IV. Os testes de sistema não são necessários no TDD, tendo em vista que os</p><p>testes realizados pelos programadores durante a codificação são suficientes.</p><p>Está correto o que se afirma em:</p><p>Resposta Selecionada: b.</p><p>I e III, apenas.</p><p>Respostas: a.</p><p>II e IV, apenas.</p><p>b.</p><p>I e III, apenas.</p><p>c.</p><p>I, II e III, apenas.</p><p>d.</p><p>II e III, apenas.</p><p>e.</p><p>I e IV, apenas.</p><p>Comentário</p><p>da resposta:</p><p>JUSTIFICATIVA</p><p>A afirmativa I está correta, pois o TDD requer que os testes</p><p>sejam criados para um ambiente automatizado, como o uso de</p><p>JUnit, para uma melhor eficiência da metodologia. Assim, a</p><p>cada nova implementação, podem ser verificados se testes</p><p>anteriormente executados não apresentam resultados</p><p>divergentes.</p><p>A afirmativa II está incorreta, pois, na metodologia TDD, são</p><p>utilizados, principalmente, os testes unitários,</p><p>sendo que o</p><p>programador pode criar o teste da funcionalidade antes da</p><p>implementação do seu código.</p><p>A afirmativa III está correta, pois, por meio dos casos de teste,</p><p>o programador pode ter maior clareza do que deve ser</p><p>implementado, para que o teste possa ser bem-sucedido. Dessa</p><p>forma, uma visão de como o teste irá verificar uma</p><p>funcionalidade pode ajudar a direcionar a implementação do</p><p>código.</p><p>A afirmativa IV está incorreta, pois os testes de sistema podem</p><p>vir a ser adicionados no TDD, a fim de realizar uma análise do</p><p>sistema em um nível maior, alinhado com a expectativa dos</p><p>seus clientes e usuários, como uma verificação final para a</p><p>entrega do software.</p><p>• Pergunta 6</p><p>1,44 em 1,44 pontos</p><p>Uma equipe de testes está avaliando alguns requisitos de sistema para a</p><p>elaboração do plano de testes. Para cada um dos requisitos, foi identificado o</p><p>melhor tipo de testes que pode ser aplicado, para assegurar a validação ele.</p><p>Sendo assim, relacione, adequadamente, os requisitos levantados a seguir com</p><p>os tipos de teste que melhor se adéquam para a sua verificação.</p><p>1. O sistema deve ter um tempo de resposta inferior a dois segundos para</p><p>cada solicitação.</p><p>2. O sistema deve ser capaz de suportar 200 solicitações simultâneas por</p><p>segundo.</p><p>3. O sistema deve ser capaz de suportar 1.000 usuários conectados durante</p><p>24 horas.</p><p>I. Teste de carga</p><p>II. Teste de resistência</p><p>III. Teste de desempenho</p><p>Assinale a alternativa que correlaciona adequadamente os dois grupos de</p><p>informação.</p><p>Resposta Selecionada: e.</p><p>1 - III; 2 - I; 3 - II</p><p>Respostas: a.</p><p>1 - III; 2 - II; 3 - I</p><p>b.</p><p>1 - II; 2 - I; 3 - III</p><p>c.</p><p>1 - II; 2 - III; 3 - I</p><p>d.</p><p>1 - I; 2 - II; 3 - III</p><p>e.</p><p>1 - III; 2 - I; 3 - II</p><p>Comentário</p><p>da resposta:</p><p>JUSTIFICATIVA</p><p>A sentença I se enquadra no conceito 2, pois o teste de</p><p>verificação de carga está ligado à capacidade que um sistema</p><p>deve apresentar, o que está representado pela quantidade de</p><p>solicitações simultâneas citada, 200 solicitações simultâneas</p><p>por segundo.</p><p>A sentença II se enquadra no conceito 3, pois o teste de</p><p>resistência verifica o comportamento do sistema frente a uma</p><p>longa duração de tempo, como é o caso apresentado de</p><p>quantidade de usuários conectados por um período de 24</p><p>horas.</p><p>A sentença III se enquadra no conceito 1, pois o teste de</p><p>desempenho verifica, principalmente, o tempo de resposta do</p><p>sistema para uma solicitação, como apresentado no caso de</p><p>tempo de resposta inferior a dois segundos para cada</p><p>solicitação feita ao sistema.</p><p>• Pergunta 7</p><p>1,44 em 1,44 pontos</p><p>Considere as seguintes afirmações para o contexto de "desenvolvimento</p><p>dirigido por testes":</p><p>I. Pode confundir os programadores na hora de entenderem o que</p><p>precisam implementar.</p><p>II. Leva a uma baixa cobertura de código sendo testado.</p><p>III. Dificultam a realização de teste de regressão.</p><p>IV. Torna a depuração praticamente inviável.</p><p>V. Dificulta a documentação do sistema.</p><p>Resposta Selecionada:</p><p>Nenhuma das afirmações está correta.</p><p>Respostas:</p><p>Nenhuma das afirmações está correta.</p><p>Apenas as afirmações (I) e (V) estão corretas.</p><p>Apenas as afirmações (II), (III) e (IV) estão corretas.</p><p>Apenas a afirmação (III) está correta.</p><p>Apenas a afirmação (IV) está correta.</p><p>Comentário da</p><p>resposta:</p><p>JUSTIFICATIVA</p><p>As afirmações corretas são:</p><p>I) Ajuda os programadores a entenderem o que</p><p>precisam implementar.</p><p>II) Garante uma boa cobertura de código sendo testado.</p><p>III) Confere uma boa abordagem para a realização de</p><p>testes de regressão.</p><p>IV) Torna a depuração praticamente desnecessária.</p><p>V) Ajuda a documentar o sistema.</p><p>Tentativa 2</p><p>•</p><p>Os testes de desempenho são planejados conforme as expectativas citadas em</p><p>requisitos de desempenho do sistema, que tem como base as características de</p><p>eficiência de desempenho dos requisitos de qualidade.</p><p>Nesse contexto, correlacione as dimensões de desempenho de um produto de</p><p>software com suas definições.</p><p>1. Comportamento em relação ao tempo</p><p>2. Utilização de recursos</p><p>3. Capacidade do sistema</p><p>I. Grau em que a quantidade e a variedade de elementos usados pelo sistema</p><p>atingem os seus requisitos.</p><p>II. Grau em que os limites máximos de um parâmetro do sistema como número</p><p>de usuários concorrentes atingem os seus requisitos.</p><p>III. Grau em que as taxas de throughput do sistema atingem seus requisitos</p><p>quando as suas funções são exercidas.</p><p>Assinale a alternativa que correlaciona adequadamente os dois grupos de</p><p>informação.</p><p>Resposta Selecionada: d.</p><p>1 - III; 2 - I; 3 - II.</p><p>Respostas: a.</p><p>1 - II; 2 - I; 3 - III.</p><p>b.</p><p>1 - III; 2 - II; 3 - I.</p><p>c.</p><p>1 - II; 2 - III; 3 - I.</p><p>d.</p><p>1 - III; 2 - I; 3 - II.</p><p>e.</p><p>1 - I; 2 - II; 3 - III.</p><p>Comentário</p><p>da resposta:</p><p>JUSTIFICATIVA</p><p>A sentença I se enquadra no conceito 2, pois a utilização de</p><p>recursos consiste no grau em que a quantidade e a variedade de</p><p>recursos usados pelo sistema atingem os seus requisitos, quando</p><p>as funções do sistema são executadas.</p><p>A sentença II se enquadra no conceito 3, pois a capacidade</p><p>consiste no grau em que os limites máximos de um parâmetro</p><p>do sistema atingem os seus requisitos.</p><p>A sentença III se enquadra no conceito 1, pois o comportamento</p><p>em relação ao tempo consiste no grau em que os tempos de</p><p>resposta e de processamento, bem como as taxas de throughput</p><p>do sistema, atingem os seus requisitos quando as suas funções</p><p>de sistema são executadas.</p><p>• Pergunta 2</p><p>1,43 em 1,43 pontos</p><p>O desenvolvimento dirigido por testes é uma metodologia utilizada para</p><p>priorizar a criação de casos de teste antes de iniciar a implementação</p><p>propriamente dita do código das funcionalidades. Isso permite um foco maior</p><p>da implementação, para que os testes possam executar com sucesso as</p><p>funcionalidades.</p><p>Assinale a alternativa que indique um dos recursos importantes para o processo</p><p>de desenvolvimento dirigido por testes.</p><p>Resposta Selecionada: c.</p><p>Refatoração.</p><p>Respostas: a.</p><p>Estruturas de seleção.</p><p>b.</p><p>Padrões de projeto.</p><p>c.</p><p>Refatoração.</p><p>d.</p><p>Diagrama de classes.</p><p>e.</p><p>Estruturas de repetição.</p><p>Comentário</p><p>da resposta:</p><p>JUSTIFICATIVA</p><p>A refatoração é importante para o ciclo de verificação da</p><p>implementação por meio dos testes e dos ajustes necessários</p><p>para que possa ser incorporado ao software. Os padrões de</p><p>projeto não são um recurso mandatório no TDD, estando</p><p>relacionados às atividades de arquitetura do software. O</p><p>diagrama de classes não é um recurso mandatório no TDD,</p><p>estando relacionado às atividades de modelagem na arquitetura</p><p>do software. As estruturas de seleção não são um recurso</p><p>mandatório no TDD, estando relacionadas a estruturas de</p><p>lógica utilizadas na implementação. As estruturas de repetição</p><p>não são um recurso mandatório no TDD, estando relacionadas</p><p>a estruturas de lógica utilizadas na implementação.</p><p>• Pergunta 3</p><p>1,42 em 1,42 pontos</p><p>O desenvolvimento dirigido por testes (TDD — Test Driven Development) é</p><p>um método de desenvolvimento de software baseado no test-first, em que os</p><p>casos de teste são criados para direcionar a implementação das funcionalidades,</p><p>sendo estas incorporadas ao software.</p><p>Com relação às características do TDD, observe as afirmações a seguir.</p><p>I. TDD requer um ambiente de teste automatizado, como é o caso da adoção de</p><p>JUnit para o desenvolvimento de software utilizando a linguagem de</p><p>programação Java.</p><p>II. No TDD, são aplicados, principalmente, testes de integração, não</p><p>priorizando outros tipos de testes como unitários.</p><p>III. TDD ajuda programadores para trazer maior clareza sobre o que o código</p><p>deve fazer, aumentando a eficiência para as entregas de software.</p><p>IV. Os testes de sistema não são necessários no TDD, tendo em vista que os</p><p>testes realizados pelos programadores durante a codificação são suficientes.</p><p>Está correto o que se afirma em:</p><p>Resposta Selecionada: d.</p><p>I e III,</p><p>apenas.</p><p>Respostas: a.</p><p>I, II e III, apenas.</p><p>b.</p><p>I e IV, apenas.</p><p>c.</p><p>II e III, apenas.</p><p>d.</p><p>I e III, apenas.</p><p>e.</p><p>II e IV, apenas.</p><p>Comentário</p><p>da resposta:</p><p>JUSTIFICATIVA</p><p>A afirmativa I está correta, pois o TDD requer que os testes</p><p>sejam criados para um ambiente automatizado, como o uso de</p><p>JUnit, para uma melhor eficiência da metodologia. Assim, a</p><p>cada nova implementação, podem ser verificados se testes</p><p>anteriormente executados não apresentam resultados</p><p>divergentes.</p><p>A afirmativa II está incorreta, pois, na metodologia TDD, são</p><p>utilizados, principalmente, os testes unitários, sendo que o</p><p>programador pode criar o teste da funcionalidade antes da</p><p>implementação do seu código.</p><p>A afirmativa III está correta, pois, por meio dos casos de teste,</p><p>o programador pode ter maior clareza do que deve ser</p><p>implementado, para que o teste possa ser bem-sucedido. Dessa</p><p>forma, uma visão de como o teste irá verificar uma</p><p>funcionalidade pode ajudar a direcionar a implementação do</p><p>código.</p><p>A afirmativa IV está incorreta, pois os testes de sistema podem</p><p>vir a ser adicionados no TDD, a fim de realizar uma análise do</p><p>sistema em um nível maior, alinhado com a expectativa dos</p><p>seus clientes e usuários, como uma verificação final para a</p><p>entrega do software.</p><p>• Pergunta 4</p><p>1,42 em 1,42 pontos</p><p>Considere as seguintes informações sobre a ferramenta AppInspector, projetada</p><p>para apoiar o teste de segurança:</p><p>I. AppInspector analisa sistemas apresentados às lojas de aplicações mais</p><p>populares, identifica quais aplicações exibem comportamento malicioso</p><p>e devem ser removidas ou evitadas pelos usuários.</p><p>II. AppInspector gera relatórios informando aos usuários um potencial</p><p>risco para a violação da privacidade devido ao mau ou abuso do uso de</p><p>dados do usuário.</p><p>III. AppInspector usa uma abordagem dinâmica que monitora o que um</p><p>aplicativo usa de informações do usuário e verifica se há</p><p>comportamento suspeito, por exemplo, o consumo excessivo de</p><p>recursos ou a exclusão de dados do usuário.</p><p>IV. AppInspector usa uma infraestrutura que emula smartphones que</p><p>permite um serviço de validação de segurança em grande escala com</p><p>baixo custo, usando a computação na nuvem.</p><p>V. AppInspector acompanha e registra os fluxos de informações do usuário</p><p>e suas ações para analisar o comportamento do aplicativo, identificando</p><p>violações de segurança ou de privacidade e apontando a causa que</p><p>levou às violações.</p><p>Com base nas afirmações a seguir, marque a alternativa correta abaixo.</p><p>Resposta</p><p>Selecionada:</p><p>Todas as afirmações estão corretas.</p><p>Respostas: Apenas as afirmações (I), (III) e (V) estão corretas.</p><p>Apenas as afirmações (II), (III), (IV) e (V) estão</p><p>corretas.</p><p>Apenas as afirmações (I) e (IV) estão corretas.</p><p>Apenas as afirmações (II), (III) e (V) estão corretas.</p><p>Todas as afirmações estão corretas.</p><p>Comentário da resposta: JUSTIFICATIVA</p><p>Todas as afirmações estão corretas.</p><p>• Pergunta 5</p><p>1,42 em 1,42 pontos</p><p>A violação é quando algum ato indevido ocorre sem permissão ou sem</p><p>consentimento da pessoa ou da empresa. No que se refere à segurança da</p><p>informação, podemos citar a violação de segurança e a violação de privacidade,</p><p>ambas podendo causar sérios danos.</p><p>Com base nessas violações, observe as asserções a seguir e a relação proposta</p><p>entre elas.</p><p>I. A violação de segurança ocorre quando uma ação é executada sem as devidas</p><p>permissões.</p><p>PORQUE</p><p>II. Quando são divulgadas informações sensíveis de forma não</p><p>autorizada/esperada, acabam por violar a privacidade.</p><p>A respeito dessas asserções, assinale a alternativa correta.</p><p>Resposta</p><p>Selecionada:</p><p>a.</p><p>As asserções I e II são proposições verdadeiras, mas a II</p><p>não é uma justificativa da I.</p><p>Respostas: a.</p><p>As asserções I e II são proposições verdadeiras, mas a II</p><p>não é uma justificativa da I.</p><p>b.</p><p>A asserção I é uma proposição verdadeira, e a II é uma</p><p>proposição falsa.</p><p>c.</p><p>A asserção I é uma proposição falsa, e a II é uma</p><p>proposição verdadeira.</p><p>d.</p><p>As asserções I e II são proposições verdadeiras, e a II é</p><p>uma justificativa da I.</p><p>e.</p><p>As asserções I e II são falsas.</p><p>Comentário</p><p>da resposta:</p><p>JUSTIFICATIVA</p><p>A asserção I está correta, pois a violação de segurança ocorre</p><p>quando uma ação é processada sem haver as permissões</p><p>adequadas para tal, estando além das permissões concedidas.</p><p>Isso possibilita que ações possam ser incorretamente</p><p>realizadas por profissionais não autorizados, gerando</p><p>problemas que podem causar prejuízos para os usuários e</p><p>principais interessados.</p><p>A asserção II também está correta, porém não justifica a I, pois</p><p>a violação de privacidade ocorre quando são publicadas</p><p>informações sem o consentimento da pessoa ou da empresa.</p><p>São duas violações distintas, não havendo relação de</p><p>justificativa entre as asserções.</p><p>• Pergunta 6</p><p>1,44 em 1,44 pontos</p><p>Considere as seguintes afirmações para o contexto de "desenvolvimento</p><p>dirigido por testes":</p><p>I. Pode confundir os programadores na hora de entenderem o que</p><p>precisam implementar.</p><p>II. Leva a uma baixa cobertura de código sendo testado.</p><p>III. Dificultam a realização de teste de regressão.</p><p>IV. Torna a depuração praticamente inviável.</p><p>V. Dificulta a documentação do sistema.</p><p>Resposta Selecionada:</p><p>Nenhuma das afirmações está correta.</p><p>Respostas: Apenas as afirmações (I) e (V) estão corretas.</p><p>Apenas a afirmação (III) está correta.</p><p>Apenas a afirmação (IV) está correta.</p><p>Apenas as afirmações (II), (III) e (IV) estão corretas.</p><p>Nenhuma das afirmações está correta.</p><p>Comentário da</p><p>resposta:</p><p>JUSTIFICATIVA</p><p>As afirmações corretas são:</p><p>I) Ajuda os programadores a entenderem o que</p><p>precisam implementar.</p><p>II) Garante uma boa cobertura de código sendo testado.</p><p>III) Confere uma boa abordagem para a realização de</p><p>testes de regressão.</p><p>IV) Torna a depuração praticamente desnecessária.</p><p>V) Ajuda a documentar o sistema.</p><p>• Pergunta 7</p><p>1,44 em 1,44 pontos</p><p>Uma equipe de testes está avaliando alguns requisitos de sistema para a</p><p>elaboração do plano de testes. Para cada um dos requisitos, foi identificado o</p><p>melhor tipo de testes que pode ser aplicado, para assegurar a validação ele.</p><p>Sendo assim, relacione, adequadamente, os requisitos levantados a seguir com</p><p>os tipos de teste que melhor se adéquam para a sua verificação.</p><p>1. O sistema deve ter um tempo de resposta inferior a dois segundos para</p><p>cada solicitação.</p><p>2. O sistema deve ser capaz de suportar 200 solicitações simultâneas por</p><p>segundo.</p><p>3. O sistema deve ser capaz de suportar 1.000 usuários conectados durante</p><p>24 horas.</p><p>I. Teste de carga</p><p>II. Teste de resistência</p><p>III. Teste de desempenho</p><p>Assinale a alternativa que correlaciona adequadamente os dois grupos de</p><p>informação.</p><p>Resposta Selecionada: c.</p><p>1 - III; 2 - I; 3 - II</p><p>Respostas: a.</p><p>1 - I; 2 - II; 3 - III</p><p>b.</p><p>1 - III; 2 - II; 3 - I</p><p>c.</p><p>1 - III; 2 - I; 3 - II</p><p>d.</p><p>1 - II; 2 - III; 3 - I</p><p>e.</p><p>1 - II; 2 - I; 3 - III</p><p>Comentário</p><p>da resposta:</p><p>JUSTIFICATIVA</p><p>A sentença I se enquadra no conceito 2, pois o teste de</p><p>verificação de carga está ligado à capacidade que um sistema</p><p>deve apresentar, o que está representado pela quantidade de</p><p>solicitações simultâneas citada, 200 solicitações simultâneas</p><p>por segundo.</p><p>A sentença II se enquadra no conceito 3, pois o teste de</p><p>resistência verifica o comportamento do sistema frente a uma</p><p>longa duração de tempo, como é o caso apresentado de</p><p>quantidade de usuários conectados por um período de 24</p><p>horas.</p><p>A sentença III se enquadra no conceito 1, pois o teste de</p><p>desempenho verifica, principalmente, o tempo de resposta do</p><p>sistema para uma solicitação, como apresentado no caso de</p><p>tempo de resposta inferior a dois segundos para cada</p><p>solicitação feita ao sistema.</p><p>Houve uma falha na elicitação dos requisitos, em que não foi</p><p>detectada, na entrevista, a necessidade de conferência</p><p>da</p><p>idade para cadastro de clientes</p><p>Houve uma falha na prototipação, pois o cliente não trouxe o</p><p>relacionado à regra da idade para o cadastro de</p><p>clientes</p><p>Houve uma falha na classificação do requisito, pois foi tratado</p><p>como um requisito não funcional, ao invés de funcional</p><p>Houve uma falha na geração de casos de teste, a qual não</p><p>gerou o teste correto para validar a regra relacionada à idade</p><p>gerou o teste correto para validar a regra relacionada à idade</p><p>para o cadastro de clientes</p><p>Houve uma falha na revisão dos requisitos, em que não foi</p><p>identificada essa regra relacionada à idade para o cadastro de</p><p>clientes</p><p>I.</p><p>II.</p><p>III.</p><p>IV.</p><p>I e III, apenas</p><p>I, II e IV, apenas</p><p>II e III, apenas</p><p>I e IV, apenas</p><p>II, III e IV, apenas</p><p>As asserções I e II são proposições verdadeiras, mas a II não</p><p>é uma justificativa da I.</p><p>As asserções I e II são proposições verdadeiras, e a II é uma</p><p>justificativa da I</p><p>As asserções I e II são falsas.</p><p>A asserção I é uma proposição falsa, e a II é uma proposição</p><p>verdadeira.</p><p>Os requisitos são a base para descrever o que deve ser atendido</p><p>pelo software, em relação aos serviços que oferecem, bem como às</p><p>Clique em Salvar e Enviar para salvar e enviar. Clique em Salvar todas as respostas para salvar todas as</p><p>respostas.</p><p>restrições sobre o seu funcionamento. Assim diferentes níveis de</p><p>requisitos podem ser definidos, como os requisitos de sistema, que</p><p>apresentam uma definição detalhada, e os requisitos de usuário,</p><p>com uma declaração mais abstrata.</p><p>Permissões dos usuários para o acesso das funcionalidades</p><p>do sistema.</p><p>Serviços que o sistema deverá fornecer aos seus usuários.</p><p>Descrição dos dados de usuário armazenados pelo sistema.</p><p>Layouts da interface para interação do sistema com os</p><p>usuários.</p><p>Sistema operacional e frameworks que serão utilizados pelo</p><p>sistema.</p><p>SEMANA 3</p><p>Semana 6 - Engenharia de Software</p><p>Semana 7 - Engenharia de Software</p><p>1semana</p><p>2semanaSF</p><p>3semanaSF</p><p>5semanaSF</p><p>6semanaSF</p><p>7semanaSF</p><p>Atividade_1</p><p>Atividade_2</p><p>Atividade_3</p><p>Atividade_6</p><p>Atividade_Avaliativa_Semana_04</p><p>Atividade_Avaliativa_Semana_06_Tentativa_1_e_2</p><p>AVALIATIVA_1SEM_ENG DE SOFTWARE</p><p>Avaliativa_Semana_04</p><p>Avaliativa_Semana_06_Tentativa_1_e_2</p><p>Tentativa 1</p><p> Pergunta 1</p><p> Pergunta 2</p><p> Pergunta 3</p><p> Pergunta 4</p><p> Pergunta 5</p><p> Pergunta 6</p><p> Pergunta 7</p><p> Pergunta 2</p><p> Pergunta 3</p><p> Pergunta 4</p><p> Pergunta 5</p><p> Pergunta 6</p><p> Pergunta 7</p><p>ES- sem 2</p><p>SEMANA_3_Engenharia_de_Software</p><p>Semana_6_-_Engenharia_de_Software</p><p>Semana_7_-_Engenharia_de_Software</p><p>As asserções I e II são falsas ( ) c. As asserções I e II</p><p>são proposições verdadeiras, mas a II não é uma justificativa da I (X) d. As</p><p>asserções I e II são proposições verdadeiras, e a II é uma justificativa da I ( ) e. A</p><p>asserção I é uma proposição verdadeira, e a II é uma proposição falsa</p><p>23. [16:38]</p><p>[CORRETA] Qual comando da ferramenta Git é usado para atualizar um</p><p>repositório local com as versões mais atualizadas (com commits) de um</p><p>repositório remoto? (X) Pull. ( ) Add. ( ) Clone. ( ) Commit. ( ) Push.</p><p>24. [16:39]</p><p>[CORRETA] Qual comando da ferramenta Git é usado para criar snapshots (ou</p><p>fotografias) dos arquivos de um sistema e armazená-las no sistema de controle de</p><p>versões? ( ) Push. ( ) Pull. ( ) Clone. ( ) Add. (X) Commit.</p><p>25.</p><p>Chico — 03/08/2024 16:40</p><p>[CORRETA] Qual é o nome do comando que representa uma solicitação para que</p><p>um desenvolvedor revise e, se for o caso, realize o merge de um branch que outro</p><p>desenvolvedor criou? (X) pull request. ( ) clone suggestion. ( ) push order. ( ) merge</p><p>request. ( ) add order.</p><p>26. [16:41]</p><p>[CORRETA] Qual comando da ferramenta Git é usado para copiar os commits</p><p>mais recentes do repositório local para o repositório remoto? ( ) Pull. (X) Push. ( )</p><p>Add. ( ) Commit. ( ) Clone.</p><p>V</p><p>1. [CORRETA] No contexto da engenharia de requisitos, marque a alternativa</p><p>que apresenta um tipo de requisito não funcional apresentado na</p><p>videoaula sobre tipos de requisitos de software: ( ) Requisitos de preço. ( )</p><p>Requisitos de volume. ( ) Requisitos de implantação. (X) Requisitos</p><p>contábeis. ( ) Requisitos de cor. Justificativa: Requisitos contábeis é um</p><p>tipo de requisito não funcional apresentado, localizado sob os requisitos</p><p>legislativos.</p><p>2. [05:58]</p><p>[CORRETA] No contexto da engenharia de requisitos, marque a alternativa que</p><p>apresenta um tipo de entrevista apresentado na videoaula sobre processos de</p><p>engenharia de requisitos e elicitação de requisitos:</p><p>( ) Entrevista estrutural. ( ) Entrevista multiestruturada. ( ) Entrevista etnográfica. ( )</p><p>Entrevista desestruturada. (X) Entrevista semiestruturada. Justificativa: Entrevista</p><p>semiestruturada é um tipo comum de entrevista em que há um roteiro guia para a</p><p>condução da entrevista, porém sem um conjunto obrigatório de perguntas fixas.</p><p>3. [05:59]</p><p>[CORRETA] No contexto da engenharia de requisitos, marque a alternativa que</p><p>apresenta um tipo de notação para a especificação de requisitos apresentado na</p><p>videoaula sobre especificação e validação de requisitos:</p><p>( ) Especificações estatísticas. ( ) Notações desenhadas. ( ) Notações gráficas</p><p>estruturadas. ( ) Linguagem natural estendida. (X) Linguagem natural. Justificativa:</p><p>Língua natural é a forma mais básica e simples de especificação de requisitos,</p><p>embora apresente problemas tal como ambiguidade.</p><p>4. [05:59]</p><p>[CORRETA] Questão referente aos Textos-base da semana 2. Em relação aos</p><p>principais conceitos associados aos tipos de requisitos e ao processo de</p><p>engenharia de requisitos, marque a alternativa que mostra um tema tratado no</p><p>material estudado: ( ) Refatoração de requisitos. ( ) Segurança de requisitos. ( )</p><p>Implantação de requisitos. (X) Validação de requisitos. ( ) Teste de requisitos.</p><p>Justificativa: O texto trata das três principais atividades do processo de engenharia</p><p>de requisitos, incluindo a validação de requisitos; as outras duas são elicitação e</p><p>especificação de requisitos.</p><p>5. @clodoaldopoletti</p><p>Seguem todas as tentativas.</p><p>Chico — 05/08/2024 06:31</p><p>Questões desse documento que não apareceram na semana 1</p><p>6. [06:32]</p><p>[CORRETA] As técnicas de elicitação de requisitos envolvem a descoberta e a</p><p>compreensão dos requisitos, para que possam ser classificados e organizados,</p><p>permitindo a sua priorização e negociação. Para tanto, são utilizadas técnicas de</p><p>elicitação de requisitos na engenharia de software, que permitem maximizar um</p><p>melhor detalhamento da descrição dos requisitos.Assinale a alternativa correta</p><p>que apresenta as duas técnicas de elicitação de requisitos. ( ) a. Histórias de</p><p>usuário e registro de riscos ( ) b. Base de conhecimento e cenários ( ) c. Etnografia</p><p>e base de conhecimento (X) d. Entrevistas e etnografia ( ) e. Entrevistas e histórias</p><p>de usuário Justificativa: As entrevistas e a etnografia são as duas técnicas</p><p>utilizadas para a elicitação de requisitos. As entrevistas permitem a elicitação de</p><p>requisitos por meio de conversas com as pessoas a respeito do que elas fazem. A</p><p>etnografia, ou a observação, utiliza a observação das pessoas executando seu</p><p>trabalho para a elicitação de requisitos. A base de conhecimento e o registro de</p><p>riscos podem auxiliar no levantamento de requisitos, porém não são técnicas para</p><p>a elicitação de requisitos. Histórias de usuário e cenários são utilizadas para a</p><p>descrição de requisitos, de como as pessoas utilizam e de como o sistema pode</p><p>ser usado. (editado)</p><p>7. [06:32]</p><p>[CORRETA] Considerando o conceito de etnografia, é possível afirmar que é uma</p><p>técnica de ___, usada para entender os processos operacionais. A vantagem da</p><p>etnografia é encontrar requisitos __ do sistema. A etnografia é eficaz para a</p><p>descoberta de dois tipos de requisitos: requisitos derivados da __ e requisitos</p><p>derivados __. Preencha as lacunas escolhendo a alternativa CORRETA. (X) a.</p><p>observação, implícitos, maneira como as pessoas trabalham, da cooperação e do</p><p>conhecimento das atividades das outras pessoas. ( ) b. observação, explícitos,</p><p>maneira como as pessoas trabalham, da cooperação e do conhecimento das</p><p>atividades das outras pessoas. ( ) c. entrevista, explícitos, maneira como as</p><p>pessoas trabalham, da cooperação e do conhecimento das atividades das outras</p><p>pessoas. ( ) d. entrevista, implícitos, maneira como a empresa administra</p><p>negócios, das habilidades e do comportamento das pessoas ( ) e. observação,</p><p>implícitos, maneira como a empresa administra negócios, das habilidades e do</p><p>comportamento das pessoas</p><p>8. [06:32]</p><p>[CORRETA] No contexto dos principais conceitos associados às atividades de</p><p>elicitação, especificação e validação de requisitos, marque a alternativa que</p><p>apresenta uma informação correta sobre histórias de usuário e cenários usados</p><p>na engenharia de requisitos: ( ) Um cenário alto nível pode ser detalhado em</p><p>algumas histórias mais específicas. ( ) Diferentemente de “cenários”, as histórias</p><p>referem-se a uma descrição de como o sistema pode ser usado em alguma tarefa</p><p>em particular. (X) Histórias de usuário são bastante aplicadas em conjunto com</p><p>alguns métodos ágeis. ( ) Trata-se de descrições abstratas e genéricas dos</p><p>requisitos de software. ( ) Cenários são escritos como um texto narrativo.</p><p>Justificativa: Trata-se de descrições abstratas e genéricas dos requisitos de</p><p>software. - Não se trata de descrições “abstratas e genéricas” dos requisitos de</p><p>software, mas sim de descrições bem concretas e específicas de um caso em</p><p>particular. Diferentemente de “cenários”, as histórias referem-se a uma descrição</p><p>de como o sistema pode ser usado em alguma tarefa em particular. - Tanto</p><p>cenários quanto histórias (e não apenas as histórias) referem-se a uma descrição</p><p>de como o sistema pode ser usado em alguma tarefa em particular; a diferença</p><p>entre ambas é na forma de estruturação da descrição. Cenários são escritos</p><p>como um texto narrativo. - Cenários não são escritos como um texto narrativo,</p><p>histórias é que são escritas assim. Um cenário alto nível pode ser detalhado em</p><p>algumas histórias mais específicas. - O contrário é que acontece, ou seja, uma</p><p>história de alto nível pode ser detalhada em alguns cenários mais específicos.</p><p>(editado)</p><p>9. [06:32]</p><p>[CORRETA] No contexto dos principais conceitos associados aos tipos de</p><p>requisitos, marque a alternativa que contém corretamente uma métrica para um</p><p>tipo de requisito de software não funcional: ( ) Porcentagem de eventos causando</p><p>falhas para medir confiabilidade. ( ) Número de quadros de ajuda para medir</p><p>robustez. (X) Número de sistemas-alvo para medir portabilidade. ( ) Tempo</p><p>médio</p><p>até a falha para medir velocidade. ( ) Tempo de atualização da tela para medir</p><p>facilidade de uso.</p><p>10. [06:33]</p><p>[CORRETA] Os requisitos de sistema de software podem ser classificados como</p><p>requisitos funcionais e não funcionais. Essa classificação indica se o requisito faz</p><p>parte das declarações dos serviços que o sistema deve fornecer ou se são</p><p>restrições impostas para o sistema, as quais têm relevância para a</p><p>implementação.Com base nas informações apresentadas, identifique se são (V)</p><p>verdadeiras ou (F) falsas as afirmativas a seguir. I. ( ) A consulta de um usuário para</p><p>a busca dos clientes que fizeram compras nos últimos 30 dias é um exemplo de</p><p>requisito funcional. II. ( ) O tempo de resposta para efetivar um pagamento de um</p><p>produto pelo sistema ter que ser inferior a 1 segundo é um exemplo de requisito</p><p>não funcional. III. ( ) A interação com deficientes visuais para o acesso de uma</p><p>funcionalidade é um exemplo de requisito funcional. Assinale a alternativa que</p><p>apresenta a sequência CORRETA. (X) a. V — V — F ( ) b. V — F — F ( ) c. F — V — F ( )</p><p>d. V — F — V ( ) e. V — V — V Justificativa: A afirmativa I é verdadeira, pois a</p><p>consulta a uma base de clientes para buscar os que fizeram compra nos últimos</p><p>30 dias se trata de um requisito funcional, indicando um serviço que o sistema</p><p>deve contemplar como uma funcionalidade a ser realizada para o atendimento de</p><p>uma solicitação do usuário. A afirmativa II é verdadeira, pois o tempo de resposta</p><p>está relacionado a um requisito de desempenho, o qual deve ser atendido para</p><p>não prejudicar as necessidades dos usuários. Os requisitos de desempenho são</p><p>tratados como um tipo de requisito não funcional. A afirmativa III é falsa, pois a</p><p>interação de deficientes visuais com o sistema é um exemplo de requisito de</p><p>acessibilidade. Os requisitos de usabilidade e acessibilidade são tratados como</p><p>tipos de requisitos não funcionais. (editado)</p><p>11. [06:33]</p><p>[CORRETA] No contexto dos principais conceitos associados aos tipos de</p><p>requisitos, marque a alternativa que completa corretamente a seguinte frase:</p><p>“Requisitos não funcionais são __ sobre os __ ou ___ oferecidas pelo __”. ( )</p><p>serviços, modelos, prioridades, usuário. ( ) funções, códigos, estimativas, cliente.</p><p>(X) restrições, serviços, funções, sistema. ( ) funcionalidades, riscos, condições,</p><p>computador. ( ) características, componentes, restrições, departamento.</p><p>Justificativa: trata-se de uma definição simples e básica contida no material da</p><p>disciplina. Todos os termos presentes em todas as alternativas incorretas não</p><p>fazem qualquer sentido no preenchimento da frase. (editado)</p><p>12. [06:33]</p><p>[CORRETA] A especificação de requisitos deve descrever os requisitos de usuário</p><p>e sistema, sendo registrados adequadamente no documento de requisitos,</p><p>devendo apresentar clareza para a sua implementação no software. Essa</p><p>descrição deve facilitar também o entendimento dos stakeholders do projeto, para</p><p>que possam dar as suas contribuições para auxiliar na completude e na</p><p>consistência dos requisitos.Assinale a alternativa correta que identifica o conceito</p><p>de caso de uso, uma das formas de especificar um requisito. ( ) a. Os casos de uso</p><p>são representações gráficas que utilizam métodos formais matemáticos para a</p><p>representação de um requisito, facilitando a sua implementação ( ) b. Os casos de</p><p>uso são representações expressivas e intuitivas, em formato de texto livre, os</p><p>quais requerem cuidados em relação à ambiguidade de palavras (X) c. Os casos</p><p>de uso são descrições das interações entre o sistema e os seus usuários, sendo</p><p>utilizado um modelo gráfico com texto estruturado ( ) d. Os casos de uso são</p><p>declarações estruturadas e padronizadas, impedindo a adoção de textos livres, o</p><p>que permite um entendimento mais rápido pelos desenvolvedores ( ) e. Os casos</p><p>de uso são declarações oficiais puramente textuais do que os desenvolvedores</p><p>devem implementar e são conhecidos como especificação de requisitos do</p><p>software Justificativa: Os casos de uso são representados de forma gráfica,</p><p>indicando o relacionamento dos usuários e as funcionalidades do sistema,</p><p>fazendo parte da linguagem de especificação UML. Especificações matemáticas</p><p>podem ser utilizadas, porém apresentam uma maior dificuldade de entendimento</p><p>por parte dos stakeholders. A linguagem natural é uma forma de especificar</p><p>requisitos, com textos livres que requerem cuidados em relação à ambiguidade de</p><p>palavras utilizadas. Os casos de uso não utilizam declarações puramente textuais</p><p>e padronizadas sem uso de texto livre. (editado)</p><p>13. [06:33]</p><p>[CORRETA] Os requisitos são a base para descrever o que deve ser atendido pelo</p><p>software, em relação aos serviços que oferecem, bem como às restrições sobre o</p><p>seu funcionamento. Assim diferentes níveis de requisitos podem ser definidos,</p><p>como os requisitos de sistema, que apresentam uma definição detalhada, e os</p><p>requisitos de usuário, com uma declaração mais abstrata. Dentro do contexto dos</p><p>tipos de requisitos, assinale a alternativa correta que define um requisito de</p><p>usuário. ( ) a. Layouts da interface para interação do sistema com os usuários. ( ) b.</p><p>Descrição dos dados de usuário armazenados pelo sistema. ( ) c. Sistema</p><p>operacional e frameworks que serão utilizados pelo sistema. (X) d. Serviços que o</p><p>sistema deverá fornecer aos seus usuários. ( ) e. Permissões dos usuários para o</p><p>acesso das funcionalidades do sistema. Justificativa: Os requisitos de usuário são</p><p>definições de serviços de sistema que devem ser fornecidos para os seus</p><p>usuários, bem como as restrições relacionadas à sua operação. O sistema</p><p>operacional e os frameworks são requisitos não funcionais do sistema. Os layouts</p><p>da interface para interação do sistema com o usuário fazem parte dos requisitos</p><p>de usabilidade do sistema. As permissões concedidas para as funcionalidades do</p><p>sistema são requisitos relacionados à administração e à segurança do sistema. A</p><p>descrição de dados do usuário armazenados pelo sistema não está relacionada a</p><p>um requisito funcional de usuário, mas faz parte do dicionário de dados referente</p><p>a um banco de dados. (editado)</p><p>14.</p><p>Diego Reis — 05/08/2024 14:00</p><p>https://youtube.com/playlist?list=PL4egkBcGkqIlnf2JkjH0gWux8t1oI2jKx&si=Wxwi</p><p>XuQd2gyzLw7I</p><p>YouTube</p><p>Engenharia de Software</p><p>1</p><p>15.</p><p>RodrigoP — 05/08/2024 21:52</p><p>Todas corretas</p><p>at_ava_II.docx</p><p>351.01 KB</p><p>1</p><p>6 de agosto de 2024</p><p>16.</p><p>Chico — 06/08/2024 05:53</p><p>[CORRETA] No contexto dos principais conceitos associados às atividades de</p><p>elicitação, especificação e validação de requisitos, marque a alternativa que</p><p>https://youtube.com/playlist?list=PL4egkBcGkqIlnf2JkjH0gWux8t1oI2jKx&si=WxwiXuQd2gyzLw7I</p><p>https://youtube.com/playlist?list=PL4egkBcGkqIlnf2JkjH0gWux8t1oI2jKx&si=WxwiXuQd2gyzLw7I</p><p>https://youtube.com/playlist?list=PL4egkBcGkqIlnf2JkjH0gWux8t1oI2jKx&si=WxwiXuQd2gyzLw7I</p><p>https://cdn.discordapp.com/attachments/1207356233347235881/1270182663763918899/at_ava_II.docx?ex=66dc4c89&is=66dafb09&hm=0e4a78159f9400b8514aaa301dd1b595c1af34d49d441da871114e715a949673&</p><p>contém apenas notações usadas para especificação de requisitos: ( )</p><p>Língua/linguagem natural, notações gráficas, especificações matemáticas,</p><p>representação binária. ( ) Língua/linguagem natural, língua/linguagem natural</p><p>estruturada, especificações matemáticas, representação binária. (X)</p><p>Língua/linguagem natural, língua/linguagem natural estruturada, notações</p><p>gráficas, especificações matemáticas. ( ) Língua/linguagem natural,</p><p>língua/linguagem natural estruturada, notações gráficas, representação binária. ( )</p><p>Língua/linguagem natural estruturada, notações gráficas, especificações</p><p>matemáticas, representação binária. Justificativa: todas estão corretas, exceto</p><p>"representação binária" que é a linguagem de máquina, usada para representar</p><p>internamente programas e arquivos. (editado)</p><p>17. [05:54]</p><p>[CORRETA] A validação de requisitos é um processo que auxilia na conferência do</p><p>atendimento das expectativas por parte do cliente frente aos</p><p>requisitos</p><p>levantados para o sistema. Tem como principal objetivo encontrar erros e</p><p>inconsistências presentes nos requisitos, evitando, assim, o retrabalho quando</p><p>esses forem implementados. Diante do exposto, correlacione as técnicas de</p><p>validação de requisitos com as suas definições. 1 - Revisão de requisitos. 2 -</p><p>Prototipação. 3 - Geração de casos de teste. I - Envolve a experimentação</p><p>antecipada de um modelo do sistema por parte do cliente, a fim de opinar sobre</p><p>os requisitos. II - Criação de testes para a validação de requisitos, a fim de</p><p>detectar problemas. III - Análise dos requisitos por um ou mais revisores, visando</p><p>encontrar erros e inconsistências. Assinale a alternativa que correlaciona</p><p>adequadamente os dois grupos de informação. ( ) a. 1 — II; 2 — III; 3 — I (X) b. 1 —</p><p>III; 2 — I; 3 — II ( ) c. 1 — II; 2 — I; 3 — III ( ) d. 1 — III; 2 — II; 3 — I ( ) e. 1 — I; 2 — II; 3</p><p>— III Justificativa: A sentença I enquadra-se no conceito 2, pois a prototipação</p><p>envolve a criação de um modelo mais rápido de implementação, nem sempre</p><p>funcional, que permite uma avaliação prévia por parte dos clientes sobre o</p><p>entendimento dos requisitos. A sentença II enquadra-se no conceito 3, pois a</p><p>geração de casos de teste permite a criação de testes para requisitos testáveis, a</p><p>fim de validá-los e encontrar erros que possam comprometer a operacionalização</p><p>do software. A sentença III enquadra-se no conceito 1, pois a revisão de requisitos</p><p>é a técnica para avaliar se os requisitos estão consistentes e não apresentam</p><p>erros, normalmente realizada por uma pessoa que não é a autora da</p><p>especificação do requisito a ser revisado. (editado)</p><p>18. @Diego Reis</p><p>https://youtube.com/playlist?list=PL4egkBcGkqIlnf2JkjH0gWux8t1oI2jKx&si=Wxwi</p><p>XuQd2gyzLw7I</p><p>Chico — 06/08/2024 15:27</p><p>Questões extras do vídeo</p><p>19. [15:27]</p><p>[CORRETA] No contexto dos principais conceitos associados aos tipos de</p><p>requisitos, marque a alternativa que completa corretamente a seguinte frase:</p><p>“Requisitos não funcionais são __ sobre os __ ou ___ oferecidas pelo __”. ( )</p><p>serviços, modelos, prioridades, usuário. ( ) funções, códigos, estimativas, cliente.</p><p>(X) restrições, serviços, funções, sistema. ( ) funcionalidades, riscos, condições,</p><p>computador. ( ) características, componentes, restrições, departamento.</p><p>Justificativa: trata-se de uma definição simples e básica contida no material da</p><p>disciplina. Todos os termos presentes em todas as alternativas incorretas não</p><p>fazem qualquer sentido no preenchimento da frase. (editado)</p><p>20. [15:27]</p><p>[CORRETA] As formas de especificação de requisitos são importantes para</p><p>direcionar a implementação deles no sistema e para o entendimento dos</p><p>principais stakeholders, como os clientes de um projeto. Diferentes formas</p><p>podem ser utilizadas, de acordo com a facilidade de expressar os requisitos e</p><p>documentá-los no documento de requisitos. Dentro desse contexto, avalie as</p><p>asserções a seguir e a relação proposta entre elas. I. As especificações</p><p>matemáticas não são muito utilizadas para especificação de requisitos em</p><p>comparação com outros formatos, como a especificação por linguagem natural e</p><p>a especificação por casos de uso. PORQUE II. A maioria dos clientes não entende</p><p>uma especificação formal matemática, o que dificulta a compreensão de que os</p><p>requisitos realmente representam os seus desejos a serem atendidos pelo</p><p>sistema. A respeito dessas asserções, assinale a alternativa correta. ( ) a. As</p><p>asserções I e II são proposições verdadeiras, mas a II não é uma justificativa da I. (</p><p>(X) b. As asserções I e II são proposições verdadeiras, e a II é uma justificativa da I (</p><p>) c. A asserção I é uma proposição falsa, e a II é uma proposição verdadeira. ( ) d. A</p><p>asserção I é uma proposição verdadeira, e a II é uma proposição falsa. ( ) e. As</p><p>asserções I e II são falsas Justificativa: a asserção I é verdadeira, pois, dentre os</p><p>modelos utilizados para a especificação de software, a especificação matemática</p><p>é um método formal raramente utilizado por analistas para a especificação de</p><p>requisitos, apesar de ser adotada com maior frequência para a especificação de</p><p>algoritmos de software. A asserção I é verdadeira e justifica a asserção II, pois,</p><p>devido à complexidade apresentada pela especificação matemática, essa</p><p>apresenta dificuldades para o entendimento, o que impede a clareza por partes</p><p>dos clientes a fim de trazer feedback sobre as expectativas dos requisitos.</p><p>(editado)</p><p>21.</p><p>1. Questões dos dois documentos anteriores</p><p>2. [07:25]</p><p>[CORRETA] Assinale a alternativa que apresenta apenas exemplos de estilos</p><p>arquiteturais (ou padrões de arquitetura) apresentados no material-base</p><p>disponibilizado. ( ) Arquitetura de repositório, Arquitetura duto e filtro, Arquitetura</p><p>de atuação temporal, MVC (Model-View-Controller), Padrão cliente-servidor. ( )</p><p>Arquitetura duto e filtro, Arquitetura em camadas, Arquitetura de atuação</p><p>temporal, MVC (Model-View-Controller), Padrão cliente-servidor. ( ) Arquitetura de</p><p>repositório, Arquitetura em camadas, Arquitetura de atuação temporal, MVC</p><p>(Model-View-Controller), Padrão cliente-servidor. ( ) Arquitetura de repositório,</p><p>Arquitetura duto e filtro, Arquitetura em camadas, Arquitetura de atuação</p><p>temporal, MVC (Model-View-Controller). (X) Arquitetura de repositório, Arquitetura</p><p>duto e filtro, Arquitetura em camadas, MVC (Model-View-Controller), Padrão</p><p>cliente-servidor. Justificativa: “Arquitetura de atuação temporal” não é um estilo</p><p>arquitetural. (editado)</p><p>3. [07:25]</p><p>[CORRETA] Uma aplicação de sistema hospitalar apresenta uma interface web, a</p><p>qual é utilizada pelo usuário para acessar agendamentos, prontuários e materiais</p><p>de suprimentos hospitalares. A arquitetura desse sistema apresenta uma camada</p><p>que interpreta as ações realizadas pelo usuário e outra que gerencia os dados da</p><p>aplicação. Devido a uma série de mudanças de legislação na saúde, novos dados</p><p>precisaram ser incorporados ao sistema, demandando alterações no seu código.</p><p>Assinale a altemativa que apresenta a arquitetura apresentada e qual</p><p>componente lógico será modificado para a projeção dos novos dados para os seus</p><p>usuários, respectivamente ( ) a. Arquitetura em camadas e serviços. ( ) b.</p><p>Arquitetura cliente-servidor e banco de dados. ( ) c. Arquitetura de duto e filtro e</p><p>processamento. (X) d.Arquitetura MVC e visão. ( ) e. Arquitetura de repositório e</p><p>armazenamento.</p><p>4. [07:26]</p><p>[CORRETA] Com base na documentação de requisitos de um sistema, um</p><p>arquiteto de sistemas utilizou a linguagem de modelagem unificada (UML) para</p><p>elaborar um diagrama de subsistemas, pacotes e classes, além do diagrama de</p><p>casos de uso. Ele compartilhou esses diagramas com a equipe de</p><p>desenvolvimento, a fim de trazer uma visão arquitetural do projeto a ser</p><p>implementado. Dentro desse contexto, assinale a alternativa correta sobre o tipo</p><p>de visão arquitetural relacionada aos diagramas de classe elaborados pelo</p><p>arquiteto de sistemas. ( ) a. Os diagramas de classe da UML estão associados a</p><p>uma visão física do sistema ( ) b. Os diagramas de classe da UML estão</p><p>associados a uma visão de processo ( ) c. Os diagramas de classe da UML estão</p><p>associados a uma visão de desenvolvimento (X) d. Os diagramas de classe da</p><p>UML estão associados a uma visão lógica do sistema ( ) e. Os diagramas de classe</p><p>da UML estão associados a uma visão estática do sistema</p><p>5. [07:26]</p><p>[CORRETA] Um programador de uma empresa de desenvolvimento de software</p><p>recebeu um feedback da equipe de testes sobre uma das funcionalidades</p><p>implementadas, a qual não está funcional. O programador responsável por essa</p><p>implementação já saiu da empresa por problemas com a gestão, tendo aceitado</p><p>uma melhor oferta de emprego. Após uma análise, observou-se que o código da</p><p>funcionalidade está muito confuso e com grande dificuldade para o</p><p>entendimento. Analise as alternativas a seguir e assinale a que corresponde à</p><p>ação mais correta por parte do programador. (X) a. Com base na proximidade da</p><p>data de entrega do software,</p><p>o programador optou por não refatorar, e</p><p>implementar do zero a funcionalidade ( ) b. Tendo em vista o prazo de entrega estar</p><p>muito próximo, o programador optou por refatorar a funcionalidade, buscando, na</p><p>tentativa e erro, entendê-ia. ( ) c. O programador optou por deixar a funcionalidade</p><p>de lado, entendendo que, se ela for necessária, o cliente irá questionar e um novo</p><p>prazo será negociado. ( ) d. O programador deve tentar, a todo custo, refatorar a</p><p>funcionalidade, mesmo que leve mais tempo do que a implementar do zero. ( ) e.</p><p>Com a dificuldade de entendimento, o programador sugere recontratar o antigo</p><p>programador e trabalhar com programação em pares. Justificativa: considerando a</p><p>proximidade da data de entrega do software e o não entendimento da</p><p>funcionalidade, a melhor opção é implementar do zero, para garantir a</p><p>confiabilidade e o controle da implementação. A refatoração deve ser uma opção,</p><p>não uma obrigação. Não é correta a ação de deixar a funcionalidade de lado, por</p><p>ser uma ação que cria uma imagem negativa para a empresa. Tendo em vista que</p><p>o programador anterior teve problemas com a gestão, a alternativa de</p><p>recontratação é incerta, não sendo a solução mais correta. (editado)</p><p>6. [07:26]</p><p>[CORRETA] Assinale a alternativa que contém uma descrição correta de uma das</p><p>quatro visões de arquitetura de Kruchten. ( ) Visão de processo: mostra como, no</p><p>tempo de execução, o sistema é processado pelo processador. (X) Visão física:</p><p>mostra o hardware do sistema e como os componentes de software estão</p><p>distribuídos pelos processadores no sistema. ( ) Visão de desenvolvimento:</p><p>mostra como o software é decomposto para implantação, ou seja, mostra a</p><p>divisão do software em componentes que são implantados em uma única</p><p>máquina ( ) Visão lógica: mostra as abstrações fundamentais do sistema como</p><p>casos de uso. ( ) Visão lógica: mostra as abstrações fundamentais do sistema</p><p>como estados e transições.</p><p>7. [07:26]</p><p>[CORRETA] Segundo Fowler (2008, p. 51), “refatoração é uma alteração feita na</p><p>estrutura interna do software para torná-lo mais fácil de ser entendido e menos</p><p>custoso de ser modificado sem alterar seu "comportamento observável". A</p><p>refatoração deve ser aplicada com o intuito de evoluir o software, tendo diversas</p><p>motivações para aplicá-la. FOWLER, M. Refatoração: aperfeiçoando o projeto de</p><p>código existente. Porto Alegre: Bookman, 2008. Assinale a alternativa abaixo que</p><p>indica uma das motivações para a refatoração. ( ) a Aumentar a complexidade da</p><p>implementação (X) b. Facilitar o entendimento do software ( ) c. Melhorar o</p><p>sistema de gerenciamento de configuração ( ) d. Ajudar no processo de revisão de</p><p>documentação ( ) e. Reduzir a quantidade de programadores Justificativa: a</p><p>refatoração tem como uma das motivações tornar o software mais fácil de</p><p>entender, otimizando a implementação. A refatoração não implica na redução de</p><p>programadores e nem ajuda no processo de revisão da documentação. Também</p><p>não aumenta a complexidade da implementação, o que seria uma contradição</p><p>com tornar o software mais fácil de entender. A refatoração não apresenta relação</p><p>direta com os sistemas de gerenciamento de configuração. (editado)</p><p>8. [07:27]</p><p>[CORRETA] Segundo Fowler (2008, p. 61), “uma das coisas mais importantes</p><p>sobre objetos é que eles lhe permitem alterar a implementação de um módulo de</p><p>software sem alterar a interface do objeto”. Entretanto também pode ser avaliada</p><p>a refatoração da própria interface do objeto. FOWLER, M. Refatoração:</p><p>aperfeiçoando o projeto de código existente. Porto Alegre: Bookman, 2008. Avalie</p><p>as asserções a seguir e a relação proposta entre elas. I. A refatoração de interfaces</p><p>de objetos em um sistema é muito complexa, dificultando a sua</p><p>manutenibilidade. PORQUE II. Na refatoração de interfaces publicadas,</p><p>conhecidas como interfaces públicas, deve-se manter tanto a interface antiga</p><p>como a nova. A respeito dessas asserções assinale a alternativa correta. ( ) a. As</p><p>asserções I e II são proposições verdadeiras, mas a II não é uma justificativa da I. (</p><p>) b. A asserção I é uma proposição falsa, e a II é uma proposição verdadeira. (X) c.</p><p>As asserções I e II são proposições verdadeiras, e a II é uma justificativa da I. ( ) d.</p><p>A asserção I é uma proposição verdadeira, e a II é uma proposição falsa. ( ) e. As</p><p>asserções I e II são falsas. Justificativa: A asserção I é verdadeira, pois existe uma</p><p>dificuldade em refatorar interfaces que implicam em uma dificuldade de</p><p>manutenção da aplicação, tendo em vista a observação e a análise que devem ser</p><p>realizadas na própria interface e as aplicações que a utilizam. A asserção II é</p><p>verdadeira e justifica a asserção I, pois as interfaces antigas devem ser</p><p>conservadas, tendo em vista que as suas funções podem estar sendo chamadas</p><p>por outros módulos, e essas terem sido modificadas para novas interfaces</p><p>refatoradas. (editado)</p><p>9. [07:27]</p><p>[CORRETA] Assinale a alternativa que contém apenas as quatro visões de</p><p>arquitetura de Kruchten. ( ) a) Física, de implantação, lógica, de processo. ( ) b) De</p><p>desenvolvimento, de implantação, lógica, de processo. ( ) c) De desenvolvimento,</p><p>física, de implantação, de processo. ( ) d) De desenvolvimento, física, de</p><p>implantação, lógica. (X) e) De desenvolvimento, física, lógica, de processo.</p><p>10. [07:27]</p><p>[CORRETA] Refatoração é uma __ feita __ do software para torná-lo mais fácil de</p><p>ser __ e menos __ sem alterar __. " Escolha a alternativa que completa, de forma</p><p>correta, as lacunas acima. (X) alteração, na estrutura interna, entendido, custoso</p><p>de ser modificado, seu comportamento observável. ( ) correção, nos requisitos,</p><p>explicado, arriscado de apresentar falhas, sua segurança. ( ) melhoria, na</p><p>estrutura externa, executado, difícil de ser vendido, seu desempenho. ( ) redução,</p><p>nos testes, finalizado, caro para ser vendido, sua usabilidade. ( ) extensão, na</p><p>arquitetura, precificado, tolerante a mudanças, sua disponibilidade Justificativa:</p><p>Com exceção da resposta correta, todas as outras alternativas apresentam jogo</p><p>de palavras que não fazem sentido para definir o que é “refatoração”. (editado)</p><p>11. [07:27]</p><p>[CORRETA] No projeto e na documentação da arquitetura de um sistema, é</p><p>importante apresentar a visão da arquitetura, demonstrando como o sistema irá</p><p>funcionar sob diferentes perspectivas. Essas visões podem auxiliar, em diferentes</p><p>momentos de um projeto, a ver como os requisitos estão sendo atendidos pelo</p><p>sistema. Com relação às visões de arquitetura, avalie as afirmativas a seguir. I. Na</p><p>visão lógica, são apresentadas as abstrações do sistema, como objetos ou</p><p>classes. II. Na visão de processo, é apresentada a divisão do software em</p><p>componentes. III. Na visão de desenvolvimento, é mostrada a composição de</p><p>executáveis no software. IV. Na visão física, é apresentada a distribuição do</p><p>hardware e software pelos processadores no sistema. Está correto o que se afirma</p><p>em: ( ) a. I e III, apenas ( ) b. I, II e IV, apenas ( ) c. I e II, apenas (X) d. I e IV, apenas ( )</p><p>e. II, III e IV, apenas</p><p>12. [07:28]</p><p>[CORRETA] Os estilos arquiteturais também são conhecidos como padrões de</p><p>arquitetura e são utilizados para apresentar, compartilhar e reutilizar o</p><p>conhecimento sobre sistemas. Um dos padrões estabelece a separação da</p><p>apresentação e a interação dos dados de um sistema, estruturando-o em três</p><p>componentes lógicos que interagem entre si. Assinale a alternativa correta que</p><p>representa o estilo arquitetural citado no texto acima. ( ) a. Arquitetura cliente-</p><p>servidor. ( ) b. Arquitetura em camadas. ( ) c. Arquitetura de repositório. ( ) d.</p><p>Arquitetura duto e filtro. (X) e. Arquitetura MVC (model — view — controller).</p><p>(editado)</p><p>13. [07:28]</p><p>[CORRETA] Segundo Sommerville (2018, p. 154), “a ideia dos padrões como uma</p><p>maneira de apresentar, compartilhar e reutilizar conhecimento sobre sistemas foi</p><p>adotada em uma série de áreas da engenharia de software”. Assim uma série de</p><p>padrões de arquitetura têm sido utilizados para a construção de software,</p><p>de</p><p>acordo com a melhor utilização. SOMMERVILLE, I. Engenharia de software. 10. ed.</p><p>São Paulo: Pearson Education do Brasil, 2018. Correlacione os padrões de</p><p>arquitetura com a sua melhor descrição de utilidade. 1 — MVC (model — view —</p><p>controller). 2 — Arquitetura em camadas. 3 — Arquitetura cliente-servidor. I —</p><p>Utilizada quando se cria recursos em cima de sistemas existentes. II — Utilizada</p><p>quando dados em um banco de dados compartilhado devem ser acessados por</p><p>diferentes locais. III — Utilizada quando há o desconhecimento sobre requisitos</p><p>relacionados à interação e à apresentação dos dados. Assinale a alternativa que</p><p>correlaciona adequadamente os dois grupos de informação. ( ) a. 1 — II; 2 — I; 3 —</p><p>III ( ) b. 1 — III; 2 — II; 3 — I ( ) c. 1 — I; 2 — II; 3 — III ( ) d. 1 — II; 2 — III; 3 — I (X) e. 1</p><p>— III; 2 — I; 3 — II</p><p>14. [07:28]</p><p>[CORRETA] Uma aplicação de sistema hospitalar apresenta uma interface web, a</p><p>qual é utilizada pelo usuário para acessar agendamentos, prontuários e materiais</p><p>de suprimentos hospitalares. A arquitetura desse sistema apresenta uma camada</p><p>que interpreta as ações realizadas pelo usuário e outra que gerencia os dados da</p><p>aplicação. Devido a uma série de mudanças de legislação na saúde, novos dados</p><p>precisaram ser incorporados ao sistema, demandando alterações no seu código.</p><p>Assinale a alternativa que apresenta a arquitetura apresentada e qual</p><p>componente lógico será modificado para a projeção dos novos dados para os seus</p><p>usuários, respectivamente. ( ) a. Arquitetura em camadas e serviços. ( ) b.</p><p>Arquitetura de repositório e armazenamento. (X) c. Arquitetura MVC e visão. ( ) d.</p><p>Arquitetura cliente-servidor e banco de dados. ( ) e. Arquitetura de duto e filtro e</p><p>processamento.</p><p>15. [07:28]</p><p>[CORRETA] Marque a alternativa que apresenta corretamente um dos momentos</p><p>mais potencialmente adequados para refatorar o software. (X) Quando estiver</p><p>consertando um defeito no software. ( ) Sempre, ou seja, o tempo todo, na maior</p><p>quantidade possível. ( ) Logo na segunda vez que você estiver fazendo algo</p><p>parecido e perceber a duplicação. ( ) Quando estiver realizado o teste de sistema</p><p>do software. ( ) Ao remover uma função do software. Justificativa: As sentenças</p><p>corretas para as alternativas incorretas são: ao acrescentar uma função no</p><p>software, em vez de refatorar logo na segunda vez que você estiver fazendo algo</p><p>parecido e perceber a duplicação, o melhor é esperar pela terceira vez – essa é a</p><p>“regra de três”, o testador não costuma ter acesso ao código, assim não faz</p><p>sentido o software ser refatorado enquanto o teste de sistema é realizado, deve</p><p>sim ser realizado sempre, mas em pequenas quantidades. (editado)</p><p>16. @Chico</p><p>[CORRETA] Os estilos arquiteturais também são conhecidos como padrões de</p><p>arquitetura e são utilizados para apresentar, compartilhar e reutilizar o</p><p>conhecimento sobre sistemas. Um dos padrões estabelece a separação da</p><p>apresentação e a interação dos dados de um sistema, estruturando-o em três</p><p>componentes lógicos que interagem entre si. Assinale a alternativa correta que</p><p>representa o estilo arquitetural citado no texto acima. ( ) a. Arquitetura cliente-</p><p>servidor. ( ) b. Arquitetura em camadas. ( ) c. Arquitetura de repositório. ( ) d.</p><p>Arquitetura duto e filtro. (X) e. Arquitetura MVC (model — view — controller).</p><p>(editado)</p><p>! Indy — 12/08/2024 13:25</p><p>Aqui deu como correta no AVA o MVC, mesmo</p><p>1</p><p>17. @Chico</p><p>[CORRETA] Assinale a alternativa que apresenta apenas exemplos de estilos</p><p>arquiteturais (ou padrões de arquitetura) apresentados no material-base</p><p>disponibilizado. ( ) Arquitetura de repositório, Arquitetura duto e filtro, Arquitetura</p><p>de atuação temporal, MVC (Model-View-Controller), Padrão cliente-servidor. ( )</p><p>Arquitetura duto e filtro, Arquitetura em camadas, Arquitetura de atuação</p><p>temporal, MVC (Model-View-Controller), Padrão cliente-servidor. ( ) Arquitetura de</p><p>repositório, Arquitetura em camadas, Arquitetura de atuação temporal, MVC</p><p>(Model-View-Controller), Padrão cliente-servidor. ( ) Arquitetura de repositório,</p><p>Arquitetura duto e filtro, Arquitetura em camadas, Arquitetura de atuação</p><p>temporal, MVC (Model-View-Controller). (X) Arquitetura de repositório, Arquitetura</p><p>duto e filtro, Arquitetura em camadas, MVC (Model-View-Controller), Padrão</p><p>cliente-servidor. Justificativa: “Arquitetura de atuação temporal” não é um estilo</p><p>arquitetural. (editado)</p><p>! Indy — 12/08/2024 13:31</p><p>Essa questão me caiu duas vezes na mesma tentativa. Mas tranquilo, era a mesma</p><p>resposta pras duas.</p><p>1</p><p>1</p><p>1</p><p>18. [13:32]</p><p>CORRETA</p><p>Por que refatorar pode ser útil? Marque a alternativa que apresenta um benefício</p><p>correto da refatoração de software. Melhora os requisitos do software.</p><p>• [x] Ajuda a encontrar defeitos/falhas. (correta)</p><p>• [ ] Pode ser realizada assim que se iniciam os testes de sistema.</p><p>• [ ] Torna o software mais rápido de executar.</p><p>• [ ] Ajuda na comunicação com os gerentes de projeto ou de</p><p>desenvolvimento.</p><p>1</p><p>19. @! Indy</p><p>Aqui deu como correta no AVA o MVC, mesmo</p><p>Chico — 12/08/2024 14:00</p><p>Obrigado! Corrigi lá para não confundir ninguém</p><p>1</p><p>20.</p><p>Lila Harada — 12/08/2024 14:26</p><p>Semana 3_Engenharia de Software.docx</p><p>30.52 KB</p><p>1</p><p>21.</p><p>Chico — 12/08/2024 16:16</p><p>Se alguém criar o forum, eu digitalizei em texto as questões de duas provas</p><p>anteriores dessa disciplina</p><p>1</p><p>22. @! Indy</p><p>Aqui deu como correta no AVA o MVC, mesmo</p><p>https://cdn.discordapp.com/attachments/1207356275701321842/1272607149050298388/Semana_3_Engenharia_de_Software.docx?ex=66dc8cc4&is=66db3b44&hm=c3bb58fb8b97c29ebd6b467ed018364c4465459bcbcc92583567947512653429&</p><p>Felipe Paixão — 12/08/2024 16:37</p><p>ta bugada essa, pq no meu deu como errada. A do @Chico devia estar certa. Que</p><p>na verdade é a certa mesmo</p><p>23. [16:38]</p><p>provavelmente está a mesma questão no banco de dados, uma corrigida e a outra</p><p>era a errada. Eles devem ter corrigido mas não tiraram a errada. E pra acertar, nós</p><p>temos que apenas ter sorte rsrsrsrsrsrsr</p><p>2</p><p>24.</p><p>Chico — 12/08/2024 16:44</p><p>25.</p><p>Felipe Paixão — 12/08/2024 16:47</p><p>As que caíram pra mim. Todas CORRETAS</p><p>1</p><p>26. @Felipe Paixão</p><p>provavelmente está a mesma questão no banco de dados, uma corrigida e a outra</p><p>era a errada. Eles devem ter corrigido mas não tiraram a errada. E pra acertar, nós</p><p>temos que apenas ter sorte rsrsrsrsrsrsr</p><p>! Indy — 12/08/2024 17:14</p><p>O negócio é roleta russa da Univesp</p><p>3</p><p>1</p><p>1</p><p>19 de agosto de 2024</p><p>27.</p><p>MaicomSilva — 19/08/2024 22:06</p><p>Correta</p><p>1</p><p>20 de agosto de 2024</p><p>28.</p><p>Chico — 20/08/2024 06:28</p><p>[CORRETA] A refatoração é uma prática muito comum no desenvolvimento de</p><p>software, sendo inclusive utilizada em metodologias como TDD (test driven</p><p>development), em que são criados códigos para que testes sejam executados</p><p>com sucesso e posteriormente refatorados na aplicação. Com base nas</p><p>informações apresentadas sobre a refatoração, identifique se são (V) verdadeiras</p><p>ou (F) falsas as afirmativas a seguir. I. A refatoração pode ser utilizada quando</p><p>novas funções são acrescentadas ao software, adicionando novas características.</p><p>II. A refatoração do software é bastante simples quando se trata de banco de</p><p>dados, pois promove alterações nas tabelas de dados. III. A refatoração pode ser</p><p>feita enquanto a revisão de código do software é realizada, auxiliando no</p><p>entendimento do sistema. Assinale a alternativa que apresenta a sequência</p><p>CORRETA. ( ) a. F — F — V ( ) b. V — V — V (X) c. V — F — V ( ) d. F — F — F ( ) e. V —</p><p>V — F</p><p>29. @Chico</p><p>[CORRETA] Com base na documentação de requisitos de um sistema, um</p><p>arquiteto de sistemas utilizou a linguagem de modelagem unificada (UML) para</p><p>elaborar um diagrama de subsistemas, pacotes e classes, além do diagrama de</p><p>casos de uso. Ele compartilhou esses diagramas com a equipe de</p><p>desenvolvimento, a fim de trazer uma visão arquitetural do projeto a ser</p><p>implementado. Dentro desse contexto,</p><p>assinale a alternativa correta sobre o tipo</p><p>de visão arquitetural relacionada aos diagramas de classe elaborados pelo</p><p>arquiteto de sistemas. ( ) a. Os diagramas de classe da UML estão associados a</p><p>uma visão física do sistema ( ) b. Os diagramas de classe da UML estão</p><p>associados a uma visão de processo ( ) c. Os diagramas de classe da UML estão</p><p>associados a uma visão de desenvolvimento (X) d. Os diagramas de classe da</p><p>UML estão associados a uma visão lógica do sistema ( ) e. Os diagramas de classe</p><p>da UML estão associados a uma visão estática do sistema</p><p>Inaelson Franklin — 20/08/2024 20:55</p><p>Marquei essa nas duas primeiras tentativas e deu certo, ai depois veio de novo na</p><p>terceira tentativa e o sistema disse que tava errada a resposta</p><p>1.</p><p>Questões dos documentos acima</p><p>2. [11:08]</p><p>[CORRETA] Um arquiteto deparou-se com a necessidade de criar um elemento</p><p>que centralizasse toda a comunicação do sistema, assegurando que o devido</p><p>tratamento seja dado para cada requisição recebida, encaminhando-as para os</p><p>componentes adequados. Para tanto, resolveu utilizar um tipo de padrão de</p><p>projeto que atendesse à conversão dessas interfaces. Assinale a alternativa que</p><p>melhor se encaixa no padrão de projeto utilizado pelo arquiteto. (X) a. O padrão de</p><p>projeto adequado para resolver o problema proposto é o Adapter. ( ) b. O padrão de</p><p>projeto adequado para resolver o problema proposto é o Abstract Factory. ( ) c. O</p><p>padrão de projeto adequado para resolver o problema proposto é o Singleton. ( ) d.</p><p>O padrão de projeto adequado para resolver o problema proposto é o Façade. ( ) e.</p><p>O padrão de projeto adequado para resolver o problema proposto é o Builder.</p><p>3. [11:09]</p><p>[CORRETA] O arquiteto de sistemas de uma empresa está levantando a</p><p>possibilidade de reúso de componentes dentro de uma aplicação que deve ser</p><p>desenvolvida com um prazo bastante curto. Para tanto, considerou uma série de</p><p>observações para verificar a validade do reúso de componentes. Dentro desse</p><p>cenário, identifique se são (V) verdadeiras ou (F) falsas as afirmativas a seguir. I. O</p><p>arquiteto deve considerar a necessidade do código-fonte do componente, pois,</p><p>sendo uma entidade executável independente, torna-se imprescindível esse</p><p>artefato. II. Os componentes devem ter uma interface “requer” com a definição de</p><p>todos os serviços que são por eles definidos, com métodos bem delineados. III. O</p><p>arquiteto deve avaliar a implantação dos componentes que estão sendo</p><p>selecionados, a fim de assegurar que os componentes são autocontidos. Assinale</p><p>a alternativa que apresenta a sequência CORRETA. ( ) a. F — F — F ( ) b. V — F — V (</p><p>) c. V — V — V (X) d. F — F — V ( ) e. V — F — F</p><p>4. [11:09]</p><p>[CORRETA] Considerando o contexto de engenharia de software baseada em</p><p>reúso, marque a alternativa que apresenta um elemento básico de um modelo de</p><p>componentes corretamente associado com o seu grupo.</p><p>( ) “Apoio a teste” usada para testar o componente, composta por “definição de</p><p>interface”, “empacotamento” e “personalização”. (X) “Implantação e uso” que</p><p>representa o modo como o componente deve ser implantado, composta por</p><p>“empacotamento”, “documentação” e “apoio à evolução”. ( ) “Requisições” para</p><p>definir como o componente deve ser invocado, composta por “acesso a</p><p>metadados”, “interfaces específicas” e “apoio à evolução”. ( ) “Informação de uso”</p><p>necessária para que o componente seja usado em um programa, composta por</p><p>“definição de interface”, “composição” e “interfaces específicas”. ( ) “Interfaces”</p><p>do componente, composta por “convenção de nomes”, “acesso a metadados” e</p><p>“personalização”.</p><p>5. [11:09]</p><p>[CORRETA] Uma empresa de desenvolvimento de software está com um grande</p><p>projeto para ser iniciado. Analistas foram alocados para fazer o trabalho de</p><p>engenharia de requisitos, acompanhado pelo arquiteto de sistemas, que irá atuar</p><p>na concepção da arquitetura a ser utilizada na implementação do sistema. Os</p><p>analistas entendem que há muitas funcionalidades que poderiam ser</p><p>implementadas através da compra de bibliotecas prontas de terceiros e indicam</p><p>ao arquiteto que leve em consideração essa alternativa, pois poderia ajudar a</p><p>reduzir custos e prazos de projeto. Porém o arquiteto entende que seria melhor</p><p>implementar algo novo. Considerando o cenário exposto, assinale a alternativa</p><p>que melhor aponta uma justificativa do arquiteto para não fazer reuso de software.</p><p>(X) a. Maior dificuldade para implementar futuras mudanças nas funcionalidades</p><p>das bibliotecas a serem compradas. ( ) b. O uso de componentes reusáveis</p><p>sempre traz um custo de manutenção maior. ( ) c. Falta de padrões de projeto</p><p>arquiteturais para utilização das bibliotecas a serem compradas. ( ) d. O mais</p><p>importante, para um projeto, é a qualidade, e não o prazo da entrega. ( ) e.</p><p>Problemas para testar as funcionalidades sem o código-fonte das bibliotecas.</p><p>6. [11:09]</p><p>[CORRETA] Considerando o contexto de engenharia de software baseada em</p><p>reúso, marque a alternativa que apresenta corretamente três tipos de composição</p><p>de componentes. ( ) aditiva, equivalente, sequencial. ( ) aditiva, alternativa,</p><p>equivalente. ( ) alternativa, equivalente, hierárquica. ( ) alternativa, hierárquica,</p><p>sequencial. (X) Aditiva, hierárquica, sequencial.</p><p>7. [11:09]</p><p>[CORRETA] O reúso pode ser tratado como uma estratégia de otimização do</p><p>desenvolvimento de software, em que elementos podem ser reutilizados para</p><p>novos softwares. Isso possibilita a redução do tempo de desenvolvimento, tendo</p><p>em vista que os elementos que serão reutilizados já tiveram o seu ciclo de</p><p>desenvolvimento realizado, não havendo a necessidade de passar novamente</p><p>pelas mesmas etapas. Correlacione os tipos de reúso com suas respectivas</p><p>definições. 1 — Reúso de sistema. 2 — Reúso de aplicações. 3 — Reúso de</p><p>componentes. I — Este tipo de reúso pode ter a sua configuração diferenciada</p><p>para clientes. II — Este tipo de reúso pode ser exemplificado por reúso de</p><p>elementos acessados por API. III — Este tipo de reúso permite o reúso de uma</p><p>série de programas inteiros e completos. Assinale a alternativa que correlaciona</p><p>adequadamente os dois grupos de informação. ( ) a. 1 — III; 2 — I; 3 — II ( ) b. 1 —</p><p>III; 2 — II; 3 — I ( ) c. 1 — II; 2 — I; 3 — III ( ) d. 1 — I; 2 — II; 3 — III ( ) e. 1 — I; 2 — III; 3</p><p>— II</p><p>8. [11:10]</p><p>[CORRETA] A reutilização de elementos de software para projetos é muito</p><p>importante para acelerar o tempo de desenvolvimento de novos softwares. Um</p><p>tipo de elemento que pode ser reutilizado são os padrões de projeto, muito</p><p>utilizados quando se trata do paradigma de programação orientada a objetos.</p><p>Assinale a alternativa abaixo que trata do conceito de padrão de projeto. ( ) a. Um</p><p>padrão de projeto descreve uma solução que pode ser aplicada para diferentes</p><p>tipos de problemas, com um algoritmo que requer ajustes para cada caso. ( ) b.</p><p>Um padrão de projeto descreve um problema e várias alternativas de sua solução,</p><p>de forma que possam ser aplicadas para qualquer caso sem alteração. ( ) c. Um</p><p>padrão de projeto descreve um requisito padrão para ser reutilizado em diferentes</p><p>tipos de projetos de desenvolvimento de software. (X) d. Um padrão de projeto</p><p>descreve um problema e um modelo para a sua solução, permitindo o reúso com</p><p>os ajustes para cada caso. ( ) e. Um padrão de projeto descreve um algoritmo para</p><p>resolver um problema, sendo muito utilizado para linguagens de programação</p><p>estruturada.</p><p>9. [11:11]</p><p>[CORRETA] É possível fazer uma combinação de componentes para a criação de</p><p>novos componentes. Esse processo é chamado de composição de componentes,</p><p>sendo utilizado um código “cola”. Um desenvolvedor resolveu aproveitar dois</p><p>componentes A e B para criar um novo componente, conforme apresentado na</p><p>figura a seguir. Fonte: Sommerville (2018, p. 452). SOMMERVILLE, I. Engenharia de</p><p>software. 10. ed. São Paulo: Pearson Education do Brasil, 2018. Assinale a</p><p>alternativa que representa a composição de componentes apresentada na figura</p><p>acima. ( ) a. Composição</p><p>sequencial ( ) b. Composição hierárquica ( ) c.</p><p>Composição adaptadora (X) d. Composição aditiva ( ) e. Composição de</p><p>processos</p><p>10. [11:11]</p><p>[CORRETA] Um time de desenvolvimento de software irá fazer o reúso de</p><p>componentes de software, após uma análise dos requisitos e da arquitetura do</p><p>sistema a ser utilizada. Nessa análise, foi considerado que o prazo não está</p><p>apertado e será suficiente para reutilizar alguns componentes de software,</p><p>focando o desenvolvimento para atividades mais críticas das regras de negócios.</p><p>Será utilizada a programação Java, em função da expertise do time de</p><p>desenvolvimento com essa tecnologia, na versão JRE 8 para ambiente Windows.</p><p>Assim os componentes de software também deverão ser utilizados na linguagem</p><p>Java.Com base no cenário exposto, avalie as afirmações a seguir em relação aos</p><p>fatores determinantes considerados pelo time de desenvolvimento para o reúso</p><p>de software. I. Para o reúso de software, deve ser considerado o tempo longo de</p><p>vida que terá o software a ser desenvolvido . II. Para o reúso de software, alguns</p><p>fatores importantes são a formação, as habilidades e a experiência do time de</p><p>desenvolvimento. III. Para o reúso de software, deve ser considerado o prazo do</p><p>cronograma de desenvolvimento de software. IV. Para o reúso de software, é</p><p>importante ser avaliada a plataforma de software em que o sistema será</p><p>executado. Está correto o que se afirma em: ( ) a. II e III, apenas (X) b. II, III e IV,</p><p>apenas ( ) c. I, II, III e IV ( ) d. I, III e IV, apenas ( ) e. II e IV, apenas</p><p>19 de agosto de 2024</p><p>11.</p><p>Chico — 19/08/2024 14:34</p><p>[CORRETA] Assinale a alternativa que contém uma abordagem de reúso</p><p>apresentada na videoaula sobre “reúso de software”.</p><p>( ) Geradores de teste. ( ) Sistemas legados. ( ) Engenharia de software orientada a</p><p>caminhos. ( ) Bibliotecas de arquitetura. (X) Linhas de produto de software.</p><p>Justificativa: Linhas de produto de software é mencionada juntamente a outras 14</p><p>abordagens de reúso.</p><p>12. [14:34]</p><p>[CORRETA] Quantos padrões de projeto existem, aproximadamente, no catálogo</p><p>de padrões de projeto apresentado?</p><p>(X) 20 ( ) 100 ( ) 10 ( ) 300 ( ) 5 Justificativa: São apresentados quase 25 padrões de</p><p>projeto no catálogo mencionado.</p><p>13. [14:34]</p><p>[CORRETA] Assinale a alternativa que contém uma característica de componente</p><p>mencionado na videoaula “Componentes de software”.</p><p>( ) Passível de substituição. ( ) Implacável. (X) Documentado. ( ) Dependente. ( )</p><p>Variável. Justificativa: “Documentado” é uma das cinco características de</p><p>componentes, além de passível de composição, implantável, independente e</p><p>padronizado.</p><p>14. [14:35]</p><p>[CORRETA] Questão referente ao Texto-base 1 - Engenharia de Software (Capítulo</p><p>15, páginas 409-417) | Ian Sommerville Marque a alternativa que mostra um tema</p><p>tratado no material estudado sobre reúso de software.</p><p>( ) Frameworks de implantação. ( ) Frameworks conceituais. ( ) Frameworks de</p><p>requisitos. (X) Frameworks de aplicação. ( ) Frameworks de teste. Justificativa:</p><p>rameworks de aplicação é uma das abordagens de reúso destacada no material</p><p>estudado.</p><p>15. [14:35]</p><p>[CORRETA] Questão referente ao Texto-base 2 - Padrões de projeto: Soluções</p><p>reutilizáveis de software orientado a objetos (Capítulo 1, páginas 14-27; 43-46) | E.</p><p>Gamma et al. Sobre padrões de projeto, marque a alternativa que contém um</p><p>exemplo de padrão contido no material estudado.</p><p>(X) Façade. ( ) Destroyer. ( ) Skeleton. ( ) Decomposite. ( ) Tester. Justificativa:</p><p>Façade é um dos padrões de projeto mais conhecidos citado no material</p><p>estudado.</p><p>16. [14:35]</p><p>[CORRETA] Questão referente ao Texto-base 3 - Engenharia de Software (Capítulo</p><p>16, páginas 435-445; 451-455) | Ian Sommerville Com base no material estudado,</p><p>indique qual é a sigla usada sobre componentes de software para se referir à</p><p>engenharia de software baseada em componentes. ( ) ESBC. ( ) ES-Comp. (X)</p><p>CBSE ( ) Comp-ES. ( ) ES&C. Justificativa: CBSE é a sigla em inglês para</p><p>component-based software engineering.</p><p>17.</p><p>Edson Junior — 19/08/2024 20:44</p><p>todas corretas</p><p>Semana_4 - Atividade Avaliativa_engenharia_software_19-08-2024.pdf</p><p>888.96 KB</p><p>1</p><p>20 de agosto de 2024</p><p>18.</p><p>Chico — 20/08/2024 06:43</p><p>[CORRETA] O arquiteto de sistemas de uma empresa está levantando a</p><p>possibilidade de reúso de componentes dentro de uma aplicação que deve ser</p><p>desenvolvida com um prazo bastante curto. Para tanto, considerou uma série de</p><p>observações para verificar a validade do reúso de componentes.Dentro desse</p><p>cenário, identifique se são (V) verdadeiras ou (F) falsas as afirmativas a seguir. I. O</p><p>arquiteto deve considerar a necessidade do código-fonte do componente, pois,</p><p>sendo uma entidade executável independente, torna-se imprescindível esse</p><p>https://cdn.discordapp.com/attachments/1211340763980627968/1275239017180561478/Semana_4_-_Atividade_Avaliativa_engenharia_software_19-08-2024.pdf?ex=66dc3ca2&is=66daeb22&hm=85a527486aeb778c8c9c514bfbc8379cdb8e3803c2de8a85e06688f48523defa&</p><p>artefato. II. Os componentes devem ter uma interface “requer” com a definição de</p><p>todos os serviços que são por eles definidos, com métodos bem delineados. III. O</p><p>arquiteto deve avaliar a implantação dos componentes que estão sendo</p><p>selecionados, a fim de assegurar que os componentes são autocontidos. Assinale</p><p>a alternativa que apresenta a sequência CORRETA. (X) a. F — F — V ( ) b. V — V — V</p><p>( ) c. F — F — F ( ) d. V — F — V ( ) e. V — F — F</p><p>19. [06:43]</p><p>[CORRETA] Um arquiteto deparou-se com a necessidade de criar um elemento</p><p>que centralizasse toda a comunicação do sistema, assegurando que o devido</p><p>tratamento seja dado para cada requisição recebida, encaminhando-as para os</p><p>componentes adequados. Para tanto, resolveu utilizar um tipo de padrão de</p><p>projeto que atendesse à conversão dessas interfaces. Assinale a alternativa que</p><p>melhor se encaixa no padrão de projeto utilizado pelo arquiteto. (X) a. O padrão de</p><p>projeto adequado para resolver o problema proposto é o Adapter. ( ) b. O padrão de</p><p>projeto adequado para resolver o problema proposto é o Abstract Factory. ( ) c. O</p><p>padrão de projeto adequado para resolver o problema proposto é o Builder. ( ) d. O</p><p>padrão de projeto adequado para resolver o problema proposto é o Singleton. ( ) e.</p><p>O padrão de projeto adequado para resolver o problema proposto é o Façade.</p><p>20. [06:43]</p><p>[CORRETA] Considerando o contexto de engenharia de software baseada em</p><p>reúso, marque a alternativa que apresenta um elemento básico de um modelo de</p><p>componentes corretamente associado com o seu grupo. ( ) “Informação de uso”</p><p>necessária para que o componente seja usado em um programa, composta por</p><p>“definição de interface”, “composição” e “interfaces específicas”. ( ) “Interfaces”</p><p>do componente, composta por “convenção de nomes”, “acesso a metadados” e</p><p>“personalização”. ( ) “Apoio a teste” usada para testar o componente, composta</p><p>por “definição de interface”, “empacotamento” e “personalização”. (X)</p><p>“Implantação e uso” que representa o modo como o componente deve ser</p><p>implantado, composta por “empacotamento”, “documentação” e “apoio à</p><p>evolução”. ( ) “Requisições” para definir como o componente deve ser invocado,</p><p>composta por “acesso a metadados”, “interfaces específicas” e “apoio à</p><p>evolução”.</p><p>21. [06:43]</p><p>[CORRETA] Considerando o contexto de reúso de software, assinale a alternativa</p><p>que contém corretamente os possíveis níveis em que o reúso pode ser aplicado. ( )</p><p>Reúso de intenções, reúso de sistema, reúso de aplicações, reúso de</p><p>componentes. ( ) Reúso de intenções, reúso de aplicações, reúso de</p><p>componentes, reúso de objetos e funções. ( ) Reúso de intenções, reúso de</p><p>sistema, reúso de aplicações, reúso de objetos e funções. ( ) Reúso de intenções,</p><p>reúso de sistema, reúso de componentes, reúso de objetos e funções. (X) Reúso</p><p>de sistema, reúso de aplicações, reúso de componentes, reúso de objetos e</p><p>funções.</p><p>22. [06:44]</p><p>[CORRETA] Uma empresa de desenvolvimento de software está com um grande</p><p>projeto para ser</p>