Tópicos Especiais em SI

Slides:



Advertisements
Apresentações semelhantes
Modelo de Casos de Uso Diagrama de Casos de Uso
Advertisements

Um pouco mais de cardinalidade e Relacionamentos
Abordagem Entidade Relacionamento
Profa. Dra Maria Luiza de Almeida Campos
Requisitos de Software
Engenharia de Software
Sistema de Informação Gerencial
Linguagem de Montagem Visão geral.
O Modelo E-R Definição: Características
Especificação de Processos
Diagrama de fluxo de dados (DFD)
(Unified Modeling Language)
Tipos de sistemas de Lehman
Identificando requisitos
Sistemas de Informação Redes de Computadores
Especificação de Software
A Teoria da Medida Profª. Ms. Juliany Gonçalves Guimarães
Faculdade de Ciências Sociais de Aplicadas de Petrolina – FACAPE
Disciplina:Tópicos Avançados de Sistemas de Informação
UML Diagrama de Classes elementos básicos. Contexto Os diagramas de classes fazem parte do da visão estática da UML. Os elemento desta visão são conceitos.
Por Que o Pesquisador Social Utiliza a Estatística
Modelagem Conceitual de Sistemas de Informação
Análise de Requisitos Use Case Renata Araujo Ricardo Storino
Classificação de Requisitos
Professora: Aline Vasconcelos
Modelagem de Sistemas de Informação
O processo de coletar os requisitos (escopo do cliente)
Felipe Dias Maria Fernanda
SIMULAÇÃO EM COMPUTADOR: O PENSAMENTO COMO PROCESSAMENTO DE INFORMÇÕES
Extração de Requisitos
Classes e objetos Modelagem
Lógica de Programação.
A Lógica das Sentenças Abertas Profa. Ana Florencia Aula 9
INF 1771 – Inteligência Artificial
Especificação de Requisitos de Software com Casos de Uso
Diagrama de Classes e Colaboração
Prof.Alfredo Parteli Gomes
Gerenciamento de Configuração
Universidade São Marcos Curso: Gestão de Negócios Internacionais
DIAGRAMA DE CLASSE Modelagem de Software
IEEE Std IEEE Melhores Práticas para Especificações de Requisitos de Software (ERS)
Gerenciamento de Dados
Engenharia de Software
ÁLGEBRA – AULA 2 Equações.
Modelagem de Negócio no RUP
Fase de Concepção (Início, Planejamento)
ALGORITMOS Intensivo Janeiro e Fevereiro de 2011
A abordagem de banco de dados para gerenciamento de dados
Banco de Dados Aplicado ao Desenvolvimento de Software
Igor Steinmacher, MSc. O maravilhoso mundo da Lógica de Programação.
Capturando Requisitos com Use Cases Disciplina: Estudo do RUP Autor: Tiago Lima Massoni Orientacao: Augusto Sampaio Paulo Borba.
Campus de Caraguatatuba Aula 2: Introdução a Tecnologia de BD
GERENCIAMENTO DE PROJETOS DE T.I
Laboratório de Programação
RUP - Cap. 3 – Processo Dirigido por Caso de Uso
Sistemas Microprocessados e Microcontrolados
Trabalho de Engenharia de Software II
Requisitos de Software
Fase de Concepção Levantamento de Requisitos, Organização de Requisitos, Planejamento dos Ciclos Iterativos.
Professora Cláudia Abreu Paes
Programação Lógica com Prolog
Fundamentos de linguagens de programação
Métodos Formais Juan Andrés Mussini.
Análise e Projeto de Sistemas
Projeto de Banco de Dados
Banco de Dados I Aula 4 - Projeto Conceitual de Banco de Dados
Engenharia de Software Orientada a Objetos
Modelagem de Dados Aula 1.
B.I. Business Inteligence PROFESSOR MARCELO CAMPINHOS.
Universidade de Passo Fundo Tecnologia em Sistemas de Informação TSI109- Fundamentos de Banco de Dados (Restrições de Integridade) Prof. Alexandre Tagliari.
Transcrição da apresentação:

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

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

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)

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.

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.

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

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

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)

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

RN - Classificação de von Halle

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>

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.

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

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

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.

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

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

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.

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>

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

Regras -Classificação de von Halle

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

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

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.

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>

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>

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>

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>

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>

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

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.

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

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

Referências Gartner Magic Quadrant for Business Rule Engines, 2005 http://mediaproducts.gartner.com/reprints/unisys/article1/article1.html ODTUG 2003 Business Rules Tools Shootout Report www.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

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