SYSTEM AND DESIGN ANALYSIS NOTES FINALS
Structuring System Process Requirements
Process Modelling
• involves graphically representing the functions, or processes, that capture, manipulate,
store, and distribute data between a system and its environment and between
components within a system.
•A common form of a process model is a data flow diagram (DFD)
Definition and Symbols
There are two different standard sets of DFD symbols
✓Gane and Sarson (1979) - Gane and Sarson notation for Data Flow Diagrams was introduced
in 1979 by Chris Gane and Trish Sarson. This notation is based on a set of symbols and rules
for creating DFDs. It includes symbols like circles (representing processes), arrows (indicating
data flow), rectangles (representing external entities), and double lines (for data stores). The
Gane and Sarson notation is recognized for its simplicity and ease of use.
✓DeMarco (1979) and Yourdon -In 1979, Tom DeMarco and Ed Yourdon published a book
titled "Structured Analysis and System Specification," which introduced a different approach to
data flow modeling. They proposed their notation for creating DFDs as part of structured
analysis. The DeMarco and Yourdon notation includes symbols similar to Gane and Sarson but
may have some variations in how processes and data flow are represented.
Both notations serve the same fundamental purpose of visually representing the flow of data in
a system, but they may have slight differences in the symbols used or the way they are applied.
The choice of notation often depends on the preferences of the analysts or the standards used
within a particular organization.
It's important to note that over time, these notations have evolved and may have been further
refined or incorporated into newer modeling methods and tools. When creating DFDs, it's
essential to be consistent in using a particular notation and ensure that the symbols are
correctly understood by the audience.
A data flow can be best understood as data in motion, moving from one place in a system to
another. A data flow could represent data on a customer order form or a payroll check; it could
also represent the results of a query to a database, the contents of a printed report, or data on a
data entry computer display form.
A data flow is data that move together, so it can be composed of many individual pieces of
data that are generated at the same time and that flow together to common destinations.
A data store is data at rest. A data store may represent one of many different physical
locations for data; for example, a file folder, one or more computer-based file(s), or a notebook.
To understand data movement and handling in a system, it is not important to understand the
system’s physical configuration.
A data store might contain data about customers, students, customer orders, or supplier
invoices.
A process is the work or actions performed on data so that they are transformed, stored,
or distributed. When modeling the data processing of a system, it does not matter whether a
process is performed manually or by a computer.
Finally, a source/sink is the origin and/or destination of the data. Sources/sinks are
sometimes referred to as external entities because they are outside the system. Once
processed, data or information leave the system and go to some other place. Because sources
and sinks are outside the system we are studying, many of the characteristics of sources and
sinks are of no interest to us. In particular, we do not consider the following:
Interactions that occur between sources and sinks
What a source or sink does with information or how it operates (i.e., a source or sink is a
“black box”)
How to control or redesign a source or sink because, from the perspective of the system
we are studying, the data a sink receives and often what data a source provides are
fixed
How to provide sources and sinks direct access to stored data because, as external
agents, they cannot directly access or manipulate data stored within the system; that is,
processes within the system must receive or distribute data between the system and its
environment
A source/sink might consist of the following:
✓ Another organization or organization unit that sends data to or receives in- formation from the
system you are analyzing (e.g., a supplier or an academic department—in either case, the
organization is external to the system you are studying)
✓A person inside or outside the business unit supported by the system you are analyzing who
interacts with the system (e.g., a customer or loan officer)
✓Another information system with which the system you are analyzing exchanges information
DFD Diagramming Rules
Process:
A. No process can have only outputs. It would be making data from nothing (a miracle). If an
object has only outputs, then it must be a source.
B. No process can have only inputs (a black hole). If an object has only inputs, then it must be a
sink.
C. A process has a verb phrase label.
Data Store:
D. Data cannot move directly from one data store to another data store. Data must be moved by
a process.
E. Data cannot move directly from an outside source to a data store. Data must be moved by a
process that receives data from the source and places the data into the data store.
F. Data cannot move directly to an outside sink from a data store. Data must be moved by a
process.
G. A data store has a noun phrase label.
Source/Sink:
H. Data cannot move directly from a source to a sink. It must be moved by a process if the data
are of any concern to our system. Otherwise, the data flow is not shown on the DFD.
I. A source/sink has a noun phrase label.
Data Flow:
J. A data flow has only one direction of flow between symbols. It may flow in both directions
between a process and a data store to show a read before an update. The latter is usually
indicated, however, by two separate arrows because these happen at different times.
K. A fork in a data flow means that exactly the same data goes from a common location to
two or more different processes, data stores, or sources/sinks (this usually indicates different
copies of the same data going to different locations).
L. A join in a data flow means that exactly the same data come from any of two or more
different processes, data stores, or sources/sinks to a common location.
M. A data flow cannot go directly back to the same process it leaves. There must be at least one
other process that handles the data flow, produces some other data flow, and returns the
original data flow to the beginning process.
N. A data flow to a data store means update (delete or change).
O. A data flow from a data store means retrieve or use.
P. A data flow has a noun phrase label. More than one data flow noun phrase can appear on
a single arrow as long as all of the flows on the same arrow move together as one package.
Diagramming mistakes
✓A processing step may have input flows but no output flows. This situation is sometimes called
a black hole
✓A processing step may have output flows but now input flows. This situation is sometimes
called a miracle.
✓A processing step may have outputs that are greater than the sum of its inputs - e.g., its inputs
could not produce the output shown. This situation is sometimes referred to as a grey hole.
Context Diagram
✓It outlines how external entities interact with an internal software system.
✓It’s primarily used to help businesses wrap their heads around the scope of a system
✓Context diagrams are high-level diagrams, meaning they don’t go into the detailed ins and
outs of the system
✓It contains only one process, no data stores, four data flows, and three sources/sinks.
✓The single process, labeled 0, represents the entire system
• (functional) Decomposition
✓ The act of going from a single system to several component processes.
✓It is an iterative process of breaking the description or perspective of a system down into finer
and finer detail.
• Level-0 Diagram
✓represents the primary individual processes in the system at the highest possible level.
✓ each process has a number that ends in .0 (corresponding to the level number of the DFD)