Presentation is loading. Please wait.

Presentation is loading. Please wait.

“Data flow diagrams (DFD)”

Similar presentations


Presentation on theme: "“Data flow diagrams (DFD)”"— Presentation transcript:

1 “Data flow diagrams (DFD)”
System Analysis And Design Methods “Data flow diagrams (DFD)” Imam Khomeini international University, 2019 Dr. Ali Khaleghi | Hadi Haedar

2 Process specifications
Overview Use-cases These tools are not specific to either structured analysis or OO analysis. General Use-case diagrams Activity diagrams Data object diagrams Swimlane diagrams ERD diagrams analysis model tools Structured Analysis Data flow diagrams Class diagrams Process specifications (Process narrative) Packages CRC cards OO Analysis Sequence Diagrams

3 Process specifications
Overview Modeling Tools: Structured Analysis: Data object diagrams Models data elements Attributes Relationships ERD diagrams Structured Analysis Structured Analysis Data flow diagrams Models processes that transform data Process specifications (Process narrative)

4 describes information flow among a set of processes and actors
Data flow diagrams describes information flow among a set of processes and actors Graphically illustrate movement of data between external entities and the processes and data stores within a system shows business processes and the data that flows between them useful for communicating with users, managers, and other personnel perform structured analysis to determine logical requirements Synonyms  bubble chart/ transformation graph / process mode

5 Example of Data Flow Diagramm

6 Data Flow Diagramming standards
Gane and Sarson DeMarco and Yourdan

7 Gane and Sarson VS DeMarco and Yourdon symbols
(Process) (Data Store) (External Entity) (Data Flow)

8 DFD Symbols (Elements)
(Gane & Sarson Symbols set ) DFD Symbols (Elements) 1.Process 2.Data Flow 3.Data Store 4.Source/Sink (External Entity)

9 Gane/Sarson VS DeMarco/Yourdon
Example

10 DFD Symbols 1.Process Depicts work or action performed on data so that they are transformed, stored or distributed Number of process as well as name are recorded Work or actions performed by a system in response to incoming data flows or conditions Receives input data and produces output synonym  transform.

11 DFD Symbols 1.Process

12 DFD Symbols 1.1 Process (Rules I) Can have more than one outgoing data flow or more than one incoming data flow Can connect to any other symbol (including another process symbol) A process has a verb phrase label No process can have only outputs No process can have only inputs (black hole)

13 2. Data Flow Straight line with incoming arrows are input data flows
DFD Symbols 2. Data Flow Straight line with incoming arrows are input data flows Straight lines with outgoing arrows are output data flows

14 DFD Symbols 2. Data Flow

15 DFD Symbols 2.1 Data Flow (Rules I) A data flow has only one direction of flow between symbols A data flow to a data store means update A data flow from a data store means retrieve or use A data flow has a noun phrase label A data flow cannot go directly back to the same process it leaves A Fork means that exactly the same data goes A Join means that exactly the same data comes from any two or more different processes, data stores or sources/sinks to a common location

16 DFD Symbols 2.2 Data flow (Rules II)

17 2.3 Data flow (incorrect combinations)
DFD Symbols 2.3 Data flow (incorrect combinations) Spontaneous generation : process has out put, but no input Black hole : process has input, but no output Gray hole: process has at least one input and one output, but the input obviously is insufficient DATE OF BIRTH FINAL GRADE CALCULATE GRADE

18 DFD Symbols 3. Data Store A Data Store is a repository of data that stored data intended for later use used in a DFD to represent data that the system stores data store in a DFD represents : A sequential file A disk store A repository of data A random access memory Synonyms  file and database

19 DFD Symbols 3. Data Store

20 3.1 Data Store (Rules ) Labels should be noun phrases
DFD Symbols 3.1 Data Store (Rules ) Labels should be noun phrases Must have at least one incoming and one outgoing data flow Data can be written into the data store. (incoming arrow) Data can be read from a data store. (outgoing arrow) Data cannot be moved directly from one store to another(Two data stores cannot be connected by a data flow) External entity (sink/ source) cannot read or write to the data store

21 4. Source/Sink (External Entity/Agent)
DFD Symbols 4. Source/Sink (External Entity/Agent) an outside person, organization unit, system, or organization outside the system that interacts with a system External Entities may be a : Source of input data only Source of input data or destination of results Destination of results only Repository of data synonym  external entity Source – Entity that supplies data to the system Sink – Entity that receives data from the system

22 4. Source/Sink (External Entity/Agent)
DFD Symbols 4. Source/Sink (External Entity/Agent)

23 4.1 Source/Sink (Rules) Must be connected to a process by a data flow
DFD Symbols 4.1 Source/Sink (Rules) Must be connected to a process by a data flow Labels should be noun phrases Data cannot move directly from a source to a sink

24 Data Flow Diagramming Basic Rules
DFD Data Flow Diagramming Basic Rules Inputs to a process are always different than outputs Objects always have a unique name In order to keep the diagram uncluttered, you can repeat data stores and sources/sinks on a diagram nouns => external entities, control objects, data stores, data flow Names of data) Verbs (a system name/ a subsystem name) => processes

25 Strategies for Developing DFDs
Top-down strategy : Create the high-level diagrams (Context Diagram), then low-level diagrams (Level-0 diagram), and so on Bottom-up strategy : Create the low-level diagrams, then higher-level diagrams

26 Creating DFDs Create a list of activities
Create a preliminary Context Diagram Create a Level 0 diagram from fragments. Decompose to Level 1,2,… (for each of process of previous level) Validate DFDs ( Check against rules of DFD)

27 An example of Creating DFDs
An example of Creating DFDs (s1) An example of Creating DFDs

28 An example of Creating DFDs
An example of Creating DFDs (s1) An example of Creating DFDs Processes Data Stores External Entities

29 An example of Creating DFDs
An example of Creating DFDs (s1) An example of Creating DFDs

30 Context Diagram Top-level view of IS
Creating DFDs Context Diagram Top-level view of IS a data flow diagram (DFD) of the scope of an organizational shows the system boundaries, external entities that interact with the system and the major information flows between the entities and the system Example: Order system that a company uses to enter orders and apply payments against a customer’s balance

31 Creating the Context Diagram
Creating DFDs Creating the Context Diagram Draw one process representing the entire system (process 0) Find all inputs and outputs that come from or go to external entities; draw as data flows. Draw in external entities as the source or destination of the data flows.

32 Creating Context Diagram (Example A)
Mail Order System

33 Creating Context Diagram (Example B)
سیستم نمره دهی

34 airline reservation system
Creating Context Diagram (Example C) airline reservation system

35 Creating DFDs Decomposition of DFDs The iterative process of exploding data flow diagrams to create more detail. A act of going from one single system to many component processes Repetitive procedure (Lowest level is called a primitive DFD) Level 0 data flow diagrams may be exploded into successive low levels of detail. The next level of detail would be a level 1 data flow diagram. The DFDs become linked together in a hierarchy, which would fully document the system.

36 Creating DFDs Decomposition of DFDs

37 Decomposition of DFDs (the Small Stock System)
Creating DFDs Decomposition of DFDs (the Small Stock System)

38 Decomposition of DFD (break-up process 1 of the Small Stock System )
Creating DFDs Decomposition of DFD (break-up process 1 of the Small Stock System )

39 Decomposition of DFDs (When to stop? )
Creating DFDs Decomposition of DFDs (When to stop? ) When the system becomes primitive ( i.e. lowest level is reached and further decomposition is useless) When each process has been reduced to a single decision, calculation or database operation When each data store represents data about a single entity When the system user does not care to see any more detail When every data flow does not need to be split further to show that data are handled in various ways When you believe that you have shown each business form or transaction, on-line display and report as a single data flow When you believe that there is a separate process for each choice on all lowest-level menu options Ideally, a DFD has at least three levels

40 Creating DFDs Level-0 DFD A data flow diagram (DFD) that represents a system’s major processes, data flows and data stores at a high level of detail Shows all the processes that comprise the overall system Shows how information moves from and to each process Adds data stores When the Context Diagram is expanded into DFD level-0, all the connections that flow into and out of process 0 needs to be retained Level 0 DFD should contain only a single process

41 Creating Level 0 Diagram
Creating DFDs Creating Level 0 Diagram Combine the set of DFD fragments into one diagram. Generally move from top to bottom, left to right. Minimize crossed lines.

42 Creating Context Diagram (Example A)
Mail Order System

43 city complaint handling system (context diagram)
Creating Context Diagram (Example D) city complaint handling system (context diagram)

44 city complaint handling system (Level 0)
Creating Context Diagram (Example D) city complaint handling system (Level 0)

45 Creating Level-0 DFD (Example B)
سیستم نمره دهی

46 Creating Level-0 DFD (Example E)
سیستم پمپ بنزین

47 Creating DFDs Level 1 Diagrams Shows all the processes that comprise a single process on the level 0 diagram Shows how information moves from and to each of these processes Shows in more detail the content of higher level process Level 1 diagrams may not be needed for all level 0 processes

48 Creating Level 1 Diagram
Creating DFDs Creating Level 1 Diagram Each use case is turned into its own DFD. Take the steps listed on the use case and depict each as a process on the level 1 DFD. Inputs and outputs listed on use case become data flows on DFD. Include sources and destinations of data flows to processes and stores within the DFD. May also include external entities for clarity.

49 Creating Context Diagram (Example A)
Mail Order System

50 Creating Level-1 DFD (Example E)
سیستم پمپ بنزین

51 Internet sales system (context diagram)
Creating Level-1 DFD (Example F) Internet sales system (context diagram)

52 Internet sales system (level 0)
Creating Level-1 DFD (Example F) Internet sales system (level 0)

53 Internet sales system (level 1, process 1 : take request)
Creating Level-1 DFD (Example F) Internet sales system (level 1, process 1 : take request)

54 A DFD of a University Course Registration System (level 0 & 1)
Creating Level-1 DFD (Example G) A DFD of a University Course Registration System (level 0 & 1)

55 Creating DFDs Level 2 Diagrams Shows all processes that comprise a single process on the level 1 diagram Shows how information moves from and to each of these processes Level 2 diagrams may not be needed for all level 1 processes Correctly numbering each process helps the user understand where the process fits into the overall system

56 A DFD of a University Course Registration System (level 2 , part I)
Creating Level-2 DFD (Example G) A DFD of a University Course Registration System (level 2 , part I)

57 A DFD of a University Course Registration System (level 2 , part I)
Creating Level-2 DFD (Example G) A DFD of a University Course Registration System (level 2 , part I)

58 A DFD of a University Course Registration System (level 2 , part II)
Creating Level-2 DFD (Example G) A DFD of a University Course Registration System (level 2 , part II)

59 A DFD of a University Course Registration System (level 2 , final)
Creating Level-2 DFD (Example G) A DFD of a University Course Registration System (level 2 , final)

60 DFD for University Admission System (context diagram)
Creating Level-2 DFD (Example H) DFD for University Admission System (context diagram)

61 DFD for University Admission System (level 0)
Creating Level-2 DFD (Example H) DFD for University Admission System (level 0)

62 Creating Level-2 DFD (Example H)
DFD for University Admission System (L 1, Process 1: Perform Intake Procedure)

63 Creating Level-2 DFD (Example H)
DFD for University Admission System (L 1, Process 2, Maintain Student Information)

64 Creating Level-2 DFD (Example I)

65 Creating Level-2 DFD (Example I)

66 Creating Level-2 DFD (Example I)

67 Tips and Rules for Level 1 and Below (I)
Creating DFDs Tips and Rules for Level 1 and Below (I) If a process p is expanded, the process at the next level are labelled as p.1, p.2 etc Sources for inputs and outputs listed at higher level Depth of DFD depends on overall system complexity All data flow entering or leaving p must also enter or leave it’s expanded version Expanded DFD may have data stores Only previously stored data can be read Data flow continuity must be maintained between levels

68 Tips and Rules for Level 1 and Below (II)
Creating DFDs Tips and Rules for Level 1 and Below (II) No external entity can appear in expanded DFD More than seven processes become overly complex and difficult to read Data stores cannot create new data A process can only transfer input to output. It cannot create new data Time is not represented well on DFDs

69 MORE EXAMPLE

70 Lemonade Stand Example
DFD Example (J) Lemonade Stand Example

71 Lemonade Stand Example Steps :
DFD Example (J) Lemonade Stand Example Steps : Example Create a list of activities Old way: no Use-Case Diagram New way: use Use-Case Diagram 1 The operations of a simple lemonade stand will be used to demonstrate the creation of dataflow diagrams. Construct Context Level DFD (identifies sources and sink) 2 Construct Level 0 DFD (identifies manageable sub processes ) 3 Construct Level 1- n DFD (identifies actual data flows and data stores ) 4

72 Lemonade Stand Example (I)
DFD Example (J) Lemonade Stand Example (I) Example 1 Create a list of activities Think through the activities that take place at a lemonade stand. Customer Order Serve Product Collect Payment Produce Product Store Product

73 Lemonade Stand Example (II)
DFD Example (J) Lemonade Stand Example (II) Example 1 Create a list of activities Also think of the additional activities needed to support the basic activities. Customer Order Serve Product Collect Payment Produce Product Store Product Order Raw Materials Pay for Raw Materials Pay for Labor

74 Lemonade Stand Example (III)
DFD Example (J) Lemonade Stand Example (III) Example 1 Create a list of activities Group these activities in some logical fashion, possibly functional areas. Customer Order Serve Product Collect Payment Produce Product Store Product Order Raw Materials Pay for Raw Materials Pay for Labor

75 Lemonade Stand Example (IV)
DFD Example (J) Lemonade Stand Example (IV) Example 2 Construct Context Level DFD (identifies sources and sink) Create a context level diagram identifying the sources and sinks (users). “Context Level DFD” Customer Order Serve Product Collect Payment Produce Product Store Product Order Raw Materials Pay for Raw Materials Pay for Labor 2 3

76 Lemonade Stand Example (V)
DFD Example (J) Lemonade Stand Example (V) Example 3 Construct Level 0 DFD (identifies manageable sub processes ) Create a level 0 diagram identifying the logical subsystems that may exist. “Level 0 DFD” Customer Order Serve Product Collect Payment Produce Product Store Product Order Raw Materials Pay for Raw Materials Pay for Labor 2 3

77 Lemonade Stand Example (VI)
DFD Example (J) Lemonade Stand Example (VI) Example 4 Construct Level 1- n DFD (identifies actual data flows and data stores ) Create a level 1 decomposing the processes in level 0 and identifying data stores. “Level 1 DFD” Customer Order Serve Product Collect Payment Produce Product Store Product Order Raw Materials Pay for Raw Materials Pay for Labor 2 3

78 Lemonade Stand Example (VII)
DFD Example (J) Lemonade Stand Example (VII) Example Construct Level 1 (continued) 4 “Level 1 DFD” Create a level 1 decomposing the processes in level 0 and identifying data stores. Customer Order Serve Product Collect Payment Produce Product Store Product Order Raw Materials Pay for Raw Materials Pay for Labor 2 3

79 Lemonade Stand Example (VIII)
DFD Example (J) Lemonade Stand Example (VIII) Example Construct Level 1 (continued) 4 “Level 1 DFD” Create a level 1 decomposing the processes in level 0 and identifying data stores. Customer Order Serve Product Collect Payment Produce Product Store Product Order Raw Materials Pay for Raw Materials Pay for Labor 2 3

80 Lemonade Stand Example (X)
DFD Example (J) Lemonade Stand Example (X) Example Construct Level 1 (continued) 4 “Level 1 DFD” Create a level 1 decomposing the processes in level 0 and identifying data stores. Customer Order Serve Product Collect Payment Produce Product Store Product Order Raw Materials Pay for Raw Materials Pay for Labor 2 3

81 Lemonade Stand Example (XI)
DFD Example (J) Lemonade Stand Example (XI) Example Construct Level 1 (continued) 4 “Level 1 DFD” Create a level 1 decomposing the processes in level 0 and identifying data stores. Customer Order Serve Product Collect Payment Produce Product Store Product Order Raw Materials Pay for Raw Materials Pay for Labor 2 3

82 Lemonade Stand Example(XIII) <Process Decomposition>
DFD Example (J) Lemonade Stand Example(XIII) <Process Decomposition> Context Level Level 0 Level 1

83 سیستم انبار یک کارخانه DFD Example (K) 1 مدیریت 2 متقاضی پاسخ + کالا
ارائه گزارش عملکرد درخواست گزارش 2 متقاضی پاسخ + کالا حواله انبار + کالای مرجوعی 3 امور مالی لیست سفارشات اعتبار مالی 4 تدارکات سفارش خرید گزارش خرید 5 بازرسی رسید انبار کالا 6 تعمیر گاه تقاضای تعمیرات سرویس تعمیرات

84 DFD Example (K) سیستم انبار یک کارخانه

85 DFD Example (K) سیستم انبار یک کارخانه

86 DFD Example (K) سیستم انبار یک کارخانه

87 Creating DFDs Why Level DFD? If a DFD is too detailed it will have too many data flows and will be large and difficult to understand Start from a broad overview. Expand to details – Idea similar to using procedures and linking these with a main program Each DFD must deal with one aspect of a big system

88 Creating DFDs Validating the DFD Check for syntax errors to assure correct DFD structure. Check for semantics errors Assure correct DFD structure Assure accuracy of DFD (relative to actual/desired business processes) Assure User walkthroughs Assure Role-play processes Examine lowest level DFDs

89 Creating DFDs Balancing DFDs The conservation of inputs and outputs to a data flow process when that process is decomposed to a lower level Ensures that the input and output data flows of the parent DFD are maintained on the child DFD Information presented at one level of a DFD is accurately represented in the next level DFD Each DFD reveals progressively more detail than the DFD that preceded it Refinement continues until each bubble can be (easily) implemented as a program module.

90 Logical and Physical DFD
A physical DFD is similar to a document flow diagram It specifies who does the operations specified by the logical DFD Physical DFD may depict physical movements of the goods Physical DFDs can be drawn during fact gathering phase of a life cycle DFDs considered so far are called logical DFDs

91 Physical DFD for Cheque Encashment
Logical and Physical DFD Example (i) Physical DFD for Cheque Encashment

92 Logical DFD for Cheque Encashment
Logical and Physical DFD Example (i) Logical DFD for Cheque Encashment


Download ppt "“Data flow diagrams (DFD)”"

Similar presentations


Ads by Google