Diagramas de fluxo de dados (DFDS) representam o fluxo de informações através do sistema. Os DFDs rapidamente se tornaram uma maneira popular de visualizar as principais etapas e dados envolvidos nos processos do sistema de software.
Um diagrama de fluxo de dados (DFD) é uma maneira de representar um fluxo de dados de um processo ou um sistema (geralmente um sistema de informação), por exemplo:
- De onde vêm os dados?
- Onde vai?
- Como é armazenado?
Em outras palavras, mostra como os dados são processados por um sistema em termos de entradas e saídas usando técnicas de decomposição de cima para baixo (ou conhecidas como refinamento passo a passo.
O que é o refinamento passo a passo?
Uma das maneiras eficazes de resolver um problema complexo é dividi-lo em subproblemas mais simples. Você começa dividindo toda a tarefa em partes mais simples.
O refinamento passo a passo é essencialmente uma decomposição do sistema para obter informações sobre os subsistemas que compõem o sistema, conhecido como método de decomposição de cima para baixo.
Por exemplo, uma visão geral do sistema é desenvolvida como um diagrama de contexto do sistema que especifica, mas não especifica, qualquer nível do subsistema. Cada um desses subsistemas é então refinado para maiores detalhes (como níveis 0, 1, 2 e assim por diante no DFD), às vezes em muitos níveis de subsistemas adicionais, até que toda a especificação seja reduzida a elementos básicos.
Como é comum, o brainstorming resultou em ideias (na verdade, coisas para nossa lista de tarefas) que estão em diferentes níveis de “detalhe” – algumas delas estão “mais abaixo” do que outras, ou, podemos dizer, algumas contêm outras.
Vamos organizá-los hierarquicamente. Em outras palavras, vamos identificar quais etapas fazem parte de outra etapa. Uma maneira de fazer isso é pensar em cada ação como um conjunto de ações.
Exemplo de refinamento passo a passo
Casa limpa
{Sala de jantar a vácuo, Sala de estar arrumada}
cozinheiro
{Escolha a receita, Compre os ingredientes, Frango Assado. Faça Legumes}
Configurável
{ Ache a toalha de mesa , Pegue os pratos , Arrume os copos , Arrume os talheres , Guardanapos }
Frango assado
{ Pré-aqueça o forno a 400 , coloque o frango na panela , deixe o frango no forno 400 por 90 minutos }
Faça Vegetariano
{ Pique legumes , Cozinhe legumes }
(*Fonte: design de cima para baixo e refinamento passo a passo — livros Wiki )
Uma vez que esses elementos básicos são identificados, podemos construí-los em módulos de computador. Uma vez construídos, podemos juntá-los e fazer todo o sistema com esses componentes individuais.
Técnica de decomposição de cima para baixo em DFD
Em DFD, a decomposição de cima para baixo (também chamada de nivelamento ou refinamento passo a passo) é uma técnica usada para mostrar mais detalhes em DFDs de nível inferior. O nivelamento é feito desenhando uma série de diagramas cada vez mais detalhados até que o grau de detalhe desejado seja alcançado. Conforme mostrado na Figura, o DFD Leveling está primeiro exibindo o sistema de destino como um único processo e, em seguida, mostrando mais detalhes até que todos os processos sejam primitivos funcionais.
- DFDs que estão em um nível mais alto são menos detalhados
- DFDs de alto nível devem ser decompostos em DFDs mais detalhados em níveis mais baixos
- O diagrama de contexto é o mais alto da hierarquia (consulte as regras de criação de DFD). O chamado nível zero é seguido por DFD 0, começando com a numeração do processo (EG, processo 1, processo 2).
- No próximo, o chamado primeiro nível – DFD 1 – a numeração continua. EG Processo 1 é dividido nos três primeiros níveis do DFD, que são numerados 1.1, 1.2 e 1.3.
- Da mesma forma, os processos no segundo nível (DFD 2) são numerados EG 1.1.1, 1.1.2, 1.1.3 e 1.1.4.
- O número de níveis depende do tamanho do sistema modelo. Cada um dos processos no nível 0 pode não ter o mesmo número de níveis de decomposição.
Exemplos de DFD – Exemplo de Sistema de Atendimento ao Cliente
O diagrama de fluxo de dados é uma hierarquia de diagrama composto por:
- Diagrama de contexto (conceitualmente nível zero)
- O DFD Nível 1
- E possível DFD de Nível 2 e outros níveis de decomposição funcional, dependendo da complexidade do seu sistema
Contexto DFD
A figura abaixo mostra um Diagrama de Fluxo de Dados de contexto que é desenhado para o Sistema de Atendimento ao Cliente de uma empresa ferroviária. Contém um processo (forma) que representa o sistema a modelar, neste caso, o “ Sistema CS ”. Também mostra os participantes que irão interagir com o sistema, chamados de entidades externas. Neste exemplo, o CS Assistant e o Passageiro são as duas entidades que irão interagir com o sistema. Entre o processo e as entidades externas, há fluxo de dados (conectores) que indicam a existência de troca de informações entre as entidades e o sistema.
Edite este exemplo de DFD Yourdon e Coad
Contexto DFD é a entrada de um modelo de fluxo de dados. Ele contém um e apenas um processo e não mostra nenhum armazenamento de dados.
Nível 1 DFD
A figura abaixo mostra o DFD de nível 1, que é a decomposição (ou seja, quebra) do processo do Sistema CS mostrado no DFD de contexto. Leia o diagrama e, em seguida, apresentaremos alguns dos principais conceitos com base neste diagrama.
Edite este exemplo de diagrama Yourdon e Coad
O exemplo de diagrama de fluxo de dados do sistema CS contém quatro processos, duas entidades externas e quatro armazenamentos de dados. Embora não haja diretrizes de design que governem o posicionamento das formas em um diagrama de fluxo de dados, tendemos a colocar os processos no meio e os armazenamentos de dados e entidades externas nas laterais para facilitar a compreensão.
Com base no diagrama, sabemos que um Passageiro pode receber detalhes de Transporte do processo de Consulta de Detalhes de Transporte , e os detalhes são fornecidos pelos armazenamentos de dados Detalhes de Transporte e Estatísticas ao Vivo da Ferrovia . Enquanto os dados armazenados em Detalhes de transporte são dados persistentes (indicados pelo rótulo “D”), os dados armazenados no Railway Live Statistic são dados transitórios que são mantidos por um curto período de tempo (indicados pelo rótulo “T”). Uma forma de chamada é usada para listar os tipos de detalhes que podem ser consultados por um passageiro.
O CS Assistant pode iniciar o processo de Compra de Lembrança , o que resultará em ter os detalhes do Pedido armazenados no armazenamento de dados do Pedido . Embora o cliente seja a pessoa real que compra os souvenirs, é o CS Assistant que acessa o sistema para armazenar os detalhes do pedido. Por isso, fazemos o fluxo de dados do CS Assistant para o processo de Buy Souvenir .
O CS Assistant também pode iniciar o processo de compra de ingressos fornecendo detalhes do pedido e os detalhes serão armazenados novamente no armazenamento de dados do pedido . O Diagrama de Fluxo de Dados é um diagrama de alto nível desenhado com um alto grau de abstração. O pedido de armazenamento de dados que é desenhado aqui não implica necessariamente um banco de dados de pedidos real ou uma tabela de pedidos em um banco de dados. A forma como os detalhes do pedido são armazenados fisicamente deve ser decidida posteriormente ao implementar o sistema.
Por fim, o CS Assistant pode iniciar o processo Report Lost fornecendo os detalhes do Incidente e do item e as informações serão armazenadas no banco de dados de Item Perdido .