sábado, 30 de agosto de 2008

Mini-Mundo 11

 

Mini-Mundo 11-A

Uma loja de departamentos deseja controlar a entrada e saída de produtos dos seus vários almoxarifados. Cada entrada é endereçada a um almoxarifado e composta de apenas um produto. Possui uma data de entrada do produto no almoxarifado e uma quantidade. Em cada almoxarifado existe no máximo uma entrada de cada produto, por dia. A maior parte dos produtos são produzidos pelas fábricas que a loja possui, sendo deixada uma pequena parcela para fornecedores externos. Não há interesse em se controlar as fábricas pertencentes a loja.

Cada saída é composta de apenas um produto, oriundo de um almoxarifado, uma data e uma quantidade. Todas as saídas de produto tem um empregado responsável. Só há interesse em monitorar os fornecedores externos que efetivamente tenham fornecidos algum produto à loja.

Ä Há interesse da loja em obter as seguintes informações do sistema:

a) Quantidade de determinado produto em um determinado almoxarifado.

b) Entradas de um produto em um almoxarifado em um determinado período informando: código do produto, descrição do produto, número do almoxarifado, localização do almoxarifado, data da entrada, quantidade e se for o caso, código e nome do fornecedor externo.

c) Saídas de um produto de um almoxarifado em um determinado período informando: código do produto, descrição do produto, número do almoxarifado, localização do almoxarifado, data da saída, quantidade, matrícula, nome e função do empregado responsável.

d) Relação dos produtos que a loja comercializa ou tem intenção de comercializar.

e) Relação de todos os almoxarifados da loja (ativos a inativos).

Mini-Mundo 11-B

Suponha que no Mini-Mundo 11-A, cada entrada possua um número seqüencial único que permite identificá-la, independente do almoxarifado. Que mudanças ocorreriam no modelo?

Mini-Mundo 11-C

Suponha que no Mini-Mundo 11-A, cada entrada possuam número seqüencial que permite identificá-la. em cada almoxarifado. Que mudanças ocorreriam no modelo?

Mini-Mundo 9

image

 

Um  dos restaurantes mais tradicionais do Rio de Janeiro teve sempre o seu controle realizado manualmente pelos seus 3 proprietários. A sorte "lotérica" bateu à porta de um deles, que retornou imediatamente para sua terra natal. Com o crescimento do movimento financeiro do restaurante, os outros sócios passaram a se desentender quanto a melhor maneira de administrar o restaurante, resultando na posse integral do restaurante por um dos sócios.

O restaurante possui atualmente 30 garçons, servindo diariamente mais de 500 refeições e o cardápio oferece mais de 40 pratos diferentes. O restaurante conta com uma ampla área de mais de 1000 m2 e dispõe de mesas de 2, 4 e 6 lugares num total geral de 80 mesas. O horário de funcionamento atual é de 11:00h às 2:00h. Cada garçom é responsável por atender no mínimo 4 mesas e no máximo 10, não podem atender nenhuma mesa fora de sua responsabilidade. A remuneração dos mesmos é um percentual fixo sobre o consumo das mesas que cada um atendeu.

Ao encerrar a conta, o cliente preenche uma avaliação sobre o atendimento prestado pelo garçom. Ao final do mês, os garçons que obtiverem as 3 melhores médias de desempenho recebem uma gratificação extra. O restaurante impõe que não pode existir mais de um garçom atendendo ao mesmo cliente na mesa, e que este garçom deverá realizar todo o atendimento até o cliente ir embora, mesmo que ultrapasse seu horário normal de trabalho. Não é permitido que pessoas ocupem mesas sem consumir.

Ä Periodicamente o dono necessita das seguintes informações:

a) Relação das mesas que um garçom tem sob sua responsabilidade.

b) Número de assentos que um garçom tem sob sua responsabilidade.

c) Lista dos pratos servidos em uma mesa durante um certo período de tempo.

d) Salário a pagar a cada garçom no final do mês.

e) Lista dos pratos mais consumidos por dia da semana.

f) Relação das mesas que por mais tempo estiveram ocupadas.

g) Relação dos garçons que devem receber gratificação ao final do mês junto com suas respectivas médias.

h) Qual(is) garçom(ns) é(são) responsável(eis) por uma determinada mesa.

OBS: Imagine que a cada pedido feito o garçom tira uma comanda. Como ficaria o modelo
agora?

Mini-Mundo 08 - Solução

image

Mini-Mundo 08

Uma construtora de obras por administração (condomínio fechado) quer gerenciar seus clientes e clientes em potencial em relação aos condomínios que está administrando. A formação de um condomínio é criada pela construtora a partir de um terreno adquirido e um projeto de prédios de apartamentos.

A construtora contata seus melhores clientes e clientes em potencial para oferecer os apartamentos de um prédio de um condomínio. Vários clientes podem se juntar para comprar um apartamento, cabendo a cada um o percentual correspondente (a soma das cotas dos proprietários tem que ser sempre 100%). A partir da venda de determinado número de apartamentos, o condomínio é firmado juridicamente e a construção se inicia. Não existe a figura de venda parcial de um apartamento. Cada condomínio pode ser composto de vários prédios, e todo prédio construído, ou em construção, tem que fazer parte de algum condomínio.

É considerado um bom cliente aquele que possui 3 ou mais apartamentos com
cota = 100%, ou participa como cotista parcial, em qualquer proporção, em mais de 9 apartamentos. Para todo prédio é eleito um sindico (proprietário de um ou mais apartamentos do prédio) e para todo condomínio um responsável (tem que ser proprietário com cota = 100%).

ÄO sistema deve fornecer as seguintes informações:

a) Qual o cliente responsável por um condomínio?

b) Qual o síndico de um determinado prédio?

c) Qual o percentual de apartamentos vendidos em determinado condomínio?

d) Relatório informando, ao longo do tempo, todos os apartamentos que um determinado cliente já participou, ou participa, como cotista, incluindo para cada apartamento as datas e percentuais adquiridos.

e) Quais os apartamentos que um determinado cliente participa como cotista parcial?

t) Quais os "bons" clientes e os clientes potenciais?

g) Quais os apartamentos não vendidos em um determinado condomínio?

h) Qual(is) o(s) proprietário(s) de um determinado apartamento?

Mini-Mundo 07 - B - Solução

image

Mini-Mundo 07 - A - Solução

image

Mini-Mundo 07

Mini-Mundo 7-A

Um Vídeo Clube deseja controlar o empréstimo de fitas a seus sócios. Atualmente o controle de empréstimo é feito utilizando dois conjuntos de fichas: o das informações dos sócios e o das informações das cópias, no qual se controla também os empréstimos. Nas fichas dos sócios constam as seguintes informações: número de inscrição, nome, endereço e telefone. Nas fichas das cópias estão registrados: código de identificação da fita, título do filme, duração, ano, gênero, nome do diretor e de 2 (dois) dos artistas principais, data de aquisição e o estado da fita (bom ou ruim), além de uma lista de empréstimos com número de inscrição do sócio, data do empréstimo, data da devolução e valor pago. Estes dois últimos são preenchidos quando a cópia é devolvida.

Nesta locadora existem vários filmes com várias cópias, e cada cópia recebe uma etiqueta com um código, por exemplo: 5.315 ( como se fosse o número do CONCINE, único para cada cópia original).

Um empréstimo é válido por 72 horas no máximo e possui preço fixo. A locadora pretende colocar terminais de consulta em sua loja, possibilitando seus sócios a escolha de filmes a partir do gênero, diretor e dos artistas prediletos. Não é aceita reserva e todos os pagamentos são feitos no momento da devolução. Se o sócio atrasar a devolução deverá pagar multa.

A gerência deseja que o sistema começa um relatório de todos os filmes que possui, informando a quantidade de cópias por filme, além de relatórios de filmes por gênero, diretor e artista. Ela deseja também uma lista das cópias em mal estado e outra de sócios inadimplentes. Existe interesse em manter um controle sobre diretores e artistas com nome, país de origem e data de nascimento de cada um.

Mini-Mundo 7-B

Troque o segundo parágrafo do mini-mundo 7-A, pelo abaixo:

Nesta locadora existem vários filmes com várias cópias, e cada cópia recebe uma etiqueta com um código por exemplo: P305-03, que significa Policial (P), Filme número 305, 3a cópia deste filme.

Mini-Mundo 06

 

Uma firma que utiliza equipamentos de informática necessita de um sistema que gerencie a sua rede de micro-computadores (ponto-a-ponto, não existe servidor da rede), controlando usuários. máquinas e impressoras. A rede é composta de servidores de impressão, estações e impressoras. Os servidores de impressão, e suas impressoras, ficam dentro de uma sala própria. O sistema também irá controlar a partir de qual estação o usuário está conectado a rede, e os seus arquivos enviados para impressão.

Para todos os micros deseja-se cadastrar: código do patrimônio, descrição, capacidade do disco rígido, quantidade de memória e, sendo uma estação a sua localização, sendo um servidor o tamanho máximo do buffer e a quantidade máxima de buffers de impressão e que ele suporta, e as impressoras ligadas a ele (no máximo 3 ), caso existam. Para impressoras deseja-se cadastrar: código do patrimônio, descrição, velocidade (ppm) e, consequentemente, o servidor a que está ligada. Nesta firma todas as impressoras estão ligadas a algum servidor, não sendo compartilhada por mais de um servidor.

Para controlar os usuários, o sistema só precisa do nome de guerra e senha de cada um. Como os usuários não possuem máquina fixa, a sua conexão à rede pode ocorrer a partir de qualquer estação. Tendo o usuário uma conexão ativa, o sistema não permitirá que ele se conecte a partir de outra estação. Há interesse em controlar apenas as conexões ativas (as conexões desfeitas são irrelevantes).

No caso de impressão, o sistema deverá saber qual o arquivo, de quem ele é, e em qual impressora será impresso (atenção: somente usuários com conexão ativa é que possuem condição de enviar arquivos para , impressão). É o usuário que escolhe a impressora onde ele quer que o seu arquivo seja impresso. Nada impede que usuários diferentes enviem arquivos de mesmo nome para impressão, porém (nesta firma) para o mesmo usuário isso não é possível, mesmo em impressoras diferentes. Neste caso o sistema permite alterar o número de cópias a serem impressas. Só deve ser mantido registro dos arquivos que ainda estão na fila de impressão.

O sistema deverá listar, para cada impressora, os arquivos que estão aguardando impressão, com o respectivo usuário que a enviou, mesmo que o usuário não esteja mais ativo na rede. Sempre que solicitado o sistema exibirá, para cada estação, o seu código e, caso exista, o nome do usuário conectado, a data e hora início desta conexão e, se houver, nome e quantidade de cópias dos arquivos que ele enviou e que ainda estão aguardando impressão.

Mini-Mundo 05 - Solução

image

Mini-Mundo 05

image

A firma "K. H. Doméstica" presta serviços de limpeza e deseja um sistema automatizado que cuide, principalmente, da alocação dos empregados aos pedidos de serviço feitos pelos clientes e de possíveis criticas no momento da alocação.

O cliente telefona para a firma e faz um pedido de serviço. Neste momento a atendente verifica no cadastro se ele já é um cliente da firma; caso não seja, ela cadastra-o solicitando: CGC, Razão Social, Endereço e Telefone: se for pessoa jurídica, ou CPF, Nome, Endereço e Telefone, se for pessoa física. A firma atribui um código próprio para identificar qualquer um dos seus clientes.

Estando o cliente devidamente cadastrado, a atendente abre um bloco de pedidos e preenche um "Pedido de Serviço", anotando: o nome do cliente, a data da abertura, a data para realização dos serviços, o local onde deverá ser realizado, e uma relação dos serviços que o cliente quer que seja executado naquele local, com a respectiva metragem quadrada de cada um. A atendente consulta uma tabela de serviços (código do serviço, descrição, valor por m2, duração por m2), calcula e anota no pedido a duração e o valor, unitário e total dos serviços. Após o preenchimento do pedido, a atendente informa ao cliente o número do seu pedido, o valor total a ser pago e a duração máxima para o término dos serviços, supondo que serão executados em seqüência.

Todo empregado está habilitado a executar algum tipo de serviço de limpeza porém, apesar do treinamento fornecido, nem todos os empregados podem executar todos os tipos de serviço. Caso a firma não possua nenhum empregado habilitado para a execução de um tipo de serviço que deverá ser prestado a um pedido, antes da realização é providenciado um treinamento e, posteriormente, um empregado é alocado ao pedido (Preferencialmente um Pedido de Serviço não deverá ser cadastrado se a empresa não tiver um empregado capaz de executá-lo). No momento de alocar cada empregado que irá atender ao pedido, é verificado se ele não está alocado em outro pedido no momento de sua realização, e se ele está habilitado para algum dos serviços exigidos no pedido (se não estiver habilitado, não pode ser alocado).

Um pedido é considerado com alocação completa se existir para cada tipo de serviço exigido no pedido, pelo menos um empregado habilitado alocado ao pedido.

Se o pedido estiver com alocação completa se poderá ser iniciada a sua execução. "Qual empregado" vai executar "qual serviço do pedido", é decidido pela própria equipe no momento da realização, e não temos interesse em registrar.

ÄO sistema deverá ser capaz de informar, dentre outras coisas:

a) Relatório dos pedidos com alocação incompleta, imprimindo para cada alocação incompleta o número do pedido, código do cliente, nome ou razão social do cliente, data da realização e uma relação de todos os serviços exigidos com sua respectiva metragem quadrada.

b) A relação de todos os empregados(matrícula e nome) que tenham habilitação em um determinado tipo de serviço e que não esteja alocados a (trabalhando em) um pedido, em uma determinada data.

MIni-Mundo 04 - Solução

image

Mini-Mundo 4

Arca de Noé

Uma empresa de transporte marítimo deseja um sistema automatizado que a auxilie a alocar as cargas nos navios, de acordo com sua capacidade e destino. Cada carga deverá ser transportada integralmente por um único navio sem “transbordo”, ou seja, não pode ser dividida por mais de um navio, nem fazer “baldeação” (descer em um porto e ser embarcada em outro navio).

No momento em que a carga é aceita para ser transportada, é colada uma etiqueta contendo o número desta carga, o porto destino, seu peso em Kg, a data máxima para desembarque no porto destino (caso isto não seja atendido a empresa pagará uma multa diária), o código do agente receptor no porto destino, e a data de validade, no caso de carga perecível, ou a temperatura máxima no caso de carga sensível. Todo porto possui vários agentes receptores (cada agente opera em um único porto) e esta escolha é feita por indicação interna.

No fim do expediente o supervisor, para cada carga não embarcada, consulta uma relação contendo os navios e os portos que pertencem á rota dos navios. Caso encontre um navio que passe pelo porto destino antes da data máxima para desembarque e possua capacidade disponível, a carga é “embarcada” neste navio (se o navio passar por este porto mais de uma vez, a carga será desembarcada, sempre, na primeira chegada ao porto).

O sistema deve ser capaz de emitir:

a) Relatório dos navios e suas rotas, informando para cada navio: seu nome, sua capacidade máxima de transporte em (Kg), e a relação de portos (nome do porto) de sua rota, com a data de chegada em cada porto destino.

b) Relatório das cargas embarcadas, informando: número da carga, porto destino, navio, data máxima para desembarque da carga, e data na qual o navio vai chegar no porto.

c) Relatório das cargas não embarcadas, informando: número da carga, porto destino, data máxima para desembarque da carga, e código do agente receptor.

d) Relatório contendo, para cada porto, todos os navios que passarão por lá.

e) Relatório de todas as cargas não embarcadas porque não existe navio que passe pelo porto destino.

f) Relatório de navios em manutenção (não possuem rota).

g) Relação de todos os agentes de um determinado porto, com código e nome de cada agente, que não estão recepcionando nenhuma carga.

Mini-Mundo 03 - Solução

 

image

Mini-Mundo 03

Uma fábrica de roupas exclusivas (cada modelo, único, é projetado por estilistas famosos) deseja um sistema para controlar sua produção. A fábrica conta atualmente com 1230 funcionários sendo que a maior parte dos mesmos são costureiras trabalhando na atividade fim. A fábrica possui aproximadamente 600 máquinas de costura de diversos tipos (overlock, zig zag, costura reta, etc) de diversos fabricantes.

Para ingressar como costureira, a funcionária é avaliada para determinar em que tipo de máquina ela possui habilitação. Cada máquina pode realizar um ou mais tipos de costura.

Cada peça de roupa é produzida integralmente por uma costureira em uma máquina, sendo que neste período nem a costureira, nem a máquina podem ser alocados para outra coisa.

A remuneração das costureiras é mensal baseado em uma alíquota fixa (15%) sobre o preço de venda de cada peça. Nenhuma costureira pode receber menos que um determinado valor mínimo que é negociado no momento da contratação de cada uma. As costureiras são divididas em supervisões, cada uma possuindo uma supervisora que é a responsável pela qualidade do que é produzido, e pela monitoração das máquinas que estão em conserto. A máquina só vai para conserto após o término da produção da peça. A supervisora da costureira que estava produzindo nesta máquina se toma a responsável pela monitoração de seu conserto.

A fábrica necessita das seguintes informações:

a) Relatório de peças produzidas por uma costureira num determinado período, no seguinte formato: modelo da peça, descrição do modelo, data e hora de início e término da fabricação, código da máquina de costura, localização da máquina e o fabricante.

b) Relatório das costureiras sem produção no período (matrícula da costureira, nome, Valor Mínimo Negociado).

c) Relação das máquinas disponíveis, informando para cada uma o seu fabricante e o(s) tipo(s) de costura que possui.

d) Quais costureiras estão disponíveis e habilitadas a trabalhar em um tipo de máquina no momento.

e) Relação das máquinas que estiveram mais de 10 vezes em conserto, contendo: código da máquina e para cada conserto, matrícula e nome da supervisora responsável, data início e término do conserto.

Mini-Mundo 02B - Solução

image

Mini-Mundo 02-A - Solução

image

Mini-Mundo 02

 

Mini-Mundo 02-A

Uma loja de venda de Eletrodomésticos quer automatizar o seu controle de compra e troca de aparelhos por parte de seus clientes (cliente é uma pessoa que já efetuou uma compra na loja).

Todo aparelho vendido possui garantia de 1 ano, a partir da data de venda. Isto significa que qualquer troca só poderá ser realizada dentro deste período, mesmo que já tenha havido várias trocas em função desta compra.

No termo de garantia. é anotado a data da compra, marca, modelo e número de série do aparelho vendido, juntamente com o nome e endereço do cliente que o comprou.

A cada troca de aparelho, relativo a primeira compra, é verificado se ainda está no prazo de garantia, e é registrado o cliente que realizou a troca. Somente o próprio comprador é quem pode realizar a troca.

Os aparelhos defeituosos são imediatamente devolvidos para a fábrica e não mais retomam para a loja.

A loja quer saber:

a) Relação de aparelhos disponíveis na loja.

b) Relação de aparelhos que apresentaram defeitos contendo a data e o defeito apresentado.

c) Relação de clientes cujas compras nunca apresentaram defeito.

Mini-Mundo 02-B

Suponha que no mini-mundo anterior, a loja decida que qualquer cliente pode realizar uma troca, mesmo que não tenha sido o comprador.

Quais as implicações disto? Gere um novo modelo com este enfoque e que atenda também ao seguinte:

d) Relação de aparelhos que apresentaram defeitos contendo quem realizou a troca, a data e o defeito apresentado.

Mini-Mundo 01 - Solução

image

Mini-Mundo 01

image

A administradora de Imóveis “Imor Tal" é uma empresa que cuida, principalmente. da compra e venda de imóveis residenciais e comerciais no Grande Rio, dentre outras atividades.

O atendimento atualmente é demorado e, muitas vezes, incompleto devido a demora no manuseio de muitas fichas, acarretando a perda de muitas oportunidades de negócio.

Todos os imóveis são comprados pela imobiliária para, então, serem colocados a venda. A direção da empresa definiu como prioridade automatizar o processo de comercialização (compra e venda) dos imóveis, envolvendo seus proprietários (novos e antigos).

A imobiliária considera "proprietário" toda pessoa que participou de um processo de comercialização (compra ou venda) no papel de dono (antigo ou novo).

Ä Entre outras informações, o sistema deverá ser capaz de controlar os imóveis comprados e os vendidos, e emitir:

a) Relação de todos os imóveis disponíveis para venda, contendo para cada um: Endereço, Bairro, Área(m2), descrição, Proprietário antigo (o atual é a administradora) e o Preço Mínimo para venda.

b) Relação de todos os imóveis vendidos, por bairro, contendo para cada um: Bairro, Proprietário antigo, Proprietário novo, Preço de venda (ao proprietário novo) e o Preço de compra (pela imobiliária).

c) Relação dos proprietários que compraram mais de um imóvel na imobiliária (nome, cpf, endereço, telefone).

d) Relação dos proprietários que venderam mais de um imóvel para a imobiliária (nome, telefone).

domingo, 24 de agosto de 2008

Regra de Derivação (Regra de Cálculo, Regra de Inferência)

image

image

Regras de Derivação, Cálculo ou Inferência (representam ou modelam Regras de Negócio que estabelecem um estado futuro para os Elementos da Realidade).

Regra de Derivação (Regra de Cálculo, Regra de Inferência) é um tipo de Regra de Negócio que especifica a forma como determinadas informações podem ser obtidas a partir de outras informações já existentes no Banco de Bados, por cálculo ou por inferência.

image

image

Regra de Restrição de Integridade

Regras de Restrição de Integridade (representam ou modelam Regras de Negócio que restringem as mudanças de estado atuais dos Elementos da Realidade).

Restrição de Integridade ou Regra de Restrição de Integridade, estabelecem procedimentos ou mecanismos a serem respeitados para que os Processos Organizacionais recebam e produzam Informações Consistentes.

image


Visam permitir a representação de Regras de Negócio que se não forem respeitadas a consistência (integridade) do Banco de Dados será prejudicada. Em outras palavras, elas proíbem (restringem) a existência de valores de Dados inválidos, estabelecendo, dessa forma e indiretamente, os válidos.

Exemplo: um Cliente não pode fazer Pedidos além do seu Limite de Crédito.


image



No Modelo Entidade Relacionamento existem os seguintes tipos de Restrição de Integridade com simbologia específica para modelagem de Regras de Restrição de Integridade:

  1. Identificação
  2. Cardinalidade
  3. Repetição
  4. Cobertura

Existem Regras de Restrição de Integridade mais complexas que devem ser representadas no Dicionário de Dados. Nesses casos deve-se identificar no DER que conceito está sendo restringido através de uma notação RI-XXX.

image

image

image

image

Cobertura

image



Cobertura é um tipo de restrição de integridade que representa (modela) regras de negócio que estabelecem se uma determinada entidade-tipo ou relacionamento tipo (genéricos), são cobertos ou abrangidos (T)otalmente ou (P)arcialmente pelas suas respectivas especializações e também se entre as especializações existem (S)obreposição (interseção) ou (E)xclusividade.


image


Visa permitir a representação de Regras de Negócio que expressam “ condições de abrangência” envolvendo especializações e as generalizações respectivas. Se as especializações cobrem ou abrangem completamente ou não as generalizações. Se as especializações apresentam ou não interseções entre si.

Ela é modelada num Diagrama de Entidades e Relacionamentos através de um par de valores (V1,V2) onde:

A cobertura é representada por um par de valores (V1,V2), onde:
V1 - Assume os valores T ou P, onde:
–T - significa Total (não existe elemento de E que só pertença a E)
–P - significa Parcial (existe elemento de E que só pertença a E)
V2 - Assume os valores E ou S, onde:
–E - significa Exclusiva (não existe elemento que pertença a E1 e a E2)
–S - significa Sobreposição (existe pelo menos um elemento que pertence a E1 e a E2)


image


image


image


image


Exemplo:
–Numa Universidade existem outros tipos de pessoas além de empregados ou alunos.
–Um empregado pode ser aluno e vice-versa.
–Um aluno só pode ser de graduação ou de pós-graduação.

Identificação

image

Identificação é um tipo de restrição de integridade que representa (modela) regras de negócio que visam garantir que não possam exitir duas ou mais entidades ou dois ou mais relacionamentos com os mesmos valores de identificadores.

Em outras palavras, a identificação é utilizada para se distinguir de forma unívoca entidades ou relacionamentos. Ou de outra forma, visam especificar que duas ou mais entidades ou relacionamentos não podem possuir os mesmos valores para suas características identificadoras.

Visam individualizar fenômenos (elementos ou interações) da realidade.

Expressam Regras de Negócio do tipo:

“Não podem existir dois ou mais .... com o mesmo .....”

Ex: Não podem existir duas ou mais pessoas com o mesmo CPF.

Ex: Não podem existir dois ou mais veículos com a mesma placa.

Ex: Um veículo não pode cometer a mesma infração na mesma data, hora, minuto, segundo e local.

image


Todas as entidades-tipo devem ter um único identificador.

Um identificador é composto de um ou mais atributos.

Exemplos:

–As pessoas são identificadas pelo:
•Nome
•Data de Nascimento
•Filiação
–As pessoas físicas são identificadas pela Receita Federal pelo:
•CPF
–As pessoa jurídicas são identificadas pela Receita Federal pelo:
•CGC
–Os alunos em uma universidade são identificados pelo:
•Número de Matrícula.

Os atributos identificadores devem ser escolhidos entre os atributos da Entidade Tipo. Caso não se consiga, deve-se voltar ao Usuário e questioná-lo sobre a existência de alguma maneira de se identificar as Entidades que pertencem a um determinada Entidade Tipo. Caso o usuário não possua essa forma de identificação pode-se então criar alguma maneira para efetuá-la.

Realcionamentos-tipo devem ter atributos identificadores quando apresentarem repetição em seus relacionamentos. O que identifica um relacionamento-tipo são os identificadores das entidades-tipo que participam dele. Se o relacionamento-tipo apresentar repetição, seus atributos identificadores irão auxiliar na identificação dos seus relacionamentos, juntamente com os identificadores da respectivas entidades-tipo.

image

Repetição

image

Repetição é um tipo de restrição de integridade que representa (modela) regras de negócio que quantificam a quantidade máxima de relacionamentos repetidos que uma entidade (A) pode manter com uma outra entidade (B) através de um determinado relacionamento-tipo. A repetição expressa essa quantidade.

image


Visam restringir a quantidade máxima de repetições de relacionamentos pertencentes a um relacionamento tipo.

Expressam Regras de Negócio do tipo: “Uma entidade A não pode se relacionar por R com outra entidade B mais do que n vezes”


image



Quando um relacionamento-tipo apresenta repetição ele precisa de pelo menos um atributo próprio para auxiliar na identificação unívoca das repetições.

Ver => Restrição de Integridade de Identificação.

Cardinalidade

image


Cardinalidade é um tipo de restrição de integridade que representa (modela) regras de negócio que quantificam a quantidade mínima e quantidade máxima de relacionamentos entre uma determinada entidade e outras entidades distintas, através de um determinado relacionamento-tipo. A cardinalidade expressa essas quantidades.

image


Cardinalidade visa restringir a quantidade mínima e a quantidade máxima de relacionamentos que uma entidade A mantém com outras entidades B, C, ... (distintas) através de um Relacionamento-Tipo (R).

Ela é modelada num Diagrama de Entidades e Relacionamentos através de um par de valores (V1,V2) onde:

V1 = Cardinalidade Mínima; e
V2 = Cardinalidade Máxima.

A Cardinalidade Mínima estabelece a menor quantidade de relacionamentos que deve existir entre uma entidade qualquer e outras entidades distintas através de um relacionamento-tipo.


A Cardinalidade Máxima estabelece a maior quantidade de relacionamentos que deve existir entre uma entidade qualquer e outras entidades distintas através de um relacionamento-tipo.

V1 >= 0 e V2 >= 1


image




image



image


Exemplo: Cada aluno deve ser matriculado em no mínimo uma matéria podendo estar matriculado em no máximo três matérias.

image



image

A cardinalidade pode ser aplicada também a atributos.

Para os atributos quando:
V1 = 0 => o atributo é dito opcional;
V1 = 1 => o atributo é dito mandatório ou obrigatório;
V2 = 1 => o atributo é dito mono-valorado; e
V2 = n (onde n > 1) => o atributo é dito multivalorado.



image

sábado, 23 de agosto de 2008

Regra de Negócio

Os sistemas de informação abrangem, com freqüência, um grande volume de conhecimento organizacional formalizado.

Tal conhecimento é especificado como regras de negócio, definidas por Bell como sendo “declarações que apresentam a maneira de como o negócio está sendo feito, além das diretrizes e restrições com respeito a estados e processos em uma organização”.

Surge com isso a necessidade de se modelar regras de negócio, enfatizando a sua importância em um esquema conceitual, que, segundo Loucopoulos, representa todas as regras que governam o universo de discussão, devendo estar definidas dentro de um esquema conceitual.

A partir desta necessidade, tais regras de negócio têm sido amplamente utilizadas pelas organizações como forma de melhorar a qualidade de seus sistemas.

"Regras de Negócio são todas as regras existentes num sistema de informação, que ditam seu comportamento, suas restrições e validações".

"Regras de negócio definem como o negócio funciona, podem abranger diversos assuntos como políticas, interesses, objetivos, compromissos éticos e sociais, obrigações contratuais, decisões estratégicas,leis e regulamentações entre outros".

"Business rules or business rulesets describe the operations, definitions and constraints that apply to an organization in achieving its goals. For example a business rule might state that no credit check is to be performed on return customers. Others could define a tenant in terms of solvency or list preferred suppliers and supply schedules. These rules are then used to help the organization to better achieve goals, communicate among principals and agents, communicate between the organization and interested third parties, demonstrate fulfillment of legal obligations, operate more efficiently, automate operations, perform analysis on current practices, etc."




Regras de Negócio permitem a especificação de políticas, condições ou procedimentos, dentro de um Domínio de Problema, a serem seguidos pelos Processos Organizacionais, para que uma Organização alcance seus objetivos.

Regras de Negócio propiciam o controle (restrição – presente), o planejamento (previsão – futuro) e a explicação (passado).

A separação das regras de negócio nos sistemas de informação apresenta uma série de vantagens amplamente aceitas na comunidade de sistemas de informação [R97, R98, D00].

Segundo [G97] uma regra de negócio pode ser definida segundo duas perspectivas: a perspectiva do negócio e a perspectiva dos sistemas de informação (SI). Segundo a perspectiva do negócio, uma regra de negócio é uma diretiva destinada a influenciar ou guiar o comportamento do negócio, como suporte à política de negócio que é formulada em resposta a uma oportunidade. Segundo a perspectiva dos sistemas de informação, uma regra de negócio é uma sentença que define ou restringe algum aspecto do negócio. Pretende-se garantir a estrutura do negócio ou controlar a influência do comportamento do mesmo.

Ainda, segundo [D00], as regras de negócio são a solução para o problema da necessidade de se escrever código de forma procedural, podendo-se especificar sistemas apenas de forma declarativa. As regras de negócio, segundo ele, nos permitem automatizar o processamento de negócios.

Como dito em [G97] os métodos tradicionais de análise de sistemas por muito tempo tenderam a negligenciar regras de negócio inerentes aos empreendimentos, preocupavam-se principalmente em modelar a estruturação dos dados utilizados e os processos executados pelos empreendimentos.

Os métodos mais modernos de modelagem de sistemas, principalmente os que dão enfoque a orientação a objetos, já tentam lidar e resolver tais problemas. Isto pode ser visto na proposta de extensão a UML[BRJ97] chamada OCL (Object Constraint Language) em [OCL97] para dar suporte a restrições. Date em [D00] vai mais além dizendo que poderíamos até eliminar o processo de codificação de software simplesmente utilizando uma modelagem de sistemas baseado em regras de negócio com sua frase de impacto “declarative is better the procedural” que significa que é melhor que se defina sistemas apenas de forma declarativa e não procedural como é feito hoje em dia.

Uma forma de se conseguir, ao menos em parte, este objetivo, é a formalização das regras de
negócio em uma base de conhecimento. Uma dificuldade na administração das regras de negócios está no fato de que as bases de conhecimento não devem conter incongruências lógicas. Formalizar as regras de negócio utilizando-se uma linguagem declarativa permite que as mesmas sejam convertidas para uma representação em lógica de primeira ordem, o que irá facilmente permitir que tais incongruências sejam identificadas. Mais do que isso, ao se modificar uma regra, ou acrescentar uma nova, a consistência da base poderá ser testada para a verificação de incongruências, de modo listar as regras conflitantes auxiliando a equipe no trabalho de resolver tais problemas. Além disso, a formalização de parte do conhecimento obtido durante a fase de análise é um grande passo na direção de se gerar código automaticamente.

image



Bibliografia

  1. [D00] Date, C. What not How, The Business Rules Approach to Application
    Development, Addison-Wesley, Reading Massachussets, 2000.
  2. [R97] Ross, R. The Business Rules Book: Classifying, Defining, and Modeling Rules
    2nd edition, Business Rule Solutions Inc., Houston Texas, 1997.
  3. [R98] Ross, R. Business Rules Concepts, The New Mechanics of Business
    Information Systems, Business Rule Solutions Inc., Houston Texas, 1998.
  4. [G97] GUIDE Business Rules Project: Final Report, revision 1.2, October 1997.
  5. [BRJ97] Booch, G.; Rumbaugh, J.; Jacobson, I,; “The Unified Modeling Language for
    Object-Oriented Development”, Documentation Set Version, janeiro, 1997.
  6. [OCL97] Object Management Group, “Object Constraint Language Specification”, 1
    September 1997.