33
 DATA FLOW DIAGRAMS

Dfd 01(Downloads)

Embed Size (px)

Citation preview

Page 1: Dfd 01(Downloads)

5/16/2018 Dfd 01(Downloads) - slidepdf.com

http://slidepdf.com/reader/full/dfd-01downloads 1/33

 

DATA FLOW DIAGRAMS

Page 2: Dfd 01(Downloads)

5/16/2018 Dfd 01(Downloads) - slidepdf.com

http://slidepdf.com/reader/full/dfd-01downloads 2/33

 

What is a DFD

• In the late 1970s data-flow diagrams (DFDs) 

were introduced and popularized for

structured analysis and design (Gane and

Sarson 1979). DFDs show the flow of data

from external entities into the system, showed

how the data moved from one process to

another, as well as its logical storage. Figure1 presents an example of a DFD using the

Gane and Sarson notation. There are only

four symbols:

Page 3: Dfd 01(Downloads)

5/16/2018 Dfd 01(Downloads) - slidepdf.com

http://slidepdf.com/reader/full/dfd-01downloads 3/33

 

Data Flow Diagrams

• Squares representing external entities, which are sources

or destinations of data.

• Rounded rectangles representing processes, which take

data as input, do something to it, and output it.

• Arrows representing the data flows, which can either be

electronic data or physical items.

• Open-ended rectangles representing data stores,

including electronic stores such as databases or XML

files and physical stores such as or filing cabinets or

stacks of paper.

Page 4: Dfd 01(Downloads)

5/16/2018 Dfd 01(Downloads) - slidepdf.com

http://slidepdf.com/reader/full/dfd-01downloads 4/33

 

Systems Analysis• Focus is the logical view of the

system, not the physical• “What” the system is to accomplish,

not how

• Tools:

–data flow diagrams

–data dictionary–process specification

–entity-relationship diagrams

Page 5: Dfd 01(Downloads)

5/16/2018 Dfd 01(Downloads) - slidepdf.com

http://slidepdf.com/reader/full/dfd-01downloads 5/33

 

Data Flow Diagram: 

"a network representation of a system.The system may be automated, manual,or mixed. The DFD portrays the systemin terms of its component pieces, with all

interfaces among the componentsindicated."

- Tom DeMarco

hence DFDs:focus on the movement  of data betweenexternal entities and processes, andbetween processes and data stores

Page 6: Dfd 01(Downloads)

5/16/2018 Dfd 01(Downloads) - slidepdf.com

http://slidepdf.com/reader/full/dfd-01downloads 6/33

 

Data Flow Diagrams

• n the late 1970s data-flow diagrams (DFDs) 

were introduced and popularized for

structured analysis and design (Gane andSarson 1979). DFDs show the flow of data

from external entities into the system,

showed how the data moved from oneprocess to another, as well as its logical

storage. Figure 1 presents an example of a

DFD using the Gane and Sarson

notation. There are onl four s mbols:

Page 7: Dfd 01(Downloads)

5/16/2018 Dfd 01(Downloads) - slidepdf.com

http://slidepdf.com/reader/full/dfd-01downloads 7/33

Example Data FlowDiagram 

data store

process

externalentity

data flow

 

Page 8: Dfd 01(Downloads)

5/16/2018 Dfd 01(Downloads) - slidepdf.com

http://slidepdf.com/reader/full/dfd-01downloads 8/33

Sources/Sinks(external entities) 

• Any class of people, anorganization, or anothersystem which existsoutside the system youare studying.

• Form the boundaries of the system.

• The system and external

entities exchange data inthe form of data flows.

• Must be named, titlespreferred to names of 

individuals - use a noun

source/

sink

 

Page 9: Dfd 01(Downloads)

5/16/2018 Dfd 01(Downloads) - slidepdf.com

http://slidepdf.com/reader/full/dfd-01downloads 9/33

Data Flows • data in motion• marks movement of data through the

system - a pipeline to carry data• connects the processes, external

entities and data stores• Unidirectional

• originate OR end at a process (or both)• name as specifically as possible -

reflect the composition of the data - anoun

• do not show control flow! Control flowis easy to identify- a signal with onlyone byte - (on/off).

• HINT: if you can't name it: either it'scontrol flow, doesn't exist or you need

to get more information! 

Page 10: Dfd 01(Downloads)

5/16/2018 Dfd 01(Downloads) - slidepdf.com

http://slidepdf.com/reader/full/dfd-01downloads 10/33

Processes • transform incoming data

flows into outgoing dataflows

• represent with a bubble orrounded square

• name with a strongVERB/OBJECTcombination; examples:

create_exception_reportvalidate_input_characters

calculate_discount

process

 

Page 11: Dfd 01(Downloads)

5/16/2018 Dfd 01(Downloads) - slidepdf.com

http://slidepdf.com/reader/full/dfd-01downloads 11/33

Data Stores 

• data at rest

• represents holding areas forcollection of data, processesadd or retrieve data fromthese stores

• name using a noun (do notuse „file‟) 

• only processes are connectedto data stores

• show net flow of databetween data store andprocess. For instance, whenaccess a DBMS, show onlythe result flow, not the

request

data store 

 

Page 12: Dfd 01(Downloads)

5/16/2018 Dfd 01(Downloads) - slidepdf.com

http://slidepdf.com/reader/full/dfd-01downloads 12/33

Data Flow Diagram Don’ts 

processstuff 

1. „Black Hole‟  

processstuff 

2. „It‟s a Miracle‟  

 

Page 13: Dfd 01(Downloads)

5/16/2018 Dfd 01(Downloads) - slidepdf.com

http://slidepdf.com/reader/full/dfd-01downloads 13/33

Data Flow Diagram Don’ts 

A.2

A.1

ds-1

data

4. Leave Things Unlabeled

Corollary: Labels Should

Have Meaning 

Page 14: Dfd 01(Downloads)

5/16/2018 Dfd 01(Downloads) - slidepdf.com

http://slidepdf.com/reader/full/dfd-01downloads 14/33

Data Flow Diagram Don’ts 

data store 5. Miracle datasource

data store5. Black hole datasource

 

Page 15: Dfd 01(Downloads)

5/16/2018 Dfd 01(Downloads) - slidepdf.com

http://slidepdf.com/reader/full/dfd-01downloads 15/33

Data Flow Diagram Don’ts 

6. Data Flows Unassociated With a Process

entity toentitydata store

to entity -or reverse

data storeto datastore

 

Page 16: Dfd 01(Downloads)

5/16/2018 Dfd 01(Downloads) - slidepdf.com

http://slidepdf.com/reader/full/dfd-01downloads 16/33

Data Flow Diagram Don’ts 

1. BLACK HOLES

2. MIRACLES

3. Let it get too COMPLEX: 7 ± 2 processes

4. Leave things UNLABELED

(corollary: labels should have meaning)5. Data stores that are “SOURCES” or

 “SINKS”  

6. Data flows that are UNASSOCIATED witha PROCESS

7. Expect your diagram to be “perfect” the 

first time! 

Page 17: Dfd 01(Downloads)

5/16/2018 Dfd 01(Downloads) - slidepdf.com

http://slidepdf.com/reader/full/dfd-01downloads 17/33

Now you try a DFD

• Attempt a DFD of your own – draw a DFD

for the enrollment process at CFBC. Draw it

on paper.

• Review your DFD Do’s and Don’ts to make

sure you are not violating the rules.

• Then use Visio or Microsoft Draw Toolsand draw the DFD you jotted down.

 

Page 18: Dfd 01(Downloads)

5/16/2018 Dfd 01(Downloads) - slidepdf.com

http://slidepdf.com/reader/full/dfd-01downloads 18/33

Data Flow Diagrams are:

• Used to perform structured analysisto determine logical requirements

• A graphical tool, useful for

communicating with users,managers, and other IS personnel

• Useful for analyzing existing as well

as proposed systems• A relatively simple technique to learn

and use

 

Page 19: Dfd 01(Downloads)

5/16/2018 Dfd 01(Downloads) - slidepdf.com

http://slidepdf.com/reader/full/dfd-01downloads 19/33

Why Conduct Process

Modeling?• Understand components of current logical or physicalsystem for purpose of rebuildingin a different physicalform/technology, possibly withsome changed functionality

• Find inefficiencies in currentsystem

• Re-engineer current system

 

Page 20: Dfd 01(Downloads)

5/16/2018 Dfd 01(Downloads) - slidepdf.com

http://slidepdf.com/reader/full/dfd-01downloads 20/33

Diagramming A System 

• multiple DFDs are required torepresent a system

• DFDs are created at increasing

levels of detail

 

Page 21: Dfd 01(Downloads)

5/16/2018 Dfd 01(Downloads) - slidepdf.com

http://slidepdf.com/reader/full/dfd-01downloads 21/33

Different Types of DFDs

• Context diagram

• Level-0 diagram (system diagram) 

• Level-n diagram

• Primitive diagram

 

Page 22: Dfd 01(Downloads)

5/16/2018 Dfd 01(Downloads) - slidepdf.com

http://slidepdf.com/reader/full/dfd-01downloads 22/33

Context Diagram 

• defines the scope of the system byidentifying the system boundary

• contains:

–one process (which represents theentire system)

–all sources/sinks (external

entities)–data flows linking the process to

the sources and sinks (externalentities)

 

Page 23: Dfd 01(Downloads)

5/16/2018 Dfd 01(Downloads) - slidepdf.com

http://slidepdf.com/reader/full/dfd-01downloads 23/33

Example Context Diagram 

RegistrationSystem

studentcourseselections

businessoffice

Registration detailsschedule

 

Page 24: Dfd 01(Downloads)

5/16/2018 Dfd 01(Downloads) - slidepdf.com

http://slidepdf.com/reader/full/dfd-01downloads 24/33

Constructing a ContextDiagram 

• identify and list sources/sinks(external entities)

• identify and list inputs to andoutputs from sources/sinks(external entities)

• create context diagram

 

Page 25: Dfd 01(Downloads)

5/16/2018 Dfd 01(Downloads) - slidepdf.com

http://slidepdf.com/reader/full/dfd-01downloads 25/33

Level-0 Diagram 

• describes the overall processing of thesystem

• show one process for each majorprocessing step or functional

requirement• data flows from the context appear on

system diagram also (level balancing)

• can show a single data store torepresent all data in aggregate at thislevel

• can draw duplicate sources, sinks and

data stores to increase legibility 

Page 26: Dfd 01(Downloads)

5/16/2018 Dfd 01(Downloads) - slidepdf.com

http://slidepdf.com/reader/full/dfd-01downloads 26/33

Drawing a Level-0 Diagram 

• list the major data stores

• list major business steps

• draw a segment for each businessstep

• assemble into single DFD

• re-organize until satisfied• number processes

 

Page 27: Dfd 01(Downloads)

5/16/2018 Dfd 01(Downloads) - slidepdf.com

http://slidepdf.com/reader/full/dfd-01downloads 27/33

Functional Decomposition 

• similar to a series of more detailed maps

• iterative process of breaking thedescription of a system into finer andfiner detail to create a set of charts inwhich one process on a given chart isexplained in greater detail on anotherchart

• referred to as exploding, partitioning, or

leveling• must use your judgment to decide what

goes on each level

• show error and exception handling on

lower levels (if at all) 

Page 28: Dfd 01(Downloads)

5/16/2018 Dfd 01(Downloads) - slidepdf.com

http://slidepdf.com/reader/full/dfd-01downloads 28/33

Lower Level Diagrams • explode the processes shown on the

level-0 diagram• each process is represented by its own

DFD

• balance data

–data flows on upper level appear onlower level, or

–data flows on upper level are broken into

component pieces with componentsshown on lower level

• each lower level shows greater andgreater detail

• follow numbering convention 

Page 29: Dfd 01(Downloads)

5/16/2018 Dfd 01(Downloads) - slidepdf.com

http://slidepdf.com/reader/full/dfd-01downloads 29/33

Balancing DFDs

• conserve data from level to level -inputs and outputs on the higher

level must appears somewhere onthe lower level

 

Page 30: Dfd 01(Downloads)

5/16/2018 Dfd 01(Downloads) - slidepdf.com

http://slidepdf.com/reader/full/dfd-01downloads 30/33

Advanced Rules 

• Composite data flow on one level can besplit into its component data flows onthe next level - but new data cannot beadded and all data in the composite

must be included in the sub-flows• The inputs to a process must be

sufficient to produce the outputs.

• Lowest level DFDs may add new data

flows to represent exception handling,i.e., error messages

• May repeat data stores or sources/sinkto avoid crossing lines

 

Page 31: Dfd 01(Downloads)

5/16/2018 Dfd 01(Downloads) - slidepdf.com

http://slidepdf.com/reader/full/dfd-01downloads 31/33

Additional Guidelines • the inputs to a process are different  

from the outputs of that process• objects in a set of DFDs have uniquenames

• do not change data flow names on lower

levels unless you are decomposing adata flow into component pieces.• never explode a single process into

another single process. If you cannot

partition the process, then the lowerlevel DFD is not needed.• expect to iterate, put down the DFD and

go back to it a few times to createsomething satisfactory.

 

h i b

Page 32: Dfd 01(Downloads)

5/16/2018 Dfd 01(Downloads) - slidepdf.com

http://slidepdf.com/reader/full/dfd-01downloads 32/33

Other Questions about Lowerlevel diagrams 

1. How deep? (how many levels?)– if the process has only one input or one

output, probably cannot partition further;

– can you describe the process in English in

about 1/2 page?

2. How broad? (how many processes on alevel?)

– 7 ± two is a reasonable heuristic– may temporarily place much of the system

on a single diagram then re-draw intoseparate levels

 

Page 33: Dfd 01(Downloads)

5/16/2018 Dfd 01(Downloads) - slidepdf.com

http://slidepdf.com/reader/full/dfd-01downloads 33/33

Quality Guidelines

• Completeness

–all components included & in projectdictionary

• Consistency

–between levels: balancing, leveling

• Timing considerations

–assume system never starts and neverstops

• Iterative nature– revisions are common

• Drawing primitives (lowest level)

when to stop?