núcleo de computação eletrônica universidade federal do rio de janeiro tópicos especiais em si...
TRANSCRIPT
Núcleo de Computação Eletrônica Universidade Federal do Rio de Janeiro
Tópicos Especiais em SI
Regras de Negócio
Eber Schmitz
Fernando Manso
NCEUFRJ
CrCréditoséditos Alissandra E. Martins, MSc
Gisele P. Morgado, MSc
Priscila M.V. Lima, PhD
NCEUFRJ
Regras de Negócio (RN) - definições Sentença que define ou restringe algum aspecto do negócio. Sua intenção
é afirmar a estrutura do negócio ou controlar ou influenciar o comportamento do negócio. (BRG, 1995)
Diretiva que tenciona influenciar ou conduzir o comportamento do negócio. Tais diretivas existem em suporte a política do negócio, a qual é formulada em resposta aos riscos, ameaças ou oportunidades (BRG, 1998)
Sentença explícita de uma restrição que existe na ontologia do negócio (Appleton D., 1984)
Condições que governam os eventos do negócio de tal forma que eles ocorram numa forma aceitável para o negócio (von Halle, 2002)
Políticas recomendadas e obrigatórias que governam a interação entre empregados, clientes, fornecedores e sistemas automatizados (von Halle, 2002)
As regras são as decisões ... (von Halle) ...é uma sentença compacta a respeito de um aspecto do negócio. É uma
restrição, no sentido de que ela estabelece o que tem de ser o caso ou o que tem de não ser o caso (Morgan, 2002)
NCEUFRJ
função descritora e condutora (modeladora) do negócio o negócio é suas regras, o negócio está estruturado segundo suas regras,
o negócio funciona segundo suas regras. as regras se articulam com os objetivos e políticas da empresa. as regras implementam os objetivos e políticas da empresa. a audiência é humana: os humanos cumprem / executam as regras. as regras são expressas em linguagem natural.
RN–Negócios
NCEUFRJ
RN-Sistemas de Informação
as regras são parte dos requisitos dos sistemas. as regras devem ser capturadas, analisadas, projetadas e
implementadas.
a audiência é tecnológica; as máquinas executam as regras. as regras tem de ser expressas em alguma linguagem formal,
“compreensível” pelas máquinas.
NCEUFRJ
Regras – formas de expressão
peça de uma conversa de negócios
versão linguagem de implementação
versão linguagem de especificação
. pode não ser relevante . relevante .relevante . executável
. pode não ser atômica . atômica . atômica . pode ser procedural
. pode não ser declarativa . declarativa . declarativa
. pode não ser precisa . não totalmente precisa . precisa
. pode ser incompleta . pode ser incompleta . completa
. pode não ser confiável . confiável . confiável
. pode ser redundante . pode ser redundante . única
. pode ser inconsistente . pode ser inconsistente . consistente
versão em linguagem natural
NCEUFRJ
RN– formas de expressão
peça de uma conversa de negócios
versão linguagem de implementação
versão linguagem de especificação
versão em linguagem natural
tradução
NCEUFRJ
Regras - representação adotada
REQUISITO: atender ao formalismo exigido pelo computador e ser familiar, na medida do possível, para o usuário.
SOLUÇÃO: gabaritos (templates) - formulários, que se utilizam de um certo subconjunto da linguagem natural, onde cada termo ou posição tem uma função sintática pré-definida. (português estruturado)
NCEUFRJ
RN –Classificação do Business Rules Group RN –Classificação do Business Rules Group (BRG)(BRG)
TERMOS FATOS RESTRIÇÕES DERIVAÇÕES HABILITAÇÕES DE AÇÃO
NCEUFRJ
RN - Classificação de von Halle
Termos Fatos Regras
Regras de Negócio
NCEUFRJ
RN - Classificação de von Halle
Termos: nome simples ou composto com uma definição acordada. Um termo pode designar:
um conceito, p. ex. cliente uma propriedade de um conceito, p. ex. cliente de alto risco um valor, p.ex. solteiro(a) um conjunto de valores, p. ex. dias úteis da semana = (segunda, terça, ...,
sexta) Gabarito:
<termo> É DEFINIDO COMO <texto>
NCEUFRJ
TermosTermos
O elemento mais simples de uma regra de negócio. Constituem um dicionário básico para a expressão das outras categorias de regras. O modelo de sentença proposto até o “momento” é :
<termo> É <definição textual> Ex: Sócio é uma pessoa que aluga fitas de vídeo.
NCEUFRJ
EvoluçEvolução de Termosão de Termos Definição do termo baseada na Teoria Geral da Terminologia Método de definição de termos:
A definição do termo é composta por relacionamentos entre termos
Ponto de partida: Categorias básicas
NCEUFRJ
Método: tipos de relacionamentosMétodo: tipos de relacionamentos
Sinônimo Herança Restrição Partitivo Atributo Associação
NCEUFRJ
Método: categorias básicas Método: categorias básicas Coisa Tangível Especificação Evento Papel Relação de Associação Senso Comum
NCEUFRJ
Método: templatesMétodo: templates
<termo1> É CATEGORIA BÁSICA
<termo1> É SINÔNIMO DE <termo2>
<termo1> É SUBTIPO DE <termo2> [QUE <relação_restrição1> <termo_relacionado_restrição1> , <relação_restrição2> <termo_relacionado_restrição2> ... E <relação_restriçãoN> <termo_relacionado_restriçãoN>]
NCEUFRJ
Método: templatesMétodo: templates
<termo1> TEM COMO ATRIBUTO <termo2>
<termo2> POSSUI COMO DOMÍNIO <domínio>
<termo1> TEM COMO PARTE <termo2>
<termo1> ESTÁ RELACIONADO A <termo2> POR <relação_associação> [COM GRAU <M> .. <N>]
NCEUFRJ
FatosFatos
Representam as relações entre as entidades ou entre estas e seus atributos, descrevendo a natureza ou estrutura operacional do negócio na forma de sentenças em linguagem natural ou como relacionamentos, atributos e estruturas de generalização em modelos gráficos.
Envolve apenas dois termos, não devem representar processos, e sim informação e devem representar possibilidade e não obrigação.
São gerados a partir das definições dos termos.
NCEUFRJ
RN - Classificação de von Halle
Fatos: sentença que relaciona termos Exemplos:
Cliente faz pedidos Pedido é composto por Itens Itens se referem a produtos Cliente se qualifica como cliente preferencial
Gabaritos <termo1> É UM <termo2> <termo1> <verbo> <termo2> <termo1> É COMPOSTO POR <termo2> <termo1> É UM PAPEL DESEMPENHADO POR <termo2>
NCEUFRJ
FatosFatos
Sócio tem como atributo endereço. Dependente é um (sub)tipo de sócio. Biblioteca adquire Livros Leitor toma Livro emprestado Leitor paga Multa Leitor devolve Livro
NCEUFRJ
Regras -Classificação de von Halle
O b rig a tó ria R ecom en d ad a
R es triçã o H ab ilitad ora d e açã o
C á lcu lo In fe rê n c ia
D erivaçã o
R eg ra
NCEUFRJ
Regras - exemplo de gabarito
A regraTodo funcionário deve ter no mínimo 18 anos
pode ser enquadrada no gabarito
<termo1> DEVE SER <operador de comparação> <valor>
onde termo1 = idade do funcionário
operador de comparação = maior ou igualvalor = 18
NCEUFRJ
Regras – outro exemplo
A regra Se um aluno bolsista trancar a matrícula então sua bolsa
deve ser cancelada pode ser enquadrada no gabarito
SE <condição> ENTÃO EXECUTAR <ação>
onde condição = ( estado da matrícula = `trancada` )
ação = cancelar bolsa
NCEUFRJ
RN - gabaritos e significados
Gabaritos resolvem a sintaxe e a lógica da regra mas não o significado dos termos envolvidos
Significados serão fornecidos por um modelo de dados subjacente que “define” os termos.
Exemplo: idade do funcionário “significa” o valor de um atributo da entidade funcionário;
trancada “significa” um dos valores possíveis de um atributo da entidade aluno; cancelar bolsa “significa” executar um procedimento que altera o valor do atributo bolsista da entidade aluno.
Cada termo é uma peça no modelo; sua relação com as outras peças lhe atribui um significado.
A abordagem baseada em RN exige portanto a construção de um modelo de dados, o qual será construído a partir dos termos e dos fatos.
NCEUFRJ
Regras -Classificação de von Halle Restrição obrigatória: sentença que expressa uma
circunstância incondicional que tem de ser verdadeira para que o evento se complete.
Exemplos: Um cliente não pode ter mais do que 10 pedidos abertos O valor total de um pedido de um cliente não pode ser maior do que o
limite de crédito do cliente. Gabaritos:
<termo1> DEVE OBRIGATORIAMENTE <verbo> {<preposição>} <termo2>
<termo1> DEVE OBRIGATORIAMENTE <verbo> <comp> <valor> <termo2>
<termo1> DEVE OBRIGATORIAMENTE <verbo> <termo2> <comp> valor>
<termo1> DEVE OBRIGATORIAMENTE SER <comp> <valor>
NCEUFRJ
Regras -Classificação de von Halle
Restrição recomendada: sentença que expressa uma recomendação / advertência sobre uma circunstância que deve ser verdadeira (ou não verdadeira).
Exemplo:Um cliente não deve ter mais do que 10 pedidos abertos
Gabaritos: <termo1> DEVE <verbo> {<preposição>} <termo2> <termo1> DEVE <verbo> <comp> <valor> <termo2> <termo1> DEVE <verbo> <termo2> <comp> valor> <termo1> DEVE SER <comp> <valor>
NCEUFRJ
Regras -Classificação de von Halle
Habilitadora de ação: sentença que expressa uma condição e uma ação que é iniciada caso a condição se verifique.
Exemplos: Se um pedido de cliente é válido então inicie seu processo de
atendimento. Se um cliente é de alto risco então notifique o gerente de
serviços ao consumidor Gabarito
SE <condição> ENTÃO EXECUTAR <ação>
NCEUFRJ
Regras -Classificação de von Halle
Cálculo: sentença que expressa um algoritmo matemático para determinar o valor de um termo.
Exemplo: O valor total de um pedido é computado como a soma dos
valores de cada linha mais as taxas O CRA é calculado como a média das notas ponderada
segundo os números de créditos das disciplinas Gabarito
<termo> É CALCULADO COMO <função>
NCEUFRJ
Regras -Classificação de von Halle
Inferência: sentença que produz um fato derivado a partir de uma condição.
Exemplo Se o cliente não tem faturas a pagar então seu status é
preferencial. Se o status de um cliente é preferencial então seus pedidos
se qualificam para um desconto de 20%. Gabaritos:
SE <condição> ENTÃO <termo1> <operador> termo2>
NCEUFRJ
Tipos de Regras - RapdisTipos de Regras - Rapdis
Cálculo Derivação Habilitadora de Ação Permissão Obrigação Proibição
NCEUFRJ
Regras - RapdisRegras - Rapdis
Os templates para Restrições são:<termo1> DEVE OBRIGATORIAMENTE <verbo><comp> <qtd> <termo2>Ex: Locação deve obrigatoriamente conter menos de 5 fitas.
<termo1> TEM PERMISSÃO PARA <verbo> {<prep>} {<det>} <termo2>Ex: Funcionário tem permissão para cadastrar fitas.
<termo1> NÃO TEM PERMISSÃO PARA <verbo> {<prep>} {<det>} <termo2>Ex: Funcionário não tem permissão para desativar clientes.
NCEUFRJ
Regras - RapdisRegras - Rapdis
Derivações – determinam como um conhecimento ou informação pode ser transformado em outro, através de cálculos matemáticos (regra de cálculo) ou mudanças de estado realizadas sobre termos ou mesmo outras derivações (regra de derivação). Os templates para Derivações são:
<termo> É CALCULADO(A) COMO <cálculo>Ex: Valor a pagar é calculado como o número de fitas multiplicado pelo preço de locação.
SE <condição>, ENTÃO <termo> É CONSIDERADO(A) <estado>
Ex: Se o atraso de pagamento for maior do que 15 dias, sócio é considerado inadimplente
NCEUFRJ
Regras - RapdisRegras - Rapdis
Habilitação de Ação – São regras dedutivas representadas através de pares de “condição-ação”.
Os templates para habilitação de ação são:SE <condição>, ENTÃO EXECUTAR <ação>
Ex: Se atraso no pagamento maior que 60 dias, então executar “cobrança”.
NCEUFRJ
Referências
ODTUG 2003 Business Rules Tools Shootout Reportwww.odtug.com/Business%20Rule%20Tools%20Report.pdf
Business Rules Management Systems (Artigo InfoWorld, 2004)http://www.infoworld.com/article/04/06/25/26FEbizrules_1.html
Gartner Magic Quadrant for Business Rule Engines, 2005http://mediaproducts.gartner.com/reprints/unisys/article1/article1.html
NCEUFRJ
Regras de Negócio - links
BRG: http://www.businessrulesgroup.org/brghome.htm
BRCommunity: http://www.brcommunity.com/
Manifesto: http://www.businessrulesgroup.org/brmanifesto.htm
Defining Business Rules: http://www.businessrulesgroup.org/first_paper/br01c0.htm