Prévia do material em texto
19/05/2022 17:21 Unicesumar - Ensino a Distância 1/8 ATIVIDADE 2 - TÓPICOS ESPECIAIS - 51/2022 Período:04/04/2022 08:00 a 22/04/2022 23:59 (Horário de Brasília) Status:ENCERRADO Nota máxima:1,50 Gabarito:Gabarito será liberado no dia 04/05/2022 00:00 (Horário de Brasília) Nota obtida:1,35 1ª QUESTÃO O desenvolvimento de software baseado em reutilização pode ser visto como um ciclo contínuo de aprendizagem. A Engenharia de Domínio (ED) pretende que variáveis e características comuns possam ser identificadas e modeladas com base em um processo previamente definido. Salienta-se que os artefatos gerados pela ED podem ser instanciados para uma aplicação específica do domínio. À esta instanciação dá- se o nome de Engenharia de Aplicação (EA). Portanto, a ED provê um conjunto de artefatos para reutilização, enquanto que a EA constrói aplicações com base na reutilização de artefatos providos pela ED. HUZITA, Elisa Hatsue Moriya; FREITAS, Janaína Aparecida de. Tópicos Especiais em Engenharia de Software II. Maringá-Pr.: UniCesumar, 2018. Com base no texto acima e refletindo sobre propostas de metodologias de Desenvolvimento Baseado em Componentes (DBC), assinale a alternativa que contém as três propostas de metodologias de DBC. ALTERNATIVAS Catálogo de Gof, Catalysis e KOBRA. UML Components, Catalysis e Design patterns. UML Components, Catalysis e KOBRA. UML Components, ERP e COTS. Catálogo de Gof, ERP e KOBRA. 2ª QUESTÃO 19/05/2022 17:21 Unicesumar - Ensino a Distância 2/8 Alguns benefícios intencionados proporcionados pela utilização da Integração Contínua incluem: desperdício de recursos são evitados, erros de configuração manual; a estabilidade do software é garantida e novas funções são desenvolvidas com mais rapidez e flexibilidade. Porém, nenhuma solução é universal. As maiores dificuldades encontradas fazem referência ao grande esforço inicial de configuração exigido por práticas de Integração Contínua e a adaptação das etapas que fazem parte do processo de desenvolvimento. Doreste, Andréa Cristina de Souza. Pipeline de Implantação Contínua no Contexto de Internet das Coisas para Raspberry Pi. Rio de Janeiro: UFRJ/ Escola Politécnica, 2018. (Adaptado). Com base no texto acima, esse conjunto de etapas que acontecem de forma ordenada e iterativa pode ser descrito também como um pipeline de desenvolvimento. Analise as afirmativas abaixo sobre como funciona o Pipeline de Implantação. I. O restante do pipeline executa uma série de etapas de desenvolvimento para provar que é possível gerar uma entrega de versão. II. Cada teste de aceitação feito na versão candidata passa a aumentar a confiança no software final. III. Cria-se uma nova instância do pipeline a cada mudança feita na configuração, no código fonte e no ambiente ou em dados. IV. Se a versão candidata passa em todos os testes de aceitação e automatizados, pode ser realizada a entrega da versão final ao cliente. É correto o que se afirma em: ALTERNATIVAS I, apenas. II, apenas. III, apenas. III e IV, apenas. II, III e IV, apenas. 3ª QUESTÃO Em um universo onde a única certeza é a metamorfose de cenários e expectativas no próximo minuto, os gerentes de TI já se acostumaram a lidar com requisitos passíveis de alterações, códigos a serem refeitos constantemente, exigências por entregas de versões com maior constância e desenvolvimento de releases bem-sucedidos em prazos cada vez mais curtos. Disponível em:https://gaea.com.br/veja-como-otimizar-os-processos-de-entrega-de-software/. Acessado em: mar.2022. Com base no contexto acima apresentado, analise as afirmações abaixo sobre entregar versões frequentes e automatizadas de software e assinale a altenativa correta. ALTERNATIVAS 19/05/2022 17:21 Unicesumar - Ensino a Distância 3/8 Quando a entrega é manual, é passível de repetição automatizada. A entrega com passos manuais pode aparecer erros, mas é mais eficaz pois vemos tudo o que realmente foi feito. Entregas frequentes significa aumento de riscos e conduzem a um feedback mais rápido por parte do cliente. Com entregas automatizadas e frequentes entregamos aos usuários versões com alto valor e alta qualidade de maneira eficiente, confiável e rápida. Entregas de versão frequente significa que a variação entre as versões é menor e isto pode ser arriscado, pois erros e defeitos podem deixar de serem corrigidos. 4ª QUESTÃO A complexidade crescente dos sistemas requer a implementação de novos métodos de desenvolvimento para manter os custos, o tempo e a qualidade sob controle. As abordagens tradicionais, centradas em documentos e baseadas em testes não são mais compatíveis com a atual engenharia de sistema multidisciplinar e distribuída. Disponível em: https://www.plm.automation.siemens.com/global/pt/webinar/model-based-systems- engineering/26111. Acessado em: 17.jul.2021. Considerando o texto acima, analise as afirmativas abaixo sobre as características de sistemas que devem ser tratadas e consideradas pelos analistas e projetistas de engenharia de software para futuras aplicações. I. Considerar as arquiteturas complexas e sistemas heterogêneos distribuídos II. Devem considerar somente a reatividade e os usuários experientes para interação com o sistema. III. Considerar a multifuncionalidade e variabilidade de manutenção IV. Considerar a criticidade do software, pois tornou-se o componente pivô em todos os sistemas críticos nos negócios e em muitos sistemas em termos de segurança. É correto o que se afirma em: ALTERNATIVAS I, apenas. I e II, apenas. II e IV, apenas. I, III e IV, apenas. I, II, III e IV. 5ª QUESTÃO 19/05/2022 17:21 Unicesumar - Ensino a Distância 4/8 Engenharia reversa tem suas origens no mundo do hardware. Esta atividade permite que uma empresa desmonte um produto de hardware competitivo na tentativa de conhecer os “segredos” de projeto e fabricação do concorrente. Note que esses segredos poderiam ser mais facilmente entendidos se fosse possível obter as especificações de projeto e a 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 afirmativas 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 é a última tarefa da reengenharia. É correto o que se afirma em: ALTERNATIVAS I, apenas. III, apenas. I e II, apenas. III e IV, apenas. I, II e IV. 6ª QUESTÃO 19/05/2022 17:21 Unicesumar - Ensino a Distância 5/8 Os padrões de projetos possibilitam reutilizar soluções e arquiteturas bem sucedidas para construir softwares orientados a objetos, de forma flexível e fácil de manter. Além disso, o uso de padrões de projeto pode reduzir a complexidade do processo de projetar software. Disponível em: https://www.devmedia.com.br/conheca-os-padroes-de-projeto/957. Acessado em: mar.2022. O catálogo de padrões de projeto possui 23 padrões. Com base nisso, analise as afirmativas abaixo sobre os seus nomes e intenções. I. Mediator permite que certas classes trabalhem em conjunto pois, de outra forma, seria impossível devido às suas interfaces incompatíveis. II. O Composite permite que os clientes tratem, de maneira uniforme, tanto os objetos individuais quanto as composições de objetos. III. Os decorators fornecem uma alternativa flexível a subclasses para extensão da funcionalidade. IV. O Factory Method permite a uma classe postergar (defer) a instanciação às subclasses. V. O Adapter promove um acoplamento fraco ao evitar que os objetos refiram explicitamente uns aos outros, permitindo que se varie as suas interaçõesde forma independente. É correto o que se afirma em: ALTERNATIVAS I, apenas. II e III, apenas. II e V, apenas. II, III e IV, apenas. I, II, III, IV e V. 7ª QUESTÃO 19/05/2022 17:21 Unicesumar - Ensino a Distância 6/8 O middleware é o software que se encontra entre o sistema operacional e os aplicativos nele executados. Funcionando de forma essencial como uma camada oculta de tradução, o middleware permite a comunicação e o gerenciamento de dados para aplicativos distribuídos. Muitas vezes, o middleware é chamado de “encanamento”, uma vez que ele conecta dois aplicativos para que os dados e bancos de dados possam ser facilmente transportados através do “cano”. O uso do middleware permite que os usuários executem solicitações como enviar formulários em um navegador da Web ou permitir que o servidor Web apresente páginas dinâmicas da web com base no perfil de um usuário. Disponível em: https://azure.microsoft.com/pt-br/overview/what-is-middleware/. Acessado em: 17.jul.2021. Pensando sobre o conceito exposto acima, analise as afirmativas a seguir: I. Gerenciadores de Transações. II. Conversores de Tipos de fontes. III. Software de navegação para uma aeronave. IV. Software para Gerenciamento de Comunicações com Bancos de Dados. São exemplos de middleware o que se apresenta em: ALTERNATIVAS I, apenas. I e IV, apenas. III e IV, apenas. I, II e IV, apenas. I, II, III e IV. 8ª QUESTÃO A ocorrência de falhas em softwares tem sido constante e, por isto, deve-se ter uma atenção especial quando são sistemas críticos. As categorias principais dos sistemas críticos são segurança, missão ou negócios. Em qualquer uma destas categorias, as falhas causam transtornos, como: perdas econômicas, danos físicos ou ameaças aos seres humanos. Neste contexto: I) As pessoas dependem dos sistemas críticos, que podem ser sistemas sociotécnicos ou técnicos. Portanto, II) pode-se dizer que um sistema crítico é um software ao qual possuem riscos inerentes a danos físicos, pessoais e/ou financeiros. Disponível em: https://www.devmedia.com.br/sistemas-criticos/18952. Acessado em: mar.2022. A respeito dessas asserções, assinale a alternativa correta. ALTERNATIVAS 19/05/2022 17:21 Unicesumar - Ensino a Distância 7/8 As asserções I e II são proposições falsas. A asserção I é uma proposição verdadeira, e a II é uma proposição falsa. A asserção I é uma proposição falsa, e a II é uma proposição verdadeira. As asserções I e II são proposições verdadeiras, e a II é uma justificativa correta da I. As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa correta da I. 9ª 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: mar.20202 Analisando o conceito exposto acima, assinale a alternativa que mostra a 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 ( ) Identificação única que se refere a um projeto de software. ( ) Conjunto de versões de um componente de software, juntamente com outros itens de configuração. ( ) Versão de um produto de software que foi liberado para os usuários finais. ( ) Coleção de versões de componentes que compõem um produto de software. ( ) Criação de uma versão de um componente de software. Assinale a alternativa correta. ALTERNATIVAS 1, 2, 3, 4, 5. 4, 5, 2, 1, 3. 1, 3, 4, 2, 5. 1, 3, 2, 4, 5. 1, 5, 3, 2, 4. 10ª QUESTÃO 19/05/2022 17:21 Unicesumar - Ensino a Distância 8/8 Muitas vezes a refatoração é considerada uma atividade que pretende realizar a limpeza de código. Esta visão é errônea porque a refatoração apresenta técnicas diferenciadas para realizar alteração no código. Se estas técnicas forem utilizadas de forma correta, o código fica menos propenso à ocorrência de falhas. A Refatoração visa a alteração de código fonte para melhorar o seu entendimento e a sua manutenção, sem alterar suas funções externas. BARROZO, G. C.; VINHAS, H. M.; REIS, J. C. de S. Refatoração: Aperfeiçoando um código existente. Alfenas: UNIFENAS, 2013. A Refatoração é, portanto, uma técnica poderosa para gerar um bom código. Com base nesta informação, analise as afirmativas a seguir sobre os sintomas do catálogo de “maus cheiros”: I) Código duplicado mostrando desperdício está no topo do ranking dos maus cheiros. II) A cirurgia com rifle ocorre em uma mudança e faz-se muitas alterações pequenas em muitas classes diferentes. III) Inveja da funcionalidade ocorre quando um método tende a utilizar mais de um objeto de uma classe diferente àquele a que pertence. IV) Intimidade inapropriada acontece quando uma classe se refere às partes privadas de outras classes; e uma classe ociosa é quando ela não está fazendo o suficiente para se pagar. É correto o que se afirma em: ALTERNATIVAS I, apenas. II e III, apenas. II e IV, apenas. I, III e IV, apenas. I, II, III e IV.