DFD (Data Flow Diagram) Generator - Commandline tool to generate diagrams as images in various formats (SVG, PNG, JPG, PDF, etc.) from source text files.
The source for this project is available here. The package page is available here.
The present tool allows to create diagrams following the "Structured Analysis / Stuctured Design" (SA/SD) modelling technique as described by Edward Yourdon.
SA/RT (which is SA/SD with a real-time extension), can be found in the design of real-time and embedded systems. Example: Firmware modelling of the Active Descent System of the Rosetta Lander spacecraft.
Surprisingly, SA/RT is also well-suited to the analyse and design of web micro-services and IoT architectures.
Data Flow Diagram are used to model the flow and processing of information through a system.
process P Process
process P2 Process
entity E Entity
store S Store
channel C Channel
E --> P flow
P ::> P2 signal
P <-> S bidirectional flow
P --- C undirected flow
See the documentation page.
- Python3
- Graphviz
[sudo] pip3 install data-flow-diagram
If you get an error at runtime like:
ModuleNotFoundError: No module named 'reportlab.graphics._renderPM'
you may have to reinstall reportlab:
[sudo] python3 -m pip install --upgrade --force-reinstall reportlab
data-flow-diagram -h
says:
usage: data-flow-diagram [-h] [--output-file OUTPUT_FILE] [--markdown]
[--format FORMAT] [--percent-zoom PERCENT_ZOOM]
[--background-color BACKGROUND_COLOR] [--debug]
[INPUT_FILE]
Command-line DFD diagram generator. Converts a textual description into a
graphic file.
positional arguments:
INPUT_FILE UML sequence input file; if omitted, stdin is used
options:
-h, --help show this help message and exit
--output-file OUTPUT_FILE, -o OUTPUT_FILE
output file name; pass '-' to use stdout; if
omitted, use INPUT_FILE base name with '.svg'
extension, or stdout
--markdown, -m consider snippets between opening marker:
```data-flow-diagram OUTFILE, and closing marker:
``` allowing to generate all diagrams contained in
an INPUT_FILE that is a markdown file
--format FORMAT, -f FORMAT
output format: gif, jpg, tiff, bmp, pnm, eps, pdf,
svg (any supported by Graphviz); default is svg
--no-graph-title suppress graph title
--no-check-dependencies
suppress dependencies checking
--debug emits debug messages
See https://github.com/pbauermeister/dfd for information, syntax and
examples.