Skip to content

Requisitos do Sistema

Esta tabela lista todos os requisitos do projeto, sua prioridade e descrição detalhada.

Requisitos Funcionais

ID Requisito Importância Descrição Critérios de Sucesso
Autenticação e Conta
RF-001 Login de Usuáriso MUST Eu como usuário cadastrado, quero fazer login usando meu e-mail e senha para ter acesso às funcionalidades exclusivas do meu perfil e interagir com a plataforma. - O usuário consegue fazer login com credenciais válidas e é redirecionado para a página inicial logada.
- O sistema exibe uma mensagem de erro clara ("E-mail ou senha inválidos") ao tentar login com credenciais incorretas.
RF-002 Cadastro MUST Eu como visitante, quero criar uma conta fornecendo meus dados básicos para poder utilizar as funcionalidades do site. - Após preencher o formulário com dados válidos, a conta é criada com sucesso e o usuário é logado.
- O sistema exibe uma mensagem de erro se o e-mail informado já estiver em uso.
- O sistema valida a força da senha e informa o usuário se os critérios não forem atendidos.
RF-003 Recuperação da Senha MUST Eu como usuário cadastrado que esqueceu a senha, quero solicitar um link de redefinição por e-mail para recuperar o acesso à minha conta de forma segura. - Ao inserir um e-mail cadastrado, o usuário recebe um e-mail com um link para redefinir sua senha.
- Após redefinir a senha, o usuário consegue fazer login com as novas credenciais.
RF-004 Manter Sessão Ativa SHOULD Eu como usuário cadastrado, quero ter a opção de 'Manter-se Conectado' ao fazer login para não precisar inserir minhas credenciais toda vez que eu visitar o site no mesmo dispositivo. - Se a opção "Manter-se Conectado" for marcada, o usuário permanece logado após fechar e reabrir o navegador.
- Se a opção não for marcada, o usuário é desconectado ao fechar a sessão do navegador.
RF-005 Encerramento de Sessão MUST Eu como usuário logado, quero clicar em um botão 'Sair' para encerrar minha sessão de forma segura e proteger minha conta. - Ao clicar no botão "Sair", a sessão do usuário é encerrada imediatamente.
- Após o logout, o usuário é redirecionado para a página inicial.
- O usuário não consegue acessar páginas restritas após o logout.
Página de Perfil
RF-006 Visualização de Dados do Perfil MUST Eu como usuário logado, quero visualizar as informações do meu perfil (nome, e-mail, foto, pontuação) para consultar meus dados cadastrados. - Todas as informações salvas do usuário são exibidas corretamente na página de perfil.
RF-007 Edição de Dados Pessoais MUST Eu como usuário logado, quero editar minhas informações pessoais (como nome e foto de perfil) para manter meus dados atualizados. - O usuário consegue alterar seus dados e salvá-los com sucesso.
- As informações atualizadas são refletidas imediatamente na página de perfil.
RF-008 Visualização de Histórico de Denúncias SHOULD Eu como usuário logado, quero ver uma lista de todas as denúncias que eu já fiz. - A página exibe uma lista com todas as denúncias feitas pelo usuário.
RF-009 Gerenciamento de Denúncia MUST Eu como usuário que realizou uma denúncia, quero poder cancelar uma denúncia para corrigir um erro ou evitar informações duplicadas. - O sistema solicita uma confirmação antes de cancelar a denúncia permanentemente.
RF-010 Visualização de Interações do Usuário COULD Eu como usuário logado, quero ver um feed com todas as minhas atividades recentes (ex: comentários e posts). - A página exibe uma lista cronológica das últimas postagens.
- Cada interação na lista contém um link para o conteúdo original.
Página de Orientação
RF-011 Guia de Denúncia MUST Eu como usuário que não sabe a quem recorrer, quero uma página que possua o passo a passo para realizar denúncias de acordo com a minha necessidade. - Fluxo claro de etapas para cada tipo de denúncia.
- Disponibilidade de links de acesso direto aos órgãos competentes.
- Linguagem simples e acessível.
- O usuário deve conseguir realizar todos os processos sem necessitar de informações exteriores.
RF-012 Links para Denúncia MUST Eu como usuário quero links de acesso claros e intuitivos que me redirecionem as páginas e canais de denúncia de órgãos oficiais. - O link deve redirecionar para a página proposta diretamente.
- O link deve ser mostrado de maneira clara e intuitiva.
- A responsividade do link deve ser eficiente, redirecionando em menos de 2s.
RF-013 Perguntas Frequentes SHOULD Eu como usuário com dúvidas, quero uma seleção das perguntas mais feitas por outros usuários com um fácil acesso. - As perguntas devem estar realizadas de maneira clara.
- As respostas devem ser pertinentes e conter links ou tutoriais necessários.
RF-014 Encaminhamento Automático COULD Eu como usuário que fez uma denúncia, quero que após realizar minha denuncia apareça links de redirecionamento para o canal oficial de acordo com o tipo de denúncia. - O link de acesso ao canal de denuncia e ao tutorial deve ser de acordo com o tipo de denúncia realizada.
- Os links devem estar claros e intuitivos após realizar a denúncia.
- Todos os redirecionamentos devem ser realizados em no máximo 2s.
Página de Gráficos e Notícias
RF-015 Gráfico por Categoria de Denúncia SHOULD Eu como usuário, quero visualizar dividido por tipo de denúncias um gráfico para entender quais os maiores problema da minha universidade. - O Gráfico mostra a comparação entre a quantidade de denúncias separado por tipo de forma precisa.
- Ele é atualizado em tempo real.
- O Gráfico é claro e intuitivo.
RF-016 Linha do Tempo de Denúncias SHOULD Eu como usuário, quero visualizar um gráfico que demonstra o número de denúncias realizadas a cada mês. - O gráfico é claro, intuitivo e atualizado em tempo real.
- O gráfico busca precisamente o mês referente a denúncia.
RF-017 Top Denúncias COULD Eu como usuário, quero visualizar as 3 postagens mais apoiadas nos últimos 30 dias. - Apenas as postagens dos últimos 30 dias podem ser apresentadas.
- Deve mostrar a postagem de maneira clara e o número de apoios.
Página de Denúncias
RF-018 Moderação e Denúncia de Abuso MUST Eu como usuário, quero ter a opção de denunciar conteúdos ofensivos ou abusivos para que a moderação da plataforma possa analisar e tomar as medidas necessárias. - O botão de denúncia deve estar visível em todas as postagens/comentários.
- O usuário deve poder escolher o motivo da denúncia em uma lista pré-definida.
- A denúncia deve ser registrada com data, hora e IDs.
- A moderação deve receber notificação imediata.
RF-019 Filtros e Busca COULD Eu como usuário que deseja encontrar uma denúncia específica, quero poder filtrar e buscar denúncias por categoria para encontrar facilmente o conteúdo que procuro. - O sistema deve permitir busca por palavras-chave no título e conteúdo.
- Deve haver filtros por categoria, período de tempo e status.
- Os resultados devem ser apresentados em no máximo 2 segundos.
RF-020 Publicação de Denúncia MUST Eu como usuário que presenciou uma irregularidade, quero registrar uma denúncia na plataforma de forma clara e intuitiva para que o problema seja reportado. - O formulário deve ser simples, com campos obrigatórios (categoria, descrição, anexos opcionais).
- Registro no banco de dados com carimbo de data/hora e ID único.
- O usuário deve receber confirmação de envio.
- A denúncia deve ser exibida imediatamente no feed.
RF-021 Timeline de Denúncias MUST Eu como usuário do sistema, quero visualizar em uma linha do tempo todas as denúncias publicadas, ordenadas por data de publicação. - As denúncias devem estar ordenadas do mais recente para o mais antigo.
- Cada item deve mostrar título, resumo, data e número de apoios.
- A timeline deve atualizar em tempo real.
RF-022 Comentários nas Denúncias SHOULD Eu como usuário interessado em uma denúncia, quero comentar e interagir diretamente nela para compartilhar informações ou apoiar a discussão. - Cada denúncia deve permitir comentários públicos.
- O sistema deve registrar o autor, data e conteúdo.
- Comentários devem poder ser denunciados/moderados.
- Listagem em ordem cronológica.
RF-023 Sistema de Reações SHOULD Eu como usuário que leu uma denúncia, quero reagir com apoio para expressar minha opinião sem precisar escrever um comentário. - O sistema deve permitir pelo menos a reação “Apoiar”.
- O número total de reações deve ser atualizado em tempo real.
- Cada usuário só pode reagir uma vez por denúncia.
Administração
RF-024 Gestão de Denúncias MUST Eu como administrador, quero acessar todas as denúncias registradas e poder gerenciá-las (excluir, encontrar o autor). - Lista com todas as denúncias filtráveis.
- Registro de alterações no histórico.
- Lista separada para denúncias reportadas.
- Facilidade para remover denúncias do ar.
RF-025 Gestão de Usuários MUST Eu como administrador, quero gerenciar os usuários da plataforma (ativar, desativar, banir). - Listagem de todos os usuários.
- Possibilidade de excluir contas.
- Registro de ações no histórico administrativo.
RF-026 Postagens e Gestão de Notícias SHOULD Eu como administrador, quero poder postar e editar de maneira fácil e rápida notícias para os usuários comuns. - Lista separada para postagens de notícias.
- Edição intuitiva e responsiva.
- Facilidade para excluir notícias.
RF-027 Configurações do Sistema SHOULD Eu como administrador, quero acessar as configurações gerais do sistema para ajustar o funcionamento conforme necessário. - Interface clara para alteração de parâmetros principais.
- Acesso restrito a administradores.
- Registro de alterações.
RF-028 Administrador Mestre MUST Eu como administrador mestre, quero poder excluir e editar notícias de administradores e poder excluir administradores. - Privilégios exclusivos a esse administrador.
- Acesso restrito ao perfil de administrador mestre.

Requisitos Não-Funcionais

ID Requisito Importância Descrição Critérios de Sucesso
Confiabilidade e Disponibilidade
RNF-001 Disponibilidade do Sistema MUST Eu como usuário, quero que o sistema esteja disponível na maior parte do tempo, para que eu possa acessá-lo sempre que precisar. - O sistema deve ter disponibilidade mínima de 99,5% mensal (~3h36min de downtime).
RNF-002 Suporte a Múltiplos Usuários MUST Eu como administrador, quero que o sistema suporte muitos usuários conectados ao mesmo tempo, para garantir estabilidade mesmo em períodos de pico. - O sistema deve suportar pelo menos 250 usuários simultâneos sem degradação perceptível.
Usabilidade
RNF-003 Interface Intuitiva MUST Eu como usuário, quero uma interface simples e clara, para que eu consiga utilizar a plataforma sem precisar de ajuda externa. - Ícones, textos e botões devem ser autoexplicativos.
- Fluxos críticos (ex.: denúncia, cadastro) devem ser realizados em até 4 passos.
RNF-004 Responsividade MUST Eu como usuário que acessa pelo celular, quero que a plataforma seja responsiva, para que eu consiga navegar sem dificuldades em qualquer dispositivo. - A interface deve funcionar corretamente em desktop, tablet e mobile.
- Todos os elementos devem se adaptar automaticamente ao tamanho da tela.
RNF-005 Confirmação em Ações Críticas MUST Eu como usuário, quero receber uma confirmação antes de ações irreversíveis (ex.: excluir conta, cancelar denúncia), para evitar erros acidentais. - Toda ação crítica deve exibir uma caixa de confirmação.
- Apenas após confirmação explícita a ação é executada.
Manutenção e Evolução
RNF-006 Qualidade do Código MUST Eu como desenvolvedor, quero que o código siga boas práticas, para que seja legível, padronizado e fácil de manter. - O código deve seguir padrões de clean code.
- Deve haver documentação interna (README, comentários claros).
RNF-007 Testes MUST Eu como administrador de qualidade, quero que o sistema seja testado, para garantir que erros sejam detectados rapidamente. - Deve haver cobertura mínima de 70% do código crítico (login, denúncias, permissões).
RNF-008 Documentação Técnica MUST Eu como desenvolvedor, quero ter documentação atualizada da plataforma, para compreender arquitetura, APIs e permissões. - Deve haver documentação clara de endpoints, fluxos e arquitetura.
- Documentação deve ser atualizada junto a cada nova release.
Segurança e Privacidade
RNF-009 Criptografia de Senhas e Dados Pessoais MUST Eu como usuário cadastrado quero que minha senha e demais dados pessoais e dados sensíveis sejam protegidos e armazenados por criptografia, a fim de garantir a segurança, inviolabilidade e não vazamento dos meus dados. - As senhas não serão armazenadas em texto plano, e sim com um hash seguro.
- O sistema deve autenticar um usuário com sucesso ao comparar o hash da senha digitada no login com o hash armazenado no banco de dados.
- Dados pessoais e sensíveis no banco de dados devem estar criptografados.
RNF-010 Anonimização de Denúncias MUST Eu como usuário cadastrado denunciante quero a opção de anonimato e não exposição dos meus dados a denúncia feita, para que eu me sinta seguro e protegido sempre que sentir a necessidade de realizar outras denúncias. - Login e fornecimento de informações pessoais opcionais na realização de uma denúncia.
- O sistema não deve armazenar metadados que possam identificar o denunciante, como endereço de IP, junto à denúncia.
RNF-011 Notificações de Segurança COULD Eu como usuário cadastrado quero ser notificado por email sobre atividades que ameacem a segurança da minha conta, para que eu possa agir rapidamente, como em caso de alteração da minha senha ou um login em um novo dispositivo. - O sistema envia um e-mail de notificação imediatamente após uma alteração de senha bem-sucedida.
- O sistema envia uma notificação quando um login é realizado a partir de um novo dispositivo pela primeira vez.
- O e-mail deve conter informações relevantes e um link para a página de suporte ou para redefinir a senha.
Conformidade Legal
RNF-012 LGPD e Consentimento MUST Eu como usuário, quero ter controle sobre meus dados, para garantir que a plataforma está em conformidade com a Lei Geral de Proteção de Dados (LGPD). - O sistema deve apresentar política de privacidade clara e acessível.
- No cadastro, o usuário deve consentir ativamente com termos de uso e política de privacidade.
- No perfil, o usuário deve poder gerenciar permissões e solicitar exclusão de dados.

Tipos de Usuário

Tipo de Usuário (Enum) Descrição / Perfil Permissões Principais Restrições Importantes
COMUM Estudante / Padrão
Usuário base do sistema. Acesso focado em criar e gerenciar seu próprio conteúdo.
Criar Denúncias.
Editar o próprio perfil (Nome/Foto).
Editar texto das próprias denúncias.
Excluir (Soft) a própria conta.
Excluir (Soft) as próprias denúncias.
• Não pode criar/editar/excluir Categorias.
• Não pode excluir contas de terceiros.
• Não pode excluir denúncias de terceiros.
• Não pode criar usuários do tipo Admin.
ADMIN Servidor / Moderador
Focado na moderação de conteúdo e limpeza da comunidade.
Todos os privilégios de COMUM.
Excluir contas de usuários COMUM.
Excluir denúncias de usuários COMUM (Moderação).
• Acesso a áreas de gestão restritas.
• Não pode criar/editar/excluir Categorias.
• Não pode excluir outros ADMIN ou ADMINMASTER.
Não pode alterar o texto de denúncias de terceiros (apenas remover).
ADMINMASTER Gestor / Super Admin
Controle total do sistema e configurações globais.
Todos os privilégios de ADMIN.
CRUD Completo de Categorias (Criar, Editar, Deletar).
Criar novos usuários ADMIN.
Excluir contas de ADMIN e COMUM.
Excluir qualquer denúncia.
Apenas um perfil com privilégios ADMINMASTER (Segurança de Sistema).
• Não pode se auto-deletar via rota administrativa (para evitar sistema órfão).

Hierarquia de Exclusão

Atacante (Logado) \ Vítima (Alvo) COMUM ADMIN ADMINMASTER
COMUM 🟢 (Apenas se for ele mesmo) 🔴 Proibido 🔴 Proibido
ADMIN 🟢 Permitido 🔴 Proibido* 🔴 Proibido
ADMINMASTER 🟢 Permitido 🟢 Permitido 🔴 Proibido

Nota: um ADMIN pode se auto-deletar, mas não pode deletar outro ADMIN.