A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Tópicos Especiais em SI

Apresentações semelhantes


Apresentação em tema: "Tópicos Especiais em SI"— Transcrição da apresentação:

1 Tópicos Especiais em SI
Regras de Negócio Eber Schmitz Fernando Manso

2 Créditos Alissandra E. Martins, MSc Gisele P. Morgado, MSc
Priscila M.V. Lima, PhD

3 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)

4 RN–Negócios 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.

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

6 Regras – formas de expressão
peça de uma conversa de negócios versão em linguagem natural versão linguagem de especificação versão linguagem de implementaçã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

7 RN– formas de expressão
peça de uma conversa de negócios versão em linguagem natural versão linguagem de especificação versão linguagem de implementação tradução

8 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)

9 RN –Classificação do Business Rules Group (BRG)
TERMOS FATOS RESTRIÇÕES DERIVAÇÕES HABILITAÇÕES DE AÇÃO

10 RN - Classificação de von Halle

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

12 Termos 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.

13 Evoluçã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 Definição do termo baseada na TGT: o termo designa um conceito, que é definido por relacionamentos entre outros termos, formando, assim, um sistema conceitua

14 Método: tipos de relacionamentos
Sinônimo Herança Restrição Partitivo Atributo Associação

15 Método: categorias básicas
Coisa Tangível Especificação Evento Papel Relação de Associação Senso Comum A categorização utilizada nesta ferramenta foi baseada no ponto de partida para a definição de objetos sugerido por Mellor e Shlaer. Os autores não propuseram uma categorização de objetos. Lembrar que Senso Comum é a opção final do usuário coisa tangível: representa algo que tenha existência concreta; Especificação: representa uma característica de outro objeto Evento: representa a ocorrência de um fato ou ação que torna esta ocorrência algo materializável; Papel: representa a atuação de uma pessoa ou organização; Relação de associação: representa uma interação entre objetos; senso comum: representa um termo de consenso geral e não consta nos tipos de objetos definidos por Shlaer e Mellor.

16 Mé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>]

17 Mé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>]

18 Fatos 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.

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

20 Fatos 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

21 Regras -Classificação de von Halle

22 Regras - exemplo de gabarito
A regra Todo 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 igual valor = 18

23 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

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

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

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

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

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

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

30 Tipos de Regras - Rapdis
Cálculo Derivação Habilitadora de Ação Permissão Obrigação Proibição

31 Regras - 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.

32 Regras - 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

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

34 Referências Gartner Magic Quadrant for Business Rule Engines, ODTUG 2003 Business Rules Tools Shootout Report Business Rules Management Systems (Artigo InfoWorld, 2004)

35 Regras de Negócio - links
BRG: BRCommunity: Manifesto: Defining Business Rules:


Carregar ppt "Tópicos Especiais em SI"

Apresentações semelhantes


Anúncios Google