Buscar

prova_de_Evolução dos softwares_aplicação da Engenharia de Software em sistemas emergentes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 11 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 11 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 11 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Evolução dos softwares: aplicação da Engenharia de Software em sistemas emergentes
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!
Parte superior do formulário
1)
O DevOps integra duas áreas fundamentais no processo de concepção de software. Sobre o DevOps, assinale a alternativa correta.
Alternativas:
· 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). (correta)
· São ainda benefícios do DevOps a melhor estabilidade nas entregas dos componentes nos softwares e valor do negócio.
· O DevOps é um arcabouço que integra e automatiza práticas e ferramentas que tornam as empresas mais competitivas no mercado.
· DevOps é uma cultura da engenharia de hardware.
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.
Código da questão: 58356
2)
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 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 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. (correta)
· 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 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 desenvolvimento, o software é programado, ou seja, codificado com base no documento de requisitos e resultados dos testes.
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.
Código da questão: 58341
3)
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 – B; II – A; III – C. (correta)
· I – B; II – C; III – A.
· I – C; II – A; III – B.
· I – A; II – B; III – C.
· I – C; II – B; III – A.
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
4)
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:
· II – III – V.
· I – II – III.
· I – II – IV.
· II – V – IV.
· I – III – IV. (correta)
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.
Código da questão: 58353
5)
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.
( ) 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 – F – V.
· V – V – V – V – F. (correta)
· F – V – F – F – F.
· V – F – F – V – V.
· F – V – V – F – F.
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 radicalmenteno decorrer da execução das etapas. O modelo indicado nesta situação é o modelo em cascata.
Código da questão: 58358
6)
Sobre os principais processos definidos e apoiados pela engenharia de software na implementação de produtos de software, considere as seguintes afirmações e classifique-as em verdadeiras (V) ou falsas (F):
( ) O processo de desenvolvimento abrange as atividades de programação do produto de software, considerando o projeto arquitetural.
( ) O processo de análise é apoiado por métodos como o de prototipação e diagramas da UML, para o levantamento de requisitos.
( ) O processo de projeto define, considerando diagramas da UML e abordagens e métodos da engenharia de sistemas, a arquitetura do software a ser desenvolvido.
( ) No processo de manutenção, são identificadas novas demandas para a evolução do software ou até mesmo identificação de problemas a serem corrigidos.
( ) No processo de testes, os requisitos são testados para, posteriormente, seguirem para o desenvolvimento.
Assinale a alternativa que contenha a sequência correta:
Alternativas:
· F – V – V – F – F.
· V – F – F – V – F.
· V – F – F – F – V.
· V – V – F – V – F. (correta)
· F – V – V – F – V.
Resolução comentada:
o processo de projeto, tal como os demais, utiliza abordagens e métodos da engenharia de software. No contexto do processo de testes, não são os requisitos que são testados, mas sim o que foi desenvolvido no processo de desenvolvimento, seguindo então para correções no processo anterior, ou seguindo para implantação/instalação em ambiente de produção.
Código da questão: 58337
7)
No contexto de DevOps existem diversas ferramentas que apoiam a automatização de atividades. Sobre elas e os processos no DevOps, podemos afirmar que:
I. Na implantação, o produto será disponibilizado para o cliente. Este processo é apoiado por serviços como o da Amazon Web Service e o Heroku.
II. Na operação, prima-se pela estabilidade e pelo funcionamento do software em ambiente de produção. Dentre as ferramentas que apoiam este processo, temos a Zabbix.
III. No feedback contínuo, temos a retroalimentação ou resposta às diferentes interações e responsabilidades das equipes e dos envolvidos. Dentre as ferramentas que apoiam tal processo, temos o Git e Docker.
IV. No planejamento, ferramentas como o Google Drive e Astah auxiliam a criar os artefatos que servirão para a construção.
V. Na integração contínua, busca-se integrar a equipe de compras com a equipe de marketing e são apoiadas por ferramentas como Jenkins e Travis CI.
São verdadeiras:
Alternativas:
· II – IV – V.
· I – II – IV. (correta)
· III – IV – V.
· I – II – V.
· I – II – III.
Resolução comentada:
a afirmação I é verdadeira, pois é na implantação que o produto é colocado em ambiente de produção, podendo ser utilizado pelo cliente e sendo apoiado por serviços como o da Amazon Web Service e o Heroku; a II é verdadeira, pois é na operação que prima-se pela estabilidade e pelo funcionamento do software em ambiente de produção, sendo apoiado pela ferramenta Zabbix. A IV também é verdadeira, pois é no planejamento que documentam-se os artefatos que serão utilizados nas demais etapas, principalmente na construção. Neste processo, podem ser utilizados o Google Drive e Astah. É falso o que se afirma em III, pois as ferramentas que apoiam o feedback contínuo são Cucumber, Qmetry e Salesforce. Também é falso o que se afirma na afirmação V, sendo a integração realizada entre as equipes de desenvolvimento e operações.
Código da questão: 58360
8)
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 a negociação de contratos mais que a colaboração com o cliente.
· Dá-se maior atenção aos indivíduos e interações mais que a processos e ferramentas. (correta)
· É considerado um dos pilares da metodologia ágil seguir um plano mais do que responder a mudanças.
· É 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.
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.
Código da questão: 58355
9)
Considerando o apoio da engenharia de software nos processos de desenvolvimento e validação, podemos afirmar que:
I. Na etapa de desenvolvimento, costumam-se adotar abordagens de desenvolvimento baseados em reúso que adotam o paradigma de orientação a objetos.
II. Na etapa de desenvolvimento, o engenheiro de software auxilia na adoção de padrões que garantirão melhor qualidade ao código que será escrito nesta etapa.
III. Na etapa de testes, podem-se adotar técnicas diversas provenientes de dois grandes grupos de técnicas: as estruturais, ou de caixa-preta e as funcionais, ou caixa-branca.
IV. As técnicas de testes auxiliam na identificação de falhas de software e erros causados, geralmente, pelo programador. Neste sentido, o uso de técnicas de caixa-branca ou estruturais são mais indicadas, pois permitirá testes diretamente no código-fonte do produto de software.
V. Técnicas de caixa-preta não podem ser executadas pelos usuários do produto de software, uma vez que necessitam de conhecimento técnico (programação) para que possam ser executados.
São verdadeiras:
Alternativas:
· III – V.
· II – III – IV.
· I – III – IV.
· I – II – IV. (correta)
· I – IV – V.
Resolução comentada:
a afirmação III é falsa, pois as técnicas de caixa-preta são conhecidas como técnicas funcionais; já as técnicas de caixa-branca são conhecidas como estruturais. Nestas últimas, testa-se o código programado, necessitando, assim, de mais conhecimento técnico (programação), o que comprova a veracidade da afirmação IV. Já nas técnicas de caixa-preta, o software é testado em termos de funcionalidades dos usuários, não necessitando de conhecimento técnico de programação, mas sim operacional. Logo, isso possibilita que usuários do produto possam executar testes de caixa-preta, indicando que a afirmação V é falsa. Quanto à afirmação I, esta é verdadeira, pois, dentre as diferentes abordagens de desenvolvimento, as de reúso são as mais adotadas, sendo estas, consequentemente, implementadas considerando o paradigma orientado a objetos. Tanto a aplicação de tais abordagens quanto o auxílio ao desenvolvedor na adoção de padrões para garantir melhor qualidade ao código e, ao final, no produto de software como um todo é responsabilidade do engenheiro de software. Logo, a alternativa II também é verdadeira.
Código da questão: 58346
10)
Sobre a engenharia de software, podemos afirmar que:
I. Provê apoio ao desenvolvimento de software ou sistemas de computação, por meio de métodos de especificação, desenvolvimento e manutenção de software.
II. Os métodos, no contexto dos pilares da engenharia de software permitem a informatização das atividades e tarefas, por meio do apoio de ferramentas de software.
III. O engenheiro de software é o profissional que busca elencar as necessidades dos stakeholders.
IV. Um diagrama de nível de abstração baixo possui mais detalhes que um diagrama com nível de abstração alto.
V. Na etapa de análise, costuma-se utilizar o diagrama de casos de uso. Este diagrama tem o propósito de auxiliar o analista e sua equipe na descoberta de requisitos e noalinhamento mais preciso das necessidades dos stakeholders.
São verdadeiras:
Alternativas:
· I – IV – V. (correta)
· II – IV – V.
· I – II – IV.
· I – III – V.
· II – III – V.
Resolução comentada:
a afirmação I é verdadeira pois a engenharia de software apoia o desenvolvimento de software ou sistemas de computação, considerando diferentes métodos de especificação, desenvolvimento e manutenção de software; a IV é correta, pois um diagrama com maior nível de detalhamento, ou seja, com nível de abstração mais baixo, representa um maior número de detalhes, enquanto que um diagrama com nível de abstração alto apresenta uma quantidade menor de detalhes; e a questão V está correta, pois é na etapa de análise que utiliza-se o diagrama de casos de uso para facilitar a comunicação e o alinhamento dos requisitos com os stakeholders. A afirmação II é incorreta, pois os métodos, no contexto dos pilares da engenharia de software, referem-se à formalização das atividades e tarefas que englobam cada processo. Finalmente, a afirmação III é incorreta, pois é o analista que busca elencar as necessidades dos stakeholders.
Parte inferior do formulário

Continue navegando