Skip to content

Documento de Requisitos de Software (DRS): Chatbot Anti-Fake News

Versão: 2.0 Data: 17 de Setembro de 2025


1. Introdução

1.1 Problema

A disseminação de notícias falsas (fake news) é um dos maiores desafios da sociedade conectada. Com a velocidade da informação em redes sociais e aplicativos de mensagens, conteúdos enganosos ou manipulados podem se espalhar rapidamente, impactando negativamente áreas como saúde, política, economia e segurança pública.

Atualmente, usuários comuns têm dificuldade em identificar a veracidade das informações que recebem, pois a checagem de fatos exige tempo, acesso a fontes confiáveis e habilidades específicas de análise crítica. Além disso, ferramentas tradicionais de busca não oferecem, de forma simples e imediata, uma validação contextualizada das notícias.

O problema central, portanto, é a falta de uma solução acessível e confiável que auxilie usuários a verificarem, em tempo real, a credibilidade de informações recebidas, reduzindo a propagação de fake news e fortalecendo o consumo consciente de conteúdo digital.

1.2. Propósito

O propósito deste documento é descrever de forma clara e detalhada todos os requisitos funcionais, não-funcionais e de interface para o aplicativo móvel de chatbot anti-fake news. Este DRS servirá como guia para a equipe de desenvolvimento, base para o planejamento de testes e como um acordo formal entre os stakeholders do projeto.

1.3. Escopo do Produto

O produto será um aplicativo móvel para a plataforma Android. Sua função principal é permitir que usuários conversem com um chatbot inteligente para obter informações precisas e verificadas sobre notícias e eventos atuais.

Utilizando uma arquitetura de Geração Aumentada por Recuperação (RAG), o sistema consultará uma base de dados curada de jornais e artigos confiáveis para formular respostas, combatendo a desinformação e as fake news.

Estarão fora do escopo desta versão:
- Autenticação de usuários com login e senha em nuvem.
- Sincronização de histórico de chat entre múltiplos dispositivos.
- Funcionalidades de chat em grupo ou social.
- Monetização ou sistemas de assinatura.

1.4. Definições, Acrônimos e Abreviações

  • DRS: Documento de Requisitos de Software.
  • App: Aplicativo móvel.
  • LLM (Large Language Model): Modelo de Linguagem de Grande Porte, a tecnologia de IA que potencializa o chatbot.
  • RAG (Retrieval-Augmented Generation): Geração Aumentada por Recuperação. Arquitetura que combina um LLM com uma base de dados externa para gerar respostas mais precisas e baseadas em fatos.
  • API (Application Programming Interface): Interface de Programação de Aplicação.
  • UI (User Interface): Interface do Usuário.

2. Descrição Geral

2.1. Perspectiva do Produto

O aplicativo é um produto independente e autocontido. Ele se posiciona como uma ferramenta de verificação de fatos e informação rápida, competindo com mecanismos de busca tradicionais e outras plataformas de checagem de notícias, com o diferencial de uma interface conversacional intuitiva.

2.2. Características dos Usuários

O público-alvo do aplicativo são usuários de smartphones em geral, preocupados com a veracidade das informações que consomem. Isso inclui:

  • Usuário Geral: Pessoas com pouca afinidade tecnológica que buscam respostas rápidas e confiáveis para suas dúvidas.
  • Estudantes e Pesquisadores: Utilizarão o app como ponto de partida para obter informações de fontes seguras.
  • Profissionais de Comunicação: Jornalistas e criadores de conteúdo que necessitam de uma ferramenta ágil para checagem de fatos.

2.3. Restrições Gerais

  • O sistema dependerá de uma conexão ativa com a internet para se comunicar com a API da LLM.
  • Toda a curadoria de conteúdo para o banco de dados deve seguir princípios éticos de jornalismo e imparcialidade.

2.4. Suposições e Dependências

  • Dependência de API Externa: O funcionamento do chatbot depende diretamente da disponibilidade e dos termos de serviço da API da LLM escolhida (ex: Gemini, OpenAI API).
  • Qualidade do Banco de Dados: A precisão das respostas do chatbot é proporcional à qualidade e atualização do banco de dados vetorial.

3. Requisitos Funcionais

RF-001: Configuração Inicial do Usuário

Descrição: Na primeira vez que abrir o aplicativo, o usuário será apresentado a uma tela inicial.

Componentes:
- RF-001.1: A tela deve exibir o logo e o nome do aplicativo.
- RF-001.2: Campo de texto para que o usuário insira um nome/apelido.
- RF-001.3: Botão "Salvar" ou "Entrar" deve persistir o nome do usuário localmente no dispositivo. - RF-001.4: Tutorial ensinando o funcionamento do app.

RF-002: Interface de Chat

Descrição: A tela principal do aplicativo será uma interface de chat interativa.

Componentes:
- RF-002.1: Exibir mensagens do usuário e do chatbot em formato cronológico.
- RF-002.2: Campo de texto para digitação de mensagens.
- RF-002.3: Botão "Enviar" para enviar mensagens ao chatbot.
- RF-002.4: Exibir o logo do aplicativo na parte superior da tela.

RF-003: Menu Lateral e Histórico

Descrição: A tela de chat deve conter um menu lateral para acesso a outras funcionalidades.

Componentes:
- RF-003.1: Ícone (três barras horizontais) abre o menu lateral.
- RF-003.2: O menu lateral deve conter lista de chats anteriores armazenados localmente.
- RF-003.3: Botão para acessar a pagina de configurações

RF-004-1: Tela de Configuração

Componentes:
- RF-004-1.1: Botão de edição do nome de usuário. - RF-004-1.2: Dentro a opção app: Idioma, botão para mudar a linguagem em que a LLM responde e do app. - RF-004-1.3: Dentro a opção app: Aparência, botão para trocar o tema do aplicativo para claro ou escuro, começa pelo padrão do sistema - RF-004-1.4: Dentro a opção app: Tamanho da Fonte, botão para trocar o tamanho da fonte - RF-004-1.5: Dentro da opção sobre: Um botão "Saiba Mais" que redireciona ao github pages. - RF-004-1.6: Dentro da opção sobre: Um botão de "Tutorial" que redireciona o usuário a landing page. - RF-004-1.7: Dentro da opção sobre: Um botão de Termos de Serviço. - RF-004-1.8: Botão de volta a tela principal.

RF-004-2: Tela de Configuração em Janela

  • RF-004-2.1: Tanto o botão "Idioma" quanto o "Aparência" irão redirecionar a uma tela em janela que será aberta dentro das configurações, aplicando um filtro para escurecer tudo fora da janela.
  • RF-004-2.2: Essa configuração em janela tem opções de escolha a esqueda que podem ser selecionadas a direita.
  • RF-004-2.3: Um botão que irá voltar a tela de configurações.

RF-004-3: Tela de Configuração de Fonte

  • RF-004-3.1: Uma tela separada de configurações com um texto explicativo mostrando o tamanho da fonte atual que está sendo ultilizado pelo chatbot.
  • RF-004-3.2: Caixa interativa na parte inferior da tela com opções de diminuir e aumentar a fonte, mudando em tempo real o texto explicativo.
  • RF-004-3.3: Botão de volta a página de configurações.

RF-004-4: Tela de Configuração de Termos de Serviço

  • RF-004-4.1: Quando clicado, irá redirecionar a uma tela com duas opções: Termos de Uso e Política de Privacidade.
  • RF-004-4.2: Botão em ambas as opções que ira redirecionar o usuario até a tela especifica a isso.
  • RF-004-4.3: Tela contendo de forma crua os termos de serviço e política de privacidade, com botão de volta a tela de termos de seviço.
  • RF-004-4.4: Botão de volta a configurações.

RF-005: Sistema de Interação com o Chatbot (RAG)

Descrição: Núcleo do sistema que processa as perguntas e gera respostas.

Componentes:
- RF-005.1: Receber pergunta do usuário.
- RF-005.2: Consultar banco de dados vetorial para artigos relevantes.
- RF-005.3: Enviar dados para a LLM.
- RF-005.4: Receber resposta e exibir na interface de chat.
- RF-005.5: Analisar se entrada é um link. Caso não confiável, retornar mensagem:

"Desculpe, só posso analisar informações de fontes confiáveis que fazem parte do meu conhecimento."

RF-006: Sistema de Administração de Conteúdo

Descrição: Interface web para administradores controlarem quais reportagems estão sendo colocadas no banco de dados.

Componentes:
- RF-006.1: Permitir envio e remoção de novos artigos (link ou upload).
- RF-006.2: Mostrar quais reportagens e a fonte da mesma estão armazenadas no banco de dados.


4. Requisitos Não-Funcionais

  • RNF-001: Desempenho
    Tempo de resposta deve ser < 10 segundos em média.

  • RNF-002: Segurança
    Comunicação via HTTPS. Dados de usuário armazenados apenas localmente.

  • RNF-003: Confiabilidade
    Se não houver dados relevantes, chatbot deve responder:

    "Não encontrei informações sobre este tópico em minha base de dados para fornecer uma resposta confiável."

  • RNF-004: Usabilidade
    Interface deve seguir padrões de apps de mensagens populares (WhatsApp, Telegram, ChatGPT, Gemini).

  • RNF-005: Escalabilidade
    Suporte estável para até 100 usuários simultâneos.


5. Requisitos de Interface Externa

5.1. Interfaces de Usuário (UI)

  • UI deve ser limpa, moderna e intuitiva.
  • Adaptar-se a diferentes tamanhos de tela.
  • Exibir feedback visual quando o chatbot estiver "digitando".

5.2. Interfaces de Software

  • API da LLM: Comunicação via HTTP RESTful.
  • Banco de Dados Vetorial: Backend conectado a serviço de vetores (ex: ChromaDB).

6. Impacto Esperado

O aplicativo de chatbot anti-fake news pretende gerar um impacto positivo em diferentes níveis:

  • Social: reduzir a disseminação de desinformação, promovendo um consumo mais consciente e responsável de notícias.
  • Educacional: oferecer uma ferramenta de apoio para estudantes, pesquisadores e cidadãos em geral, facilitando o acesso a informações verificadas.
  • Tecnológico: demonstrar o uso prático de arquiteturas baseadas em LLM e RAG, aplicadas a um problema real de relevância global.
  • Comunicacional: apoiar profissionais de mídia e criadores de conteúdo na checagem rápida de fatos, fortalecendo a credibilidade das informações divulgadas.

Com isso, espera-se contribuir para um ambiente digital mais confiável, onde usuários possam tomar decisões melhor informadas e reduzir os efeitos nocivos das fake news na sociedade.