núcleo de computação eletrônica universidade federal do rio de janeiro tópicos especiais em si...

35
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

Upload: internet

Post on 17-Apr-2015

112 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: 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

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

Page 2: 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

Page 3: 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

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)

Page 4: 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

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

Page 5: 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

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.

Page 6: 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

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

Page 7: 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

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

Page 8: 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

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)

Page 9: 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

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

Page 10: 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

RN - Classificação de von Halle

Termos Fatos Regras

Regras de Negócio

Page 11: 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

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>

Page 12: 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

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.

Page 13: 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

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

Page 14: 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

Método: tipos de relacionamentosMétodo: tipos de relacionamentos

Sinônimo Herança Restrição Partitivo Atributo Associação

Page 15: 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

Método: categorias básicas Método: categorias básicas Coisa Tangível Especificação Evento Papel Relação de Associação Senso Comum

Page 16: 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

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>]

Page 17: 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

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>]

Page 18: 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

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.

Page 19: 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

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>

Page 20: 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

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

Page 21: 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

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

Page 22: 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

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

Page 23: 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

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

Page 24: 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

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.

Page 25: 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

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>

Page 26: 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

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>

Page 27: 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

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>

Page 28: 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

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>

Page 29: 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

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>

Page 30: 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

Tipos de Regras - RapdisTipos de Regras - Rapdis

Cálculo Derivação Habilitadora de Ação Permissão Obrigação Proibição

Page 31: 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

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.

Page 32: 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

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

Page 33: 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

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”.

Page 34: 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

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

Page 35: 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

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