Você está na página 1de 53

Professor:

Geraldo Xexo
DCC/IM/UFRJ
PESC/COPPE/UFRJ

Contedo:

Regras de Negcio

Regra de Negcio
uma sentena que define algum
aspecto do negcio.
Tem o objetivo de afirmar a estrutura
do negcio ou de controlar ou influenciar
o comportamento do mesmo.
Regras de negcio so atmicas, isto
, no podem ser quebradas

RN: Exemplos
ITBI o Imposto sobre Transmisso de Bens
Imveis.
O ITBI incide na transmisso por ato
oneroso de um bem imvel
O ITBI pago prefeitura
O ITBI pago pelo vendedor do imvel.
O ITBI pago sobre o valor venal do imvel.
A alquota do ITBI de 3%.

Mais Exemplos
A empresa constituda em divises
Uma diviso constituda em
departamentos
Um departamento constitudo em
sees

Modelo de Dados?
Diviso
composto de /
parte de

Departamento
composto de /
parte de

Seo

Modelo de Dados x RN
Algumas regras de negcio vo servir
diretamente para criao de modelos de
dados
Outras regras vo nos ajudar a fazer
programas

Categorias
Declaraes Estruturais
Declaraes de Ao
Derivaes

Declaraes Estruturais
Um conceito ou a declarao de um
fato que expressa algum aspecto da
estrutura da organizao.
Podem ser termos simples ou fatos
relacionando esses termos.
Normalmente so descritas por meio
de um diagrama de entidades e
relacionamentos.

Declaraes Estruturais
Inclui os termos de negcios e fatos
relacionando termos.

1
0

Definio de Termos de Negcios


O elemento bsico de uma regra de
negcio a linguagem utilizada para
express-la. A definio das palavras
utilizadas nessa linguagem descreve
como as pessoas pensam e falam

11

Definio de Termos de Negcios


Normalmente um projeto s comea
realmente a progredir quando a equipe de
desenvolvimento compreende o discurso dos
clientes.
Para isso, nas primeiras entrevistas ou
reunies, feito um esforo para levantar um
glossrio de termos, e, mais tarde, muitos
desses termos podem aparecer no Modelo
Conceitual de Dados do sistema.

Termos

1
2

Um termo pode ser um tipo (uma


classe) ou um literal (uma instncia). No
caso de regras de negcio costumamos
trabalhar principalmente com tipos.
Os termos definidos so reunidos em
um glossrio e em um dicionrio de
dado.

Sensor (Termo Especial)

1
3

Um tipo especial de termo um sensor, que


representa algo que detecta e reporta valores
que mudam constantemente no ambiente
(mundo externo).
Existe um sensor especial, o relgio, que
relata a passagem do tempo, cujo valor
sempre o instante corrente (data e hora
corrente).

Exemplo de Termo

1
4

ITBI o Imposto sobre Transmisso de


Bens Imveis.

Declarao de Fatos

1
5

A partir dos termos, devemos construir


sentenas que descrevam o negcio a
partir das relaes entre termos e da
estrutura criada por essas relaes.
Normalmente esses fatos so
caracterizados nas entrevistas e
reunies, a partir de declaraes do
cliente de como o negcio funciona.

Declarao de Fatos
Fatos relacionando termos so bastante
fceis de serem encontrados. Muitas vezes
encontramos primeiro um fato e depois
analisamos o significado dos seus termos.
As declaraes estruturais podem declarar
atributos, generalizaes ou participaes.
Uma participao, por sua vez, pode ser um
papel, uma agregao ou uma associao
simples.

1
6

1
7

Exemplos:
Tipo de Fato
Atributo
Generalizao

Papel

Agregao
Associao simples

Exemplo
DRE um atributo de aluno
Aluno de graduao um tipo de
Aluno
Um aluno pode ser representante de
classe
Uma turma precisa ter alunos
Um aluno deve fazer provas

Declaraes estruturais e o
modelo de dados

1
8

Termos e fatos estabelecem a estrutura


de um negcio. Esta estrutura
normalmente descrita em um modelo de
dados. Assim, a maior parte do trabalho
inicial com as regras de negcio
estruturais pode ser descrita por meio de
um modelo de dados conceitual, tema
tratado no prximo captulo.

Exemplos

1
9

Alunos so pessoas matriculadas em um


curso
Um Aluno de Graduao um tipo de Aluno
Um Aluno de Ps-Graduao um tipo de
Aluno
Um Curso construdo por um conjunto de
Cadeiras
Uma Cadeira ministrada por um Professor
Um Professor um tipo de Funcionrio

Declaraes de Ao

2
0

Descrevem aspectos dinmicos do


negcio, sendo uma expresso de
uma restrio ou de uma condio
que controla as aes de uma
organizao.

Declaraes de Aes (ou


Restries)
Representam as restries ou

condies que as instituies colocam


em suas aes. Podem aparecer por
fora de lei, prtica de mercado, de
deciso da prpria empresa ou ainda
outros motivos.

2
1

Exemplos de Restries
Um aluno deve ter um DRE
Um aluno no pode se registrar em
dois cursos que acontecem no mesmo
horrio

2
2

Exemplos de Restries

2
3

Uma Declarao de Ao pode ser uma condio,


uma restrio de integridade ou uma autorizao. .
Uma condio diz que se alguma coisa for verdade, ento
outra regra deve ser aplicada (se - ento).
Uma restrio de integridade uma declarao que deve
sempre ser verdade.
Uma autorizao d uma prerrogativa ou privilgio a um
termo, normalmente permitindo que uma pessoa possa
realizar uma ao.

Declaraes de Aes (ou


Restries)

Declaraes de aes podem ser de


uma variedade de outros tipos.
Recomendamos a leitura de
Uma declarao de ao pode dizer
que precisa acontecer (controle) ou o
que pode acontecer (influncia).

2
4

Derivaes

2
5

A declarao de um conhecimento que


derivado a partir de outro.

Derivaes

2
6

So regras que mostram como transformar


conhecimento em uma forma para outro tipo
de conhecimento, possivelmente em outra
forma
incluindo leis da natureza.

Geralmente so regras ou procedimentos de


clculo ou manipulao de dados.

Exemplos de Derivaes

2
7

O valor a ser pago do imposto predial


3% do valor venal do imvel.
A lista de devedores inclui todos
aqueles que tm uma conta vencida por
mais de 30 dias

Regras e Eventos

2
8

Cada regra de negcio tem a possibilidade de


ser violada em um ou mais eventos do sistema.
Um evento algo que exige que alteremos os
fatos conhecidos pelo sistema (ou seja, um
evento exige a alterao de algum dado na
base de dados) ou que consultemos esses
fatos a fim de inform-los, de alguma forma
processada, ao usurio.
Analisando uma regra podemos ver que tipos
de eventos so provveis de necessitarem de
alguma ateno do sistema.

Regras e Eventos

2
9

Por exemplo, suponha que um sistema de


vendas para uma empresa possua as regras:
Um cliente solicita um produto
Um vendedor designado para atender um
cliente permanentemente
A descrio acima faz com que nos perguntemos:
O que acontece quando um cliente faz seu primeiro
pedido(e no tem ainda um vendedor associado)?
O que acontece quando um vendedor se desliga da
empresa.
Em todo evento, um conjunto de regras deve ser
ativado e cada erro deve ser reportado ao usurio.

Descrevendo Regras de Negcio

3
0

Existem muitas formas de descrever


regras de negcio, de acordo com o
grau de formalismo e a necessidade de
execuo (ou compreenso por serem
humanos) que desejamos.
A tabela a seguir define quatro formas
bsicas de descrio.

3
1

Outra Classificao para RN


Termo
Fato
Computao
Restrio Obrigatria
Guideline
Conhecimento Inferido
Iniciador de Ao

3
2

Termo

3
3

Nome ou sentena com uma definio


acordada que pode ser:
Conceito, classe, entidade,
Propriedade, detalhe, atributo,
Valor,
Conjunto de valores

Sintaxe de Termo
<termo> definido como <texto>
Funcionrio uma pessoa que
trabalha na empresa

3
4

Fato
Sentena que relaciona termos em
observaes relevantes ao negcio
Relacionamentos entre entidades
Relacionamentos entre entidades e
atributos
Relacionamentos de herana

3
5

Sintaxe de Fato

3
6

<termo1> um <termo2>
<termo1> <verbo> <termo2>
<termo1> composto de <termo2>
<termo1> um papel de <termo2>
<termo1> tem a propriedade <termo2>

Exemplo de Fato
Um professor possui uma ou duas
matrculas estaduais
Uma equipe composta de cinco
jogadores

3
7

Computao
Sentena fornecendo um algoritmo
para calcular o valor de um termo

3
8

Sintaxe de Computao

3
9

<termo> calculado como <formula>


A multa calculada como 2% do valor
original da conta

Restrio Obrigatria
Sentena que indica restries que
devem ser verdade em informaes
fornecidas ao sistema (input)

4
0

Sintaxe de Restrio Obrigatria

4
1

<termo1> deve ter <no mnimo, no mximo,


exatamente n> <termo2>
<termo1> deve ser <comparao> <termo2>
ou
<valor> ou <lista de valores>
<termo> deve ser um de <lista de valores>
<termo> no pode star em <lista de valores>
se <regra> ento <restrio>

Exemplo
A data de nascimento de uma criana
tem que ser mais moderna que a data
de nascimento dos seus pais

4
2

Guideline
Sentena que indica restries que
deveriam ser verdade em informaes
fornecidas ao sistema (input)

4
3

Sintaxe de Guideline

4
4

<termo1> deveria ter <no mnimo, no


mximo, exatamente n> <termo2>
<termo1> deveria ser <comparao>
<termo2> ou
<valor> ou <lista de valores>
<termo> deveria ser um de <lista de valores>
<termo> no poderia star em <lista de
valores>
se <regra> ento <restrio>

Exemplo de Guideline
Ao registrar uma pessoa, deveria ser
indicado o nome do pai e da me da
pessoa

4
5

Conhecimento Inferido
Sentenas que expressam
circunstncias que levam a novas
informaes

4
6

4
7

Sintaxe de Conhecimento Inferido


se <termo1> <operador> <termo2,
valor,ou lista de valores> ...ento
<termo3> <operador> <termo4>
Onde operador pode ser: =, <>, =<, >=,
<,>, contm, no contm, tem no mximo,
tem no mnimo, tem exatamente, etc.

Exemplo de Inferncia

4
8

Se o aluno tem alguma nota menor do


que 3 ento deve ter uma nota de
segunda poca

Iniciador de Ao

4
9

Sentena expressando condies que


levam ao incio de uma ao

Sintaxe de Iniciador de Ao
se <termo1> <operador> <termo2,
valor,
ou lista de valores> ...
ento <ao>

5
0

Exemplo
Se o produto vendido era o ltimo no
estoque, ento ativar o processo de
reposio de estoque.

5
1

Concluso

5
2

Regras de negcio so uma proposta


bastante em voga com relao a
caracterizar uma organizao
As ferramentas necessrias ainda no
atingiram plena maturidade
No h um mtodo de consenso para
seu levantamento ou uso

Professor:

Geraldo Xexo
DCC/IM/UFRJ
PESC/COPPE/UFRJ

Contedo:

Regras de Negcio
FIM