Wat is een Data Flow Diagram?


In deze handleiding staat alles wat u moet weten over data flow diagrammen met inbegrip van definities, geschiedenis, symbolen en notatiesystemen. We leggen de verschillende niveaus van een DFD uit, het verschil tussen een logische en een fysyieke DFD en geven u tips voor het maken van een DFD.  

Wilt u een eigen diagram maken? Probeer Lucidchart. Het is snel, eenvoudig en volledig gratis.
Een diagram maken
Wilt u een eigen diagram maken? Probeer Lucidchart. Het is snel, eenvoudig en volledig gratis.

Wat is een data flow diagram?

Een data flow diagram (DFD) geeft een visueel overzicht van de informatiestroom binnen een proces of systeem. Het maakt gebruik van symbolen zoals rechthoeken, cirkels en pijlen, én korte tekstlabels waarin de gegevensinvoer- en uitvoer, opslagpunten en de trajecten tussen diverse bestemmingen worden weergegeven. DFD's of gegevensstroomdiagrammen kunnen alles in kaart brengen, van eenvoudige, handgetekende procesoverzichten tot uitvoerige DFD's die dieper ingaan op de manier waarop gegevens worden verwerkt. Ze kunnen gebruikt worden om een bestaand systeem te analyseren of een nieuw systeem te modelleren. Net als de beste diagrammen en grafieken kan een DFD vaak beeldend “verwoorden” wat anders moeilijk in tekst valt uit te leggen. Ze zijn geschikt voor een technisch zowel als een niet-technisch publiek, van ontwikkelaars tot algemeen directeuren. Dit verklaart waarom DFD's na zovele jaren nog steeds zo geliefd zijn. Hoewel ze goed bruikbaar zijn in combinatie met data flow software en systemen, zijn ze minder geschikt voor het in kaart brengen van interactieve, realtime of database-gerichte software of systemen.

data flow diagram

Geschiedenis van de DFD

Het gebruik van data flow diagrams nam eind jaren zeventig een grote vlucht, vooral na publicatie van het boek Structured Design, door computerpioniers Ed Yourdon en Larry Constantine. Ze baseerden zich in dit boek op de rekenmodellen voor “gegevensstroomgrafieken” van David Martin en Gerald Estrin. Het gestructureerde ontwerpconcept werd vooral geliefd in de wereld van de softwaretechniek, en de DFD-methode profiteerde daar van mee. De methode werd populairder in het bedrijfsleven dan in de academische wereld omdat het vooral voor bedrijfsanalytische doeleinden werd gebruikt.

Daarnaast droegen er nog twee andere, gerelateerde, concepten bij aan de populariteit van DFD's:

  • Object Oriented Analysis and Design (OOAD), geïntroduceerd door Yourdon en Peter Coad en gebruikt voor het analyseren en ontwerpen van een toepassing of systeem.
  • Structured Systems Analysis and Design Method (SSADM), een cascade-methode gebruikt voor het analyseren en ontwerpen van informatiesystemen. De rigoreuze manier waarop informatie in dit systeem wordt gedocumenteerd staat in groot contrast tot moderne "agile" benaderingen zoals Scrum en de Dynamic Systems Development Method (DSDM).

Drie andere deskundigen die aan de opkomst van de DFD-methodologie hebben bijgedragen waren Tom DeMarco, Chris Gane en Trish Sarson. Ze werkten in verschillende combinaties samen aan een hoofddefinitie van de symbolen en notatiesystemen die in een data flow diagram gebruikt worden.

Symbolen en notatie in DFD's

Twee veelgebruikte symboolsystemen zijn naar hun makers vernoemd:

  • Yourdon en Coad
  • Yourdon en DeMarco
  • Gane en Sarson

Een groot verschil tussen deze twee symboolsystemen is dat Yourdon-Coad en Yourdon-DeMarco cirkels gebruiken voor processen, terwijl Gane en Sarson daar rechthoeken met afgeronde hoeken voor gebruiken, ook wel ruiten genoemd. Er zijn ook andere symboolvariaties in omloop dus is het belangrijk om duidelijk en consequent om te gaan met de vormen en notatie die u gebruikt in uw communicatie en samenwerkingen met anderen.

Alle systemen maken gebruik van symbolen die de vier onderdelen van een data flow diagram weergeven.

  1. Externe entiteit: een extern element dat gegevens verzendt of ontvangt, en daarbij communiceert met het element dat schematisch weergegeven wordt. Een externe entiteit vormt de bron en de bestemming van de informatie die het systeem verlaat of binnenkomt. Dit kan een externe organisatie of persoon zijn, een computersysteem of een bedrijfssysteem. Deze entiteiten staan ook wel bekend als terminatoren, bronnen en 'sinks' of actoren. Ze staan meestal aan de rand van het diagram.
  2. Proces: een proces dat gegevens verandert en een output produceert. Het kan berekeningen uitvoeren, gegevens op een logische wijze sorteren, of de gegevensstroom aansturen op basis van zekere bedrijfsregels. Een label geeft een korte beschrijving van het proces, bijvoorbeeld “Betalen”.
  3. Gegevensopslag: bestanden of bewaarplaatsen waarin informatie wordt opgeslagen voor later gebruik, zoals bijvoorbeeld een database-tabel of een lidmaatschapsformulier. Elke gegevensopslag wordt voorzien van een eenvoudig label zoals “Orders”.
  4. Data flow: de route die de gegevens volgen op hun traject tussen de externe entiteiten, processen en opslagplaatsen. Het toont de raakvlakken met de andere componenten en wordt weergegeven in de vorm van pijlen, meestal voorzien van een label met een korte benaming zoals “Factuurgegevens”.

Notatie

Yourdon en Coad

Gane en Sarson

Externe entiteit

Externe entiteit volgens Yourdon en Coad

Externe entiteit volgens Gane en Sarson

Proces

Proces volgens Yourdon en Coad

Proces volgens Gane en Sarson

Datastore

Gegevensopslag volgens Yourdon en Coad

Gegevensopslag volgens Gane en Sarson

Gegevensstroom

data flow volgens Yourdon en Coad

data flow volgens Gane en Sarson

Wilt u meer weten? Hier vindt u een uitgebreidere uitleg over de symbolen en notatiesystemen en hoe ze gebruikt worden.

Regels en tips voor DFD's

  • Elk proces moet tenminste één invoer en één uitvoer hebben.
  • Elke gegevensopslag moet tenminste één inkomende en één uitgaande gegevensstroom hebben.
  • Gegevens die in een systeem staan opgeslagen moeten onderdeel zijn van een proces.
  • Alle processen in een DFD moeten naar een ander proces of een gegevensopslag leiden.
  • Gegevens die in een systeem staan opgeslagen moeten onderdeel zijn van een proces.

Niveaus en lagen in DFD's: van contextdiagrammen tot pseudocodes

Een data flow diagramkan dieper op gegevens ingaan door er niveaus en lagen aan toe te voegen en in te zoomen op een bepaald detail. DFD-niveaus worden voorzien van een nummer 0, 1 of 2, en kunnen soms zelfs tot een derde niveau of nog hoger worden doorgevoerd. De benodigde mate van detail is afhankelijk van de omvang van hetgeen u probeert weer te geven.

  • Het niveau 0 van een DFD wordt ook wel een contextdiagram genoemd. Het geeft een basisoverzicht van het hele systeem of proces dat geanalyseerd of gemodelleerd wordt. Het dient vooral als een snelle weergave van een systeem als een enkelvoudig proces op hoog niveau in relatie tot zijn externe entiteiten. Het moet gemakkelijk vatbaar zijn voor een breed publiek, inclusief belanghebbenden, bedrijfsanalisten, data-analisten en ontwikkelaars. 

contextdiagram

  • Op niveau 1 wordt de contextdiagram opgedeeld en in meer detail weergegeven. Dit niveau belicht de voornaamste functies van het systeem door het globale proces van de contextdiagram in kleinere subprocessen op te delen. 

Niveau 1-diagram

  • Een DFD op niveau 2 gaat weer wat dieper in op bepaalde delen van niveau 1. Er is vaak meer tekst nodig om voldoende informatie te geven over de werking van het systeem. 

Niveau 2-diagram

  • Hoewel het in principe mogelijk is om de diagram nog verder te verdiepen met een derde, vierde of zelfs vijfde niveau, gaat men meestal niet verder dan niveau 3. Door teveel detail toe te voegen, wordt het diagram te ingewikkeld om te communiceren, te vergelijken of om het effectief te modelleren.

Met DFD-niveaus kunnen de opeenvolgende niveaus direct in het diagram zelf worden ingebed. Dit ziet er overzichtelijker uit en bovendien krijgt men zo gemakkelijker toegang tot de diepere niveaus.

Als er voldoende detail in de DFD's is opgenomen, kunnen ontwikkelaars en ontwerpers hier pseudocode mee schrijven. Pseudocode is een combinatie van Engels en programmeertaal. De pseudocode faciliteert de ontwikkeling van een echte programmeertaal.

Voorbeelden voor het gebruik van DFD's

Data flow diagrammen zijn zeer geschikt om verschillende soorten systemen in diverse velden te analyseren of te modelleren.

DFD's in software-ontwikkeling: Op dit gebied vond de data flow diagram zijn ingang in de jaren zeventig. DFD's bieden technische ontwikkelaars een goede, gerichte methode waarmee ze meer onderzoek kunnen uitvoeren voordat ze zich tot het echte programmeren wenden.

DFD in bedrijfsanalyse: Bedrijfsanalisten gebruiken DFD's om bestaande systemen te analyseren en inefficiënties te vinden. Door het proces in kaart te brengen, ziet u stappen die u anders had gemist of niet volledig had begrepen.

DFD's in de ontwikkeling van nieuwe bedrijfsprocessen (Business Process Re-engineering, BPR):  DFD's zijn een geschikte toepassing voor het in kaart brengen en modelleren van een betere, efficiëntere gegevensstroom binnen een bedrijfsproces. BPR werd in de jaren negentig ingevoerd om organisaties te helpen hun operationele kosten te verlagen, hun klantenservice te verbeteren en hun concurrentievermogen te vergroten.

DFD in agile ontwikkeling: DFD's kunnen worden gebruikt om technische en zakelijke vereisten in kaart te brengen en beter te begrijpen. Zo kunnen bedrijven hun volgende stappen beter inplannen. Ze vormen een eenvoudige maar toch krachtige communicatie- en samenwerkingstool, vooral als men op een snelle ontwikkeling is gericht.

DFD's in systeemstructuren: Elk systeem of proces kan steeds gedetailleerder geanalyseerd worden zodat het zowel  op technische als  niet-technische basis verbeterd kan worden.

DFD's vs Unified Modelling Language (UML)

Terwijl een DFD laat zien hoe gegevens zich door een systeem bewegen, is UML de modelleertaal die binnen het Object Oriented Software Design wordt gebruikt om een meer gedetailleerde weergave te bieden. Een DFD vormt daarbij nog steeds een goed startpunt maar wanneer het op de werkelijke ontwikkeling van een systeem aankomt, wenden ontwikkelaars zich toch liever tot UML-diagrammen zoals klassen- en structuurdiagrammen om daarmee de vereiste specificiteit te bereiken.

Logische DFD's vs Fysieke DFD's

Dit zijn de twee categorieën van een data flow diagram.  Een logische DFD visualiseert de gegevensstroom die essentieel is voor de goede werking van een bedrijf. Het focust op het bedrijf en de informatie die het nodig heeft, niet op de manier waarop het systeem werkt of zou kunnen werken. Een fysieke DFD geeft echter weer hoe het systeem in werkelijkheid is geïmplementeerd of hoe het geïmplementeerd zou kunnen worden. In een logische DFD zijn processen bijvoorbeeld vaak bedrijfsactiviteiten, terwijl in een fysieke DFD de processen meestal programma's en handmatige procedures zijn.

Wilt u meer weten? Lees onze uitgebreide handleiding over Logische DFD's vs Fysieke DFD's.

Hoe maakt u een data flow diagram?

U kunt uw eigen DFD online creëren met Lucidchart. Gebruik een van onze DFD-voorbeelden en gespecialiseerde notatie om de gegevensstroom door uw systeem visueel weer te geven. Onze data flow diagram-bouwer is eenvoudig, maar toch krachtig. Ga aan de slag met een sjabloon en gebruik onze vormen om uw processen, gegevensopslag, gegevensstromen en externe elementen aan uw situatie aan te passen.