DEV Community

André Nunes
André Nunes

Posted on

Desenvolvendo um Projeto do zero: Análise de Requisitos do Sistema — Parte 2

1. Requisitos Funcionais

Cadastro de usuários com os seguintes atributos:

  • Nome
  • Email
  • Senha (hashing)
  • Role (papel): Define se o usuário é um FUNCIONÁRIO ou ADMINISTRADOR. Cadastro de clientes dividido em:

Pessoa Física:

  • Nome completo,
  • CPF,
  • RG,
  • E-mail,
  • Telefone,
  • Endereço

Pessoa Jurídica:

  • Nome Fantasia,
  • Razão Social,
  • CNPJ,
  • Inscrição estadual,
  • E-mail,
  • Telefone,
  • Endereço

Listagem com filtro por:

Usuário

  • Nome
  • E-mail
  • Role (papel): Define se o usuário é um FUNCIONÁRIO ou ADMINISTRADOR.

Pessoa Física:

  • Nome completo,
  • CPF,
  • RG,
  • E-mail,
  • Telefone

Pessoa Jurídica:

  • Nome Fantasia,
  • Razão Social,
  • CNPJ,
  • inscrição estadual,
  • E-mail,
  • Telefone

Visualização detalhada de informações dos clientes
Controle de acesso por tipo de usuário (funcionários e administradores)

2. Requisitos Não Funcionais

  • Interface simples e intuitiva
  • Sistema seguro com autenticação de usuários
  • Persistência de dados em banco de dados relacional
  • Organização de código seguindo boas práticas (MVC)
  • Logs para auditoria de ações

3. Regras de Negócio

Atributos que devem ser únicos:

Usuário:

  • E-mail

Pessoa Física:

  • CPF,
  • RG

Pessoa Jurídica:

  • CNPJ,
  • inscrição estadual

A senha do usuário deve ser armazenada de forma segura (hashing)
Administradores têm acesso a todas as funcionalidades, enquanto funcionários têm permissões limitadas:

  • Funcionário (CRUD clientes, Alterar a própria senha)
  • Administrador (CRUD clientes, CRUD usuários)

Validação de campos obrigatórios ao cadastrar usuários e clientes

Por que compartilhar essa jornada?

Como iniciante, estou ciente de que o caminho do desenvolvimento está cheio de desafios e aprendizados. Compartilhar essa experiência não só me ajudará a consolidar o conhecimento, mas também poderá servir de guia e inspiração para outros estudantes e profissionais que estão começando na área.
Estou totalmente aberto a sugestões, críticas construtivas e, principalmente, a trocar experiências com vocês. Se tiver dicas, ideias ou qualquer comentário, tenha vontade de contribuir!

Top comments (0)