aula06 – dicionário de dados

Propaganda
Prof. Thales Castro
Processo
Entidade
externa
Fluxo de dados
Depósito de dados
Pedido de Inscrição
Empresa
CNPJ (CGC)
Sistema de
Cadastramento
de Empresas
Relação de
Empresas
Restrições
Ministério da
Fazenda
3
Dados da Empresa no Ministério
Dados para
CNPJ
CNPJ (CGC)
P3
Emitir CNPJ
Dados de
Empresas
Pedido de Inscrição
Empresa
Cadastro de
Empresas
Empresas
Dados da Nova
Empresa
Resposta de Pedido
P1
Verificar pedido
de inscrição
Pedido Aceito
Ministério da
Fazenda
Relação de
Empresas
P5
Atualizar
Tabela de
Restrições
Restrições em
Vigor
P4
Selecionar
Empresas
Novas
Restrições
Tabela de
Restrições
P2
Cadastrar
Empresas
Restrições
Cadastro de
Empresas
ESPECIFICAÇÃO DE
PROCESSOS
Dados de Empresa
Pedido completo
P1.2
Verificar
Existência de
Razão social
Pedido Inválido
Pedido de Inscrição
Empresa
P1.1
P1.1
Verificar
Verificar
preenchimento
preenchimento
Pedido
Recusado
P1.4
Gerar Ordem
de Devolução
Pedido Válido
Pedido Aceito
Pedido
Indevido
Pedido
incompleto
Pedidos
Rejeitados
P2
Cadastrar
Empresas
Pedidos
Recusados
P1.3
Verificar
Restrições
em vigor
Restrições em
vigor
Tabela de
Restrições

É necessário descrever a composição de dados
de alguma forma
◦ Forma narrativa longa e sujeita a erros
◦ Necessário utilização de uma notação compacta e concisa

Definição
◦ "O DICIONÁRIO DE DADOS é uma listagem organizada de
dados pertinentes ao sistema,com definições precisas e
rigorosas para que o usuário e o analista de sistemas
possam conhecer as entradas, saúdas,componentes de
depósitos e cálculos intermediários"
(YOURDON, Edward)
6

Definição dos elementos da seguinte maneira:
◦ Significado: significado dos fluxos e depósitos mostrados
nos DFD's
◦ Composição de pacotes agregados: pacotes que se
movimentam pelos fluxos. Ex.: ENDEREÇO, dividido em
Cidade, Estado, etc.
◦ Valores e Unidades relevantes de partes elementares de
informações de fluxos e depósitos
◦ Detalhes de relacionamento entre os depósitos (DER)
7

O dicionário de dados é realizado sempre:
◦ Nos fluxos de dados; e
◦ Nos depósitos de dados
8
Cadastro de
Empresas
Item(s) de dados
Dados de Empresa
Pedido completo
P1.2
Verificar
Existência de
Razão social
Pedido Inválido
Pedido de Inscrição
Empresa
P1.1
Verificar
preenchimento
Pedido
Recusado
P1.4
Gerar Ordem
de Devolução
Pedido Válido
Pedido Aceito
Pedido
Indevido
Pedido
incompleto
Pedidos
Rejeitados
P2
Cadastrar
Empresas
Pedidos
Recusados
Coleção de itens de
dados individuais
P1.3
Verificar
Restrições
em vigor
Restrições em
vigor
Tabela de
Restrições

Notação:
EXISTEM OUTRAS ALTERNATIVAS, MAS
ESTA É A MAIS COMUM!!!
Símbolo
Definição
=
É composto de
*
Delimitador de comentário
+
E (concatenação)
()
Opcional
{}
Iteração
[]
Escolha de uma alternativa
|
Separa opções alternativas na construção [ ]
@
Identificador (chave) de um depósito
10

Exemplo: elemento de dado para um NOME
nome = primeiro_nome + nome-do-meio + ultimo_nome
Elemento de dado
Composição(ões) do elemento. Podem ser
enumerações ou outros elementos de dados
11

Notação:
Símbolo
Definição
=
É composto de
*
Delimitador de comentário
+
E (concatenação)
()
Opcional
{}
Iteração
[]
Escolha de uma alternativa
|
Separa opções alternativas na construção [ ]
@
Identificador (chave) de um depósito
12

Um elemento de dados SEMPRE tem que ser
detalhado

Isto é feito pelo conceito, no DD, de DEFINIÇÃO
◦ Primeira parte é o elemento de dado, seguido pelo
símbolo "=";
◦ Segunda parte é o significado do elemento de dados no
contexto da aplicação, usando a notação "**"
◦ Terceira parte é a composição do elemento de dados, se
composto por dados elementares significativos
◦ E os valores que o elemento poderá assumir
13

Exemplo de definição:
peso = *peso do paciente ao chegar ao hospital*
elemento
* unidade: quilogramas; intervalo: 1-200*
de dado
altura = *altura do paciente ao chegar ao hospital*
* unidade: centímetros; intervalo: 20-250*
significado
composição
valores
14

DADOS ELEMENTARES
◦ Como o próprio nome diz, são aqueles indispensáveis no
contexto da aplicação
◦ Ex.: peso da pessoa é um dado dispensável no contexto
de uma aplicação de fábrica de automóveis, mas
indispensável, por exemplo, em um âmbito hospitalar

Quando identificados, devem ser sempre
introduzidos no dicionário de dados

Deve ter seu significado descrito
◦ Exceções: termos auto-explicativos. Ex.: sexo, data_nasc.
15

Exemplos de DADOS ELEMENTARES
data_nasc = **
* unidade: dias desde 1, jan, 1900; intervalo:
0-36500*
altura_atual = **
* unidade: centímetros; intervalo: 20-250*
sexo = *valores: M|F*
16

O que está presente em qualquer sistema é uma
iteração entre os dados, ou seja, elementos de
dados dados são associados a outros elementos
de dados

Relacionamentos
◦ Elementos de dados interligados a outros elementos de
dados
◦ Ex.: um carro sempre tem motor e carroceria

Notação
◦ definicao-do-item = item-relacionado1 + item-relacionado2
+ ... item-relacionadoN]
17

EXEMPLO
pedido = nome-do-cliente + endereco_remessa
nome-do-cliente = primeiro-nome + nome-do-meio +
ultimo-nome
item = nome_do_item + valor
18

Notação:
Símbolo
Definição
=
É composto de
*
Delimitador de comentário
+
E (concatenação)
()
Opcional
{}
Iteração
[]
Escolha de uma alternativa
|
Separa opções alternativas na construção [ ]
@
Identificador (chave) de um depósito
19

DADOS OPCIONAIS
◦ Como o próprio nome diz, são aqueles que podem ou não
estar presentes em um elemento de dados
◦ Ex.:
 nome do meio pode ou não estar incluido no nome da pessoa
 endereço pode ou não ter ponto de referência
 pedido pode ter endereço de cobrança e endereço de remessa

Essas situações devem cuidadosamente ser
verificadas com o usuário e documentadas no
dicionário de dados
20

EXEMPLO
pedido = nome-do-cliente + endereco_cliente
nome-do-cliente = primeiro-nome + (nome-do-meio)
+
ultimo-nome
item = nome_do_item + valor
Item opcional. Pode
ou não estar contido
no elemento de dado
21

CUIDADOS
endereco_cliente = (endereco_cobranca) +
(endereco_remessa)

Este dado pode ser constituído por
◦
◦
◦
◦
apenas endereço de remessa
apenas endereço de cobrança
endereço de remessa + endereço de cobrança
Nem endereço de remessa nem endereço de cobrança
endereco_cliente = [(endereco_cobranca) + (endereco_remessa)
| (endereco_cobranca) | (endereco_remessa)]
22

Notação:
Símbolo
Definição
=
É composto de
*
Delimitador de comentário
+
E (concatenação)
()
Opcional
{}
Iteração
[]
Escolha de uma alternativa
|
Separa opções alternativas na construção [ ]
@
Identificador (chave) de um depósito
23

Por vezes, é necessário que um determinado item
de dado tenha mais de uma ocorrência
(relacionamento)

ITERAÇÃO
◦ Usada para indicar a ocorrência repetida de um
componente de um elemento de dados
◦ Lida como "zero ou mais ocorrências de"
24

EXEMPLO
pedido = nome-do-cliente + endereco_remessa +
{item}
item = nome_do_item + valor

Este pedido, segundo essa notação, é constituído
por:
◦ nome do cliente
◦ endereço de remessa
◦ zero ou mais itens
 cada item contém o nome e o valor
25

No exemplo anterior, não faz sentido, por
exemplo, um pedido com 0 itens

Em muitas vezes, no mundo real, o usuário deseja
especificar:
◦ quantidade mínima de ocorrências
◦ quantidade máxima de ocorrências

A indicação dos limites se dá da seguinte forma:
◦ definicao-do-item = (quantidade minima) item de
relacionamento (quantidade maxima)
26

EXEMPLOS
pedido = nome-do-cliente + endereco_remessa + 1{item} 10
pedido = nome-do-cliente + endereco_remessa + {item} 10
pedido = nome-do-cliente + endereco_remessa + 1{item}



No primeiro exemplo, mínimo de 1 e máximo de 10 itens
No segundo exemplo, mínimo de 0 e máximo de 10 itens
No terceiro exemplo, mínimo de 1 itens
27

Notação:
Símbolo
Definição
=
É composto de
*
Delimitador de comentário
+
E (concatenação)
()
Opcional
{}
Iteração
[]
Escolha de uma alternativa
|
Separa opções alternativas na construção [ ]
@
Identificador (chave) de um depósito
28


Também por vezes é necessário definir um conjunto de
valores para um atributo
SELEÇÃO
◦ Escolha de um elemento dos dados como alternativa
◦ Opções delimitadas por colchetes ( [ ] )
◦ Separadas por barra vertical ( | )

Notação

definicao-do-item = [ valor1 | valor 2 | ... | valor N ]
29

Exemplos de SELEÇÃO
sexo = [Masculino | Feminino]
tipo-de-pessoa = [Física | Jurídica]
30

Em algumas situações, é interessante definir
sinônimos (alias) para um elemento de dados

Incluido no dicionário de dados por questões de
completude:
◦ Grupo diversificado de usuários
◦ Departamentos diferentes
◦ Localizações geograficamente dispersas

Deve ter uma referência cruzada para o nome
principal
31

Exemplos de SELEÇÃO
sexo = [Masculino | Feminino]
tipo-de-pessoa = [Física | Jurídica]
32

Notação:
Símbolo
Definição
=
É composto de
*
Delimitador de comentário
+
E (concatenação)
()
Opcional
{}
Iteração
[]
Escolha de uma alternativa
|
Separa opções alternativas na construção [ ]
@
Identificador (chave) de um depósito
33

Sempre um elemento de dado tem uma
identificação

A essa identificação existe o conceito de chave

Indica que o elemento é único dentro daquela
conjunto ou depósito de dados

Notação

definicao-do-item = @nome-do-atributo
34

Exemplos de IDENTIFICAÇÃO
pedido = @identificacao_pedido + item-pedido
cliente = @identificacao_cliente + nome
35

Exemplo: DEFINIÇÃO COMPLETA DE UM ELEMENTO
DE DADO
pessoa = *nome completo do elemento pessoa*
@identificacao_pessoa + titulo_cortesia +
primeiro_nome + (nome intermediario) + ultimo_nome
identificacao_pessoa = {0..9}
titulo_cortesia = [Sr. | Sra. | Srs. . | Sras. | Srta. | Dr.]
primeiro_nome = {caracter-valido}
nome-intermediario = {caracter-valido}
ultimo_nome = {caracter-valido}
caracter-valido = {A-Z | a-z | 0-9 | .}
36

ATIVIDADE
◦ Dentro do nosso estudo de caso, temos a identificação de
alguns elementos de dados.
◦ Identifique os elementos de dados
37
Cadastro de
Empresas
Dados de Empresa
Pedido completo
P1.2
Verificar
Existência de
Razão social
Pedido Inválido
Pedido de Inscrição
Empresa
P1.1
Verificar
preenchimento
Pedido
Recusado
P1.4
Gerar Ordem
de Devolução
Pedido Válido
Pedido Aceito
Pedido
Indevido
Pedido
incompleto
Pedidos
Rejeitados
P2
Cadastrar
Empresas
Pedidos
Recusados
P1.3
Verificar
Restrições
em vigor
Restrições em
vigor
Tabela de
Restrições

PEDIDO DE INSCRIÇÃO
◦ Deve conter os atributos
 Nome da Razão Social
 Endereço, incluindo logradouro, numero, cidade, estado e
ponto de referencia
 Socios, contendo CPF, nome, endereco e telefone de contato.
Deve existir pelo menos 1 sócio
 Telefone comercial
39

PEDIDO DE INSCRIÇÃO
pedido_inscricao = razao_social + endereco +
{1}socios + telefone
razao_social = {caracter-valido}
endereco = logradouro + numero + cidade + estado
+ ponto_referencia
numero = {caracter-valido}
cidade = {caracter-valido}
estado = {caracter-valido}
ponto_referencia = {caracter-valido}
CONTINUA...
40

PEDIDO DE INSCRIÇÃO
socios = cpf + nome + endereco + telefone
cpf = {0-9 | . | / }
caracter-valido = {A-Z | a-z | 0-9 | .}
41

PEDIDOS RECUSADOS
◦ Deve conter, além da identificação:
 Razão pela recusa do pedido
 Data em que o pedido foi recusado
 Nome do Responsável pela recusa
42
Prof. Thales Castro
Download