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! 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 – F – V – F. F – V – F – V – F. V – V – F – F – V. V – V – F – V – F. CORRETO V – F – V – V – F. Código da questão: 58344 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 desenvolvimento, o software é programado, ou seja, codificado com base no documento de requisitos e resultados dos testes. 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 manutenção, o software sofre manutenção no sentido de ser validado, verificado e testado, logo após a etapa de projeto. 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. 3) 4) 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 análise, o software é verificado para que não sejam encontrados erros, podendo, assim, ser disponibilizado em ambiente de produção. Código da questão: 58341 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, automação e fluxo. CORRETO Compartilhamento, medição, cultura, pipelines e feedback. Compartilhamento, medição, cultura, autoconhecimento e fluxo. Compartilhamento, medição, cultura, automação e robustez. Feedback, colaboração, ferramentas, processos enxutos e métricas. Código da questão: 58361 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: Videogame; jogos; digitais; computadores. CORRETO Videogame; computadores; digitais; jogos. Microinformática; jogos; smartphones; computadores. Jogos; videogames; digitais; computadores. Computadores; videogame; jogos; digitais. 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 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: 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. 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. 5) 6) Código da questão: 58350 O design pattern intitulado Modelo Visão e Controle (MVC), do inglês model, view, controller, é um padrão que auxilia na divisão do código dos componentes em unidades menores, chamadas entidades. Esta estrutura propicia a criação de código estruturado e sua simplificação, já que, por meio de conceitos da orientação a objetos, utilizam-se as classes, métodos e atributos para centralizar e manter a responsabilidade sobre cada elemento. O modelo corresponde à estrutura de dados; a visão, por sua vez, apresenta as interfaces e o controle, a lógica de negócio. Sobre o uso de padrões no contexto da engenharia de software aplicada no desenvolvimento de aplicações web, assinale a alternativa correta: Alternativas: É responsabilidade do analista somente a identificação e definição dos padrões arquiteturais e de desenvolvimento que serão adotados. Os padrões de projeto, ou design pattern, apesar de favorecerem a criação de produtos de software com maior qualidade, acabam por dificultar o desenvolvimento, já que cada membro da equipe de desenvolvimento pode adotar um padrão diferente. Os padrões de projeto, ou design pattern, só podem ser aplicados se os stakeholders possuírem domínio sobre o padrão a ser adotado. Os padrões de projeto, ou design pattern ,permitem a criação de código mais limpo e organizado, favorecendo a comunicação entre os membros da equipe e, ao final, facilitam a manutenção. CORRETO Os padrões de projeto, ou design pattern, permitem padronizar o processo de desenvolvimento, contudo, acabam ampliando a complexidade de desenvolvimento. Código da questão: 58348 As plataformas móveis ou os sistemas operacionais móveis especificam o tipode tecnologia que será adotada para o desenvolvimento de aplicativos móveis nativos ou que pacotes devem ser integrados no desenvolvimento de aplicativos não nativos ou genéricos. Sobre aplicativos móveis e as plataformas móveis, leia e associe as duas colunas: Assinale a alternativa que traz a associação correta entre as duas colunas: Alternativas: Resolução comentada: os padrões de projeto, ou design pattern, são adotados para facilitar a comunicação dos membros das equipes, garantindo a padronização do código e sua organização. Apesar de mais de um poder ser adotado, já que existem padrões arquiteturais, de desenvolvimento, entre outros, a escolha ocorre de acordo com todos os membros da equipe, visto que, ao selecionar muitos padrões, esta adoção resultaria em aumento da complexidade e dificuldades de comunicação. Ao final, a aplicação dos padrões também facilita a manutenção, já que um código organizado permitirá a identificação e modificação de modo mais fácil. 7) 8) I – C; II – A; III – B. I – C; II – B; III – A. I – B; II – A; III – C. CORRETO I – A; II – B; III – C. I – B; II – C; III – A. Código da questão: 58345 Sobre o apoio da engenharia de software no desenvolvimento de jogos digitais (games): I. Os diagramas da UML são adotados como artefatos a complementar o documento de desenho do jogo. II. Scrum é indicado para o gerenciamento de equipes das etapas de projeto e análise. III. Há diversas etapas de desenvolvimento e testes sendo executadas em paralelo, devido à caracterização dos jogos digitais e seus elementos. IV. Padrões são adotados no contexto do desenvolvimento dos diferentes artefatos, podendo ser diferentes para cada natureza de artefato a ser desenvolvido. V. A interação com softwares de terceiros refere-se à integração de diferentes jogos desenvolvidos por estúdios diversos. São verdadeiras: Alternativas: I – II – III. I – III – IV. CORRETO II – V – IV. I – II – IV. II – III – V. Código da questão: 58353 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: ( ) 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. Resolução comentada: Android e iOS são plataformas móveis ou sistemas operacionais móveis. Os seus fabricantes disponibilizam kits de desenvolvimento com bibliotecas e linguagens de programação específicas para a criação dos chamados aplicativos nativos, ou seja, que são desenvolvidos única e exclusivamente utilizando tais tecnologias. Logo, os chamados aplicativos genéricos, não nativos, são implementados considerando apenas as bibliotecas, ou seja, um pacote com funcionalidades específicas, da respectiva plataforma em que deverá ser instalado e executado. Resolução comentada: a afirmação I é verdadeira, pois os diagramas da UML enriquecem o projeto do jogo digital, facilitando a sua concepção, assim como a afirmação III, visto que o desenvolvimento de jogos envolve o desenvolvimento e teste de diferentes artefatos em equipes variadas. E também é verdadeira a afirmação IV, visto que vários padrões podem ser adotados nas equipes de desenvolvimento. A II está errada, pois o método ágil Scrum é indicado no gerenciamento de equipes de desenvolvimento, mas não se restringe apenas a estas. Está errada também a afirmação V, já que a integração com software de terceiros se refere à integração com soluções que realizam o gerenciamento de conexões em rede, software de controles de jogos, de sensores, entre outros. 9) ( ) 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: V – F – F – V – V. F – V – V – F – F. F – V – F – F – F. V – F – F – F – V. V – V – V – V – F. CORRETO Código da questão: 58358 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: A engenharia de software objetiva atender a todos os aspectos de desenvolvimento de sistemas computacionais. Os quatro pilares da engenharia de software são: análise, projeto desenvolvimento e testes 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 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. 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 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: 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. 10) 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 – A; II – B; III – C. I – C; II – B; III – A. I – C; II – A; III – B. I – B; II – C; III – A. I – B; II – A; III – C. CORRETO Código da questão: 58352 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ódigoaberto e gratuito. Arquivos e Links
Compartilhar