/clientes-cadastro-esIII

A simple CRUD applying some design patterns

Primary LanguageC#

CRUD Cadastro de clientes

Projeto desenvolvido para a aula de Engenharia de Software III sob orientação do professor Rodrigo Rocha

Diagrama de classes:

Ferramentas

  • .Net
  • Entity Framework
  • React
  • Typescript

Padrão de arquitetura

MVC

Padrões de projetos

  • DAO
  • Fachada
  • Strategy

Requisitos funcionais

Grupo: Cadastro de Clientes

  • RF0021 Cadastrar cliente: O sistema deve possibilitar o cadastro de clientes.
  • RF0022 Alterar cliente: O sistema deve possibilitar a alteração de dados cadastrais de clientes.
  • RF0023 Inativar cadastro: de cliente O sistema deve possibilitar que clientes sejam inativados.
  • RF0024 Consulta de clientes: O sistema deve possibilitar que um cliente seja consultado com base em um filtro definido pelo usuário. Todos os campos utilizados para identificação do cliente podem ser utilizados como filtro, tanto de forma combinada como de forma isolada.
  • RF0026 Cadastro de endereços de entrega: Deve ser possível associar diversos endereços de entrega ao cadastro de um cliente. Cada cadastro de endereço deve ser identificado com um nome composto de uma frase curta.
  • RF0027 Cadastro de cartões de crédito: Deve ser possível associar diversos cartões de crédito ao cadastro de um cliente. Deve haver um cartão de crédito configurado como preferencial.
  • RF0028 Alteração apenas de senha: O sistema deve possibilitar que a senha do usuário seja alterada sem que seja necessária a alteração de todos os dados cadastrais.

Requisitos não funcionais

Grupo: Geral

  • RNF0011 Tempo de resposta para consultas: Toda consulta de usuário deve ter resposta em no máximo 1 segundo.

// TODO

  • RNF0012 Log de transação: Para toda operação de escrita (Inserção ou Alteração) deve ser registado data, hora, usuário responsável além de manter os dados alterados.

Grupo: Cadastro de Clientes

  • RNF0031 Senha forte: A senha cadastrada pelo usuário deve ser composta de pelo menos 8 caracteres, ter letras maiúsculas e minúsculas além de conter caracteres especiais.
  • RNF0032 Confirmação de senha: O usuário obrigatoriamente deve digitar duas vezes a mesma senha no momento do registro da mesma.
  • RNF0033 Senha criptografada: A senha deve ser criptografada
  • RF0034 Alteração apenas de endereços: O sistema deve possibilitar que endereços de entrega ou cobrança possam ser alterados ou adicionados de forma simples sem a necessidade da edição dos demais dados cadastrais.

//TODO

  • RNF0035 Código de cliente: Todo cliente cadastrado deve receber um código único no sistema.

Regras de negócio

  • RN0021 Cadastro de endereço de cobrança: Para todo cliente cadastrado é obrigatório o registro de ao menos um endereço de cobrança.
  • RN0022 Cadastro de endereço de entrega: Para todo cliente cadastrado é obrigatório o registro de ao menos um endereço de entrega.
  • RN0023 Composição do registro de endereços: Todo cadastro de endereços associados a clientes deve ser composto dos seguintes dados: Tipo de residência (Casa, Apartamento, etc), Tipo Logradouro, Logradouro, Número, Bairro, CEP, Cidade, Estado e País. Todos os campos anteriores são de preenchimento obrigatório. Opcionalmente pode ser preenchido um campo observações.
  • RN0024 Composição do registro de cartões de crédito: Todo cartão de crédito associado a um cliente deverá ser composto pelos seguintes campos: Nº do Cartão, Nome impresso no Cartão, Bandeira do Cartão e Código de Segurança.

//TODO

  • RN0025 Bandeiras permitidas para registro de cartões de crédito: Todo cartão de crédito associado a um cliente deverá ser de alguma bandeira registrada no sistema.
  • RN0026 Dados obrigatórios para o cadastro de um cliente: Para todo cliente cadastrado é obrigatório o cadastro dos seguintes dados: Gênero, Nome, Data de Nascimento, CPF, Telefone (deve ser composto pelo tipo, DDD e número), e- []mail, senha, endereço residencial.