diagrama de fluxo de dados (dfd)

25
Diagrama de fluxo de dados (DFD) É um modelo que permite representar o sistema como uma rede de processos, salientando as funções que precisam ser implementadas e os fluxos dos dados manipulados por estas funções. Definição:

Upload: vielka-salas

Post on 01-Jan-2016

50 views

Category:

Documents


0 download

DESCRIPTION

Diagrama de fluxo de dados (DFD). Definição:. É um modelo que permite representar o sistema como uma rede de processos, salientando as funções que precisam ser implementadas e os fluxos dos dados manipulados por estas funções. Diagrama de fluxo de dados (DFD). Representação Gráfica: Processos - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Diagrama de fluxo de dados (DFD)

Diagrama de fluxo de dados (DFD)

É um modelo que permite representar o sistema como uma rede de processos, salientando as funções que precisam ser implementadas e os fluxos dos dados manipulados por estas funções.

Definição:

Page 2: Diagrama de fluxo de dados (DFD)

Diagrama de fluxo de dados (DFD)

Representação Gráfica:

• Processos

• Fluxos de dados

• Depósitos de dados

• Entidades externas

Page 3: Diagrama de fluxo de dados (DFD)

DFD• O DFD é composto por processos, depósitos de dados,

fluxos de dados e entidades externas.

Clientes

1.Receberpedido

3.Recolher

pagamentos

entidade externa ou terminador processo

depósito de dados

fluxos de dados

Armazém

Clientes

pedido

Pedido inválido

factura

Detalhes da fatura,nome do cliente

pedidos

Detalhes de pedido

2.Entregar livros

Dados-livros

Guia de remessa

clientes

Detalhes de cliente

pagamentos

fatura

4.Registarcliente

Page 4: Diagrama de fluxo de dados (DFD)

Regras para construir DFD’s

• Escolher nomes significativos para os processo, fluxos, entidades e depósitos• Numerar os processos• Redesenhar os DFD’s tantas vezes quantas forem necessárias• Evitar DFD’s complexos• Certificar-se de que o DFD é internamente consistente

– Evitar processos que tenham entradas e nenhuma saída (e vice-versa)

Page 5: Diagrama de fluxo de dados (DFD)

DFD: Processo

• Função, transformação• Transforma entradas em saídas• Nome: numeração + verbo + objeto• Exemplos:

1. Calcular

Juros

1.Calcular

Juros

Page 6: Diagrama de fluxo de dados (DFD)

DFD: Fluxo (1)

• Usado para descrever movimento de informação de um componente do sistema para outro

• Exemplos:

2. Calcular

média

Valor X

Valor Y

Valor Z

média 3.ValidarNúmero

Nºtelefone

Nº inválido

Nº válido

Page 7: Diagrama de fluxo de dados (DFD)

DFD: Fluxo (2)

• Fluxo de diálogo

• Fluxo divergente

Gerir Informação

Preencherformulário

formulárioformulário preenchido

Validarpedidos

Gerarfatura

Gerar relatórios

Detalhes de pedido

Page 8: Diagrama de fluxo de dados (DFD)

DFD:Depósito de Dados

• Arquivos, bases de dados

• CD’s, microfichas, microfilme

• Um fluxo para um depósito: atualizar, gravar, remover

Gerarrelatórios

Registarcliente

clientesdetalhes

Page 9: Diagrama de fluxo de dados (DFD)

DFD: Entidades Externas

• Estão fora do sistema• O analista não está em posição de mudar o conteúdo das

entidades• Os fluxos conectando a entidade aos processos

representam a interface entre o sistema e o ambiente

Page 10: Diagrama de fluxo de dados (DFD)

Construção de DFD Preliminar

1. Um processo (ou +) um evento da lista de eventos.

2. O nome do processo deve estar de acordo com a resposta que o sistema deve dar ao evento.

3. Definir fluxos de dados de entrada e saída. O processo deve ser capaz de produzir a resposta correta.

4. Usar os depósitos de dados necessários para guardar a informação que será depois usada por outros processos.

5. Verificar a coerência entre este DFD e o diagrama de contexto.

Page 11: Diagrama de fluxo de dados (DFD)

Observações:

1. Um evento pode causar várias respostas

Definir um processo por resposta (se forem independentes)

pedidode cliente

Produzirfatura

fatura

Emitirconfirmação

pedido

pedido confirmado

Exemplo:

Construção de DFD Preliminar

Page 12: Diagrama de fluxo de dados (DFD)

2. Vários eventos podem causar a mesma resposta..

Definir um só processo

Exemplo:

Produzirguia de

remessa

Pagamento p/ cartãode crédito

Pagamento p/dinheiro

guia de remessa

Construção de DFD Preliminar

Page 13: Diagrama de fluxo de dados (DFD)

3. Agrupamento de processos: • Formar níveis de maior abstração.• cada agrupamento de processos deve envolver respostas

(processos) relacionadas. Isto significa que tais processos se relacionam por função ou pelos mesmos dados

• Regra de Miller: 7 ± 2 processos.

Construção de DFD Preliminar

Page 14: Diagrama de fluxo de dados (DFD)

Dicionário de dados

• Descreve o significado dos fluxos de dados e dos depósitos de dados

• Descreve a composição de dados agregados.– Ex.: endereço

• Especificar os valores e unidades relevantes • Descrever os relacionamentos entre depósitos de dados

(diagramas E/R)

Page 15: Diagrama de fluxo de dados (DFD)

Notação

• = é composto por• + e• () opcional• {} iteração• [] selecionar uma das várias alternativas• ** comentário• @ chave de um depósito• | separa alternativas quando se usa []

Page 16: Diagrama de fluxo de dados (DFD)

Dicionário de dados - Exemplos:

• Nome = título + primeiro-nome + apelido• título = [Sr. | Sra.| Prof.| Dr.| Eng.]• primeiro-nome = 1{caracter-válido}• apelido = 1{caracter-válido}• caracter-válido = [A-Z | a-z | ‘ | - | ]• endereço = * ainda não definido*

Page 17: Diagrama de fluxo de dados (DFD)

Dicionário de dados (cont.)

• Dados elementares mais nenhuma decomposição necessária– Ex.: peso, altura

• Dados opcionais– endereço-cliente = (endereço-de-entrega) + (endereço-de-

cobrança)

– endereço-cliente = [endereço-de-entrega | endereço-de-cobrança | endereço-de-entrega + endereço-de-cobrança]

– endereço-cliente = endereço-de-entrega + (endereço-de-cobrança)

Page 18: Diagrama de fluxo de dados (DFD)

Dicionário de dados (cont.)

• Iteração– pedido = nome-cliente + endereço-de-entrega + {item}

– pedido = nome-cliente + endereço-de-entrega + 1{item}10

– a = 1{b}

– a = {b}10

– a = 1{b}10

– a = {b}

• Selecção– sexo = [m | f ]

– tipo-do-cliente = [governo | indústria | universidade | outro]

Page 19: Diagrama de fluxo de dados (DFD)

Dicionário de dados (cont.)

• Sinónimos– freguês = * sinónimo de cliente*

– Evitar seu uso

• Avaliação do DD– todos os dados do DFD estão definidos?

– Todos os elementos do elemento composto foram definidos?

– Há elementos repetidos?

– Há elementos que não existem do DFD?

Page 20: Diagrama de fluxo de dados (DFD)

DFD - Nivelação

• Serve para controlar a complexidade do sistema• Serve p/ organizar o DFD completo em níveis onde cada

nível dá mais detalhe do nível superior• O DFD de nível mais alto é o diagrama de contexto

System1

3

2

3.1

3.3

3.2

3.4

Page 21: Diagrama de fluxo de dados (DFD)

FAQ sobre Nivelação

• Quantos processos por nível?– 7 2 (Regra de Miller)

• Quantos níveis?– Sistemas simples: 2 a 3 níveis

– Sistemas de médio porte : 3 a 6 níveis

– Sistemas de grande porte : 5 a 8 níveis

• Todas as partes do sistema devem ter o mesmo nível de detalhe?– Não: algumas partes do sistema podem ser mais

complexas que outras

Page 22: Diagrama de fluxo de dados (DFD)

FAQ sobre Nivelação (cont.)

• Como mostrar os diferentes níveis ao utilizador?– Depende do tipo de utilizador

• Executivos olham pro diagrama de contexto ou DFD de nível 0

• Operadores olham apenas pra parte do sistema que lhe diz respeito

• Como saber se os níveis de DFDs estão consistentes entre si?– Fluxos de dados de entrada e saída de um nível devem

corresponder aos fluxos de dados de entrada e saída do nível mais abaixo que descreve aquele processo

Page 23: Diagrama de fluxo de dados (DFD)

FAQ sobre Nivelação

• Como mostrar os depósitos de dados nos vários níveis?– Mostrar o depósito no nível mais alto onde ele serve

como interface entre processos

– Mostrar o depósito outra vez em todo o DFD de nível mais baixo que está envolvido na interface

1

2

Depósito 1

1.1 1.2Depósito 1

Depósito 1

2.22.1

Page 24: Diagrama de fluxo de dados (DFD)

FAQ sobre Nivelação

• Como se faz a nivelação de facto?– O desenvolvimento do DFD não é necessariamente top-

down

– Abordagem mista: top-down + bottom-up

– Utilizar a lista de eventos para criar a 1ª versão do DFD:• Pode ser utilizada para criar DFDs de nível mais alto

• Pode ser utilizada para criar DFDs de nível mais baixo

Page 25: Diagrama de fluxo de dados (DFD)

FAQ sobre Nivelação

– Cada grupo de processos envolve dados relacionados entre si

– Se um grupo de processos do DFD preliminar se refere a um depósito (e só este grupo) então pode-se criar um processo de nível mais alto que esconda este depósito

D 1D 3

D 2D 2