Title: Data Flow Modelling Concepts
1Data Flow ModellingConcepts
- Data Flow Diagrams
- External Entities, Data Stores, Processes and
Data Flows - Elementary Process Descriptions
- Levelling
- Document Flow Diagrams
2Key Definitions
- A process model is a formal way of representing
how a business operates - Data flow diagramming shows business processes
and the data that flows between them
Sample 1 Sample 2
3Key Definitions
- Logical process models describe processes without
suggesting how they are conducted - Physical models include information about how the
processes are implemented
4Data Flow Diagrams aid communication
External Entities
Processes
Data Stores
5Data Flow DiagramsDFD Notation
- The DFD is a diagram that consists principally of
four symbols, namely the external entity, the
data flow, the process and the data store - Additionally, a physical flow can be shown on the
DFD of the current system
6Data Flow DiagramsExternal Entities
7Data Flow DiagramsData Flows
- Data Flow (usual)
- Bi-directional Flow (rare)
- Flow Between External Entities (for convenience)
- Resource Flow (for convenience)
8Data Flow DiagramsProcess
Cashier
3
9Data Flow DiagramsData Stores
- Digitised
- Manual
- Transient
- Duplicate
10Data Flow DiagramsDecomposition
11Data Flow Diagrams Decomposing Data Flow Diagrams
- Any process on a DFD may be broken up into
several sub-processes which, when viewed
collectively, make up that process - Thus for example we may break-up process 1 of the
Small Stock System into that shown on the next
slide
12Data Flow Diagrams Decomposing Data Flow Diagrams
13Data Flow Diagrams Decomposing Data Flow Diagrams
- The decomposition of a DFD into lower level DFDs
is known as levelling - The DFD that shows the entire system is known as
the top level or level 1 DFD - The DFDs that contain more detailed views of the
level 1 processes make up level 2 DFDs - Any level 2 process that is further decomposed
gives rise to a level 3 DFD and so on
14Data Flow Diagrams Decomposing Data Flow Diagrams
Elementary Process Description
System Small Stock
DFD Type Current
Process Name Record Purchase Order
Process Id 1.2
Managers give the stock clerk a ready-made
purchase order. The stock clerk places this order
in the Purchase Order Cabinet. It is the
managers responsibility to send the order
directly to the supplier they have chosen. Each
purchase order contains product information taken
from the suppliers price list. The date after
which a delivery of goods will be unacceptable is
also included.
15Data Flow Diagrams Decomposing Data Flow Diagrams
16Data Flow Diagrams Context Diagrams
Data Flow Data Item Remarks
Stock List product name quantity in stock
Purchase Order supplier name supplier address suppliers product code product name quantity ordered purchase order date latest acceptable delivery date Purchase order contains one supplier name but many product name
17Data Flow Diagrams Starting from the Context
Diagram
- To develop a Context Diagram we carry out the
following tasks - (i) Identify all sources and recipients of data
from the system, i.e. external entities - (ii) Identify the major data flows to and from
the external entities - (iii)Convert each source or recipient into an
external entity symbol - (iv)Add the data flows between each external
entity and a single box representing the entire
system
18Data Flow Diagrams Starting from the Context
Diagram
External Entity S or R Data Flow
- Supplier s
Delivery Note - r
Purchase Order - s
Delivery Details - s
Invoice - Purchaser s P.O.
Quantities - r
Stock Report - Customer r
Dispatch Note - Sales Marketing s Customer Order
- r Matched C.O. 1
- Accounts r Matched Invoices
19Data Flow Diagrams Starting from the Context
Diagram
ZigZag
Warehouse
System
20Document Flow Diagrams
- Identify all recipients and sources of documents,
whether inside or outside the system boundary - Identify the documents that connect them
- Convert each source and recipient into an
external entity symbol - Add data flow arrows to represent each connecting
document - Add the system boundary to exclude the external
entities identified in the context diagram
21Document Flow Diagrams
Source Document Recipient
- Supplier Invoice
P.O.Clerk - Supplier Delivery Times Stock
Clerk - Stock Clerk Stock Report Purchaser
- Stock Clerk Stock Report Despatch
Supervisor - Despatch Clerk Despatch Note Customer
- Customer Customer Order Sales
Marketing - Sales Marketing Customer Order Despatch Clerk
- Despatch Clerk Despatch Report Despatch
Supervisor - Despatch Super. Matched Dsp Rep Despatch Clerk
- Despatch Clerk Matched CO 1 Sales Marketing
- .
22Document Flow Diagrams
23Data Flow DiagramsConverting Document Flow
Diagrams
To transform the Document Flow Diagram into a DFD
we follow each document flow in turn, asking the
following questions
- What process generates this document flow?
- What process receives this document flow?
- Is the document stored by a process?
- Where is the document stored?
- Is the document created from stored data?
- What business activity triggers the process?
- Is the document a source of new data?
24Data Flow Diagrams Context Diagrams
- A level higher than level 1, showing the whole
system as a single process with external entities
around it, is also possible
25Data Flow Diagrams Decomposing Data Flow Diagrams
26Decomposition Diagram
27Data Flow Diagrams Starting from the Context
Diagram
- We can now follow each flow into and identify the
elementary process responsible for it - A grouping of these elementary processes can then
give us a first glimpse of the systems Data Flow
Model
28Data Flow DiagramsConverting Business Activity
Models
29Data Flow DiagramsTips
- For a process to be complete, it needs to have
both an input and an output (shown by data flows
going into and coming out of it)
30Data Flow DiagramsTips
WHY?
31Creating Use Cases
32Elements of a Use Case
- Trigger -- event that causes the scenario to
begin - External trigger
- Temporal trigger
- All possible inputs and outputs
- Individual steps
- Show sequential order
- Show conditional steps
33Scenario Template (Use Case)
34Creating Data Flow Diagrams
35Steps in Building DFDs
- Build the context diagram
- Create DFD fragments for each scenario
- Organize DFD fragments into level 0
- Decompose level 0 DFDs as needed
- Validate DFDs with user
36A DFD Fragment Example
37DFD Common Errors
Error
Error
Error
38DFD Packet Concept
39A Second DFD Fragment Example
40Level 0 Tips
- Generally move from top to bottom, left to right
- Minimize crossed lines
- Iterate as needed
- The DFD is often drawn many times before it is
finished, even with very experienced systems
analysts
41Composite Elementary Flows
42Tips for Level 1 and Below
- Sources for inputs and outputs listed at higher
level - List source and destination of data flows to
processes and stores within each DFD - Depth of DFD depends on overall system complexity
- Two processes generally dont need lower level
- More than seven processes become overly complex
and difficult to read
43Flows to from Data Stores
44Illegal Data Flows
45Validating the DFD
- Syntax errors
- Assure correct DFD structure
- Semantics errors
- Assure accuracy of DFD relative to actual/desired
business processes - User walkthroughs
- Role-play processes
- Examine lowest level DFDs
- Examine names carefully
46How should we gather requirements? Use cases?
- 1. Use cases hold functional requirements in an
easy-to-read text format - 2. They make a good framework for non-functional
requirements project details. - 3. Use cases show only the Functional reqts.
- 4. Design is not done only in use case units.
47Use cases do not collect formulae, state,
cardinality, performance, uptime, ...
- Examples
- 1. Order cost order item costs 1.06 tax
- 2. Promotions may not run longer than 6 months.
- 3. Customers only become Preferred after ...
- 4. A customer has one and only one sales contact.
- 5. Response time is ...
- 6. Uptime requirement is ...
- 7. Number of simultaneous users will be ...
48Use the scenarios directly to Design and Test
the system.
What if...?
Scenarios
Knows how to...
Knows how to...
Knows how to...
49Summary
- The Data Flow Diagram (DFD) is an essential tool
for creating formal descriptions of business
processes and data flows. - Use cases record the input, transformation, and
output of business processes. - Eliciting scenario descriptions and modeling
business processes are critically important
skills for the systems analyst to master.