Diagramming Systems Analysis relies on visual representations of

advertisement
Information Systems Analysis
Process Analysis, DFDs, and Diagramming | 1
Diagramming
Systems Analysis relies on visual representations of much of its work. In this section we introduce
two important activities: process flow diagramming and data flow diagramming.
All visual representations have their own language. In systems analysis, the language is from an
accepted diagramming language, such as Yourdan, Chan, Universal Modeling Language (UML), or from
the less-complex diagrams of Information Architecture. Every organization seems to prefer one model
over another so we will not focus on learning one; instead we’ll use a logical, consistent style of our own.
This must include, of course, a key to the symbols. We will meet data flow diagrams (DFDs) first and then
proceed to process modeling. Note: process modeling and data flow modeling are two related activities
and often use the same graphic language but it is to be emphasized that they are separate activities and
neophytes often confuse the two. A source of confusion is that some analysts will create multiple process
analyses and explode the processes in separate documents, called Level-n diagrams. In addition, some
analysts will create Level-n diagrams also for data flows. Be sure to identify clearly what activity the
document represents. This section just introduces the concepts. We apply them when appropriate during
our analysis.
Process Analysis and Process Flow Diagramming
Process flow analysis, or work flow analysis, are the tasks people take to achieve a goal and the
order in which the tasks must be performed. Work flow analysis may include activities you may not think
of as “work”: an end-user who goes to a website as part of his or her work is engaged in a workflow because
they’re performing tasks in a certain order.
A workflow analysis should be performed to identify the major activities of a system.
example, if you’re analyzing a baseball game, you might define the work (or process) tasks as:
1.
team goes out on the field
2.
batter steps up to the plate
3.
pitcher throws ball
4.
batter swings
5.
team responds to the swing
6.
next batter
For
The analyst examines the current system’s work processes and looks for redundancies and other inefficient
or ineffectual work processes and tries at a high-level to streamline the entire work process. Work flow
analysis is useful, too, in demonstrating to the client how a new system affects current work processes.
Even the concept of how analysis could be applied in a company can be represented as a process.
Information Systems Analysis
Process Analysis, DFDs, and Diagramming | 2
Warning: this activity is sometimes called process flowcharting. Some analysts reserve the term
“flowchart” for the lowest level of process decomposition, where low-level logic decisions (such as “if file is
not found, then …”) are expressed. At that point the analyst (or programmer) will describe the system in
“Structured English” or pseudocode. Pseudocode will be discussed later; it serves as a guide for computer
programming.
There are many software applications that aid process analysis, but for our purposes we will do it
by hand.
Once the analyst has decomposed the entire system into major functions (Context Level
Diagram), individual functions are identified and broken out as “sub-processes.” In quality improvement
work, flowcharts are particularly useful for displaying how a process currently functions or could ideally
function. Flowcharts can help you see whether the steps of a process are logical, uncover problems or
miscommunications, define the boundaries of a process, and develop a common base of knowledge about
a process. Flowcharting a process often brings to light redundancies, delays, dead ends, and indirect paths
that would otherwise remain unnoticed or ignored. But flowcharts don't work if they aren’t accurate, if
team members are afraid to describe what actually happens, or if the team is too far removed from the
actual workings of the process.
Once the major processes have been identified it is useful to create a “system flowchart” of the
system. [It is useful, too, to create system flowcharts at the end of the project as part of your presentation
to the client of the new system.]
“System flowcharts”: The system flowchart is a concrete, physical model that documents the
systems discrete physical components (programs, procedures, files, reports, screens, etc.). The symbols
used in system flowcharts are standardized. Here is an illustration from OmniGraffle:
[Flow chart symbols]
Information Systems Analysis
Process Analysis, DFDs, and Diagramming | 3
Start/Stop
Process
Manual
Operation
Data
Input/
Output
Manual
Input
Decision
A
Connector
Disk
A
Predened
Process
Document
Tape
Here’s a simple demonstration of a system flowchart:
Here is another, more complete example:
Offpage
Connector
Information Systems Analysis
Process Analysis, DFDs, and Diagramming | 4
System Flowchart for an alternative inventory system
Sell
appliance
Rejected
order
Sales data
Item sold
Sales receipt
Enter data
Inventory
program
Customer
Inventory
Item ordered
Mail merge
Physical
inventory
Record shipment
Address
labels
Mail
advertising
Financial
system
Cash ow
Process
shipment
Vendor
Return
shipment
Order
Transmit
order
Shipping
Warning: there are many software applications to create process flows and data flows. As will be
detailed in the Data Flow Diagram section that follows, there are many visual styles. Be aware that in
traditional or formal systems analysis and design, there is a highly iconic form of representing the system
to the user, called a User System Diagram (USD), which is performed at the end of the project. It is
confusing because increasingly the graphic representation of the system is done in many ways and at many
points in the analysis. Here are other examples from industry that as labeled as “process flows”:
Information Systems Analysis
And another version that uses a timeline:
Process Analysis, DFDs, and Diagramming | 5
Information Systems Analysis
Process Analysis, DFDs, and Diagramming | 6
http://www.informatics.adelaide.edu.au/images/pre-op_workflow.gif
The Benefits for Process Flowchart
The process flow chart provides a visual representation of the steps in a process. Flow charts are also
referred to as process mapping or flow diagrams. Constructing a flow chart is often one of the first
activities of a process improvement effort, because of the following benefits:
•
•
•
•
gives everyone a clear understanding of the process
helps to identify non-value-added operations
facilitates teamwork and communication
keeps everyone (literally) on the same page
A process is some work function that transforms data. The data come from some source into the process;
they can also be sent out of a process to another store or to a sink (where the data leave the processes
outlined in the context level diagram). The entire system process is expressed through only the major
processes in the Context Level Diagram. This diagram is useful for capturing the boundaries of a project
and for discussing the gross level work flows with System Administrators and System Managers. This
example Context Level Diagram has four processes; it indicates, also, two data stores. Later you’ll see our
first draft of the Context Level Diagram for Case 1 that has processes but no data stores. In that example,
you’ll see that the data stores are expressed at a lower level. That we can express a system as a hierarchy of
levels emphasizes the modularity of any system: one component is a subcomponent of another, which we
indicate by numbering the processes (and in this case, the data stores).
Information Systems Analysis
Process Analysis, DFDs, and Diagramming | 7
This example demonstrates four processes and two data stores.
These high level diagrams emphasize the major processes and which processes communicate with
which other processes. Also it is obvious which processes interact with which data. In the above example,
there are four processes: manage users, search, process artifacts, administer system. There are two data
stores: user accounts and artifacts. Notice how manage users (1.0), search (2.0), and administer system
(4.0) can access D1 - User Accounts. Process 3.0 (Process artifacts) cannot.
The context level diagram is also called a Level-0 diagram because it is the highest view of the
system. Each process in the level-0 diagram is assigned a number: (1, 2, 3...); they’re often referred to as
“Level-n” diagrams. Here is another sample context diagram:
Skeleton context level diagram
We are interested in how data are transformed and how data move between processes, so the next
diagram we create is the Content Level Data Flow Diagram (DFDs). We examine DFDs in the next
section.
Expanding the Context Level Diagram
So far we have a bird’s-eye view of the system and a superficial knowledge of the data. What we
require now is a more evolved understanding of the processes themselves: the work being performed by the
organization that affect and transform data. In this diagram you’ll see a few more symbols. One is the
data store (where data enters the process), the data sink (where the data leaves the process), arrows
indicating the direction of the data as they move through the system (the “data flow”). Notice that
directional arrows have labels (e.g., “Lab Accounts”, “Total Hours”. These labels reflect either a noun (such
as “statistics”) that describe the data on their way to a sink or a store, or a verb (“Request for
Replacement”). Practice reading the following chart, so you understand the activities involved. For
instance, there is a data source called “Stdnt” and a process (#7) “Replace Cards”. When the person
Information Systems Analysis
Process Analysis, DFDs, and Diagramming | 8
responsible for replacing cards requests a new card (in #7), she or he gets data from the Stdnt data store
(hence the arrow flows data from the data store going into the process). Once the new card has been
issued, #7 sends data back to the Stdnt data store to update the record (“A new ID card has been issued”).
The record in that way has been transformed. Some of the data sinks have a triangle on the lower left.
This suggests to us that there may be other databases or other data stores that are outside our project, but
which we must work with. Once the Context Level diagram is correct and complete, we decompose the
individual modules to learn more about the processes inside of them. Ultimately (but not yet!) the lower
level processes (sometime called “primitives”) are broken down into their logical behaviors - the flowchart.
[Sample context level diagram with data stores, sinks, processes, and labels]
Data Flow Diagrams (DFD)
The purpose of a data flow diagram is to model the logic of data moving through a system. The
diagram shows the boundaries of a system, the processes that make up the system, and what processes
transform the data.
The diagram helps the analyst determine logical inconsistencies at many levels. By defining the
Information Systems Analysis
Process Analysis, DFDs, and Diagramming | 9
system boundary (and having the boundary approved by the client), the analyst has permission to study
everything within those confines - and license to ignore those that fall outside of it. Managers are helped
by visualizing alternatives - but at a high-level. Too much detail may confuse the non-technical client. The
elements of the DFD lead to the physical design, with processes suggesting programs and procedures, data
flows suggesting composites, and data stores suggesting data entities, files, and databases.
Creating a DFD is a process driven task: don’t overlook key data elements and composites. The
analyst should strive to balance the DFD to verify the model’s internal consistency. Warning: DFD and
Process Flowcharts can appear to be similar but they are not - don’t confuse their purposes. Also, drawing
DFD and Process Flow Diagrams is time-consuming. Experienced analysts may be a CASE tool or other
software, but neophytes should practice with paper-and-pencil because the heart of analysis is working out
the logical inconsistencies. Learning to do this is trial-and-error. When you’re confident that your
analysis is sound, convert your paper trial to a more aesthetic version using a tool such as Visio or
OmniGraffle. If you have time and the software, experiment with CASE tools.
To draw the DFD you need to know the boundaries, data, and processes of your system. In
addition, the DFD will be used in the physical part of your design when entity-relation diagrams and the
data dictionary are constructed. [The data elements and data composites are documented in the data
dictionary.]
There are many visual symbols that can be used. All techniques, however, use the same four ideas:
a data store/data sink, a data flow, processes that transform data, and sources/destinations. Some models
use the same icon for processes and sources/destinations. One technique is Gane and Sarson’s:
Process
Data Flow
Data Store
Source and/or
Destination
Gane and Sarson notation
for data flow diagrams
A source or destination (sink) is a shaded square. The next example shows that most people don’t shade
the square and use the same icon for a process as they do for a source. Sources and destinations are the
Information Systems Analysis
Process Analysis, DFDs, and Diagramming | 10
boundaries of the system. Each one represents a person, organization, or other system that supplies data
to the system, gets data from the system or both. A process (or transform) is an activity that somehow
affects the data. A data store represents the data at rest (such as a database). The movement of data
between stores and processes is represented by a directional arrow.
Another technique is Yourdon and DeMarco where sources and sinks are rectangles, processes are
circles, and data stores are horizontal lines. Data flows are arrows. [An example appears below.]
Whatever technique the analyst uses, there are some constraints on the flow of data. Data cannot
[mysteriously] move from a source to another source. Also the data cannot move from a store to a source
[without some process being involved]. Here are the legal and illegal data flows.
Information Systems Analysis
Process Analysis, DFDs, and Diagramming | 11
Legal data flows
Information Systems Analysis
Process Analysis, DFDs, and Diagramming | 12
Illegal data flows
Here is an example of Yourdan/DeMarco DFD:
http://www.excelsoftware.com/processmodel.html
Information Systems Analysis
Process Analysis, DFDs, and Diagramming | 13
Here is an example of Gane & Sarson’s DFD:
Notice that the processes are numbered. Their numbering is for identification, not sequencing.
Notice that the data flow arrows have labels. The labels should identify the data (e.g., invoice data) being
moved. In the above example, notice the two data stores (Raw Material and Inventory). Many analysts
also number the data store and use the name of the data store and its number in the data dictionary.
Here are two illustrations of a context diagram (aka level 0) diagram for the data flow. this
diagram highlights the sources and destination of the data and the boundaries of the data flow in the
system. There is not much detail at this point: this is the 20,000’ image but it does identify clearly the
major sources and destinations for the data in the system. The inventory system in this example is a single
process. It provides data to the 1. Financial System, 2. Manager, 3. Customer, and 4. Supplier.
Information Systems Analysis
Process Analysis, DFDs, and Diagramming | 14
Level 0 Data Flow Diagram for an Inventory System
1.
Financial
System
2.
Manager
Sale item
Reorder
Cash flow
Invoice
Advertising
3.
Customer
Inventory
System
Purchase
Customer
data
Overstock
Shortage
Shipment
4.
Supplier
Reorder
[Context diagram, Level 0 DFD]
The next step is to identify the Level 1 data flow. This is the system’s primary processes. Generally,
a system’s primary processes are independent and separated from each other by intermediate data stores.
Below shows a level 1 DFD for the inventory system. *Start with the upper left with the source/destination
1. Financial System. Data flow to 1. Financial System from process 9, Report cash flow. Data enters
process 9 from data store D1, Sales. Data enter D1 from process 2, Sell appliance. Process 2 gets its data
from 3. Customer and from data stores D1, D3, D5, and D6, and so on. Note now the intermediate data
stores serve to insulate the primary processes from each other and thus promote process independence.
A level 1 process is a composite that might incorporate related programs, routines, manual
procedures, hardware-based procedures, and other activities. For instance, process 2, Sell appliance might
imply (in one alternative) a set of sales associates’ guidelines, while another alternative might include a
point-of-sale terminal equipped with a bar code scanner and necessary support software. In effect, the
level 1 process Sell appliance represents all the hardware, software, and procedures associated with selling
an appliance. As the DFD is decomposed, the various sub-processes are eventually isolated and defined.
From this chart (and other activities), the analyst or programmer will define the data for the
system and document it in the data dictionary. Examples of data dictionaries are discussed later.
Information Systems Analysis
Process Analysis, DFDs, and Diagramming | 15
Level 1 Data Flow Diagram for an Inventory System
1.
Financial
System
cash flow
9
Report cash
flow
cash flow
D2 Vendor
D1 Sales
Invoice
Item
Sold
Vendor data
Sales data
Item sold
2.
Supplier
Reorder
D3 Item Sold
Item sold
Order
Customer
2
Sell
appliance
3
Update
inventory
4
Reorder
stock
Item
Ordered
D4 Item ordered
Invoice
Advertising
Customer Customer
data
data
7
Maintain
customer
data
8
Mail
advertising
Stock number
Description
Selling price
stock number
quantity sold
D2 Customer data
Order
Supplier
1
Process
shipment
Item
ordered
stock number
stock in hand
D6 Inventory
stock number
quantity sold
Customer
data
stock number
stock in hand
reorder quantity
stock number
stock in hand
5
Identify
sale
items
Vendor
data
D7 Vendor
Manager
6
Physical
inventory
stock number
stock in hand
D4 Item Ordered
[Context diagram for Level 1]
Level 2: Note that in the above example, there are many processes. The analyst takes each process
and “explodes” them to examine the sub-processes. Each subprocess is defined by the number. Here, the
level 1 DFD is the high-level logical map. The key relationships are identified, but the details are hidden.
Information Systems Analysis
Process Analysis, DFDs, and Diagramming | 16
By exploding the processes, we identify the details. [This is called “functional decomposition”; that term is
the equivalent to “process decomposition” used in Process Flow diagramming.]
Each level 1 process consists of several sub-processes that are listed on the process description. To
explode the DFD, the analyst creates independent level 2 diagrams for each level 1 process.
For instance, below shows level 2 DFD for process 4. Reorder stock. Note the numbering scheme:
processes 4.1, 4.2, 4.3, 4.4, and 4.5 and sub-processes of level 1 process 4. [We revisit this same idea below
in process decomposition.]
Information Systems Analysis
Process Analysis, DFDs, and Diagramming | 17
[Level-2 DFD for Process 4.]
Level 2 Data Flow Diagram for Process 4 of the
demonstration Inventory System
D1 Sales
Date of sale
Invoice number
Stock number
Quantity
4.1
Analyze
sales
data
4.2
Analyze
inventory
data
Manager
Stock on hand
Reorder point
D3 Item Sold
Stock on hand
Reorder point
Sales/day
D7 Reorder Data
Expected sales
Reorder point
Stock on hand
Supplier
Stock number
Supplier code
Sales/day
Expected sales
4.3
Make
reorder
decision
Supplier code
Reorder time
Supplier price
D6 Inventory
Reorder data
4.4
Complete
expected
sales
Reorder time
D4 Item ordered
Description
Reorder quantity
4.5
Generate
reorder
Supplier name
Supplier address
D2 Vendor
Manager
Order
Supplier
Information Systems Analysis
Process Analysis, DFDs, and Diagramming | 18
Notice the data stores in the level 2 diagram. D7, Reorder Data are known only to the processes in
level 2. This means these data are “local”. The data dictionary should note this. The data stores identified
in the level 1 diagram are visible throughout the system; they are “global.” Many analysts will “balance” the
decomposition by tracing the data elements from their source to their destinations. If a source provides
data but no process uses them or if a destination expects data but no process provides them, the diagram is
unbalanced.
Below level 2
When a data flow cannot be broken down further, it has reached the functional primitive level
(aka “mini-spec”). The functional primitives and the data stores that appear at the lowest level of
decomposition are called configuration items. The configuration items are not specific physical components but point to or suggest them, such as the name of a computer program, the name of the database and
the device on which it resides.
[Example tba]
Flowcharting
Finally, we’ve reached an example of a flowchart. This is the lowest level decomposition of a system. It is a
common (and dangerous) mistake to skip from context level directly to flowcharting because important
activities can be overlooked.
After decomposing a work process (usually no more than 2 levels), the analyst considers the
decision-making involved in a given subprocess. This decision phase results in flowcharts. Although
flowcharts look similar to data flow diagrams, they are not the same! Note, too, that DFDs and flowcharting are iterative processes: they are the heart of analysis and can be time consuming and frustrating; but
ultimately they embody the very purpose of analysis: removing the logical inconsistencies that cause the
older system to fail.
Do not practice these yet. We return to the topic of flowcharting after the section on data models
and pseudocoding.
Information Systems Analysis
Process Analysis, DFDs, and Diagramming | 19
Accept ID & Password
Validate
form
Extract
parameters
all fields
completed?
N
Build
search
string
Y
Send to
server
Full-text
Check
ID
Search
MySQL
Paint
Screen
1
Determ.
Access
3
Search
full-text
array
Rank
Results
2
Public
User
Staff
User
Admin
User
Return
Results
Paint
screen
Get
Query
Search Flowchart
WDDI (World Dance Digital Initiative)
Client:
Prepared by: G. Benoit, 617-xxx-xxxx, benoit@simmons.edu
Date: October 22, 2005; 10:00 pm
Version: 1.0
Activity: Refer to the handout.
file name: InfoSystemsDesign-4B-DFD.rtf
filename: DFD2-Flowchart1.ai
Download