Technical Module B Process Modeling Data Flow Diagrams Hierarchical Nature Fig B.1: The Hierarchical Arrangement of DFDs
Data Flow Diagrams Context diagram Fig B.2: A Context Diagram for an Order Entry System
Data Flow Diagrams Figure 0 data flow diagram Fig B.3: A Figure 0 Diagram for an Order Entry System
Data Flow Diagrams Figure n data flow diagram Fig B.4: A Figure 1 Diagram for Verifying Orders
Data Flow Diagarms Leveled and balanced DFDs DFD Symbols Environmental element (terminator, external entity) The system’s environment Other systems The firm’s environmental elements Organizations Individuals Can be repeated on a diagram.
Data Flow Diagrams Symbols 2. Process Changes input onto output Labels: System name (complete systems only), or Verb + object Yourdon-Constantine and Gane-Sarson methodologies Fig B.5: Process Symbols
Data Flow Diagrams Symbols 3. Data flow Communicate data from one location to another – “data on the move.” Names must be unique on a given level. Names must be identical on different levels. Can diverge and converge.
Data Flow Diagrams Symbols 4. Data store Maintain data in an updated manner – “data at rest.” Can be repeated on a diagram. Open-ended rectangle Parallel lines Oval
Data Flow Diagrams Symbols 5. Connector symbol “To” the next Step. “From” the previous Step. Fig B.4: A Figure 1 Diagram for Verifying Orders
Data Flow Diagrams Tips for Using DFDs Begin at Figure 0 level (unless software dictates otherwise). Include all terminators on the context diagram. Do not include data stores on the context diagram. Do not use process symbols for (1) mailing, (2) filing. Maintain labeling continuity from level to level(“balanced” DFDs). Use two data flows (a “from” flow and a “to” flow) for updating a master file.
Structured English Used in conjunction with DFDs, providing the detail. Fig B.9: Structured English is Used to Model Process Detail
Structured English Tips Include a driver module and multiple subsidiary modules. Use START and STOP to bound the driver module. Label each subsidiary module with its name. Use verb + object. Sequence construct should list statements in the order of processing. Bound selection constructs with IF/THEN and IF/THEN/ELSE. Bound repetition constructs with DO/END Do. Use all uppercase for programming language syntax words. Use only data names that are in the data dictionary. Avoid code-level detail.