1 System Analysis And Design Methods Data flow

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

  • Unit 8 - Mr. Lin's Classroom

    Unit 8 - Mr. Lin's Classroom

    Unit 8 Vocabulary Book G. Unit 8 Worksheet due Monday1/09 A-Day and Tuesday 1/10 - B-Day. Unit 8 Quiz on Wednesday 1/11 A-Day and Thursday 1/12 B-Day
  • TelePresence as a Service B E YO N

    TelePresence as a Service B E YO N

    More importantly, this capability - unique to TeleSpace - also ensures seamless, uninterrupted cloud service delivery since we have access to multiple Tier 1 and 2 carriers and can alternate between them as a means of reacting to, or recovering...
  • QRDA Category I STU R5 Update

    QRDA Category I STU R5 Update

    Removed the SHALL requirement in the QRDA Category I Framework template to align with the SHOULD requirement in US Realm Header. Not Done. Removed the SHALL requirement of sdtc:valueSet. However, when report "not done", If it is a value set.
  • Introduction to Microelectronic Fabrication by Richard C. Jaeger

    Introduction to Microelectronic Fabrication by Richard C. Jaeger

    No portion of this material may be reproduced, in any form or by any means, without permission in writing from the publisher. For the exclusive use of adopters of the book Introduction to Microelectronic Fabrication, Second Edition by Richard C....
  • Acceleration Derivations - University of Nebraska Omaha

    Acceleration Derivations - University of Nebraska Omaha

    Acceleration Derivations Many of you remember the old 'DiRT' formula. Distance = Rate times Time Scientifically, it's 'average velocity' equals distance divided by time.
  • Petrology - FAU Geoscience

    Petrology - FAU Geoscience

    Petrology Lecture 9 Introduction to Metamorphism GLY 4310 - Spring, 2012 ... Scottish Highlands Barrovian Zones Al2SiO5 Phase Diagram Buchan or Abukuma Isograds Slide 34 Haast Group Japanese Metamorphic Belts Subduction Zone Isotherms Circum-Pacific Metamorphism Contact Metamorphism of Pelitic ...
  • The Justice Academy Thematic Analysis Introduction to Thematic

    The Justice Academy Thematic Analysis Introduction to Thematic

    Graduated SymbolsThis form of thematic map varies the actual size of the dots used to profile the location of an object.Although not particularly accurate relative to the spatial axiom, graduated symbol mapping is an effective method of visualizing information and...
  • Chilean Mill uses PeCOD for Determination of Chemical Oxygen ...

    Chilean Mill uses PeCOD for Determination of Chemical Oxygen ...

    Chilean Mill's Findings Using the peCOD Method. Figure 1: peCOD (blue) versus traditional method (red) for COD analysis at Diffusor Line 2. Figure 2: peCOD (blue) versus traditional method (red) for COD analysis at Press 2, Line 2.