Proc Pr oce ess are num umb ber ered ed wi with thiin th the diagram NOT according to the correct process flow but for understanding purpose ONLY.
•
•
•
logical representations - modeling WHAT a system does, rather than physical models showing HOW it does the work
3…
Mistake 4 : Complica Complicated ted • •
Inclu In cludi ding ng mo more re th than an ni nine ne pr proc oces esse ses s on on a DF DFD D – De Deco comp mpos osit itio ion n is ne need eded ed The purpose of data flow diagrams is to provide a semantic bridge between USERS and systems developers. – Use Userr und underst erstand anding ing and rev review iewing ing
Mistake 5: CD
DFD
Order CUSTOMER
In-Stock Request
Payment
0
Status Message
Invoice
WAREHOUSE
Shipping Order
Order System
Shipping Confirmation Confirmation
Inventory Reports
Context Diagram of Order System Entity
?
Data flow
2
?
8
Mistake 5: CD DFD Level 0 of Order System
DFD (cont) Order
In -Stock Request
CUSTOMER
WAREHOUSE 1.0
Status Message
Entity
?
3
Check Status
Status Data
Order Data
2.0
Data flow
?
6
3.0
D1
Issue Status Messages
Generate Shipping Order
Pending Orders
Data flow: Shipping order Shipping confirmation
-
Payment
-
4.0 Order Data
Invoice Manage Accounts Receivable
5.0 Accounting Data
D2
Accounts Receivable Data Produce Reports
Accounts Receivable Inventory Reports
Mistake 6: Diagramming rules Miracles
Black holes
Mistake 7: DFD
System
• DFD should reflect/represent the system;)
Tests for Correctness • • • • • • • •
Are there any missing data flows? Are there any extraneous data flows? Are there any meaningless labels on data flows? Are there any missing processes? Are there any errors in leveling? Are there any deceptive process labels? Is there any flow of control information? Is the DFD an accurate representation of reality?
Tips and Guideline Guidelines s 1. Sy Syst stem em boun bounda dary ry esta establ blis ishm hmen entt is an important judgment call. External entities aid in determining where the boundary is established. An interfacing system can be shown as an external entity. It may be necessary to dictate the input of the external entity to assure system control. 2. Lab Label el y your our pro proces cesses ses car carefu efully lly and and viv vividl idly y. A process that is labeled "Produce Report" and has the output of "Report" tells a reviewer very little. If you have trouble labeling anything on the diagram, it often is because you do not have adequate understanding. Choose names carefully. 3. Th Thin ink k lo logic gical al,, not not ph phys ysica ical. Ignore media, color, font, layout, packaging, time, sequencing, etc. Think "what", not "how". Something logical can be implemented physically in more than one way. Including "when" and "where“ and "how" means you are getting physical.
4. •
Tips and Guidelines (cont) 4. Th Thin ink kd dat ata, a, no nott con contr trol ol fl flo ow. Data flows are pathways for data. Think about what data is needed to perform a process or update a data store. A data flow diagram is not a flowchart and should not have loops or transfer of control. Think about the data flows, data processes, and data storage that are needed to move a data structure through a system. 5. Concentra Concentrate te first first on on what what happe happens ns to to a "goo "good" d" transa transaction. ction. Systems people have a tendency to lose sight of the forest because they are so busy concentrating on the branches of the trees. 6. Rev Review iewers ers will will not not be be convi convince nced d by con confus fusion ion.. A quality data flow diagram will be so simple and straightforward that people will wonder what took you so long.
Tips and Guidelines (cont) 7. Data store to data store, external entity to external entity, or external entity to data store connection usually do not make sense. se nse. Data flows with an arrowhead a rrowhead on each end cause confusion in labeling. Do not use them. them .
8. Do not not try to put put everything everything you know know on on the data data flow flow diagra diagram m . The diagram should serve as index and outline. The index/outline will be "fleshed out" in the data dictionary, data structure diagrams, and procedure specification techniques.