diagrama de fluxo de dados (dfd)
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 PresentationTRANSCRIPT
![Page 1: Diagrama de fluxo de dados (DFD)](https://reader036.vdocuments.site/reader036/viewer/2022081419/56813115550346895d9768e5/html5/thumbnails/1.jpg)
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)](https://reader036.vdocuments.site/reader036/viewer/2022081419/56813115550346895d9768e5/html5/thumbnails/2.jpg)
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)](https://reader036.vdocuments.site/reader036/viewer/2022081419/56813115550346895d9768e5/html5/thumbnails/3.jpg)
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)](https://reader036.vdocuments.site/reader036/viewer/2022081419/56813115550346895d9768e5/html5/thumbnails/4.jpg)
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)](https://reader036.vdocuments.site/reader036/viewer/2022081419/56813115550346895d9768e5/html5/thumbnails/5.jpg)
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)](https://reader036.vdocuments.site/reader036/viewer/2022081419/56813115550346895d9768e5/html5/thumbnails/6.jpg)
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)](https://reader036.vdocuments.site/reader036/viewer/2022081419/56813115550346895d9768e5/html5/thumbnails/7.jpg)
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)](https://reader036.vdocuments.site/reader036/viewer/2022081419/56813115550346895d9768e5/html5/thumbnails/8.jpg)
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)](https://reader036.vdocuments.site/reader036/viewer/2022081419/56813115550346895d9768e5/html5/thumbnails/9.jpg)
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)](https://reader036.vdocuments.site/reader036/viewer/2022081419/56813115550346895d9768e5/html5/thumbnails/10.jpg)
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)](https://reader036.vdocuments.site/reader036/viewer/2022081419/56813115550346895d9768e5/html5/thumbnails/11.jpg)
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)](https://reader036.vdocuments.site/reader036/viewer/2022081419/56813115550346895d9768e5/html5/thumbnails/12.jpg)
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)](https://reader036.vdocuments.site/reader036/viewer/2022081419/56813115550346895d9768e5/html5/thumbnails/13.jpg)
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)](https://reader036.vdocuments.site/reader036/viewer/2022081419/56813115550346895d9768e5/html5/thumbnails/14.jpg)
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)](https://reader036.vdocuments.site/reader036/viewer/2022081419/56813115550346895d9768e5/html5/thumbnails/15.jpg)
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)](https://reader036.vdocuments.site/reader036/viewer/2022081419/56813115550346895d9768e5/html5/thumbnails/16.jpg)
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)](https://reader036.vdocuments.site/reader036/viewer/2022081419/56813115550346895d9768e5/html5/thumbnails/17.jpg)
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)](https://reader036.vdocuments.site/reader036/viewer/2022081419/56813115550346895d9768e5/html5/thumbnails/18.jpg)
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)](https://reader036.vdocuments.site/reader036/viewer/2022081419/56813115550346895d9768e5/html5/thumbnails/19.jpg)
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)](https://reader036.vdocuments.site/reader036/viewer/2022081419/56813115550346895d9768e5/html5/thumbnails/20.jpg)
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)](https://reader036.vdocuments.site/reader036/viewer/2022081419/56813115550346895d9768e5/html5/thumbnails/21.jpg)
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)](https://reader036.vdocuments.site/reader036/viewer/2022081419/56813115550346895d9768e5/html5/thumbnails/22.jpg)
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)](https://reader036.vdocuments.site/reader036/viewer/2022081419/56813115550346895d9768e5/html5/thumbnails/23.jpg)
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)](https://reader036.vdocuments.site/reader036/viewer/2022081419/56813115550346895d9768e5/html5/thumbnails/24.jpg)
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)](https://reader036.vdocuments.site/reader036/viewer/2022081419/56813115550346895d9768e5/html5/thumbnails/25.jpg)
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