Structuring System Process Requirements -- Process Modeling --

Post on 20-Dec-2015

288 views 3 download

Tags:

Transcript of Structuring System Process Requirements -- Process Modeling --

Structuring System Process Requirements

-- Process Modeling --

© 2008 by Prentice Hall 2Chapter 7

Learning Objectives

Understand the logical modeling of processes by studying examples of data flow diagrams (DFDs).

Draw data flow diagrams following specific rules and guidelines that lead to accurate and well-structured process models.

Decompose data flow diagrams into lower-level diagrams.

Balance higher-level and lower-level data flow diagrams. Explain the differences among four types of DFDs:

current physical, current logical, new physical, and new logical.

Use data flow diagrams as a tool to support the analysis of information systems.

© 2008 by Prentice Hall 3Chapter 7

Process Modeling Graphically represent the processes that

capture, manipulate, store, and distribute data between a system and its environment and among system components.

Utilize information gathered during requirements determination.

Illustrates the activities that are performed and how data moves among them

Processes and data structures are modeled.

DATA FLOW DIAGRAMS (DFD)

Technique for creating process models

© 2008 by Prentice Hall 5Chapter 7

Data Flow Diagram

Represent both physical and logical information systems.

Only four symbols are used. Useful for depicting purely logical

information flows. DFD that detail physical systems differ

from system flowcharts which depict details of physical computing equipment.

A simple process for making lunch

© 2008 by Prentice Hall 7Chapter 7

DFD Elements

© 2008 by Prentice Hall 8Chapter 7

DFD Elements

Process: work or actions performed on data (inside the system).

Data store: data at rest (inside the system).

Source/sink: external entity that is origin or destination of data (outside the system).

Data flow: arrows depicting movement of data.

DFD Elements

Process An activity or function

performed for a specific business reason

Manual or computerized Data flow

A single piece of data or a logical collection of data

Always starts or ends at a process

DFD Elements

Data Store A collection of data that is

stored in some way Data flowing out is retrieved

from the data store Data flowing in updates or is

added to the data store Source (External entity)

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

Naming and Drawing DFD Elements

Process

Data flow

Data store

Source (externalEntity)

Depicting Business Processes with DFDs Business processes are too complex to be

shown on a single DFD Decomposition 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 Balancing involves insuring that information

presented at one level of a DFD is accurately represented in the next level DFD.

Relationship Among DFD levelsContext diagram

Level 0 diagram

Level 1 diagram

Level 2 diagram

• DecompositionDecomposition

• BalancingBalancing

Context Diagram First DFD in every business process Shows the overall business process as just one

process (process 0) Context diagram is an overview of an

organizational system that shows: the system boundaries; external entities that interact with the

system; Major information flows between the entities

and the system. Note: only one process symbol, and no data stores shown.

© 2008 by Prentice Hall 14Chapter 7

Context Diagram

© 2008 by Prentice Hall 15Chapter 7

Level-0 Diagram

Level-0 diagram is a data flow diagram that represents a system’s major processes, data flows, and data stores at a high level of detail.Processes are labeled 1.0, 2.0, etc.

These will be decomposed into more primitive (lower-level) DFDs.

© 2008 by Prentice Hall 16Chapter 7

Level 0 Diagram Shows all the major processes that comprise the overall

system – the internal components of process 0 Shows how the major processes are interrelated by data flows Shows external entities and the major processes with which

they interact Adds data stores Example: DFD Level 0

Level-0 Diagram

© 2008 by Prentice Hall 18Chapter 7

Level 1 Diagrams Generally, one level 1 diagram is created for every major

process on the level 0 diagram Shows all the internal processes that comprise a single

process on the level 0 diagram Shows how information moves from and to each of these

processes If a parent process is decomposed into, for example, three

child processes, these three child processes wholly and completely make up the parent process

© 2008 by Prentice Hall 20Chapter 7

Level-1 DFD

Level-1 DFD shows the sub-processes of one of the processes in the Level-0 DFD.

This is a Level-1 DFD for Process 4.0.

Processes are labeled 4.1, 4.2, etc. These can be further decomposed in more primitive (lower-level) DFD if necessary.

© 2008 by Prentice Hall 21Chapter 7

Level-n DFD

Level-n DFD shows the sub-processes of one of the processes in the Level n-1 DFD.

This is a Level-2 DFD for Process 4.3.

Processes are labeled 4.3.1, 4.3.2, etc. If this is the lowest level of the hierarchy, it is called a primitive DFD.

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

Relationship Among DFD levelsContext diagram

Level 0 diagram

Level 1 diagram

Level 2 diagram

.

.

.Level-n diagram

© 2008 by Prentice Hall 25Chapter 7

DFD Rules There are two DFD

guidelines that apply: The inputs to a

process are different from the outputs of that process.

Processes purpose is to transform inputs into outputs.

Objects on a DFD have unique names.

Every process has a unique name.

© 2008 by Prentice Hall 26Chapter 7

Decomposition of DFD

Functional decomposition is an iterative process of breaking a system description down into finer and finer detail.Creates a set of charts in which one process

on a given chart is explained in greater detail on another chart.

Continues until no sub-process can logically be broken down any further.

© 2008 by Prentice Hall 27Chapter 7

Decomposition of DFD (Cont.)

Primitive DFD is the lowest level of a DFD.

Level-1 diagram results from decomposition of Level-0 diagram.

Level-n diagram is a DFD diagram that is the result of a n nested decompositions from a process on a level-0 diagram.

© 2008 by Prentice Hall 28Chapter 7

Balancing DFD

Conservation Principle: conserve inputs and outputs to a process at the next level of decomposition.

Balancing: conservation of inputs and outputs to a data flow diagram process when that process is decomposed to a lower level.

Balanced means: Number of inputs to lower level DFD equals number

of inputs to associated process of higher-level DFD Number of outputs to lower level DFD equals

number of outputs to associated process of higher-level DFD

© 2008 by Prentice Hall 29Chapter 7

Balancing DFDs (Cont.)

This is unbalanced because the process of the context diagram has only one input but the Level-0 diagram has two inputs.

1 input

1 output

2 inputs

1 output

© 2008 by Prentice Hall 30Chapter 7

Balancing DFD (Cont.)

Data flow splitting is when a composite data flow at a higher level is split and different parts go to different processes in the lower level DFD.

The DFD remains balanced because the same data is involved, but split into two parts.

Balancing DFD (Cont.)

© 2008 by Prentice Hall 31Chapter 7

© 2008 by Prentice Hall 32Chapter 7

Balancing DFD: More DFD Rules

CREATING DATA FLOW DIAGRAMS

Steps in Building DFDs

Build the context diagramCreate DFD fragments for each activityOrganize 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

Build 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

A Context Diagram Example

Creating DFD Fragments

Each activity is converted into one DFD fragment Change process name into verb phrase Design the processes from the viewpoint of the

organization running the system Add data flows to show use to data stores as

sources and destinations of data Layouts typically place

processes in the center inputs from the left outputs to the right stores beneath the processes

A DFD Fragment Example

Creating the Level 0 Diagram

Combine the set of DFD fragments into one diagram

Generally move from top to bottom, left to right

Minimize crossed lines Iterate as needed

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

A Level 0 DFD Example

Creating Level 1 Diagrams (and Below) Each use case is turned into its own DFD Inputs and outputs 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

Creating Level 1 Diagrams (and Below) Input data flows shown on a parent DFD are

often unbundled on the child diagram using splits

Output data flows shown on a child DFD are often bundled using joins and shown as a larger data flow on the parent diagram

When to stop decomposing DFDs? Ideally, a DFD has at least 3 processes and no

more than 7-9.

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; descriptionAt least one input data flowAt least one output data flowOutput data flow names usually different than input data flow namesBetween 3 and 7 processes per DFD

Validating the DFDFor 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

Validating the DFD

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

Every process is wholly and complete described by the processes onits children DFDsBalance:

Every data flow, data store, and external entity on a higher level DFD is shown on the lower level DFD that decomposes itNo data stores or data flows appear on lower-lever DFDs that do not appear on their parent DFD

Validating the DFD

Semantics errors – diagram conveys correct meaningAssure accuracy of DFD relative to

actual/desired business processes To verify correct representation, use

User walkthroughsRole-play processes

Examine lowest level DFDs to ensure consistent decomposition

Examine names carefully to ensure consistent use of terms

© 2008 by Prentice Hall 47Chapter 7

Four Different Types of DFD

Current Physical Process labels identify technology (people or

systems) used to process the data. Data flows and data stores identify actual name of

the physical media. Current Logical

Physical aspects of system are removed as much as possible.

Current system is reduced to data and processes that transform them.

© 2008 by Prentice Hall 48Chapter 7

Four Different Types of DFD (Cont.) New Logical

Includes additional functions.Obsolete functions are removed.Inefficient data flows are reorganized.

New PhysicalRepresents the physical implementation

of the new system.

© 2008 by Prentice Hall 49Chapter 7

Guidelines for Drawing DFD (Cont.) Completeness

DFD must include all components necessary for system.

Consistency The extent to which information contained on one

level of a set of nested DFDs is also included on other levels.

Timing Time is not represented well on DFDs. Best to draw DFDs as if the system has never

started and will never stop.

© 2008 by Prentice Hall 50Chapter 7

Guidelines for Drawing DFD (Cont.)

Iterative DevelopmentAnalyst should expect to redraw diagram

several times before reaching the closest approximation to the system being modeled.

Primitive DFDsLowest logical level of decomposition.Decision has to be made when to stop

decomposition.

© 2008 by Prentice Hall 51Chapter 7

Guidelines for Drawing DFD (Cont.) Rules for stopping decomposition

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, online 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.

© 2008 by Prentice Hall 52Chapter 7

Using DFD as Analysis Tools

Gap Analysis is the process of discovering discrepancies between two or more sets of data flow diagrams or discrepancies within a single DFD.

Inefficiencies in a system can often be identified through DFDs.

Example: A Video Sales System - step by stepThe system accepts video orders from customers. These customer orders are checked against a video file (i.e. title and distributor match etc) to ensure they are correct. Also, another file is used to check the customers credit worthiness.

Once a valid order is received it is stored in a pending order file, until a batch of orders is assembled to be sent to a specific distributor.

Each distributor send a delivery note with the video and this is checked with the customer order. Videos are then delivered with a delivery note to the customer. An invoice is also sent for all the orders that a customer has been sent. a copy of this is sent is stored for use by the accounts department. Payment is outside the scope of this investigation.

Context Diagram

0

A Video Sales

System: ProcessProcessOrdersOrders

Customer

Distributorcustomer order

Purchase order

delivery note, invoice

delivery note

DFD Level 0

Customer

VerifyOrderValid

1.0

D2 Customer Data

D1 Video File

Video details

customerorder

D3 Pending Orders

CreatePurchaseOrders

2.0

validcustomerorder

Distributor

purchaseorder

batched order

AssembleCustomerOrders

3.0

creditstatus

invoice

VideoOrder details

D4 Distributor file

Distributor details

delivery notedelivery note

address

DFD Level 1 (Process 3.0)

D3 Pending Orders

Videoorderdetails

Distributor

Assigndelivery topendingorders

3.1

delivery note

Customer

CreateInvoice

3.3

VerifyCorrectDelivery

3.2

D5 A/c Receivable

invoice copy

invoice

detailsof indiv.orders

assembledorders

CreateDeliveryNote

3.4Del. note

assembledorders

D6 Customer Data

Customer details

An example -- Electronic Commerce Application: Process Modeling using DFD

© 2008 by Prentice Hall 57Chapter 7

Figure 7-19 Level-0 data flow diagram for the WebStore

© 2008 by Prentice Hall 58Chapter 7

Deliverables and Outcomes

Context data flow diagram (DFD)Scope of system.

DFD of current physical systemAdequate detail only.

DFD of current logical systemEnables analysts to understand

current system.

© 2008 by Prentice Hall 59Chapter 7

Deliverables and Outcomes (Cont.)

DFD of new logical systemTechnology independent.Show data flows, structure, and

functional requirements of new system.

Thorough description of each DFD component

© 2008 by Prentice Hall 60Chapter 7

Summary In this chapter you learned how

to:Understand logical process modeling

via data flow diagrams (DFDs).Draw data flow diagrams of well

structured process models.Decompose data flow diagrams into

lower-level diagrams.

© 2008 by Prentice Hall 61Chapter 7

Summary (Cont.)Balance high-level and low-level data

flow diagrams.Explain differences between current

physical, current logical, new physical, and new logical data flow diagrams.

Use data flow diagrams for analyzing information systems.