Het lijkt erop dat dit al een tijdje niet is aangeraakt. Mijn gedachten zijn gebaseerd op één belangrijke observatie: een verkeerd begrip van wat een DFD is, door de originele poster en alle reacties. Een stroomdiagram is geen DFD.
Fundamenteel heeft een DFD maar een paar symbolen:
- Een gegevensopslag (elk type) getekend als twee parallelle horizontale lijnen met de beschrijving van het type gegevens tussen die regels (zoals dit:
-
ATable
-
en er kunnen veel van dergelijke winkels of tussenproducten zijn, inclusief gematerialiseerde weergaven. (Ik vond een beter voorbeeld, PNG-indeling. Zie verderop in dit antwoord.)
-
Een cirkel met ingesloten beschrijving voor geef een proces aan (zoals 'Gebruikersgegevens extraheren')
-
Enkele richting pijlen om gegevens te tonen die naar (of van) de winkel (s) gaan en of processen; als er bidirectionele stromen zijn, gebruik dan twee pijlen.
-
Een vak met ingebed label of naam om systemen aan te duiden (vaak zijn deze generiek, zoals 'Externe systemen' die gegevens van of naar de oplossing in kwestie leveren)
-
Een notatie- / commentaarvak (met een "gescheurde hoek" om eruit te zien als een document), om te beschrijven wat de gegevens is "of" kijkt l ike "of in sommige gevallen om operationele aspecten aan te geven (zoals het aangeven van nachtelijke batchtaken). Een notatievak is met een stippellijn aan het corresponderende DFD-element bevestigd. Houd ze simpel.
In sommige gevallen kunnen grotere vakken worden gebruikt om verschillende van de bovenstaande elementen te groeperen, bijvoorbeeld om locatie of eigendom of andere geaggregeerde details aan te geven. 'Vendor A cloud' kan bijvoorbeeld een of meer winkels, processen / services en een notatievak met samengevatte details bevatten. Deze vakken kunnen zijn getekend met stippellijnen, en als dat zo is, worden ze "vertrouwensgrenzen" genoemd - ze vertegenwoordigen meestal systemen waarover u geen controle heeft, maar die gegevens van of naar uw oplossing leveren.
En dat is het. Er zijn geen beslissingsdiamanten, alternatieve stroompaden of een van de andere tientallen of meer typische stroomdiagramsymbolen. Alternatieve stroompaden kunnen worden weergegeven, indien deze van cruciaal belang zijn voor de oplossing, als aangegeven pijlen (met notatievak), zoals "Pad als primaire router faalt". Als je de kijker wilt laten zien hoe gegevens stromen ten opzichte van programmatische stromen, voeg dan een notatievak toe en zeg dat ze naar een gerelateerd stroomdiagram moeten kijken - maar plaats het niet in de DFD, anders is het geen DFD meer.
Ik ken geen specifieke tools voor het maken van DFD's op Linux (of Windows). Zoals blijkt uit de eerdere antwoorden, nemen sommige mensen hun toevlucht tot (misbruikende?) Stroomdiagramsymbolen. DFD's zijn eenvoudiger, schoner en gemakkelijk te begrijpen door zelfs de meest niet-technische mensen, maar bieden ook inzicht aan technische teams. Het zou mogelijk zijn om een heel eenvoudige DFD-symbolenset voor Dia te maken, wat waarschijnlijk mijn eerste keuze zou zijn, en kan worden verwerkt om indien nodig verbindingsdetails op te halen. LibreOffice Impress / PowerPoint-symbolen zouden ook kunnen worden gemaakt, maar u begint de efficiëntie van een diagramtool en "bedradings" -details te verliezen en zult snel in de verleiding komen om symbolen toe te voegen die niet op een DFD thuishoren. Visio is een verre derde, vanwege de kosten, de eerder genoemde verleidingen om te "overschrijven", enz., Maar het levert wel een mooie output op.
Toen ik een beetje rondkeek, vond ik dit ( https://github.com/michenriksen/dia-dfd/blob/master/example.png) voorbeeld van een DFD en een Dia-symbool " set "(eigenlijk alleen de winkelindicator en een gestippeld kader), maar het vertrouwt op Dia voor de pijlen, het notatievak (van het stroomdiagram" Document ") en het proces (cirkel), ook van de stroomdiagramtools. Als gevolg hiervan moet u de stroomdiagramset gebruiken en vertrouwen op uw eigen zelfdiscipline om ze te krijgen. Je hebt nog steeds de andere vormen in de buurt, klaar om te misbruiken. Niet doen. Een betere oplossing zou zijn om een specifieke DFD-vormenset te maken, met de winkelindicator, een procescirkel, een systeemvak (en), een grens- / vertrouwensvak, een notatievak en pijlen.