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
DIAGRAMA DE FLUXO DE DADOS 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 PROCESSOS 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 DADOS PROCESSOS Geralmente provoca mudanças de estrutura, conteúdo ou estado. Representação gráfica Calcular Comissão Calcular Comissão Gane & Sarson De Marco/Yourdon
DIAGRAMA DE FLUXO DE DADOS PROCESSOS 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 DADOS FLUXO DE DADOS 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 DADOS FLUXO 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 DADOS FLUXO DE DADOS Preparar Bolo Mistura para bolos Açúcar Ovos Leite
DIAGRAMA DE FLUXO DE DADOS FLUXO 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
DIAGRAMA DE FLUXO DE DADOS FLUXO DE DADOS 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 DADOS FLUXO 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 DADOS FLUXO 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 DADOS FLUXO 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 DADOS FLUXO 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 DADOS FLUXO DE DADOS QUAL É A ORDEM DE ENTRADA E SAÍDA? Q A B C X Y Z Na especificação ser deve explicado a ordem
DIAGRAMA DE FLUXO DE DADOS DEPÓSITO DE DADOS 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 DADOS DEPÓSITO DE DADOS Representação Gráfica Clientes Clientes D1 Gane & Sarson De Marco/Yourdon
DIAGRAMA DE FLUXO DE DADOS DEPÓSITO DE DADOS 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 DADOS DEPÓ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 DADOS DEPÓ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 DADOS ENTIDADES EXTERNAS 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 DADOS ENTIDADES 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 Alunos
DIAGRAMA DE FLUXO DE DADOS ENTIDADES EXTERNAS 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 DADOS ENTIDADES EXTERNAS Três aspectos importantes sobre Terminadores: 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 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 Qualquer relacionamento existente entre terminadores não será mostrado no DFD
DIAGRAMA DE FLUXO DE DADOS ENTIDADES 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 DADOS ENTIDADES 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
DIAGRAMA DE FLUXO DE DADOS DIRETRIZES PARA ELABORAÇÃO 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 DADOS DIRETRIZES PARA ELABORAÇÃO F R E D pedidos válidos inválidos validar pedidos
DIAGRAMA DE FLUXO DE DADOS DIRETRIZES PARA ELABORAÇÃO 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 DADOS DIRETRIZES 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 DADOS DIRETRIZES 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 DADOS DIRETRIZES 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 DADOS DIRETRIZES 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 DADOS DIRETRIZES 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 DADOS DIRETRIZES 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 DADOS DIRETRIZES 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 DADOS DIRETRIZES 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 DADOS DFD COM NÍVEIS 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
DFD COM NÍVEIS DIAGRAMA DE CONTEXTO 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ÍVEIS DIAGRAMA DE CONTEXTO Sistema de Vendas Fatura Setor Entrega Pedido Setor Vendas Cobrança Sistema de Cobrança
DFD COM NÍVEIS DIAGRAMA NÍVEL 0 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ÍVEIS DIAGRAMA NÍVEL 0 Setor Vendas Clientes Setor Entrega Pedido 2. Processar Pedidos Fatura 1. Introduzir pedidos Pedidos Cobrança Sistema de Cobrança
DFD COM NÍVEIS DIAGRAMA NÍVEIS INTERMEDIÁRIOS 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
DIAGRAMA DE NÍVEIS INTERMEDIÁRIOS Pedidos Setor Entrega Clientes 2.2 Gerar Fatura Fatura 2.1 Gerar Cobrança Cobrança Sistema de Cobrança Pedidos
Análise Estruturada - DFD Pedido_preços E2 Fornecedores E1 Departamento de produção P1 Escolher fornecedor Lista_materiais necessários Entidade externa Preços_material Dados_fornecedor Processo Lista D1 Fornecedores P2 Pedir materiais Nota_encomenta Dados_fornecedor Depósito De dados Fluxo de dados
Análise Estruturada Explosões