Buscar

Engenharia de Software - Evolução dos Softwares - Aplicação da Engenharia de Software em Sistemas Emergentes - Professor Anderson da Silva Marcolino

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 5 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

Prévia do material em texto

1/5
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 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:
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.
É 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.
Código da questão: 58348
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 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 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
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.
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.
2/5
3)
4)
5)
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 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 objetiva atender a todos os aspectos de desenvolvimento de sistemas computacionais.
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 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
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 – V – V – F – V.  CORRETO
V – F – F – V – F.
V – V – F – V – F.
V – F – F – V – V.
F – V – F – V – F.
Código da questão: 58351
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
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:
é 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), é primadae 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.
3/5
6)
7)
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:
I – III – IV.
I – IV – V.
III – V.
II – III – IV.
I – II – IV.  CORRETO
Código da questão: 58346
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, o processo de desenvolvimento se concentra principalmente na integração de componentes, gerando um produto
final.
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, as etapas são executadas fora de ordem.
Código da questão: 58362
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:
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.
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.
4/5
8)
9)
Assinale a alternativa que traz a associação correta entre as duas colunas:
Alternativas:
I – C; II – B; III – A.
I – A; II – B; III – C.
I – B; II – A; III – C.  CORRETO
I – B; II – C; III – A.
I – C; II – A; III – B.
Código da questão: 58352
As plataformas móveis ou os sistemas operacionais móveis especificam o tipo de 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:
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.
I – C; II – A; III – B.
Código da questão: 58345
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:
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.
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.
5/5
10)
O pilar mais importante é o que indica que é fundamental ter um software em testes mais que documentação abrangente.
É 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.
Código da questão: 58355
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:
Jogos digitais envolvem diferentes equipes de desenvolvimento, visto que integram vários artefatos que compõem o produto final. 
CORRETO
Jogos digitais não passam pela etapa de testes.
Os padrões dificultam o desenvolvimento de jogos digitais, já que definem especificações que resultam em aumento da complexidade.
Um jogo digital não sofrerá manutenção após a sua finalização.
A complexidade no desenvolvimento de jogos digitais é, em sua maioria, a mesma do desenvolvimento de software convencional.
Código da questão: 58349
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 amudanç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.
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.

Continue navegando