1 of 27

Modeling Tools for Systems Analyst

� �

Context Diagram

Data Flow Diagram(level 0,Level1 and Level2)

2 of 27

3 of 27

Process Modeling

  • Process modeling involves graphically representing the functions, or processes, that capture, manipulate, store, and distribute data between a system and its environment and between components within a system. A common form of process model is a Data Flow Diagram.

4 of 27

Context Diagram

  • Context diagram is an overview of an organizational system that shows:
    • the system boundaries.
    • external entities that interact with the system.
    • major information flows between the entities and the system.
  • A Context Diagram is a single picture that has the system of interest at the center, with no details of its interior structure or function, surrounded by those elements in its environment with which it interacts

5 of 27

Definitions and Symbols

FIGURE 7-2

Comparison of DeMarco and Yourdon

and Gane and Sarson DFD symbol sets

6 of 27

Definitions and Symbols (Cont.)

  • Process: work or actions performed on data (inside the system)
  • Data store: data at rest (inside the system)

7 of 27

Definitions and Symbols (Cont.)

  • Source/sink: external entity that is origin or destination of data (outside the system)
  • Data flow: arrows depicting movement of data

8 of 27

Developing DFDs (Cont.)

  • Level-0 diagram is a data flow diagram that represents a system’s major processes, data flows, and data stores at a high level of detail.
    • Processes are labeled 1.0, 2.0, etc. These will be decomposed into more primitive (lower-level) DFDs.

9 of 27

Context Diagram

FIGURE 7-4

Context diagram of Hoosier Burger’s food-ordering system

10 of 27

Level-0 Diagram

FIGURE 7-5

Level-0 DFD of Hoosier Burger’s food-ordering system

11 of 27

Data Flow Diagramming Rules

  • There are two DFD guidelines that apply:
    • The inputs to a process are different from the outputs of that process.
      • Processes purpose is to transform inputs into outputs.
    • Objects on a DFD have unique names.
      • Every process has a unique name.

12 of 27

Decomposition of DFDs

  • Functional decomposition is an iterative process of breaking a system description down into finer and finer detail.
    • Creates a set of charts in which one process on a given chart is explained in greater detail on another chart.
    • Continues until no subprocess can logically be broken down any further.

13 of 27

Decomposition of DFDs (Cont.)

  • Primitive DFD is the lowest level of a DFD.
  • Level-1 diagram results from decomposition of Level-0 diagram.
  • Level-n diagram is a DFD diagram that is the result of n nested decompositions from a process on a level-0 diagram.

14 of 27

Level-1 DFD

Level-1 DFD shows the sub-processes of one of the processes in the Level-0 DFD.

This is a Level-1 DFD for Process 4.0.

Processes are labeled 4.1, 4.2, etc. These can be further decomposed in more primitive (lower-level) DFDs if necessary.

FIGURE 7-8

Level-1 diagram showing the decomposition of Process 4.0 from the level-0 diagram for Hoosier Burger’s food-ordering system

15 of 27

Level-n DFD

Level-n DFD shows the sub-processes of one of the processes in the Level n-1 DFD.

This is a Level-2 DFD for Process 4.3.

Processes are labeled 4.3.1, 4.3.2, etc. If this is the lowest level of the hierarchy, it is called a primitive DFD.

FIGURE 7-9

Level-2 diagram showing the decomposition of Process 4.3 from the level-1 diagram for Process 4.0 for Hoosier Burger’s food-ordering system

16 of 27

Balancing DFDs

  • Conservation Principle: conserve inputs and outputs to a process at the next level of decomposition
  • Balancing: conservation of inputs and outputs to a data flow diagram process when that process is decomposed to a lower level

17 of 27

Balancing DFDs (Cont.)

  • Balanced means:
    • Number of inputs to lower level DFD equals number of inputs to associated process of higher-level DFD
    • Number of outputs to lower level DFD equals number of outputs to associated process of higher-level DFD

18 of 27

Balancing DFDs (Cont.)

This is unbalanced because the process of the context diagram has only one input but the Level-0 diagram has two inputs.

1 input

1 output

2 inputs

1 output

FIGURE 7-10 An unbalanced set of data flow diagrams

(a) Context diagram

(b) Level-0 diagram

19 of 27

20 of 27

21 of 27

Balancing DFDs (Cont.)

  • Data flow splitting is when a composite data flow at a higher level is split and different parts go to different processes in the lower level DFD.
  • The DFD remains balanced because the same data is involved, but split into two parts.

22 of 27

Guidelines for Drawing DFDs

  • Completeness
    • DFD must include all components necessary for system.
  • Consistency
    • The extent to which information contained on one level of a set of nested DFDs is also included on other levels

23 of 27

Guidelines for Drawing DFDs (Cont.)

  • Timing
    • Time is not represented well on DFDs.
    • Best to draw DFDs as if the system has never started and will never stop.
  • Iterative Development
    • Analyst should expect to redraw diagram several times before reaching the closest approximation to the system being modeled.

24 of 27

Guidelines for Drawing DFDs (Cont.)

  • Primitive DFDs
    • Lowest logical level of decomposition
    • Decision has to be made when to stop decomposition

25 of 27

Guidelines for Drawing DFDs (Cont.)

  • Rules for stopping decomposition
    • When each process has been reduced to a single decision, calculation or database operation
    • When each data store represents data about a single entity

26 of 27

Guidelines for Drawing DFDs (Cont.)

  • Rules for stopping decomposition, cont.
    • When the system user does not care to see any more detail
    • When every data flow does not need to be split further to show that data are handled in various ways

27 of 27

Guidelines for Drawing DFDs (Cont.)

  • Rules for stopping decomposition, cont.
    • When you believe that you have shown each business form or transaction, online display and report as a single data flow
    • When you believe that there is a separate process for each choice on all lowest-level menu options