Você está na página 1de 33

1

Professor:
Geraldo Xexo

Contedo:

Tabela CRUD

Tabela CRUD
Associa as entidades (inicialmente do
modelo de conceitual de dados) com os
processos que as utilizam
Indica pelas letras CRUD se o
processo Cria, l (Read), altera (Update)
ou apaga (Delete) a entidade.

Processo A

CRUD R

Processo B

CRUD R

Processo C

RUD

Processo D

Processo E

Processo F

Dado 6

Dado 5

Dado 4

Dado 3

Dado 2

Processos

Dado 1

Dados

RU C

Exemplo Real

Eventos x Entidades
(Matriz CRUD)

No caso da modelagem essencial, esta


tabela se torna muito interessante, pois
permite relacionar facilmente os eventos
essenciais com as entidades do modelo ER.
Mais tarde, se necessrio na fase de projeto,
essa tabela pode ser reconstruda utilizando
os processos sendo implementados e as
tabelas do banco de dados.

Usos da Matriz CRUD


Verificao de consistncia
Organizao lgica do sistema em
sub-sistemas
Segurana (acesso a base)
Processo A

CRUD R

Processo B

CRUD R

Processo C

RUD

Processo D

Processo E

Processo F

Dado 6

Dado 5

Dado 4

Dado 3

Dado 2

Processos

Dado 1

Dados

RU C

Verificando a consistncia
Um dos principais usos da Matriz
CRUD verificar a consistncia do
modelo.

Obrigatoriedade de Criao
obrigatrio que cada entidade seja
criada por algum evento.
Toda coluna deve possuir ao menos
um C.
Exceo: entidades mantidas por
outros sistemas e s lidas no sistema
analisado

Obrigatoriedade de Leitura
obrigatrio que cada entidade seja lida por
algum evento.
Toda coluna deve possuir ao menos um R
Exceo: entidades geradas no sistema
avaliado e lida em outro
Exceo: dados que s sero usados no
futuro (sendo guardados para manter a
histria ou auditoria)

Entidades sem C ou R
Difcil de justificar em um sistema

1
0

11

Possibilidade de Eliminao
interessante (e comum), mas no
obrigatrio, que as entidades tambm
possam ser alteradas e apagadas.
Assim, para cada coluna onde no h
nenhum D analisar se ser necessrio,
em algum momento, apagar o dado

Possibilidade de Atualizao

1
2

Uma entidade sem U indica que


nenhum valor de seus atributos pode ser
alterado pelo sistema
necessrio questionar

Matriz Exemplo
UD?

1
3

Manipulando a Matriz CRUD

1
4

Manipula-se a Matriz CRUD para se


obter subsistemas.
Um subsistema identificado pela
formao de um cluster, isto , um grupo
de clulas prximas com as mesmas
caractersticas, que no nosso caso
estarem sendo usadas.

Marcando Subsistemas

1
5

Como manipular

1
6

A manipulao feita alterando-se as


posies das linhas e das colunas.
Com isso possvel agrupar atividades e
entidades que se relacionam mais fortemente em
grupos, permitindo a identificao de subsistemas.
Os subsistemas interagem normalmente por meio
da leitura, por um processo, de uma entidade
mantida em outro processo.

Objetivo

1
7

O objetivo obter uma matriz onde as


clulas prximas a diagonal sejam bem
preenchidas, formando os grupos que
caracterizam os subsistemas, enquanto
as outras clulas esto normalmente
vazias, apresentando eventualmente
operaes que indicam a interao entre
dois subsistemas.

Manipulando a Matriz CRUD

1
8

A seqncia a seguir tenta mostrar a


dinmica da manipulao da Matriz
CRUD com objetivo de encontrar
subsistemas.
Essas operaes so facilmente feitas em
uma planilha eletrnica.
As operaes de transposio de linha ou
coluna podem ser feitas em qualquer
ordem.

Linhas e Colunas?

1
9

A cada movimento, uma linha (ou coluna)


trocada de posio.
Cada movimento deve tentar aglutinar cada
vez mais os C/R/U e D de entidades e
processos, deixando a tabela dividida em
reas preenchidas e reas vazias.
Tentar construir uma diagonal preenchida

Exemplo: Manipulao

2
0

Exemplo: Como Manipular?

2
1

Passo 1

2
2

Passo 2

2
3

Passo 3

2
4

Final

2
5

Diviso em Sub-sistemas

2
6

Comunicao
entre os sistemas

Exemplo Real

2
7

Exemplo Real

2
8

Sobre o que so feitas

2
9

Processo x Informao
Usurio x Tabela
Casos de Uso x Classe
Usurio x Classe
Classe x Classe (incomum)
Na coluna, sempre aparece uma informao
Na linha, algo que pode operar a informao

Fcil?

3
0

No, razoavelmente difcil


Apesar de poder ser feito apenas com
um algoritmo de busca, bem melhor
conhecer a semntica do que est sendo
manipulado
Alguns casos ficam na fronteira e tm
que ser decididos pelo cliente ou analista

No nvel do Atributo
IRUN
Insert
Retrieve
Update
Nullify
Um atributo no pode ser eliminado, s a
classe, entidade ou tabela

3
1

3
2

Possibilidades de Documentao
Caso de Uso x Classe = CRUD
Classe x Tabela = CRUD
Mtodo x Atributo = IRUN
Classe x Tabela.Coluna = IRUN

Professor:

Contedo:

FIM: Tabela CRUD

3
3