Requisitos junto com Users Storys
Requisitos Funcionais
Requisitos Não Funcionais
Histórias de Usuário
US01 - Visualizar Informações de Ponto
Como Pontista, quero visualizar meu saldo de horas devidas, saldo de férias disponíveis e histórico de registros de ponto, para que eu possa acompanhar minha situação atual de horas trabalhadas e planejar folgas e férias.
Critérios de Aceitação:
-
-
Deve exibir o saldo total de horas devidas.
-
Deve exibir o saldo de férias disponíveis.
-
Deve apresentar o histórico de registros de ponto, com datas e horários.
-
O acesso deve ser seguro e restrito ao próprio Pontista.
-
US02 - Justificar Faltas
Como Pontista, quero justificar minhas faltas anexando documentos ou inserindo uma explicação textual, e visualizar o status das justificativas (Pendente, Aprovada, Reprovada), para que eu possa regularizar minha presença e acompanhar o andamento das minhas justificativas.
Critérios de Aceitação:
-
-
Deve permitir o envio de justificativa textual e/ou upload de documento.
-
Deve notificar o Supervisor sobre a nova justificativa pendente.
-
Deve exibir o status atualizado da justificativa
-
US03 - Solicitar Férias
Como Pontista, quero solicitar meus períodos de férias diretamente pelo sistema, com notificação ao Supervisor, para que eu possa formalizar meu pedido de férias de forma prática e acompanhar o processo.
Critérios de Aceitação:
-
-
Deve permitir indicar o período de férias desejado.
-
Deve notificar o Supervisor sobre a nova solicitação.
-
Deve exibir o status da solicitação para o Pontista.
-
US04 - Registrar Ponto
Como Pontista, quero registrar meus horários de entrada e saída de forma segura, garantindo que apenas um ponto de entrada e um ponto de saída sejam registrados por dia, para manter um controle confiável da minha jornada de trabalho.
Critérios de Aceitação:
-
-
Deve permitir apenas um ponto de entrada e um de saída por dia.
-
O horário e a direção (entrada/saída) devem ser processados no backend.
-
Deve ser registrado FALTA caso o ponto não seja batido.
-
US05 - Visualizar Calendário Pessoal
Como Pontista, quero acessar um calendário pessoal com marcação de pontos, feriados, faltas e justificativas, para ter uma visão clara da minha frequência e organização do mês.
Critérios de Aceitação:
-
-
Deve exibir dias com pontos registrados.
-
Deve indicar feriados e pontos facultativos.
-
Deve destacar dias de falta e justificativas pendentes/aprovadas/reprovadas.
-
US06 - Gerenciar Pontistas
Como Supervisor, quero listar e visualizar perfis dos Pontistas, incluindo saldo de horas devidas e status das justificativas e férias, para acompanhar a equipe e realizar a gestão de forma eficiente
Critérios de Aceitação:
-
-
Deve permitir filtrar Pontistas por nome e status.
-
Deve exibir saldo de horas devidas e status de justificativas e férias.
-
O acesso deve ser restrito ao perfil Supervisor.
-
US07 - Aprovar/Rejeitar Justificativas e Férias
Como Supervisor, quero aprovar ou rejeitar justificativas de faltas e pedidos de férias dos Pontistas, para manter o controle correto de presenças e férias da equipe.
Critérios de Aceitação:
-
-
Deve permitir visualizar detalhes da justificativa antes da aprovação/rejeição.
-
Deve permitir visualizar o período solicitado de férias antes da decisão.
-
Deve registrar a decisão do Supervisor (Aprovada/Reprovada).
-
US08 - Gerenciar Pontos Facultativos e Feriados
Como Supervisor, quero visualizar e editar pontos facultativos e feriados locais no calendário, para manter o calendário da equipe atualizado e alinhado com as políticas da empresa.
Critérios de Aceitação:
-
-
Deve permitir cadastrar, editar e excluir pontos facultativos e feriados.
-
Deve exibir os feriados nacionais integrados no calendário.
-
Deve ter confirmação antes de excluir registros.
-
US09 - Gerar Relatórios de Frequência
Como Supervisor, quero gerar relatórios de frequência da equipe por usuário e período e exportá-los em PDF ou Excel, para analisar a assiduidade e pontualidade dos Pontistas.
Critérios de Aceitação:
-
-
Deve permitir escolher usuário(s) e período para o relatório.
-
Deve permitir exportar o relatório em PDF e Excel.
-
US10 - Histórico de Aprovações e Reprovações
Como Supervisor, quero visualizar o histórico de minhas aprovações e reprovações (justificativas e férias), para ter um registro das minhas decisões e consultá-las quando necessário.
Critérios de Aceitação:
-
-
Deve exibir a lista de aprovações e reprovações com data, usuário afetado e status.
-
Deve ser possível filtrar por tipo (justificativa, férias).
-
O histórico deve ser mantido por no mínimo 6 meses.
-
US11 - Enviar Mensagens e Notificações
Como Supervisor, quero enviar mensagens e notificações aos Pontistas, para que eu possa comunicar informações importantes e alertas de forma prática e rápida.
Critérios de Aceitação:
-
Deve permitir redigir e enviar mensagens personalizadas.
-
Deve ser possível escolher os destinatários (individual ou em grupo).
-
Deve notificar o Pontista de forma clara e rastreável.
US12 - Cadastrar Novos Usuários
Como Administrador, quero cadastrar novos usuários no sistema e atribuir perfis de acesso, para permitir que novas pessoas utilizem a plataforma com os direitos adequados.
Critérios de Aceitação:
-
-
Deve permitir escolher o perfil de acesso (Pontista, Supervisor ou Administrador).
-
Deve validar o e-mail antes de salvar.
-
Deve exigir senha segura e confirmação de senha.
-
US13 - Configurar Carga Horária Padrão
Como Administrador, quero configurar a carga horária padrão do sistema, para garantir que os cálculos de horas devidas e banco de horas sejam corretos para todos os usuários.
Critérios de Aceitação:
-
-
Deve permitir definir quantidade de horas por dia/semana.
-
Deve ser possível atualizar essa configuração a qualquer momento, com controle de versão.
-
US14 - Configurar Período de Férias Permitido
Como Administrador, quero configurar o período de férias permitido aos usuários, para garantir que as solicitações de férias estejam alinhadas com a política da empresa.
Critérios de Aceitação:
-
-
Deve permitir definir regras de acúmulo e utilização de férias.
-
Deve validar se as solicitações seguem as regras configuradas.
-
US15 - Criar Conta de Administrador Mestre
Como Desenvolvedor do Sistema, quero permitir a criação automática da conta de Administrador Mestre via variáveis de ambiente, restringindo a apenas uma conta, para garantir a segurança e centralização da gestão administrativa.
Critérios de Aceitação:
-
-
A criação deve ocorrer na configuração inicial do sistema.
-
Deve haver validação para permitir apenas uma conta de Administrador Mestre.
-
US16 - Login Seguro
Como usuário (Pontista, Supervisor ou Administrador), quero fazer login com e-mail e senha, protegido por Tokens JWT, sem armazenamento local de informações sensíveis, para garantir a segurança dos meus dados de acesso.
Critérios de Aceitação:
-
-
Deve exigir e-mail e senha para autenticação.
-
A senha deve ser criptografada antes de ser salva.
-
O token JWT deve ser gerado e validado no backend.
-
Nenhuma informação sensível deve ser armazenada no navegador.
-
US17 - Controle de Sessão e Rotas Seguras
Como Administrador, quero garantir que a sessão expire após período de inatividade e que as rotas de administração sejam protegidas, para manter a segurança e o controle de acesso adequado.
Critérios de Aceitação:
-
-
Deve encerrar a sessão automaticamente após tempo configurável.
-
As rotas de administração devem ser restritas ao perfil de Administrador.
-
US18 - Registrar Logs do Sistema
Como Administrador, quero registrar logs de ações e alterações no sistema, incluindo informações como usuário, IP, data/hora e tipo de ação, para auditoria e diagnóstico.
Critérios de Aceitação:
-
-
Deve registrar logs de login, edições, falhas, aprovações e exclusões.
-
Deve registrar IP, data/hora, tipo de ação e código de resposta.
-
Deve manter logs seguros por pelo menos 6 meses.
-
US19 - Exportar Dados para Auditoria
Como Administrador, quero exportar dados do sistema para fins de auditoria ou backup, para garantir que as informações possam ser armazenadas e analisadas fora da plataforma.
Critérios de Aceitação:
-
-
Deve permitir exportação em formatos comuns (PDF, Excel, CSV).
-
Deve incluir logs, histórico de ações e dados de usuários, conforme permissões.
-
US20 - Recuperar Senha
Como usuário, quero poder recuperar minha senha via e-mail (SNTP), para garantir acesso à plataforma em caso de esquecimento de senha
Critérios de Aceitação:
-
-
Deve enviar um e-mail com link seguro de redefinição.
-
O link deve ter validade limitada (ex.: 24h).
-
Deve exigir nova senha e confirmação no processo de redefinição.
-
US21 - Controle de Dias Úteis e Feriados
Como Administrador, quero controlar dias úteis, carga horária e pontos facultativos e feriados nacionais, para garantir cálculos corretos de presença e saldo de horas.
Critérios de Aceitação:
-
Deve permitir configurar calendário de feriados e pontos facultativos.
-
Deve considerar esses dias nos cálculos de saldo e presença.
US22 - Integração com Sistemas Externos
Como Administrador, quero que o sistema suporte integração com outros sistemas via API, para permitir a comunicação com outras ferramentas corporativas no futuro.
Critérios de Aceitação:
-
-
Deve ter endpoints seguros e autenticados para comunicação.
-
A documentação da API deve estar disponível para desenvolvedores.
-
A integração deve ser modular para futuras expansões.
-
Priorização MoSCoW das Histórias de Usuário
A priorização do backlog foi realizada utilizando o método MoSCoW, uma técnica amplamente adotada para auxiliar na definição do que deve ser desenvolvido com maior urgência em projetos ágeis. Essa abordagem classifica as funcionalidades em três categorias principais: Must have, Should have e Could have, cada uma representando um nível de prioridade distinto.
-
Must have
Funcionalidades essenciais, indispensáveis para o funcionamento mínimo do produto. Sua entrega é obrigatória, pois sem elas o produto não atende aos requisitos básicos de uso ou de negócio. -
Should have
Funcionalidades importantes, que agregam valor significativo ao produto, mas que podem ser implementadas após os itens críticos. Embora não sejam vitais para o funcionamento imediato, sua ausência pode impactar a experiência do usuário ou a eficiência do sistema. -
Could have
Funcionalidades desejáveis, que aumentam a atratividade ou conveniência do produto, mas que não são essenciais no escopo inicial. Podem ser consideradas caso haja tempo ou recursos disponíveis.
| Código | História de Usuário | Priorização |
|---|---|---|
| US01 | Visualizar saldo de horas, férias e histórico de ponto. | Must have |
| US04 | Registrar ponto diário. | Must have |
| US16 | Login seguro. | Must have |
| US20 | Recuperar senha. | Must have |
| US21 | Controle de dias úteis, carga horária e feriados. | Must have |
| US17 | Controle de sessão e rotas seguras. | Must have |
| US15 | Criar conta de Administrador Mestre. | Must have |
| US12 | Cadastrar novos usuários. | Must have |
| US13 | Configurar carga horária padrão. | Must have |
| US06 | Gerenciar perfis de Pontistas. | Should have |
| US07 | Aprovar/rejeitar justificativas e férias. | Should have |
| US02 | Justificar faltas. | Should have |
| US03 | Solicitar férias. | Should have |
| US05 | Visualizar calendário pessoal. | Should have |
| US09 | Gerar relatórios de frequência. | Should have |
| US10 | Visualizar histórico de aprovações/reprovações. | Should have |
| US11 | Enviar mensagens e notificações aos Pontistas. | Should have |
| US08 | Gerenciar pontos facultativos e feriados. | Should have |
| US14 | Configurar período de férias permitido. | Should have |
| US18 | Registrar logs do sistema. | Should have |
| US19 | Exportar dados para auditoria. | Could have |
| US22 | Integração com sistemas externos. | Could have |