Buscar

Evolução dos softwares aplicação da Engenharia de Software em sistemas emergentes DevOps

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 6 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 6 páginas

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

Continue navegando