Baixe o app para aproveitar ainda mais
Prévia do material em texto
Evolução dos softwares: aplicação da Engenharia de Software em sistemas emergentes Professor(a): Anderson da Silva Marcolino (Doutorado) 1) 2) Prepare-se! Chegou a hora de você testar o conhecimento adquirido nesta disciplina. A Avaliação Virtual (AV) é composta por questões objetivas e corresponde a 100% da média final. Você tem até cinco tentativas para “Enviar” as questões, que são automaticamente corrigidas. Você pode responder as questões consultando o material de estudos, mas lembre-se de cumprir o prazo estabelecido. Boa prova! O DevOps integra duas áreas fundamentais no processo de concepção de software. Sobre o DevOps, assinale a alternativa correta. Alternativas: O DevOps é um arcabouço que integra e automatiza práticas e ferramentas que tornam as empresas mais competitivas no mercado. DevOps tem como benefícios a melhoria na qualidade dos produtos de software e menor número de entregas, porém com maior qualidade. A união do desenvolvimento com operações dá origem ao que se intitula DevOps (união de “Dev”, de developer – desenvolvedor – e “Ops” de operations – operações). CORRETO São ainda benefícios do DevOps a melhor estabilidade nas entregas dos componentes nos softwares e valor do negócio. DevOps é uma cultura da engenharia de hardware. Código da questão: 58356 Sobre os principais processos da concepção de um software – análise, projeto, desenvolvimento, testes e manutenção –, assinale a alternativa correta. Alternativas: No processo de manutenção, o software sofre manutenção no sentido de ser validado, verificado e testado, logo após a etapa de projeto. No processo de projeto, os requisitos funcionais e não funcionais são transformados em diagramas de mais baixo nível, servindo como modelos para que possam ser desenvolvidos na próxima etapa. CORRETO No processo de análise, o software é verificado para que não sejam encontrados erros, podendo, assim, ser disponibilizado em ambiente de produção. No processo de testes, o software é testado para verificar se possui falhas que possam comprometer a sua disponibilização em posterior ambiente de produção. No processo de desenvolvimento, o software é programado, ou seja, codificado com base no documento de requisitos e resultados dos testes. Resolução comentada: o DevOps, termo que designa a união do desenvolvimento com operações, não é um arcabouço, e sim uma mudança de paradigmas culturais que torna as empresas capazes de produzir software mais rápido, sendo uma cultura da engenharia de software. Dentre seus benefícios, estão as melhorias na qualidade dos produtos de software e maior número de entregas. Ainda como benefícios, temos a melhor estabilidade nas entregas das modificações nos softwares e valor do negócio. Resolução comentada: o primeiro processo é o de análise, que fornece o documento de requisitos funcionais e não funcionais ao processo de projeto, que, após criar diagramas de mais baixo nível, os repassa para a equipe de desenvolvedores no processo de desenvolvimento. O software, após ser desenvolvido, passa para o processo de testes, em que é verificado, validado e testado, podendo, então, ser disponibilizado 3) 4) Código da questão: 58341 Os modelos de processo de software definem a sequência e como as diferentes etapas de implementação podem ser organizadas. Estas etapas, por sua vez, podem ser utilizadas no contexto de metodologias ágeis, DevOps e outras. Considerando os modelos de processo de software, assinale a alternativa correta. Alternativas: No modelo baseado em componentes, a prática de reúso é realizada por meio da utilização de componentes já desenvolvidos, reduzindo o tempo de implementação e finalização do produto. CORRETO No modelo incremental, somente quando todos os requisitos não funcionais tiverem sido implementados no produto de software, o produto final será implantado em ambiente de produção. No modelo em cascata, as etapas são executadas fora de ordem. No modelo incremental, também chamado revolucionário, várias versões são desenvolvidas até que o produto de software esteja concluído. No modelo em cascata, o processo de desenvolvimento se concentra principalmente na integração de componentes, gerando um produto final. Código da questão: 58362 As soluções de software abrangem diferentes tecnologias, dentre elas a internet e os dispositivos móveis, além dos computadores de mesa. Cada uma dessas tecnologias apresenta especificidades e, deste modo, características únicas. Sobre os sistemas emergentes, especialmente aplicativos móveis e aplicações web, assinale a alternativa correta. Alternativas: Um aplicativo móvel utiliza a internet para executar tarefas, o que possibilita atender vários usuários ao mesmo tempo. Aplicativos móveis são mais lentos que as aplicações web. Um aplicativo móvel é um pacote que executa uma tarefa específica para um usuário final, já uma aplicação web pode ser projetada para atender vários usuários por meio da internet. CORRETO Tanto aplicações web quanto aplicativos móveis são multiusuários, independente de se conectarem ou não com a internet. Uma aplicação web pode ser instalada nos computadores, não necessitando do navegador ou de acesso à internet para ser utilizada. em ambiente de produção, e ainda, seguir ou não para manutenções que possam corrigir falhas não identificadas no processo de testes ou levar a modificações para atender a novas demandas dos clientes. Resolução comentada: no modelo em cascata, as etapas são executadas ordenadamente, não concentrando o processo de desenvolvimento em componentes. Já o modelo incremental é também conhecido como evolucionário, gerando várias versões do produto, até que este esteja concluído. É neste modelo que, somente quando todos os requisitos (funcionais e não funcionais) tiverem sido implementados, que o software poderá ser implantado em ambiente de produção. Finalmente, o modelo baseado em componentes objetiva o reúso de componentes já desenvolvidos, o que reduz o tempo de finalização. Resolução comentada: tanto aplicativos móveis quanto aplicações web podem utilizar a internet para executar suas tarefas. Contudo, apenas as aplicações web são multiusuários, ou seja, suportam vários usuários, podendo ser acessadas sem a necessidade de instalação, por meio dos navegadores, ou por meio de instaladores e, em ambos os casos, a 5) 6) Código da questão: 58342 Sobre os diagramas da Linguagem de Modelagem Unificada, desenvolvidos e adotados nas diferentes etapas de implementação de software com apoio do engenheiro de software, considere as seguintes afirmações e classifique-as em verdadeiras (V) ou falsas (F): ( ) O diagrama de casos de uso é utilizado na etapa de análise, identificando os atores (usuários) e as funcionalidades que o sistema possuirá. ( ) O diagrama de classes apresenta as classes, os atributos e métodos que serão desenvolvidos na etapa de desenvolvimento, sendo modelado na fase de projeto. ( ) O diagrama de sequência apresenta a sequência lógica das interações entre as classes por meio da troca de serviços. ( ) O diagrama de componentes apresenta os diferentes elementos que interagem entre si, compondo o produto de software. Em especial, apresenta o relacionamento e a disponibilização de suas interfaces. ( ) Os diagramas da UML não são complementares uns aos outros. Assim, o diagrama de caso de uso, por exemplo, pode ser adotado na fase de desenvolvimento sem qualquer dificuldade. Assinale a alternativa que contenha a sequência correta: Alternativas: V – F – V – V – F. V – V – F – V – F. CORRETO V – F – F – V – F. F – V – F – V – F. V – V – F – F – V. Código da questão: 58344 A engenharia de software é estabelecida sobre quatro pilares: ________ abrange software e aplicações que apoiam os métodos e processos, facilitando a condução das atividades; os métodos referem-se à formalização das atividades e tarefas que englobam cada ________; processo refere-se à sistematização dos ___________ para que o software atenda ao fim para o qual foi criado; e _____________,que é obtida por meio da união dos esforços humanos com ferramentas, métodos e processos. É a qualidade que define um bom ____________. Assinale a alternativa que completa adequadamente as lacunas: Alternativas: Ferramentas; software; processos; qualidade; método. Ferramentas; qualidade; métodos; qualidade; hardware. Processos; ferramenta; métodos; qualidade; hardware. Ferramentas; processo; métodos; qualidade; software. CORRETO Sistemas; processo; métodos; qualidade; hardware. conexão com a internet é imprescindível, já que são aplicações web, remetendo à dependência indissociável com a conexão à rede mundial de computadores. Por outro lado, os aplicativos móveis são utilizados por usuários finais, mas, considerando que um dispositivo móvel é pessoal, o uso de tais aplicativos é realizado por um único usuário. Resolução comentada: os diagramas da UML são complementares uns aos outros e, de acordo com seus níveis de detalhe, não podem ser utilizados em fases mais avançadas na implementação, como é o caso do diagrama de casos de uso que é utilizado na etapa de análise. Já os diagramas de classes, de sequência e componentes são modelados na etapa de projeto e utilizados também no desenvolvimento, já que cada um deles apresenta detalhes que apoiam a implementação. O diagrama de casos de uso apresenta detalhes das classes, seus atributos e métodos; o de sequência apresenta a sequência das interações dos objetos instanciados das classes e a troca de mensagens entre tais objetos; e o diagrama de componentes apresenta os elementos e o relacionamento destes por meio de suas interfaces. 7) 8) 9) Código da questão: 58336 O termo ____________ remete ao conceito com que ____________ emergentes, também conhecidas como startups, definem seus ______________ e atividades. Devido ao número reduzido de recursos ______________ e ______________, estas empresas optam por enxugar, ou seja, reduzir os processos para que possam atendê-los com sucesso. Assinale a alternativa que completa adequadamente as lacunas: Alternativas: Enxuto; indústrias; projetos; financeiros; culturais. Enxuto; empresas; processos; humanos; financeiros. CORRETO Enxuto; empresas; processos; humanos; de hardware. Enxuto; indústrias; projetos; culturais; de hardware. Enxuto; indústrias; projetos; culturais; financeiros. Código da questão: 58357 O DevOps é uma mudança cultural para integração de áreas de desenvolvimento e operações. Nesta perspectiva, assinale a alternativa correta que apresenta os pilares desta prática. Alternativas: Compartilhamento, medição, cultura, autoconhecimento e fluxo. Feedback, colaboração, ferramentas, processos enxutos e métricas. Compartilhamento, medição, cultura, automação e robustez. Compartilhamento, medição, cultura, pipelines e feedback. Compartilhamento, medição, cultura, automação e fluxo. CORRETO Código da questão: 58361 A engenharia de software apoia a implementação dos mais diferentes produtos. Este apoio ocorre utilizando recursos específicos, como métodos, processos e ferramentas. Sobre os tipos de sistemas apoiados e recursos utilizados, leia e associe as duas colunas: Resolução comentada: As ferramentas abrangem software e aplicações que apoiam os métodos e processos, e são os métodos que englobam cada processo, e estes sistematizam os métodos de modo a definir um bom software. Resolução comentada: o termo enxuto, do termo em inglês lean, remete ao conceito com que empresas emergentes, também conhecidas como startups, definem seus processos e suas atividades. Devido ao número reduzido de recursos humanos, ou seja, de seus colaboradores, e financeiros, estas empresas optam por reduzir os processos para que possam atendê-los com sucesso. Resolução comentada: o DevOps se baseia em cinco pilares, sendo estes: cultura, que preza pela colaboração dos times; automação, que se baseia em ferramentas e pipelines; medição, que integra métricas e monitoramento das entregas, qualidade e cronograma; fluxo, que refere-se à identificação do interesse que gera valor dos clientes; e compartilhamento, que refere-se a difusão das experiências, dificuldades, abordagens e responsabilidades entre os integrantes do projeto. 10) Assinale a alternativa que traz a associação correta entre as duas colunas: Alternativas: I – A; II – B;III – C. I – A; II – C;III – B. I – C; II – A;III – C. I – B; II – A;III – C. CORRETO I – B; II – C;III – A. Código da questão: 58338 A metodologia ágil vem ao encontro da necessidade de dinamizar o processo de desenvolvimento, das etapas de implementação de um software no contexto da engenharia de software. Considerando os quatro pilares que norteiam os métodos ágeis, assinale a alternativa correta. Alternativas: É considerado um dos pilares da metodologia ágil seguir um plano mais do que responder a mudanças. Dá-se maior atenção aos indivíduos e interações mais que a processos e ferramentas. CORRETO É considerado um dos pilares a negociação de contratos mais que a colaboração com o cliente. É considerado um dos pilares a colaboração com o cliente mais que responder a mudanças. O pilar mais importante é o que indica que é fundamental ter um software em testes mais que documentação abrangente. Código da questão: 58355 Resolução comentada: os sistemas emergentes apoiam diferentes domínios e são desenvolvidos considerando tecnologias web, móvel ou híbrida. Já as ferramentas CASE apoiam as diferentes atividades da engenharia de software. Finalmente, a UML apoia os processos de implementação de software, por meio de diferentes diagramas. Resolução comentada: os quatro pilares que embasam a metodologia ágil são indivíduos e interações mais que processos e ferramentas, software em funcionamento mais que documentação abrangente, colaboração com o cliente mais que negociação de contratos e responder a mudanças mais que seguir um plano. Logo, não há um pilar que preconiza colaboração com o cliente mais que responder a mudanças, que indica que é fundamental ter um software em testes mais que documentação abrangente, que valoriza mais a negociação de contratos, que a colaboração com o cliente e que indica seguir um plano mais do que responder a mudanças. Arquivos e Links
Compartilhar