DATA FLOW DIAGRAMS

    Summary of technique from Page-Jones

Diagram symbols

    Circles are processes.

    Directional lines are data flows.

    Boxes are data sources or sinks.

    Parallel lines are data stores.

Conventions

    Each process must have at least one data flow going in.

    Each process must produce at least one outgoing data flow.

    Use a data store whenever data is created but not immediately used.

    Data flow going into a store means update.

    Data flow going out of a store means read only.

Drawing the CONTEXT DIAGRAM

    Create an EVENT LIST of users, events, and inputs and outputs for each event.

    Draw the system as one process. Draw each user as a source/sink box.

    Draw each input or output as a data flow linking a user to the system. (If an event does not have an input or output, eliminate it. If you think of a data flow not covered in the EVENT LIST, add an event.) Label each data flow. (No data stores are shown on the context diagram).

    Enter each data flow in the DATA DICTIONARY.

    Cross check. Make sure each event in EVENT LIST has an associated data flow. Make sure each data flow on the CONTEXT DIAGRAM has an associated event. (You could write the event number next to each data flow.)

Draw a Preliminary DFD

    Use a large sheet of paper or a chalkboard.

    Draw a process circle for each event in the EVENT LIST.

    Add input and output data flows. (Refer to EVENT LIST.)

    Name each process. Use a verb followed by a direct object.

    Add data stores for each process which receives data but does notsend any out of the system. Also, DO NOT connect one process to another in this preliminary DFD. Show all data as being stored after generation.

    Optinal: Control flows may be represented as dotted lines.

Draw a Levelled DFD

Writing mini-specs

    Write a functional mini-spec (sometimes called process specification) for each process on the lower-level DFD's.

    The mini-spec must describe some transformation of the input data into the output data. If data is not transformed in some way, you don't have a process.

    The mini-spec states WHAT the transformation is, not HOW it is to be carried out.

    Use only nouns that are in the DATA DICTIONARY.

    The mini-spec is written using structured English or decision trees.