Baixe o app para aproveitar ainda mais
Prévia do material em texto
16/11/2021 13:14 Unicesumar - Ensino a Distância 1/7 ATIVIDADE 2 - ESOFT - TÓPICOS ESPECIAIS EM ENGENHARIA DE SOFTWARE II - 54/2021 Período:08/11/2021 08:00 a 22/11/2021 23:59 (Horário de Brasília) Status:ABERTO Nota máxima:1,00 Gabarito:Gabarito será liberado no dia 23/11/2021 00:00 (Horário de Brasília) Nota obtida: 1ª QUESTÃO A Gerência de Configuração de Software surgiu da necessidade de controlar estas modificações, por meio de métodos e ferramentas, com o intuito de maximizar a produtividade e minimizar os erros cometidos durante a evolução. É uma disciplina que controla e notifica as inúmeras correções, extensões e adaptações aplicadas durante o ciclo de vida do software de forma a assegurar um processo de desenvolvimento e evolução sistemático e rastreável, sendo indispensável quando equipes manipulam, muitas vezes em conjunto, artefatos comuns. Disponível em: https://www.devmedia.com.br/gerencia-de-configuracao-de-software/9145. Acessado em: set.2021. Analisando o conceito exposto acima, assinale a alternativa que mostra a sequência da associação correta das terminologias usadas no Gerenciamento de Configuração de Software. 1. Item de Configuração 2. Baseline 3. Codeline 4. Release 5. Merging ( ) Qualquer coisa associada a um projeto de software que tenha um nome único. ( ) Criação de uma nova versão de um componente de software. ( ) Conjunto de versões de um componente de software e outros itens de configuração. ( ) Coleção de versões de componentes que compõem um sistema. ( ) Versão de um sistema que foi liberada para os para uso. ALTERNATIVAS 1, 2, 3, 4, 5. 4, 5, 2, 1, 3. 4, 2, 3, 1, 5. 1, 5, 3, 2, 4. 1, 3, 2, 4, 5. Atenção! Questão anulada. ALTERNATIVAS 16/11/2021 13:14 Unicesumar - Ensino a Distância 2/7 I, apenas. I e II, apenas. I e IV, apenas. I, III e IV, apenas. I, II, III e IV. 3ª QUESTÃO O reuso de software visa reaproveitar grande parte do software produzido e informações associadas em novos projetos, diminuindo o custo, aumentando a produtividade no desenvolvimento e proporcionando o compartilhamento do conhecimento durante as fases de desenvolvimento. A ideia básica é que componentes de software sejam especificados e projetados de forma que possam ser reusados em aplicações diferentes. Disponível em: https://www.devmedia.com.br/reuso-de-software-utilizando-padroes-de-analise-engenharia- de-software-28/17964. Acessado em: 06.ago.2018. Analisando o texto exposto acima, relacione em ordem os benefícios da Reutilização a sua explicação. 1. Aumento da confiabilidade 2. Redução de riscos do processo 3. Uso eficaz de especialistas 4. Conformidade com padrões 5. Desenvolvimento acelerado ( ) A reutilização pode acelerar a produção de um sistema graças à redução do tempo de desenvolvimento e validação. ( ) Alguns padrões como os de interface de usuário, podem ser implementados como um conjunto de componentes reutilizáveis. ( ) Em vez de repetir o mesmo trabalho, especialistas em aplicações podem desenvolver produtos de software que encapsulem seu conhecimento. ( ) A reutilização de componentes prontos reduz as incertezas quanto aos custos de desenvolvimento. ( ) Reutilizam-se soluções já prontas. ALTERNATIVAS 1, 3, 4, 5, 2. 5, 4, 3, 2, 1. 3, 4, 5, 2, 1. 1, 2, 3, 4, 5. 4, 3, 5, 2, 1. 4ª QUESTÃO 16/11/2021 13:14 Unicesumar - Ensino a Distância 3/7 Quem nunca passou por isso? Um novo aplicativo ou recurso precisa ser implementado para ontem e a última coisa que alguém deseja fazer é levantar os requisitos de segurança do projeto. Por outro lado, a última coisa que alguém deseja resolver depois é uma violação de segurança ou um custo associado à não conformidade. Tal cenário não só é uma dor de cabeça enorme, como também é algo extremamente caro. Disponível em: https://blog.rivendel.com.br/2016/10/13/5-praticas-devops-para-aprimorar-a-seguranca-na- engenharia-de-software/. Acessado em: nov.2021. Baseado no texto acima, analise as afirmativas abaixo sobre as tarefas que devem ser pensadas para que haja análise de segurança: I. A tarefa de levantamento de requisitos de segurança utiliza as técnicas gerais de levantamento de requisitos e são aplicadas ao levantamento de requisitos de segurança. II. Na tarefa de modelagem de segurança é onde é feita uma descrição informal da política de segurança do sistema baseado nas informações modeladas no projeto de software. III. A tarefa projeto de medidas é onde as métricas e medidas de segurança precisam se encontrar na avaliação das propriedades. IV. Os requisitos de segurança são os requisitos funcionais e eles influenciam o projeto de arquitetura do sistema. É correto o que se afirma em: ALTERNATIVAS I, apenas. II, apenas. I e IV, apenas. I, II e IV, apenas. I, II, III e IV. 5ª QUESTÃO 16/11/2021 13:14 Unicesumar - Ensino a Distância 4/7 A engenharia reversa pode ser definida como o processo de desenvolvimento de um conjunto de especificações para um sistema de hardware complexo através do exame ordenado dos componentes do sistema. Enquanto que para o hardware o objetivo tradicional da engenharia reversa é duplicar o sistema, para o software esse processo é mais frequentemente utilizado para se obter um suficiente entendimento do mesmo no nível de desenvolvimento. Disponível em: https://www.youtube.com/watch?v=5zk9QGOUljE. Acessado em: 30.jul.2018. A partir do texto acima, analise as afirmações a seguir sobre as Atividades de Reengenharia de Software. I. A atividade de análise de inventário diz que toda empresa de software deve ter um inventario de todos os aplicativos usados. II. Na atividade de reestruturação dos documentos pode-se criar apenas a documentação necessária para que seja possível entender o software. III. As atividades de engenharia reversa e engenharia direta ocorrem em um nível relativamente alto de abstração. IV. Na reestruturação de código ocorre um nível relativamente baixo de abstração, e a reestruturação de dados é considerada uma atividade de reengenharia completa. É correto o que se afirma em: ALTERNATIVAS I, apenas. I e III, apenas. I e IV, apenas. I, II e IV, apenas. I, II, III e IV. 6ª QUESTÃO 16/11/2021 13:14 Unicesumar - Ensino a Distância 5/7 O termo engenharia reversa tem suas origens no mundo do hardware. Uma empresa desmonta um produto de hardware competitivo na tentativa de conhecer os “segredos” de projeto e fabricação do concorrente. Os segredos poderiam ser facilmente entendidos se fosse possível obter as especificações de projeto e fabricação do concorrente. PRESSMAN, R.; MAXIM, B. R. Engenharia de Software – Uma abordagem profissional. 8. Ed. Porto Alegre: AMGH, 2016. A partir do texto acima, analise as afirmações a seguir sobre os níveis onde a engenharia reversa dos dados ocorre: I. A engenharia reversa dos dados ocorre em um único nível de abstração. II. No nível de programa as estruturas internas de dados passam por uma reengenharia como parte de um trabalho da engenharia reversa. III. No nível de sistema as estruturas de dados globais passam por uma reengenharia para acomodar novos paradigmas de gerenciamento de base de dados. IV. O nível de abstração é normalmente a primeira tarefa da reengenharia. É correto o que se afirma em: ALTERNATIVAS I, apenas. I e II, apenas. III e IV, apenas. I, III e IV, apenas. I, II, III e IV. 7ª QUESTÃO A Refatoração é uma das práticas sugeridas pelo Extreme Programming (XP) que vai de encontro a filosofia ágil. Refatoração é uma das poucas práticas que a maioria dos devs concorda que deve ser feita em algum ponto do projeto, de preferência de maneira contínua. Disponível em: https://www.thoughtworks.com/pt/insights/blog/refactoring-book. Acesso em: set.2021. Na técnica que visa o __________________: se um método está usando ou sendo usado por mais recursos de outra ___________, além da classe que está sendo alterada, você deve: criar _______________ com corpo similar; e _____________ ou transformar ______ em uma simplesdelegação. Com base no texto exposto acima, assinale a alternativa que apresenta o preenchimento correto referente às lacunas. ALTERNATIVAS 16/11/2021 13:14 Unicesumar - Ensino a Distância 6/7 extrair classe, um novo método, classe, inserir, o método antigo. mover método, classe, um novo método, remover, o método antigo. ocultar delegação, classe, um novo método, remover, a classe antiga. renomear método, classe, um novo método, inserir, a classe antiga. ocultar delegação, método, a nova classe, remover, a classe anterior. 8ª QUESTÃO As metodologias ágeis de desenvolvimento permitiram entregas rápidas com pequenas e frequentes modificações nos códigos, em vez de versões criadas em períodos longos de tempo com grandes alterações. Com essa otimização, logo o trabalho em paralelo dos membros da equipe de desenvolvimento tornou-se possível. Como as entregas são rápidas, um programador pode atuar em uma parte do código enquanto os demais em outras partes e, assim, o desenvolvimento torna-se mais ágil. Integração Contínua é um processo essencial dessas metodologias ágeis que permite a integração do trabalho dos membros de uma equipe o mais rápido possível com a execução de builds e testes automatizados do código. Analisando o texto acima, assinale a alternativa correta sobre a Entrega Contínua. ALTERNATIVAS Entrega Contínua é uma atividade de apoio que permite o gerenciar mudanças; identificar os artefatos que precisam ser alterados, as relações entre estes artefatos e o controle de versão destes artefatos; controlar as mudanças; e auditar e relatar todas as alterações feitas no software. Entrega Contínua é um processo usado para: compilar o código em ambiente limpo, executar testes e outros processos de qualidade, e gerar um build (disparado por qualquer modificação no código fonte). Entrega Contínua é um processo que permite a implantação contínua em ambiente de produção, ocorrendo durante o desenvolvimento de software. Entrega Contínua é uma área de trabalho privada em que o software pode ser modificado sem afetar outros desenvolvedores que possam estar usando ou modificando o software. Entrega Contínua é uma coleção de versões de componentes que compõem um sistema. 9ª QUESTÃO 16/11/2021 13:14 Unicesumar - Ensino a Distância 7/7 Ecossistema de software tem sido apresentado como uma tendência para tratar a colaboração crescente entre fornecedores de soluções de sistemas de informação, clientes, entidades governamentais, entre outros. Disponível em: https://www.creativante.com.br/lettericia/blog/2009/44_2009.html. Acessado em: set.2021. Pensando sobre o que foi exposto acima, avalie as afirmações a seguir: I. O ambiente do IPhone é um exemplo de ECOS, onde os atores são apenas os usuários e os desenvolvedores da Apple. II. O iOS é a tecnologia de software central do ambiente do IPhone como exemplo de ECOS. III. Os ativos de software são artefatos adquiridos e armazenados por uma empresa, como componentes, serviços, aplicações. IV. Os ativos de ECOS englobam os ativos reutilizáveis que podem ser criados dentro da empresa ou serem trazidos de fora da empresa. É correto o que se afirma em: ALTERNATIVAS I, apenas. I e IV, apenas. II e IV, apenas. I, II e III, apenas. I, II, III e IV. 10ª QUESTÃO Deve-se ter muita atenção às falhas no ambiente de produção. Por exemplo, em uma empresa de comércio eletrônico pode perder receita se ocorrer uma falha no software do servidor e, inclusive, perda de clientes. Outro exemplo é ocorrer falha em um sistema de controle embutido em um carro, pois pode provocar recalls daquele modelo para reparação e, na pior das hipóteses, ser a causa de acidentes. SOMMERVILLE, I. Engenharia de Software. 9. ed. - São Paulo: Pearson Prentice Hall,2011. Analisando o texto acima, assinale a alternativa correta sobre os três tipos de falhas que podem ocorrer em Sistemas Críticos. ALTERNATIVAS Falhas de Hardware, Falhas de Fabricação, Falhas de Software. Falhas de Hardware, Falhas de Software, Falhas Operacionais. Falhas de Sistema, Falhas de Desenvolvimento, Falhas de Hardware. Falhas de Software, Falhas de Fabricação, Falhas de Uso. Falhas de Sistema, Falhas de Transitórias, Falhas de Uso.
Compartilhar