Buscar

Prova Database design for Apps e Engenharia de Software

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

Database Design For Apps 
Questão 1) - 0,67 ponto(s) 
 
Bancos de dados relacionais são aqueles que representam e 
armazenam os dados em tabelas e são organizados em linhas e 
colunas. Esses tipos de bancos de dados estão consolidados no 
mercado, porém nos últimos anos, os bancos de dados NoSQL 
vem conquistando espaço importante nas empresas. O motivo 
disto é o fato de eles serem projetados para armazenar, distribuir 
e acessar dados, usando métodos que diferem dos bancos de 
dados relacionais. 
 
Nesse sentido, no que diz respeito aos bancos de dados NoSQL, 
julgue as afirmativas a seguir. 
 
I. Os bancos de dados NoSQL são caracterizados por possuírem 
um esquema flexível ou, simplesmente, não possuem esquema. A 
ausência completa ou quase total do esquema que define a 
estrutura dos dados modelados, permite que eles sejam altamente 
escaláveis. 
 
II. Os bancos de dados NoSQL combinam os benefícios do modelo 
relacional com a capacidade de modelagem do modelo OO. Dessa 
forma, podem fornecer suporte para consultas complexas sobre 
dados complexos. 
 
III. Os bancos de dados NoSQL visam resolver vários problemas 
tais como de flexibilidade e do tratamento de grandes volumes de 
dados. Como exemplo desses bancos podem ser citados os 
bancos de dados baseados em documentos, em grafos e em 
chave-valor. 
 
É correto o que se afirma em 
A) 
I, II e III. 
B) 
II, apenas. 
C) 
I, apenas. 
D) 
III, apenas. 
E) 
I e III, apenas. 
Database Design For Apps 
Questão 2) - 0,67 ponto(s) 
 
Funções são muito úteis em bancos de dados. Além das funções 
internas de um SGBD, o desenvolvedor poderá implementar a sua 
própria função. Assinale a alternativa que mostra uma das 
características principais de uma função. 
A) 
Não pode ser usada juntamente com uma instrução SQL. 
B) 
Autoriza a manipulação de dados do banco de dados através de 
comandos como o UPDATE. 
C) 
Permite o tratamento de exceções. 
D) 
Tem exatamente a mesma estrutura que uma procedure. 
E) 
Sempre retorna um valor. 
Database Design For Apps 
Questão 3) - 0,67 ponto(s) 
 
Os comandos SQL utilizados para alterar a estrutura de uma tabela 
do banco de dados, para remover linhas de uma tabela com a 
possibilidade de utilização de um critério para a seleção das linhas 
que serão removidas e para remover uma tabela de um banco de 
dados são, respectivamente, 
A) 
ALTER TABLE, DELETE DROP, SELECT. 
B) 
TRUNCATE, DELETE, ERASE. 
C) 
ERASE, TRUNCATE, DELETE. 
D) 
DROP ALTER, TRUNCATE, ERASE. 
E) 
ALTER TABLE, DELETE, DROP TABLE. 
Database Design For Apps 
Questão 4) - 0,67 ponto(s) 
 
Classificado como um programa de banco de dados NoSQL, o 
MongoDB é um banco de dados de código aberto e de alta 
performance que se caracteriza por não possuir esquemas, ser 
escrito em C++, ser multiplataforma e ser formado por um 
conjunto de aplicativos JSON. 
 
Sobre o MongoDB, assinale a alternativa correta. 
A) 
O MongoDB é um banco de dados NoSQL orientado a grafos, 
semelhante ao banco de dados Neo4J. 
B) 
O MongoDB é um banco de dados NoSQL orientado a colunas, 
semelhante ao banco de dados BigTable do Google. 
C) 
O MongoDB é um banco de dados NoSQL orientado a objetos e 
possui conceitos similares ao do modelo relacional, como a 
criação de linhas e colunas. 
D) 
O MongoDB é um banco de dados NoSQL do tipo chave-valor, que 
usa uma tabela hash na qual há uma chave única e um indicador 
de um dado ou de um item em particular. 
E) 
O MongoDB é um banco de dados NoSQL orientado a documentos, 
com estruturas flexíveis que podem ser obtidas por meio de dados 
semiestruturados, como o formato XML e JSON. 
Database Design For Apps 
Questão 5) - 0,67 ponto(s) 
 
Um gatilho (trigger) pode ser disparado pelos seguintes comandos 
SQL: 
A) 
INSERT, DELETE ou UPDATE. 
B) 
UPDATE, ROLLBACK ou INSERT. 
C) 
ROLLBACK, INSERT ou TRUNCATE. 
D) 
DELETE, UPDATE ou DROP. 
E) 
TRUNCATE, CREATE ou ROLLBACK. 
Database Design For Apps 
Questão 6) - 0,67 ponto(s) 
 
Na linguagem SQL (Structured Query Language, em português, 
Linguagem de Consulta Estruturada), existe um grande conjunto 
de comandos para manter o esquema de banco de dados 
relacional e para manipular os dados armazenados nas tabelas 
dessas bases de dados. A linguagem SQL inclui comandos para 
criar uma nova tabela, excluir ou alterar a estrutura de uma tabela 
já existente, inserir, apagar ou atualizar dados de uma tabela 
criada, entre outras coisas. O comando SQL UPDATE, por exemplo, 
é utilizado para atualizar os valores armazenados nos campos de 
uma tabela. 
 
Sua sintaxe é bem simples, veja: 
 
UPDATE nome_da_tabela 
SET nome_do_campo = valor_do_campo 
WHERE <condições>; 
 
 
Suponha que você seja um aluno da disciplina Banco de Dados e 
seu professor passou um exercício valendo nota. Ele entregou uma 
base de dados relacional já implementada fisicamente. Essa base 
armazena dados de funcionários de uma empresa. Sua missão é 
utilizar a linguagem SQL para incrementar uma bonificação de 
R$1000 no salário do funcionário de matrícula 211. Nesse caso, o 
comando SQL correto para efetuar tal operação no banco de dados 
é 
A) 
UPDATE Funcionario SET salario = salario + 1000; 
B) 
UPDATE Funcionario SET salario + 1000 WHERE matricula = 211; 
C) 
UPDATE Funcionario SET salario = 1000; 
D) 
UPDATE Funcionario SET salario = 1000 WHERE matricula = 211; 
E) 
UPDATE Funcionario SET salario = salario + 1000 WHERE matricula 
= 211; 
Database Design For Apps 
Questão 7) - 0,67 ponto(s) 
 
Nos bancos de dados, existem muitas tabelas que possuem dados 
estratégicos, dados que não podem ser divulgados ou até mesmo 
dados que não podem ser acessados por usuários sem privilégio 
(permissão) de acesso a esses dados. Pensando nisso, a 
linguagem SQL evoluiu para abarcar instruções de segurança e 
delimitação de acesso a dados, o que foi chamado de linguagem 
de controle de dados ou DCL (Data Control Language). Por meio 
da linguagem DCL, é possível, então, implementar controles de 
segurança de acesso à tabela, restringindo e implementando 
privilégios de acesso a diferentes tipos de usuários de banco de 
dados. 
 
HEUSER, C. A. Projeto de banco de dados. 6. ed. Porto Alegre: 
Bookman, 2010. (Série Livros Didáticos Informática UFRGS, 4). 
 
 
A linguagem DCL compõe o SQL e se baseia na definição de 
acessos a bases de dados, ou seja, por meio do DCL, tem-se uma 
implementação de segurança no nível de acesso ao banco de 
dados com os comandos GRANT e REVOKE. Neste contexto, 
quando se tem a necessidade de alterar determinados privilégios 
em um banco de dados, o comando GRANT pode ser utilizado em 
conjunto com outras instruções SQL para 
A) 
retirar ou restringir o acesso ou operações nas bases de dados, 
tabelas, colunas, campos ou no próprio dado. 
B) 
conceder permissões de acesso ou operações nas bases de 
dados, tabelas, colunas, campos ou no próprio dado. 
C) 
ativar a criação de rotina armazenada com os níveis global e banco 
de dados. 
D) 
permitir a criação, exclusão e alteração de usuários. 
E) 
permitir que o usuário seja capaz de configurar o servidor para ler 
ou gravar arquivos. 
Database Design For Apps 
Questão 8) - 0,67 ponto(s) 
 
SQL (Structured Query Language) é a linguagem padrão utilizada 
pelos bancos de dados relacionais. É uma linguagem declarativa 
com a qual nos preocupamos apenas em informar o que queremos 
fazer com os dados, combinando um conjunto de comandos. É por 
meio dela que criamos tabelas, colunas, índices, garantimos e 
removemos privilégios a usuários e, principalmente, inserimos 
informações e consultamos os dados armazenados em tabelas. 
 
SQL. DevMedia, Rio de Janeiro, [20--]. Disponível em: 
https://www.devmedia.com.br/sql/. Acesso em: 22 mar. 2022. 
 
Considerando o texto lido, analise a situação hipotética a seguir. 
 
Anderson é analista de sistemas de uma companhia de viagens. 
Essa companhia possui um aplicativo que ajuda os clientes em 
suas viagens, mostrando pontos turísticos, guiasresponsáveis e 
os principais eventos das cidades. Contudo, o guia responsável 
pelo Estado do Rio de Janeiro, Fernando, mudou, agora a nova 
responsável é Silvana, e Anderson precisa alterar essa informação 
diretamente no banco de dados, pois o aplicativo desenvolvido não 
possui a funcionalidade para o administrador alterar o nome. 
Dessa maneira, Anderson precisa elaborar um comando SQL para 
ser executado e realizar a alteração. 
 
Com base na manipulação de dados utilizando os conceitos de 
banco de dados relacional, um possível comando SQL que 
pode ser utilizado na tabela “Guia” para alterar o nome do guia do 
estado do RJ é 
A) 
ALTER Guia 
UPDATE Nome='Silvana' 
AND Estado='RJ'; 
 
B) 
SET Guia 
UPDATE Nome='Silvana' 
WHERE Estado='RJ'; 
 
C) 
SELECT Guia 
Update Nome='Silvana' 
AND Estado='RJ'; 
 
D) 
UPDATE Guia 
SET Nome='Silvana' 
WHERE Estado='RJ'; 
 
E) 
SET Guia 
INSERT Nome='Silvana' 
WHERE Estado='RJ'; 
 
Database Design For Apps 
Questão 9) - 0,67 ponto(s) 
 
O processo de normalização na modelagem de dados é 
fundamental para reduzir o trabalho da manutenção e 
principalmente para economia do espaço armazenado pelo banco 
de dados. Veja a seguinte tabela de um banco de dados: 
 
A tabela do banco de dados acima está armazenando modelos de 
computadores com suas características e seus fabricantes. 
Percebe-se que o nome do Fabricante repete a cada modelo que é 
armazenado no banco de dados. Para evitar redundância e 
armazenamento desnecessário de informação, precisa-se, então, 
adequar esta tabela de acordo com os padrões da terceira forma 
normal no campo fabricante. 
 
Indique qual a tabela que realizou a normalização correta para a 
coluna Fabricante. 
A) 
 
B) 
 
C) 
 
D) 
 
E) 
 
Database Design For Apps 
Questão 10) - 0,67 ponto(s) 
 
Relacione as colunas relativas às propriedades desejáveis em 
transações de bancos de dados concorrentes. 
 
I. A correta execução deve levar o BD de um estado consistente 
para outro estado consistente. 
II. Unidade de processamento: toda a transação é executada ou 
nada é executado. 
III. Sempre que o BD for modificado e essas mudanças forem 
efetivadas, não podem ser perdidas por causa de falhas 
subsequentes. 
IV. As atualizações não devem ser tornadas visíveis para outras 
transações até o commit. 
 
( ) Atomicidade 
( ) Consistência 
( ) Isolamento 
( ) Durabilidade 
 
A sequência correta é a seguinte: 
A) 
II, I, IV, III 
B) 
II, I, III, IV 
C) 
I, II, III, IV 
D) 
II, III, I, IV 
E) 
III, II, I, IV 
Database Design For Apps 
Questão 11) - 0,67 ponto(s) 
 
Um Procedimento Armazenado (Stored Procedure) é um script SQL 
que 
A) 
é utilizado unicamente para apagar o histórico do banco de dados 
e realizar backup nos dados. 
B) 
se tornou obsoleto e, portanto, não pode mais ser utilizado em 
banco de dados, e sua função foi substituída por triggers. 
C) 
é armazenado na máquina do usuário e é executado diretamente 
na máquina de banco de dados. 
D) 
é utilizado para criar mecanismos de segurança em bancos de 
dados relacionais, provoca um aumento no tráfego da rede e reduz 
o desempenho do sistema. 
E) 
é gravado na base de dados e permite a realização de tarefas 
repetitivas, pode aceitar parâmetros de entrada e pode retornar um 
valor de status para indicar sucesso ou falha na sua execução. 
Database Design For Apps 
Questão 12) - 0,67 ponto(s) 
 
A empresa “X” necessita fazer o recadastramento de seus 
funcionários. Por determinação da direção, deverá ser guardado 
no banco de dados o nome do time de futebol de cada funcionário 
para que possam ocorrer sorteios de ingressos para os jogos do 
Campeonato Brasileiro de Futebol. Dessa forma, Cerqueira, 
analista de sistemas, verificou a necessidade de acréscimo de um 
campo denominado “Time” na tabela “FUNCIONARIO”. Para 
acrescentar esse campo, Cerqueira deverá executar o seguinte 
comando: 
A) 
ALTER TABLE FUNCIONARIO DROP COLUMN Time VARCHAR 
(50); 
B) 
ALTER TABLE FUNCIONARIO UPDATE COLUMN Time VARCHAR 
(50); 
C) 
ALTER TABLE FUNCIONARIO ADD COLUMN Time VARCHAR (50); 
D) 
ALTER TABLE Time ADD COLUMN FUNCIONARIO VARCHAR (50); 
E) 
ALTER TABLE Time INSERT COLUMN FUNCIONARIO VARCHAR 
(50); 
Database Design For Apps 
Questão 13) - 0,67 ponto(s) 
 
O MySQL possui um mecanismo que permite limitar o acesso de 
um usuário a apenas um banco, tabela ou coluna, além de poder 
controlá-lo de acordo com o host, a partir de onde está sendo feita 
a conexão com o servidor. Pode-se ainda conceder privilégios 
diferentes para cada host de onde o usuário possa conectar-se. 
Sendo assim, é possível que determinados comandos sejam 
executados somente quando o usuário estiver em 
um host específico, a exemplo daquele do servidor MySQL 
(localhost). 
 
Disponível em: https://www.devmedia.com.br/gerenciamento-de-
usuarios-e-controle-de-acessos-do-mysql/189. Acesso em: 6 out. 
2020 (adaptado). 
 
 
A respeito dos comandos SQL, considere a situação a seguir. 
 
Um programador foi acionado para mudar alguns privilégios de um 
novo usuário, para que este possa trabalhar corretamente no 
programa da empresa, de acordo com suas funções. Um dos 
comandos SQL que possivelmente foi utilizado pelo programador 
é o 
 
GRANT SELECT ON db_empresa.tbl_clientes TO 
novousuario@localhost;. 
 
 
Referente às especificações do comando SQL apresentado, 
assinale a opção correta. 
A) 
O comando SQL utilizado pelo programador irá permitir ao novo 
usuário acessar todo o banco de dados da empresa. 
B) 
O comando SQL utilizado pelo programador irá permitir que o novo 
usuário insira os dados dos clientes no sistema. 
C) 
O comando SQL utilizado pelo programador fará com que o novo 
usuário tenha a permissão de visualizar as vendas efetuadas pela 
empresa. 
D) 
O comando SQL utilizado pelo programador apresenta erros e não 
possibilitará ao novo usuário acessar os dados do sistema. 
E) 
O comando SQL utilizado pelo programador irá permitir que o novo 
usuário gere relatórios referentes a clientes da empresa. 
Database Design For Apps 
Questão 14) - 0,67 ponto(s) 
 
Relacione as colunas. 
 
I. Coleção de dados relacionados. Representa aspectos do mundo 
real (chamado minimundo ou universo do discurso). 
( ) SGBD 
(DBMS) 
II. Representação de um evento do mundo físico, de um fato ou de 
uma ideia em forma primária. Não tem significado por si só. 
( ) Informação 
III. Capacidade de mudar o esquema em um nível do sistema de 
banco de dados sem que ocorram alterações do esquema no 
próximo nível mais alto. 
( ) Banco de 
Dados 
IV. Conjunto de software para gerenciar (definir, criar, modificar, 
usar) um BD e garantir a integridade e segurança dos dados. 
( ) Independência 
de Dados 
V. Conjunto de fatos organizados de tal forma que adquirem valor 
adicional além do valor do fato em si. 
( ) Dado 
 
A sequência CORRETA é a seguinte: 
A) 
IV, V, I, III, II 
B) 
IV, I, III, II, V 
C) 
V, I, III, II, IV 
D) 
IV, V, I, II, III 
E) 
IV, I, V, III, II 
Database Design For Apps 
Questão 15 - (Enade, 2014) ) - 0,67 ponto(s) 
 
Um sistema de informação usa um banco de dados relacional que 
possui tabelas cujos esquemas em SQL estão apresentados a 
seguir. 
 
O sistema também possui uma consulta que integra um de seus 
relatórios, conforme indicado a seguir. 
 
Considerando que todas as tabelas possuem dados, o resultado 
da consulta utilizada no relatório é 
A) 
o nome de todos os artistas, a descrição de todos os eventos e, 
caso eles se relacionem, os dois combinados. 
B) 
o nome de todos os artistas e, caso eles participem de eventos, a 
descrição do evento. 
C) 
o nome de todos os artistas e a descrição de todos os eventos em 
que eles atuam. 
D) 
o nome de todos os artistas combinados com a descrição de todos 
os eventos. 
E) 
a descrição de todos os eventos e, caso haja artistas alocados, os 
seus nomes. 
 
 
Engenharia de Software 
Questão 1) - 0,67 ponto(s)Atualmente, diversos softwares são desenvolvidos e utilizados diariamente, 
entretanto, o processo de desenvolvimento é longo, exige bastante planejamento 
e, em alguns casos, é extremamente complexo. Para que um software esteja em 
condições de ser utilizado, muitos problemas e erros foram corrigidos durante o 
período de seu desenvolvimento pelo profissional da área de tecnologia da 
informação. No decorrer dos anos, foram desenvolvidas soluções, aplicações, 
protocolos, padrões, entre outros recursos, de forma que esse processo 
evolutivo contínuo tem por objetivo facilitar o desenvolvimento do software. 
 
BEZERRA, W. R. Gerenciamento de projeto de software. Porto Alegre: SAGAH, 
2020 (adaptado). 
 
Diante disso, considere a situação apresentada a seguir. 
 
Tatiane, mestre em engenharia de software, está ministrando uma aula sobre 
metodologias ágeis para o desenvolvimento de softwares. Sobre as 
metodologias, Tatiane destacou a flexibilidade de escopo, a cooperação entre 
equipe e cliente, o desenvolvimento incremental e a rapidez e a qualidade das 
entregas. 
 
Sobre as características das metodologias ágeis, considerando a situação 
apresentada, julgue os itens a seguir. 
 
I. Tatiane pode expor que as metodologias ágeis possuem flexibilidade de 
escopo do projeto; além disso, ela pode complementar que, na metodologia ágil, 
é possível que o escopo de funcionalidades a serem desenvolvidas em 
determinado projeto seja alterado, seja qual for o momento. 
 
II. Tatiane pode mencionar que, na metodologia ágil, ocorre cooperação entre a 
equipe de desenvolvimento e cliente; ela também pode explanar aos alunos que, 
nessa metodologia, há um contato contínuo entre o cliente e a equipe de 
desenvolvimento e há valorização dos feedbacks. 
 
III. Tatiane pode destacar a importância do desenvolvimento incremental e 
explicar que as metodologias ágeis transmitem a ideia de melhorias contínuas, 
isto é, as melhorias nos sistemas ocorrerão frequentemente e as novas 
funcionalidades são incrementadas no decorrer do ciclo da implementação do 
sistema. 
 
IV. Tatiane pode mencionar que uma das características da metodologia ágil é 
que as entregas são rápidas e de qualidade alta; além disso, ela pode explicar 
que as funcionalidades de um determinado software são implementadas 
rapidamente e que o ciclo de vida do projeto é estruturado de maneira que as 
entregas ocorrem, normalmente, no período de dois a quatro meses. 
 
É correto o que se afirma em 
A) 
I, apenas 
B) 
II e IV, apenas. 
C) 
I, II, III e IV. 
D) 
III e IV, apenas. 
E) 
I, II e III, apenas. 
Engenharia de Software 
Questão 2 - (Enade, 2014) ) - 0,67 ponto(s) 
 
Uma empresa mantém um serviço de software que atende a centenas de 
clientes pelo mundo. O serviço é bastante complexo e requer um esforço 
contínuo de manutenção. Para melhor gerenciar a manutenção do sistema, a 
empresa decidiu implantar um programa de medição, em que várias métricas 
foram agregadas, cada uma delas associada a determinada questão que se 
desejava responder. A tabela a seguir apresenta as questões e suas métricas 
associadas. 
 
O objetivo atual da empresa é reduzir o prazo de suas entregas, sem 
comprometer o que foi acordado com o cliente. A métrica que permite avaliar se 
esse objetivo está sendo atingido é 
A) 
custo por entrega. 
B) 
tempo entre levantamento do problema e aceitação da mudança. 
C) 
número de solicitações de mudanças. 
D) 
número de recursos computacionais a serem utilizados. 
E) 
número de mudanças por tipo. 
Engenharia de Software 
Questão 3) - 0,67 ponto(s) 
 
Diante das exigências do mercado consumidor referente a qualidade dos 
produtos e serviços, o segmento da tecnologia da informação também possui 
ferramentas e técnicas para planejar e gerenciar a qualidade dos seus produtos 
e serviços. Dentro do gerenciamento da qualidade do projeto existe o 
planejamento do gerenciamento da qualidade, resumidamente conhecido como 
planejamento da qualidade. Planejar o gerenciamento da qualidade é um 
procedimento utilizado para o reconhecer se a documentação ou se o projeto e 
suas entregas estão compatíveis com os requisitos e/ou padrões de qualidade. 
Esse procedimento também visa orientar e direcionar a maneira em que a 
qualidade será gerenciada e realizada, isso durante todo o projeto. 
 
INSTITUTE, Project Management. Um Guia do Conhecimento em 
Gerenciamento de Projetos: Guia PMBOK. 6. ed. Pensilvânia: PMI, 2017. 
 
 
Considerando o texto apresentado e o planejamento da qualidade, avalie as 
afirmações a seguir. 
 
I. A coleta e a análise de dados são algumas das ferramentas e técnicas 
utilizadas para planejar o gerenciamento da qualidade. 
II. A opinião especializada e o termo de abertura do projeto são algumas das 
ferramentas e técnicas utilizadas para classificar o gerenciamento da qualidade. 
III. A representação de dados e o planejamento de testes e inspeções são 
algumas das ferramentas e técnicas utilizadas para organizar o gerenciamento 
da qualidade. 
 
É correto o que se afirma em 
A) 
I e III, apenas. 
B) 
I, apenas. 
C) 
II, apenas. 
D) 
I, II e III. 
E) 
II e III, apenas. 
Engenharia de Software 
Questão 4 - (Enade, 2021) ) - 0,67 ponto(s) 
 
Atualmente um número crescente de empresas investe em Tecnologia de 
Informação (TI), contudo, investir em TI somente por modismo, sem se 
preocupar com os procedimentos adequados para que isso ocorra, gera um 
risco elevado. A TI exige qualidade em seu desenvolvimento, principalmente na 
criação dos sistemas de informações gerenciais, onde a Engenharia de Software 
deve ser aplicada. O ambiente deve estar preparado para receber esta tecnologia 
e saber fazer bom uso dela. Em algumas ocasiões, é bastante complexo 
estabelecer uma forma para mensurar e quantificar a capacidade que a TI possui 
para criar valores, reduzir custos e avaliar se realmente a empresa está se 
tornando melhor ou mais competitiva com sua aplicação. 
 
PRADO, A. et al. Tecnologia da Informação Aplicada de Forma Estratégica nos 
Processos Organizacionais, por Meio de Sistemas de Informações 
Gerenciais. Janus Revista de Pesquisa Científica - UNIFATEA, Lorena, v. 4, n. 5, 
p 47-64, jan. – jun. 2007 (adaptado). 
 
Considerando as informações do texto, avalie as afirmações a seguir, acerca das 
atividades fundamentais da Engenharia de Software. 
 
I. A Especificação do Software é a etapa em que clientes e engenheiros projetam 
e programam o software. 
 
II. A Validação de Software é a etapa para assegurar se o programa atende as 
demandas do cliente. 
 
III. A Evolução do Software é a etapa de modificação para definir a mudança de 
requisitos, tanto do cliente quanto do mercado. 
 
É correto o que se afirma em 
A) 
II e III, apenas. 
B) 
III, apenas. 
C) 
I e II, apenas. 
D) 
I, II e III. 
E) 
I, apenas. 
Engenharia de Software 
Questão 5 - (Enade, 2017) ) - 0,67 ponto(s) 
 
Uma equipe de projeto desenvolveu um aplicativo mobile para a gestão de frotas 
de caminhões entre os meses de janeiro e junho de 2017. O projeto seguiu um 
processo baseado no modelo de ciclo de vida de desenvolvimento em cascata, 
com atividades realizadas sequencialmente e sem sobreposição. 
 
Ao final do projeto, a equipe precisou tratar uma grande quantidade de defeitos 
encontrados no aplicativo em um curto espaço de tempo. Como mostra o gráfico 
a seguir, a maior parte dos defeitos foi identificada ao final do projeto, o que 
elevou o risco de se entregar o aplicativo com muitos defeitos ao cliente. 
 
 
 
Diante desse cenário, a equipe do projeto decidiu que, em novos projetos, 
realizaria ações que pudessem distribuir o esforço de tratamento de defeitos ao 
longo dos meses, diminuindo o risco de ainda haver muitos defeitos não tratados 
no momento próximo à entrega do produto. 
 
Considerando a situação, o gráfico apresentado e o modelo de ciclo de vida de 
desenvolvimento utilizado no projeto (cascata), assinale a opção que descreve 
uma açãocapaz de produzir o resultado esperado pela equipe. 
A) 
Elicitar e documentar os requisitos funcionais e não funcionais do produto logo 
no início do projeto. 
B) 
Registrar, evidenciar e comunicar imediatamente os defeitos encontrados aos 
demais membros da equipe 
C) 
Mapear e documentar o processo de desenvolvimento utilizado e comunicá-lo à 
equipe. 
D) 
Realizar testes assim que o aplicativo estiver pronto para uso. 
E) 
Aplicar técnicas de verificação e validação desde o início do projeto. 
Engenharia de Software 
Questão 6 - (Enade, 2008) ) - 0,67 ponto(s) 
 
Com relação à forma como o RUP trata a análise de requisitos, assinale a opção 
correta. 
A) 
A análise de requisitos ocorre na fase de elaboração, em que são feitas 
entrevistas com usuários e definição do escopo do projeto. 
B) 
A maior parte da análise de requisitos ocorre durante a fase de elaboração. 
C) 
A análise de requisitos ocorre na fase de construção, quando são descritos todos 
os casos de uso, e em seguida modelados por meio de diagramas de casos de 
uso UML. 
D) 
A análise de requisitos deve acontecer antes da programação e testes do 
sistema, não podendo sofrer alterações a partir do momento que estejam 
definidos. 
E) 
Por se tratar de um processo iterativo e evolutivo, a análise de requisitos ocorre na 
fase de construção juntamente com a programação, o que permite que os 
requisitos sejam revistos. 
Engenharia de Software 
Questão 7 - (Enade, 2014) ) - 0,67 ponto(s) 
 
O RUP (Rational Unified Process) é subdividido em Fases, que indicam a ênfase 
que é dada ao projeto em um dado instante, e em Fluxos de trabalho, que 
definem os grupos de atividades a serem realizadas ao longo das fases. 
 
Considerando que no desenvolvimento de software utilizam-se técnicas de 
análise e projeto orientado a objetos e que as atividades sejam distribuídas de 
acordo com o RUP, o momento que devem ser elaborados diagramas de classes 
e de interação entre os objetos do sistema é 
A) 
na fase de Concepção, no fluxo de Modelagem de negócios. 
B) 
na fase de Concepção, no fluxo de Requisitos. 
C) 
na fase de Elaboração, no fluxo de Análise e Design. 
D) 
na fase de Concepção, no fluxo de Análise e Design. 
E) 
na fase de Elaboração, no fluxo de Requisitos. 
Engenharia de Software 
Questão 8) - 0,67 ponto(s) 
 
O gerenciamento de risco é um dos trabalhos mais importantes para um gerente 
de projeto. Sobre gerenciamento de risco, julgue os itens a seguir. 
 
I. Um gerenciamento de riscos é particularmente importante para projetos de 
software, porque trata todos os erros de programação identificados. 
II. O gerenciamento de riscos envolve vários estágios: identificação de riscos, 
análise de riscos, planejamento de riscos e monitoramento de riscos. 
III. Ao terminar o processo de identificação de riscos, devem-se analisar os 
riscos, fazendo um julgamento sobre a probabilidade e a gravidade desses 
riscos. 
IV. O planejamento de riscos considera apenas os dez principais riscos que 
foram identificados e desenvolve estratégias para gerenciar esses riscos. 
 
É CORRETO apenas o que se afirma em 
A) 
II e III. 
B) 
I e IV. 
C) 
II. 
D) 
I, III e IV. 
E) 
II, III e IV. 
Engenharia de Software 
Questão 9 - (Enade, 2005) ) - 0,67 ponto(s) 
 
No processo unificado, cinco workflows acompanham o conjunto das fases de 
desenvolvimento de software. Cada workflow é um conjunto de atividades 
executadas por vários membros do projeto. Considerando o desenvolvimento de 
um sistema integrado de gestão (ERP), o empacotamento em componentes 
de software dos elementos do modelo de projeto — tais como arquivo de código- 
fonte, biblioteca de ligação dinâmica e componentes executáveis — é descrito 
pelo workflow de 
A) 
requisito. 
B) 
teste. 
C) 
implementação. 
D) 
análise. 
E) 
projeto. 
Engenharia de Software 
Questão 10) - 0,67 ponto(s) 
 
Kanban se utiliza dos elementos valores e fluxo, comuns à maioria dos 
processos, para projetar um mapa visual que represente o modelo de trabalho 
da forma como ele é atualmente. O instrumento visual gerado por essa 
representação, o quadro kanban (figura a seguir), cria uma visão compartilhada 
de como “o todo” do sistema de trabalho está organizado. “Valor” e “Fluxo” 
passam a ser, então, elementos concretos e visíveis na rotina de trabalho da 
equipe, o que explicita os problemas. Kanban dará à equipe a capacidade de 
“enxergar” os gargalos que interferem no fluxo de valor. 
 
 
 
PRIKLADNICKI, R.; WILL, R.; MILANI, F. Métodos Ágeis para Desenvolvimento 
de Software. Porto Alegre: Bookman, 2014. 
 
Diante disso, acerca do Kanban, julgue as afirmações a seguir. 
 
I. O uso do Kanban, seja como quadro ou em suas várias versões digitais, 
proporciona melhora da comunicação, da organização e da transparência na 
relação empresa e colaboradores. 
 
II. A ferramenta Kanban possibilita compreender o fluxo de trabalho (workflow) 
e realizar a identificação de filas, assim como atrasos no desenvolvimento de 
um projeto. 
 
III. Uma desvantagem identificada na utilização do Kanban é que, se não houver 
um comprometimento dos envolvidos, no que diz respeito ao preenchimento e à 
atualização, o Kanban se torna irrealizável. 
 
É correto o que se afirma em 
A) 
I e III, apenas. 
B) 
I e II, apenas. 
C) 
II, apenas. 
D) 
I, II e III. 
E) 
III, apenas. 
Engenharia de Software 
Questão 11) - 0,67 ponto(s) 
 
Observe a figura que representa uma ferramenta de processo conhecida como 
Ciclo de Vida de Sistema. Devido ao encadeamento de uma fase com outra, esse 
modelo é conhecido como “cascata”. Observe. 
 
 
Uma das fases prevê a execução de atividades que envolvem a identificação e a 
descrição das abstrações fundamentais do sistema de software e suas relações 
e o estabelecimento de uma arquitetura geral para o sistema como um todo. 
Essa fase denomina-se 
A) 
projeto de sistema e software. 
B) 
operação e manutenção. 
C) 
implementação e teste de unidade. 
D) 
integração e teste de sistema. 
E) 
definição de requisitos. 
Engenharia de Software 
Questão 12 - (Enade, 2021) ) - 0,67 ponto(s) 
 
O surgimento das metodologias ágeis eliminou o gerenciamento baseado em 
planos, substituindo-o pelo planejamento incremental. A documentação de 
projeto foi reduzida ao mínimo e deixou de ser previsto um gerente de projeto. 
Infelizmente, esse tipo de abordagem não atende as necessidades das 
organizações, em que gerentes de negócio necessitam acompanhar o 
andamento dos projetos, controlar orçamento, estabelecer prioridades e 
atualizar seus planos de negócio. Nesse contexto, foi desenvolvido o SCRUM, 
um framework para a organização de projetos ágeis. O SCRUM prevê dois 
indivíduos: o Scrum Master e o Product Owner, que são responsáveis por atuar 
como interface entre a equipe de desenvolvimento e a organização. 
 
SOMMERVILLE, I. Engineering Software Products: An Introduction to Modern 
Software Engineering. Boston: Pearson, 2019 (adaptado). 
 
Em relação à metodologia SCRUM, avalie as afirmações a seguir. 
 
I. O papel do Scrum Master é guiar a equipe no uso efetivo da 
metodologia SCRUM. 
 
II. O papel do Product Owner é garantir o foco no produto, evitando que o mesmo 
se perca em questões técnicas menos relevantes. 
 
III. Tanto o Scrum Master como o Product Owner têm autoridade direta sobre a 
equipe. 
 
É correto o que se afirma em 
A) 
I, II e III. 
B) 
II, apenas. 
C) 
III, apenas. 
D) 
I e II, apenas. 
E) 
I e III, apenas. 
Engenharia de Software 
Questão 13) - 0,67 ponto(s) 
 
O processo de engenharia de software envolve uma série de atividades, como a 
análise de requisitos, o projeto, a construção e os testes de software. Todas 
essas atividades têm fundamental importância no processo e contribuem 
diretamente para se desenvolver produtos de software para os clientes e 
usuários finais. Os testes de software, muitas vezes negligenciados nesse 
processo, contribuem diretamente para o atendimento dos requisitos nos 
produtosgerados. 
 
Sobre as atividades de testes de software, julgue as afirmativas a seguir. 
 
I. Com a execução das atividades de testes, garante-se que um determinado 
software funcione corretamente, ou seja, esteja livre de erros. 
 
II. A chamada verificação de software consiste em confirmar que um 
determinado software atende todos os requisitos técnicos especificados. 
 
III. A partir da tarefa de validação do software, é possível confirmar que o 
software atenda a todos os requisitos funcionais e de negócio. 
 
IV. Testes ajudam a avaliar como está a qualidade de um software e reduz os 
riscos de ocorrerem problemas, o que aumenta a confiabilidade do software. 
 
É correto apenas o que se afirma em 
A) 
II e III. 
B) 
I, II e III. 
C) 
I e II. 
D) 
II, III e IV. 
E) 
III e IV. 
Engenharia de Software 
Questão 14) - 0,67 ponto(s) 
 
A análise de ponto de função tem por objetivo 
A) 
medir apenas a funcionalidade solicitada pelo usuário, antes do projeto de 
software, de forma a estimar seu tamanho e seu custo. 
B) 
estabelecer uma medida de tamanho do software em Pontos de Função (PFs), 
com base na funcionalidade a ser implementada, sob o ponto de vista do 
programador. 
C) 
medir apenas a funcionalidade recebida pelo usuário, após o projeto de software, 
de forma a verificar seu tamanho e custo. 
D) 
mensurar o tamanho do software considerando a funcionalidade implementada 
sob a perspectiva do usuário e desconsiderando a tecnologia que será utilizada na 
implementação. 
E) 
medir projetos de desenvolvimento e manutenção de software, de acordo com a 
tecnologia que será utilizada na implementação. 
Engenharia de Software 
Questão 15) - 0,67 ponto(s) 
 
Scrum é um framework estrutural que está sendo usado para gerenciar o 
desenvolvimento de produtos complexos desde o início de 1990. Ele não é um 
processo ou uma técnica para construir produtos, e sim um framework dentro do 
qual pode empregar vários processos ou técnicas que lidam com papéis, 
eventos, artefatos e regras para que funcionem corretamente e permitam que o 
produto em desenvolvimento realmente atinja os objetivos do cliente. 
O Scrum deixa clara a eficácia relativa das práticas de gerenciamento e 
desenvolvimento de produtos, de modo que possam melhorá-las ao longo de 
sua utilização. 
 
Disponível em: http://metodologiaagil.com/scrum. Acesso em: 26 jun. 2020. 
 
 
 Sobre o framework Scrum e as definições de responsabilidades do Product 
Owner, julgue os itens a seguir. 
 
I. O Product Owner é um membro do time de desenvolvimento responsável por 
priorizar e definir os backlogs para o projeto e pela qualidade final das entregas 
estipuladas. 
 
II. O Product Owner é responsável por garantir que todo o time esteja trabalhando 
utilizando os princípios e práticas do Scrum, mantendo o time produtivo e focado 
no que foi planejado para cada Sprint. 
 
III. É o Product Owner quem define o que será o produto final do cliente e quais 
os requisitos e funcionalidades que serão entregues em cada etapa que compõe 
o projeto. 
 
É correto o que se afirma em 
A) 
I e III, apenas. 
 
B) 
II, apenas. 
 
C) 
I, apenas. 
 
D) 
I, II e III. 
E) 
II e III, apenas.

Continue navegando