DFD LECTURE1

49
6 - 1 Process Modeling

description

LECTURE1

Transcript of DFD LECTURE1

Page 1: DFD LECTURE1

6 - 1

Process Modeling

Page 2: DFD LECTURE1

6 - 2

Key Definitions

Process model A formal way of representing how a business system operatesIllustrates the activities that are performed and how data moves among them

Data flow diagrammingA common technique for creating process models

Page 3: DFD LECTURE1

6 - 3

DATA FLOW DIAGRAMS

A graphical tool that depicts the flow of data in an information systems, the relationship among the data flows and how data come to be stored at specific location.Represents the functions or processes which capture, manipulate, store and distribute data between a system and its environment and between components within a system.

Page 4: DFD LECTURE1

6 - 4

Elements of a DFD

ProcessAn activity or function performed for a specific business reasonManual or computerized

Data flowA single piece of data or a logical collection of dataAlways starts or ends at a process

Page 5: DFD LECTURE1

6 - 5

DFD Elements

Data StoreA collection of data that is stored in some wayData flowing out is retrieved from the data storeData flowing in updates or is added to the data store

External entityA person, organization, or system that is external to the system but interacts with it.

Page 6: DFD LECTURE1

6 - 6

Naming and Drawing DFD Elements

Process

Data flow

Data store

Externalentity

Page 7: DFD LECTURE1

6 - 7

Using a DFD to Define Business Processes

Business processes are too complex to be shown on a single DFDDecomposition is the process of representing the system in a hierarchy of DFD diagrams

Child diagrams show a portion of the parent diagram in greater detail

Page 8: DFD LECTURE1

6 - 8

Key Definition

Balancing involves insuring that information presented at one level of a DFD is accurately represented in the next level DFD.

Page 9: DFD LECTURE1

6 - 9

Relationship among Levels of DFDs

Context diagram

Level 0 diagram

Level 1 diagram

Level 2 diagram

Page 10: DFD LECTURE1

6 - 10

Context Diagram

First DFD in every business processShows the context into which the business process fitsShows the overall business process as just one process (process 0)Shows all the external entities that receive information from or contribute information to the system

Page 11: DFD LECTURE1

6 - 11

Level 0 Diagram

Shows all the major processes that comprise the overall system – the internal components of process 0Shows how the major processes are interrelated by data flowsShows external entities and the major processes with which they interactAdds data stores

Page 12: DFD LECTURE1

6 - 12

Level 1 Diagrams

Generally, one level 1 diagram is created for every major process on the level 0 diagramShows all the internal processes that comprise a single process on the level 0 diagramShows how information moves from and to each of these processesIf a parent process is decomposed into, for example, three child processes, these three child processes wholly and completely make up the parent process

Page 13: DFD LECTURE1

6 - 13

Level 2 Diagrams

Shows all processes that comprise a single process on the level 1 diagramShows how information moves from and to each of these processesLevel 2 diagrams may not be needed for all level 1 processesCorrectly numbering each process helps the user understand where the process fits into the overall system

Page 14: DFD LECTURE1

6 - 14

Alternative Data Flows

Where a process can produce different data flows given different conditionsWe show both data flows and use the process description to explain why they are alternativesTip -- alternative data flows often accompany processes with IF statements

Page 15: DFD LECTURE1

6 - 15

Process Descriptions

Text-based process descriptions provide more information about the process than the DFD aloneIf the logic underlying the process is quite complex, more detail may be needed in the form of

Structured EnglishDecision treesDecision tables

Page 16: DFD LECTURE1

6 - 16

CREATING DATA FLOW DIAGRAMS

Page 17: DFD LECTURE1

6 - 17

Integrating Scenario Descriptions

DFDs start with the use cases and requirements definitionGenerally, the DFDs integrate the use casesNames of use cases become processesInputs and outputs become data flows“Small” data inputs and outputs are combined into a single flow

Page 18: DFD LECTURE1

6 - 18

Steps in Building DFDs

Build the context diagramCreate DFD fragments for each use caseOrganize DFD fragments into level 0 diagramDecompose level 0 processes into level 1 diagrams as needed; decompose level 1 processes into level 2 diagrams as needed; etc.Validate DFDs with user to ensure completeness and correctness

Page 19: DFD LECTURE1

6 - 19

Creating the Context Diagram

Draw one process representing the entire system (process 0)Find all inputs and outputs listed at the top of the use cases that come from or go to external entities; draw as data flowsDraw in external entities as the source or destination of the data flows

Page 20: DFD LECTURE1

6 - 20

A Context Diagram Example

Page 21: DFD LECTURE1

6 - 21

Creating DFD Fragments

Each use case is converted into one DFD fragmentNumber the process the same as the use case numberChange process name into verb phraseDesign the processes from the viewpoint of the organization running the system

Page 22: DFD LECTURE1

6 - 22

Creating DFD Fragments

Add data flows to show use of data stores as sources and destinations of dataLayouts typically place

processes in the centerinputs from the leftoutputs to the rightstores beneath the processes

Page 23: DFD LECTURE1

6 - 23

A DFD Fragment Example

Page 24: DFD LECTURE1

6 - 24

Creating the Level 0 Diagram

Combine the set of DFD fragments into one diagramGenerally move from top to bottom, left to rightMinimize crossed linesIterate as needed

DFDs are often drawn many times before being finished, even with very experienced systems analysts

Page 25: DFD LECTURE1

6 - 25

A Level 0 DFD Example

Page 26: DFD LECTURE1

6 - 26

Creating Level 1 Diagrams (and Below)

Each use case is turned into its own DFDTake the steps listed on the use case and depict each as a process on the level 1 DFDInputs and outputs listed on use case become data flows on DFDInclude sources and destinations of data flows to processes and stores within the DFDMay also include external entities for clarity

Page 27: DFD LECTURE1

6 - 27

Creating Level 1 Diagrams (and Below)

When to stop decomposing DFDs?Ideally, a DFD has at least three processes and no more than seven to nine.

Page 28: DFD LECTURE1

6 - 28

DATA FLOW DIAGRAMMING ENTITIES

Process Data Store

Data FlowExternal Entity

or

Page 29: DFD LECTURE1

6 - 29

DFD RULES

No process can have only outputs

1

Page 30: DFD LECTURE1

6 - 30

DFD RULES

No process can have only inputs

2

Page 31: DFD LECTURE1

6 - 31

DFD RULES

Data cannot move directly from one data store to another

3

Page 32: DFD LECTURE1

6 - 32

DFD RULES

Data cannot move directly from an external entity to a data store

4

Page 33: DFD LECTURE1

6 - 33

DFD RULES

Data cannot move directly from a data store to an external entity (sink)

5

Page 34: DFD LECTURE1

6 - 34

DFD RULES

Data cannot move directly from an external source to an external sink

6

Page 35: DFD LECTURE1

6 - 35

DFD RULES

A data flow has only one direction of flow between symbols

7

Page 36: DFD LECTURE1

6 - 36

DFD RULES

A fork in data flow means only the exactly same data goes from

a common location to two or more different processes

8

A

B

A

A

Page 37: DFD LECTURE1

6 - 37

DFD RULES

A join in a data flow means that exactly same data goes from any of

two or more different processes, data stores to a common location

9

A

B

A

A

Page 38: DFD LECTURE1

6 - 38

DFD RULES

No recursive data flow on a process

10

A

AA

C

B

Page 39: DFD LECTURE1

6 - 39

DFD RULES

A data flow to a data store means update (delete or change)

11

Page 40: DFD LECTURE1

6 - 40

DFD RULES

A data flow from a data store means retrieve or use

12

Page 41: DFD LECTURE1

6 - 41

Validating the DFD

Syntax errors – diagram follows the rulesAssure correct DFD structure

For each DFD: Check each process for: A unique name: action verb phrase; number; description

At least one input data flowAt least one output data flowOutput data flow names usually different thaninput data flow namesBetween 3 and 7 processes per DFD

Page 42: DFD LECTURE1

6 - 42

Validating the DFD

For each DFD:Check each data flow for:

A unique name: noun; descriptionConnects to at least one processShown in only one direction (no two-headed arrows)A minimum number of crossed lines

Check each data store for:A unique name: noun; descriptionAt least one input data flowAt least one output data flow

Check each external entity for:A unique name: noun; descriptionAt least one input or output data flow

Page 43: DFD LECTURE1

6 - 43

Validating the DFDAcross DFDs:

Context Diagram:Every set of DFDs must have one Context Diagram

Viewpoint:There is a consistent viewpoint for the entire set of DFDs

Decomposition:Every process is wholly and complete described by the

processes on its children DFDs

Balance:Every data flow, data store, and external entity on a higher

level DFD is shown on the lower level DFD that decomposes it No data stores or data flows appear on lower-lever DFDs that do

not appear on their parent DFD

Page 44: DFD LECTURE1

6 - 44

Validating the DFD

Semantics errors – diagram conveys correct meaning

Assure accuracy of DFD relative to actual/desired business processes

To verify correct representation, useUser walkthroughsRole-play processes

Examine lowest level DFDs to ensure consistent decompositionExamine names carefully to ensure consistent use of terms

Page 45: DFD LECTURE1

6 - 45

A Quick Review of Decomposition for CD Selections

Page 46: DFD LECTURE1

6 - 46

Context Diagram for CD Selections Internet Sales System

Page 47: DFD LECTURE1

6 - 47

Level 0 DFD for CD Selections Internet System

Page 48: DFD LECTURE1

6 - 48

Level 1 DFD for CD Selections Process 1: Take Requests

Page 49: DFD LECTURE1

6 - 49

Summary

The Data Flow Diagram (DFD) is an essential tool for creating formal descriptions of business processes.Use cases record the input, transformation, and output of business processes and are the basis for process models.Eliciting use cases and modeling business processes are critically important skills for the systems analyst to master.