Diagrama de Fluxo de Dados – DFD Eveline Alonso Veloso PUC-Minas
Bibliografia YOURDON, Edward. Análise Estrutura Moderna. Tradução da 3ª edição americana, Rio de Janeiro: Campus, 1992, capítulos 9 e 19. PRESSMAN, Roger S. Engenharia de Software. 5ª edição, Rio de Janeiro: McGraw Hill, 2002, capítulo 12.
Diagrama de Fluxo de Dados – DFD Representação de um sistema através de uma rede de processos funcionais; interligados por “dutos” e “tanques de armazenamento” de dados. Visão orientada para as funções do sistema; principalmente utilizado em sistemas onde as funções têm maior importância que os dados. Componentes: Processo; Fluxo de Dados; Depósito de Dados; Terminador.
Processo Também chamado de: bolha; função; transformação. Mostra a parte do sistema que transforma entradas em saídas. Representações gráficas: O nome do processo descreve o que ele faz; verbo + objeto Cadastrar Novo Cliente
Fluxo de Dados Representa dados em movimento; Representação gráfica: dados que entram ou saem dos processos ou depósitos de dados. Representação gráfica: Dados do Novo Cliente
Fluxo de Dados Nome do fluxo de dados; representa o significado do pacote de dados que está sendo transportado. Evitar agregar vários dados diferentes em um único fluxo; nomes compostos. Exemplo: utilizar dados da venda; ao invés de dados do produto e do cliente. Utilizar nomes lógicos; ao invés de nomes físicos. Exemplo: utilizar dados da devolução; ao invés de fita de vídeo.
Determinar Situação de Pedido Fluxo de Dados A direção do fluxo de dados é significativa; indica se os dados entram ou saem do processo ou do depósito de dados. Fluxos bidirecionais: diálogo; pergunta/resposta; tanto os pacotes de dados de entrada quanto os de saída devem ser rotulados. Determinar Situação de Pedido Identificador do Pedido Situação do Pedido
Fluxo de Dados Fluxo de dados convergente: Fluxo de dados divergente: Dados do Cliente Dados da Nota Fiscal Emitir Nota Fiscal Dados do Produto Dados da Loja Dados de Rendimento Validar Rendimentos Fluxos divergentes: cópias de um pacote de dados são enviadas para diferentes partes do sistema; ou um pacote de dados complexo é dividido em vários pacotes de dados mais simples e, cada um deles, é enviado para um ponto do sistema. Fluxos convergentes: vários pacotes de dados elementares são reunidos para formar pacotes de dados complexos e agregados. Dados do Imposto de Renda Validar Patrimônio Dados de Patrimônio
Depósito de Dados Representa dados em repouso. Representação gráfica: Um depósito de dados é criado em função da necessidade de armazenamento de dados; que serão utilizados por processos possivelmente diferentes; em momentos também possivelmente diferentes. Os fluxos interligam os depósitos de dados; aos processos. Clientes
Depósito de Dados Nome do depósito de dados: plural do nome dos pacotes de dados transportados pelos fluxos para dentro e para fora do depósito. Não utilizar o termo banco de dados; pois várias tecnologias podem ser utilizadas para implementar os depósitos de dados. São passivos; necessitam de solicitação explícita para manutenção e leitura dos dados armazenados. Um fluxo de dados que parte de um depósito: leitura de dados não-destrutiva. Um fluxo de dados para um depósito: inclusão, alteração/atualização ou exclusão de dados.
Terminador Representa entidades externas; com as quais o sistema se comunica. Exemplos de entidades externas: Grupo de pessoas; Empresa/Organização; Setor ou Departamento da empresa; Outro sistema. Representação gráfica: Cliente
Terminador São externos ao sistema. Estão fora do domínio da modificação do sistema. Qualquer relacionamento entre terminadores; não deve ser representado nos DFDs.
Diretrizes para a Elaboração de um DFD Escolher nomes significativos para todos os componentes do DFD: não se deve utilizar o nome da pessoa que executa a função como nome do processo; preferir o nome da função ou do papel desempenhado pela pessoa ao executá-la; não se deve utilizar textos vagos ou genéricos como: Fazer Serviços; Gerar Dados; utilizar o vocabulário do domínio da aplicação.
Diretrizes para a Elaboração de um DFD Numerar os processos: facilita fazer referências aos processos; e identificar a hierarquia entre eles; não determina a seqüência de execução dos processos; um DFD não é uma linha de montagem; mas uma rede de processos assíncronos que se intercomunicam. Evitar DFDs complexos demais: o DFD deve ser legível e apresentar fácil compreensão tanto para os analistas; quanto para os usuários que entendam o assunto relacionado.
Diretrizes para a Elaboração de um DFD Fazer e refazer: revisões e aperfeiçoamentos são necessários. Consistência interna e com outros DFDs: evitar poços sem fundo; processos só com entradas; evitar a geração espontânea de dados; processos só com saídas; evitar processos que não transformam dados; fluxo de entrada = fluxo de saída; evitar depósitos de dados apenas de leitura ou apenas de escrita.
Divisão do DFD em Níveis Tem por objetivo facilitar a leitura de DFDs de sistemas complexos. Refinamento do DFD geral; em uma série de níveis; de forma que cada nível ofereça sucessivamente mais detalhes sobre uma parte do nível que lhe seja superior. A numeração dos processos serve como um meio prático de se relacionar um processo com o DFD de nível imediatamente inferior; que descreve esse processo de modo mais completo.
Divisão do DFD em Níveis Exemplo: Os fluxos de dados que entram e saem de um processo em um nível; devem corresponder aos fluxos que entram e saem de uma figura inteira do nível imediatamente inferior que descreve aquele processo. y a 1 3 3.1 Sistema a z 3.2 x y b w b b 2 3.3 Diagrama de Contexto DFD nível 0 DFD nível 3
Construção do Modelo Comportamental – Abordagem Clássica Autores: Chris Gane/Trish Sarson e Tom DeMarco. Também chamada de abordagem top- down. Passagem direta do diagrama de contexto; para o DFD de alto nível (DFD de nível 0); em que cada processo representa um importante subsistema. Principais problemas: paralisia da análise; dificuldade para se trabalhar em equipe; subdivisão física arbitrária.
Construção do Modelo Comportamental – Análise Essencial Construção do DFD Preliminar: desenhar um processo; para a resposta do sistema a cada evento da lista de eventos. O processo deve receber um nome adequado; de acordo com a resposta do sistema ao evento. Interligação dos processos: eventos são assíncronos; comunicação entre os processos; é feita através dos depósitos de dados. Processos não se comunicam diretamente com outros processos no DFD preliminar.
Construção do Modelo Comportamental – Análise Essencial Conferir a consistência entre: diagrama de contexto; DFD preliminar. Construção do DFD de nível 0: agrupamento de processos afins; por exemplo, processos que compartilham o mesmo depósito. No DFD de nível 0; o número de processos é menor do que no DFD preliminar; e maior do que no diagrama de contexto que possui um único processo.