Kendall7e_ch07 Using Dataflow Diagrams

download Kendall7e_ch07 Using Dataflow Diagrams

of 48

Transcript of Kendall7e_ch07 Using Dataflow Diagrams

  • 8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams

    1/48

    Using Dataflow

    Diagrams

    Systems Analysis and Design, 7eKendall & Kendall

    7

    2008 Pearson Prentice Hall

  • 8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams

    2/48

    Kendall & Kendall 7-2

    Learning Objectives

    Comprehend the importance of using logical andphysical data flow diagrams (DFDs) to graphicallydepict movement for humans and systems in an

    organization Create, use, and explode logical DFDs to capture andanalyze the current system through parent and childlevels

    Develop and explode logical DFDs that illustrate the

    proposed system Produce physical DFDs based on logical DFDs youhave developed

    Understand and apply the concept of partitioning ofphysical DFDs

  • 8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams

    3/48

    Kendall & Kendall 7-3

    Data Flow Diagrams

    Graphically characterize data processesand flows in a business system

    Depict:

    System inputs

    Processes

    outputs

  • 8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams

    4/48

    Kendall & Kendall 7-4

    Major Topics

    Data flow diagram symbols

    Data flow diagram levels

    Creating data flow diagrams

    Physical and logical data flow diagrams

    Partitioning Communicating Using Data Flow

    Diagrams

  • 8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams

    5/48

    Kendall & Kendall 7-5

    Advantages of the Data Flow

    Approach Freedom from committing to the

    technical implementation too early

    Understanding of the interrelatednessof systems and subsystems

    Communicating current system

    knowledge to users

    Analysis of the proposed system

  • 8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams

    6/48

    Kendall & Kendall 7-6

    Basic Symbols

    A double square for an external entity

    An arrow for movement of data from

    one point to anotherA rectangle with rounded corners for

    the occurrence of a transforming

    processAn open-ended rectangle for a data

    store

  • 8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams

    7/48Kendall & Kendall 7-7

    Figure 7.1The four basic symbols used in dataflow diagrams, their meanings, and examples

  • 8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams

    8/48Kendall & Kendall 7-8

    External Entities

    Represent another department, abusiness, a person, or a machine

    A source or destination of data, outsidethe boundaries of the system

    Should be named with a noun

  • 8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams

    9/48Kendall & Kendall 7-9

    Data Flow

    Shows movement of data from onepoint to another

    Described with a noun

    Arrowhead indicates the flow direction

    Represents data about a person, place,or thing

  • 8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams

    10/48Kendall & Kendall 7-10

    Process

    Denotes a change in or transformation ofdata

    Represents work being performed in thesystem

    Naming convention Assign the name of the whole system when

    naming a high-level process

    To name a major subsystem attach the wordsubsystem to the name Use the form verb-adjective-noun for detailed

    processes

  • 8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams

    11/48Kendall & Kendall 7-11

    Data Store

    A depository for data that allows examination,addition, and retrieval of data

    Named with a noun, describing the data Data stores are usually given a unique

    reference number, such as D1, D2, D3

    Represents a:

    Filing cabinet Database

    Computerized file

  • 8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams

    12/48Kendall & Kendall 7-12

    Figure 7.2Steps in developing

    data flow diagrams

  • 8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams

    13/48Kendall & Kendall 7-13

    Creating the Context Diagram

    The highest level in a data flow diagram

    Contains only one process, representingthe entire system

    The process is given the number 0

    All external entities, as well as Majordata flows are shown

  • 8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams

    14/48Kendall & Kendall 7-14

    Figure 7.3Context diagram

  • 8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams

    15/48

    Kendall & Kendall 7-15

    Drawing Diagram 0

    The explosion of the context diagram

    May include up to nine processes Each process is numbered

    Major data stores and all external

    entities are included

  • 8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams

    16/48

    Kendall & Kendall 7-16

    Drawing Diagram 0 (Continued)

    Start with the data flow from an entityon the input side

    Work backwards from an output dataflow

    Examine the data flow to or from a data

    storeAnalyze a well-defined process

    Take note of any fuzzy areas

  • 8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams

    17/48

    Kendall & Kendall 7-17

    Figure 7.3Note the greater

    detail in diagram 0

  • 8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams

    18/48

    Kendall & Kendall 7-18

    Data Flow Diagram Levels

    Data flow diagrams are built in layers

    The top level is the Context level

    Each process may explode to a lowerlevel

    The lower level diagram number is the

    same as the parent process number Processes that do not create a child

    diagram are called primitive

  • 8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams

    19/48

    Kendall & Kendall 7-19

    Creating Child Diagrams

    Each process on diagram 0 may beexploded to create a child diagram

    A child diagram cannot produce outputor receive input that the parent processdoes not also produce or receive

    The child process is given the same

    number as the parent process Process 3 would explode to Diagram 3

  • 8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams

    20/48

    Kendall & Kendall 7-20

    Creating Child Diagrams

    (Continued) Entities are usually not shown on the

    child diagrams below Diagram 0

    If the parent process has data flowconnecting to a data store, the childdiagram may include the data store aswell

    When a process is not exploded, it iscalled a primitive process

  • 8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams

    21/48

    Kendall & Kendall 7-21

    Figure 7.4Differences between the parentdiagram (above) and the child diagram (below)

  • 8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams

    22/48

    Kendall & Kendall 7-22

    Checking the Diagrams for Errors

    Forgetting to include a data flow orpointing an arrow in the wrong direction

  • 8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams

    23/48

    Kendall & Kendall 7-23

    Checking the Diagrams for

    Errors (Continued) Connecting data stores and external

    entities directly to each other

  • 8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams

    24/48

    Kendall & Kendall 7-24

    Checking the Diagrams for

    Errors (Continued) Incorrectly labeling processes or data

    flow

    Including more than nine processes ona data flow diagram

  • 8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams

    25/48

    Kendall & Kendall 7-25

    Checking the Diagrams for

    Errors (Continued) Omitting data flow

    Creating unbalanced decomposition (or

    explosion) in child diagrams

  • 8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams

    26/48

    Kendall & Kendall 7-26

    Figure 7.5Typical errors that can occurin a data flow diagram (payroll example)

  • 8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams

    27/48

    Kendall & Kendall 7-27

    Logical and Physical Data FlowDiagrams

    Logical Focuses on the business and how the business

    operates

    Not concerned with how the system will beconstructed

    Describes the business events that take place andthe data required and produced by each event

    Physical Shows how the system will be implemented

    Depicts the system

  • 8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams

    28/48

    Kendall & Kendall 7-28

    Figure 7.7Features common of logicaland physical data flow diagrams

  • 8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams

    29/48

    Kendall & Kendall 7-29

    Figure 7.8The progression ofmodels from logical to physical

  • 8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams

    30/48

    Kendall & Kendall 7-30

    Developing Logical Data Flow

    Diagrams Better communication with users

    More stable systems

    Better understanding of the business byanalysts

    Flexibility and maintenance

    Elimination of redundancy and easiercreation of the physical model

  • 8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams

    31/48

    Kendall & Kendall 7-31

    Developing Physical Data FlowDiagrams

    Clarifying which processes are performed byhumans and which are automated

    Describing processes in more detail Sequencing processes that have to be done ina particular order

    Identifying temporary data stores

    Specifying actual names of files and printouts Adding controls to ensure the processes are

    done properly

  • 8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams

    32/48

    Kendall & Kendall 7-32

    Figure 7.10Physical data flow diagramscontain many items not found in logical data

    flow diagrams

  • 8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams

    33/48

    Kendall & Kendall 7-33

    Event Modeling and Data FlowDiagrams

    An input flow from an external entity issometimes called a trigger because it starts

    the activities of a process Events cause the system to do something and

    act as a trigger to the system

    An approach to creating physical data flowdiagrams is to create a data flow diagramfragment for each unique system event

  • 8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams

    34/48

    Kendall & Kendall 7-34

    Event Response Tables

    An event table is used to create a dataflow diagram by analyzing each event

    and the data used and produced by theevent

    Every row in an event table represents

    a data flow diagram fragment and isused to create a single process on adata flow diagram

  • 8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams

    35/48

    Kendall & Kendall 7-35

    Figure 7.12An event responsetable for an Internet storefront

  • 8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams

    36/48

    Kendall & Kendall 7-36

    Figure 7.13Data flow diagrams for the firstthree rows of the Internet storefront event

    response table

  • 8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams

    37/48

    Kendall & Kendall 7-37

    Use Cases and Data Flow

    Diagrams Each use case defines one activity and

    its trigger, input, and output

    Allows the analyst to work with users tounderstand the nature of the processesand activities and then create a single

    data flow diagram fragment

  • 8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams

    38/48

    Kendall & Kendall 7-38

    Partitioning Data Flow Diagrams

    Partitioning is the process of examining adata flow diagram and determining how it

    should be divided into collections of manualprocedures and computer programs

    A dashed line is drawn around a process orgroup of processes that should be placed in a

    single computer program

  • 8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams

    39/48

    Kendall & Kendall 7-39

    Reasons for Partitioning

    Different user groups

    Timing

    Processes may be separated into differentprograms for security

    Similar tasks

    Efficiency Consistency

    Security

  • 8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams

    40/48

    Kendall & Kendall 7-40

    Partitioning Web Sites

    Improves the way humans use the site

    Improves speed of processing

    Ease of maintaining the site

    Keep the transaction secure

  • 8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams

    41/48

    Kendall & Kendall 7-41

    Communicating UsingData Flow Diagrams

    Use unexploded data flow diagramsearly when ascertaining information

    requirements Meaningful labels for all data

    components

  • 8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams

    42/48

    Kendall & Kendall 7-42

    Summary

    Data flow diagrams Structured analysis and design tools that

    allow the analyst to comprehend the system

    and subsystems visually as a set ofinterrelated data flows

    DFD symbols Rounded rectangle

    Double square An arrow Open-ended rectangle

  • 8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams

    43/48

    Kendall & Kendall 7-43

    Summary (Continued)

    Creating the logical DFD

    Context-level data flow diagram

    Level 0 logical data flow diagram Child diagrams

    Creating the physical DFD

    Create from the logical data flow diagram Partitioned to facilitate programming

  • 8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams

    44/48

    Kendall & Kendall 7-44

    Summary (Continued)

    Partitioning data flow diagrams Whether processes are performed by

    different user groups Processes execute at the same time

    Processes perform similar tasks

    Batch processes can be combined for

    efficiency of data Processes may be partitioned into different

    programs for security reasons

    Example 1:

  • 8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams

    45/48

    Example 1:

    Lincoln Pizzas ordering system

    Lincoln Pizza is a small restaurant on Lincoln Ave. Most of its customers are students. Inthe current manual ordering system, the restaurant employees have to go through threedifferent activities in order to process a pizza order.

    The first activity, called Receiving the order, consists in getting customers information(such as name, phone number, and address), and getting orders information (such as the

    pizza size, the type of crust, and the ingredients needed to make the pizza). The sameprocess also checks the availability of the ingredients needed before setting the status ofthe pizza order as valid. When a pizza order is valid, the employee in charge of Receivingthe order provides the valid order information to the cooks who make the pizza.

    The second activity, Making the pizza, consists in getting the ingredients needed (fromcontainers in the kitchen) and actually cooking the pizza. At the end of that process, the

    cooks have to update the manual file that keeps track of the ingredients. They, then,provide the drivers in charge of delivering the pizza with the (completed) status of theorder.

    The final activity, Delivering the pizza, done by the drivers consists in getting address andpayment information from the employee in charge of Receiving the order, and actuallydelivering the pizza. The drivers provide the customers with a receipt and get the payment.

    Kendall & Kendall 7-45

  • 8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams

    46/48

    Kendall & Kendall 7-46

  • 8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams

    47/48

    Kendall & Kendall 7-47

  • 8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams

    48/48

    Example 2:

    Scargill Ltd is a distributor of imported ironmongery with a manual accounting system inwhich sales orders and invoicing are carried out as follows

    Orders are received by the sales order/invoicing department, mainly by telephone.

    On receipt, an official order form is prepared and passed to the sales ledger clerk to be

    vetted for creditworthiness of the customer.

    From there it is passed to the dispatch department to prepare pre-numbered dispatchdocuments and assemble the goods for dispatch.

    The dispatch department then prepares a delivery schedule for delivering the variousorders by its own transport. After delivery a copy of each delivery note, signed by thecustomer, is returned to the dispatch department for matching with the original.

    The dispatch department accounts for all dispatch note numbers and passes executednotes to the sales order/invoicing department for invoice typing.

    The invoicing department dispatches top copy invoices direct to the customers and thesecond copies go to the ledger clerk for entry into the sales journal and posting to thesales ledger.