30
ISYS 200 Week #4 1 Systems Analysis I Data Flow Diagrams ISYS 200 Glenn Booker

ISYS 200Week #41 Systems Analysis I Data Flow Diagrams ISYS 200 Glenn Booker

Embed Size (px)

Citation preview

ISYS 200 Week #4 1

Systems Analysis IData Flow Diagrams

ISYS 200

Glenn Booker

ISYS 200 Week #4 2

Data Flow Diagrams

Data Flow Diagrams (DFDs) are the primary tool for summarizing the processes a system can perform

They are useful both for capturing the existing system’s capabilities, and then are revised to show the new system’s processes

A DFD shows processes, entities, and data stores, connected by data flow lines

ISYS 200 Week #4 3

Data Flow Diagrams

Processes are the functions some user can perform using the system

Users indicate the kind of user who is allowed to perform each process (clerk, sales manager, etc.)

The data stores on a logical DFD are a high level description of the types of data storage needed to perform each process

ISYS 200 Week #4 4

Data Flow Diagrams

DFDs can show either the logical structure of processes, or the physical structure Logical structure shows all possible processes,

regardless of where they occur in the system Physical structure indicates what physical parts

of the system (e.g. type of servers) perform each kind of process

Unless specified, assume we imply a logical DFD

ISYS 200 Week #4 5

DFD Notation

Here are Visio examples of the entity, process, and data store shapes, with data flow lines connecting them If your shapes differ

from the text’s, provide a legend

Entity

Data Store

Process

Note that in Visio, these shapes are under the Flowchart family,

not Database

ISYS 200 Week #4 6

DFD Scope

A DFD does not show any kind of business rules for processes – just all possible paths No decisions, or conditions (if)

A logical DFD does not show the subsystems involved in a process We might show a Customer data store, but

don’t specify how or where is it implemented Processes may be manual or automated –

there is no distinction on a logical DFD

ISYS 200 Week #4 7

DFD Notation – Entities

More formally, the ‘kind of user’ is called an entity in the text – an unfortunate choice when we get to the ERD* An entity can be a type of user, or some kind of

external system with which your system interacts External systems might include other information

systems within or outside of your organization Like a legacy system used for processing invoices

* An entity in a DFD could be more general than an entity in an ERD

ISYS 200 Week #4 8

DFD Notation – Processes

Processes are the business functions performed using the system

We prefer a “verb (adjective) noun” naming convention for processes Prepare shipping invoice Enter new customer Remove backorder Update reorder parameters

Number processes for later reference

ISYS 200 Week #4 9

DFD Notation – Data Stores

A data store is a kind of data needed to perform processes Temporary data isn’t shown on a logical DFD Data stores can be manual or automated

A data store is labeled with the type of data Sales Customer

Put a reference number in front of each data store name, e.g. D1, D2, D3, etc.

ISYS 200 Week #4 10

Creating a Logical DFD

Data flow diagrams can be done on multiple levels of detail, as your understanding of the system evolves Start by listing the processes and activities

associated with your system, and look for entities, processes, and data stores

Create a context diagram (the simplest DFD) Create the diagram 0 data flow diagram, showing

entities, general processes and data stores Include data flow names

ISYS 200 Week #4 11

Creating a Logical DFD

Pick significant processes, and expand them into more detailed DFDs if needed

The numbering of processes reflects the level of detail shown The system is process ‘0’ in a context diagram In a diagram 0 DFD, the processes are

numbered 1, 2, 3, etc. (parent diagram) To expand on process 3, Diagram 3 would show

processes 3.1, 3.2, 3.3, etc. (child diagram)

ISYS 200 Week #4 12

Creating a Logical DFD

Watch the zeros! Process ‘0’ does NOT appear on the Diagram 0 DFD! Diagram ‘x’ means it is a DFD which expands

on the contents of the process numbered ‘x’ So Diagram 3.2 would contain processes 3.2.1,

3.2.2, 3.2.3, etc. Page 200 has a good Diagram 0 DFD

This is the lowest level of DFD detail we’ll use

ISYS 200 Week #4 13

Levels of DFD

Context Diagram

Shows system as one box, process 0

Diagram 0 DFD Shows high level data flows for the entire system

Diagram x DFD (where x>0)

Shows processes within process number ‘x’ from the Diagram 0 DFD

Diagram x.y DFD (x, y >0)

Shows processes within process number ‘x.y’ from the Diagram x DFD

ISYS 200 Week #4 14

Rules for Data Flow Diagrams

Entities never connect directly to a data store They must use some process to access or modify

the data Hence a user or external system can only connect

to one or more processes All kinds of entities which appear on the

context diagram must appear somewhere on the DFD Otherwise they don’t do anything!

ISYS 200 Week #4 15

Rules for Data Flow Diagrams

Each process will connect to at least one user or external system, and one data store Each process may send data to one or more

data stores, and/or get data from one or more data stores

Processes rarely connect to other processes Each process needs data flowing in and out of it Fix processes which have logically incomplete

inputs and outputs

ISYS 200 Week #4 16

Rules for Data Flow Diagrams

Leave in processes which calculate something, make decisions, manipulate data, or organize data

Data flows into and out of parent and child diagrams should be consistent

Data flows pointing away from an entity imply they provide input to the system

Data flows pointing to an entity imply they receive an output from the system

ISYS 200 Week #4 17

Rules for Data Flow Diagrams

Every data store needs data flowing both in and out somewhere on the diagram Otherwise you have a data black hole = inputs

but no output, or A miracle = outputs without input

Data stores do not connect directly to each other A process is needed to take data from one

data store, and write it to another one

ISYS 200 Week #4 18

DFD Evolution

Typically three steps are used with DFDs The first DFD captures the processes used

by the existing system The second DFD describes the processes

to be used by the new system A third DFD is a physical description of the

new system The first two DFDs are logical DFDs

Now we’ll mention the physical DFD

ISYS 200 Week #4 19

Physical DFDs

A physical DFD shows how processes will be implemented Entities are still entities Data stores are now files, and may include

temporary files Processes are now specific programs or

manual procedures See example on page 202

ISYS 200 Week #4 20

Partitioning a DFD

A Physical DFD can be partitioned to help determine the structure of the application

Partitioning groups processes by similarity Group manual processes vs. automated ones Group processes by the type of user Group processes by their time sequence Group processes which perform similar tasks Group processes which use similar resources

ISYS 200 Week #4 21

Partitioning

Group processes to ensure consistent data Group processes for security protection

Partitioning can also be done at the user interface level (e.g. a web site) for the same kinds of reasons

ISYS 200 Week #4 22

CRUD Matrix

A CRUD matrix maps data and processes to verify that all data is used correctly throughout the system

CRUD refers to the possible activities Create new data Read existing data Update or change or modify existing data Delete existing data

ISYS 200 Week #4 23

CRUD Matrix

The CRUD matrix shows process names in each row, and data stores in each column (p. 203) For each process and data store, enter C, R, U,

and/or D to indicate the possible data activities A blank indicates that process does not affect

that data store For further clarity, use the process and

data store numbers from the DFD

ISYS 200 Week #4 24

CRUD Matrix

At a minimum, make sure each data store is Created and Read by at least one process Update and Delete may be optional

ISYS 200 Week #4 25

Event Response Table

Further documentation of processes is encouraged

One form is the event response table (p. 204) This provides a summary of each process

Event – is the process name Source – is the entity who starts the process Trigger – is the data or stimulus which is needed

from the source

ISYS 200 Week #4 26

Event Response Table

Activity – is a brief description of the process Response – is typically an interface screen

(for a human Destination) or type of data (for an external system Destination) which conveys the results of the process

Destination – is the entity which received the output from the process (whether human or an external system)

ISYS 200 Week #4 27

Other DFD Documentation

Another approach for documenting a DFD is to outline the contents of the DFD before making the drawing

Identify the entities and processes Make a table to show

Process Name, Description, Entities, Inputs, Outputs, and Data Sources

ISYS 200 Week #4 28

Other DFD Documentation

Except Description, these all correspond directly to stuff which appears on the DFD: Process Name – the label inside the process

shape (later add the numbering) Description – a brief description of the process Entities – are the entities which participate in

the process Inputs – are data flow(s) leading into the process Outputs – are data flow(s) leading out of

the process

ISYS 200 Week #4 29

Other DFD Documentation

Data Sources – are the data stores connected to the process (later add the numbering)

Notice that the Inputs and Outputs are the data flow labels, which could be coming from or to entities or data stores

Use the table to help arrange the processes For example, sort the processes by Entity to

help see which processes should be grouped together on the DFD

ISYS 200 Week #4 30

Other DFD Documentation

Duplication of entities and data stores is permitted on a DFD for clarity Flag or footnote them to indicate a deliberate

duplicate is being used In addition to the description of processes,

provide a brief description of the data stores and entities Note any assumptions about the scope or

responsibilities of anything in the DFD which affected your modeling decisions