In a context diagram, a DFD shows one process representing the entire system, all external entities, and all relevant data flows. A level zero diagram shows 5 +/- 2 processes at the same level of abstraction, all external entities, all data stores used by the processes, and all relevant data flows. DFDs are decomposed until each process is a functional primitive, and inputs/outputs must be balanced between levels. Logical DFDs do not show system behavior, timing, control, or specific media, and should avoid "black holes" where data disappears or "miracles" where processes create output without input.