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! A engenharia de software surgiu como uma disciplina da área da tecnologia da informação para suprir as necessidades das indústrias de software que não conseguiam desenvolver soluções de qualidade, mediante o aumento de complexidade no desenvolvimento de tais soluções, a acompanhar a evolução do hardware. Sobre a engenharia de software, assinale a alternativa correta. Alternativas: Apesar de importante, as abordagens ad hoc são mais efetivas do que as abordagens da engenharia de software nas etapas de concepção de software. Os quatro pilares da engenharia de software são: análise, projeto desenvolvimento e testes A engenharia de software objetiva atender a todos os aspectos de desenvolvimento de sistemas computacionais. A engenharia de software se preocupa com todos os aspectos da produção de um software, com objetivo de se obter uma solução de qualidade e bem-sucedido. CORRETO A engenharia de software não se preocupa com a aplicação de tecnologias e práticas de gerência de projetos, economia, ética e outras áreas. Código da questão: 58340 Um jogo digital é uma atividade voluntária, com ou sem interesse material, com propósitos sérios ou não, sendo composta por regras e objetivos bem definidos, que são capazes de engajar os jogadores na resolução de algum conflito, variando e quantificando resultados, sendo gerenciada por um software e executada em hardware. Sobre a implementação de jogos digitais, assinale a alternativa correta. Alternativas: A complexidade no desenvolvimento de jogos digitais é, em sua maioria, a mesma do desenvolvimento de software convencional. Os padrões dificultam o desenvolvimento de jogos digitais, já que definem especificações que resultam em aumento da complexidade. Jogos digitais não passam pela etapa de testes. Um jogo digital não sofrerá manutenção após a sua finalização. Jogos digitais envolvem diferentes equipes de desenvolvimento, visto que integram vários artefatos que compõem o produto final. CORRETO Código da questão: 58349 Resolução comentada: A engenharia de software, ao contrário da engenharia de sistemas, que se preocupa tanto com software e hardware, tem seu foco somente em software, aplicando e desenvolvendo métodos que possam ser adotados nas cinco principais etapas de concepção de software: análise, projeto, desenvolvimento, teste e manutenção. Seu objetivo é obter um software de qualidade e bem-sucedido, ou seja, que atenda a todas as demandas das partes envolvidas. Resolução comentada: a complexidade no desenvolvimento de jogos digitais é, em sua maioria, maior que o desenvolvimento de software convencional, pois envolvem diferentes equipes que integram variados artefatos. Para reduzir a complexidade, o uso de padrões facilita o desenvolvimento destes jogos, que, como todos os softwares, passam pela etapa de testes e podem sofrer manutenções após a finalização. 3) 4) 5) O termo_____________, historicamente, esteve limitado aos___________ de console e às máquinas de fliperama. Já́ as tecnologias____________ são baseadas na microinformática, o que engloba jogos para__________________, consoles, fliperamas, smartphones, tablets e qualquer outro equipamento que venha a existir. Nessa perspectiva, esse termo dá maior amplitude ao objeto, por vincular toda e qualquer produção ofertada no formato de jogo, seja este de vídeo ou em outros que vierem a ser criados. Assinale a alternativa que completa adequadamente as lacunas: Alternativas: Microinformática; jogos; smartphones; computadores. Videogame; jogos; digitais; computadores. CORRETO Videogame; computadores; digitais; jogos. Jogos; videogames; digitais; computadores. Computadores; videogame; jogos; digitais. Código da questão: 58350 Dentre as metodologias para gerenciamento de equipes de desenvolvimento, destaca-se a metodologia ágil Scrum. Sobre esta metodologia, considere as seguintes afirmações: ( ) O Scrum provê uma alteração de foco no contexto do gerenciamento de equipes. ( ) A relação entre as partes, tanto entre membros internos do projeto quanto com os stakeholders (partes envolvidas), é primada. ( ) Sprint é o período de uma a quatro semanas em que ocorrem o desenvolvimento e testes dos artefatos. ( ) Ao final da Sprint, é realizada uma reunião que valida o artefato desenvolvido. Se aprovado, segue-se para a seleção de novas histórias do Sprint Backlog ou, se reprovado, retorna para o Product Backlog. ( ) Durante todos os dias da Sprint, reuniões rápidas são realizadas para identificar como se encontram as atividades que cada membro da equipe assumiu e se há dificuldades que precisam ser resolvidas, estas reuniões são chamadas daily meeting. Assinale a alternativa que contenha a sequência correta: Alternativas: V – F – F – V – V. V – F – F – V – F. V – V – F – V – F. F – V – F – V – F. V – V – V – F – V. CORRETO Código da questão: 58351 Um modelo de processo de software ajuda a definir a ordem e como serão realizadas as diferentes etapas para a implementação de um software. Sobre os modelos de processo de software, considere as seguintes afirmações: Resolução comentada: o termo videogame, historicamente, esteve limitado aos jogos de console e às máquinas de fliperama. Já as tecnologias digitais são baseadas na microinformática, o que engloba jogos para computadores, consoles, fliperamas, smartphones, tablets e qualquer outro equipamento que venha a existir. Resolução comentada: é verdade que o Scrum provê uma alteração de foco no contexto do gerenciamento de equipes, que as relação entre as partes, tanto entre membros internos do projeto quanto com os stakeholders (partes envolvidas), é primada e que a Sprint é o período de uma a quatro semanas em que ocorrem o desenvolvimento e testes dos artefatos. Ao final da Sprint, é realizada uma reunião que valida o artefato desenvolvido. Se aprovado, segue-se para a seleção de novas histórias do Product Backlog e não do Sprint Backlog, que refere-se às histórias que foram extraídas do Product Backlog e separadas para o desenvolvimento. Finalmente, é verídico que, durante todos os dias da Sprint, reuniões rápidas são realizadas para identificar como se encontram as atividades que cada membro da equipe assumiu e se há dificuldades que precisam ser resolvidas, estas reuniões são chamadas daily meeting. 6) ( ) Ao longo da evolução de hardware e software, diferentes modelos de processos foram criados. ( ) Também chamado de ciclo de vida clássica, neste modelo, as etapas são separadas e dependentes, deste modo, a etapa seguinte não pode ser iniciada até que a anterior esteja finalizada. ( ) Um processo iterativo ocorre por meio de tentativas sucessivas de refinamento, já o processo incremental é aquele em que o software é construído e entregue em partes menores. ( ) Uma das grandes limitações do modelo orientado a reúso é que, devido às funcionalidades terem sido desenvolvidas previamente, há a necessidade de adaptar os requisitos, uma vez que a modificação dos componentes levaria a esforços maiores do que se fossem desenvolvidos do zero. ( ) O uso do modelo incremental é indicado quando os requisitos estão bem definidos e compreendidos e não serão modificados radicalmente no decorrer da execução das etapas. Assinale a alternativa que contenha a sequência correta: Alternativas: F – V – V – F – F. V – F – F – F – V. V – V – V – V – F. CORRETO V – F – F – V – V. F – V – F – F – F. Código da questão: 58358 Sobre os diagramas da Linguagem de ModelagemUnificada, 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 – F – V – F. F – V – F – V – F. V – F – V – V – F. V – V – F – V – F. CORRETO V – V – F – F – V. Resolução comentada: é verdadeiro que modelos de processos foram criados devido à evolução de hardware e software, bem como que, no modelo chamado de ciclo de vida clássica, as etapas são separadas e dependentes, deste modo, a etapa seguinte não pode ser iniciada até que a anterior esteja finalizada. É verdade também que um processo iterativo ocorre por meio de tentativas sucessivas de refinamento, já o incremental é aquele em que o software é construído e entregue em partes menores; e uma das grandes limitações do modelo orientado a reúso é que, devido às funcionalidades terem sido desenvolvidas previamente, há a necessidade de adaptar os requisitos, uma vez que a modificação dos componentes levaria a esforços maiores do que se fossem desenvolvidos do zero. Finalmente, é falso que o uso do modelo incremental é indicado quando os requisitos estão bem definidos e compreendidos e não serão modificados radicalmente no decorrer da execução das etapas. O modelo indicado nesta situação é o modelo em cascata. 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 7) 8) Código da questão: 58344 O termo engenharia de software foi cunhado pela primeira vez em 1968, durante a crise do software. Sobre os motivos que levaram à criação e ao uso da engenharia de software em tal período, assinale a alternativa correta. Alternativas: A engenharia de software surge como meio de reduzir a complexidade no desenvolvimento de software, que, com o surgimento de novos componentes de hardware, resultou no aumento da complexidade de tais soluções. CORRETO A engenharia de software surge como meio de formalizar a profissão de engenheiro na área de construção de produtos de hardware. A engenharia de sistemas surge como meio de reduzir a complexidade no desenvolvimento de software, que, com o surgimento de novos componentes de hardware, resultou no aumento da complexidade dos softwares. A engenharia de software surge como meio de reduzir a complexidade no desenvolvimento de hardware, que, com o surgimento de novos componentes de software, resultou no aumento da sua complexidade. A engenharia de software surge como meio de formalizar a profissão de engenheiro na área de construção de produtos de software. Código da questão: 58335 O DevOps integra duas áreas fundamentais no processo de concepção de software. Sobre o DevOps, assinale a alternativa correta. Alternativas: 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. DevOps tem como benefícios a melhoria na qualidade dos produtos de software e menor número de entregas, porém com maior qualidade. O DevOps é um arcabouço que integra e automatiza práticas e ferramentas que tornam as empresas mais competitivas no mercado. 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 Código da questão: 58356 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. Resolução comentada: A engenharia de software não tem como objetivo formalizar a profissão de engenheiro de software. Ela surge como meio de reduzir os problemas da crise de software. Os produtos desenvolvidos já não tinham mais a qualidade esperada, dificultando o acompanhamento da evolução do hardware. Para reduzir a complexidade e garantir melhoria na qualidade de tais software, a engenharia de software busca concentrar métodos e definir processos para a implementação com qualidade de produtos. 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. 9) 10) Os pilares do DevOps são os que garantem o sucesso de sua adoção nas empresas de software. Considerando tais pilares, leia e associe as duas colunas: Assinale a alternativa que traz a associação correta entre as duas colunas: Alternativas: I – B, II – A, III – C. I – A, II – C, III – B. I – C, II – A, III – B. CORRETO I – A, II – B, III – C. I – B, II – C, III – A. Código da questão: 58359 Boas ferramentas e recursos digitais (sites) para a criação de jogos digitais auxiliam na redução de custos e esforços na concepção de tais softwares. Sobre ferramentas e sites adotados no desenvolvimento de jogos digitais, leia e associe as duas colunas: Assinale a alternativa que traz a associação correta entre as duas colunas: Alternativas: I – C; II – B; III – A. I – B; II – A; III – C. CORRETO I – A; II – B; III – C. I – C; II – A; III – B. I – B; II – C; III – A. Resolução comentada: nos pilares da cultura e mensuração, preza-se pelo estabelecimento de interações que aproximem os times da área de desenvolvimento e operações; e tanto estes quanto as atividades realizadas por eles são medidas com o uso de diferentes métricas, respectivamente. Já nos pilares de automação e fluxo, preza-se, respectivamente, pela redução de trabalhos manuais, e busca-se entender o valor dos negócios do cliente para que possa ser direcionado o fluxo para se atingir tal valor. Finalmente, no pilar do compartilhamento, os erros e acertos do time podem ajudar a propor melhorias, assim, as suas responsabilidades e ações devem ser compartilhadas. Resolução comentada: Blender é uma ferramenta de modelagem de elementos gráficos 3-D. Os modelos nele criados são importados no Unity, que é a ferramenta em que o jogo será programado. As texturas aplicadas tanto nos modelos 3-D quanto nos cenários são criadas no Gimp, um editor de imagens de código aberto e gratuito. Código da questão: 58352 Arquivos e Links