O Grupo de Pesquisa em Sistemas de Informação (GPSI), Linha de Pesquisa de Engenharia de Software (LPES) da Universidade Tecnológica Federal do Paraná, Câmpus Ponta Grossa, desenvolve um aplicativo denominado FrameMK (Framework para Definição de Preço de Venda), no formato de framework.

Como objetivo, o projeto FrameMK propõe criar um modelo de arquitetura de um framework de domı́nio na área de formação de preço de venda. Este objetivo está sendo alcançado por meio do estudo de métodos utilizados para FPV, identificando seus aspectos comuns e especı́ficos para modelagem e construção do aplicativo.

Com a existência de um aplicativo que ofereça diversos métodos de precificação, o trabalho dos gestores é facilitado, pois o preço gerado pelos sistemas, que utilizam um único método, pode não representar o valor ideal de mercado do produto, prejudicando sua competitividade.

Mesmo que os gestores utilizem planilhas eletrônicas com fórmulas próprias para o estabelecimento do preço de venda, as dificuldades encontradas são as validações de erro sintático em fórmulas, que em alguns casos, são de difı́cil interpretação e correção. Além da impossibilidade de reutilização dessas por novos aplicativos.

Alguns dos métodos estudados e implementados no FrameMK são: o Método do Custeio Baseado em Atividades, Método SEBRAE-PR e Método Baseado no Custo Pleno.

Estes métodos foram estudados, modelados e implementados a partir de livros e textos publicados por pesquisadores e especialistas da área. O FrameMK é modelado e desenvolvido utilizando-se a abordagem dirigida à responsabilidades para a modelagem de frameworks.

Arquitetura do Framework

A plataforma de desenvolvimento escolhida é da linguagem Java, com implementação de front-end em Java Swing para versão desktop e Java Struts para versão Web. Além de usar como referência: padrões de desenvolvimento web, meta padrões, padrões de projetos e ferramentas gratuitas Open Source.

Pacotes implementados

A figura a seguir apresenta os pacotes de código que compõem o framework.

Diagrama de pacotes do frameMK
Diagrama de pacotes do frameMK

O pacote BusinessRule contêm as principais classes de código com as regras e lógicas onde as configurações e cálculos dos métodos são realizados. Este pacote também garante a validação dos valores de atributos.

Os pacotes VO e Persistence são compostos por lógica auxiliar, sendo o primeiro a estrutura de dados necessária para realização dos cálculos e o segundo a lógica que realiza a persistência das informações em bancos de dados.

A figura a seguir ilustra a existência, no pacote BusinessRule, de componentes abstratos e componentes especı́ficos de cada método de formação de preço de venda (FPV) implementado.

Detalhamento das classes do pacote BusinessRule
Detalhamento das classes do pacote BusinessRule

Para construção de um novo método de definição de preço de venda, é necessário realizar a extensão dos componentes abstratos, por meio de uma técnica de programação denominada herança.

Após, é possı́vel a codificação particular do comportamento de um novo método de FPV. Esta figura também apresenta que a porta de acesso para uso do FrameMK é o conjunto de componentes do pacote BusinessRule.

Fluxo de trabalho do FrameMK

O fluxo de trabalho para utilização do framework é apresentado na figura a seguir.

Fluxo de trabalho para o uso do FrameMK
Fluxo de trabalho para o uso do FrameMK

Toda a informação manipulada através do FrameMK pode ser persistida em banco de dados, separada pela identificação de usuário. Para que um método calcule corretamente o preço de venda, primeiramente deve-se manipular os itens de configuração.

O framework deve ser utilizado após a definição do método de FPV. O sistema que integra o FrameMK deve dar ao usuário a possibilidade de manipular os itens de configuração - adicionar um novo, alterar ou excluir um existente; de acordo com o método escolhido.

Esta manipulação pode ser efetuada repetidamente para cada item existente. Após configurados os itens, o usuário deverá ter a opção de alimentar os valores necessários referentes à cada item, para efetuar posteriormente o cálculo do preço de venda. Neste ponto pode-se salvar os valores, ou solicitar o cálculo de acordo com os valores já salvos.

Os métodos Sebrae e Custo Pleno necessitam da configuração de itens chamados Atributos. O método ABC, além dos atributos define: atividades, linha de produção e produtos.

Internamente no framework são definidos os tipos de atributos para cada método.

  • Sebrae define os tipos: Despesas fixas, despesas variáveis, custo de aquisição, investimento total, ICMS, faturamento previsto, percentual de lucro desejado.
  • Custo pleno define os tipos: matéria prima, mão de obra direta, custo indireto de produção, custo de transformação e despesas com vendas e administração.
  • ABC não define tipos para os atributos.

Interface Web

O trabalho realizado pelo GPSI apresenta ainda uma aplicação em interface Web, desenvolvida em linguagem Java. O objetivo é oferecer a possibilidade de uso aos usuários que não tem acesso à um ERP integrado com os métodos de preço de venda.

Esta aplicação utiliza o FrameMK para oferecer ao usuário a possibilidade de interagir com os métodos de FPV implementados pelo framework. Este software segue o fluxo definido, com possibilidade do usuário cadastrar-se caso não possua senha.

A figura a seguir apresenta a tela de manipulação de atributos do método Sebrae - sendo que os demais métodos apresentam telas similares.

Ela dá acesso à criação de novos atributos, edição ou exclusão. Cada atributo é associado a um dos tipos especificados para este método.

Tela de atributos Sebrae do aplicativo GPSI para uso do FrameMK
Tela de atributos Sebrae do aplicativo GPSI para uso do FrameMK

Os tipos dos atributos são armazenados fixamente pelos desenvolvedores em uma tabela do banco de dados denominada TIPO ATRIBUTO.

Cada atributo é armazenado em uma tabela denominada ATRIBUTO e os valores para cada atributo são persistidos nas tabelas ATRIBUTO SEBRAE, ATIVIDADE ATRIBUTO e ATRIBUTO PRODUTO, de acordo com cada método de FPV.

A tela de alimentação do sistema é apresentada pela figura a seguir:

Tela de alimentação de valores do aplicativo GPSI para uso do FrameMK
Tela de alimentação de valores do aplicativo GPSI para uso do FrameMK

Os valores de cada atributo podem ser definidos pelo usuário. Estes valores podem ser persistidos em banco de dados para consulta ou ajustes posteriores.

Apesar de apresentar a tela para o método Sebrae, os demais possuem funcionalidade semelhante, com as adequações de entradas de dados de acordo com as definições do método.

Após a entrada dos valores o usuário pode solicitar o cálculo do preço de venda para o método que está trabalhando, conforme ilustrado pela figura a seguir:

Tela apresentando cálculo Sebrae do aplicativo GPSI para uso do FrameMK
Tela apresentando cálculo Sebrae do aplicativo GPSI para uso do FrameMK

As telas com o resultado do cálculo, além de apresentarem o preço de venda, detalham a fórmula do método. No exemplo da tela acima, é o resultado do cálculo do método Sebrae. Esta é uma caracterı́stica do aplicativo de interface, sendo que o framework não retorna as fórmulas utilizadas pelos métodos.