Um modelo de fluxo de dados é uma maneira intuitiva de mostrar como um sistema processa dados. No nível analítico, eles devem ser usados para modelar a forma como os dados são processados nos sistemas existentes.
Após a publicação do livro Structured Systems Analysis de DeMarco , o modelo de fluxo de dados tornou-se cada vez mais amplamente utilizado em análise. Eles são uma parte inerente da abordagem estruturada desenvolvida a partir deste trabalho. Os símbolos usados nesses modelos representam o processamento de funções (retângulos arredondados), armazenamento de dados (retângulos) e movimentação de dados entre funções (setas rotuladas).
Por que o DFD ainda é útil para o desenvolvimento de software?
Embora a modelagem orientada a fluxo de dados seja considerada uma tecnologia desatualizada por alguns engenheiros de software, ainda é um dos símbolos de análise de requisitos mais utilizados. Embora os diagramas de fluxo de dados (DFDs) não sejam partes formais da UML, eles podem ser usados para complementar os diagramas UML e fornecer informações adicionais sobre os requisitos e processos do sistema.
O modelo de fluxo de dados é valioso porque rastrear e registrar como os dados relacionados a um determinado processo se movem pelo sistema ajudam os analistas a entender o que está acontecendo. A vantagem dos diagramas de fluxo de dados é que, ao contrário de alguns outros símbolos de modelagem, eles são simples e intuitivos. Eles geralmente podem ser explicados a potenciais usuários do sistema que podem estar envolvidos na análise e validação dos requisitos.
Por que DFD?
DFD representando graficamente as funções, ou processos, que capturam, manipulam, armazenam e distribuem dados entre um sistema e seu ambiente e entre os componentes de um sistema. A representação visual o torna uma boa ferramenta de comunicação entre o usuário e o designer do sistema. A estrutura do DFD permite partir de uma ampla visão geral e expandi-la para uma hierarquia de diagramas detalhados. DFD tem sido frequentemente usado devido aos seguintes motivos:
- Fluxo de informações lógicas do sistema
- Determinação dos requisitos de construção do sistema físico
- Simplicidade de notação
- Estabelecimento de requisitos de sistemas manuais e automatizados
DFD é um processo de decomposição de cima para baixo
A modelagem de fluxo de dados é um processo “de cima para baixo”. Primeiro analise todo o processo de aquisição. Os subprocessos são então analisados em uma forma de decomposição de cima para baixo.
O DFD pode ser usado para modelar sistemas ou software em qualquer nível de abstração. Como mencionado anteriormente, o DFD pode ser dividido em níveis que representam um fluxo crescente de informações e detalhes funcionais. Os números de nível no DFD são 0, 1, 2 ou superior. Aqui, veremos que existem três níveis principais no diagrama de fluxo de dados, a saber, nível 0 DFD, nível 1 DFD e nível 2 DFD.
Diagrama de Contexto – Níveis de DFD
Diagrama de contexto (também conhecido como DFD de nível 0), ele representa todo o requisito de software como uma bolha, com dados de entrada e saída representados por setas de entrada e saída.
O sistema é então decomposto em um DFD com múltiplas bolhas. As partes do sistema representadas por cada bolha são então divididas e registradas em diagramas de fluxo de dados cada vez mais detalhados. Este processo pode ser repetido nos níveis necessários até que o programa em questão seja totalmente compreendido.
O número de entradas e saídas entre os níveis deve ser mantido, um conceito conhecido como nivelamento DeMacro. Portanto, se a bolha “A” tiver duas entradas X1 e X2 e uma saída Y, então o(s) diagrama(s) de fluxo de dados de subnível representando o DFD “A” de nível superior deve ter exatamente duas entradas externas e uma saída externa.
No DFD de nível 1, o diagrama de contexto é decomposto em vários processos. Neste nível, destacamos as principais funções do sistema e dividimos o processo de alto nível do DFD de nível 0 em subprocessos para representar detalhes das atividades de processamento.
Diagrama de contexto (nível 0 DFD) — um diagrama de contexto DFD é um diagrama que representa uma visão geral do sistema e sua interação com o resto do “mundo”.
Diagrama de fluxo de dados de nível 1 — o DFD de nível 1 fornece uma visão mais detalhada do sistema do que o diagrama de contexto, mostrando os principais subprocessos e armazenamentos de dados que compõem todo o sistema.
Nível 2 (ou inferior) — uma grande vantagem da tecnologia de modelagem de fluxo de dados é que a complexidade detalhada dos sistemas do mundo real pode ser gerenciada e modelada em um nível abstrato por meio de uma tecnologia chamada “nivelamento”. Alguns elementos de qualquer diagrama de fluxo de dados podem ser decompostos (“decompostos”) em um modelo mais detalhado em um nível inferior na hierarquia
Níveis de DFD – Exemplo – Sistema de Pedido de Alimentos
Nível 0
Também é conhecido como diagrama de contexto . Ele foi projetado para ser uma visão de abstração, mostrando o sistema como um único processo com seu relacionamento com entidades externas.
- O diagrama de contexto deve caber em uma página.
- O nome do processo no diagrama de contexto deve ser o nome do sistema de informação.
- Por exemplo, sistema de classificação, sistema de processamento de pedidos, sistema de registro.
No DFD de nível 1, o diagrama de contexto é decomposto em vários processos. Neste nível, destacamos as principais funções do sistema e dividimos o processo de alto nível do DFD de nível 0 em subprocessos para representar detalhes das atividades de processamento.
Nível 1 – Sistema de Pedido de Alimentos
No DFD de nível 1, o diagrama de contexto é decomposto em vários processos. Neste nível, destacamos as principais funções do sistema e dividimos o processo de alto nível do DFD de nível 0 em subprocessos para representar detalhes das atividades de processamento.
Se um processo com muitos fluxos de dados vinculando algumas entidades externas, poderíamos primeiro extrair esse processo específico e as entidades externas associadas em um diagrama separado semelhante a um diagrama de contexto, antes de refinar o processo em um nível separado de DFD; e desta forma você pode garantir a consistência entre eles muito mais fácil.
Símbolos DFD
Existem quatro símbolos básicos que são usados para representar um diagrama de fluxo de dados.
Processar
Um processo recebe dados de entrada e produz saída com um conteúdo ou forma diferente. Os processos podem ser tão simples quanto coletar dados de entrada e salvar no banco de dados, ou podem ser complexos como produzir um relatório contendo as vendas mensais de todas as lojas de varejo da região noroeste.
Todo processo tem um nome que identifica a função que desempenha.
O nome consiste em um verbo, seguido por um substantivo no singular.
Exemplo:
- Aplicar pagamento
- Calcular Comissão
- Verificar pedido
Notação DFD
- Um retângulo arredondado representa um processo
- Os processos recebem IDs para facilitar a referência
Exemplo de processo
Fluxo de dados
Um fluxo de dados é um caminho para os dados se moverem de uma parte do sistema de informação para outra. Um fluxo de dados pode representar um único elemento de dados, como o ID do cliente, ou pode representar um conjunto de elementos de dados (ou uma estrutura de dados).
Exemplo:
- Customer_info (LastName, FirstName, SS#, Tel #, etc.)
- Order_info (OrderId, Item#, OrderDate, CustomerID, etc.).
Exemplo de fluxo de dados:
Notação
- Linhas retas com setas de entrada são fluxo de dados de entrada
- Linhas retas com setas de saída são fluxos de dados de saída
Observe que:
Como todo processo altera os dados de um formulário para outro, pelo menos um fluxo de dados deve entrar e um fluxo de dados deve sair de cada símbolo de processo.
Banco de dados
Um armazenamento de dados ou repositório de dados é usado em um diagrama de fluxo de dados para representar uma situação em que o sistema deve reter dados porque um ou mais processos precisam usar os dados armazenados posteriormente.
Notação
- Os dados podem ser gravados no armazenamento de dados, que é representado por uma seta de saída
- Os dados podem ser lidos de um armazenamento de dados, que é representado por uma seta de entrada.
- Exemplos são: estoque, contas a receber, pedidos e pagamentos diários.
Exemplo de armazenamento de dados
Observe que:
- Um armazenamento de dados deve estar conectado a um processo com um fluxo de dados.
- Cada armazenamento de dados deve ter pelo menos um fluxo de dados de entrada e pelo menos um fluxo de dados de saída (mesmo que o fluxo de dados de saída seja uma mensagem de controle ou confirmação).
Entidade Externa
Uma entidade externa é uma pessoa, departamento, organização externa ou outro sistema de informação que fornece dados ao sistema ou recebe saídas do sistema. Entidades externas são componentes fora dos limites dos sistemas de informação. Eles representam como o sistema de informação interage com o mundo exterior.
- Um retângulo representa uma entidade externa
- Eles fornecem dados ou recebem dados
- Eles não processam dados
Notação
- Um cliente que envia um pedido e, em seguida, recebe uma fatura do sistema
- Um fornecedor emite uma fatura
Exemplo de entidade externa
Observe que:
- Entidades externas também são chamadas de terminadores porque são origens de dados ou destinos finais.
- Uma entidade externa deve estar conectada a um processo por meio de um fluxo de dados.
Regra do fluxo de dados
Uma das regras para o desenvolvimento de DFD é que todo fluxo deve começar e terminar em uma etapa de processamento. Isso é bastante lógico, porque os dados não podem se transformar por conta própria com o processo. Usando a regra geral, é muito fácil identificar os fluxos de dados ilegais e corrigi-los em um DFD.
Descrição Errada / Certa
Uma entidade não pode fornecer dados a outra entidade sem que algum processamento tenha ocorrido.
Os dados não podem ser movidos diretamente de uma entidade para uma história de dados sem serem processados.
Os dados não podem ser movidos diretamente de um armazenamento de dados sem serem processados.
Os dados não podem ser movidos diretamente de um armazenamento de dados para outro sem serem processados.
Outros erros cometidos com frequência no DFD
Uma segunda classe de erros de DFD surge quando as saídas de uma etapa de processamento não correspondem às suas entradas e podem ser classificadas como:
- Buracos negros — Uma etapa de processamento pode ter fluxos de entrada, mas nenhum fluxo de saída.
- Milagres — Uma etapa de processamento pode ter fluxos de saída, mas nenhum fluxo de entrada.
- Buracos cinzentos — Uma etapa de processamento pode ter saídas maiores que a soma de suas entradas
Ferramenta UML Gratuita
- Criador de diagramas de fluxo de dados on-line
- Como criar diagrama de fluxo de dados (DFD)?
- Software de Diagrama de Fluxo de Dados (DFD)