REVISÃO
DFD
DIAGRAMA DE FLUXO DE DADOS
Tópicos• 1. Os componentes de um diagrama de fluxo de
dados• 2. Como desenhar um diagrama de fluxo de dados
simples• 3. Diretrizes para desenhar diagramas de fluxo de
dados• 4. Como desenhar diagrama de fluxo de dados
nivelados
• Principal técnica de modelagem funcional• Modelagem: Imaginar um sistema como uma rede
de processos funcionais, interligados por “dutos” e “tanques de armazenamentos” de dados
• Pode ser usado para descrever processos computadorizados e não computadorizados
• Também chamado de DFD, Diagrama de Bolhas, Modelo de Processo e Diagrama Funcional
DIAGRAMA DE FLUXO DE DADOS
• Deve representar:– Funções do Sistema (procedimentos/serviços)– Interações entre funções do sistema– Transformações que o sistema deve realizar– As fontes de informação– O destino dos resultados– Dados mantidos pelo sistema (dados em
repouso)
DIAGRAMA DE FLUXO DE DADOS
Um DFD é composto por:
• Processos
• Fluxos de Dados
• Depósitos de Dados e
• Entidades Externa
DIAGRAMA DE FLUXO DE DADOS
• Transformador de dados. Reside dentro das fronteiras do sistema.
• Também conhecido como bolha, função ou transformação
• Representam transformações de fluxo(s) de dados de entrada em fluxo(s) de dados de saída
DIAGRAMA DE FLUXO DE DADOSPROCESSOS
• Geralmente provoca mudanças de estrutura, conteúdo ou estado.
• Representação gráfica
DIAGRAMA DE FLUXO DE DADOSPROCESSOS
CalcularComissão
CalcularComissão
De Marco/Yourdon Gane & Sarson
• O nome do processo deve descrever o que ele faz.
• Geralmente é composto por uma frase constituída de um verbo ativo (Calcular, Receber, Criar) e um objeto simples (Comissão, Pedido, Figura)
• Evitar termos vagos: Manipular Dados, Fazer Serviço, etc)
DIAGRAMA DE FLUXO DE DADOSPROCESSOS
• Representam caminhos por onde passam os dados
• Os fluxos representam dados em movimento
• Normalmente representam bits, caracteres, etc, mas podem representar materiais físicos
• São representados através de setas que indicam o destino (ou direção) do dado
DIAGRAMA DE FLUXO DE DADOSFLUXO DE DADOS
• Fluxos com duas setas indicam um diálogo. Cada extremidade da seta deve ser rotulada
• O nome representa o significado do pacote de informações que se move pelo fluxo
• Os nomes devem constar no dicionário de dados
• Um mesmo fragmento de dados pode ter significados diferentes em pontos distintos de um DFD (CPF válido e CPF inválido)
DIAGRAMA DE FLUXO DE DADOSFLUXO DE DADOS
DIAGRAMA DE FLUXO DE DADOSFLUXO DE DADOS
PrepararBolo
Bolo
Mistura para bolos
Açúcar
Ovos
Leite
DIAGRAMA DE FLUXO DE DADOSFLUXO DE DADOS
• Os fluxos podem divergir ou convergir:– cópias são envidadas para diferentes partes do
sistema,
• ou que um pacote de dados está sendo dividido a vários pacotes mais simples
Validar Código Postal
Validar Número de Telefone
Validar Endereço
ENDEREÇO-DE-CLIENTE
CÓDIGO-POSTAL
NÚMERO-DE-TELEFONE
ENDEREÇO
DIAGRAMA DE FLUXO DE DADOSFLUXO DE DADOS
• Transportam dados entre os elementos do DFD– Processo Processo – Entidade Externa Processo– Depósito de Dados Processo
– NUNCA ENTRE ENTIDADE EXTERNA E DEPÓSITO DE DADOS
DIAGRAMA DE FLUXO DE DADOSFLUXO DE DADOS
• Tipos de Fluxos– Fluxo externo: entre Entidade Externa e
Processo– Fluxo interno: entre dois Processos– Fluxo de acesso à memória: entre Processo e
Depósito– Fluxo de erro ou rejeição: para fora de um
Processo
DIAGRAMA DE FLUXO DE DADOSFLUXO DE DADOS
• Nomenclatura– Cada fluxo deve ter um único nome– O nome deve identificar os dados transportados
pelo fluxo– Exemplos: Dados-Fatura, Recibo-Pagamento,
Dados-Cliente
DIAGRAMA DE FLUXO DE DADOSFLUXO DE DADOS
• O objetivo do fluxo de dados não é representar aspectos procedurais.
– O fluxo chega ao processo porque foi solicitado?– Quando um processo dever gerar um fluxo?– Quando um processo recebe dois fluxos qual a
dependência entre eles?
DIAGRAMA DE FLUXO DE DADOSFLUXO DE DADOS
DIAGRAMA DE FLUXO DE DADOSFLUXO DE DADOS
Q
A
B
C
X
Y
Z
QUAL É A ORDEM DE ENTRADA E SAÍDA?
Na especificação ser deve explicado a ordem
• Representam uma coleção de pacotes de dados em repouso
• Um depósito existe por causa de um requisito básico do usuário ou por um aspecto prático da implementação
• Nem sempre um depósito de dados é um arquivo ou SGBD. Pode representar microfilmes, pastas de arquivos em papel e diversas outras formas não computadorizadas
DIAGRAMA DE FLUXO DE DADOSDEPÓSITO DE DADOS
• Representação Gráfica
DIAGRAMA DE FLUXO DE DADOSDEPÓSITO DE DADOS
ClientesD1 Clientes
De Marco/YourdonGane & Sarson
• Nomenclatura– Normalmente o nome para identificar o depósito é o
plural do nome dos pacotes transportados pelos fluxos para dentro e para fora do depósito
– Deve ser significativo para o usuário
• Os fluxos interligados a um depósito só podem transportar pacotes de informações que o depósito pode aceitar
DIAGRAMA DE FLUXO DE DADOSDEPÓSITO DE DADOS
Observações
• Fluxo saindo (leitura)de um depósito pode significar:– Um pacote isolado de dados foi recuperado– Mais de um pacote foi recuperado– Apenas uma parte do pacote foi recuperada– Partes de mais de um pacote foram recuperadas
DIAGRAMA DE FLUXO DE DADOSDEPÓSITO DE DADOS
Observações (cont)• Fluxo entrando (atualização) num depósito
pode significar:– Um ou mais novos pacotes de dados estão sendo
introduzidos– Um ou mais pacotes de dados estão sendo
modificados ou alterados– Um ou mais pacotes de dados estão sendo
removidos do depósito
DIAGRAMA DE FLUXO DE DADOSDEPÓSITO DE DADOS
• Também chamados de Terminadores
• São as fontes/destinatários das informações que entram/saem do sistema
• Os procedimentos executados pelas entidades externas não são especificados no modelo por não fazerem parte do sistema
DIAGRAMA DE FLUXO DE DADOSENTIDADES EXTERNAS
• Normalmente é uma pessoa, um grupo de pessoas, uma organização externa, um setor dentro de uma empresa
• Pode representar outro sistema
• Representação gráfica
DIAGRAMA DE FLUXO DE DADOSENTIDADES EXTERNAS
Alunos
Nomenclatura• No plural quando se referir a um grupo de
pessoas (Clientes)• Deve conter o nome do setor ou organização
externa (Diretoria de Negócios)• Deve ser incluída a palavra sistema quando
se tratar de um sistema (Sistema de Contabilidade)
DIAGRAMA DE FLUXO DE DADOSENTIDADES EXTERNAS
DIAGRAMA DE FLUXO DE DADOSENTIDADES EXTERNAS
Três aspectos importantes sobre Terminadores:1. Eles são externos ao sistema que estamos
modelando, os fluxos que interligam os terminadores aos diversos processos de nosso sistema reapresentam a interface entre o sistema e o mundo externo
2. Nem o analista nem o projetista estão em posição de modificar o conteúdo de um terminador ou o modo como o terminador funciona
3. Qualquer relacionamento existente entre terminadores não será mostrado no DFD
DIAGRAMA DE FLUXO DE DADOSENTIDADES EXTERNAS
• Como identificá-las?
O analista de sistema recebe a seguinte informação do usuário:
a)Pretendo fornecer os itens X,Y e Z para o sistema e espero receber como resposta A,B,C
DIAGRAMA DE FLUXO DE DADOSENTIDADES EXTERNAS
• Como identificá-las?
b) O Departamento de Contabilidade fornece os formulários do tipo 321 e nós da Administração temos que remeter semanalmente os relatórios orçamentais para a Comissão de Finanças
• Escolher nomes significativos para os processos, fluxos, depósitos e terminadores
• Um processo pode representar uma função que está sendo executada ou pode indicar como a função está sendo executada, pela identificação da pessoas, grupo ou mecanismo envolvido
• No caso de pessoas é necessário rotular o papel que esta pessoa está desenvolvendo e em vez do nome ou da identidade
DIAGRAMA DE FLUXO DE DADOSDIRETRIZES PARA ELABORAÇÃO
DIAGRAMA DE FLUXO DE DADOSDIRETRIZES PARA ELABORAÇÃO
F R E Dpedidos
pedidosválidos
pedidosinválidos
validar pedidos
pedidos
pedidosválidos
pedidosinválidos
• Os nomes escolhidos para processos e também para os fluxos e terminadores devem provir de um vocabulário conhecido pelo usuário
• Porém algumas precauções devem ser tomadas:– Existe a natural tendência por parte dos
usuários utilizarem as abreviações e acrônimos que lhes sejam familiares
DIAGRAMA DE FLUXO DE DADOSDIRETRIZES PARA ELABORAÇÃO
Numerar os processos• Deve ser consistente no modo como atribui os números• A numeração NÃO representa seqüência de execução,
pois o DFD é uma rede de processos assíncronos que se comunicam
• Muitas vezes é mais fácil referenciar números do que nomes como “Editar Erros de Transações e de Relatórios”
• São importantes, pois são utilizados no esquema de numeração hierárquica
DIAGRAMA DE FLUXO DE DADOSDIRETRIZES PARA ELABORAÇÃO
Evitar DFD Complexos demais• DFDs devem ser lidos e compreendidos
facilmente pelos usuários e outros analistas
• Não crie um DFD com demasiados processos, fluxos, depósitos e terminadores
• Os diagramas devem caber em uma folha carta ou A4
DIAGRAMA DE FLUXO DE DADOSDIRETRIZES PARA ELABORAÇÃO
Refazer o DFD tantas vezes quantas forem necessárias
• Em um sistema real o DFD deve ser feito, refeito e novamente refeito por dez ou mais vezes até que esteja:– Tecnicamente correto
– Aceitável pelo usuário
– Tão bem desenhado que não fique constrangido em mostrá-lo à diretoria de sua empresa
DIAGRAMA DE FLUXO DE DADOSDIRETRIZES PARA ELABORAÇÃO
CRIAR DIAGRAMAS ESTETICAMENTE AGRADÁVEIS
• Você gostaria de viajar em um avião projetado por engenheiros que ficassem entediados com seus desenhos após a segunda iteração?
DIAGRAMA DE FLUXO DE DADOSDIRETRIZES PARA ELABORAÇÃO
CRIAR DIAGRAMAS ESTETICAMENTE AGRADÁVEIS
• Os DFDs devem ser esteticamente legíveis:– Tamanho e formas das bolhas– Fluxos de dados curvos versus fluxos de dados
retos– Diagramas desenhados à mão versus diagrama
gerados por máquina– Fluxos que se cruzam
DIAGRAMA DE FLUXO DE DADOSDIRETRIZES PARA ELABORAÇÃO
Certificar-se de que o DFD seja logicamente consistente – Os DFDs devem ser consistentes com outros
diagramas e também com eles próprios– Algumas diretrizes para a consistências entre
eles são:– Evite os poços sem fundo. Também conhecidos
como “buracos negros”, são bolhas que têm entradas mas não tem saídas
DIAGRAMA DE FLUXO DE DADOSDIRETRIZES PARA ELABORAÇÃO
• Evite bolhas com geração espontânea. Bolhas que têm saídas mas não entradas são suspeitas e geralmente incorretas.
• Cuidado com os fluxos e processos sem rótulo. Isso geralmente é sinal de desatenção, mas pode revelar erros mais sérios: as vezes o analista de sistemas omite o rótulo de um fluxo ou processo porque simplesmente não consegue encontrar um nome satisfatório.
• Cuidado com depósitos de leitura-apenas ou escrita-apenas.
DIAGRAMA DE FLUXO DE DADOSDIRETRIZES PARA ELABORAÇÃO
• Depósito de dados devem aparecer no nível em que são compartilhados e no próximo nível
• Entidades externas devem aparecer no diagrama de contexto e no diagrama de nível 0
DIAGRAMA DE FLUXO DE DADOSDIRETRIZES PARA ELABORAÇÃO
• O DFD de sistemas não triviais é muito complexo
• Para evitar que tudo seja definido num único diagrama (difícil de ser entendido e mantido), criam-se DFD´s que detalham um processo de nível mais alto
DIAGRAMA DE FLUXO DE DADOSDFD COM NÍVEIS
• O DFD de nível mais alto consiste de uma única bolha, representando o sistema inteiro
• Neste diagrama os fluxos de dados mostram as interfaces entre o sistema e os terminadores
• Representa as interações com o ambiente
DFD COM NÍVEISDIAGRAMA DE CONTEXTO
DFD COM NÍVEISDIAGRAMA DE CONTEXTO
SetorVendas
Sistema de Vendas
SetorEntrega
Sistema deCobrança
Pedido
Fatura
Cobrança
O DFD imediatamente abaixo do diagrama de contexto é conhecido como Nível 0
• Ele representa a visão de mais alto nível das principais funções do sistema bem como as principais interfaces entre essas funções
• Com DFD nível 0 numerado podemos relacionar uma bolha com o DFD de nível imediatamente inferior.
DFD COM NÍVEISDIAGRAMA NÍVEL 0
DFD COM NÍVEISDIAGRAMA NÍVEL 0
SetorVendas
SetorEntrega
Sistema deCobrança
Clientes
Pedidos
1.Introduzirpedidos
2. ProcessarPedidos
Pedido
Fatura
Cobrança
• São os diagramas que mostram a decomposição (detalhamento ou explosão) de cada processo de nível mais alto
• A quantidade de níveis depende de fatores como complexidade e porte do sistema
• Em geral, a decomposição dever terminar quando for possível especificar o processo numa página
DFD COM NÍVEISDIAGRAMA NÍVEIS INTERMEDIÁRIOS
DIAGRAMA DE NÍVEIS INTERMEDIÁRIOS
SetorEntrega
Sistema deCobrança
Pedidos
Clientes 2.2 Gerar Fatura
Fatura
Cobrança
2.1 Gerar
Cobrança
Pedidos
Análise Estruturada - DFD
E1Departamentode produção
E2Fornecedores
P1Escolher
fornecedor
P2Pedir
materiais
D1 Fornecedores
Lista_materiaisnecessários
Pedido_preços
Preços_material
Nota_encomenta
Lista
Dados_fornecedor
Dados_fornecedor
Entidade externa
Fluxo de dadosDepósitoDe dados
Processo
Análise Estruturada
Diagrama de Contexto
12
1.1
1.2 2.1
2.2
Diagrama Zero
Diagrama 1 Diagrama 2
Especificaçãoda lógica dosprocessos
Processo1.1
Processo1.2
Processo2.1
Processo2.2
Explosões