Você está na página 1de 37

Resolução de Exercícios

Disciplina: Prática Integradora Desenvolvimento de Apps


Aulas 01 / 02 / 03 / 04 / 05 / 06 / 07 / 08 / 09 / 10 / 11 / 12 / 13 / 14 / 15 / 16
Lista de Revisão 01 / Lista de Revisão 02

Atenção: Esse arquivo é um material de apoio para aqueles que desejem fazer uma revisão dos exercícios
realizados nas aulas. Não recomendamos que seja utilizado para copiar os gabaritos das questões!

Aula – 01 - Fundamentos sobre Design Thinking

01

O design thinking, segundo Brown (2008), pode ser entendido como:

a) um método que permeia as atividades de inovação com foco no ser humano, através de um
processo de compreensão detalhado
b) um método que processa as informações advindas do banco de dados para passar para a produção
c) uma metodologia que o usuário consegue adquirir suas próprias funcionalidades
d) uma metodologia onde valoriza as informações e as atividades com foco no webservice
e) um método de troca de informações com os analistas de design

Resposta A

Solução do professor:
Segundo o pensamento de Brown, o design thinking é um método e o foco sempre será no ser humano independente
da aplicação

Prof. Ricardo Monteiro

02

Este método foi criado pelo Conselho de Design do Reino Unido, em 2005, que a princípio só era utilizado por designers.
Para a sua estruturação, os pilares do Design Thinking de empatia, colaboração e experimentação são mantidos de
forma que, em todas as etapas e no processo como um todo, eles se tornam obrigatórios. Estamos nos referindo a qual
método?

a) Método de design gráfico


b) Método duplo patterns
c) Método duplo diamante
d) Método de mensuração de design
e) Método de estruturação

Resposta C

Solução do professor:
O método duplo diamante além de estruturar os pilares do design thinking, ele vai Descobrir, Definir, Desenvolver e
Entregar, organizadas em estágios divergentes e convergentes do processo de design.

Prof. Ricardo Monteiro

03

Com a implementação das práticas de Design Thinking, é muito natural que novas descobertas e também outras
oportunidades iriam surgir, pois ele transforma a experiência do cliente, proporcionando uma experiência mais acessível
e personalizada. Baseado na transformação da experiência do cliente, qual o tipo de usuário que se encaixa essa
experiência:
a) Usuários experientes
b) Usuários administradores
c) Usuários analistas
d) Usuários externos
e) Todos os usuários

Resposta E

Solução do professor:
Qualquer usuário pode se encaixar perfeitamente nessas transformações de experiência do cliente.

Prof. Ricardo Monteiro

04

As etapas do modelo duplo diamante do design thinking são essas:

a) Identificar, Organizar, Desenvolver e Entregar


b) Escopo, Analisar, Estruturar e Entregar
c) Identificar, Organizar, Interagir e Implementar
d) Descobrir, Definir, Desenvolver e Entregar
e) Identificar, Analisar, Desenvolver e Entregar

Resposta D

Solução do professor:
O modelo de processo de design duplo diamante (Double Diamond Design Process model) é um dos mais conhecidos
[Design Council 2012]. As etapas do modelo podemos dividir em: Descobrir, Definir, Desenvolver e Entregar,
organizadas em estágios divergentes e convergentes do processo de design.

Prof. Ricardo Monteiro

05

Segundo Denning (2013), a definição de design é:

a) Um processo de pensamento que compreende a criação de diagramas para solucionar problemas


b) Um processo destinado à criação de artefatos para solucionar um problema
c) Compreende a concretização de uma ideia em forma de projetos ou modelos, mediante a construção e
configuração resultando em um produto industrial passível de produção em série
d) Um processo, ou ciência, para solucionar um determinado problema – seja ele qual for
e) Uma idealização, criação, desenvolvimento, configuração, concepção, elaboração e especificação de produtos,
normalmente produzidos industrialmente ou por meio de sistema

Resposta B

Solução do professor:
Denning conceitua a importância do processo destinado à criação de artefatos para a solução de problemas, assim a
partir do entendimento inicial de um problema, os designers expressam suas ideias por meio de técnicas que consideram
aspectos como modularidade, abstração, estratificação, integridade, utilidade e beleza, aliando-os à uma proposta de
projeto atemporal.

Prof. Ricardo Monteiro

06

(Adaptado de: FCC - 2014 - TCE-GO - Analista de Controle Externo - Administrativa). Para Brown (2009), a ideação é o
processo no qual as ideias e conceitos são gerados com o objetivo de gerar inovações sobre os problemas identificados
na etapa de Inspiração. Nesta etapa é o momento de fazer o brainstorming. O processo de levantamento de informações
para entendimento de algum tipo de problema, ou para encontrar uma solução pode ser um trabalho mais difícil quando
se utiliza técnicas formais de entrevistas e reuniões em grupo. A utilização de técnicas informais podem ser um caminho
mais fácil para coletar informações preciosas sobre um determinado problema, pois não existe a pressão do formalismo
que pode inibir a criatividade. Esta técnica informal utilizada em reuniões empresariais é o Brainstorming que:

a) Realiza entrevistas individuais


b) Abrevia e interpreta as ideias apresentadas pelos participantes no ato em que elas são anotadas
c) Limita o número de ideias colocadas por participante
d) Seleciona as ideias no ato em que as mesmas são apresentadas pelos participantes
e) Estimula as ideias criativas e, muitas vezes, exóticas por parte dos participantes.

Resposta E

Solução do professor:
O brainstorming é uma técnica informal utilizada em reuniões empresariais com o objetivo de gerar ideias para
solucionar um problema ou desenvolver um projeto. Durante o brainstorming, os participantes são encorajados a
expressar suas ideias sem censura ou crítica, com o objetivo de estimular a criatividade e gerar ideias inovadoras. Não há
limites para o número de ideias que podem ser apresentadas, e todas as ideias são registradas para serem analisadas
posteriormente. O objetivo do brainstorming é gerar uma grande quantidade de ideias e, em seguida, selecionar as
melhores para serem desenvolvidas.

Prof. Ricardo Monteiro

=======================================================================

Aula – 02 - Técnicas para o Design Thinking

01

Quando começamos a utilizar essa metodologia do Design Thinking passamos a entender afinco sobre as possibilidades e
colocando tudo isso em prática, cria-se com isso, na maioria das vezes um ambiente propulsor da inovação, e a partir
disso vai surgindo e modelando uma nova cultura que vai se desenvolvendo e aprimorando a cada implementação. E
assim, entendemos que a empresa se torna:

a) Mais ágil e mais precisa na declaração e na sugestão de soluções


b) Mais declinada e com muita resistência às mudanças
c) Mais adaptada a uma visão mais específica e muito mais objetividade nos clientes finais
d) Menor valor e experiências incríveis, sem sombra de dúvidas
e) Uma forma de troca de informações com os analistas de design

Resposta A

Solução do professor
Entendemos que a empresa se torna mais ágil e mais precisa na declaração e na sugestão de soluções, focando sempre
nos clientes/usuários, e com propostas de novas abordagens, produtos e serviços que são mais humanas e, portanto,
mais desejáveis

Prof. Ricardo Monteiro

02

Falando de matriz de posicionamento: é uma ferramenta de análise estratégica das ideias geradas, utilizada na validação
destas em relação aos critérios norteadores, bem como às necessidades das Personas criadas no projeto. A matriz de
posicionamento tem como objetivo:

a) Sintetizar todas as ideias geradas no projeto. Pode incluir comentários relativos às ideias, eventuais
desdobramentos e oportunidades de negócio
b) Mudar por completo a maneira de encontrar os caminhos corretos em uma trajetória de sucesso
c) Tentar mapear e mesclar a experiência cultural, a visão de mundo e os processos inseridos na vida dos indivíduos,
no intuito de obter uma visão mais completa na solução de problemas
d) É a satisfação do cliente (interno ou externo). Nesse sentido, essa dádiva só pode ser alcançada quando
conhecemos em profundidade suas necessidades, desejos e percepções de mundo
e) Apoiar o processo de decisão, a partir da comunicação eficiente dos benefícios e desafios de cada solução, de
modo que as ideias mais estratégicas sejam selecionadas para serem prototipadas

Resposta E

Solução do professor
Se tratando de matriz de posicionamento, o grande objetivo é de apoiar todo o processo de decisão.

Prof. Ricardo Monteiro

03

O Figma por característica básica, tem o potencial de apoiar todo o processo de design desde o seu início até o seu fim.
Traçando um passo a passo, marque qual o passo que não pertence ao figma:

a) Primeiros esboços
b) Coleta de feedback
c) Usuários analistas
d) Entrega do usuário
e) Protótipos prontos para teste

Resposta D

Solução do professor
Na verdade esse passo é o da entrega do desenvolvedor e não do usuário.

Prof. Ricardo Monteiro

04

Uma das variações do design thinking é o uso com metodologias ágeis aplicadas ao gerenciamento de aplicações de
desenvolvimento de software. O uso do modelo de gestão de projeto que integra o Design Thinking e métodos ágeis
pode ocorrer ao longo do ciclo de desenvolvimento do software, segundo Góes e Russo(2018), isso é aplicado dessas
formas, EXCETO:

a) Como ondas entre as fases de desenvolvimento, sem nenhum sincronismo


b) Durante a etapa de concepção sincronizada com a etapa de desenvolvimento
c) Com simplificação do processo de design e envolvimento de todos os usuários que farão parte da aplicação
d) Isso tudo só é possível devido o fato que uma aplicação do modelo que faz a integração do design thinking com
os métodos ágeis
e) Com a integração do design e a construção do software em todas as etapas de desenvolvimento do software

Resposta C

Solução do professor
A letra C é a alternativa que não faz parte do processo de aplicação do design thinking, por isso foca no usuário.

Prof. Ricardo Monteiro

05

O uso do design thinking poderia levar as organizações a levarem a satisfação dos clientes antes de iniciarem o processo
de concepção de um novo:

a) Site ou protótipo
b) Produto ou serviço
c) Desenvolvimento e produto
d) Serviço e protocolo
e) Produto e protocolo

Resposta B

Solução do professor
A satisfação do cliente se dá através dos produtos e serviços que são produzidos no processo.

Prof. Ricardo Monteiro

06

Quando falamos de desenvolvimento em torno do Design Thinking, ficamos com a impressão que este método nos trará
muitos benefícios, não só econômicos mas também em relação a criatividade do desenvolvimento de vários produtos de
design e nas diversas tecnologias como por exemplo na web e mobile. Este método possui algumas etapas de processo,
nas quais o tornam e caracterizam como cíclico e que de uma forma ou outra está diretamente ligada às estratégias das
organizações. Conforme Barbosa(2016), é possível definir uma correlação entre os conceitos de Inteligência Estratégica e
Design Thinking para o desenvolvimento de estratégias inovativas. A abordagem possui um conjunto de ferramentas
que auxilia e facilita a geração de ideias e a inovação de produtos (Marina,2017). Essas ferramentas compreendem
(Marina, 2017):

a) Feedback do cliente, Brainstorming, Workshop de cocriação, Capacitação


b) Brainstorming, Capacitação, Cardápio de ideias e Matriz de posicionamento
c) Feedback do cliente, Brainstorming, Cardápio de ideias, Matriz de posicionamento
d) Brainstorming, Workshop de cocriação, Cardápio de ideias e Matriz de posicionamento
e) Brainstorming, Feedback do cliente, Dimensionamento de recursos, Matriz de posicionamento

Resposta D
Solução do professor
A letra D é a alternativa correta, são eles que irão facilitar a utilização do design thinking.

Prof. Ricardo Monteiro

=======================================================================

Aula – 03 - Levantamento de requisitos para projetos mobile

01

Todos os requisitos e também os modelos que são capturados com o levantamento de requisitos obrigatoriamente têm
que ser descritos através de documentos. Essa documentação podemos dizer que é uma atividade de registro e uma
oficialização, onde irão indicar que um ou vários documentos devem ser produzidos. Essa documentação apresenta
muito benefícios dentro desse cenário, dentre os benefícios podemos destacar:

a) Melhor comunicação dos requisitos


b) Uma maior redução em relação ao esforço do desenvolvimento
c) Uma maior realidade de informações para as estimativas
d) Um atributo maior de dependências de recursos
e) E também uma base concreta para executar a verificação e validação

Resposta D

Solução do professor
Quando tratamos de requisitos e dos modelos, a dependência de recursos não é algo interessante para levantar as
informações.

Prof. Ricardo Monteiro

02

Uma das técnicas de levantamento de requisitos é a técnico da etnografia, que consiste em:

a) Buscar a aproximação do mundo real com as funcionalidades dos sistemas que desejamos construir
b) Descrever os fluxos de informações da maneira mais simples possível, de modo que indicamos exatamente o
que os usuários esperam que aconteça em diversas situações
c) Verificar o ambiente de trabalho no qual o sistema será implementado
d) Apresentar as várias funcionalidades previstas para os sistemas e os usuários que irão utilizar a mesma
e) Indicar os módulos que compõe o sistema, os usuários que estarão inclusos nele e quais os papéis que irão
desempenhar

Resposta C

Solução do professor
Na etnografia é que iremos fazer uma verificação mais detalhada sobre o ambiente de trabalho que iremos fazer as
implementações.

Prof. Ricardo Monteiro

03

Em se tratando de técnicas de levantamento de requisitos, temos uma definição que indica: “São criadas anteriormente
e seguem um script pré-definido”, neste caso estamos falando da técnica:

a) Protótipos de teste
b) Entrevistas fechadas
c) Criação de cenários
d) Casos de uso
e) Coleta de feedback

Resposta B

Solução do professor
Na técnica de entrevistas fechadas do levantamento de requisitos, iremos criar uma sequência de perguntas que já serão
pré-definidas.

Prof. Ricardo Monteiro


04

As práticas para levantamento de requisitos ajudam bastante quando temos a necessidade de identificar, caracterizar ou
mesmo entender sua funcionalidade. Uma das técnicas diz o seguinte: “se o cliente solicitar uma funcionalidade
semelhante ao que já está presente em um produto já existente, ver se os requisitos e os clientes são flexíveis o
suficiente para permitir a reutilização ou a adaptação dos componentes existentes.”, neste caso estamos nos referindo a
técnica:

a) Reutilizar os requisitos em projetos


b) Realizar workshop de elicitação facilitada
c) Trabalho com representantes dos usuários para identificar os casos de uso
d) Estabelecer grupos focados em usuários típicos
e) Identificar classes de usuário e suas características

Resposta A

Solução do professor
Quando vou reutilizar os requisitos do projeto, tenho que verificar a solicitação da funcionalidade do cliente com a que o
produto já carrega cadastrado nele mesmo.

Prof. Ricardo Monteiro

05

A gestão de requisitos é um conjunto de atividades que tem como principal objetivo ajudar a equipe de projeto a:

a) Utilizar ferramentas de engenharia de software para modelar os requisitos do sistema, através da UML
b) Identificar, controlar e rastrear requisitos e modificações de requisitos em qualquer época, à medida que o
projeto prossegue
c) Construir um modelo técnico refinado de funções, características e restrições do software
d) Negociar com os clientes os conflitos de prioridade de requisitos e identificar e analisar os riscos associados a cada
requisito
e) Avaliar os requisitos quanto à qualidade, garantindo que ambiguidades, inconsistências, omissões e erros tenham
sido detectados e corrigidos

Resposta B

Solução do professor
Quando se trata de gestão de requisitos temos que executar alguns passos para que possamos organizar esses
requisitos e no caso a identificação, o controle e o rastreamento e modificações de requisitos serão os passos que
devemos executar.

Prof. Ricardo Monteiro

06

Segundo RIBEIRO E SOUZA (2012), a engenharia de requisitos é uma atividade fundamental no processo de
desenvolvimento de software, assegurando que um conjunto completo das necessidades e requisitos dos usuários sejam
capturados e transformados em um conjunto válido de requisitos em todo o ciclo de vida. Enquanto a definição de
requisitos para um novo sistema é desenvolvida, uma melhor compreensão da necessidade dos usuários é alcançada, e
é esperado que haja uma evolução nos requisitos do sistema para acomodar este novo entendimento das necessidades
dos usuários. A partir dessa perspectiva de evolução, os requisitos são divididos em duas classes, permanentes e
voláteis. Sobre a divisão dos requisitos voláteis, considere:

I. Requisitos mutáveis surgem à medida que a compreensão do cliente sobre o sistema aumenta, tornando-o apto a
sugerir e requisitar mudanças.
II. Requisitos consequentes estão diretamente ligados a introdução de sistemas de computação na empresa, que podem
modificar processos e criar novos métodos de trabalho.
III. Requisitos emergentes são os requisitos relativamente estáveis, que derivam da atividade principal da organização e
se relacionam diretamente com o domínio do sistema.

Está correto o que consta em:

a) II, apenas
b) III, apenas
c) I e II, apenas
d) II e III, apenas
e) I, II e III
Resposta A

Solução do professor
A letra A é a alternativa correta, pois são eles que irão ter o controle direto aos sistemas de computação na empresa e
também terão a capacidade de fazer a modificação de processos e se porventura for necessário a criação de novos
métodos de trabalho.

Prof. Ricardo Monteiro

=======================================================================

Aula – 04 - Trabalhando com o método Kanban

01

O kanban é um método que foi criado no Japão por Taiichi Ohno, e literalmente em japonês significa:

a) Cadastro ou visibilidade
b) Usual ou placa visível
c) Registro ou placa visível
d) Cadastro ou placa visível
e) Registro ou camada

Resposta C

Solução do professor
É a tradução em japonês para a palavra kanban, que se torna um método enraizado na empresa.

Prof. Ricardo Monteiro

02

Kanban é um sistema de gerenciamento de trabalho em andamento (Anderson,2010), que serve principalmente para
garantir uma produção contínua e sem sobrecargas na equipe de produção de mídia. Kanban é um sistema de gestão
onde exatamente a quantidade de trabalho produzida que o sistema é capaz de realizar presumir, essa é uma definição
de:

a) Simões, 2015
b) Schwaber, 2016
c) Jhones Nelson, 2018
d) Gouveia, 2010
e) Anderson, 2010

Resposta E

Solução do professor
O autor foi realmente Anderson, no seu livro Kanban: Successful Evolutionary Change for Your Technology Business.

Prof. Ricardo Monteiro

03

O kanban, quando falamos da sua implementação podemos dividi-lo em quatro etapas. Essas etapas podemos identificar
na sequência abaixo:

a) Protótipo, mapear os processos, definir esquema de cores e priorização e implementar


b) Criar o escopo, mapear os processos, modelos de funcionalidades e priorização e implementar
c) Preparar a equipe, mapear os processos, definir esquema de cores e priorização e implementar
d) Preparar a equipe, mapear os processos, definir esquema de cores e priorização e avaliar para melhorar
e) Criar escopo, prototipar, definir esquema de cores e priorização e implementar

Resposta D

Solução do professor
No método do kanban as suas fases são muito bem definidas e o primeiro passo é preparar a equipe de colaboradores,
depois vamos mapear os processos que serão executados pela equipe, definir esquema de cores e priorização e por
último avaliar para melhorar o processo.
Prof. Ricardo Monteiro

04

Quando falamos de Scrum, nós temos um conceito que são as Sprints. E se tratando de sprints, podemos definir que é:

a) Com o objetivo de otimizar entregas, o sprint corresponde aos períodos, nos quais as atividades pré-definidas
têm de ser cumpridas. Em outras palavras, os sprints podem ser definidos como cada uma das fases de um projeto,
estipuladas em espaços definidos de tempo
b) São capazes de fornecer incremento de produto totalmente por conta própria (do planejamento ao
desdobramento, desenvolvimento)
c) Aparecem após quando o software é lançado e executado em um ambiente real
d) Estabelecer grupos focados em usuários típicos
e) Irão atuar com uma alta integração, fazendo a troca de dados e achando as soluções dos problemas de uma
forma mais colaborativa possível

Resposta A

Solução do professor

As Sprints facilitam muito a otimização das entregas e podem ser definidas durante todo o projeto para executar
determinadas funcionalidades em espaços definidos de tempo.

Prof. Ricardo Monteiro

05

Qual é o sistema de administração de recursos materiais que focaliza a demanda efetiva?

a) Sistema funcional de compras


b) Sistema de registro de preço
c) Sistema just-in-time/Kanban
d) Sistema multi fontes de estoque
e) Sistema tradicional de abastecimento

Resposta C

Solução do professor
O sistema JIT/Kanban que irá fazer toda a parte de administração da demanda efetiva dentro de uma empresa.

Prof. Ricardo Monteiro

06

Quando falamos do sistema de programação Kanban sabemos que ele utiliza o método de controle de estoque de ponto
de pedido onde ele faz a determinação dos lotes padronizados de produção de compra, funcionando com custos muito
baixos de planejamento e os tempos de reposição tendem a se tornarem reduzidos. Sabendo-se de tudo isso, quando se
refere às características que garantem a eficiência do Kanban como por exemplo o sistema just-in-time, avalie as
afirmações abaixo.

I. Os modelos no programa mestre de produção são repetidos continuamente e comparados com uma programação
construída para tirar proveito das economias de escala.
II. Os tempos de reposição tornam-se altamente previsíveis porque são curtos.
III. Os lotes de pedidos são pequenos porque os custos de preparação e obtenção são mantidos baixos.
IV. Um alto nível de cooperação entre fabricante e fornecedor surge para garantir a obtenção do desejado nível do
desempenho do produto e da logística.

São corretas as características:

a) I e II, apenas
b) I e IV, apenas
c) II e III, apenas
d) III e IV, apenas
e) I, II, III e IV

Resposta E

Solução do professor
Todas as características citadas são as que descrevem perfeitamente o Kanban.
Prof. Ricardo Monteiro

=======================================================================

Aula – 05 - Usabilidade de softwares na prática

01

É uma das principais características de qualquer site e a facilidade de uso do site. Assim, o projeto de um website deve
estar de acordo com as necessidades dos usuários. Estamos nos referindo a:

a) Navegabilidade
b) Easy to Learn
c) Experiência do Usuário
d) Usabilidade
e) Modelagem físico-funcional

Resposta D

Solução do professor
Espera-se que a usabilidade de um site informe ao stakeholder qual informação pode ser fornecida aos usuários e,
finalmente, o quanto é capaz de saciar a curiosidade dos usuários.

Prof. Ricardo Monteiro

02

Na interação humano-computador, a usabilidade é um dos tópicos mais comuns que é amplamente utilizado para fins de
requisito análise. Essa frase foi falada por:

a) Shneiderman, 1998
b) Conrado Vaz,2008
c) Stars, 2018
d) Likin e Shoval,1987
e) Lorevel, 2012

Resposta A

Solução do professor
Ele ainda complementa que em poucas palavras, a usabilidade de um site é uma das principais características de
qualquer site e a facilidade de uso do site. Assim, o projeto de um website deve estar de acordo com as necessidades
dos usuários.

Prof. Ricardo Monteiro

03

Apesar de testes de usabilidade serem um custo a mais no projeto de um site, não realizar testes de usabilidade
geralmente gera ainda mais custos que realizá-los. Diversos fatores entram no custo da avaliação de usabilidade de um
site, sendo correto afirmar que:

a) quanto mais elementos a se avaliar, menor os custos, maior o tempo para recolher os dados e avaliar
b) quanto menos sofisticado for o equipamento usado na avaliação, maior o custo, pois estes equipamentos terão
que ser alugados ou comprados
c) quanto mais cedo for realizado o primeiro teste, maior o número de recomendações e maior o retrabalho
d) nenhuma empresa paga as pessoas que se dispõem a testar o site, tornando o custo do processo de teste muito
baixo
e) quanto mais tarde for realizado o primeiro teste, maior o custo envolvido na avaliação

Resposta E

Solução do professor
Realmente se você deixar para fazer o primeiro teste com um tempo muito grande vai gerar ainda mais custos para o
projeto de desenvolvimento do site.

Prof. Ricardo Monteiro

04
No que diz respeito à área da Interface Homem-Máquina, dois conceitos estão diretamente relacionados à construção de
sites e portais para a Web.

I. É o parâmetro que trata da disponibilidade de conteúdos e recursos de modo universal na internet, com o objetivo do
conteúdo ser acessado, percebido, compreendido e receber interação de qualquer usuário com autonomia e sem
barreiras. É, em essência, o respeito pela diversidade de usuários que há na internet e seus direitos ao acesso à
informação.
II. É o parâmetro que define a facilidade com que as pessoas empregam uma ferramenta ou mesmo um objeto para
realizar uma tarefa. É, em essência, a capacidade do sistema em fazer com que o usuário tenha sucesso na execução de
suas tarefas.

Os conceitos em I e II referem-se, respectivamente a:

a) comunicabilidade e usabilidade
b) acessibilidade e usabilidade
c) comunicabilidade e design
d) acessibilidade e design
e) acessibilidade e comunicabilidade

Resposta B

Solução do professor
Quando falamos de acessibilidade e usabilidade temos que nos preocupar com a disponibilidade que os conteúdos e os
recursos estarão dispostos no site e também as definições das facilidades que os usuários irão ter para navegar no site,
respectivamente.

Prof. Ricardo Monteiro

05

Protótipo vem em diferentes formas, pode ser em papel ou em computador. O processo de desenvolver um protótipo é
chamado de prototipagem. Existem 4 principais metodologias de prototipagem que complementam os sistemas
tradicionais no ciclo de vida de desenvolvimento em uso hoje. Elas são, exceto:

a) Protótipo vem em diferentes formas, pode ser em papel ou em computador. O processo de desenvolver um
protótipo é chamado de prototipagem. Existem 4 principais metodologias de prototipagem que complementam os
sistemas tradicionais no ciclo de vida de desenvolvimento em uso hoje. Elas são, exceto:
b) Intuitiva: produz os assertivos para a geração de execuções
c) Evolucionária: produz modelo(s) que se tornam parte do sistema operacional final
d) Simulado: Simula algum sistema funções, mas não usa dados reais ou um banco de dados, modelo não
implementado
e) Funcional: executa algum sistema real de funções e usa dados reais e/ou um banco de dados, modelo não
implementado

Resposta B

Solução do professor
A intuição não será uma das principais metodologias de prototipagem, devido a sua falta de implementação e
conceituação.

Prof. Ricardo Monteiro

06

Considerando a situação hipotética: um usuário acessa um sítio na Internet e deseja cadastrar-se. Ao acessar a tela de
cadastro ele preenche dados para acesso, como, nome, e-mail, senha e confirmação da senha e clicar no botão
“Cadastrar”. Ao clicar no botão, nenhuma mensagem é exibida e ele é direcionado para outra tela, onde ele deve
continuar o cadastro digitando os dados referentes ao endereço. O usuário nota que o formulário dessa tela é diferente
do formulário da tela anterior (tamanho e disposição dos campos do formulário, cores, formatação do texto, entre
outros), mas mesmo assim finaliza o cadastro e clicar no botão “Salvar dados”. Ao clicar nesse botão, o usuário é
direcionado para a tela inicial do sítio sem receber uma mensagem clara se o cadastro foi ou não concluído com sucesso,
a confirmação do cadastro aconteceu apenas alguns minutos depois por meio do recebimento de um e-mail. Tendo por
base a situação hipotética exposta, caso se realizasse uma avaliação de usabilidade no cadastro descrito utilizando as “10
Heurísticas de usabilidade para o projeto de interface do usuário” propostas por Jakob Nielsen, o cadastro, como descrito,
apresentaria falhas, principalmente em...

Assinale a alternativa que apresenta as duas principais.


a) Reconhecimento em vez de lembrança (Recognition rather than recall); Ajuda e documentação (Help and
documentation)
b) Visibilidade do status do sistema (Visibility of system status); Consistência e padrões (Consistency and standards)
c) Controle e liberdade do usuário (User control and freedom); Correspondência entre o sistema e o mundo real
(Match between system and the real world)
d) Consistência e padrões (Consistency and standards); Reconhecimento em vez de lembrança (Recognition rather
than recall)
e) Experimento Controlado, Co-descoberta e Grupo de Discussão Dirigida

Resposta B

Solução do professor
No caso da visibilidade do status do sistema, as consistências e os padrões, pois o usuário não terá resposta, não terá um
padrão entre uma página e outra, tendo assim uma dificuldade muito grande na usabilidade deste site.

Prof. Ricardo Monteiro

=======================================================================

Aula – 06 - Projetando a navegabilidade da interface gráfica

01

Quando começamos a falar sobre navegabilidade nos vem à memória que é a forma como o usuário irá
navegar/explorar o site. A navegação intuitiva é fundamental para o sucesso do seu site. Em relação a navegabilidade, a
grande verdade é que:

a) O usuário não gosta de ficar lendo longos e densos manuais, fazer diversos cursos ou mesmo passar horas para
aprender a operacionalizar algo
b) Não vai operar como uma barreira extra de proteção contra possíveis acessos maliciosos no seu sistema
c) O usuário vai utilizar um gerenciador de senhas
d) Baseado no comportamento do usuário fornece os dados para identificar facilmente tendências
e) O usuário irá fazer uma gestão das operações e comunicações

Resposta A

Solução do professor
É exatamente referente aos altos tempos que o usuário não gosta de gastar para poder fazer a navegação pelo site.

Prof. Ricardo Monteiro

02

Com relação ao projeto da interface com o usuário, analise as afirmativas a seguir.

I. É importante a colocação do usuário no controle definindo modos de interação de uma forma que não o force a ações
desnecessárias, proporcionando interação flexível e permitindo que ele possa interromper ou desfazer qualquer ação sem
perder o trabalho que já tenha feito.
II. A interface com o usuário tem que ser capaz de aumentar a carga de memória do usuário para que ele utilize todo
seu conhecimento a todo instante sobre o sistema, garantindo uma interface objetiva e robusta.
III. A interface com o usuário deve ser consistente ao longo de uma família de aplicações e consistente com modelos
interativos anteriores.

Assinale:

a) se somente a afirmativa I estiver correta


b) se somente a afirmativa II estiver correta
c) se somente as afirmativas I e III estiverem corretas
d) se somente as afirmativas I e II estiverem corretas
e) se todas as afirmativas estiverem corretas

Resposta C

Solução do professor
Na verdade o usuário só irá aumentar a sua experiência com a interface gráfica, ou seja, ela tem que ser consistente ao
longo de uma família de aplicações e consistente com modelos interativos anteriores. E também, tem que proporcionar
uma interação flexível e permitindo que ele possa interromper ou desfazer qualquer ação sem perder o trabalho que já
tenha feito.
Prof. Ricardo Monteiro

03

Assinale a alternativa INCORRETA. Existem vários modelos de cores para interface gráfica, dentre eles podemos citar:

a) RGB
b) CMY
c) YWV
d) HLS
e) HSV

Resposta C

Solução do professor
A letra C é a alternativa incorreta, pois ela não representa um tipo existente de modelo de cores para interfaces gráficas.

Prof. Ricardo Monteiro

04

Falando sobre as fontes dentro de interface gráfica, podemos classificá-las de 4 tipos primários de estilo, ou seja, quatro
famílias genéricas de fonte. Onde a grande parte das fontes que temos hoje se encaixam nos modelos utilizados na web.
São elas, exceto:

a) Sans-Serif
b) Serif-Style
c) Cursive
d) Fantasy
e) Serif

Resposta B

Solução do professor
Pois a fonte Serif-Style não faz parte das quatro famílias genéricas de fonte.

Prof. Ricardo Monteiro

05

Ela vem exatamente para suprir algumas necessidades que o Adobe XD não atende. Por se tratar de uma ferramenta
colaborativa ele é muito utilizado pelos profissionais de UX e UI. Por ter essa facilidade de várias pessoas participando do
mesmo arquivo, ele tem uma interface muito agradável que irá possibilitar a inserção dos elementos, das animações e
das codificações para criar os protótipos mais próximos do resultado final que é esperado. Estamos falando da
ferramenta de prototipagem:

a) Photoshop Illustration
b) WebGl
c) Figma
d) Blackadder
e) Sketch

Resposta C

Solução do professor
O figma irá nos permitir rodar em qualquer navegador, além também de ser liberado ambientes de mobile para
protótipos de espelhagem. Sendo uma ferramenta colaborativa de uso por profissionais de UX e UI.

Prof. Ricardo Monteiro

06

Tipografia é o estudo, a criação e a aplicação dos caracteres, estilos, formatos e os arranjos visuais das palavras. Quando
falamos dos tipos, conhecidos como fontes ou tipos de letra, eles irão indicar a composição visual de um texto. Na hora
de fazer a criação de algum projeto gráfico, tanto no modo impresso quanto no modo digital, a tipografia é um dos
elementos no qual irá exigir uma tomada de decisão, isso dependendo da mensagem que você tem intenção de passar
com as suas informações textuais. Assim podemos indicar os tipos de tipografia, os quatro tipos são detalhados a seguir.
I. COM SERIFA - Serifas são prolongamentos em que se encontram na maioria das extremidades das letras de uma
fonte serifada. Elas são resquícios da escrita manual, que facilitam a leitura levando o olho para a transição de uma letra
para outra, por isso é mais indicada para textos corridos. Para uso em mídias digitais, ou seja, na web, a fonte serifada
possui um limite de seu formato mínimo, fazendo com que quanto menor o seu tamanho na página, mais difícil a
legibilidade das serifas. Isso não é uma regra, por isso se deve sempre observar a legibilidade das fontes e considerar a
mídia em que será inserida. Tal problema não ocorre na mídia impressa, por isso a vasta utilização de fontes serifadas
em textos corridos de livros, revistas e jornais.
II. SEM SERIFA - são mais aconselhadas para títulos, cabeçalhos, blocos de textos mais curtos em casos de utilização em
mídias impressas. As fontes sem serifa também são utilizadas em textos em geral em mídias digitais, devido ao fato de
possuírem mais legibilidade em formatos mínimos.
III. CURSIVA - São fontes que se aproximam da caligrafia manual, possuindo mais detalhes e ornamentos em suas
letras. Não são aconselhadas para textos longos, justamente por possuírem muitos floreios, o que torna a leitura
demorada.
IV. DECORATIVA - Essas são as fontes mais livres e temáticas, que surgiram devido ao avanço da tecnologia e se
abriram as possibilidades de criação de fontes, podendo possuir texturas diferentes e formas que fogem completamente
do padrão das outras fontes. Elas também são conhecidas por terem uma temática específica, fonte com ilustrações de
flores, ou com temática de terror.

Exemplos de fontes dos tipos I, II, III e IV são, respectivamente:

a)
b)
c)
d)
e)

Resposta D

Solução do professor
A letra D é a alternativa correta, pois é ela que irá representar o grupo de tipagem.

Prof. Ricardo Monteiro

=======================================================================

Aula – 07 - App PWA com Typescript Angular

01

Para que serve as rotas no Angular?

a) Ajudar a organizar os componentes do tipo página, bem como adicionar um título personalizado na URL e fazer
renderização das páginas como sub componente da rota
b) Serve somente para passar dados de um componente para outro
c) Organizar as dependências e os modules da aplicação
d) Organizar e configurar os termos e layout da aplicação
e) Serve para armazenar as configurações das rotas em um arquivo *.json

Resposta A

Solução do professor
As rotas do Angular ajudam a organizar a aplicação, bem como criar uma URL personalizada para os componentes da
página.

Prof. Ricardo Monteiro

02

Qual é a principal funcionalidade do Angular Material?

a) É apenas um tema para Angular em que o usuário tem que criar CSS e HTML para compor o layout,
principalmente, para telas de computador sem responsividade, ou seja, as telas ficam estáticas sem adaptar ao tamanho
da tela
b) É um framework de Layout criado pelo Google para disponibilizar um conjunto de componentes que podem ser
reutilizados em toda a aplicação
c) É um conjunto de configurações de fontes e cores
d) Ajuda na criação dos códigos Typescript dos componentes
e) Adiciona novas funcionalidades para arquivo de rotas
Resposta B

Solução do professor
É um framework de Layout criado pelo Google para disponibilizar um conjunto de componentes que podem ser
reutilizados em toda a aplicação.

Prof. Ricardo Monteiro

03

O que é uma aplicação Mobile First?

a) Uma aplicação voltada para telas de computadores não responsivo


b) Uma aplicação voltada para as telas pequenas mobile usando responsividade e funcionando também em telas
maiores
c) Uma aplicação voltada para visualizar em terminal em formato de script
d) Uma aplicação para dispositivos de internet das coisas
e) Uma aplicação para sistemas desktop

Resposta B

Solução do professor

Uma aplicação mobile first é voltada para telas pequenas dos celulares, porém por ter uma característica responsiva
também funciona em telas maiores.

Prof. Ricardo Monteiro

04

Qual é a principal funcionalidade de utilizar um formulário Angular Material?

a) Não adiciona nenhuma funcionalidade nem mesmo facilidade ao projeto


b) Formulário só vai ter funcionalidade de enviar a informação para componente para ser processada
c) Funcionalidade de configuração da comunicação com API e os serviços
d) Melhorar a organização do HTML sem personalização pré-definida
e) Facilita a criação do layout do formulário, assim como, podemos reaproveitar os componentes e validar os inputs
de forma visual sem ter muita necessidade de criar CSS

Resposta E

Solução do professor
Ajuda na construção do layout, assim como, a possibilidade de reaproveitar os componentes e validar de forma visual os
inputs.

Prof. Ricardo Monteiro

05

Qual é a linguagem de programação utilizada pelo framework Angular a partir da versão 2.0?

a) Javascript
b) Java
c) Typescript
d) PHP
e) Go Lang

Resposta C

Solução do professor
Angular é desenvolvido na linguagem de programação Typescript criada pela Microsoft.

Prof. Ricardo Monteiro

06

O que é armazenado na pasta node_modules?

a) HTML
b) Documentação do código
c) Arquivos das dependências instaladas no projeto
d) Json
e) Arquivos Jar

Resposta C

Solução do professor
A pasta node modules armazena os arquivos das dependências instaladas pelo NPM e durante o processo de criação do
aplicativo base.

Prof. Ricardo Monteiro

=======================================================================

Aula – 08 - Bancos de dados para apps

01

A arquitetura do SQLite é relativamente simples, ela é composta por quatro partes, que são as seguintes, exceto:

a) Core, a parte principal contém a interface do usuário, o processador de comandos SQL e a máquina virtual
b) SQL compiler, contém um tokenizer, um analisador e um gerador de código
c) Backend, contém B-Tree, Page Cache, OS Interface: Um banco de dados SQLite é mantido em disco usando uma
B-tree implementação encontrada no arquivo fonte btree.c
d) Acessórios contém Utilitários e código de teste: SQLite fornece algumas funcionalidades relacionadas à utilitários,
como memória alocação e rotinas de comparação de strings sem maiúsculas e minúsculas estão localizadas em util.c
mais da metade da base de código total do SQLite é dedicado a testes
e) Um dispositivo IoT carrega seus dados de sensor para a nuvem

Resposta E

Solução do professor
A letra E é a alternativa que não pertence ao conjunto de partes do SQLite, pois as quatro partes são o Core, Sql
Compiler, Backend e os Accessories.

Prof. Ricardo Monteiro

02

Quando fazemos a execução da linha abaixo dentro do SQLite, qual o resultado que irá nos retornar:
sqlite> SELECT nome FROM agenda WHERE nome LIKE ‘A%’;

a) Irá nos trazer o nome que começa com A e tenha qualquer sequência de caracteres depois
b) Irá nos trazer qualquer nome que tenha A no meio dele
c) Irá nos trazer todos os nomes que tenham p no segundo caracter
d) nos trazer todos os nomes que terminam com A
e) Irá dar erro de execução

Resposta A

Solução do professor
A letra A é a alternativa correta, pois quando utilizamos o like A%, ele vai pegar exatamente todos os nomes que
comecem com a letra A e o % indica qualquer sequência de caracteres que vem depois do A.

Prof. Ricardo Monteiro

03

Alguns dos serviços que são disponibilizados pelo firebase são esses listados abaixo, exceto:

a) Firebase Auth
b) Firebase Storage
c) Firebase Realm
d) Real-time Database
e) Firebase Auth

Resposta C
Solução do professor
A letra C é a alternativa excepcional, pois este serviço Firebase Realm não existe e não é disponibilizado pelo Firebase.

Prof. Ricardo Monteiro

04

Dentre as vantagens de se utilizar o banco de dados MySql Workbench podemos destacar as seguintes, exceto:

a) Faz uma conexão direta com o banco de dados


b) Possui uma excelente documentação
c) É um ambiente multiplataforma
d) Sua versão é distribuída de forma paga
e) Além de possuir uma curva elevada de aprendizado e com certeza outras diversas vantagens

Resposta D

Solução do professor
A letra D é a alternativa falsa, pois o banco de dados MySql Workbench é distribuído gratuitamente.

Prof. Ricardo Monteiro

05

Analise as sentenças abaixo:

I - Execute, edite e marque qualquer instrução SQL, mesmo consultas em lote;


II- Gerenciar contas e privilégios de usuário MySQL;
III- Gerenciar procedimentos armazenados e gatilhos;
IV- Importar dados de CSV e SQL.

Indique baseado nas sentenças abaixo quais delas são verdadeiras, quando falamos dos recursos do phpMyAdmin:

a) Somente I
b) Somente IV
c) I, II, III
d) I, II, IV
e) I, II, III, IV

Resposta E

Solução do professor
A letra E é a alternativa correta, pois todas essas sentenças fazem parte dos recursos que o phpMyAdmin oferece para
seus usuários.

Prof. Ricardo Monteiro

06

Considere os seguintes comandos para criação de tabelas executados no MySQL:

Assinale a alternativa INCORRETA quanto ao comando SQL que retorne a data de exibição do último capítulo da novela
com nome “Novela A”.

a) select max(data_exibicao) from capitulos where cod_novela in (select codigo from novelas where nome =
'Novela A')
b) select max(data_exibicao) from capitulos left outer join novelas on (capitulos.cod_novela = novelas.codigo)
where novelas.nome = 'Novela A'
c) select max(data_exibicao) from capitulos, novelas where novelas.nome = 'Novela A'
d) select max(data_exibicao) from capitulos inner join novelas on (capitulos.cod_novela = novelas.codigo) where
novelas.nome = 'Novela A'
e) select max(data_exibicao) from novelas right outer join capitulos on (capitulos.cod_novela = novelas.codigo)
where novelas.nome = 'Novela A'

Resposta C

Solução do professor
A letra C é a alternativa incorreta, pois no caso da resposta C, ele não está fazendo o relacionamento das duas tabelas
para poder gerar essa informação.
Prof. Ricardo Monteiro

=======================================================================

Aula – 09 - Criação de API para banco de dados

01

O protocolo HTTP para ter seu funcionamento adequado ele conta com a ajuda dos seus métodos. Dentre os métodos
abaixo, qual deles não pertence ao HTTP:

a) POST
b) PUT
c) DELETE
d) BODY
e) GET

Resposta D

Solução do professor
A letra D é a alternativa que não pertence ao conjunto de métodos que fazem parte do protocolo HTTP.

Prof. Ricardo Monteiro

02

Este método também pode ser usado para criar um recurso no caso em que o ID do recurso é escolhido pelo cliente em
vez do servidor. Em outras palavras, este método serve para uma URI que contenha o valor de um ID de recurso
inexistente. Novamente, o corpo da solicitação contém uma representação de recurso. Muitos acham que isso é
complicado e confuso. Consequentemente, este método de criação deve ser usado com moderação, se for o caso.
Estamos nos referindo ao método:

a) POST
b) DELETE
c) PUT
d) GET
e) HEAD

Resposta C

Solução do professor
O método PUT é usado com mais frequência para recursos de atualização, PUT para um URI de recurso conhecido com o
corpo da solicitação contendo a representação recém-atualizada do recurso original. No entanto, PUT também pode ser
usado para criar um recurso no caso em que o ID do recurso é escolhido pelo cliente em vez do servidor.

Prof. Ricardo Monteiro

03

Os benefícios dos aplicativos híbridos são os seguintes, exceto:

a) Você pode desenvolver para várias plataformas ao mesmo tempo


b) Velocidade no desenvolvimento
c) Você pode enviar o código por meio de componentes estáticos
d) Os sensores e componentes nativos dos dispositivos podem ser usados
e) Você só tem um código base

Resposta C

Solução do professor
Pois todos os códigos são colocados dentro de uma única base com uma velocidade grande de desenvolvimento.

Prof. Ricardo Monteiro

04

Assinale a alternativa falsa. As ferramentas de teste de API permitem que os testadores verifiquem vários aspectos,
incluindo:
a) Se reage adequadamente a casos extremos (por exemplo, falhas e entradas inesperadas)
b) O tempo que leva para entregar uma resposta
c) Se responde com segurança a possíveis ataques de segurança
d) Se uma API estiver interagindo com códigos do cliente
e) Se uma API estiver retornando a resposta esperada e no formato correto

Resposta D

Solução do professor
Pois as ferramentas de teste de API permitem que os testadores verifiquem vários aspectos, incluindo, se uma API
estiver retornando a resposta esperada e no formato correto, se reage adequadamente a casos extremos (por exemplo,
falhas e entradas inesperadas), se responde com segurança a possíveis ataques de segurança e o tempo que leva para
entregar uma resposta.

Prof. Ricardo Monteiro

05

É um ambiente de desenvolvimento de API. Ele é dividido em três partes, Collections, Workspaces e Built-in Tools. As
coleções dele permitem executar solicitações, testar e depurar, criar testes automatizados e simular, documentar e
monitorar a API. Estamos conceituando a ferramenta de consumo de API:

a) ReadyAPI
b) Postman
c) Insomnia
d) JSON
e) ACCELQ

Resposta B

Solução do professor
Pois é um ambiente de desenvolvimento de API. O Postman API Development Environment é dividido em três partes,
Collections, Workspaces e Built-in Tools. As coleções do Postman permitem executar solicitações, testar e depurar, criar
testes automatizados e simular, documentar e monitorar a API. O espaço de trabalho do Postman fornecerá os recursos
de colaboração. Ele permitirá que você compartilhe as coleções, defina permissões e gerencie a participação em vários
espaços de trabalho para qualquer tamanho de equipe.

Prof. Ricardo Monteiro

06

Considere o texto abaixo:

Atualmente muitos desenvolvedores têm exposto seus serviços utilizando uma abordagem que usa um padrão de URI,
fazendo chamadas para um serviço web utilizando, por exemplo:

http://www.empresa.com.br/programa/metodo?parâmetros=xxx (site fictício)

Esta abordagem é adequada para ser utilizada em situações nas quais há limitação de recursos e de largura de banda,
necessitando de uma estrutura de retorno em qualquer formato definido pelo desenvolvedor e suportada por qualquer
navegador. Usa o padrão de chamadas GET, PUT, POST e DELETE e pode usar também objetos XMLHttpRequest que a
maioria dos navegadores modernos suporta. O texto trata especificamente de:

a) CORBA
b) REST
c) SOA
d) ESB
e) SOAP

Resposta B

Solução do professor
No REST cada recurso é identificado por um URI exclusivo (Universal Resource Identifier), REST representam URI na
forma de "/user/name", e operações em métodos HTTP GET, PUT, POST, DELETE, HEADER e OPTIONS, resultando no
próximo recurso sendo transferido de volta para o chamador. Uma característica importante do REST é que o lado do
servidor mantém sem estado entre várias interações, cada servidor nos clusters pode atender o cliente em cada
solicitação.
Prof. Ricardo Monteiro

=======================================================================

Aula – 10 - Trabalhando com GitHub

01

Definimos versionamento como:


a) Como o gerenciamento (armazenamento e recuperação) de versões de objetos, como ao invés de apenas
gerenciar os próprios objetos
b) Como um termo para o ato do servidor de criar várias versões de objetos diferentes sem possibilidade de
atualizar
c) Como um início de um projeto e mantida durante todo o processo de desenvolvimento e contém código de pré-
produção
d) Como estilizar a saída resultante por meio de notações específicas
e) Como um guia de release

Resposta A

Solução do professor
O versionamento tem a capacidade de gerenciar as versões dos objetos criados pelos usuários.

Prof. Ricardo Monteiro

02

Dias (2016) aponta que as perguntas a serem realizadas para analisar a necessidade de um software para controle de
versão, são quatro. Abaixo mostramos as quatro, exceto uma que seria:

a) “Tem dificuldade em recuperar o código de uma versão anterior da que está em produção?”
b) “Têm problemas em manter variações do sistema ao mesmo tempo”
c) “Tem problemas de execução sequencial dentro do projeto”
d) “Têm dificuldades em saber quais as alterações efetuadas em um programa, quando foram feitas e quem fez?”
e) “Alguém já subscreveu o código de outra pessoa por acidente e acabou perdendo as alterações?”

Resposta C

Solução do professor
Não são os problemas de execução sequencial que um software de controle de versão irá ter.

Prof. Ricardo Monteiro

03

Abaixo listamos algumas ferramentas do GitHub. Existe uma ferramenta abaixo que não pertence ao GitHub. Assinale a
alternativa incorreta:

a) Gitpod
b) Imgbot
c) DevHub
d) SplashHub
e) Bolt (por WhiteSource)

Resposta D

Solução do professor
O SplashHuh não é uma ferramenta do GitHub.

Prof. Ricardo Monteiro

04

Um dos comandos do git é o git log, ele serve para:

a) poderá acessar uma versão de código diferente em outra branch ou mesmo navegar para um commit
b) informar quais são os arquivos que sofreram alteração e precisam ser adicionados ao commit
c) criar um novo diretório dentro do local onde é executado e assim clonar o código da branch escolhida a partir de
um repositório remoto para dentro dele
d) por função primária e principal nos permitir navegar entre branches e commits
e) irá mostrar o histórico de commits do branch atual

Resposta E

Solução do professor
É através do git log que vamos visualizar o histórico de commits do branch atual, ou seja, poderemos recordar todos os
commits executados.

Prof. Ricardo Monteiro

05

O Git é um sistema de controle de versões distribuído, utilizado principalmente no desenvolvimento de software. Qual
dos comandos abaixo pode ser utilizado para enviar as alterações de um repositório local para um repositório remoto?

a) git add -A
b) git commit -m
c) git pull origin master
d) git push origin master
e) git reset

Resposta D

Solução do professor
É ela que vai fazer o envio de todas as alterações feitas de um repositório local do github para um repositório remoto.

Prof. Ricardo Monteiro

06

As revisões de código são uma parte fundamental do ciclo de vida de desenvolvimento de software, permitindo que você
identifique bugs antecipadamente. Se você realiza revisões de código em sua empresa, pode incorporar várias
ferramentas para ter um fluxo de trabalho de desenvolvimento mais robusto e facilitar seu trabalho.Foi solicitado que
você corrigisse um defeito em um sistema cujo código-fonte está armazenado em um repositório GIT. A equipe definiu
que é necessário utilizar o padrão “feature branch”, no qual os desenvolvedores precisam criar um branch para cada
demanda em que vão trabalhar. As modificações devem ser feitas nesse branch criado a partir do branch de
desenvolvimento principal. Após o término das alterações necessárias, o código deve ser reintegrado no ramo principal
por uma equipe de revisores.
Analise as operações abaixo:

1. git push
2. git checkout
3. git clone
4. git commit
5. git add

Para que você possa trabalhar na correção do defeito, utilizando o padrão “feature branch”, a ordem correta das
operações acima seria:

a) 2–1–3–4–5
b) 3–1–2–4–5
c) 3–2–5–4–1
d) 5–3–4–2–1
e) 5–3–4–1–2

Resposta C

Solução do professor
A ordem das operações para resolver essa questão é: git clone, git checkout, git add, git commit e git push.

Prof. Ricardo Monteiro

=======================================================================

Aula – 11 - Arquitetura de Projetos Mobile

01
É um kit de ferramentas de interface do usuário de código aberto para criar aplicativos móveis e de desktop de alta
qualidade e desempenho usando tecnologias da Web — HTML, CSS e JavaScript — com integrações para estruturas
populares como Angular , React e Vue . Estamos definindo o:

a) Cordova
b) CSS
c) Ionic
d) Angular JS
e) JavaScript

Resposta C

Solução do professor
O Ionic é um framework HTML front-end construído sobre AngularJS e Cordova. Onde possui um conjunto de
ferramentas para a interação com o usuário.

Prof. Ricardo Monteiro

02

Das características listadas abaixo do Ionic, entendemos que a única alternativa que não é uma característica é a:

a) Ionic CLI - Este é o utilitário NodeJS alimentado com comandos para iniciar, construir, executar e emular
aplicativos Ionic
b) Ionic ScriptStatus − Plataforma muito útil para visualizar o status de execução do Ionic
c) AngularJS - Ionic está usando a arquitetura AngularJS MVC para construir aplicativos de página única ricos
otimizados para dispositivos móveis
d) Componentes CSS − Com a aparência nativa, esses componentes oferecem quase todos os elementos que um
aplicativo móvel precisa. O estilo padrão dos componentes pode ser facilmente substituído para acomodar seus próprios
designs
e) Licença - Ionic é lançado sob licença do MIT

Resposta B

Solução do professor
O Ionic ScripStatus não pertence às características do framework Ionic.

Prof. Ricardo Monteiro

03

Podemos definir componente como:

a) Uma implementação de um conjunto de recursos que são encapsulados por alguma forma de convenção de
codificação
b) Ponto de entrada do nosso aplicativo
c) Uma iteração sobre uma coleção de dados
d) É um cross-platform app runtime que facilita a criação de aplicativos da Web
e) São artefatos de projeto nativos totalmente separados que devem ser considerados parte do seu aplicativo Ionic

Resposta A

Solução do professor
Em um sentido geral, um componente é uma implementação de um conjunto de recursos que são encapsulados por
alguma forma de convenção de codificação. Em outras palavras, você pode pensar em um componente como uma
maneira de isolar um recurso específico do restante do aplicativo. Você pode pensar em como em HTML existem
diferentes tipos de entradas de formulário e cada uma delas é um tipo de componente que possui características
específicas.

Prof. Ricardo Monteiro

04

Ele fornece um conjunto consistente de APIs com foco na Web que permite que um aplicativo fique o mais próximo
possível dos padrões da Web, enquanto acessa recursos avançados de dispositivos nativos em plataformas que os
suportam. Tem suporte total para PWAs. Estamos nos referindo ao:

a) Cordova
b) Capacitor
c) PWA
d) Ionic
e) Adobe PhoneGap

Resposta B

Solução do professor
Capacitor pode funcionar com qualquer projeto da web, não é específico para aplicativos Ionic. Ele fornece um conjunto
consistente de APIs com foco na Web que permite que um aplicativo fique o mais próximo possível dos padrões da Web,
enquanto acessa recursos avançados de dispositivos nativos em plataformas que os suportam. Tem suporte total para
PWAs. É um sucessor espiritual do Apache Cordova e do Adobe PhoneGap. Seu mantra é "Codifique uma vez, configure
em todos os lugares".

Prof. Ricardo Monteiro

05

Analise a figura abaixo:

A figura mostra uma codificação de configuração para dar suporte ao IOS. Estamos nos referindo a codificação do
arquivo:

a) app.modulo.ts
b) geocoder.xml
c) pom.xml
d) native.xml
e) configuration.xml

Resposta E

Solução do professor
A letra E é a alternativa correta, pois é ela que representa os códigos da figura pois estamos adicionando a configuração
de habilitação do IOS para suportar esta plataforma, para o GPS.

Prof. Ricardo Monteiro

06

O Ionic é um kit de ferramentas de interface do usuário de código aberto para criar aplicativos móveis e de desktop de
alta qualidade e desempenho usando tecnologias da Web — HTML, CSS e JavaScript — com integrações para estruturas
populares como Angular , React e Vue .

No contexto do Ionic, quando um analista cria um novo projeto, os principais arquivos gerados pelo framework são:

a) gulpfile.js, config.xml, bower.json, ionic.project e package.json


b) node.js, resources.xml, angular.js, cordova.project. e modules.json
c) node.js, resources.xml, angular.js, cordova.project. e modules.json
d) hooks.js, resources.xml, ionic.app.scss, ionic.project e browser.json
e) angular.js, plug-ins.xml, ionic.app.scss, hook.project e platform.json

Resposta A

Solução do professor
No do Ionic ele irá utilizar esses arquivos para configurar e organizar as informações.

Prof. Ricardo Monteiro

=======================================================================

Aula – 12 - Banco de dados local com Ionic e imagens

01

É um aplicativo da Web que usa recursos modernos da Web para fornecer uma experiência semelhante a um aplicativo
nativo aos usuários. Esses aplicativos atendem a determinados requisitos, são implantados em servidores, acessíveis por
meio de URLs e indexados por mecanismos de pesquisa. Estamos nos referindo ao:

a) CSS
b) JavaScript
c) PWA
d) MPA
e) JSON

Resposta C

Solução do professor
Uum Progressive Web App (PWA) funciona como qualquer outro aplicativo normal, mas com muitos recursos adicionais e
muito menos problemas. Eles são rápidos, confiáveis e podem funcionar perfeitamente em um ambiente offline.
Contendo muitos recursos modernos da Web, por isso hoje é muito utilizado.

Prof. Ricardo Monteiro

02

Qual é principal função do Capacitor no Ionic na manipulação de imagens:

a) Acessar as funcionalidades nativas no telefone o no computador(browser) como por exemplos as imagens


b) Acessar a memória RAM do telefone
c) Acessar o SQLite nativo do telefone
d) Gerar o aplicativo web para rodar nos browser
e) Acessar uma API externa através do arquivo de service

Resposta A

Solução do professor
O Capacitor veio para substituir o Cordova e também é compatível com as funcionalidades Web ao rodar no browser,
sendo que sua função é acessar as funcionalidades nativas no telefone ou no computador através do navegador.

Prof. Ricardo Monteiro

03

Quais das plataformas abaixo não é compatível com Ionic?

a) Android
b) Ios
c) Web
d) Arduino e sistema embarcado
e) Browser (Windows, Linux e OSX)

Resposta D

Solução do professor
Apesar de ser possível o Ionic não é compatível por padrão com plataformas embarcadas como Arduino dentre outros.

Prof. Ricardo Monteiro

04

Qual é função do fileSystem no Ionic e no Android

a) Arquivo no formato de memória


b) Acesso através do capacitor a memória interna do telefone ou browser
c) Acessa a câmera
d) Acessar o GPS do telefone
e) Criar um banco de dados SQLite

Resposta B

Solução do professor
A principal função do fileSytem é acessar a memória interna do telefone ou browser.

Prof. Ricardo Monteiro

05

Qual é vantagem de utilizar um arquivo de service para manipular imagens no Ionic:


a) Somente para que o componente não fique muito complexo
b) reaproveitamento de código, organização, separa as regras de negócio e manipulação de dados
c) Somente para organizar
d) Somente para organizar
e) Para usar melhor o SQlite

Resposta B

Solução do professor
As principais vantagens do service é o reaproveitamento das funções em outras partes do projeto, organizar melhor o
código e separar as regras de negócio e manipular dados.

Prof. Ricardo Monteiro

06

Na prática, o SQLite é capaz de criar um arquivo em disco, ler e escrever diretamente sobre este arquivo. O arquivo
criado possui a extensão “.db” e é capaz de manter diversas tabelas. Uma tabela é criada com o uso do comando
CREATE TABLE da linguagem SQL. Os dados das tabelas são manipulados através de comandos DML (INSERT, UPDATE
e DELETE) e são consultados com o uso do comando SELECT (GONÇALVES, 2011). Sabemos que o núcleo da
infraestrutura SQLite contém o usuário interface, o processador de comandos SQL e a máquina abstrata (SQLite,2019).
Agora vamos discutir o banco de dados SQLite Android e imagens da Internet. Nosso objetivo é simples: obter URLs de
imagem da web e talvez algum texto, salvá-los no banco de dados SQLite, carregar as imagens da internet, claro URLs
do banco de dados SQLite. Basicamente é isso que fazemos aqui, exceto:

a) Baixar imagens da Web, em um site de hospedagem de imagens no meu caso, ou em qualquer lugar para você
b) Salvar as URLs das imagens e algum texto que digitamos em belos Material EditTexts
c) Salvar em nosso banco de dados: nome e url da imagem. Nosso banco de dados SQLite
d) Recuperar de nosso banco de dados, nosso nome e URL da imagem
e) Mostrar de forma personalizada: imagens e texto

Resposta E

Solução do professor
No caso vamos mostrar as imagens e o texto através do método listView e não do saveView.

Prof. Ricardo Monteiro

=======================================================================

Aula – 13 - Adicionando suporte para GPS IONIC

01

Qual foi a primeira aplicação produtiva do GPS?

a) Criação de uma página HTML simples


b) Criar um ponto de partida para a aplicação, configurando as rotas
c) Estabelecer regras e coordenadas geográficas para inclusão do JDK
d) Estabelecer dados geodésicos de alta precisão redes
e) Desenvolver todo o sistema global para todos os climas gerenciado pelo JPO

Resposta D

Solução do professor
A primeira aplicação produtiva do GPS foi estabelecer dados geodésicos de alta precisão redes.

Prof. Ricardo Monteiro

02

O $routeProvider é uma diretiva AngularJS usada para fazer:

a) A adição de algum estilo para um link no main.css


b) A criação de um arquivo js/controllers/AboutController.js
c) A configuração das rotas
d) A renderização das páginas
e) A infraestrutura baseada em nuvem para testar o Android aplicativos
Resposta C

Solução do professor
O $routeProvider é uma diretiva AngularJS usada para fazer a configuração das rotas. Também conectamos o roteador
como uma dependência ['ngRoute'] para trabalhar com $routeProvider. Além disso, devemos conectar a estrutura
AngularJS para a página de saída e o módulo de rota angular.

Prof. Ricardo Monteiro

03

Quando falamos de tipos de dados espaciais para salvar coordenadas no banco de dados, podemos conceituar da
seguinte forma:

a) São tipos de dados que armazenam dados nos bancos externos


b) São instalações para usar um tipo de dado espacial
c) São aplicativos marcador que servem para mostrar sua localização aproximada
d) São tipos de dados que armazenam dados de geometria
e) São coordenadas dos marcadores estritamente no mapa

Resposta D

Solução do professor
Tipos espaciais são tipos de dados que armazenam dados de geometria. Cada aspecto ao nosso redor tem algum tipo de
componente espacial. Podemos visualizar onde estamos vivendo, de que forma estamos viajando, etc. Portanto, os
mapas são apenas uma das maneiras de utilizar dados espaciais.

Prof. Ricardo Monteiro

04

Dentre os vários identificadores de sistemas de referência espacial (SRIDs). O seguinte é notável para trazer benefícios
para o nosso caso de uso. Podemos citar o:

a) 2356
b) 4326
c) 1344
d) 3356
e) 4226

Resposta B

Solução do professor
O 4326 — Representa dados espaciais usando coordenadas de longitude e latitude na superfície da Terra, conforme
definido no padrão WGS84 , que também é usado para o Sistema de Posicionamento Global (GPS).

Prof. Ricardo Monteiro

05

Usado por determinados aplicativos de mapeamento e visualização da Web (Google Maps, Bing ). Estamos nos referindo
a um sistema de SRID chamado:

a) 1356
b) 2856
c) 3857
d) 2857
e) 4326

Resposta C

Solução do professor
O 3857 — Usado por determinados aplicativos de mapeamento e visualização da Web (Google Maps, Bing ). Usa
desenvolvimento esférico de coordenadas elipsoidais.

Prof. Ricardo Monteiro

06
Alguns aplicativos instalados em dispositivos móveis permitem que mapas digitais e imagens de satélite sejam utilizados
para encontrar caminhos, locais de interesse, desvios e alertas de acidentes, de fiscalização ou até mesmo de trânsito
intenso. A informação georreferenciada é cada vez mais comum também em apps que oferecem produtos, serviços e
relacionamentos sociais. [...] Atualmente encontram-se em funcionamento os sistemas de navegação por satélite norte-
americano (GPS) e russo (GLONASS), e estão parcialmente implantados os projetos de navegação por satélite europeu
(GALILEO), chinês (COMPASS ou BeiDou-2) e, mais recentemente, o japonês (MICHIBIKI).

A respeito da tecnologia de navegação por satélite, considere as seguintes afirmativas:

1. É a mais importante fonte de dados de navegação terrestre, pois fornece tanto a posição geográfica quanto a
atualização da base de dados geográficos dos aparelhos celulares (arruamento, pontos de interesse, direções de vias,
entre outros).
2. A informação enviada pelos satélites até o aparelho receptor (smartphone ou tablet, por exemplo) se propaga por
ondas eletromagnéticas e independe da existência de rede de internet.
3. A existência de várias constelações artificiais de sistemas de posicionamento por satélites tende a tornar o sistema
impreciso, devido às interferências entre os sinais emitidos pelos diferentes satélites.

Assinale a alternativa correta.

a) Somente a afirmativa 1 é verdadeira


b) Somente a afirmativa 2 é verdadeira
c) Somente a afirmativa 3 é verdadeira
d) Somente as afirmativas 1 e 2 são verdadeiras
e) Somente as afirmativas 2 e 3 são verdadeiras

Resposta B

Solução do professor
Para as informações serem passadas pelo satélite até o receptor não depende da internet(conexão e envio de dados)
para se concretizar, todo o processo de envio e recebimento são feitos por ondas eletromagnéticas.

Prof. Ricardo Monteiro

=======================================================================

Aula – 14 - Adicionando Push Notification

01

Em qual formato o banco de dados Firebase armazena os seus dados?

a) JSON
b) Firebase AnalyticsFDM
c) FDM
d) SDK
e) JavaScript

Resposta A

Solução do professor
O Firebase é considerado uma plataforma de aplicação web. Isso ajuda os desenvolvedores a criarem aplicativos de alta
qualidade. Ele armazena os dados em formato JavaScript Object Notation (JSON) que não usa consulta para inserir,
atualizar, excluir ou adicionar dados a ele. Isso é o backend de um sistema que é usado como banco de dados para
armazenar dados.

Prof. Ricardo Monteiro

02

Quando falamos de relatórios de falhas do Firebase, estamos indicando que:

a) Eles são os relatórios detalhados dos erros que são criados no aplicativo
b) Ele fornece serviços como banco de dados em tempo real e processo interno
c) Facilita a transferência de arquivos fácil e segura
d) Ele é um serviço pago que é uma solução multiplataforma para mensagens e notificações para Android
e) Ele fornece infraestrutura baseada em nuvem para testar o Android aplicativos

Resposta A
Solução do professor
Pois os Relatórios de falhas do Firebase, são os relatórios detalhados dos erros que são criados no aplicativo. Os erros são
agrupados em clusters de rastreamentos de pilha semelhantes e triados pela gravidade. Os outros recursos são: o
desenvolvedor pode registrar eventos personalizados para ajudar a capturar as etapas que levam a uma batida.

Prof. Ricardo Monteiro

03

Para adicionar a plataforma Android ao nosso aplicativo nós devemos digitar o comando:

a) np add android
b) npx add get android
c) ng cap add android
d) np cap add android
e) npx cap add android

Resposta E

Solução do professor
Pois ao executar esse comando além de adicionar a plataforma Android, ele vai criar a pasta android na raiz do projeto.
Esses são artefatos de projeto nativos totalmente separados que devem ser considerados parte do seu aplicativo Ionic
(ou seja, verifique-os no controle de origem).

Prof. Ricardo Monteiro

04

Ao criar a notificação, você só precisa especificar as seguintes informações, exceto:

a) O agendamento (deixe isso para “Agora”)


b) O alerta pop-up na tela inicial com a notificação por push
c) O Alvo (seja um segmento de usuário ou tópico; recomendo apenas segmentar o próprio aplicativo iOS ou
Android)
d) O título (somente Android, opcional para iOS)
e) O texto da notificação

Resposta B

Solução do professor
A letra B é a alternativa exceção, pois ao criar a notificação, você só precisa especificar as seguintes informações:
1. O texto da notificação
2. O título (somente Android, opcional para iOS)
3. O Alvo (seja um segmento de usuário ou tópico; recomendo apenas segmentar o próprio aplicativo iOS ou Android)
4. O agendamento (deixe isso para “Agora”)
Nesse ponto, você pode revisar a notificação que reuniu e selecionar Publicar para enviar a notificação.

Prof. Ricardo Monteiro

05

Como faço para importar o OneSignalService pacote OneSignal-ngx npm:

a) import { OneSignalSDKUpdate } from 'onesignal-ngx'


b) import npm i onesignal-ngx
c) import { OneSignalService } from 'onesignal-ngx'
d) import class AppComponent OneSignal-ngx
e) import { OneSignalService }

Resposta C

Solução do professor
Pois depois de inserir os arquivos SDK em seu projeto Angular, você precisa tornar seu componente Angular ciente do
pacote OneSignal NPM. Para fazer isso, navegue até o componente em que deseja usar o pacote OneSignal NPM. Para
este exemplo, estou usando o app.component.ts arquivo porque é o primeiro componente que meu aplicativo carregará.
Na parte superior do arquivo escolhido, importe o OneSignalService pacote OneSignal-ngx npm . Através dessa linha de
comando: import { OneSignalService } from 'onesignal-ngx';

Prof. Ricardo Monteiro


06

O Firebase Auth oferece suporte a provedores de login social como o Facebook, Google GitHub e Twitter. É um serviço
que pode autenticar usuários usando apenas código do lado do cliente e é pago pelo serviço. Inclui também um sistema
de gestão de utilizadores através do qual os desenvolvedores podem habilitar a autenticação do usuário com e-mail e
login de senha armazenados no Firebase. O Firebase fornece serviços como banco de dados em tempo real e processo
interno. Uma API é fornecida ao desenvolvedor do aplicativo que permite que os dados do aplicativo sejam sincronizados
entre clientes e armazenados na nuvem do Firebase. As bibliotecas cliente são fornecidas pela empresa que permite a
integração com Aplicativos Android, IOS e JavaScript. Além disso ele fornece um laboratório de teste do Firebase para
Android o qual podemos conceituar da seguinte forma:

a) Ele fornece infraestrutura baseada em nuvem para testar o Android aplicativos


b) Facilita a transferência de arquivos fácil e segura, independentemente da rede qualidade para os aplicativos do
Firebase
c) Fornece serviços como banco de dados em tempo real e processo interno
d) Fornece uma gestão de utilizadores através do qual os desenvolvedores podem habilitar a autenticação do
usuário com e-mail e login de senha armazenados no Firebase
e) Ele fornece os relatórios detalhados dos erros que são criados no aplicativo

Resposta A

Solução do professor
Pois fornece infraestrutura baseada em nuvem para testar o Android aplicativos. Com uma operação, os
desenvolvedores podem iniciar o teste de seus aplicativos em uma ampla variedade de dispositivos e configurações. Os
vários resultados de teste, como capturas de tela, vídeos e registros estão disponíveis no console do Firebase. Mesmo
que um desenvolvedor não tenha escrito nenhum código de teste para seu aplicativo, Test Lab pode exercitar o aplicativo
automaticamente, procurando por falhas.

Prof. Ricardo Monteiro

=======================================================================

Aula – 15 - Modificando o app para um projeto postos de gasolina.

01

Qual é principais vantagens de usar REST API em vez do SQLite:

a) Dados salvos em um banco de dados em um servidor com mais segurança e poder acessar de outro dispositivo
b) Não tem vantagem o SQLite é mais vantajoso, pois grava os dados no app
c) Menor complexidade
d) Integridade dos dados
e) Usar um banco de dados SGBD e a linguagem Javascript

Resposta A

Solução do professor
A principal vantagem seria a integridade em relação a segurança os dados podem ser salvos em um banco de dados e
poder acessar as informações de outro dispositivo.

Prof. Ricardo Monteiro

02

Qual é função do código a seguir:

a) Salvar dados no SQLite


b) Deletar os dados do SQLite
c) Criar um banco de dados e executar um SQL
d) Listar dados armazenados em um banco de dados somente
e) Acessar uma REST API

Resposta C

Solução do professor
A resposta correta é letra C, pois o código acima cria um banco de dados e executa um SQL.

Prof. Ricardo Monteiro


03

Qual é explicação das funções do ion-button abaixo:

a) Verificar se o formulário foi preenchido com as validações e dar submit no formulário caso o usuário clique no
botão
b) Gravar as informações no banco de dados através de uma função no arquivo de service
c) Criar o banco SQLite
d) Somente validar o formulário sem enviar nada para o componente
e) Ir para a página do mapa

Resposta A

Solução do professor
A resposta é letra A pois o código acima vai validar se o formulário foi preenchido e dar o submit.

Prof. Ricardo Monteiro

04

Qual é vantagem são as vantagens de usar orientação a objetos no desenvolvimento IONIC exceto?

a) os componentes do angular nada mais são do que classes reconhecidas


b) os códigos ficam mais organizados
c) poder mapear os objetos json com classes Typescript
d) utilizar SQLite, sessionStorage e localStorage
e) poder de desenvolver classes abstratas e interfaces

Resposta D

Solução do professor
Geralmente sessionStorage é armazenado em string sem ser orientado a objetos.

Prof. Ricardo Monteiro

05

Qual a diferença entre SQLite e session Storage no IONIC?

a) ambas tecnologias armazenam dados no aplicativo, porém o SQLite é um banco de dados relacional já o
sessionStorage somente armazena uma dado no aplicativo
b) ambas tecnologias são de banco de dados baseado em SQL
c) ambas tecnologias são banco de dados não relacionais
d) são tecnologias para armazenamento do dados de geolocalização GPS de forma dinâmica
e) são tecnologias específicas para armazenamento de imagem

Resposta A

Solução do professor
As duas são tecnologias voltadas para o armazenamento de dados e salvam os dados no aplicativo, porém o SQLite é
um banco de dados relacional baseado em SQL já o sessionStorage somente armazena um dado no aplicativo.

Prof. Ricardo Monteiro

06

O Ionic é um kit de ferramentas de interface do usuário de código aberto para criar aplicativos móveis e de desktop de
alta qualidade e desempenho usando tecnologias da Web — HTML, CSS, Typescript e JavaScript. Quais das tecnologias
abaixo são suportadas pelo IONIC e qual sua principal vantagem?

a) Angular, React, Vue e Javascript e vantagem ser um framework híbrido em vários frameworks e linguagens
b) Kotlin e Swift, a vantagem é ser orientado a objetos
c) PHP e Laravel, a vantagem é ser fácil de utilizar
d) Go Lang e Ruby On Rails, a vantagem é ser um código nativo e que acessa diretamente o S.O.
e) Somente Angular, a vantagem é utilizar o typescript

Resposta A
Solução do professor
A letra A é a alternativa correta, pois no do Ionic ele irá utilizar esses arquivos para configurar e organizar as informações.

Prof. Ricardo Monteiro

=======================================================================

Aula – 16 - Mapa e conexão com a API

01

Qual é a função do código abaixo?

a) Criar o mapa
b) Carregar da API os dados para mostrar no Mapa
c) Carregar o mapa do SQLite
d) Carregar o mapa do localStorage
e) Adicionar marcadores ao Mapa

Resposta A

Solução do professor
A letra A é alternativa correta, pois o código acima instância a classe do mapa, cria o mesmo e mostra ele na tela do
telefone.

Prof. Ricardo Monteiro

02

Qual é a principal vantagem ou vantagens de usar Mapas e GPS para aplicações mobile?

a) Obter a localidade do dispositivo o que torna a usabilidade mais atrativa para os usuários e dar uma referência de
localização geográfica em um ambiente online poder enviar as informações geográficas para o back-end para uma
melhor análise interna da equipe do App
b) Melhor a usabilidade em um ambiente offline
c) Melhor somente a usabilidade do app
d) Usar o SQLite como base de dados
e) Poder somente melhorar a monetização do App

Resposta A

Solução do professor
Obter a localidade do dispositivo o que torna a usabilidade mais atrativa para os usuários e dar uma referência de
localização geográfica em um ambiente online poder enviar as informações geográficas para o back-end para uma
melhor análise interna da equipe do App.

Prof. Ricardo Monteiro

03

Qual é a função do código abaixo?

a) Adicionar somente um marker no mapa


b) DataBinding
c) Bugsnag
d) Recuperar os dados do SQLite
e) Percorrer a lista de postos de gasolina e adicionar um marker

Resposta E

Solução do professor
No código vai fazer um foreach e percorrer a lista de postos de gasolina e adicionar um marker.

Prof. Ricardo Monteiro

04

Com relação às informações abaixo sobre Ionic, qual está incorreta?


a) Gera códigos em Android, IOS e Web
b) Ionic é um framework híbrido multiplataforma
c) Ionic utiliza Angular, React e Javascript como base para criar os projetos
d) Utiliza a linguagem Kotlin / Android Nativo como principal linguagem de programação
e) A linguagem de programação é quando utiliza Angular é o Typescript

Resposta D

Solução do professor
A linguagem principal quando se usa Angular é Typescript.

Prof. Ricardo Monteiro

05

Qual é a função do código abaixo:

a) centralizar o mata através da função setCamera na latitude / logitude informada


b) adicionar um marker
c) gravar a informação da latitude e longitude no banco de dados
d) renderizar o mapa no HTML
e) Inicializar o mapa

Resposta A

Solução do professor
Centralizar o mata através da função setCamera na latitude / logitude informada movendo o campo central do mapa
para ponto informado.

Prof. Ricardo Monteiro

06

O que é necessário para publicar um aplicativo na loja Play Store do Android?

a) Ter um email google somente


b) Gerar um build assinado e ter um conta google e se cadastrar como distribuidor de aplicativos
c) Somente gerar um build assinado
d) Ter um banco de dados firebase e gerar um build assinado e ter uma conta na Play Store
e) Ter uma conta na Apple e App store

Resposta B

Solução do professor
Gerar um build assinado e ter um conta google e se cadastrar como distribuidor de aplicativos para publicar nas lojas.

Prof. Ricardo Monteiro

=======================================================================

Lista de revisão 01

01

Leia o trecho a seguir:

"Design thinking é uma abordagem para inovação centrada no ser humano que emprega métodos e ferramentas
específicas para entender as necessidades dos usuários, desafiar suposições e criar soluções inovadoras e viáveis. Essa
abordagem se concentra no processo de cocriação, em que equipes multidisciplinares colaboram para gerar ideias,
prototipar soluções e testá-las com usuários reais. O design thinking se baseia na empatia, no pensamento crítico e na
experimentação, e tem sido amplamente adotado por organizações em todo o mundo como uma forma de enfrentar
desafios complexos e incertos."

(BROWN; KATZ, 2011, p. 34). Referência ABNT: BROWN, T.; KATZ, B. Change by design: how design thinking can
transform organizations and inspire innovation. HarperCollins, 2011.

De acordo com o trecho destacado e o seu conhecimento sobre a criação de artefatos para solucionar um problema, qual
é a definição de design thinking?
a) Uma abordagem metodológica de projetos que busca soluções de problemas de forma individual e competitiva.
b) Uma técnica de design que prioriza a estética visual em detrimento da funcionalidade.
c) Uma filosofia de design que valoriza a originalidade acima da eficácia.
d) Uma abordagem metodológica de projetos que busca soluções de problemas de forma criativa, coletiva e
colaborativa.
e) Uma metodologia de desenvolvimento de software que enfatiza a escrita de documentação detalhada.

Resposta D

Solução do professor
De acordo com as nossas aulas, observamos que “o design thinking poderia ser classificado como uma abordagem
metodológica de projetos que busca soluções de problemas de forma criativa, coletiva e colaborativa. Sendo assim, pode
ser aplicada em várias áreas, como desenvolvimento de sites com o intuito de atender a necessidade e os desejos do
público alvo, ou mesmo nas aplicações de projetos sustentáveis ou mesmo em soluções que precisam identificar falhas e
com isso aperfeiçoar o processo, pois a tendência é sempre sugerirmos a mesma solução para novos desafios, e na
maioria das vezes isso não é efetivo, por isso que o design thinking vem com uma proposta de mudar de certa forma o
jeito como os problemas são resolvidos e assim inovar”. O texto apresenta uma definição clara e concisa de design
thinking, descrevendo-a como uma abordagem metodológica de projetos que busca soluções de problemas de forma
criativa, coletiva e colaborativa. As opções B, C e E apresentam definições incorretas ou incompletas, enquanto a opção A
apresenta uma definição parcialmente correta, mas que contradiz o trecho destacado.

Prof. Emanuella Amaral

02

Leia o trecho a seguir.

"Levantar requisitos é uma atividade crucial em qualquer projeto de desenvolvimento de software, incluindo aqueles
voltados para dispositivos móveis. No caso de projetos móveis, é preciso considerar aspectos como a diversidade de
dispositivos e plataformas, as restrições de hardware e conectividade, e as expectativas dos usuários em relação à
experiência móvel. É importante envolver os usuários finais e outros stakeholders desde o início do projeto, a fim de
entender suas necessidades e expectativas, e também considerar fatores como usabilidade, segurança e escalabilidade.
O levantamento de requisitos em projetos móveis deve ser um processo iterativo e colaborativo, envolvendo equipes
multidisciplinares e utilizando técnicas como entrevistas, prototipação e testes de usabilidade."
(TURBAN et al., 2018, p. 151). Referência ABNT: TURBAN, E. et al. Tecnologia da informação para gestão:
transformando os negócios na economia digital. Bookman, 2018.

Considerando as informações acima e no conteúdo estudado sobre Levantamento de Requisitos, analise as asserções a
seguir e a relação proposta entre elas:

I. Requisitos de usuário são enunciados, escritos em linguagem natural com diagramas, sobre os serviços que o sistema
deverá oferecer aos seus usuários e as restrições de como eles devem funcionar.
PORQUE
II. Requisitos de sistema são descrições mais detalhadas das funcionalidades, serviços e limitações do sistema de
software. O documento de requisito do sistema deve estabelecer com rigor o que deve ser implementado.

A respeito dessas asserções, assinale a alternativa correta.

a) As asserções I e II são proposições verdadeiras, e a II é uma justificativa correta da I.


b) As asserções I e II são proposições falsas.
c) A asserção I é uma proposição falsa, e a II é uma proposição verdadeira.
d) A asserção I é uma proposição verdadeira, e a II é uma proposição falsa.
e) As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa correta da I.

Resposta E

Solução do professor

A afirmação I é sobre requisitos de usuário e a afirmação II é sobre requisitos de sistema.


A afirmação I é verdadeira, pois requisitos de usuário são enunciados escritos em linguagem natural que descrevem os
serviços que o sistema deve oferecer e as restrições de como eles devem funcionar. Esses requisitos são importantes
para garantir que o software atenda às necessidades e expectativas dos usuários finais.
A afirmação II também é verdadeira, pois requisitos de sistema são descrições mais detalhadas das funcionalidades,
serviços e limitações do sistema de software. O documento de requisitos do sistema deve estabelecer com rigor o que
deve ser implementado para que o software atenda aos requisitos de negócio e de usuários. Portanto, ambas as
afirmações são verdadeiras e estão corretas. A justificativa apresentada na segunda parte da afirmação também é
verdadeira, mas não é necessária para validar a afirmação I.

Prof. Emanuella Amaral


03

Leia o trecho a seguir.

"O método kanban é uma abordagem para gestão de processos baseada em cartões ou post-its que representam as
atividades a serem realizadas em um fluxo de trabalho. O objetivo do método é maximizar a eficiência do fluxo de
trabalho, minimizando o desperdício e reduzindo o lead time. O método kanban pode ser aplicado em diversos
contextos, desde a manufatura até o desenvolvimento de software, e é frequentemente utilizado em conjunto com
outras abordagens ágeis, como o Scrum. O método kanban é baseado em princípios como visualização do fluxo de
trabalho, limitação do trabalho em progresso, gestão do fluxo e melhoria contínua." (ANDERSON, 2010, p. 3).
Referência ABNT: ANDERSON, D. J. Kanban: successful evolutionary change for your technology business. Blue Hole
Press, 2010.

Com base no texto e nos seus conhecimentos sobre as etapas do kanban, analise as afirmativas a seguir e assinale V
para a(s) verdadeira(s) e F para a(s) falsa(s).

I. ( ) Preparar a equipe: Nesta etapa iremos reunir todos os colaboradores que fazem parte da sua equipe e realizamos a
explicação de como será o novo sistema de trabalho.
II. ( ) Mapear os processos: A segunda etapa consiste no mapeamento de processos, é neste momento que deverá
mapear todos os processos que serão executados pela sua equipe de trabalho
III. ( ) Avaliar para melhorar: Na terceira etapa iremos avaliar os processos, isto é, precisando estabelecer a
comunicação entre todos os colaboradores, definimos um modelo de priorização, ou seja, saberemos indicar se uma
tarefa terá uma urgência em sua entrega.
IV. ( ) Definir esquema de cores e priorização: na última etapa, assim como temos em todas as adaptações, o kanban
também pode trazer alguns desafios e mesmo muitas dificuldades para toda a equipe, por este motivo é muito
importante fazer uma avaliação sobre a opinião da equipe sempre pensando na melhoria de todo o processo.

Agora, assinale a alternativa que apresenta a sequência correta:

a) F, F, V, V
b) V, F, V, F
c) F, V, V, V
d) V, V, F, F
e) F, F, V, F

Resposta D

Solução do professor
De acordo com as nossas aulas, podemos dividir o kanban em quatro etapas, descritas a seguir:
“Preparar a equipe
Nesta etapa iremos reunir todos os colaboradores que fazem parte da sua equipe e realizamos a explicação de como
será o novo sistema de trabalho. Mesmo parecendo um sistema de simples compreensão, podem surgir muitas dúvidas
nesse processo de como utilizá-lo, portanto neste momento é de grande importância fazer uma reunião com toda a
equipe de trabalho para esclarecer possíveis dúvidas.
Mapear os processos
A segunda etapa consiste no mapeamento de processos, é neste momento que deverá mapear todos os processos que
serão executados pela sua equipe de trabalho, pois tem o intuito de saber quais colunas serão necessárias para dar conta
de entender e traduzir todos os status pelos quais uma tarefa deverá passar.
Definir esquema de cores e priorização
Precisando estabelecer a comunicação entre todos os colaboradores, definimos um modelo de priorização, ou seja,
saberemos indicar se uma tarefa terá uma urgência em sua entrega. Para executar esses esquemas, podemos utilizar
uma coluna específica ou mesmo utilizar o esquema de cores. Se formos utilizar o sistema de cores temos que definir
qual será o papel das cores no seu sistema de gestão e também o que elas irão representar (prioridade, responsável,
tipo de tarefa, etc.).
Avaliar para melhorar
Assim como temos em todas as adaptações, o kanban também pode trazer alguns desafios e mesmo muitas
dificuldades para toda a equipe, por este motivo é muito importante fazer uma avaliação sobre a opinião da equipe
sempre pensando na melhoria de todo o processo.”

Prof. Emanuella Amaral

04

Leia o trecho a seguir.

"A usabilidade é um aspecto chave da qualidade do software, que tem um impacto direto na experiência do usuário e,
consequentemente, na satisfação do cliente. A usabilidade diz respeito à facilidade com que os usuários podem interagir
com um sistema e realizar suas tarefas de forma eficiente e satisfatória. Para garantir uma boa usabilidade, é necessário
considerar fatores como a clareza da interface, a consistência da navegação, a facilidade de aprendizado e a eficiência da
interação. A usabilidade deve ser considerada desde as fases iniciais do desenvolvimento de software, e pode ser
avaliada por meio de testes de usabilidade e outras técnicas de avaliação, envolvendo usuários reais e especialistas em
usabilidade." (SOMMERVILLE, 2011, p. 123).

Referência ABNT: SOMMERVILLE, I. Engenharia de software. Pearson Education, 2011.

Com base no texto e no que foi abordado sobre prototipagem de softwares, qual é a definição de protótipo?

a) Um esboço visual do sistema que é usado para criar uma identidade visual para o produto.
b) Uma representação teórica do sistema que é usada para comunicar ideias e conceitos.
c) Um modelo físico funcional de um sistema ou subsistema que serve como uma versão preliminar do sistema ou
componente.
d) Uma lista de requisitos que descrevem as funcionalidades e serviços que o sistema deve oferecer.
e) Uma especificação detalhada dos requisitos de negócio que orientam o desenvolvimento do sistema.

Resposta C

Solução do professor
De acordo com as nossas aulas, observamos que “Um protótipo é um modelo físico funcional de um sistema ou um
subsistema, um protótipo serve como uma versão preliminar do sistema ou componente de quais requisitos são
extraídos e em quais versões subsequentes são baseadas”. O texto define protótipo como um modelo físico funcional de
um sistema ou subsistema que serve como uma versão preliminar do sistema ou componente. As opções A, B, D e E
apresentam definições incorretas ou incompletas de protótipo. A definição correta é importante porque protótipos são
amplamente utilizados no processo de desenvolvimento de software para validar ideias, identificar problemas e obter
feedback dos usuários antes de gastar tempo e recursos na construção do sistema completo.

Prof. Emanuella Amaral

05

Leia o trecho a seguir.

"O Angular é um framework para desenvolvimento de aplicações web, que utiliza a linguagem TypeScript como base. O
TypeScript é uma linguagem que estende o JavaScript, adicionando recursos como tipagem estática, interfaces, classes e
módulos. O Angular é projetado para permitir o desenvolvimento de aplicações escaláveis e modulares, que podem ser
facilmente testadas e mantidas. O Angular inclui recursos como injeção de dependências, componentes, serviços e
roteamento, que permitem a criação de aplicações complexas de forma eficiente e organizada. O TypeScript, por sua
vez, ajuda a reduzir erros de programação e a aumentar a produtividade do desenvolvedor, tornando o código mais
legível e fácil de entender." (FREEMAN; ROBSON, 2017, p. 3).

Referência ABNT: FREEMAN, A.; ROBSON, A. Angular 4: descomplicando a web com Typescript. Novatec Editora, 2017.

Considerando as informações acima e no conteúdo estudado sobre Angular PWA, qual é o componente pai padrão em
um projeto Angular e como ele se relaciona com os componentes filhos?

a) O componente raiz, que não tem relação com os componentes filhos.


b) O componente app.component.ts, que importa classes de dependência do projeto e pode ter vários componentes
filhos.
c) O componente main.component.ts, que serve como ponto de entrada para o aplicativo Angular.
d) O componente base.component.ts, que define a estrutura básica de todos os componentes filhos.
e) O componente pai não é necessário em um projeto Angular.

Resposta B

Solução do professor
De acordo com as nossas aulas, estudamos que “para entender um pouco sobre a arquitetura de componentes temos
que pensar que no Angular sempre temos um componente pai denominado app.components.ts esse componente tem
um arquivo HTML um arquivo de module que serve para importar as classes de dependência do projeto. Esse
componente pai pode ter vários componentes filhos geralmente se criar um componente de rotas e dentro desse
componente renderizamos nossos componentes que vamos denominar páginas”. O texto apresenta que o componente
pai padrão em um projeto Angular é o app.component.ts. Ele importa classes de dependência do projeto e pode ter
vários componentes filhos. Esses componentes filhos podem ser organizados em diferentes hierarquias e renderizados
dentro do componente pai ou dentro de outros componentes filhos. As opções A, C, D e E apresentam definições
incorretas ou incompletas dos componentes em um projeto Angular. É importante entender a estrutura de componentes
em um projeto Angular para poder desenvolver aplicações escaláveis e fáceis de manter.

Prof. Emanuella Amaral


=======================================================================

Lista de revisão 02

01

Leia o trecho a seguir.

Segundo SILBERSCHATZ et al. (2019, p. 458), "os bancos de dados são uma parte essencial da maioria das aplicações
modernas. Os aplicativos que gerenciam grandes quantidades de dados precisam de um banco de dados para
armazená-los, organizar e recuperá-los". Com o aumento no número de aplicativos móveis, os bancos de dados para
apps também se tornaram mais relevantes. É importante que esses bancos de dados sejam projetados para lidar com as
limitações dos dispositivos móveis, como a limitação de espaço de armazenamento e a conexão de internet intermitente.
Além disso, os bancos de dados para apps precisam ser escaláveis e seguros para garantir a integridade dos dados dos
usuários.

Referência bibliográfica: SILBERSCHATZ, A. et al. Sistemas de Banco de Dados. 6. ed. São Paulo: Pearson, 2019.

De acordo com o trecho destacado e o seu conhecimento sobre Bancos de Dados para Apps, qual é a definição do
SQLite?

a) Um servidor de banco de dados SQL gratuito para fins privados e comerciais.


b) Uma linguagem de programação que pode ser usada em vários sistemas operacionais incorporados.
c) Uma biblioteca de processo que implementa um banco de dados SQL autocontido, sem configuração, sem
servidor e motor transacional.
d) Um motor transacional que liga várias linguagens de programação como C, C++, BASIC, C#, Python, Java e
Delphi.
e) Um pacote de software que torna o SQLite mais acessível, principalmente a linguagens de script no Windows.

Resposta C

Solução do professor
De acordo com as nossas aulas: “O SQLite pode ser definido como uma biblioteca de processo que implementa um
banco de dados SQL autocontido, sem configuração, sem servidor e motor transacional. No caso do seu código-fonte
está disponibilizado em domínio público e neste caso é gratuito para fins privados e comerciais. SQLite tem ligações a
várias linguagens de programação como C, C++, BASIC, C#, Python, Java e Delphi. O COM (ActiveX) wrapper que torna
o SQLite mais acessível principalmente a linguagens de script no Windows, também como VB Script e JavaScript,
adicionando assim muitos mais recursos para aplicativos HTML. Também está disponível em sistemas operacionais
incorporados, como iOS, Android, Symbian OS, Maemo, Blackberry e WebOS devido ao seu pequeno tamanho e
facilidade de uso”. O texto apresenta a definição do SQLite como uma biblioteca de processo que implementa um banco
de dados SQL autocontido, sem configuração, sem servidor e motor transacional. O texto ainda destaca que o código-
fonte do SQLite está disponibilizado em domínio público, tornando-o gratuito para fins privados e comerciais, e que ele
tem ligações a várias linguagens de programação, como C, C++, BASIC, C#, Python, Java e Delphi. O COM (ActiveX)
wrapper é mencionado como uma opção que torna o SQLite mais acessível, principalmente a linguagens de script no
Windows.

Prof. Wanessa Rastoldo

02

Leia o trecho a seguir.

De acordo com CHAVES e FONSECA (2019, p. 2), "a criação de APIs é uma das atividades mais importantes e
frequentes realizadas no desenvolvimento de aplicações modernas". As APIs para banco de dados são fundamentais
para permitir que diferentes sistemas possam se comunicar e acessar os dados de forma segura e controlada. É
importante que essas APIs sejam bem projetadas e documentadas para facilitar o desenvolvimento de aplicações que
dependem delas. Além disso, as APIs para banco de dados devem considerar as questões de segurança e privacidade,
garantindo que apenas as informações necessárias sejam compartilhadas com as aplicações cliente.
Referência bibliográfica: CHAVES, J. P.; FONSECA, C. M. Desenvolvimento de Aplicações com API. Rio de Janeiro:
Novatec, 2019.

Considerando as informações acima e no conteúdo estudado sobre criação de API para Banco de Dados, analise as
asserções a seguir e a relação proposta entre elas:

I. O POST é usado com mais frequência para **criar** novos recursos. Em particular, é usado para criar recursos
subordinados.
PORQUE
II. O método PUT é usado com mais frequência para recursos de **atualização**, PUT para um URI de recurso
conhecido com o corpo da solicitação contendo a representação recém-atualizada do recurso original.
A respeito dessas asserções, assinale a alternativa correta.

a) As asserções I e II são proposições verdadeiras, e a II é uma justificativa correta da I.


b) As asserções I e II são proposições falsas.
c) A asserção I é uma proposição falsa, e a II é uma proposição verdadeira.
d) A asserção I é uma proposição verdadeira, e a II é uma proposição falsa.
e) As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa correta da I.

Resposta E

Solução do professor
A afirmação I está correta, pois “O verbo POST é usado com mais frequência para **criar** novos recursos. Em
particular, é usado para criar recursos subordinados. Ou seja, subordinado a algum outro recurso (por exemplo, pai). Em
outras palavras, ao criar um novo recurso, POST passa o pai e o serviço se encarrega de associar o novo recurso ao pai,
atribuir um ID (novo URI de recurso), etc”. Além disso, A afirmação II também está correta, pois “o método PUT é usado
com mais frequência para recursos de **atualização**, PUT para um URI de recurso conhecido com o corpo da
solicitação contendo a representação recém-atualizada do recurso original. No entanto, PUT também pode ser usado
para criar um recurso no caso em que o ID do recurso é escolhido pelo cliente em vez do servidor. Em outras palavras,
se o PUT for para uma URI que contenha o valor de um ID de recurso inexistente”. No entanto, as asserções I e II são
proposições verdadeiras, mas a II não é uma justificativa correta da I.

Prof. Wanessa Rastoldo

03

Leia o trecho a seguir.

Segundo SILBERSCHATZ et al. (2019, p. 458), "os bancos de dados são uma parte essencial da maioria das aplicações
modernas. Os aplicativos que gerenciam grandes quantidades de dados precisam de um banco de dados para
armazená-los, organizar e recuperá-los". Com o aumento no número de aplicativos móveis, os bancos de dados para
apps também se tornaram mais relevantes. É importante que esses bancos de dados sejam projetados para lidar com as
limitações dos dispositivos móveis, como a limitação de espaço de armazenamento e a conexão de internet intermitente.
Além disso, os bancos de dados para apps precisam ser escaláveis e seguros para garantir a integridade dos dados dos
usuários.

Referência bibliográfica: SILBERSCHATZ, A. et al. Sistemas de Banco de Dados. 6. ed. São Paulo: Pearson, 2019.

Com base no exposto e nos seus conhecimentos sobre Banco de dados local com Ionic e imagens, qual é o objetivo do
comando "ionic g service services/photo"?

a) Criar um novo projeto Ionic-Android.


b) Adicionar uma nova página ao projeto Ios.
c) Criar um novo componente no projeto Android.
d) Criar um novo serviço no projeto Ionic.
e) Adicionar uma nova dependência ao projeto Services-Ios.

Resposta D

Solução do professor
De acordo com as nossas aulas, observamos que “O Ionic framework permite criar aplicativos multiplataforma onde
conseguimos criar um projeto Web, Android e Ios. Isso é possível, pois o Ionic utiliza o capacitor e o cordova para
acessar funcionalidades do telefone ou do sistema operacional, como por exemplo o sistema de arquivos do telefone.
Além disso, o comando "ionic g service" é utilizado para criar um novo serviço dentro do projeto Ionic.

Prof. Wanessa Rastoldo

04

Leia o trecho a seguir.

De acordo com Tanenbaum et al. (2015, p. 403), "para permitir que um aplicativo saiba sua localização, ele precisa
acessar o hardware GPS do dispositivo. Para fazer isso, o aplicativo precisa de permissão do usuário e, em seguida,
precisa solicitar a localização atual do dispositivo ao sistema operacional". Os autores explicam que, em dispositivos
móveis, o GPS é uma das fontes de informação de localização, mas não a única. O sistema operacional pode usar
informações de torres de celular e pontos de acesso Wi-Fi para determinar a localização aproximada. No entanto, quando
a precisão é importante, como em aplicativos de navegação ou monitoramento de atividades físicas, o GPS é a melhor
opção.
Referência: TANENBAUM, A. S.; VAN STEEN, M.; BOS, H. Sistemas distribuídos: princípios e paradigmas. São Paulo:
Pearson, 2015.

Com base no exposto e nos seus conhecimentos sobre como adicionar suporte para GPS, qual é a finalidade do comando
"ng g component pages/gps" no projeto Angular?

a) Gerar um novo serviço na pasta pages-Ios.


b) Gerar um novo módulo na pasta pages/Android.
c) Gerar um novo componente chamado "gps" na pasta pages.
d) Gerar uma nova diretiva na pasta Services.
e) Gerar um novo pipe na pasta pages.

Resposta C

Solução do professor

O comando "ng g component" é usado para gerar um novo componente Angular. A opção "pages/gps" especifica que o
componente deve ser criado dentro da pasta "pages" e com o nome "gps". Portanto, a resposta correta é a alternativa C.
As outras opções mencionadas (gerar um novo serviço, módulo, diretiva ou pipe) requerem comandos diferentes.

Prof. Wanessa Rastoldo

05

Leia o trecho a seguir.

Conforme Alharbi e Alshahrani (2019, p. 3), "as notificações push são mensagens que aparecem em um dispositivo
móvel, mesmo quando o aplicativo não está em execução. Os usuários podem receber notificações push de aplicativos
instalados em seus dispositivos, desde que tenham permitido que o aplicativo envie notificações". Os autores explicam
que as notificações push são úteis para manter os usuários informados sobre eventos relevantes, como atualizações de
conteúdo, mensagens recebidas ou atividades em andamento. Além disso, as notificações push podem ser
personalizadas com base nas preferências do usuário, o que aumenta a eficácia da comunicação.

Com base no exposto e nos seus conhecimentos sobre como trabalhar com Push Notification, qual é a função do
Firebase?

a) Armazenar dados em formato XML


b) Armazenar dados em formato CSV
c) Armazenar dados em formato JSON
d) Armazenar dados em formato SQL
e) Armazenar dados em formato YAML

Resposta C

Solução do professor
O Firebase armazena dados em formato JavaScript Object Notation (JSON), que é um formato leve e amplamente
utilizado para troca de dados na web. O Firebase é uma plataforma completa que fornece diversos recursos para
desenvolvedores, incluindo autenticação, armazenamento de arquivos, análise de dados e outras funcionalidades úteis
para o desenvolvimento de aplicativos web e móveis.

Prof. Wanessa Rastoldo

Você também pode gostar