Ee
146
5.3 Data Flow Diagram Symbol
Chapter 6 (Object Modeling), and entity-elationship di
in Chapter 9 (Data Design).
the systems analysis phase of the SDLC, the systems analyst creates a
visnal model ofthe information system using a set of DFDs. In his seminal book The
Visual Display of Quantitative Information, author and renowned academic Edward
Tate provides guidance on creating efletive diagrams to concisely convey com-
plex information. A DFD isan example ofthis typeof visual explanation of sysiem
behavior
‘A DED shows how data moves through an information system but dose not show
program logic or processing steps. set of DEDs provides 2 logical model that shows
‘what the system does, not how It does i. That distinction is important because foc
ing on implementation issues at this poine would restrict the search for the most wife
tive system design.
ams, which are described
5.3 Data Flow Diacran SymBois
DFDs use four basic symbols that represent proceses, data flows, data stores, and
‘entities. Several different versions of DED symbols exist, but they al serve the same
‘purpose. DFD examples inthis text use the Gane and Sieson symbol st, Another
‘Popular symbol set isthe Yourdon symbol st. Figure 5-1 shows examples of both
‘versions. In this text, symbols are referenced using all capital leers forthe symbol
=
BK 0EOST gua coro
(sens omesoe sees
~— =
oURE 5.1 bea
smb yma aes and eas Gane and5.3 Data Flow Diagram Symbols
5.3.1 Process Symbols
A proses receives input data and produces output that has a different content, form,
‘oc both. For instance, the process for calculating pay uses two inputs (pay rate and
huts worked) to produce one output (total pay). Procestes can be very simple of
«quite complex. In atypical company, processes might include calculating sales erends,
fling online insurance claims, odering inventory from a supplier’ system, oF veri-
{ying email addresses for web customers. Processes contain the business logic, also
called business rules, thar transforms the data and produces the required results.
"The symbol for a process isa rectangle with rounded corners. The name ofthe
process appeats inside the ectangle. The process name identifies a specific function
And consists ofa verb (and an adjective, i necessary) followed by a singular noun,
Examples of process names are APPLY RENT PAYMENT, CALCULATE COMMIS:
SION, ASSIGN FINAL GRADE, VERIFY ORDER, and FILL ORDER.
Processing details are not shown in a DFD. For example, there might be a process
‘named DEPOSIT PAYMENT. The process symbol does not reveal the busines logic
for the DEPOSIT PAYMENT proces. To document the logic, a process description is
created, which is explained later in this chapter.
Tn DFDS, a process symbol can be referred to as a black boc, because the inputs, out
‘puss, and general functions of the process are known, but the uaderying details and logic
‘ofthe process are hidden. By showing processes as black boxes, an analyst can create
DFDs that shove how the system functions but avoid unnecessary derail and clue. When
the analyst wishes ro show addivonal levels of detail e or she can zoom in on a process
symbol and create a more in-depth DED that shows the process's intemal workings—
‘which might reveal even more processes, data flows, and data stores. In this mannes, the
information sytem can be modced asa series of increasingly detailed pictures.
“The network router shown in Figure 5-2 is an example ofa black box. An
‘observer ean ste cables that carry data into and out of the router, but che routers
{internal operaions are not revealed —only the results are apparent.
FIGURE 5:2 A rower ck ck for network a Cates
‘ey ia and out ener operation ae Hin sie as
5.3.2 Data Flow Symbols
‘A dataflow is a path for data to move from one part of the information system to
another A dataflow in a DFD represents one ot more data items. For example, a datav8
mr
Saeed
5.3. Data Flow Diagram Symbols
flow could consist of a single data item (such asa student ID number), or it could
include a set of data (such asa clas roster with student ID numbers, names, and
rgistration dates for a specific class). Although the DFD does not show the detailed
‘contents of a data flow, that information is included inthe data dictionary, which is
Gescribed later inthis chapres.
“The symbol for a dataflow is line with a single or double arrowhead. The data
ow name appears above, below, or alongside the line. A dataflow name consists
fa singular noun and an adjective if needed. Examples of data flow names are
DEPOSIT, INVOICE PAYMENT, STUDENT GRADE, ORDER, and COMMIS-
SION. Exceptions tothe singular name rule are dataflow names, such as GRADING
EARAMETERS, where a singular name could mislead the analyst into thinking asin-
fle parameter of single item of data exists,
Figure 5-3 shows correct examples of dataflow and process symbol
‘connections. Because a process changes the data’ content or form, atleast one
data flow must enter and one dataflow must exit each process symbol, as they
do in the CREATE INVOICE process. A process symbol can have more than one
teutgoing data flow, as shown in the GRADE STUDENT WORK process, of more
‘han one incoming dataflow, as shown in the CALCULATE GROSS PAY process.
4A process also can connect to any other symbol, including another process
symbol, as shown by the connection between VERIFY ORDER and ASSEMBLE
ORDER in Figure $-3.A data flow, therefore, must have a process symbol on at
least one end.
SERVICES PERFORMED voce:
ceaanen worn
sveuirTeD WORK
sTuenT GRADE
5
=
=
} _worrsworcen
cross pwr
secerren sents
‘Suance
[FIGURE 5.3 Examples of correc combinant of i ow nd proces bole5.3 Dats Flow Diagram Symbol ae
Figure 5-4 shows three data flow and process combinations that must be avoided:
‘Spontaneous generation. The APPLY INSURANCE PREMIUM process, for
instance, produces ourput but has no input dat flow. Because it has no input,
‘the proces scaled a spontaneous generation process.
+ Black hole. CALCULATE GROSS PAY is called a black hole process, which is a
process thar has input but produces no output.
‘+ ‘Gray hole, A gray hole isa process that has a least one input and one ourput,
ba the input obviously is insufficient ro generate the output shoven. For exam-
ple, date of bith input i not sufficient to produce a final grade output in the
‘CALCULATE GRADE process.
Spontaneous generation, black holes, and gray hols are impossible logically in a
DDFD because a process must act on input, shown by an incoming, daa flow, and pro-
duce output, represented by an outgoing data flow.
5.3.3 Data Store Symbols
‘das nerd ins DED rere
Pope Delis
ee eeu
Sa.
eee eee
ee es
‘grades at the end of the term. Similarly, a
ca nae uc
See Se Re cinerea
foe nt a
Se eae Se Sea
frre aed re oD ee
erred
a
eee
are unimportant because the logical model
soinperan ce eee
Fe ee ey mney sume cece to
er pe cera arr soaemeee ea cece
emerson pa ol eye Ue Oe
{SxTpeocia Whar simon’ aes Maveueacias tagger cau oe
EE eee ee Saeene
ee ee ee ee eros
dee a ict mnatae rset pits
Fane ee ee th ans see ane epee
a ee ee et tae ee eens
ran ce ounte RECENAGLE PRODUCTS Daly PATIENTS
HeacHne OROGRS OUTSTANDING CHECKS NSURANCE POLICES ad
Hae oaene car nenon ont rae uur nos tha epee
ee eee me CHADESOOK tree coy of
Sule ation eres150 5.3 Data Flow Diagram Symbols
A data store must be connected to a process with a date Jow. Figure 5-5 illustrates
typical examples of data stoces. Since data stores represent cata storage for use by
ther process in the future, in each ease, the data store has atleast one incoming
‘and one outgoing data flow and is connected to a proces symbol with a data flow.
CORRECT
smerou [eeu
FIGURE 5-5 Bamps of core ts resto dia ow degra,
Violations of the rule that a data score must have at least one incoming and one
‘outgoing data flow are shown in Figure 5-6. In the first example, wo data scores are
‘connected incorrectly because no process is between them. Also, COURSES has no.
{incoming dataflow and STUDENTS has no outgoing data fiw Inthe second and
third examples, the data stores lack ether an outgoing or incoming data ow.
g = & ®
z
3 ae sme ts
[FIGURE 54 Expl of cere fd tre soln di ow gr we
‘Hors cot be carmeciod by ata ow aout heareig proceso ech as are
‘hohe mugen coming now.5.3 Data Flow Diagram Symbols 151
“There isan exception the requirement that a data store must have at last one
incoming and one outgoing dataflow In some situations, a data store has no input
dataflow because iecontans fixed reference data that isnot updated by the system,
For example, consider a dita store called TAX TABLE, which concains withholding
tax data that a company cownloads from the Internal Revenue Service. When the com-
pany runs is payroll, the CALCULATE WITHHOLDING process accesses data from
this data store, On a DFD, this would be represented asa one-way outgoing data flow
from the TAX TABLE dat store into the CALCULATE WITHHOLDING proces.
5.34 Entity Symbols
“The symbol for an entity
isa recangle which may :
tethaded to make Took
three-dimensional. The name oe
ofthe entity pears nace che
symbol.
"AED shows only exueal
castes that provide data othe
Spat or receive utp fom
thesystemn-A DED shows he
boundaries ofthe sytem and
tow the ayer interac with
the outside word For example
faster en submits st
der to an oder processing
‘yum. Other example of
costes include a patent who
supplies data toa meal “me
‘exons system 3 homeowner ore
two eee abl rom 4 oY
ey pen
Sccouns payable tem at GURE S-7 ap core tne ns et flow agin
receives data from the company’s a “ ‘wn
purchasing system
DED entities also ae ced
terminators because they xe
cts al dons.
Systems analysts alan erty uous 4 i
that supple data othe stem emai
Ssounce and an entity chat
|
fecives data from he sys
‘sink An entity name se
‘CORRECT
INCORRECT
Setoarr
singular form ofa deparinent,
an outside organization, ther
Jnformation system, of a Ferson, RecN, a
‘An external nity can be + i ECENAGLE PAYMENTS
ute ora sink or both, bat
cach entity must be contested
toa proces by adata flow,
Figure 5-7 and Figure S‘8show — pigune 8 Geir ncrec ws of aac eins dt tow dg A
correct and incorrect examples Gel enya oneal ya Nowa proces Sect a re
of heal, respectively. Scie careyCone eee
132 54 eaming Das Flow Diagrams
5.3.5 Using DFD Symbols
‘With an understanding ofthe proper use of DED symbols the next step isto con-
Struee diagrams that use these symbols, Figute 5.9 shows a summary ofthe Fules for
using DED symbols
Peewee
sn Enter ty
Poss tata Se
sa Ent Era ty
‘Sana rey ote Se
i Sue Os Soe
% STRAT
FIGURE 5.9 amp conct dcr fa ors
5.4 Drawine Data FLow Diagrams
seating a hohe ncn an thee
Not phe mde of te sont en a SC pe
“Tea how dw DED expe wo noma te wl ewe
cnc eschewed
gysem that company aso eer rds and py payment aga cme54 Drawing Data Flow Diegrams
‘When drawing @ context diagram and other DEDs, these guidelines should be
followed:
‘Draw the context diagram so it fits on one page.
‘+ Use the name ofthe information system asthe process name in the context dia-
‘gram. For example the process name in Figure 5-10 is GRADING SYSTEM,
‘Note that the process name isthe same asthe system name. This is becat
the context diagram shows the enti information system as ft were a single
process, For proceses in lower-level DFDs, use a vet followed by a deseripive
foun, such a5 ESTABLISH GRADEBOOK, ASSIGN FINAL GRADI, or PRO-
DUCE GRADE REPORT.
‘© Use unique names within each set of symbols. For instance, the diagrat
Figure 5-10 shows only one entry named STUDENT and only one dataflow
named FINAL GRADE. Whenever the entity STUDENT appears on any other
[DED in the grading system, it indicates that iis the same entity. Whenever the
FINAL GRADE dita flow appears, it indicates that itis the same data low.
‘The naming convention also applies to data stores.
‘© Do not cross lines. one way to achieve that goal is to restrict the number of,
symbols in any DED. On lower-level diagrams with multiple processes, there
should not be more than nine process symbols, Including more than nine sy-
bols usually is a signal thatthe diagram is too complex and thatthe analysis
should be reconsidered, Another way co avoid crossing lines is to duplicate an
tntty oF a data stee, When duplicating a symbol ona diagram, make sure
to document the daplication ro avoid possible confusion. A special noration,
such as an asterisk, next tothe symbol name and inside the duplicated symbols
signifies that they are duplicated on the diagram.
FIGURE 5-10 Comex agra DFO fora gadngortem.eee ed
5.5 Drawing a Context Diagram
+ Provide a unique name and reference number for each pracees. Recawce i isthe
highest-level DED, the context diagram contains proces 0, which represents,
the entire information sytem, but does not show the internal workings, To
describe the next level of detail inside process 0, create a DFD named diagram 0,
‘which wil reveal additional processes that muse be named and numbered. As
lower-level DEDs are created, assign unique names and reference numbers to
all processes, until the logical model is completed.
+ Obzain as much user input and feedback as posible. The main objective is to ensure
thar the models accurate is easy to understand, snd meets dhe needs of te ware
5.5 Drawinc a Context Diacram
‘The fis step in constructing a eof DFDs ito drawa context digram.A context
sige isa topleel view fan information system ta shows he oan boundaries
and scope Tad a contest agra cts by Paving angle proce sya the
Genero the page The symbol represen the ene nkormation tem, and a de
fed as prose the numeral ret, and noe eer), Then pce sy ents
around ths pernwter ofthe page and ase data lows to connect he enti tothe ceas
tel proces Daa stores ae ot shosm nthe context agra because hey ae com,
‘sed within the sjstem and remain iden unl more detaled agrame ae crated
“To determine which ene and data flows co pace inthe conto diagram begin
by ceviewing the system equzements ident al eternal ata sournt and dese
ations. Daring hat proces, enti the ent, the name and onten of te date
flows, and the iretion ofthe dats flows If thats ne cael, andthe job of
fact-finding was done well nthe previous stage, dravng the context dagen should
be relatively easy. Now review the fllowing conten diagram examples
EXAMPLE: CONTEXT DIAGRAM FORA GRADINGSYSTEM: The context di
fora grading system is shown in Figure 5-10. The GRADING SYSTEM process,
the center of tne diagram. The three entities (STUDENT RECORDS SYSTEM, STU-
DENT, and INSTRUCTOR) are placed around the central process. Interaction among
the central process and the entities involves six different data flows. The STUDENT.
RECORDS SYSTEM entity supplies daca through the CLASS ROSTER data flow
and receives daca through the FINAL GRADE data flow. The STUDENT entcy sup-
plies data through the SUBMITTED WORK dataflow and ceceives data through the
GRADED WORK data flow. Finally, the INSTRUCTOR entity supplies data through
the GRADING PARAMETERS dataflow and receives data through the GRADE,
REPORT data flow,
EXAMPLE: CONTEXT DIAGRAM FORAN ORDER SYSTEM: ‘The contex diagram
foram order system is shown in Figure $11. Note te the ORDER SYSTEM proces
is at she center ofthe diagram ad five entities surround the proces Treo the
ates SALES REF, BANK, and ACCOUNTING, hae singe fnconing data flows
{or COMMISSION, BANK DEPOSII, and CASH RECEIPES ENTRY rempentiehy
The WAREHOUSE enity has one incoming dats flow PICKING LIST chat
4 repr that shows the items ordered and their quant, Icio, and sequence
Bick from the warehouse. The WAREHOUSE eniy ine one ongoing dats Row
COMPLETED ORDER. Final, the CUSTOMER entry has te outgoing data lows,
ORDER snd PAYMENT, and two incoming data Hows, ORDER REJECT NOTICE
and INVOICE,56 Drawing a Diagram 0 DFO.
“The context diagram for te order system appears more complex than the grading
system because thas two more entities and three more data flows. What makes one
‘tem more complex than another isthe number of components, the numberof levels,
thd the degree of interaction among its processes, entities, data stores, and data flows.
5.6 Drawine a Diacram 0 DFD
Inthe previous step, it was explained how a context diagram provides the most
{general view ofan information system and contains a single process symbol which is
like a black box. To shove the detail inside the black box, a DED diagram 0 is created.
Dingram 0 (the numeral zero, and not the leter O) provides an overview ofall the
‘components that interact to form the overall system. Tt zooms in on the system and
Shows major internal processes, data flows, and data stores. Diagram 0 also repeats
the entities and data flows that appear in the context diagram. When che context dia-
fam is expanded into DFD diagram 0 all the connections that flow into and out of
process O must be retained.
EXAMPLE: DIAGRAM 0 DFD FORA GRADING SYSTEM: Figute 5-12 shows a
content divgrar a th op and agar beneath Not tat diagram 035
‘Expansion of process 0. Also note tat tke three same entsis (STUDENT RECORDS,
SYSTEM, STUDENT, and INSTRUCTOR) and the same six data flows (FINAL.
GRADE, CLASS ROSTER, SUBMITTED WORK, GRADED WORK, GRADING
PARAMETERS, and GRADE REPORT) appear in both diagrams. In addition,
.gram O expands process 0 to reveal four internal processes, one data store, and
five additional data flows,Chapter §_Data and Process Modeling
5. Drawing a Diagram 0 DFD.
Conte Diagram or Grading Systm
gram for Graing Syste
suse
one
FIGURE 5.12 Conan dgran and dag Ofer the adie.5.6 Drawing 2 Diagram 0 OFD.
[Note that each process in diagram 0 has a reference number: ESTABLISH.
‘GRADEBOOK is 1, ASSIGN FINAL GRADE is 2, GRADE STUDENT WORK is
‘Sand PRODUCE GRADE REPORT ie 4, These reference numbers are important
‘cause they identify a series of DEDs. If more detail were needed for ESTABLISH.
(GRADEBOOK, for example, a diagram 1 would be dravn, because ESTABLISH.
GRADEBOOK is process
"The process numbers do nor suggest thatthe processes are accomplished in a
sequential order Each process always is considered tobe available, active, and await
ing data to be processed, If processes must be performed in a specific sequence, the
information should be documented in the process descriptions (discussed later inthis
chapter, notin the DED.
“The FINAL GRADE data flow output from the ASSIGN FINAL GRADE process
is a diverging dataflow that becomes an input o the STUDENT RECORDS SYS-
‘TEM entity and to the GRADEBOOK data store. diverging dataflow isa data flow
in which the same data travels to two or more different locations. In that situation, a
tliverging dataflow is the best way to show the How rather than showing two ident
cal data flows, which could be misleading.
Ifthe same dara flows in both directions, a double-headed arrow can be used r0
connect the symbols, To identify specific data flows into and out of a symbol, how
ver, separate dat flow symbols with single arcowheads should be used. For example,
in Figute 5-12, the separate data flows (SUBMITTED WORK and GRADED WORK}
{g0 into and out of the GRADE STUDENT WORK process.
Because diagram O isan exploded version of process 0, it shows considerably more
detail than the context diagram. Diagram 0 can also be referred to as a partitioned
‘or decomposed view of process 0. When a DED is exploded, the higher-level diagram
is called the parene diagram and the lower-level diagram is referred to as che child
ira The ending ste imple enough at no addonal EDs a: nade
{to model the syste, At that point, the four processes, che one data store, andthe 10,
data flows can be documented in the data dictionary.
"When ase of DFDs is ereated fora system, the processing logics broken down into
smaller unis called functional primitives, which programmers wil use ro develop code
[8 functional primitive is a process chat consists ofa single function that is not exploded
farther For example, each ofthe four processes shown inthe lower portion of Figure
5-12 isa functional primitive, Te logic for a functional primitive is documented by
‘writing a process description inthe data dictionary. Late, when the logical design is
Jmplemented a a physical system, programmers will transform each functional primi
tive into program code and modules that carry out the required steps. Deciding whether
{to explode a proces further or determine chat it is a functional primitive is a matter of,
‘experience, judgment, and interaction with programmers who must translate the logical
design into code,
EXAMPLE: DIAGRAM 0 DFD FORAN ORDER SYSTEM: Figure 5-13 is the diagram
(for an order system, Proces 0 on the order system’ context diagram is exploded t0
reveal three processes (FILL ORDER, CREATE INVOICE, and APPLY PAYMENT),
‘one data store (ACCOUNTS RECEIVABLE), two additional data flows (INVOICE
DETAIL and PAYMENT DETAIL}, and one diverging dataflow (INVOICE).
“The following walk-through explains the DFD shown in Figure 5-13:
1. ACUSTOMER submits an ORDER, Depending on the processing logic, the
FILL ORDER process either sends an ORDER REJECT NOTICE back to the
‘customer or sends a PICKING LIST to the WAREHOUSE.\
Reece ee
5.7 Drawing LowersLavel DID
2, A COMPLETED ORDER from the WAREHOUSE is input za the CREATE
INVOICE process, which ourputs an INVOICE to both the CUSTOMER,
‘process and the ACCOUNTS RECEIVABLE data store.
3. A CUSTOMER makes 2 PAYMENT that is processed by APPLY PAYMENT,
APPLY PAYMENT requires INVOICE DETAIL input from the ACCOUNTS
[RECEIVABLE data store along with the PAYMENT. APPLY PAYMENT also
‘outputs PAYMENT DETAIL back to the ACCOUNTS RECEIVABLE data
store and outputs COMMISSION to the SALES DEPT, BANK DEPOSIT to the
BANK, and CASH RECEIPTS ENTRY to ACCOUNTING.
FIGURE 5.13 Dsgram ODF foro onder ste.
‘The walk-through of diagram 0 illustrates the basic requirements of the order
system, Examine the detailed description ofeach separate process learn mote.
5.7 Drawinc Lower-Leve DFDs
“This set of lower level DIDs is bised on the onde: syste. To ecate lower level diagrams,
leveling and balancing techniques must be sed. Leveling isthe process of drawing a
sees of increasingly detailed diagrams, uni all functional primitives are identified,fee
5.7 Drawing LowerLevel DFO:
Balancing maintains consistency among aset of DFDs by ensuring that input and output
‘data flows align properly. Leveing and balancing ae desribed in more detail inthe fol
lowing sections.
EXAMPLE: LEVELING EXAMPLES: Leveling uses a series of increasingly detailed
FDS to describe an information system. For example, a system might consist of
dozens, or even hundreds, of separate processes, Using leveling, an analyst starts
with an overall view, which ia context diagram with a single process symbol.
Next, the analyst creates diagram 0, which shows more detail, The analstcon-
tinues to create lower-level DFDs until all processes ate identified as functional
primitives, which represent single processing functions. More complex systems
have more processes, and analysts must work through many levels o Aden-
ty the funcional primitives Leveling alo called exploding, parining, or
lecomporing.
Figures 5-13 and 5-14 proside an example of leveling. Figure 5-13 shows diagram
‘for an order system, with the FILL ORDER proces labeled as process 1, Now
‘onsider Figure 5-14, which provides an exploded view ofthe FILL ORDER proces.
[Note that FILL ORDER (process 1) atualy consists of three processes: VERIFY.
‘ORDER (process 1.1), PREPARE REJECT NOTICE (process 1.2), and ASSEMBLE
“ORDER (process 13).
change
FIGURES-14 Diagram | DFD shows deni ofthe FLL ORDER pret inthe ont tenCee eed
160 37 Drawing Lower-evel DFDs
{As Figure 5-14 shows, all processes are numbered using a decimal nocation
‘consisting ofthe parent reference number, decimal peint, and a sequence number
thin the new diagram. In Figure 5-14, the parent process of diagram 1 is process 1,0
the processes in diagram 1 have reference numbers of 1-1, 1.2, and 1.3. I process 1.3,
[ASSEMBLE ORDER, is decomposed further, then it would appear in diagram 1.3 and
the processes in diagram 1.3 would be numbered as 1.3.1, 1.3.2, 1.3.3, and 0 on,
“This numbering technique makes it easy to integrate anc identify all DEDs.
‘When Figure 5-13 and Figure 5-14 are compared, its apparent that Figure 5-14
(che exploded FILL ORDER process) shows two data stores (CUSTOMER and
PRODUCTS) that do not appear on Figure 5-13, whichis the parent DFD. Why nor?
“The answer is based on a simple eule: When drawing DFDs, a data store is shown
cnly when ewo or more processes use that data store. The CUSTOMER and PROD-
UCTS data stores were internal to the FILL ORDER process, so the analyst did not
show chem on diageam 0, which i the parent. When the FILL ORDER process is
exploded into a diagram 1 DED, however, three processes (I-1, 1.2, and 1.3) ineract-
ing with the two data stores are now shown.
"Now compare Figure 5-14 and Figure 5-15. Note that Figure 5-15 shows the same
data flows as Figure 5-14 but does not show the CUSTOMER and WAREHOUSE
entities. Analysts often use this technique co simplify @ DFD and reduce unnecessary
clutter Because the missing symbols appear on the pareat DED, that diagram can be
used to identify the source or destination ofthe data flows.
FIGURE 5.15 Ths dram oes noc show he ambos thi connec dat ows erring olen
FIL ORDER othe conor apr
BALANCING EXAMPLES: Balancing ensures that the input and output data flows
‘of the parent DED are maintained on the child DFD. For example, Figure 5-16 shows
‘wo DEDs: The order system diagram 0 is shown at thetop of the figure, andthe
‘exploded diagram 3 DFD is shown at the bottom.57 Drawing Lowerstevel DFD: tet
‘The two DFDs are balanced because the child diagram atthe bottom has the
same input and output flows a che parent process 3 shown at the top. To verify the
‘Order Sytem Diagram 0DFD
‘Order System Diagram 3 OF
{GURE 516TH oer yen sng show sh posh gre.and he exoded dan 3DFD
‘Gr mAPrt nc roca town athe bon Theor Ore anced Eee eo ren
Schone met suie pad gato een pve own162 5.7 Drawing Lowerbevel DFDs
balancing, nore that tk parent process 3, APPLY PAYMENT, has one incoming data
flow from an external entity and three outgoing data flows to external entities. Exam-
ine the child DFD, wheh is diagram 3. Ignore the internal daa flows and count the
data flows to and from external entities. From the diagcam, itis evident thatthe three
processes maintain the same one incoming and three ourgoing data flows asthe par
ent process,
‘Another example of balancing is shown in Figures -17 and 5-18, The DEDs in
these figures were creed using the Visible Analyst CASE tool
Figure 5-17 showsa sample context diagram. The process 0 symbol has rwo input
lows snd two output flow. Note that process O can be considered as a black haw
FIGURE 6.17 Empl jer DED Agr honing pros Oa Bek Boeeee ee
170 5.9 Process Description Tools in Modular Design
If Sequence, sleton, and iteration strates can be combined in various ways
| describe procsing logic
5.9.3 Structured English
Scructured Fnglih ia subset of standard English that describes logical processes
clearly and accurately. When using structured English, be mindful of che following.
Buidelines:
‘+ Use only the thre building
blocks of sequence, selection, and
iteration
‘+ Use indentation for readability.
“+ Use a limited vocablary, includ:
ing standard terms used inthe data
dictionary and specific words that
‘describe the processing rues,
facnoene feed
Sitch shoes the VERIFY ORDER
wf apeeibe eery Dues
eee
bec beeen
pacees
Se,
ey
Gicatace yn
eae
none ven ences taree hate Seed Eaghh igh ok
the loge sateen amiliar to programming students
5 on feeet rtrceaees
Capeie
eee
se pinay pero cae Ene ee
a ara ee eet
TontePsamcr oentecat oe
Se ay poze cpu se wd
see en oe aE,
cca naeance sonar angie adeno San
ae
5.9.4 Decision Tables
AA decision able isa logical structure that shows every combination of conditions and
‘outcomes. Analysts often use decision tables to describe a process and ensure that
have corsdered al possible situations, Decision tables can be created using tools
such as Microsoft PowerPoint, Word, or Excel.
‘TABLES WITH ONE CONDITION: If process has a single condition, thece ony are
/ ‘wo possbilives—yes of no. Either the condition is present ort not, so there ae only
‘wo rules. Fr example, to trigger an overtime calculation, the process condition might,
be: Are the hours greatar than 40? I 0, the calculation is made, Otherwise iis not.Cees
59 Process Description Tools in Moddar Design
TABLES WITHTWO CONDITIONS: Suppose there isa need to create a decision table
based on the VERIFY ORDER business process shown in Figure 5-28, When document-
sng a process, itis important to ensure that every possibility listed. In this example, the
[process description contains two conditions: product stock statue and customer credit
‘Status. If both conditions are met, the orders accepted, Otherwise the order i rejected.
VERIFY ORDER Bu: a
+ Aa onde wil be accepted ade product stock and the customer’ ced status s OF.
“All other orders wal be rected. =
FIGURE 5.28 The VERIFY ORDER bases proces two goto For nore ob accepted
Product beim toe nd caer chars sean eed es
Afterall the conditions and outcomes have been identified, the next stp is to create a
\ecision rable similar ro the one shown in Figure 9-28, Note that each condition has WO
possible values, so the numberof rules doubles each time another condition is added,
For example, one condition creates two rules, two conditions erate fout rules, three