Prévia do material em texto
Programação 1. Analise o DFD extraído do livro "Engenharia de Software: Os Paradigmas Clássicos & Orientado a Objetos" página 337: Agora, informe o que significa o elemento com o conteúdo "process_orders (processamento de pedidos)": O elemento representa uma função. (Alternativa correta) O elemento representa um dado de entrada. O elemento representa um dado de saída. O elemento representa um fluxo. 2. O desenvolvimento de sistemas críticos, como, por exemplo, um sistema para caixa eletrônico de banco, exige confiabilidade elevada. Um problema como a violação dos dados de clientes do banco afeta a confiabilidade do sistema. Levando em consideração as quatro principais propriedades de confiança, qual dimensão é afetada neste exemplo específico? Proteção. (Alternativa correta) Confiabilidade. Disponibilidade. Segurança. 3. Analise as alternativas abaixo e assinale a alternativa correta sobre Processos de software. O processo fornece um conjunto de informações técnicas que definem as tarefas do desenvolvimento de software. Processos de software são passos imprevisíveis para o desenvolvimento do software. Um processo de software são um conjunto de atividades previsíveis que levam à produção de software de acordo com a necessidade do cliente. (Alternativa correta) Trata-se de um único processo, que será levado até o final do projeto. 4. De acordo com as métricas de software, a análise dos pontos de função é uma forma de medição das funcionalidades fornecidas por um software sob o ponto de vista: dos usuários. (Alternativa correta) do analista do sistema. do programador. do gerente do projeto. 5. O que é um DFD? É uma ferramenta utilizada para modelar as bases de dados. Trata-se de um conceito definido na década de 70 para expressar a dificuldade no desenvolvimento de software. O DFD é uma prática da Engenharia de Software para a criação de sistemas baseados em testes de software. É um diagrama de fluxo de dados, utilizado para mostrar as relações entre os dados, processos que transformam esses dados e o limite entre o que pertence ao sistema e o que está fora dele. (Alternativa correta) 6. Assinale a alternativa que traz o tipo de teste funcional que verifica se o sistema valida todas as transações e retorna todas as mensagens de erro no caso de receber informações incorretas. Teste funcional de requisitos. Teste funcional de regressão. Tratamento de erros. (Alternativa correta) Teste em paralelo. 7. Um processo de software é um conjunto de atividades e resultados associados que levam à produção de um software. Dentre essas atividades, existem as fundamentais comuns a todos. Leia as opções abaixo e assinale as que representam essas atividades comuns. Especificação, projeto, implementação, validação e evolução de software. (Alternativa correta) Projeto, implementação, validação, evolução e integração de software. Especificação, validação, evolução e integração de software. Projeto, implementação, integração e validação de software. 8. Desenvolver um software de forma rápida é uma necessidade nos tempos atuais. Os métodos ágeis possibilitam que um software seja desenvolvido rapidamente. Analise as opções abaixo e assinale a que representa um dos princípios desse método. Prescrever os processos. Envolver o cliente. (Alternativa correta) Entregar o projeto apenas quando estiver concluído. Entender o software por completo. 9. Existem três métricas de confiabilidade utilizadas para especificar a probabilidade de uma falha de sistema ocorrer. Uma delas permite definir o provável número de falhas de sistema observadas em um determinado período, como, por exemplo, uma hora. Qual é o nome dessa métrica? MTTR. POFOD. ROCOF. (Alternativa correta) AVAIL. 10. A dimensão confiança contém algumas propriedades que são utilizadas para definição das especificações de confiança de sistemas. Imagine um sistema cuja função é controlar a venda de passagens de metrô via Internet. Esse sistema exige constantes atualizações com o objetivo de agilizar as transações de compras de tickets, além de manter as transações mais seguras para os usuários. A capacidade de realizar as atualizações sem tirar o sistema de funcionamento se refere a qual propriedade da dimensão confiança? Disponibilidade. Tolerância a erros. Manutenibilidade. (Alternativa correta) Proteção. 1. Em um dicionário de dados, o que os símbolos { } significam? Eles enquadram componentes que se repetem zero ou mais vezes. (Alternativa correta) Enquadram comentários. Significam que é constituído por determinado elemento. Enquadram componentes opcionais. 2. A disponibilidade é uma importante propriedade relacionada à confiança de software e pode ser expressa numericamente. Quando está especificada a disponibilidade de um software de vendas que será comercializado para diferentes clientes, qual é o cuidado que se deve ter? Deve-se ter cuidado com o cenário onde será utilizado o software para especificar a disponibilidade. (Alternativa correta) Deve-se analisar detalhadamente as especificações de confiabilidade para depois definir a disponibilidade. Deve-se ter cuidado durante o treinamento para garantir a mesma disponibilidade. Deve-se manter a disponibilidade sempre acima de 0,999. 3. Qual dos itens a seguir é uma vantagem da análise estruturada quando comparada com outras abordagens? Com a análise estruturada, o projeto atinge uma qualidade maior. Como a análise estruturada não se baseia em dados e processos, ela torna mais fácil a modelagem de um sistema. Através do diagrama de fluxo de dados, é possível se ter uma ideia mais clara do sistema proposto. (Alternativa correta) A análise estruturada e o DFD permitem a estimativa de custo menor e de tempo maior para um projeto. 4. Os custos relacionados à implementação e à validação de um sistema com a confiança elevada tendem a ampliar significativamente, como pode ser observado na figura abaixo. Analisando o relacionamento entre custo e confiança, referente aos benefícios de melhorias, é possível afirmar que: Quando o software não é muito confiável, é possível obter melhorias mais significativas com menores investimentos. (Alternativa correta) Os benefícios de melhorias são maiores quando os custos de melhoria são maiores. Os custos de melhoria não têm relação com os benefícios de melhorias. Quando o software é muito confiável, é possível obter melhorias mais significativas com menores investimentos. 5. Métricas de software podem ser diretas ou indiretas. Sendo assim, assinale a alternativa correta. Métricas diretas são aquelas que representam uma quantidade observada, tais como custo, esforço, número de linhas de código, tempo de execução e número de defeitos. (Alternativa correta) Métricas indiretas são aquelas que representam uma quantidade observada, tais como custo, esforço, número de linhas de código, tempo de execução e número de defeitos. Métricas diretas são aquelas que exigem análise e estão relacionadas à funcionalidade, à qualidade, à complexidade e à manutenibilidade. Métricas diretas medem a efetividade da equipe. 6. As métricas de software são amplamente utilizadas para fazer gerenciamento de projetos de software. Sendo assim, assinale a alternativa que corresponde à utilidade principal das métricas. Sinalizam quando uma mudança ocorreu no projeto de software. São utilizadas para atestar a soma total de todos os produtos do projeto assim como de seus requerimentos. Servem para medir a produtividade da equipe e indicar a qualidade do produto. (Alternativa correta) Mostram o trabalho que deve ser desenvolvido para entregar um produto/serviço conforme o que foi acordado. 7. A verificação e a validação compõem a fase em que os softwares são submetidos a diversos testes; cada uma das atividades desempenhandofuncionalidades diferentes. Assinale a alternativa que traz a definição da funcionalidade referente à verificação e à validação, respectivamente. A validação questiona se o produto está sendo desenvolvido de forma correta, enquanto a verificação realiza diversos testes para localizar os erros. A validação está relacionada aos requisitos funcionais e não funcionais, enquanto a verificação está relacionada aos requisitos do cliente. A verificação é responsável por garantir que o produto está sendo desenvolvido de maneira correta, e a validação se relaciona aos processos de produção. A verificação é responsável por realizar a análise do software diante dos requisitos funcionais e não funcionais, de modo a garantir o desenvolvimento correto do software. A validação assegura que o sistema atenda aos requisitos do cliente. (Alternativa correta) 8. Métricas de software são formas utilizadas para quantificar o esforço necessário para o desenvolvimento de um sistema de software. É correto afirmar que: linhas de código, esforço e memória são consideradas métricas diretas. (Alternativa correta) os custos, as funcionalidades e a quantidade de erros são considerados métricas indiretas. um indicador faz parte de uma métrica. a métrica de pontos de função só pode ser calculada após o término do código. 9. Assinale a alternativa que traz, respectivamente, os tipos de testes responsáveis por encontrar erros de estrutura de dados e as decisões lógicas de um software. Caixa-preta e caixa-branca. (Alternativa correta) Caixa-branca e caixa-preta. Aceitação e caixa-preta. Unidade e execução. 10. Assinale a alternativa que traz o tipo de teste em que a arquitetura do software é desenvolvida em paralelo à aplicação de diversos testes, em que o foco é a descoberta de erros relacionados à interface. Teste de integração. (Alternativa correta) Teste de unidade. Teste de segurança. Teste de aceitação. 1. O Arduino pode ser amplamente utilizado no contexto de IoT, e existe a possibilidade de criar as mais diversas soluções explorando a criatividade e o conhecimento básico de eletrônica. Sobre arduino e IoT, analise as afirmativas e assinale a correta. Conexões digitais são aquelas que podem assumir infinitos valores de amplitude dentro de uma faixa de valores. Conexões digitais podem ser utilizadas tanto para entrada quanto para saída de energia. (Alternativa correta) Conexões digitais têm capacidade de medir a tensão aplicada a cada um dos pinos e seus valores podem ser usados no Arduino. Conexões digitais são aquelas que podem assumir infinitos valores de amplitude dentro de uma faixa de valores. 2. Existem diversos protocolos utilizados para comunicação do Arduino com o mundo exterior. Sobre esses protocolos, analise as afirmativas e assinale a correta. Os protocolos de comunicação serial são os mais utilizados atualmente, por terem uma arquitetura mais simples, com menos fios compensando seus problemas de performance. (Alternativa correta) O protocolo UART utiliza o método full-duplex, que permite envio e recebimento de informações; contudo, essa troca de informações não pode ser feita de forma simultânea. O protocolo I²C/TWI utiliza arquitetura mestre-escravo, em que alguns dispositivos, chamados de mestre, enviam comandos para outros executarem. Os protocolos de comunicação paralela são os mais utilizados atualmente, por terem uma eficiência maior. 3. O Cordova cria aplicativos nativos a partir de código web puro que, em outras estruturas, podem ser usados exclusivamente por meio de um navegador na plataforma móvel. Quais componentes formam a arquitetura do Cordova? WebView, Web App e Plugins. (Alternativa correta) HTML, CSS e JavaScript. Plugins, extensão e recursos de dispositivos. Sistema operacional, plataforma de desenvolvimento e navegador. 4. Em algumas aplicações, é necessária a utilização de alguns métodos nativos. Em aplicações mobile Android, a forma de desenvolver métodos nativos é usando JNI. Escolha a alternativa que indica os arquivos necessários para utilizar métodos nativos escritos em linguagem C: Arquivo .java e arquivo .css. Arquivo .so e arquivo .java. Arquivo .html e arquivo .c. Arquivo .h e arquivo .c. (Alternativa correta) 5. Todo projeto de aplicativo Android precisa ter um arquivo que descreve informações essenciais sobre o aplicativo para as ferramentas de compilação do Android, para o sistema operacional Android e para o Google Play. Quando se utilizam APIs, muitas vezes, também é necessário inserir códigos pertinentes a permissões para que a aplicação acesse a API. Selecione a alternativa que indica o arquivo a que se refere essa descrição: MainActivity.java. string.xml. AndroidManifest.xml. (Alternativa correta) Activity_main.xml. 6. Os menus são utilizados para facilitar o acesso às funcionalidades do sistema ou para algumas ações bem específicas, como, por exemplo, sair do sistema. Sobre os processos realizados para a criação de um menu em um aplicativo Android, assinale a alternativa correta: Criar um arquivo XML de menu e inserir o menu via Java. Criar um diretório de menu, criar um arquivo XML de menu e inserir o menu via Java. (Alternativa correta) Criar um diretório de menu e inserir o menu via Java. Criar um diretório de menu, criar um arquivo XML de menu e inserir na tela que deseja adicionar. 7. O Cordova permite a criação de aplicativos por meio de linguagens web (HTML, CSS, JavaScript). Qual comando Cordova deve ser executado no prompt de comando para criar a estrutura de diretório necessária para seu aplicativo Cordova? cordova build iOS. cordova create projeto com.example.projeto Projeto. (Alternativa correta) cordova requiments com.example.projeto Projeto. cordova platform add android. 8. Para acender e apagar um led no Arduino, bem como para realizar qualquer tipo de automação nele, se faz necessária a integração entre hardware e software, de forma que sejam utilizados os componentes adequados e que a programação seja eficaz. Em relação aos componentes utilizados para o desenvolvimento da solução de acender um led no Arduino, e também considerando o desenvolvimento de software necessário, analise as afirmativas e assinale a correta. A protoboard é um elemento fundamental para projetos que acendem luzes de led, não podendo ser criado um projeto sem ela. Utilizando o método loop, na programação em Arduino, os comandos serão repetidos infinitamente. (Alternativa correta) O resistor é utilizado para enviar os comandos de acender e apagar o led. O que garante que o led não queime por carga excessiva enviada a ele é a carga definida via programação. 9. De acordo com Andreou (2005), poderá ser utilizado no projeto de aplicativos móveis o modelo de processo de engenharia espiral, por meio de seis atividades principais. Sobre a atividade planejamento, assinale a alternativa correta. Envolve o projeto arquitetural, o projeto de navegação, as metas e os recursos. Envolve o projeto de arquitetura, o projeto de navegação e o projeto de interface do usuário, entre outros. Descreve a etapa em que serão determinados os riscos e os custos do projeto. (Alternativa correta) Deverá identificar todos os itens de conteúdo que serão necessários. 10. A protoboard é um importante elemento para a configuração de circuitos eletrônicos e permite, em conjunto com a placa de Arduino, simular os mais diversos circuitos. Sobre a protoboard, analise as afirmativas e assinale a correta. A protoboard permite a comunicação de forma horizontal, sem a necessidade de fios. Existem dois blocos na protoboard, linhas A até E e linhas F até J. Dentro dos blocos, a comunicação elétrica acontece verticalmente sem fios. (Alternativa correta) No caso do Arduino,elementos que não se comunicam de forma automática na protoboard podem ser conectados por meio de comandos com programação. A protoboard não é completamente integrada de forma automática, alguns pontos precisam ser conectados fisicamente por um cabo (jumper). 1. Saber desenvolver para plataformas móveis é uma habilidade importante a se adquirir, porém, com a variedade de sistemas, plataformas de desenvolvimento e hardwares, para criar aplicações que alcancem diferentes sistemas operacionais, como, por exemplo, Android e iOS, é necessário grande esforço, pois, geralmente, cada plataforma de desenvolvimento trabalha com linguagens de programação diferentes. Pensando em uma maneira de diminuir esse esforço, surgiram os aplicativos móveis híbridos. O que caracteriza um aplicativo móvel híbrido? Um aplicativo híbrido é aquele que é desenvolvido para uma única plataforma, porém tem a capacidade de se adaptar a outras plataformas. Usa um wrapper nativo em torno de uma visualização da web, ou seja, como se no aplicativo houvesse um navegador invisível embutido. (Alternativa correta) Ele pode ser desenvolvido utilizando várias plataformas de desenvolvimento, independentemente do sistema operacional. Um aplicativo móvel híbrido é a união de dois aplicativos que cria um aplicativo mais robusto. 2. O Apache Cordova é formado por uma arquitetura de componentes que permite a criação de um aplicativo móvel híbrido. Considerando os componentes do Cordova, qual a função do Web App em sua arquitetura? Contém o código do aplicativo implementado como uma página web, um arquivo local chamado index.html, que faz referência a CSS, JavaScript e outros recursos necessários para sua execução. (Alternativa correta) Fornece uma interface para que o Cordova e os componentes nativos se comuniquem entre si e ligações para APIs de dispositivo-padrão. É responsável por chamar ou usar rotinas e serviços que foram escritos em outra linguagem de programação, permitindo a comunicação entre diferentes recursos do dispositivo. Fornece ao aplicativo toda a interface de usuário, e pode ser um componente dentro de um aplicativo híbrido maior que combina o WebView com componentes de aplicativos nativos. 3. Cada etapa que compõe o desenvolvimento de software tem sua importância. Entre elas, a de arquitetura possibilita traçar as camadas que irão definir as funcionalidades para uma aplicação. Uma empresa de desenvolvimento de aplicativos móveis foi selecionada para desenvolver um novo aplicativo para o mercado educacional. Na etapa de desenvolvimento da estrutura de arquitetura do aplicativo, ficou decidido que todas as camadas desenvolvidas deveriam estar no próprio dispositivo móvel. Sendo assim, assinale V para as afirmações verdadeiras e F para as falsas. ( ) A melhor opção para implementar a arquitetura do projeto será o modelo de cliente magro, que se baseia na interface da web. ( ) Desenvolvendo um modelo de cliente rico, as atividades não vão depender do servidor. ( ) Implementar a arquitetura do projeto utilizando o modelo de cliente rico permite residir todas as camadas no próprio dispositivo. Assinale a alternativa que apresenta a sequência correta. F – V – V. (Alternativa correta) V – F – V. V – F – F. V – V – F. 4. Entre desenvolvedores iniciantes, é comum a confusão entre os conceitos de bibliotecas e APIs. Selecione a alternativa que contém o conceito de bibliotecas: São contratos entre sistemas que são acessados e reutilizados. São facilitadores no desenvolvimento de aplicações, fornecendo funcionalidades como autocomplete. São abstrações que unem códigos comuns entre vários sistemas. São coleções de implementações que podem ser importadas e reutilizadas. (Alternativa correta) 5. Em aplicações que envolvem exposição de rotas como, por exemplo, Uber e Ifood, ao invés de implementar funções que já existem, como o mapa, podem-se utilizar serviços já existentes. Tais serviços são denominados de: JNI. Framework. API. (Alternativa correta) JNA. 6. A interface do usuário, em qualquer software, é considerada um fator de extrema importância, e a maneira como será desenvolvida determinará se o usuário irá utilizar ou não a ferramenta. O foco de um projeto de interface deverá ser sempre baseado na visão do público-alvo, e alguns princípios deverão ser seguidos para buscar a melhor usabilidade para um projeto atrair o usuário. Relacione a temática “alguns princípios para desenvolver uma boa interface do usuário no projeto de aplicativos móveis” com suas respectivas características e definições: I. Antecipação II. Comunicação III. Eficiência ( ) A interface deve comunicar o estado de qualquer atividade pelo usuário. ( ) Uma aplicação deve ser projetada para prever o próximo passo do usuário. ( ) O projeto de uma aplicação deve otimizar o trabalho do usuário, e não do projetista. Assinale a opção que indica a sequência correta, de cima para baixo. II, I e III. (Alternativa correta) I, II e III. III, I e II. II, III e I. 7. Menus e views têm funções diferentes em aplicativos Android; contudo, ambos têm suma importância. As views permitem a inserção de componentes que formam as aplicações Android, e os menus permitem acesso direto e facilitado às telas do aplicativo. Pensando nisso, analise as seguintes afirmativas: I. A ListView é utilizada para a criação de listas, seja listas baseadas em informações estáticas (de arrays), seja listas dinâmicas (de banco de dados). II. O GridView pode ser implementado da mesma forma que a ListView, sendo necessários apenas pequenos ajustes. III. A textView é utilizada para a entrada de dados de texto. IV. O componente image é utilizado para exibir um botão em formato de imagem. V. O componente button é utilizado para inserir um botão na tela. Quais são verdadeiras? I, II, III e V, apenas. I, II e V, apenas. (Alternativa correta) I, II e IV, apenas. I e II, apenas. 8. A análise de requisitos é uma etapa fundamental para descrever as funções de cada aplicação do processo de desenvolvimento de aplicativos móveis. Pressman e Maxim (2016) afirmam que, com os modelos de requisitos, pode-se analisar de forma estruturada cada aplicação, havendo cinco conjuntos de modelos: modelo de conteúdo, modelo de interação, modelo funcional, modelo de navegação e modelo de configuração. Analise as afirmações a seguir, quanto aos enunciados dos “modelos de requisitos” apresentados por Pressman e Maxim (2016): I. O modelo de conteúdo envolve todo o conteúdo que estará visível ao usuário, desde o conteúdo criado até o manipulado a partir da interação deste. São exemplos de conteúdo: textos, links e vídeos, entre outros. II. O modelo funcional lida com os elementos de funcionamento da aplicação, como as funcionalidades observadas pelo usuário (por exemplo, as operações contidas na classe de análise, que servem para analisar todo o comportamento que está associado a essa classe). III. O modelo de navegação trata dos requisitos em relação a toda navegação que o usuário irá realizar no aplicativo. De forma geral, tratar a etapa de navegação tende a ser mais complexo, pelo fato de que esse tipo de operação tem uma hierarquia alta, até mesmo se comparado aos web apps. IV. O modelo de interação trata de todo o engajamento do usuário com o aplicativo, descrevendo toda interação que irá acontecer entre o usuário e o sistema. Está correto o que se afirma em: I e II, apenas. III e IV, apenas. I, II e III, apenas. I, II e IV, apenas. (Alternativa correta) 9. Um aplicativo móvel deve atender às necessidades de seus usuários, e muitas vezes essa satisfação se deve a um bom desenvolvimento de interface de usuário, que deverá apresentar consistência e operar em diversas redes, entre outros motivos que o farão ser bem aceitono mercado. Para desenvolver modelos consistentes e possibilitar fácil desenvolvimento, é possível utilizar uma abordagem de projetos baseada em modelos. Sobre essa abordagem, é correto afirmar que: I. trabalha a partir de dois modelos diferentes: o modelo de plataforma e o modelo de tarefa; II. o modelo de plataforma descreve a aparência da interface de usuário; III. no modelo de tarefa, é realizada a representação da estrutura de tarefas que o usuário poderá executar para atingir suas metas. Assinale a alternativa com a(s) assertiva(s) correta(s). I e II. III. (Alternativa correta) II. I. 10. Às vezes, é necessário integrar Java com códigos nativos para obter aplicativos mais robustos. Para integrar o Java com a linguagem C, existem várias regras que devem ser seguidas por padrão para que a comunicação funcione. Selecione a alternativa que indica uma dessas regras: Os códigos são escritos apenas em C e, em Java, a interface. A assinatura do método deve ser igual nos arquivos Java e C. (Alternativa correta) O nome dos arquivos deve ser igual em Java e C. O método em Java deve ter modificador protected. 1. Para a personalização de ListView e GridView, é necessária a utilização de adapters. Para isso, você precisa criar a sua própria classe de adapter; contudo, o Android dispõe de alguns adapters predefinidos que, quando utilizados corretamente, permitem montar uma lista padrão de forma facilitada. Sobre os adapters, assinale a alternativa correta: Os três tipos de adapters fornecidos pelo Android são: SimpleCursorAdapter, ArrayAdapter e AdvancedAdapter. O ArrayAdapter é utilizado, especificamente, para a conexão com o banco de dados SQLite. O SimpleCursorAdapter é restrito para a utilização em listas e não permite conexão com dados de banco de dados. O ArrayAdapter permite somente manipular dados com base em listas ou arrays. (Alternativa correta) 2. Um aplicativo móvel deve atender às necessidades de seus usuários, e muitas vezes essa satisfação se deve a um bom desenvolvimento de interface de usuário, que deverá apresentar consistência e operar em diversas redes, entre outros motivos que o farão ser bem aceito no mercado. Para desenvolver modelos consistentes e possibilitar fácil desenvolvimento, é possível utilizar uma abordagem de projetos baseada em modelos. Sobre essa abordagem, é correto afirmar que: I. trabalha a partir de dois modelos diferentes: o modelo de plataforma e o modelo de tarefa; II. o modelo de plataforma descreve a aparência da interface de usuário; III. no modelo de tarefa, é realizada a representação da estrutura de tarefas que o usuário poderá executar para atingir suas metas. Assinale a alternativa com a(s) assertiva(s) correta(s). III. (Alternativa correta) I. I e II. II. 3. Depois de posicionar um elemento de menu na tela de um aplicativo, é necessário dar ações para esse menu; do contrário, ele será apenas um elemento visual sem funcionalidades. Em relação às ações de menus, assinale a alternativa correta: Com o método onOptionsItemSelected,o Android identifica o clique, e, utilizando o mesmo nome no menu e na classe, é feito o acesso automático página. O método onclickOptionsMenu escuta o clique no menu e, então, direciona para a página necessária. Dentro do método onOptionsItemSelected, é necessário utilizar o método getItemId para conseguir identificar qual item do menu foi clicado. (Alternativa correta) O método Java, responsável pela leitura do clique de menu, é onclickOptionsMenu em conjunto com o método igetItemValue. 4. Ao longo da última década, o número de pessoas que utilizam dispositivos móveis para acessar a internet disparou e, assim, elas passaram a consumir mais conteúdo por meio de dispositivos móveis do que por desktops. Nesse contexto, existem várias maneiras eficazes de criar uma experiência móvel que realmente atenda às expectativas dos usuários modernos, como os progressive web apps e os aplicativos nativos. Quais as principais características que distinguem os progressive web apps e os aplicativos nativos ? Um aplicativo nativo é desenvolvido em uma plataforma específica para um determinado dispositivo, enquanto os progressive web apps independem das plataformas em que são escritos, podendo ser instalados normalmente como um aplicativo nativo. Um aplicativo nativo é desenvolvido diretamente do próprio dispositivo móvel, enquanto os progressive web apps são desenvolvidos de maneira externa, a partir de um desktop. Um aplicativo nativo é desenvolvido em código de baixo nível diretamente em operações binárias, enquanto os progressive web apps são desenvolvidos em linguagens de programação de alto nível de forma abstrata. Um aplicativo nativo é desenvolvido em uma plataforma específica para um determinado dispositivo, enquanto os progressive web apps não precisam ser instalados, compilam muito mais rápido e não requerem a aprovação de uma loja para serem baixados. (Alternativa correta) 5. Cada etapa que compõe o desenvolvimento de software tem sua importância. Entre elas, a de arquitetura possibilita traçar as camadas que irão definir as funcionalidades para uma aplicação. Uma empresa de desenvolvimento de aplicativos móveis foi selecionada para desenvolver um novo aplicativo para o mercado educacional. Na etapa de desenvolvimento da estrutura de arquitetura do aplicativo, ficou decidido que todas as camadas desenvolvidas deveriam estar no próprio dispositivo móvel. Sendo assim, assinale V para as afirmações verdadeiras e F para as falsas. ( ) A melhor opção para implementar a arquitetura do projeto será o modelo de cliente magro, que se baseia na interface da web. ( ) Desenvolvendo um modelo de cliente rico, as atividades não vão depender do servidor. ( ) Implementar a arquitetura do projeto utilizando o modelo de cliente rico permite residir todas as camadas no próprio dispositivo. Assinale a alternativa que apresenta a sequência correta. V – F – V. V – F – F. V – V – F. F – V – V. (Alternativa correta) 6. A interface do usuário, em qualquer software, é considerada um fator de extrema importância, e a maneira como será desenvolvida determinará se o usuário irá utilizar ou não a ferramenta. O foco de um projeto de interface deverá ser sempre baseado na visão do público-alvo, e alguns princípios deverão ser seguidos para buscar a melhor usabilidade para um projeto atrair o usuário. Relacione a temática “alguns princípios para desenvolver uma boa interface do usuário no projeto de aplicativos móveis” com suas respectivas características e definições: I. Antecipação II. Comunicação III. Eficiência ( ) A interface deve comunicar o estado de qualquer atividade pelo usuário. ( ) Uma aplicação deve ser projetada para prever o próximo passo do usuário. ( ) O projeto de uma aplicação deve otimizar o trabalho do usuário, e não do projetista. Assinale a opção que indica a sequência correta, de cima para baixo. III, I e II. II, III e I. I, II e III. II, I e III. (Alternativa correta) 7. Diversas são as views que podem ser utilizadas para a criação de interfaces em aplicativos Android. Cada uma delas tem a sua importância e utilidade. Sobre as views, assinale a afirmativa correta: A ListView é utilizada para a criação de listas de objetos e só pode ser populada por meio da criação de um objeto Java do tipo ArrayList. O ArrayList é o componente XML utilizado para a representação de listas em aplicativos Android. A utilização de adapters é necessária para a personalização de ListView e GridView. (Alternativa correta) O GridView é um componente que exibe informações na tela em formato de tabela, sendo necessário utilizar uma matriz para inserir dados nele. 8. O Cordova cria aplicativos nativos a partir de código web puro que, emoutras estruturas, podem ser usados exclusivamente por meio de um navegador na plataforma móvel. Quais componentes formam a arquitetura do Cordova? Sistema operacional, plataforma de desenvolvimento e navegador. WebView, Web App e Plugins. (Alternativa correta) Plugins, extensão e recursos de dispositivos. HTML, CSS e JavaScript. 9. O Arduino tem alguns componentes importantes que são utilizados para funções específicas, como: oscilador, chave de reset, conector serial de programação e soquete USB, além de microcontrolador, que é o componente principal. Sobre esses componentes, analise as afirmativas a seguir e assine a correta. O microcontrolador é o principal elemento em uma placa Arduino. Nele está todo o processamento da placa, sendo uma espécie de computador. (Alternativa correta) O conector serial de programação é onde se encontra o chip de interface USB; é por ele que a programação acontece, e por isso recebe esse nome. Nas placas do Arduino podem existir um ou mais microcontroladores. Quanto mais microcontroladores, maior a capacidade de processamento. A chave de reset é utilizada para reiniciar o software do Arduino. Ela mantém o Arduino em funcionamento apenas limpando o cache do software. 10. Saber desenvolver para plataformas móveis é uma habilidade importante a se adquirir, porém, com a variedade de sistemas, plataformas de desenvolvimento e hardwares, para criar aplicações que alcancem diferentes sistemas operacionais, como, por exemplo, Android e iOS, é necessário grande esforço, pois, geralmente, cada plataforma de desenvolvimento trabalha com linguagens de programação diferentes. Pensando em uma maneira de diminuir esse esforço, surgiram os aplicativos móveis híbridos. O que caracteriza um aplicativo móvel híbrido? Um aplicativo híbrido é aquele que é desenvolvido para uma única plataforma, porém tem a capacidade de se adaptar a outras plataformas. Ele pode ser desenvolvido utilizando várias plataformas de desenvolvimento, independentemente do sistema operacional. Um aplicativo móvel híbrido é a união de dois aplicativos que cria um aplicativo mais robusto. Usa um wrapper nativo em torno de uma visualização da web, ou seja, como se no aplicativo houvesse um navegador invisível embutido. (Alternativa correta)