Prévia do material em texto
Análise e Desenvolvimento de Sistemas YARA MARIA LINO GOMES PROJETO INTEGRADO INTERDISCIPLINAR RA:38507488 PARAUAPEBAS/PA 2025 SUMÁRIO * INTRODUÇÃO O presente trabalho tem como objetivo o desenvolvimento de um Projeto Integrado Interdisciplinar no curso de Análise e Desenvolvimento de Sistemas. A proposta busca articular os conhecimentos adquiridos ao longo das disciplinas do semestre, aplicando- os em um contexto prático e desafiador. Para tanto, foi escolhida a empresa fictícia TechMarket, especializada em comércio eletrônico, que enfrenta sérios problemas de desempenho e disponibilidade em seus sistemas durante períodos de alta demanda, como promoções e datas especiais. Esses desafios impactam diretamente a experiência do usuário, a confiabilidade das operações financeiras e a sustentabilidade do negócio. A partir dessa situação-problema, o trabalho propõe soluções técnicas que envolvem computação em nuvem, frameworks de desenvolvimento, programação web, banco de dados e JavaScript, de forma a integrar teoria e prática. Assim, o portfólio busca não apenas apresentar respostas aos problemas levantados, mas também demonstrar a importância da interdisciplinaridade no processo de formação acadêmica e no desenvolvimento de competências profissionais voltadas ao mercado de tecnologia * DESENVOLVIMENTO 2.1 Atividade Proposta A atividade proposta neste Projeto Integrado consiste em analisar os principais desafios enfrentados pela empresa TechMarket, especializada em comércio eletrônico, que sofre com falhas críticas de desempenho durante períodos de alta demanda, como promoções e datas especiais 2.2 Computação em Nuvem (Escalonamento) A TechMarket enfrenta sérios problemas de instabilidade durante períodos de alta demanda, como Black Friday e promoções relâmpago. Isso ocorre porque sua arquitetura atual é monolítica e depende apenas de escalonamento vertical, o que limita a capacidade de crescimento do sistema. 2.2.1 RESOLUÇÃO PASSO 1 - Escalonamento Vertical (Scale Up): consiste em aumentar os recursos de um único servidor, como adicionar mais memória RAM, processadores ou armazenamento. Embora seja uma solução rápida, possui limitações físicas e financeiras, além de criar um ponto único de falha: se o servidor cair, todo o sistema fica indisponível. - Escalonamento Horizontal (Scale Out): envolve adicionar novos servidores ou instâncias para dividir a carga de trabalho. Essa abordagem permite maior resiliência, já que a falha de um nó não compromete todo o sistema, além de oferecer elasticidade para lidar com picos de acesso. Proposta de Configuração para a TechMarket: Para suportar acessos simultâneos em larga escala, recomenda-se a adoção de uma arquitetura baseada em escalonamento horizontal na nuvem, com os seguintes pontos: - Containerização da aplicação utilizando Docker e orquestração com Kubernetes, permitindo que múltiplas instâncias sejam criadas e gerenciadas automaticamente. - Balanceadores de carga (Load Balancers) para distribuir requisições entre diferentes servidores, garantindo melhor desempenho e menor latência. - Serviços de Auto Scaling (como AWS Auto Scaling, Azure VM Scale Sets ou Google Cloud Autoscaler) para aumentar ou reduzir a quantidade de instâncias de acordo com a demanda em tempo real. - Banco de dados distribuído ou com replicação e sharding, evitando gargalos em consultas e garantindo alta disponibilidade. - Monitoramento em tempo real com ferramentas como Prometheus + Grafana ou serviços nativos da nuvem, para identificar falhas e agir preventivamente. Com essa abordagem, a TechMarket poderá lidar com milhões de acessos simultâneos, reduzir os riscos de indisponibilidade e otimizar custos, pagando apenas pelos recursos utilizados durante os picos de demanda. 2.3 FRAMEWORKS PARA DESENVOLVIMENTO DE SOFTWARE Durante uma promoção bancária, a fintech FastPay enfrentou falhas graves em seu sistema de transferências financeiras, ocasionando duplicidade de operações e alta latência. Esse tipo de problema ocorre quando não há validações robustas e registro confiável das transações. No ambiente da TechMarket, que também está desenvolvendo uma API de transações financeiras, é essencial garantir segurança, confiabilidade e precisão. Para isso, foi solicitado o desenvolvimento de um endpoint REST que permita realizar transferências financeiras com: - Validação de saldo; - Registro da transação; - Geração de um código único para cada operação. 2.3.1 RESOLUÇÃO PASSO 2 Explicação da Solução - Validação de saldo: impede que a transferência ocorra se o valor for maior que o saldo disponível. - Registro da transação: cada operação é armazenada no histórico das contas envolvidas. - Código único (UUID): garante rastreabilidade e evita duplicidade. - Resposta confiável: o cliente recebe confirmação com código da operação e saldo atualizado. 2.4 PROGRAMAÇÃO WEB A TechMarket enfrenta dificuldades na experiência do usuário em dispositivos móveis, já que o frontend não é responsivo. Muitos clientes reclamam que não conseguem visualizar o extrato de suas compras em smartphones, o que gera insatisfação, aumento de chamados no suporte e até perda de credibilidade da empresa. Além disso, transações de valores elevados acabam passando despercebidas, dificultando o controle financeiro dos clientes. Para resolver esse problema, é necessário criar um extrato bancário responsivo, com foco em usabilidade móvel, clareza e performance. 2.5 PROGRAMAÇÃO E DESENVOLVIMENTO DE BANCO DE DADOS A TechMarket, por lidar com milhares de transações financeiras diariamente, enfrenta dificuldades de desempenho em seu banco de dados. Consultas lentas e não otimizadas comprometem a experiência do usuário e podem gerar inconsistências no cálculo de saldos. Para resolver esse problema, foi solicitado o desenvolvimento de uma procedure SQL que automatize o cálculo do saldo de uma conta, apresente as últimas transações e permita filtrar os resultados por período 2.4.1 RESOLUÇÃO PASSO 3 A seguir, apresento uma proposta de implementação em HTML + CSS (com Bootstrap) para garantir responsividade e destaque em transações acima de R$ 5.000: Explicação da Solução - Responsividade: uso do meta viewport e da classe table-responsive do Bootstrap, garantindo boa visualização em smartphones. - Destaque para valores altos: a classe .alto-valor aplica cor de fundo e texto em vermelho para transações acima de R$ 5.000. - Performance: uso de HTML e CSS leves, sem sobrecarga de scripts, garantindo carregamento rápido. 2.5.1 RESOLUÇÃO PASSO 4 A seguir, apresento uma proposta de implementação em Phyton se inserimos um banco de dados como exemplo e rodarmos no terminal: Explicação - Banco SQLite: simples para testes, mas pode ser substituído por PostgreSQL, MySQL etc. - Função extrato_conta: - Calcula o saldo somando créditos (C) e débitos (D). - Permite filtrar por período (data_inicio e data_fim). - Retorna também as 10 últimas transações. - Flexibilidade: esse código pode ser integrado a uma API em Flask ou FastAPI, por exemplo. 2.6 DESENVOLVIMENTO EM JAVASCRIPT A TechMarket enfrenta problemas recorrentes no processo de abertura de contas, causados por dados inconsistentes inseridos pelos usuários. Muitos clientes informam CPF, data de nascimento ou telefone incorretamente, o que gera frustração, abandono de cadastro e aumento da carga de trabalho manual das equipes internas. Para resolver esse problema, foi solicitado o desenvolvimento de validações básicas em JavaScript que garantam que os dados preenchidos atendam aospadrões esperados. 2.6.1 Resolução Passo 5 A seguir, apresento um exemplo de formulário HTML com validações em JavaScript puro: Explicação da Solução - CPF: exige 11 dígitos numéricos. - Data de nascimento: deve ser anterior à data atual. - Telefone: aceita 10 ou 11 dígitos (com ou sem DDD). - Feedback visual: mensagens de erro aparecem abaixo de cada campo. - Usabilidade: formulário simples, direto e com validação em tempo real. 3. CONCLUSÃO O desenvolvimento deste Projeto Integrado permitiu aplicar, de forma prática e contextualizada, os conhecimentos adquiridos ao longo das disciplinas do semestre. A partir da situação-problema enfrentada pela empresa fictícia TechMarket, foi possível propor soluções técnicas que envolvem desde a arquitetura de sistemas até a experiência do usuário, passando por segurança, desempenho e validação de dados. Cada passo abordado — computação em nuvem, frameworks de desenvolvimento, programação web, banco de dados e JavaScript — demonstrou a importância da integração entre áreas para a construção de sistemas robustos, escaláveis e eficientes. Além disso, o exercício reforçou a relevância da interdisciplinaridade na formação de profissionais capazes de atuar de forma crítica e criativa diante dos desafios reais do mercado de tecnologia. Por fim, este portfólio representa não apenas a resolução de problemas técnicos, mas também o desenvolvimento de competências essenciais como organização, clareza na comunicação, responsabilidade acadêmica e autenticidade. A experiência contribuiu significativamente para a consolidação do aprendizado e para a preparação profissional no campo da Análise e Desenvolvimento de Sistemas.