Pessoal, desculpem a minha ignorancia, mas preciso entender exatamente o que é regras de negocio, alguem poderia dar uma ajudinha ai, se tiver um exemplo melhor ainda.
valeu!
Pessoal, desculpem a minha ignorancia, mas preciso entender exatamente o que é regras de negocio, alguem poderia dar uma ajudinha ai, se tiver um exemplo melhor ainda.
valeu!
Cara, não programo em Java, estou começando a aprender, na verdade eu programo em VB e um pouco de Delphi.
Mas vamos lá!
Regras de negócios é tudo que o sistema terá que fazer. Por exemplo:
Vc é chamado para desenvolver um sistema para uma rede de hotéis, pois bem, vc pega uma prancheta, anota tudo que o sistema terá que fazer, passo a passo, camada por camada, e no final de tudo terá a sua regra de negócios para “este” sistema.
É claro que a maioria de sistemas que acessam bancos de dados possuem uma parte das regras como sendo padrão. Tipo, controle de acesso, regras de backup, permissões, domínios, etc,etc.
Regras de negócios, são atividades que o sistema deve “cumprir” em seu funcionamento, ou seja, uma parte das regras são padrão, a outra é o cliente quem decide, de acordo com o negócio a que se vai desenvolver um sistema.
Por exemplo: Vc não pode usar as regras de negócios de um sistema de Supermercados para empresas de Telefonia, sacou??!
As regras são distintas de acordo com o nicho de mercado.
É Mais ou menos por aí.
Nota: Nicho = Ramo
Regra de Negócio é a maneira como a coisa funciona, como o negócio funciona. Não confunda com O que o Sistema deve fazer, pois chamamos isso de Requisito.
Geralmente quem define a Regra de Negócio é o cliente. Ele diz como ele quer que o sistema trate tal evento. Por exemplo:
Requisito: Matricular
Regra de Negócio: Como matricular
Entendeu? O seu cliente vai dizer se ele quer que seja automático OU mediante matricula manual do aluno.
Salvo algum engano, é isso.
criei uma classe onde o usuario irá inserir alguns dados, os metodos dessa classe seria tambem regras de negocio ?
Sim e não! NA verdade isso depende de como estes dados serão usados.
Se porventura estes dados forem pertinentes a somente um cliente por exemplo, aí sim, partiria uma regra, pois pertenceriam somente a este cliente.
É meio dificl explicar, mas tudo aquilo que se “personaliza” para um determinado cliente pode ser considerado “Regra”.
Imagine por exemplo que você seja contratado para desenvolver um software para uma fábrica de sapatos:
Voce analisa todas as necessidades da fabrica, tipo estoque, produção, controle interno, caixa, etc,etc.
Depois se reúne com a pessoa responável, seja ela um diretor ou executivo ,sei lá, para decidirem as “regras de negócios”.
O quê seria isso??
Exemplos genéricos:
Seria as regras de validações (Bancos de dados)
Rotinas de backup
Controle de estoque
‘’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’
REGRA: O CLIENTE QUER O FORMATO dd/mm/yyyy
‘’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’
REGRA: O CLIENTE QUER QUE SEJAM FEITOS BACKUPS A CADA DUAS HORAS
‘’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’
REGRA: O CLIENTE QUER QUE O BALANÇO SEJA FEITO DIARIAMENTE, EM CASO DE ALTO FLUXO (Vendas de final de ano) DUAS VÊZES POR DIA.
Entendeu?? Regra é como a empresa “trabalha”!
OU, Regra é como o cliente quer que o soft funcione para atender as necessidades (personalizadas) da empresa.
Faz tempo que quero entender MVC/camadas, tudo é muito confuso. Mas Agora deu uma clareada, agradeço a ajuda de vcs. Valew , abraços
Boa noite… sou novo por aqui…
Só para esclarecer sobre regras de negocio.
As regras de negocio não estão diretamente vinculadas ao Sistema Informatizado em si. Geralmente as regras de negocio existem antes de qualquer sistema.
Estas regras definem como a organização trabalha em determinados casos. Estas regras deverão constar juntamente com a documentação do sistema. Logo, dentro do desenvolvimento do sistema é interessante que cada tipo de validação faça referencia à regra de negocio. Desta maneira se evita complicações com o cliente e com os desenvolvedores…
Pelo menos é assim que eu vejo…
:!: :shock:
…
bom nao sou tao experiente nessa area mais estou estudando e vivenciando isso… na minha opniao e o que ja obtive de conhecimento ate hoje para mim a regra do negocio é: O desenvolvedor entender as regras do negocio do cliente, porem nao de forma tecnica, e sim visando como o sistema pode contribuir para aquela area especifica do cliente de forma escalonavel.
Ex.: acesse o site da americanas.com e veja como ele está hoje, e tente lembrar da versao antiga. Observe que ele está com mais foco no usuario… e isso representa a camada de negocio da empresa… usuario/cliente.
Outro exemplo que vou dar é que aconteceu comigo trabalho em uma empresa de varejo com 27 lojas no ramo de eletro, eletronicos, moveis semelhante casas bahia. E meu diretor a media de 2 meses atras me chamou e falou assim: “Camilo vc é um bom cara na area tecnica de TI para o grupo, pois sempre mantendo a qualidade no funcionamento do sistema, rapidez com eficacia na atualizacao do produto final, enquanto a isso nao tenho que reclamar. Porem eu preciso que vc tb entenda do negocio da empresa, nao basta termos a ferramenta funcionando, com uma boa rede, um bom servidor… porem se o produto na ponta nao vende… vc tem q entrar no negocio comercial. E sempre avaliar o que faz e o que nao faz, as filiais umas usar outra nao, e umas que usa mais… e outra q nem usa. Meio de motivar a equipe comercial e dormir e acordar… pensar na nossa ferramenta…”
Bom entao para mim regras do negocio é destinado nesse segmento ai… e nao a area tecnica em si… a ferramenta acima é uma loja digital. Que apos a reuniao estou reformulando nesse foco da empresa… entao isso é bastante fundamental… ja vi vagas de emprego ai… que o cara perguntou pq o analista de negocio ganha mais que o analista sistema/desenvolvedor? por que se nao o cara nao entender a camada de negocio do cliente, vai ter um bom sistema etc;; porem para a camada de negocio pode ser inutil…
flw! falei demais… porem posso tb está equivocado… mais é a experiencia que to adquirindo nesse projeto que to envolvido.
Bom, vc entendendo bem a rotina de trabalho de um cliente, vc ira fazer uma implementação com muito mais facilidade.
As regras de negócios são particularidades específicos de uma determinada empresa.
Se vc for desenvolver um sistema para uma seguradora por exemplo, vc vai ter que sacar bem do processo de seguro, desde o inicio até o fim, pois vc vai automatiza-lo, e para tal, não basta apenas conhecer a parte técnica, precisa saber bem, o que vai implementar, como são feitos os calculos em cima dos prêmio, e por aí vai.
Normalmente existe a figura do analista de negócios, e do analista de sistemas, que trabalham boa parte do tempo integrados. O analista de sistemas vai dar a solução técnica, e o de negócios vai tirar eventuais duvidas sobre como as coisas funcionam na pratica, fora do sistema.
Espero te ajudado.
abraço!
Eu sempre penso em regra de negócio como um comportamento de uma informação determinado por uma segunda informação.
As informações são o conhecimento total da empresa, boa parte dela pode ficar armazenada no sistema que está sendo construído, mas isso não é obrigatório.
Veja que esta definição abrange a todos os exemplos citados pelos colegas.
" não estão diretamente vinculadas ao Sistema Informatizado em si."
Eu discordo um pouco deste conceito, eu acho que elas estão sim vinculadas diretamente, embora sejam um domínio maior que o sistema de informação. O sistema que está sendo projetado deve capturar a fração do universo de regras de negócio que se relaciona com as informações que ele irá gerencia.
ETA.
le todas as resposta e também tenho duvidas. Em que camada implementar a regra de negócio. Facade ? Controller ?
esta é a estrutura q estou implementando:
br.
…com.
…bra.
…sgrc.
…controller
…dao
…facade
…factory
…model
…view
…test
Favor em qual pacote (camada) dever ser implementada a regra de negócio: Tipo campo obrigatório, valores não permitidos, entre outros.