Documentação Funcional Sistema JResulth
Conteúdo |
[editar] Sumário
[editar] Divisões
O sistema Resulth Web visa informatizar empresas comerciais e de serviços, é composto de 3 divisões, adequados a cada porte de empresa:
- JStart: adequado a empresas de pequeno porte
- JBussines: adequado a empresas de porte médio
- JERP: adequado a empresas de porte maior.
A distinção entre JStart e JBussines é feito no licenciamento do cliente, ou seja, o sistema é único, e algumas opções serão desligadas caso o sistema seja Start.
[editar] Módulos
O JResulth engloba os seguintes módulos:
- Faturamento
- Estoque
- Contas a Pagar
- Contas a Receber
- Tesouraria (bancos e caixa)
- Sistema de compras
- Módulo Fiscal (SPED / Sintegra)
[editar] Infraestrutura Necessária
Para o sistema funcionar adequadamente, a empresa cliente deve se atentar aos requisitos exigidos pela Ats, presentes no link requisitos do sistema e também listados na PDU de venda.
[editar] Arquitetura
[editar] Estrutura Básica das Camadas
O sistema é construído padrão MVC (model / view / controler) e a descrição mais detalhada das camadas esta presente no link Estrutura Básica das Camadas JAVA. Abaixo um diagrama representando-a.
[editar] Componentes de desenvolvimento
A descrição completa do sistema de configuração, esta descrito no processo de GCO, presente na ferramenta de controle de versões SVN, na pasta ...\Documentação\Processo de Desenvolvimento\Processo GCO JAVA. Entretanto, abaixo temos uma lista sumarizada dos mesmos, necessários para a fase de construção.
O sistema é feito em JAVA, através dos seguintes componentes, com suas respectivas versões
- Spring 3.1.1
- Hibernate 3.6.10
- Hibernate Search 3.4.2
- JasperReports 4.7.1
- JXLS 1.0
- JSF (Mojarra) 2.1.7
- Omnifaces 1.4.1
- Richfaces 4.2.2
- Tomahawk20 1.1.11
- Poi 3.8
- CXF 2.5.1
- Freemarker 2.3.16
- Guava 11.0.2
- Jackson 1.9.5
- Lucene 3.6.1
- JMock 2.5.0
- Log4J 1.2.16
- SLF4J 1.6.4
- XStream 1.3
[editar] Requisitos Não Funcionais
RNF01: todas as telas devem renderizar em 4 segundos
Ao entrar em qualquer tela, mesmo as mais complexas (como venda) o browse deve disponibilizar a tela para o usuário em no máximo 4 segundos, desde que atendido a infraestrutura necessária.
RNF02: o sistema deverá funcionar nos navegadores Mozilla Firefox, Internet Explorer e Chrome, sempre na sua última versão
Todas as telas devem ser renderizadas perfeitamente, sem distorções, problemas de Javascript nas últimas versões dos navegadores.
RNF03: o sistema deve atender os bancos de dados PostGr, MySql, Oracle, SqlServer
Desde que a empresa forneça um DBA para os bancos SqlServer e Oracle.
RNF04: toda consulta deverá retornar os resultados em menos de 1 minuto, para períodos menores ou iguais a um mês
Desde que atendido a infraestrutura necessária. Para bancos acima de 50Gb pode ser necessário um servidor só para o banco de dados.
RNF05: deverão atender os sistemas operacionais móveis Android e IOS
As rotinas que funcionarem em dispositivos móveis, deverão atender os sistemas operacionais Android e IOS, sempre na sua última e penúltima versão.
RNF06: deverão atender os sistemas operacionais de servidores Windows e Linux
Em servidores de aplicações, deverão ser atendidos os sistemas operacionais Linux e Windows.
RNF07: o sistema deverá ser inativado, se necessário, de um dia pro outro
Para cliente inadimplentes, deverá ser possível desativar o sistema em um dia útil.
RNF08: deverá ser possível criar views diferentes, para segmentos diferentes
Para mercados diferentes, o sistema deve permitir a geração de views de sistemas diferentes. Exemplo: sistema direcionado para auto-peças, ou supermercados.
[editar] Requisitos Funcionais
RF01: o sistema deve cadastrar todas as pessoas físicas e jurídicas necessárias para operacionalizar uma empresa comercial, tais como clientes, fornecedores, vendedores, operadores de caixa.
RF02: o sistema deve controlar estoque, com as variações de grade, lote e série.
RF03: o sistema deve realizar as vendas integradas com o financeiro e estoque.
RF04: deverá haver controle de créditos do cliente.
RF05: deverá haver controle sobre os descontos.
RF06: o sistema deve emitir notas fiscais de saída, apenas eletrônicas.
RF07: o sistema deve receber notas fiscais de entrada, com itens e sem itens, conjugadas ou não com CTR. O contas a pagar deve ser integrado.
RF08: o sistema deve importar XML.
RF09: o sistema deve ter uma rotina de inventário completa, permitindo fazer acertos (+) e (-). Esta rotina deverá permitir a contagem de estoque, do mesmo produto, por pessoas diferentes.
RF10: o sistema deve entender múltiplas unidades de movimentação de estoque.
RF11: o sistema deve separar itens diferenciados, para matérias primas, acabados, insumos e serviços. Estes itens poderão se misturar em notas de entrada e saída.
RF12: deverá emitir notas de serviço padrão AFRAC, mesmo que com pequenas diferenças entre elas.
RF13: o sistema deve controlar o contas a pagar, permitindo lançar documentos individuais e em lote.
RF14: o sistema deve controlar o contas a receber, permitindo lançar documentos individuais e em lote.
RF15: o sistema deve liquidar documentos a pagar em lote, e com várias formas de pagamento.
RF16: o sistema deve liquidar documentos a receber em lote, e com várias formas de pagamento.
RF17: deverá ser permitido a renegociação de dívidas no contas a receber.
RF18: deverá ser permitido a renegociação de dívidas no contas a pagar.
RF19: deverá ser emitido boletas de todos os bancos comerciais no Brasil.
RF20: deverá ser tratado arquivos de remessa e retorno padrão CNAB.
RF21: o sistema deve ter controle de tesouraria, integrando caixa e bancos.
RF22: o sistema deve permitir vários caixas para a mesma empresa.
RF23: o sistema deve tratar cheques emitidos e recebidos.
RF24: o sistema deve permitir reajustes de preços de forma inteligente, através de custos alterados.
RF25: a fórmula de custo deve ser flexível, e atender a vários tipos de empresas (simples, lucro real e presumido).
RF26: o sistema deve liquidar documentos a pagar em lote, e com várias formas de pagamento.
RF27: o sistema deve atender uma rotina de compras completa, com cotações e OC´s.
RF28: o sistema deve operacionalizar cartões de crédito, débito e convênios.
RF29: deverá ser fornecido ao gestor, marku´s de vendas em vários formatos.
RF30: deverá ser atendido SPED fiscal, PIS/COFIS e sintegra.
RF31: a estrutura de impostos deve permitir atender todo o país.
RF32: deverá haver controle de comissões, dando prioridade a seguinte ordem: comissão do item, comissão da venda e comissão do vendedor.
RF33: deverá haver no financeiro formas de prorrogar e transferir de carteiras documentos.
RF34: deverá haver tratamento para juros e multas no contas a receber.
RF35: deverá ser possível registrar protestos no contas a receber.
RF36: o sistema deve controlar as despesas por contas.
RF37: a venda deverá entender produtos similares, agregados e aplicações.
RF38: deverá haver a conciliação de cartões.
RF39: deve ser integrar ao ECF/PAF da ATS.
RF40: ao vender, deverá ser permito rotinas de trocas, com total controle do estoque. Se necessário, será gerado crédito para uso futuro.
RF41: deveremos manter o histórico de preços de custo e venda.
RF42: o sistema deverá fornecer ao usuário condições de criar campos novos no cadastro de itens e clientes.
RF43: o próprio cliente deverá conseguir tabular as suas etiquetas.
RF44: deverá ser exportado dados para excell, word e PDF.
RF45: deverá haver controle de acessos por rotina, com permissões, isoladas, de consulta, inclusão, exclusão e alteração.
RF46: deverá ser ofertado ao usuário um painel de controle com indicadores de vendas e financeiro.
RF47: o sistema deverá rodar em tablets e smartphone, em rotinas selecionadas. Estas rotinas deverão ter um cunho gerencial ou serão telas de atendimento a clientes.
RF48: rotinas de liberações (descontos, restrições de clientes) deverão ser possíveis de serem feitas remotamente.
[editar] Casos de Uso
Os casos de usos estão agrupados por módulo, e podem ser acessados clicando aqui.
Observação: casos de uso antigo poderão estar na pasta C:\Projeto Java\Documentação\Casos de Uso, do SVN. Os casos de uso antigo são transcritos para wiki a medida que se mexe nas rotinas.
[editar] Modelagem dos Dados
O sistema é orientado a objetos, e sendo assim, a modelagem dos dados se baseia as classes. As mesmas estão demonstradas abaixo, por visão de negócio.
[editar] Documentos Fiscais
[editar] Pedidos
[editar] Produtos
[editar] Caixa
[editar] Contas a Pagar e Receber
[editar] Inventário
[editar] Compras
[editar] Tributação de Serviços