• No results found

Data Flow Diagram (DFD) Description A Data Flow Diagram (DFD) tracks processes and their data paths within the business or system boundary under inves

N/A
N/A
Protected

Academic year: 2021

Share "Data Flow Diagram (DFD) Description A Data Flow Diagram (DFD) tracks processes and their data paths within the business or system boundary under inves"

Copied!
10
0
0

Loading.... (view fulltext now)

Full text

(1)

Data Flow Diagram (DFD) Data Flow Diagram (DFD) Description

Description  A

 A Data Data Flow Flow Diagram Diagram (DFD) (DFD) tracks tracks processes processes and and their their data data paths paths withinwithin the business or system boundary under investigation. A DFD defines each the business or system boundary under investigation. A DFD defines each domain boundary and illustrates the logical movement and transformation domain boundary and illustrates the logical movement and transformation of data within the defined boundary. The diagram shows 'what' input data of data within the defined boundary. The diagram shows 'what' input data enters the domain 'what' logical processes the domain applies to that data

enters the domain 'what' logical processes the domain applies to that data

and 'what' output data leaves the domain. !ssentially a DFD is a tool for  and 'what' output data leaves the domain. !ssentially a DFD is a tool for  process modelling and one of the oldest.

process modelling and one of the oldest.

Uses Uses  A

 A Data Data Flow Flow Diagram Diagram is is useful useful for for establishing establishing the the boundary boundary of of thethe bu

busisineness ss or or sysyststem em dodomamain in (t(the he spsphehere re of of ananalalyysisis s acactitivivityty) ) unundeder r  in

inveveststigigatatioion. n. "t "t ididenentitififies es any any e#e#teternarnal l enentititities es aloalong ng wiwith th ththeieir r dadatata interfaces that interact with the processes of interest. A DFD can be a interfaces that interact with the processes of interest. A DFD can be a useful tool (particularly when used as a top DFD $ refer to

useful tool (particularly when used as a top DFD $ refer to %onte#t diagram%onte#t diagram)) for helping secure stakeholder agreement (sign$off) on the pro&ect scope. "t for helping secure stakeholder agreement (sign$off) on the pro&ect scope. "t is also a useful tool for breaking down a process into its sub$processes for  is also a useful tool for breaking down a process into its sub$processes for  closer analysis.

closer analysis.

Application Application  A Data Flow

 A Data Flow Diagram can Diagram can be be modelled modelled early early in the in the reuirements reuirements elicitationelicitation process of the Analysis phase within the ystem Development ife %ycle process of the Analysis phase within the ystem Development ife %ycle (D%) to define the pro&ect scope. A DFD can also be created throughout (D%) to define the pro&ect scope. A DFD can also be created throughout th

the e DD% % to to ininveveststigigatate e an an asaspecpect t of of ththe e sysyststem. em. "f "f necnecesessasaryry  eaceachh pr

prococesess s unundeder r ststudy udy wiwiththin in a a DFDFD D ccan an be be brbrokoken en dodowwn n ininto to itits s susub$b$

processes on a new DFD to show more details. A sub$process in turn can processes on a new DFD to show more details. A sub$process in turn can be broken down further to reveal its sub$processes on a new DFD and so be broken down further to reveal its sub$processes on a new DFD and so on until sufficient analysis is reached. The activity of drilling down the DFD on until sufficient analysis is reached. The activity of drilling down the DFD le

levevels ls is is cacalllled ed 'fun'functctioionanal l dedecocompmpososititioion' n' wiwith th ththe e resuresultltining g new new DFDFDD referred to as a 'levelled DFD'. For e#ample the top level DFD (also known referred to as a 'levelled DFD'. For e#ample the top level DFD (also known as a

as a %onte#t diagram%onte#t diagram) is a level * DFD level + DFD refers to the initial) is a level * DFD level + DFD refers to the initial decomposition level , DFD to a second level decomposition and so on.

decomposition level , DFD to a second level decomposition and so on.

Audience Audience Th

The e prprimimary ary auaudidiencence e ininvovolvlved ed wiwith th a a DFDFD D arare e ststakakeheholdolderers s susuch ch asas pro&ect sponsors managers and sub&ect matter e#perts who provide the pro&ect sponsors managers and sub&ect matter e#perts who provide the

(2)

information for a DFD and are the same people who should approve each information for a DFD and are the same people who should approve each DFD. -ro&ect managers and reuirements teams are also involved to plan DFD. -ro&ect managers and reuirements teams are also involved to plan the pro&ect work.

the pro&ect work.

Components Components  A

 A DFD can be assembled from the following four componentsDFD can be assembled from the following four components

Process:

Process: A  A process process is is a a logical logical activity activity that that transforms transforms or or manipulatesmanipulates incoming data within the domain under investigation. A process can be incoming data within the domain under investigation. A process can be regarded as a 'black bo#'/ it receives input processes it and produces regarded as a 'black bo#'/ it receives input processes it and produces output. A rounded rectangle (or circle) represents a process under study.

output. A rounded rectangle (or circle) represents a process under study.

!ach process is labelled inside its rectangle to describe its function or 

!ach process is labelled inside its rectangle to describe its function or  purpose. "t is common to use a verb$noun phrase for naming a process

purpose. "t is common to use a verb$noun phrase for naming a process

e.g. 0%heck stock1 and 02eserve product1. "f several Data Flow Diagrams e.g. 0%heck stock1 and 02eserve product1. "f several Data Flow Diagrams reference each other (e.g. as in a decomposed levelled DFD structure) reference each other (e.g. as in a decomposed levelled DFD structure) each process should be tagged with a numbering scheme or identifier to each process should be tagged with a numbering scheme or identifier to show the hierarchical relationships between them. For e#ample 'process show the hierarchical relationships between them. For e#ample 'process +.

+.*' *' in in lelevevel l * * DFD DFD cacan n dedecocompmposose e ininto to 'p'prorocecess ss +.+.+'+'  'p'prorocecess ss +.+.,',' 'process +.3' etc in level + DFD. imilarly 'process +.+' in level + DFD can 'process +.3' etc in level + DFD. imilarly 'process +.+' in level + DFD can decompose further into 'process +.+.+' 'process +.+.,' etc in level , DFD

decompose further into 'process +.+.+' 'process +.+.,' etc in level , DFD

and so on. "t is usual to place the level identifier above the process name and so on. "t is usual to place the level identifier above the process name with a hori4ontal line separating them.

with a hori4ontal line separating them.

Externa

External l entityentity:: An  An e#ternal e#ternal entity entity sits sits outside outside the the domain domain of of interest interest andand supplies data to or receives data from the domain. An e#ternal entity is supplies data to or receives data from the domain. An e#ternal entity is referred to as an e#ternal source or sink (destination) for data flowing in referred to as an e#ternal source or sink (destination) for data flowing in and out of the domain. A rectangle defines an e#ternal entity and is labelled and out of the domain. A rectangle defines an e#ternal entity and is labelled w

witith h a a nonoun un phphrarase se ininsiside de itits s rectrectananglgle e to to dedescscriribe be an an ororgaganinisasatitionon process machine or person (i.e. a thing) that is outside the domain under  process machine or person (i.e. a thing) that is outside the domain under  analysis. !#amples of naming an e#ternal entity are 0-ayment company1

analysis. !#amples of naming an e#ternal entity are 0-ayment company1

0tore locator1 '5ainframe server' and 0%ustomer1. 6ote an e#ternal entity 0tore locator1 '5ainframe server' and 0%ustomer1. 6ote an e#ternal entity in a DFD is not permitted to transform data/ only a process can.

in a DFD is not permitted to transform data/ only a process can.

Data flow:

Data flow: A  A data data flow flow represents represents the the path path of of data data moving moving through through thethe domain under anal

domain under analysis. A ysis. A data flow shows the movement of ddata flow shows the movement of data between aata between a process and an e#ternal entity a process and another process and a process and an e#ternal entity a process and another process and a process and a data store (data repository). An arrow is the symbol used to process and a data store (data repository). An arrow is the symbol used to connect a process with other DFD components. !ach arrow should be connect a process with other DFD components. !ach arrow should be labelled appropriately to describe the data being passed e.g. 0%ustomer  labelled appropriately to describe the data being passed e.g. 0%ustomer  detail

details1 02e&ected order1 and s1 02e&ected order1 and 'toc'tock k level lookup' are level lookup' are commoncommon. A data flow. A data flow can move the same type of data in both directions in which case both ends can move the same type of data in both directions in which case both ends

(3)

information for a DFD and are the same people who should approve each information for a DFD and are the same people who should approve each DFD. -ro&ect managers and reuirements teams are also involved to plan DFD. -ro&ect managers and reuirements teams are also involved to plan the pro&ect work.

the pro&ect work.

Components Components  A

 A DFD can be assembled from the following four componentsDFD can be assembled from the following four components

Process:

Process: A  A process process is is a a logical logical activity activity that that transforms transforms or or manipulatesmanipulates incoming data within the domain under investigation. A process can be incoming data within the domain under investigation. A process can be regarded as a 'black bo#'/ it receives input processes it and produces regarded as a 'black bo#'/ it receives input processes it and produces output. A rounded rectangle (or circle) represents a process under study.

output. A rounded rectangle (or circle) represents a process under study.

!ach process is labelled inside its rectangle to describe its function or 

!ach process is labelled inside its rectangle to describe its function or  purpose. "t is common to use a verb$noun phrase for naming a process

purpose. "t is common to use a verb$noun phrase for naming a process

e.g. 0%heck stock1 and 02eserve product1. "f several Data Flow Diagrams e.g. 0%heck stock1 and 02eserve product1. "f several Data Flow Diagrams reference each other (e.g. as in a decomposed levelled DFD structure) reference each other (e.g. as in a decomposed levelled DFD structure) each process should be tagged with a numbering scheme or identifier to each process should be tagged with a numbering scheme or identifier to show the hierarchical relationships between them. For e#ample 'process show the hierarchical relationships between them. For e#ample 'process +.

+.*' *' in in lelevevel l * * DFD DFD cacan n dedecocompmposose e ininto to 'p'prorocecess ss +.+.+'+'  'p'prorocecess ss +.+.,',' 'process +.3' etc in level + DFD. imilarly 'process +.+' in level + DFD can 'process +.3' etc in level + DFD. imilarly 'process +.+' in level + DFD can decompose further into 'process +.+.+' 'process +.+.,' etc in level , DFD

decompose further into 'process +.+.+' 'process +.+.,' etc in level , DFD

and so on. "t is usual to place the level identifier above the process name and so on. "t is usual to place the level identifier above the process name with a hori4ontal line separating them.

with a hori4ontal line separating them.

Externa

External l entityentity:: An  An e#ternal e#ternal entity entity sits sits outside outside the the domain domain of of interest interest andand supplies data to or receives data from the domain. An e#ternal entity is supplies data to or receives data from the domain. An e#ternal entity is referred to as an e#ternal source or sink (destination) for data flowing in referred to as an e#ternal source or sink (destination) for data flowing in and out of the domain. A rectangle defines an e#ternal entity and is labelled and out of the domain. A rectangle defines an e#ternal entity and is labelled w

witith h a a nonoun un phphrarase se ininsiside de itits s rectrectananglgle e to to dedescscriribe be an an ororgaganinisasatitionon process machine or person (i.e. a thing) that is outside the domain under  process machine or person (i.e. a thing) that is outside the domain under  analysis. !#amples of naming an e#ternal entity are 0-ayment company1

analysis. !#amples of naming an e#ternal entity are 0-ayment company1

0tore locator1 '5ainframe server' and 0%ustomer1. 6ote an e#ternal entity 0tore locator1 '5ainframe server' and 0%ustomer1. 6ote an e#ternal entity in a DFD is not permitted to transform data/ only a process can.

in a DFD is not permitted to transform data/ only a process can.

Data flow:

Data flow: A  A data data flow flow represents represents the the path path of of data data moving moving through through thethe domain under anal

domain under analysis. A ysis. A data flow shows the movement of ddata flow shows the movement of data between aata between a process and an e#ternal entity a process and another process and a process and an e#ternal entity a process and another process and a process and a data store (data repository). An arrow is the symbol used to process and a data store (data repository). An arrow is the symbol used to connect a process with other DFD components. !ach arrow should be connect a process with other DFD components. !ach arrow should be labelled appropriately to describe the data being passed e.g. 0%ustomer  labelled appropriately to describe the data being passed e.g. 0%ustomer  detail

details1 02e&ected order1 and s1 02e&ected order1 and 'toc'tock k level lookup' are level lookup' are commoncommon. A data flow. A data flow can move the same type of data in both directions in which case both ends can move the same type of data in both directions in which case both ends

(4)

should show the arrows. Data flows are also useful for identifying interfaces should show the arrows. Data flows are also useful for identifying interfaces which will need closer data analysis (e.g. !2 data modelling). 6ote that a which will need closer data analysis (e.g. !2 data modelling). 6ote that a data flow is considered to be

data flow is considered to be withiwithin the n the domain of the domain of the process under studyprocess under study whereas an e#ternal entity is not.

whereas an e#ternal entity is not.

Data store:

Data store: A  A data data store store represents represents a a logical logical data data repository repository accessibleaccessible within the domain under study. A data store can be a place where data is within the domain under study. A data store can be a place where data is cr

creaeateted d rereadad  chchanangeged d anand d ststorored ed tetempmpororararilily y or or pepermrmananenentltly y by by aa process. A thin rectangle with the right side open (or two hori4ontal parallel process. A thin rectangle with the right side open (or two hori4ontal parallel lines) shows a data store and is labelled with a noun phrase inside its lines) shows a data store and is labelled with a noun phrase inside its rectangle to describe the data stored e.g. '7rder records' and '7nline rectangle to describe the data stored e.g. '7rder records' and '7nline catalogue'. -hysically a data store can represent a file or a database catalogue'. -hysically a data store can represent a file or a database system. 6ote a data store is not permitted to process data.

system. 6ote a data store is not permitted to process data.

Note:

Note:

Th

Therere e arare e twtwo o mamain in ststylyles es of of didiagagrarammmmatatic ic nonotatatitions ons fofor r DaData ta FlFlowow Diagrams/ 8ane 9 arson notation set (e.g. rounded suare symbol for a Diagrams/ 8ane 9 arson notation set (e.g. rounded suare symbol for a process missing right$sided thin rectangle symbol for a data store) and process missing right$sided thin rectangle symbol for a data store) and :ourdon's notation (e.g. circle symbol for a process parallel hori4ontal lines :ourdon's notation (e.g. circle symbol for a process parallel hori4ontal lines symbol for a data store).

symbol for a data store).

;hile there are guiding principles and rules for using Data Flow Diagrams

;hile there are guiding principles and rules for using Data Flow Diagrams

in

in prpracactiticce e ththey ey arare e nonot t nnececesessasaririly ly alalwwayays s fofolllolowweded. . oome me DFDFDD pra

practctititioionerners s adadd d new new sysymbombols ls or or adadapt apt ththe e ruruleles s to to suit suit ththeieir r neeneedsds..

ometimes this could be useful but the important point is that whatever the

ometimes this could be useful but the important point is that whatever the prin

principciples les or or rulrules es they should they should be be applapplied ied consconsististentently ly thrthrougoughout hout thethe pro&ect. The following are some of the principles and rules for using Data pro&ect. The following are some of the principles and rules for using Data Flow Diagrams

Flow Diagrams

Principles:

Principles:

;ithin a DFD the e#ternal environment (i.e. e#ternal entities) sends data

;ithin a DFD the e#ternal environment (i.e. e#ternal entities) sends data into the domain under analysis where it is transformed as it moves from into the domain under analysis where it is transformed as it moves from one

one prprococesess s to to anothanother er ininsiside de ththe e domdomaiain. n. ThThe e proprocesscessed ed datdata a fifinalnallyly returns to the e#ternal environment as output data.

returns to the e#ternal environment as output data.

 A DFD

 A DFD is is designed designed to to be be broken broken down down or or decomposed decomposed into into a a hierarchicalhierarchical tree structure of Data Flow Diagrams (DFD levels) with each child DFD tree structure of Data Flow Diagrams (DFD levels) with each child DFD revealing more details than its parent.

revealing more details than its parent.

Rules:

Rules:

 A

 A process process and and a a data data store store must must each each have have incoming incoming and and outgoing outgoing datadata flows.

flows.

 A

 A process process and and a a data data store store can can each each have have one one or or more more input input data data flowsflows and one or more output data flows.

and one or more output data flows.

(5)

 A

 A process process can can connect connect to to any any other other component component including including to to another another  process.

process.

 An e#ternal entity must send its outgoing data flow only to a process.

 An e#ternal entity must send its outgoing data flow only to a process.

 An e#ternal entity must receive an input data flow only from a process.

 An e#ternal entity must receive an input data flow only from a process.

 A

 A data store receives an incoming data flow only from a process.data store receives an incoming data flow only from a process.

 A

 A data store sends an output data flow only to a process.data store sends an output data flow only to a process.

7nly a process is permitted to transform or change data.

7nly a process is permitted to transform or change data.

Development Development

The following steps present guidelines for developing Data Flow Diagrams

The following steps present guidelines for developing Data Flow Diagrams

Defin

Define e the process:the process: tart a DFD by identifying each process under studytart a DFD by identifying each process under study and naming it appropriately. "f the process needs to be broken down into and naming it appropriately. "f the process needs to be broken down into su

sub$pb$procrocesesseses s fofor r fufurtrtheher r anaanalylysisis s add add a a numnumbeberinring g scschemheme e to to eaceachh process to show the hierarchical relationships between the parent and child process to show the hierarchical relationships between the parent and child processes (see '-rocess' under %omponent section). Also label each DFD processes (see '-rocess' under %omponent section). Also label each DFD with a descriptive name for referencing purposes appending its levelled with a descriptive name for referencing purposes appending its levelled DFD seuence identifier appr

DFD seuence identifier appropriately.opriately.

Identify external entities:

Identify external entities: "dentify each e#ternal entity that interacts or "dentify each e#ternal entity that interacts or  impacts the process of interest and label each one with a descriptive name.

impacts the process of interest and label each one with a descriptive name.

Connect data flows:

Connect data flows: %onnect each e#ternal entity to the process under %onnect each e#ternal entity to the process under  investigation by an arrow to show its data flow direction. 6ame each data investigation by an arrow to show its data flow direction. 6ame each data flow clearly and as close to it as possible so as to avoid confusing the flow clearly and as close to it as possible so as to avoid confusing the name with other d

name with other data flows close by.ata flows close by.

Identify data stores:

Identify data stores: Add an Add any identified y identified data store data store on on the diagrathe diagram label m label itit and connect its data flow to its associated process.

and connect its data flow to its associated process.

Repeat the steps for each levelled DD:

Repeat the steps for each levelled DD: 2epeat the above steps for 2epeat the above steps for  each levelled DFD that is discovered or needed for further analysis. Finally

each levelled DFD that is discovered or needed for further analysis. Finally

nam

name e eaceach h DFDFD D coconsnsisistetentntly ly fofor r refrefererencencining g baback ck to to it it ththrouroughghouout t ththee pro&ect.

pro&ect.

!ips:

!ips:

<eep in mind the following pointers when developing Data Flow

<eep in mind the following pointers when developing Data Flow Diagrams

Diagrams

Decide which style of notation (8ane 9 arson or :ourdon) to use for the Decide which style of notation (8ane 9 arson or :ourdon) to use for the DFD components throughout the pro&ect.

DFD components throughout the pro&ect.

=egin with the %onte#t diagram to show the target domain's top process

=egin with the %onte#t diagram to show the target domain's top process (think of it as the top 'black bo#') with its ma&or e#ternal entities and data (think of it as the top 'black bo#') with its ma&or e#ternal entities and data flows. This will illustrate the overall business or system under investigation

flows. This will illustrate the overall business or system under investigation

includ

including its ing its domain boundary from domain boundary from the outside environment. ometimthe outside environment. ometimes ites it may be useful to leave out any data store details in a %onte#t diagram in may be useful to leave out any data store details in a %onte#t diagram in

(6)

order to focus on the big picture/ there is an assumption that the data order to focus on the big picture/ there is an assumption that the data stores are included within the top process.

stores are included within the top process.

"f

"f yyou ou wwisish h tto o aavovoid id dadata ta flflow ow lilinenes s crcrosossising ng oovever r eaceach h ooththerer  trtryy rep

repososititioionining ng ththe e compcomponeonentnts s to to sesee e if if ththis is hehelplps. s. "f "f it it dodoes es notnot  it it isis acceptable to duplicate components on the diagram for this purpose.

acceptable to duplicate components on the diagram for this purpose.

"f possible limit the number of decomposition DFD levels to three/ it will be

"f possible limit the number of decomposition DFD levels to three/ it will be eas

easieier r fofor r ststakakehoeholdlderers s to to fofollllowow. . "f "f fufurtrtheher r DFDFD D lelevevels ls arare e necnecesessasaryry provide a separate diagram to show the hierarchical tree structure of all the provide a separate diagram to show the hierarchical tree structure of all the levels involved.

levels involved.

"t

"t is is cocommmmon on to to attaattach ch a a %o%ontnte#e#t t didiagagraram m in in a a hihighgh$l$levevel el bubusisinenessss reuirements document to define the pro&ect scope. 5ore detailed Data reuirements document to define the pro&ect scope. 5ore detailed Data Flow Diagrams can be developed later on during the analysis phase and Flow Diagrams can be developed later on during the analysis phase and attached to the reuirements specification or functional documentation as attached to the reuirements specification or functional documentation as needed.

needed.

!ngage pro&ect stakeholders when developing Data Flow Diagrams and

!ngage pro&ect stakeholders when developing Data Flow Diagrams and secure their approval (sigh$off) as soon as possible.

secure their approval (sigh$off) as soon as possible.

(7)

Decomposing diagrams into Level 2 and lower hierarchical levels What is a Level 2 (or lower) DFD

We have already seen how a level 0 Context Diagram can be decomposed (exploded) into a level 1 DFD. In DFD modeling terms we tal o! the Context Diagram as the

"parent# and the level 1 diagram as the "child#.

$his same process can be applied to each process appearing within a level 1 DFD. % DFD that represents a decomposed level 1 DFD process is called a level & DFD.

$here can be a level & DFD !or each process that appears in the level 1 DFD.

% possible level & DFD !or process '& oan o! video* o! the level 1 DFD is as

!ollows

 +ote, that every data !low into and o-t o! the parent process m-st appear as part o! the child DFD. $he n-mbering o! processes in the child DFD is derived !rom the n-mber o! the parent process  so all processes in the child DFD o! process &, will be called

&./ (where / is the arbitrary n-mber o! the process on the level & DFD). %lso there are no new data !lows into or o-t o! this diagram  this ind o! data !low validation is called balancing.

oo at the rectang-lar bo-ndary !or this level & DFD. -tside the bo-ndary is the external entity "C-stomer#. %lso o-tside the bo-ndary are the two data stores 

altho-gh these data stores are inside the system (see the level 1 DFD), they are o-tside the scope o! this level & DFD.

Constructing Level 2 (and lower) DFDs - Functional Decomposition

$he evel 1 Data Flow Diagram provides an overview o! the system. %s the analysts#

-nderstanding o! the system increases, it becomes necessary to expand most o! the

evel 1 processes to a second or even third level in order to depict the detail within it.

Decomposition is applied i! necessary  i.e. i! there is eno-gh detail hidden within the process  to each o! the processes on the evel 1 diagram. 2ach process on the

evel & diagrams also needs to be checed !or possible decomposition, and so on.

% process box that cannot be decomposed !-rther is mared with an asteris in the  bottom right hand corner. % brie! narrative description o! each bottom3level process

sho-ld be provided with the Data Flow Diagrams to complete the doc-mentation o!

the Data Flow 4odel.

(8)

2ach process on the evel 1 diagram is investigated in more detail, to give a greater -nderstanding o! the activities and data !lows. +ormally processes are decomposed where

$here are more than six data !lows aro-nd the process

$he process name is complex or very general which indicates that it incorporates a n-mber o! activities.

$he !ollowing steps are s-ggested to aid the decomposition o! a process !rom one DFD to a lower level DFD. %s yo- can see they are very similar to the steps !or creating a evel 1 DFD !rom a context diagram

1. Make the process box on the Level 1 diagram the system boundary on the Level 2 diagram that decomposes it. $his evel & diagram m-st balance with its "parent# process box  i.e. $he data !lows to and !rom the process on the

evel 1 diagram will all become data !lows across the system bo-ndary on the

evel & diagram. $he so-rces and recipients o! data !lows across the evel &

system bo-ndary are drawn o-tside the bo-ndary and labeled exactly as they are on the evel 1 diagram. +ote that these so-rces and recipients may be data stores, as well external entities or other processes  this is beca-se a data store in a evel 1 diagram will be o-tside the bo-ndary o! a evel & process that sends or receives data !lows to5!rom the data store.

&. Identify the processes inside the Level 2 system boundary and draw these processes and their data flows. 6emember, each data !low into and o-t o! the

evel & system bo-ndary sho-ld be to5!rom a process. 7sing the res-lts o! the more detailed investigation, !ilter o-t and draw the processes at the lower level that send and receive in!ormation both across and within the evel & system  bo-ndary. 7se the level n-mbering system to n-mber s-b3processes so that, !or

example, 8rocess 9 on the evel 1 diagram is decomposed to :-b3processes 9.1, 9.&, 9.; < on the evel & diagram.

;. Identify any data stores that exist entirely within the evel & bo-ndary, and draw these data stores.

9. Identify data flows between the processes and data stores that are entirely within the Level 2 system boundary. 6emember, every data store inside this  bo-ndary sho-ld have at least one inp-t and one o-tp-t date !low.

(9)

=. Check the diagram. 2ns-re that the evel & Data Flow Diagram does not violate the r-les !or Data Flow Diagram constr-cts.

Exercises and related work Exercise 13

What is meant by !-nctional decomposition.

7nder what conditions wo-ld yo- decompose a process on a Data Flow Diagram>

% disc-ssion on this exercise can be !o-nd at the end o! this chapter .

Exercise 14

Decompose the ?ideo 6ental evel 1 DFD process "loan o! video# into a evel &

DFD.

% disc-ssion on this exercise can be !o-nd at the end o! this chapter .

Review Question 2

Create a evel 1 DFD !or the 2state %gency case st-dy based on the context diagram

!rom the previo-s 6eview @-estion and the case st-dy text.

% disc-ssion on this review A-estion can be !o-nd at the end o! this chapter .

Review Question 3

Create a evel & DFD !or the "invoice client# process o! the 2state %gency case st-dy  based on the evel 1 DFD !rom the previo-s 6eview @-estion and the case st-dy text.

% disc-ssion on this review A-estion can be !o-nd at the end o! this chapter .

ummar! and recap Context diagrams

$he Context Diagram is drawn -p at the o-tset o! analysis, and is -sed to establish the analysis !ramewor. It involves establishing the bo-ndaries o! the system and the

scope o! the investigation, to ens-re that no essential areas are omitted !rom the

investigationB and so that reso-rces are not wasted on detailed wor in areas o-tside o! 

the system scope.

$he analyst m-st establish a clear overview o! the system -nder investigation, and identi!y the activities and in!ormation that are necessary !or the b-siness to meet its obectives. $his may be done in cons-ltation with a single -ser, with a broad b-t adeA-ately detailed nowledge o! all areas incl-ded within the scope, or in

(10)

cons-ltation with a gro-p o! -sers. %lternatively, partial views obtained individ-ally

!rom a n-mber o! -sers may be combined to give the complete pict-re.

$he Context Diagram, sometimes called evel 0 Data Flow Diagram, is drawn -sing a single process, appropriately labelled, to represent the entire system. %ll data !lows into and o-t o! the system, to and !rom external so-rces and recipients, are shown aro-nd the edge o! the process.

$he types o! in!ormation !lowing within the system will be a!!ected by the nat-re o!

system being investigated. $he c-rrent system may be entirely man-al or it may be  partly comp-terised b-t reA-iring maor enhancements. %n existing comp-ter system

may no longer meet -sers# reA-irements, or may no longer be s-pported (either by external s-ppliers or internal I$ reso-rces). In some cases there may be no existing system in place to s-pport, !or example, a new area o! the b-siness or new legislation, in which case it may be necessary to investigate how other organisations have

addressed the iss-e.

%ll systems have both !ormal components  s-pported by set proced-res and

str-ct-red in!ormation s-ch as !orms, records and !iles 3 as well as in!ormal aspects 3 which operate thro-gh int-ition and -dgement 3 which -ses conversation and other -nstr-ct-red in!ormation. $he -nstr-ct-red as well as str-ct-red in!ormation !lows need to be considered d-ring investigation o! the c-rrent system.

Levels

4ost practical systems will have many h-ndreds o! processes. Clearly, i! these were all shown on one data3!low diagram then we wo-ld hardly be any better o!! than i! we had -sed a single text doc-ment to describe the system. owever, we do need to thin 

abo-t all these processes and describe them. $o resolve this problem, data3!low

diagrams can have a n-mber o! levels and the whole system is represented by a set o!

levelled data3!low diagrams.

$he top3most level is called the context diagram or level 0 diagram. n it there is a single process represented by a plain box (with no divisions) representing the system as a whole. $he remainder o! the diagram is all o! the external entities and the data3

!lows between them and the system. $h-s, the diagram gives the context !or the system  where the bo-ndaries are between the system and the rest o! the world.

$he next level which is simply called the level one diagram shows the maor  processes o! the system. %ll o! the external entities are still shown b-t now the

 processes which receive inp-ts and generate o-tp-ts are also shown and also the data3

References

Related documents

The concepts of ‘risk’ &amp; ‘uncertainty’ are not given a high level of focus in our marketing plans The application of a greater focus on risk within our marketing function

We explore the implications of a utility function that includes a role for relative health concerns in terms of equilibrium labour choices and optimal income taxation, where we find

Mary the Third: Three generations of women and changing views of marriage Perhaps no play of the 1920s more clearly dramatizes how changing gender roles were viewed by

Correlations between the raw scale scores are reported in Table 1, which shows that postexposure affect and intention were posi- tively related to both the overall and summed

• Ship / shore safety interface: emergency procedures, contingency planning (document prepared by LNG Terminal for each specific LNG Carrier): to be discussed with representative

In sum, therefore, the argument is that Teva can encourage the broad appearance in patent cases of the methodology of claim construction described above. In the interest of

164 Фізичне виховання, спорт та здоров’я людини: досвід, проблеми, перспективи УДК 373.21 Омері І.Д., доцент кафедри фізичної

1 4 : (a) Adjoint-assisted gradient with respect to scattering computed using forward and adjoint radiance MC simulations with grey line indicating profile plotted in (b); (b)