·
Análise de Sistemas ·
Linguagens de Programação
Send your question to AI and receive an answer instantly
Recommended for you
2
Análise e Comparação de Diagramas Estruturais e Comportamentais
Linguagens de Programação
UNOPAR
6
Projeto Integrado I - Análise e Desenvolvimento de Sistemas
Linguagens de Programação
UNOPAR
16
Projeto de Extensao I - Analise e Desenvolvimento de Sistemas - Programa Contexto a Comunidade
Linguagens de Programação
UNOPAR
19
Projeto Integrado TI: Orientações e Critérios de Avaliação
Linguagens de Programação
UNOPAR
16
Projeto Integrado TI - Orientações e Critérios de Avaliação
Linguagens de Programação
UNOPAR
24
Projeto Integrado TI - Orientações e Critérios de Avaliação
Linguagens de Programação
UNOPAR
1
Receita de Bolo de Carne
Linguagens de Programação
UNOPAR
2
Receitas Diversas: Bolo de Carne, Sopa de Legumes e Lasanha
Linguagens de Programação
UNOPAR
6
Programacao Web - Roteiro Aula Pratica 2 - Criacao de API Spring Boot para CRUD de Usuarios
Linguagens de Programação
UNOPAR
14
Projeto Integrado - CST Analise e Desenvolvimento de Sistemas
Linguagens de Programação
UNOPAR
Preview text
PROJETO INTEGRADO CST EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROJETO INTEGRADO PROJETO INTEGRADO Prezado aluno Seja bemvindo a este semestre A proposta de Projeto Integrado é possibilitar a aprendizagem interdisciplinar dos conteúdos desenvolvidos nas disciplinas desse semestre ORIENTAÇÕES DO PROJETO INTEGRADO 1 O trabalho será realizado individualmente 2 Importante Você deverá postar o trabalho finalizado no AVA o que deverá ser feito na pasta específica da disciplina Projeto Integrado obedecendo ao prazo limite de postagem conforme disposto no AVA Não existe prorrogação para a postagem da atividade 3 Deve conter depois de pronto capa e folha de rosto padrão da Instituição sendo organizado no que tange à sua apresentação visual tipos e tamanhos de fontes alinhamento do texto espaçamentos adentramento de parágrafos apresentação correta de citações e referências entre outros elementos importantes conforme modelo disponível no AVA 4 A produção textual é um trabalho original e portanto não poderá haver trabalhos idênticos aos de outros alunos ou com reprodução de materiais extraídos da internet Os trabalhos plagiados serão invalidados sendo os alunos reprovados na atividade Lembrese de que a prática do plágio constitui crime com pena prevista em lei Lei nº 9610 e deve ser evitada no âmbito acadêmico 5 Importante O trabalho deve ser enviado em formato Word Não serão aceitos sob nenhuma hipótese trabalhos enviados em PDF A seguir apresentamos a você alguns dos critérios avaliativos que nortearão a análise do Tutor a Distância para atribuir o conceito à produção textual Normalização correta do trabalho com atendimento ao número de páginas solicitadas Apresentação de estrutura condizente com a proposta apresentada com introdução desenvolvimento e conclusão Uso de linguagem acadêmica adequada com clareza e correção atendendo à norma padrão Atendimento à proposta contemplando todos os itens solicitados com objetividade criatividade originalidade e autenticidade Fundamentação teórica do trabalho com as devidas referências dos autores eventualmente citados Lembrese de que seu Tutor a Distância está à disposição para lhe atender em suas dúvidas e também para repassar orientações sempre que você precisar Aproveite esta oportunidade para realizar um trabalho com a qualidade acadêmica de nível universitário PROJETO INTEGRADO 2 Leitura proposta Para atingir os objetivos deste projeto integrado você deverá seguir as instruções voltadas à elaboração do trabalho disponibilizadas ao longo do semestre sob a orientação do Tutor a Distância ATIVIDADES Tarefa 1 Vamos supor que você vai iniciar uma jornada empreendedora Junto com alguns sócios decidiu criar um negócio a partir da ideia de uma aplicação inovadora Esta aplicação precisa de um ambiente de TI com recursos computacionais de alto desempenho e ambiente de nuvem devido à redução de cursos e abstração da complexidade da infraestrutura O próximo passo é determinar qual dos modelos de serviço é mais apropriado para este caso SaaS PaaS ou IaaS Descreve analisando caso a caso Tarefa 2 Com o desenvolvimento dos sistemas surgiu a necessidade de dentro de um mesmo processo possuir trechos que executassem concorrentemente e aí temos o conceito de thread a Definição de thread b Pesquise os estados das threads c Os benefícios da programação multithread d Operações de thread Tarefa 3 Descreva detalhadamente todos os métodos HTTP existentes e cite um exemplo de utilização para cada um deles PROJETO INTEGRADO Tarefa 4 Em aplicações Android podemos trabalhar com a persistência de dados locais por meio da criação de bancos de dados utilizando a biblioteca SQLite Descreva as principais características do SQLite para aplicações Android bem como as principais vantagens e desvantagens de sua utilização Tarefa 1 A escolha entre os modelos de serviço SaaS Software as a Service PaaS Platform as a Service e IaaS Infrastructure as a Service depende das necessidades específicas do negócio do conhecimento técnico da equipe do orçamento disponível e do nível de controle desejado sobre a infraestrutura Detalhando os casos possíveis 1 SaaS Software as a Service Pode ser adotado se a aplicação for uma solução completa for de interesse fornecer essa solução diretamente aos usuários finaisTem como vantagens não ser necessário se preocupar com a infraestrutura manutenção de servidores ou atualizações de software ser escalável de acordo com a demanda e os usuários podem acessar a aplicação de qualquer lugar desde que tenham acesso à internet 2 PaaS Platform as a Service Pode ser adotada se a aplicação precisar de um ambiente de desenvolvimento e hospedagem eficiente Tem como vantagem fornecer um ambiente de desenvolvimento préconfigurado e escalável permitindo que a equipe se concentre no desenvolvimento do projeto sem se preocupar com a infraestrutura subjacente 3 IaaS Infrastructure as a Service Pode ser adotada se a aplicação necessitar de um alto grau de controle sobre a infraestrutura ou configurações específicas e recursos de alto desempenho O IaaS oferece controle total sobre a infraestrutura permitindo configurações personalizadas Isso é ideal se você existirem requisitos de segurança rigorosos ou se for preciso de servidores de alto desempenho Com as devidas justificativas de cada projeto qualquer uma das 3 pode ser adotada Entretanto como é dito que a aplicação precisa de um ambiente de TI com recursos computacionais de alto desempenho e ambiente de nuvem devido à redução de cursos e abstração da complexidade da infraestrutura o modelo de serviço mais viável nesse caso é o IaaS Tarefa 2 a Definição de thread Uma thread é a menor unidade de um processo que pode ser programada para execução concorrente Em outras palavras uma thread representa um fluxo de controle dentro de um programa Threads compartilham o mesmo espaço de endereço do processo e recursos como arquivos abertos e variáveis globais mas têm sua própria pilha de execução Isso permite que várias threads de um mesmo processo executem tarefas paralelamente aumentando a eficiência e a utilização dos recursos do sistema b Estados das threads As threads podem estar em vários estados dependendo de sua execução Os principais estados das threads são Novo a thread foi criada mas ainda não iniciou sua execução Executável a thread está pronta para ser executada mas o sistema operacional ainda não a escalonou para a CPU Em execução a thread está atualmente sendo executada na CPU Bloqueado a thread está aguardando algum evento ou recurso como EntradaSaída de disco e não pode executar até que esse recurso seja liberado Terminado a thread concluiu sua execução e não está mais ativa c Benefícios da programação multithread A programação multithread oferece diversos benefícios incluindo Melhor desempenho permite a execução concorrente de tarefas tornando o programa mais eficiente especialmente em sistemas com múltiplos núcleos de CPU Responsividade Threads permitem que partes do programa sejam executadas em segundo plano mantendo a interface do usuário responsiva Divisão de tarefas Tarefas complexas podem ser divididas em threads menores facilitando o desenvolvimento e a manutenção do código Aproveitamento de recursos Threads podem aproveitar ao máximo os recursos de hardware disponíveis como CPU e memória Compartilhamento de dados Threads podem compartilhar dados dentro do mesmo processo o que é útil para comunicação entre tarefas d Operações de thread As operações comuns em threads incluem Criação de thread criar novas threads para executar tarefas específicas Sincronização de thread Garantir que as threads cooperem de maneira coordenada evitando problemas como condições de corrida e deadlocks Finalização de thread Encerrar ou finalizar uma thread após a conclusão de sua tarefa Comunicação entre threads Permitir que as threads compartilhem informações e coordenem a execução Controle de recursos compartilhados Gerenciar recursos compartilhados entre threads para evitar conflitos Tarefa 3 Os métodos HTTP também conhecidos como verbos HTTP são usados para indicar a ação que deve ser executada em um recurso web Existem vários métodos HTTP cada um com um propósito específico Os métodos possíveis são 1 GET O método GET é usado para recuperar informações de um recurso especificado Uma solicitação GET é usada ao acessar uma página da web em um navegador Por exemplo ao digitar httpswwwexemplocompagina no seu navegador o navegador envia uma solicitação GET para obter a página da web 2 POST O método POST é usado para enviar dados para o servidor a fim de criar ou atualizar um recurso Quando é prennchido um formulário da web e o usuário clica no botão Enviar os dados são enviados para o servidor usando uma solicitação POST Isso é comum em formulários de login envio de mensagens etc 3 PUT O método PUT é usado para atualizar um recurso ou criar um novo recurso se ele não existir Um cliente pode enviar uma solicitação PUT para atualizar as informações de um usuário em um sistema web bem como para alterar informações de perfil 4 PATCH O método PATCH é usado para aplicar parcialmente uma atualização em um recurso Ele é útil quando você deseja modificar apenas parte dos dados de um recurso por exemplo para atualizar apenas o endereço de email de um usuário em vez de atualizar todas as informações do perfil 5 DELETE O método DELETE é usado para remover um recurso específico no servidor Ao clicar em um botão Excluir em uma aplicação uma solicitação DELETE pode ser enviada para remover um post de blog um produto de uma loja online etc 6 HEAD O método HEAD é semelhante ao GET mas não retorna o corpo da resposta apenas os cabeçalhos É usado para obter informações sobre um recurso sem recuperar o conteúdo completo O HEAD pode ser usado para verificar a disponibilidade de um recurso ou para obter informações sobre o tipo de conteúdo sem baixar os dados 7 OPTIONS O método OPTIONS é usado para obter informações sobre as opções de comunicação com o recurso Ele fornece detalhes sobre quais métodos são permitidos no recurso Uma aplicação pode usar OPTIONS para determinar quais métodos por exemplo GET POST PUT estão habilitados para um recurso específico 8 CONNECT O método CONNECT é usado para estabelecer uma conexão de rede com um recurso normalmente usado com proxies para criar um túnel SSLTLS 9 TRACE O método TRACE é usado para recuperar um diagnóstico de loopback do recurso geralmente usado para depuração Tarefa 4 O SQLite é um sistema de gerenciamento de banco de dados relacional embutido que é amplamente utilizado em aplicativos Android para armazenar e gerenciar dados locais As principais características do SQLite em aplicações Android são Embutido O SQLite é uma biblioteca C embutida diretamente no sistema Android Isso significa que não é necessário um servidor de banco de dados separado o que o torna fácil de integrar em aplicativos Android Sintaxe SQL Padrão O SQLite suporta a maioria das consultas SQL padrão o que facilita a criação e manipulação de bancos de dados Transações ACID O SQLite suporta transações ACID Atômicas Consistentes Isoladas e Duráveis garantindo que as operações no banco de dados sejam consistentes e seguras Eficiente e Leve O SQLite é projetado para ser eficiente em termos de uso de recursos tornandoo adequado para dispositivos móveis com recursos limitados Bom desempenho O SQLite é rápido para realizar operações de leitura e gravação tornandoo uma escolha sólida para aplicativos Android que requerem acesso rápido a dados locais Dentre as vantagens de se usar SQLite podese citar Armazenamento Local Permite armazenar dados localmente no dispositivo o que é útil para aplicativos que precisam funcionar offline ou armazenar dados temporários Facilidade de Uso A API do SQLite no Android é relativamente simples e fácil de aprender tornandoa acessível para desenvolvedores iniciantes Eficiência e Desempenho O SQLite é otimizado para operações locais tornandoo adequado para aplicativos móveis que precisam de respostas rápidas Segurança O SQLite suporta criptografia o que é importante para aplicativos que lidam com dados sensíveis Como desvantagens do SQLite estão Concorrência Limitada O SQLite não lida bem com múltiplos threads que tentam acessar e modificar o banco de dados simultaneamente Isso requer cuidados com sincronização para evitar problemas de concorrência Escalabilidade Limitada Embora seja eficiente para aplicativos pequenos e médios o SQLite pode não ser a melhor opção para aplicativos que exigem escalabilidade significativa ou manipulação de grandes volumes de dados Menos Recursos Avançados Comparado a sistemas de gerenciamento de banco de dados de servidor completo o SQLite tem menos recursos avançados como suporte a procedimentos armazenados gatilhos complexos e funções definidas pelo usuário Problemas de Backup e Migração Gerenciar backups e migrações de bancos de dados pode ser mais complexo em comparação com sistemas de banco de dados mais sofisticados Tarefa 1 A escolha entre os modelos de serviço SaaS Software as a Service PaaS Platform as a Service e IaaS Infrastructure as a Service depende das necessidades específicas do negócio do conhecimento técnico da equipe do orçamento disponível e do nível de controle desejado sobre a infraestrutura Detalhando os casos possíveis 1 SaaS Software as a Service Pode ser adotado se a aplicação for uma solução completa for de interesse fornecer essa solução diretamente aos usuários finaisTem como vantagens não ser necessário se preocupar com a infraestrutura manutenção de servidores ou atualizações de software ser escalável de acordo com a demanda e os usuários podem acessar a aplicação de qualquer lugar desde que tenham acesso à internet 2 PaaS Platform as a Service Pode ser adotada se a aplicação precisar de um ambiente de desenvolvimento e hospedagem eficiente Tem como vantagem fornecer um ambiente de desenvolvimento préconfigurado e escalável permitindo que a equipe se concentre no desenvolvimento do projeto sem se preocupar com a infraestrutura subjacente 3 IaaS Infrastructure as a Service Pode ser adotada se a aplicação necessitar de um alto grau de controle sobre a infraestrutura ou configurações específicas e recursos de alto desempenho O IaaS oferece controle total sobre a infraestrutura permitindo configurações personalizadas Isso é ideal se você existirem requisitos de segurança rigorosos ou se for preciso de servidores de alto desempenho Com as devidas justificativas de cada projeto qualquer uma das 3 pode ser adotada Entretanto como é dito que a aplicação precisa de um ambiente de TI com recursos computacionais de alto desempenho e ambiente de nuvem devido à redução de cursos e abstração da complexidade da infraestrutura o modelo de serviço mais viável nesse caso é o IaaS Tarefa 2 a Definição de thread Uma thread é a menor unidade de um processo que pode ser programada para execução concorrente Em outras palavras uma thread representa um fluxo de controle dentro de um programa Threads compartilham o mesmo espaço de endereço do processo e recursos como arquivos abertos e variáveis globais mas têm sua própria pilha de execução Isso permite que várias threads de um mesmo processo executem tarefas paralelamente aumentando a eficiência e a utilização dos recursos do sistema b Estados das threads As threads podem estar em vários estados dependendo de sua execução Os principais estados das threads são Novo a thread foi criada mas ainda não iniciou sua execução Executável a thread está pronta para ser executada mas o sistema operacional ainda não a escalonou para a CPU Em execução a thread está atualmente sendo executada na CPU Bloqueado a thread está aguardando algum evento ou recurso como EntradaSaída de disco e não pode executar até que esse recurso seja liberado Terminado a thread concluiu sua execução e não está mais ativa c Benefícios da programação multithread A programação multithread oferece diversos benefícios incluindo Melhor desempenho permite a execução concorrente de tarefas tornando o programa mais eficiente especialmente em sistemas com múltiplos núcleos de CPU Responsividade Threads permitem que partes do programa sejam executadas em segundo plano mantendo a interface do usuário responsiva Divisão de tarefas Tarefas complexas podem ser divididas em threads menores facilitando o desenvolvimento e a manutenção do código Aproveitamento de recursos Threads podem aproveitar ao máximo os recursos de hardware disponíveis como CPU e memória Compartilhamento de dados Threads podem compartilhar dados dentro do mesmo processo o que é útil para comunicação entre tarefas d Operações de thread As operações comuns em threads incluem Criação de thread criar novas threads para executar tarefas específicas Sincronização de thread Garantir que as threads cooperem de maneira coordenada evitando problemas como condições de corrida e deadlocks Finalização de thread Encerrar ou finalizar uma thread após a conclusão de sua tarefa Comunicação entre threads Permitir que as threads compartilhem informações e coordenem a execução Controle de recursos compartilhados Gerenciar recursos compartilhados entre threads para evitar conflitos Tarefa 3 Os métodos HTTP também conhecidos como verbos HTTP são usados para indicar a ação que deve ser executada em um recurso web Existem vários métodos HTTP cada um com um propósito específico Os métodos possíveis são 1 GET O método GET é usado para recuperar informações de um recurso especificado Uma solicitação GET é usada ao acessar uma página da web em um navegador Por exemplo ao digitar httpswwwexemplocompagina no seu navegador o navegador envia uma solicitação GET para obter a página da web 2 POST O método POST é usado para enviar dados para o servidor a fim de criar ou atualizar um recurso Quando é prennchido um formulário da web e o usuário clica no botão Enviar os dados são enviados para o servidor usando uma solicitação POST Isso é comum em formulários de login envio de mensagens etc 3 PUT O método PUT é usado para atualizar um recurso ou criar um novo recurso se ele não existir Um cliente pode enviar uma solicitação PUT para atualizar as informações de um usuário em um sistema web bem como para alterar informações de perfil 4 PATCH O método PATCH é usado para aplicar parcialmente uma atualização em um recurso Ele é útil quando você deseja modificar apenas parte dos dados de um recurso por exemplo para atualizar apenas o endereço de email de um usuário em vez de atualizar todas as informações do perfil 5 DELETE O método DELETE é usado para remover um recurso específico no servidor Ao clicar em um botão Excluir em uma aplicação uma solicitação DELETE pode ser enviada para remover um post de blog um produto de uma loja online etc 6 HEAD O método HEAD é semelhante ao GET mas não retorna o corpo da resposta apenas os cabeçalhos É usado para obter informações sobre um recurso sem recuperar o conteúdo completo O HEAD pode ser usado para verificar a disponibilidade de um recurso ou para obter informações sobre o tipo de conteúdo sem baixar os dados 7 OPTIONS O método OPTIONS é usado para obter informações sobre as opções de comunicação com o recurso Ele fornece detalhes sobre quais métodos são permitidos no recurso Uma aplicação pode usar OPTIONS para determinar quais métodos por exemplo GET POST PUT estão habilitados para um recurso específico 8 CONNECT O método CONNECT é usado para estabelecer uma conexão de rede com um recurso normalmente usado com proxies para criar um túnel SSLTLS 9 TRACE O método TRACE é usado para recuperar um diagnóstico de loopback do recurso geralmente usado para depuração Tarefa 4 O SQLite é um sistema de gerenciamento de banco de dados relacional embutido que é amplamente utilizado em aplicativos Android para armazenar e gerenciar dados locais As principais características do SQLite em aplicações Android são Embutido O SQLite é uma biblioteca C embutida diretamente no sistema Android Isso significa que não é necessário um servidor de banco de dados separado o que o torna fácil de integrar em aplicativos Android Sintaxe SQL Padrão O SQLite suporta a maioria das consultas SQL padrão o que facilita a criação e manipulação de bancos de dados Transações ACID O SQLite suporta transações ACID Atômicas Consistentes Isoladas e Duráveis garantindo que as operações no banco de dados sejam consistentes e seguras Eficiente e Leve O SQLite é projetado para ser eficiente em termos de uso de recursos tornandoo adequado para dispositivos móveis com recursos limitados Bom desempenho O SQLite é rápido para realizar operações de leitura e gravação tornandoo uma escolha sólida para aplicativos Android que requerem acesso rápido a dados locais Dentre as vantagens de se usar SQLite podese citar Armazenamento Local Permite armazenar dados localmente no dispositivo o que é útil para aplicativos que precisam funcionar offline ou armazenar dados temporários Facilidade de Uso A API do SQLite no Android é relativamente simples e fácil de aprender tornandoa acessível para desenvolvedores iniciantes Eficiência e Desempenho O SQLite é otimizado para operações locais tornandoo adequado para aplicativos móveis que precisam de respostas rápidas Segurança O SQLite suporta criptografia o que é importante para aplicativos que lidam com dados sensíveis Como desvantagens do SQLite estão Concorrência Limitada O SQLite não lida bem com múltiplos threads que tentam acessar e modificar o banco de dados simultaneamente Isso requer cuidados com sincronização para evitar problemas de concorrência Escalabilidade Limitada Embora seja eficiente para aplicativos pequenos e médios o SQLite pode não ser a melhor opção para aplicativos que exigem escalabilidade significativa ou manipulação de grandes volumes de dados Menos Recursos Avançados Comparado a sistemas de gerenciamento de banco de dados de servidor completo o SQLite tem menos recursos avançados como suporte a procedimentos armazenados gatilhos complexos e funções definidas pelo usuário Problemas de Backup e Migração Gerenciar backups e migrações de bancos de dados pode ser mais complexo em comparação com sistemas de banco de dados mais sofisticados
Send your question to AI and receive an answer instantly
Recommended for you
2
Análise e Comparação de Diagramas Estruturais e Comportamentais
Linguagens de Programação
UNOPAR
6
Projeto Integrado I - Análise e Desenvolvimento de Sistemas
Linguagens de Programação
UNOPAR
16
Projeto de Extensao I - Analise e Desenvolvimento de Sistemas - Programa Contexto a Comunidade
Linguagens de Programação
UNOPAR
19
Projeto Integrado TI: Orientações e Critérios de Avaliação
Linguagens de Programação
UNOPAR
16
Projeto Integrado TI - Orientações e Critérios de Avaliação
Linguagens de Programação
UNOPAR
24
Projeto Integrado TI - Orientações e Critérios de Avaliação
Linguagens de Programação
UNOPAR
1
Receita de Bolo de Carne
Linguagens de Programação
UNOPAR
2
Receitas Diversas: Bolo de Carne, Sopa de Legumes e Lasanha
Linguagens de Programação
UNOPAR
6
Programacao Web - Roteiro Aula Pratica 2 - Criacao de API Spring Boot para CRUD de Usuarios
Linguagens de Programação
UNOPAR
14
Projeto Integrado - CST Analise e Desenvolvimento de Sistemas
Linguagens de Programação
UNOPAR
Preview text
PROJETO INTEGRADO CST EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROJETO INTEGRADO PROJETO INTEGRADO Prezado aluno Seja bemvindo a este semestre A proposta de Projeto Integrado é possibilitar a aprendizagem interdisciplinar dos conteúdos desenvolvidos nas disciplinas desse semestre ORIENTAÇÕES DO PROJETO INTEGRADO 1 O trabalho será realizado individualmente 2 Importante Você deverá postar o trabalho finalizado no AVA o que deverá ser feito na pasta específica da disciplina Projeto Integrado obedecendo ao prazo limite de postagem conforme disposto no AVA Não existe prorrogação para a postagem da atividade 3 Deve conter depois de pronto capa e folha de rosto padrão da Instituição sendo organizado no que tange à sua apresentação visual tipos e tamanhos de fontes alinhamento do texto espaçamentos adentramento de parágrafos apresentação correta de citações e referências entre outros elementos importantes conforme modelo disponível no AVA 4 A produção textual é um trabalho original e portanto não poderá haver trabalhos idênticos aos de outros alunos ou com reprodução de materiais extraídos da internet Os trabalhos plagiados serão invalidados sendo os alunos reprovados na atividade Lembrese de que a prática do plágio constitui crime com pena prevista em lei Lei nº 9610 e deve ser evitada no âmbito acadêmico 5 Importante O trabalho deve ser enviado em formato Word Não serão aceitos sob nenhuma hipótese trabalhos enviados em PDF A seguir apresentamos a você alguns dos critérios avaliativos que nortearão a análise do Tutor a Distância para atribuir o conceito à produção textual Normalização correta do trabalho com atendimento ao número de páginas solicitadas Apresentação de estrutura condizente com a proposta apresentada com introdução desenvolvimento e conclusão Uso de linguagem acadêmica adequada com clareza e correção atendendo à norma padrão Atendimento à proposta contemplando todos os itens solicitados com objetividade criatividade originalidade e autenticidade Fundamentação teórica do trabalho com as devidas referências dos autores eventualmente citados Lembrese de que seu Tutor a Distância está à disposição para lhe atender em suas dúvidas e também para repassar orientações sempre que você precisar Aproveite esta oportunidade para realizar um trabalho com a qualidade acadêmica de nível universitário PROJETO INTEGRADO 2 Leitura proposta Para atingir os objetivos deste projeto integrado você deverá seguir as instruções voltadas à elaboração do trabalho disponibilizadas ao longo do semestre sob a orientação do Tutor a Distância ATIVIDADES Tarefa 1 Vamos supor que você vai iniciar uma jornada empreendedora Junto com alguns sócios decidiu criar um negócio a partir da ideia de uma aplicação inovadora Esta aplicação precisa de um ambiente de TI com recursos computacionais de alto desempenho e ambiente de nuvem devido à redução de cursos e abstração da complexidade da infraestrutura O próximo passo é determinar qual dos modelos de serviço é mais apropriado para este caso SaaS PaaS ou IaaS Descreve analisando caso a caso Tarefa 2 Com o desenvolvimento dos sistemas surgiu a necessidade de dentro de um mesmo processo possuir trechos que executassem concorrentemente e aí temos o conceito de thread a Definição de thread b Pesquise os estados das threads c Os benefícios da programação multithread d Operações de thread Tarefa 3 Descreva detalhadamente todos os métodos HTTP existentes e cite um exemplo de utilização para cada um deles PROJETO INTEGRADO Tarefa 4 Em aplicações Android podemos trabalhar com a persistência de dados locais por meio da criação de bancos de dados utilizando a biblioteca SQLite Descreva as principais características do SQLite para aplicações Android bem como as principais vantagens e desvantagens de sua utilização Tarefa 1 A escolha entre os modelos de serviço SaaS Software as a Service PaaS Platform as a Service e IaaS Infrastructure as a Service depende das necessidades específicas do negócio do conhecimento técnico da equipe do orçamento disponível e do nível de controle desejado sobre a infraestrutura Detalhando os casos possíveis 1 SaaS Software as a Service Pode ser adotado se a aplicação for uma solução completa for de interesse fornecer essa solução diretamente aos usuários finaisTem como vantagens não ser necessário se preocupar com a infraestrutura manutenção de servidores ou atualizações de software ser escalável de acordo com a demanda e os usuários podem acessar a aplicação de qualquer lugar desde que tenham acesso à internet 2 PaaS Platform as a Service Pode ser adotada se a aplicação precisar de um ambiente de desenvolvimento e hospedagem eficiente Tem como vantagem fornecer um ambiente de desenvolvimento préconfigurado e escalável permitindo que a equipe se concentre no desenvolvimento do projeto sem se preocupar com a infraestrutura subjacente 3 IaaS Infrastructure as a Service Pode ser adotada se a aplicação necessitar de um alto grau de controle sobre a infraestrutura ou configurações específicas e recursos de alto desempenho O IaaS oferece controle total sobre a infraestrutura permitindo configurações personalizadas Isso é ideal se você existirem requisitos de segurança rigorosos ou se for preciso de servidores de alto desempenho Com as devidas justificativas de cada projeto qualquer uma das 3 pode ser adotada Entretanto como é dito que a aplicação precisa de um ambiente de TI com recursos computacionais de alto desempenho e ambiente de nuvem devido à redução de cursos e abstração da complexidade da infraestrutura o modelo de serviço mais viável nesse caso é o IaaS Tarefa 2 a Definição de thread Uma thread é a menor unidade de um processo que pode ser programada para execução concorrente Em outras palavras uma thread representa um fluxo de controle dentro de um programa Threads compartilham o mesmo espaço de endereço do processo e recursos como arquivos abertos e variáveis globais mas têm sua própria pilha de execução Isso permite que várias threads de um mesmo processo executem tarefas paralelamente aumentando a eficiência e a utilização dos recursos do sistema b Estados das threads As threads podem estar em vários estados dependendo de sua execução Os principais estados das threads são Novo a thread foi criada mas ainda não iniciou sua execução Executável a thread está pronta para ser executada mas o sistema operacional ainda não a escalonou para a CPU Em execução a thread está atualmente sendo executada na CPU Bloqueado a thread está aguardando algum evento ou recurso como EntradaSaída de disco e não pode executar até que esse recurso seja liberado Terminado a thread concluiu sua execução e não está mais ativa c Benefícios da programação multithread A programação multithread oferece diversos benefícios incluindo Melhor desempenho permite a execução concorrente de tarefas tornando o programa mais eficiente especialmente em sistemas com múltiplos núcleos de CPU Responsividade Threads permitem que partes do programa sejam executadas em segundo plano mantendo a interface do usuário responsiva Divisão de tarefas Tarefas complexas podem ser divididas em threads menores facilitando o desenvolvimento e a manutenção do código Aproveitamento de recursos Threads podem aproveitar ao máximo os recursos de hardware disponíveis como CPU e memória Compartilhamento de dados Threads podem compartilhar dados dentro do mesmo processo o que é útil para comunicação entre tarefas d Operações de thread As operações comuns em threads incluem Criação de thread criar novas threads para executar tarefas específicas Sincronização de thread Garantir que as threads cooperem de maneira coordenada evitando problemas como condições de corrida e deadlocks Finalização de thread Encerrar ou finalizar uma thread após a conclusão de sua tarefa Comunicação entre threads Permitir que as threads compartilhem informações e coordenem a execução Controle de recursos compartilhados Gerenciar recursos compartilhados entre threads para evitar conflitos Tarefa 3 Os métodos HTTP também conhecidos como verbos HTTP são usados para indicar a ação que deve ser executada em um recurso web Existem vários métodos HTTP cada um com um propósito específico Os métodos possíveis são 1 GET O método GET é usado para recuperar informações de um recurso especificado Uma solicitação GET é usada ao acessar uma página da web em um navegador Por exemplo ao digitar httpswwwexemplocompagina no seu navegador o navegador envia uma solicitação GET para obter a página da web 2 POST O método POST é usado para enviar dados para o servidor a fim de criar ou atualizar um recurso Quando é prennchido um formulário da web e o usuário clica no botão Enviar os dados são enviados para o servidor usando uma solicitação POST Isso é comum em formulários de login envio de mensagens etc 3 PUT O método PUT é usado para atualizar um recurso ou criar um novo recurso se ele não existir Um cliente pode enviar uma solicitação PUT para atualizar as informações de um usuário em um sistema web bem como para alterar informações de perfil 4 PATCH O método PATCH é usado para aplicar parcialmente uma atualização em um recurso Ele é útil quando você deseja modificar apenas parte dos dados de um recurso por exemplo para atualizar apenas o endereço de email de um usuário em vez de atualizar todas as informações do perfil 5 DELETE O método DELETE é usado para remover um recurso específico no servidor Ao clicar em um botão Excluir em uma aplicação uma solicitação DELETE pode ser enviada para remover um post de blog um produto de uma loja online etc 6 HEAD O método HEAD é semelhante ao GET mas não retorna o corpo da resposta apenas os cabeçalhos É usado para obter informações sobre um recurso sem recuperar o conteúdo completo O HEAD pode ser usado para verificar a disponibilidade de um recurso ou para obter informações sobre o tipo de conteúdo sem baixar os dados 7 OPTIONS O método OPTIONS é usado para obter informações sobre as opções de comunicação com o recurso Ele fornece detalhes sobre quais métodos são permitidos no recurso Uma aplicação pode usar OPTIONS para determinar quais métodos por exemplo GET POST PUT estão habilitados para um recurso específico 8 CONNECT O método CONNECT é usado para estabelecer uma conexão de rede com um recurso normalmente usado com proxies para criar um túnel SSLTLS 9 TRACE O método TRACE é usado para recuperar um diagnóstico de loopback do recurso geralmente usado para depuração Tarefa 4 O SQLite é um sistema de gerenciamento de banco de dados relacional embutido que é amplamente utilizado em aplicativos Android para armazenar e gerenciar dados locais As principais características do SQLite em aplicações Android são Embutido O SQLite é uma biblioteca C embutida diretamente no sistema Android Isso significa que não é necessário um servidor de banco de dados separado o que o torna fácil de integrar em aplicativos Android Sintaxe SQL Padrão O SQLite suporta a maioria das consultas SQL padrão o que facilita a criação e manipulação de bancos de dados Transações ACID O SQLite suporta transações ACID Atômicas Consistentes Isoladas e Duráveis garantindo que as operações no banco de dados sejam consistentes e seguras Eficiente e Leve O SQLite é projetado para ser eficiente em termos de uso de recursos tornandoo adequado para dispositivos móveis com recursos limitados Bom desempenho O SQLite é rápido para realizar operações de leitura e gravação tornandoo uma escolha sólida para aplicativos Android que requerem acesso rápido a dados locais Dentre as vantagens de se usar SQLite podese citar Armazenamento Local Permite armazenar dados localmente no dispositivo o que é útil para aplicativos que precisam funcionar offline ou armazenar dados temporários Facilidade de Uso A API do SQLite no Android é relativamente simples e fácil de aprender tornandoa acessível para desenvolvedores iniciantes Eficiência e Desempenho O SQLite é otimizado para operações locais tornandoo adequado para aplicativos móveis que precisam de respostas rápidas Segurança O SQLite suporta criptografia o que é importante para aplicativos que lidam com dados sensíveis Como desvantagens do SQLite estão Concorrência Limitada O SQLite não lida bem com múltiplos threads que tentam acessar e modificar o banco de dados simultaneamente Isso requer cuidados com sincronização para evitar problemas de concorrência Escalabilidade Limitada Embora seja eficiente para aplicativos pequenos e médios o SQLite pode não ser a melhor opção para aplicativos que exigem escalabilidade significativa ou manipulação de grandes volumes de dados Menos Recursos Avançados Comparado a sistemas de gerenciamento de banco de dados de servidor completo o SQLite tem menos recursos avançados como suporte a procedimentos armazenados gatilhos complexos e funções definidas pelo usuário Problemas de Backup e Migração Gerenciar backups e migrações de bancos de dados pode ser mais complexo em comparação com sistemas de banco de dados mais sofisticados Tarefa 1 A escolha entre os modelos de serviço SaaS Software as a Service PaaS Platform as a Service e IaaS Infrastructure as a Service depende das necessidades específicas do negócio do conhecimento técnico da equipe do orçamento disponível e do nível de controle desejado sobre a infraestrutura Detalhando os casos possíveis 1 SaaS Software as a Service Pode ser adotado se a aplicação for uma solução completa for de interesse fornecer essa solução diretamente aos usuários finaisTem como vantagens não ser necessário se preocupar com a infraestrutura manutenção de servidores ou atualizações de software ser escalável de acordo com a demanda e os usuários podem acessar a aplicação de qualquer lugar desde que tenham acesso à internet 2 PaaS Platform as a Service Pode ser adotada se a aplicação precisar de um ambiente de desenvolvimento e hospedagem eficiente Tem como vantagem fornecer um ambiente de desenvolvimento préconfigurado e escalável permitindo que a equipe se concentre no desenvolvimento do projeto sem se preocupar com a infraestrutura subjacente 3 IaaS Infrastructure as a Service Pode ser adotada se a aplicação necessitar de um alto grau de controle sobre a infraestrutura ou configurações específicas e recursos de alto desempenho O IaaS oferece controle total sobre a infraestrutura permitindo configurações personalizadas Isso é ideal se você existirem requisitos de segurança rigorosos ou se for preciso de servidores de alto desempenho Com as devidas justificativas de cada projeto qualquer uma das 3 pode ser adotada Entretanto como é dito que a aplicação precisa de um ambiente de TI com recursos computacionais de alto desempenho e ambiente de nuvem devido à redução de cursos e abstração da complexidade da infraestrutura o modelo de serviço mais viável nesse caso é o IaaS Tarefa 2 a Definição de thread Uma thread é a menor unidade de um processo que pode ser programada para execução concorrente Em outras palavras uma thread representa um fluxo de controle dentro de um programa Threads compartilham o mesmo espaço de endereço do processo e recursos como arquivos abertos e variáveis globais mas têm sua própria pilha de execução Isso permite que várias threads de um mesmo processo executem tarefas paralelamente aumentando a eficiência e a utilização dos recursos do sistema b Estados das threads As threads podem estar em vários estados dependendo de sua execução Os principais estados das threads são Novo a thread foi criada mas ainda não iniciou sua execução Executável a thread está pronta para ser executada mas o sistema operacional ainda não a escalonou para a CPU Em execução a thread está atualmente sendo executada na CPU Bloqueado a thread está aguardando algum evento ou recurso como EntradaSaída de disco e não pode executar até que esse recurso seja liberado Terminado a thread concluiu sua execução e não está mais ativa c Benefícios da programação multithread A programação multithread oferece diversos benefícios incluindo Melhor desempenho permite a execução concorrente de tarefas tornando o programa mais eficiente especialmente em sistemas com múltiplos núcleos de CPU Responsividade Threads permitem que partes do programa sejam executadas em segundo plano mantendo a interface do usuário responsiva Divisão de tarefas Tarefas complexas podem ser divididas em threads menores facilitando o desenvolvimento e a manutenção do código Aproveitamento de recursos Threads podem aproveitar ao máximo os recursos de hardware disponíveis como CPU e memória Compartilhamento de dados Threads podem compartilhar dados dentro do mesmo processo o que é útil para comunicação entre tarefas d Operações de thread As operações comuns em threads incluem Criação de thread criar novas threads para executar tarefas específicas Sincronização de thread Garantir que as threads cooperem de maneira coordenada evitando problemas como condições de corrida e deadlocks Finalização de thread Encerrar ou finalizar uma thread após a conclusão de sua tarefa Comunicação entre threads Permitir que as threads compartilhem informações e coordenem a execução Controle de recursos compartilhados Gerenciar recursos compartilhados entre threads para evitar conflitos Tarefa 3 Os métodos HTTP também conhecidos como verbos HTTP são usados para indicar a ação que deve ser executada em um recurso web Existem vários métodos HTTP cada um com um propósito específico Os métodos possíveis são 1 GET O método GET é usado para recuperar informações de um recurso especificado Uma solicitação GET é usada ao acessar uma página da web em um navegador Por exemplo ao digitar httpswwwexemplocompagina no seu navegador o navegador envia uma solicitação GET para obter a página da web 2 POST O método POST é usado para enviar dados para o servidor a fim de criar ou atualizar um recurso Quando é prennchido um formulário da web e o usuário clica no botão Enviar os dados são enviados para o servidor usando uma solicitação POST Isso é comum em formulários de login envio de mensagens etc 3 PUT O método PUT é usado para atualizar um recurso ou criar um novo recurso se ele não existir Um cliente pode enviar uma solicitação PUT para atualizar as informações de um usuário em um sistema web bem como para alterar informações de perfil 4 PATCH O método PATCH é usado para aplicar parcialmente uma atualização em um recurso Ele é útil quando você deseja modificar apenas parte dos dados de um recurso por exemplo para atualizar apenas o endereço de email de um usuário em vez de atualizar todas as informações do perfil 5 DELETE O método DELETE é usado para remover um recurso específico no servidor Ao clicar em um botão Excluir em uma aplicação uma solicitação DELETE pode ser enviada para remover um post de blog um produto de uma loja online etc 6 HEAD O método HEAD é semelhante ao GET mas não retorna o corpo da resposta apenas os cabeçalhos É usado para obter informações sobre um recurso sem recuperar o conteúdo completo O HEAD pode ser usado para verificar a disponibilidade de um recurso ou para obter informações sobre o tipo de conteúdo sem baixar os dados 7 OPTIONS O método OPTIONS é usado para obter informações sobre as opções de comunicação com o recurso Ele fornece detalhes sobre quais métodos são permitidos no recurso Uma aplicação pode usar OPTIONS para determinar quais métodos por exemplo GET POST PUT estão habilitados para um recurso específico 8 CONNECT O método CONNECT é usado para estabelecer uma conexão de rede com um recurso normalmente usado com proxies para criar um túnel SSLTLS 9 TRACE O método TRACE é usado para recuperar um diagnóstico de loopback do recurso geralmente usado para depuração Tarefa 4 O SQLite é um sistema de gerenciamento de banco de dados relacional embutido que é amplamente utilizado em aplicativos Android para armazenar e gerenciar dados locais As principais características do SQLite em aplicações Android são Embutido O SQLite é uma biblioteca C embutida diretamente no sistema Android Isso significa que não é necessário um servidor de banco de dados separado o que o torna fácil de integrar em aplicativos Android Sintaxe SQL Padrão O SQLite suporta a maioria das consultas SQL padrão o que facilita a criação e manipulação de bancos de dados Transações ACID O SQLite suporta transações ACID Atômicas Consistentes Isoladas e Duráveis garantindo que as operações no banco de dados sejam consistentes e seguras Eficiente e Leve O SQLite é projetado para ser eficiente em termos de uso de recursos tornandoo adequado para dispositivos móveis com recursos limitados Bom desempenho O SQLite é rápido para realizar operações de leitura e gravação tornandoo uma escolha sólida para aplicativos Android que requerem acesso rápido a dados locais Dentre as vantagens de se usar SQLite podese citar Armazenamento Local Permite armazenar dados localmente no dispositivo o que é útil para aplicativos que precisam funcionar offline ou armazenar dados temporários Facilidade de Uso A API do SQLite no Android é relativamente simples e fácil de aprender tornandoa acessível para desenvolvedores iniciantes Eficiência e Desempenho O SQLite é otimizado para operações locais tornandoo adequado para aplicativos móveis que precisam de respostas rápidas Segurança O SQLite suporta criptografia o que é importante para aplicativos que lidam com dados sensíveis Como desvantagens do SQLite estão Concorrência Limitada O SQLite não lida bem com múltiplos threads que tentam acessar e modificar o banco de dados simultaneamente Isso requer cuidados com sincronização para evitar problemas de concorrência Escalabilidade Limitada Embora seja eficiente para aplicativos pequenos e médios o SQLite pode não ser a melhor opção para aplicativos que exigem escalabilidade significativa ou manipulação de grandes volumes de dados Menos Recursos Avançados Comparado a sistemas de gerenciamento de banco de dados de servidor completo o SQLite tem menos recursos avançados como suporte a procedimentos armazenados gatilhos complexos e funções definidas pelo usuário Problemas de Backup e Migração Gerenciar backups e migrações de bancos de dados pode ser mais complexo em comparação com sistemas de banco de dados mais sofisticados