1 System Analysis And Design Methods Data flow

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

These tools are not specific to either structured analysis or OO analysis. Use-cases Use-case diagrams Activity diagrams Data object diagrams analysis model tools

Swimlane diagrams ERD diagrams Structured Analysis Data flow diagrams Process specifications (Process narrative) Class diagrams Packages

CRC cards OO Analysis Sequence Diagrams 2 Overview 3 Modeling Tools:

Structured Analysis: Data object diagrams ERD diagrams Models data elements Attributes Relationships Structured

Analysis Data flow diagrams Process specifications (Process narrative) Models processes that transform data 4 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 Example of Data Flow Diagramm

5 Data Flow Diagramming standards Gane and Sarson DeMarco and Yourdan 6 Gane and Sarson VS DeMarco and Yourdon symbols (Process)

(Data Store) (External Entity) (Data Flow) 7 (Gane & Sarson Symbols set ) DFD Symbols (Elements) 1.Process 2.Data Flow

3.Data Store 4.Source/Sink (External Entity) 8 Gane/Sarson VS DeMarco/Yourdon Example 9 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. 10 DFD Symbols

1.Process 11 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) 12 DFD Symbols 2. Data Flow Straight line with incoming arrows are input data flows Straight lines with outgoing arrows are output data flows

13 DFD Symbols 2. Data Flow 14 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 15 DFD Symbols 2.2 Data flow (Rules II)

16 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 DATE OF BIRTH

CALCULATE GRADE FINAL GRADE Gray hole: process has at least one input and one output, but the input obviously is insufficient 17 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 18 DFD Symbols 3. Data Store 19 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 20

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 21 DFD Symbols 4. Source/Sink (External Entity/Agent)

22 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 23 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 24 DFD

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 25

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

An example of Creating DFDs 27 An example of Creating DFDs (s1) 28 An example of Creating DFDs External Entities

Processes Data Stores An example of Creating DFDs (s1) An example of Creating DFDs 29 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 customers balance 30 Creating DFDs Creating the Context Diagram

1) Draw one process representing the entire system (process 0) 2) Find all inputs and outputs that come from or go to external entities; draw as data flows. 3) Draw in external entities as the source or destination of the data flows. 31 Creating Context Diagram (Example A) Mail Order System 32

Creating Context Diagram (Example B) 33 Creating Context Diagram (Example C) airline reservation system 34 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.

35 Creating DFDs Decomposition of DFDs 36 Creating DFDs Decomposition of DFDs (the Small Stock System)

37 Creating DFDs Decomposition of DFD (break-up process 1 of the Small Stock System ) 38 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 39 Creating DFDs

Level-0 DFD A data flow diagram (DFD) that represents a systems 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 40 Creating DFDs

Creating Level 0 Diagram 1) Combine the set of DFD fragments into one diagram. 2) Generally move from top to bottom, left to right. 3) Minimize crossed lines. 41 Creating Context Diagram (Example A) Mail Order System

42 Creating Context Diagram (Example D) city complaint handling system (context diagram) 43 Creating Context Diagram (Example D) city complaint handling system (Level 0) 44

Creating Level-0 DFD (Example B) 45 46 )Creating Level-0 DFD (Example E

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 47 Creating DFDs

Creating Level 1 Diagram 1) Each use case is turned into its own DFD. 2) Take the steps listed on the use case and depict each as a process on the level 1 DFD. 3) Inputs and outputs listed on use case become data flows on DFD. 4) Include sources and destinations of data flows to processes and stores within the DFD. 5) May also include external entities for clarity. 48 Creating Context Diagram (Example A) Mail Order System

49 50 )Creating Level-1 DFD (Example E Creating Level-1 DFD (Example F) Internet sales system (context diagram)

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

Creating Level-1 DFD (Example G) A DFD of a University Course Registration System (level 0 & 1) 54 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 55 Creating Level-2 DFD (Example G) A DFD of a University Course Registration System (level 2 , part I) 56 Creating Level-2 DFD (Example G)

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

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

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

Creating Level-2 DFD (Example I) L1: 64 Creating Level-2 DFD (Example I) Level 2:(1.2) 65

Creating Level-2 DFD (Example I) Level 2 : (1.3) 66 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 its expanded version

Expanded DFD may have data stores Only previously stored data can be read Data flow continuity must be maintained between levels 67 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 68 69 MORE EXAMPLE DFD Example (J) Lemonade Stand Example 70

DFD Example (J) 71 Lemonade Stand Example Example The operations of a simple lemonade stand will be used to demonstrate the creation of dataflow diagrams. Steps :

1 Create a list of activities Old way: no Use-Case Diagram New way: use Use-Case Diagram 2 Construct Context Level DFD (identifies sources and sink) 3 Construct Level 0 DFD (identifies manageable sub processes )

Construct Level 1- n DFD 4 (identifies actual data flows and data stores ) DFD Example (J) 72 Lemonade Stand Example (I) Example Think through the activities that take place at a lemonade stand.

1 Create a list of activities Customer Order Serve Product Collect Payment Produce Product Store Product DFD Example (J)

73 Lemonade Stand Example (II) Example Also think of the additional activities needed to support the basic activities. 1 Create a list of activities Customer Order

Serve Product Collect Payment Produce Product Store Product Order Raw Materials Pay for Raw Materials Pay for Labor DFD Example (J) 74 Lemonade Stand Example (III)

Example Group these activities in some logical fashion, possibly functional areas. 1 Create a list of activities Customer Order Serve Product Collect Payment Produce Product Store Product

Order Raw Materials Pay for Raw Materials Pay for Labor DFD Example (J) 75 Lemonade Stand Example (IV) Example Create a context level diagram identifying the sources and sinks (users).

Customer Order Serve Product Collect Payment Produce Product Store Product Order Raw Materials Pay for Raw Materials Pay for Labor 2 Construct Context Level DFD (identifies sources and sink)

Context Level DFD 2 3 DFD Example (J) 76 Lemonade Stand Example (V) Example Create a level 0 diagram

identifying the logical subsystems that may exist. Customer Order Serve Product Collect Payment Produce Product Store Product Order Raw Materials Pay for Raw Materials Pay for Labor 3

Construct Level 0 DFD (identifies manageable sub processes ) Level 0 DFD 2 3 DFD Example (J) 77 Lemonade Stand Example (VI)

Example 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

4 Construct Level 1- n DFD (identifies actual data flows and data stores ) Level 1 DFD 2 3 DFD Example (J) 78

Lemonade Stand Example (VII) Example 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 4 Construct Level 1 (continued) Level 1 DFD 2 3 DFD Example (J)

79 Lemonade Stand Example (VIII) Example 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 4 Construct Level 1 (continued) Level 1 DFD 2 3 DFD Example (J)

80 Lemonade Stand Example (X) Example 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 4 Construct Level 1 (continued) Level 1 DFD 2 3

DFD Example (J) 81 Lemonade Stand Example (XI) Example 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 4 Construct Level 1 (continued) Level 1 DFD 2 3

DFD Example (J) Lemonade Stand Example(XIII) Context Level Level 0 Level 1 82

)DFD Example (K 83 1 + +

+ 2

3 4 5 6

84 )DFD Example (K 85 )DFD Example (K

86 )DFD Example (K 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 87 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 88 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. 89 DFD Logical and Physical DFD DFDs considered so far are called logical DFDs

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

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

92

Recently Viewed Presentations

  • New MT 12 Packet ISN p.96 = Reflection

    New MT 12 Packet ISN p.96 = Reflection

    Define CELL MEMBRANE: DRAW the Cell Membrane What does the CM consist of? What is a phospholipid? What do the proteins do? What do the receptors do? How is the CM like 'bread'? Explain where the two names Fluid &...
  • Forecasting

    Forecasting

    It is stated as: Forecast = Trend + Seasonality + Cycles + Random Causal Models Goal of causal forecasting model is to develop best statistical relationship between dependent variable and independent variables.
  • CBTG Hourglass August, 2013 Is managed travel at

    CBTG Hourglass August, 2013 Is managed travel at

    What's at stake? Are web fares cheaper? CWT: No. Program fares continue to outperform . web fares by a significant margin. • A Topaz International study commissioned by software giant Autodesk compared October 2012 airfares booked through the corporate travel...
  • Clostridium difficile- újdonságok a tipizálással és a ...

    Clostridium difficile- újdonságok a tipizálással és a ...

    A Clostridium difficile toxinjai, a fertőzés epidemiológiája és diagnosztikája C. difficile által okozott infekciók Debrecen 2013 május 30. 1893 Finney a PMC mint klinikai kép leírása 1935 Hall et al. a kórokozó első izolálása 1974 Tadesco et al. első AAD...
  • Live Mobile and Cloud Hacking by ACEs

    Live Mobile and Cloud Hacking by ACEs

    Live Mobile and Cloud Hacking by ACEs. OGh | Fusion Middleware Experience (FME) 16-feb-2016. 14:45 - 16:45. Want to know more about Oracle's Cloud products and how they work together and can be integrated into enterprise solutions?
  • Integration of FIRST and PLTW

    Integration of FIRST and PLTW

    Integration of FIRST and PLTW John Wise Lee Smalley Andy Newell Project Lead the Way Five engineering classes which teaches the fundamental ideas behind engineering Its goal is to better prepare students for college curriculum It gives students experience and...
  • Covalent Nomenclature - Currituck County Schools

    Covalent Nomenclature - Currituck County Schools

    Molecular compounds w/ more than 2 elements are usually organic. Organic compounds have their own special naming system. Atoms in molecules don't the number of each atom: mono = 1 di = 2 tri = 3 tetra = 4 penta...
  • Sliding Filament Model of Muscle Contraction

    Sliding Filament Model of Muscle Contraction

    Fig. 10-3. Myofibrils are surrounded by calcium-containing sarcoplasmic reticulum. Fig. 10-7. Review of thin and thick filament structure Fig. 10-9.