This document discusses tools and techniques for system design, including logical data flow diagrams (DFDs) and data dictionaries. DFDs use simple graphical symbols to represent processes, data flows, external entities, and data stores in a system. They provide an overview of how data moves through a system. A data dictionary comprehensively defines all data elements in a system. Physical design and prototyping are also discussed as part of specifying hardware, software, user interfaces, and the overall implementation of a system.