Chapter 5: Data and Process Modeling
Kent Institute Australia Pty. Ltd.
ABN 49 003 577 302 CRICOS Code: 00161E RTO Code: 90458 TEQSA Provider Number: PRV12051
Version 2 – 18th December 2015
1
Prescribed Text and recommended readings
Rosenblatt, H. J. (2016), Systems Analysis and Design.11th Edition, Cengage Learning, Boston MA
Robertson, S. and Robertson, J. (2013), Mastering the Requirements Process: Getting Requirements Right, 3rd Edition, Addison Wesley, Upper Saddle River, NJ
IIBA (2015), Guide to the Business Analysis Body of Knowledge, BABOK Version 3.0, International Institute of Business Analysis, http://www.iiba.org/BABOKGuide.aspx
2
2
Chapter Objectives
Describe data and process modeling concepts and tools, including data flow diagrams, a data dictionary, and process descriptions
Describe the symbols used in data flow diagrams and explain the rules for their use
Draw data flow diagrams in a sequence, from general to specific
3
Chapter Objectives
Explain how to level and balance a set of data flow diagrams
Describe how a data dictionary is used and what it contains
Use process description tools, including structured English, decision tables, and decision trees
Describe the relationship between logical and physical models
4
Introduction
Logical Model: Shows what the system must do, regardless of how it will be implemented physically
Physical Model: Describes how the system will be constructed
5
6
Overview of Data and Process Modeling Tools
Systems analysts use graphical techniques to describe an information system
Data flow diagram (DFD) - Uses various symbols to show how the system transforms input data into useful information
6
7
Data Flow Diagrams
A data flow diagram (DFD) shows how data moves through an information system but does not show program logic or processing steps
A set of DFDs provides a logical model that shows what the system does, not how it does it
7
8
Data Flow Diagrams (Cont. 1)
DFD Symbols
Four basic symbols represent processes, data flows, data stores, and entities
Gane and Sarson: Used in data
flow diagrams
Processes, data flows,
data stores, and external
entities all have a unique symbol
Yourdon: Used in data flow
diagrams
Processes, data flows, data stores, and external entities each have a unique symbol
FIGURE 5-1 Data flow diagram symbols, symbol names, and examples of the Gane and Sarson and Yourdon symbol sets
8
9
Data Flow Diagrams (Cont. 2)
Process Symbol
Must have at least one input and at least one output
Contains business logic that transforms the data
Process name identifies its function (verb)
Examples” : “apply rent payment” or “calculate commission
In DFDs, a process symbol can be referred to as a black box
9
10
Data Flow Diagrams (Cont. 3)
Data Flow Symbol
Represents one or more data items
The symbol for a data flow is a line with a single or double arrowhead
FIGURE 5-3 Examples of correct combinations of data flow and process symbols
10
Data Flow Symbol
Following data flow and process combinations must be avoided
Spontaneous generation
Black holes
Gray holes
11
Data Flow Diagrams (Cont. 4)
FIGURE 5-4 Examples of incorrect combinations of data flow and process symbols. APPLY INSURANCE PREMIUM has no input and is called a spontaneous generation process. CALCULATE GROSS PAY has no outputs and is called a black hole process. CALCULATE GRADE has an input that is obviously unable to produce the output. This process is called a gray hole
11
12
Data Flow Diagrams (Cont. 5)
Data Store symbol
Represent data that the system stores
A DFD does not show the detailed contents of a data store — the specific structure and data elements are defined in the data dictionary
A data store must be connected to a process with a data flow
12
13
Data Flow Diagrams (Cont. 6)
FIGURE 5-5 Examples of correct uses of data store symbols in a data flow diagram
FIGURE 5-6 Examples of incorrect uses of data store symbols: Two data stores cannot be connected by a data flow without an intervening process, and each data store should have an outgoing and incoming data flow
13
14
Data Flow Diagrams (Cont. 7)
Entity Symbol
Shows how the system interfaces with the outside world
A DFD shows only external entities that provide data to the system or receive output from the system
DFD entities also are called terminators because they are data origins or final destinations
Each entity must be connected to a process by a data flow
14
15
Data Flow Diagrams (Cont. 8)
FIGURE 5-7 Examples of correct uses of external entities in a data flow diagram
FIGURE 5-8 Examples of incorrect uses of external entities. An external entity must be connected by a data flow to a process, and not directly to a data store or to another external entity
15
16
Data Flow Diagrams (Cont. 9)
FIGURE 5-9 Examples of correct and incorrect uses of data flows
Keep in mind:
All flow lines must be labeled
Large processes can be broken down into smaller components
16
17
Creating a Set of DFDs
Create a graphical model of the information system based on your fact-finding results
First, you will review a set of guidelines for drawing DFDs
Then you will learn how to apply these guidelines and create a set of DFDs using a three-step process
17
18
Creating a Set of DFDs (Cont. 1)
Guidelines for Drawing DFDs
Draw the context diagram so that it fits on one page
Use the name of the information system as the process name in the context diagram
Use unique names within each set of symbols
Do not cross lines
Provide a unique name and reference number for each process
Ensure that the model is accurate, easy to understand, and meets the needs of its users
18
19
Creating a Set of DFDs (Cont.2)
FIGURE 5-10 Context diagram DFD for grading system
Step 1: Draw a Context Diagram
20
Creating a Set of DFDs (Cont. 3)
FIGURE 5-11 Context diagram DFD for an order system
20
Step 2: Draw a Diagram 0 DFD
If same data flows in both directions, you can use a double-headed arrow
Diagram 0 is an exploded view of process 0
Parent diagram
Child diagram
Functional primitive
21
Creating a Set of DFDs (Cont. 4)
FIGURE 5-13 Diagram 0 DFD for the order system
21
Step 3: Draw the Lower Level Diagrams
22
Creating a Set of DFDs (Cont. 5)
FIGURE 5-14 Diagram 1 DFD shows details of the FILLORDER process in the order system
22
Must use leveling and balancing techniques
Leveling examples
Uses a series of increasingly detailed DFDs to describe an information system
Exploding, partitioning, or decomposing
23
Creating a Set of DFDs (Cont. 6)
FIGURE 5-15 This diagram does not show the symbols that connect to data flows entering or leaving FILL ORDER on the context diagram
23
24
Creating a Set of DFDs (Cont. 7)
FIGURE 5-16 The order system diagram 0 is shown at the top of the figure, and exploded diagram 3 DFD (for the APPLY PAYMENT process) is shown at the bottom. The two DFDs are balanced because the child diagram at the bottom has the same input and output flows as the parent process 3 shown at the top
24
25
Creating a Set of DFDs (Cont. 8)
FIGURE 5-18 In the next level of detail, the process 0 black box reveals three processes, two data stores, and four internal data flows — all of which are shown inside the dashed line
FIGURE 5-17 Example of a parent DFD diagram, showing process 0 as a black box
25
26
Data Dictionary
A data dictionary, or data repository, is a central storehouse of information about a system’s data
An analyst uses the data dictionary to collect, document, and organize specific facts about a system
Defines and describes all data elements and meaningful combinations of data elements
26
27
Data Dictionary (Cont. 1)
Data element: Smallest piece of data that has meaning within an information system
Called data item or field
Are combined into records, also called data structures
Record: Meaningful combination of related data elements that is included in a data flow or retained in a data store
Called data structures
27
28
Data Dictionary (Cont. 2)
Using CASE Tools for Documentation
More complex the system, more difficult it is to maintain full and accurate documentation
Modern CASE tools simplify the task
A CASE repository ensures data consistency
28
29
Data Dictionary (Cont. 3)
Documenting the Data Elements
Every data element in the data dictionary should be documented
Objective - To provide clear, comprehensive information about the data and processes that make up a system
29
Documenting the Data Elements
Data element name and label
Alias
Type and length
Default value
Acceptable values - Domain and validity rules
Source
Security
Responsible user(s)
Description and comments
30
Data Dictionary (Cont. 4)
FIGURE 5-20 A Visible Analyst screen describes the data element named SOCIAL SECURITY NUMBER.
Source: Visible Systems Corporation.
30
Documenting the Data Flows
Data flow name or label
Description
Alternate name(s)
Origin
Destination
Record
Volume and frequency
31
Data Dictionary (Cont. 5)
31
32
Data Dictionary (Cont. 6)
Documenting the Data Stores
Data store name or label
Description
Alternate name(s)
Attributes
Volume and frequency
FIGURE 5-21 Visible Analyst screen that documents a
data store named IN STOCK
Source: Visible Systems Corporation.
32
Documenting the Processes
Process name or label
Description
Process number
Process description
33
Data Dictionary (Cont. 7)
FIGURE 5-22 Visible Analyst screen that describes a
process named VERIFY ORDER
Source: Visible Systems Corporation.
33
Documenting the Entities - Data dictionary describes all external entities that interact with the system
Characteristics include
Entity name
Description
Alternate name(s)
Input data flows
Output data flows
34
Data Dictionary (Cont. 8)
34
35
Data Dictionary (Cont. 9)
Documenting the Records
Record or data structure name
Definition or description
Alternate name(s)
Attributes
FIGURE 5-23 Visible Analyst screen that documents a
record, or data structure named CREDIT STATUS
Source: Visible Systems Corporation.
35
Data Dictionary Reports - Following can be obtained
Alphabetized list of all data elements by name
Report describing each data element and indicating the user or department that is responsible for data entry, updating, or deletion
Report of all data flows and data stores that use a particular data element
Detailed reports showing all characteristics of data elements, records, data flows, processes, or any other selected item stored in the data
36
Data Dictionary (Cont. 10)
36
37
Process Description Tools
Process description: Documents the details of a functional primitive and represents a specific set of processing steps and business logic
Tools - structured English, decision tables, and decision trees
Used in object-oriented development
O-O analysis - combines data and the processes that act on the data into things called objects, and similar objects can be grouped together into classes
O-O processes are called methods
37
38
Process Description Tools (Cont. 1)
Modular Design
Based on combinations of three logical structures, sometimes called control structures, which serve as building blocks for the process
Sequence
Selection
Iteration - looping
FIGURE 5-26 Iteration structure
FIGURE 5-25 Selection structure
FIGURE 5-24 Sequence structure
38
39
Process Description Tools (Cont. 2)
Structured English
Rules
Use only the three building blocks of sequence, selection, and iteration
Use indentation for readability
Use a limited vocabulary
standard terms used in the data dictionary
Specific words that describe the processing rules
FIGURE 5-27 The VERIFY ORDER process description
includes logical rules and a structured English version of
the policy. Notice the alignment and indentation of the
logic statements
Source: Visible Systems Corporation.
39
40
Process Description Tools (Cont. 3)
Decision Tables
Show a logical structure, with all possible combinations of conditions and resulting actions
Every possible outcome should be considered to ensure that nothing has been overlooked
Number of rules doubles each time a condition is added
Can have more than two possible outcomes
Are the best way to describe a complex set of conditions
40
41
Process Description Tools (Cont. 4)
FIGURE 5-29 Example of a simple decision table showing the processing logic of the VERIFY ORDER process
FIGURE 5-28 The Verify Order business process has two conditions. For an order to be accepted, the product must be in stock and the customer must have an acceptable credit status
41
42
Process Description Tools (Cont. 5)
FIGURE 5-31This table is based on the Verify Order conditions shown in Figure 5-30. With three conditions, there are eight possible combinations, or rules
FIGURE 5-30 A third condition has been added to the Verify Order business process. For an order to be accepted, the product must be in stock and the customer must have an acceptable credit status. However, the credit manager now has the authority to waive the credit status requirement
42
43
Process Description Tools (Cont. 6)
FIGURE 5-32 In the first table, dashes have been added to indicate that a condition is not relevant. In the second version, rules have been combined. Notice that in final version, only four rules remain. These rules document the logic, and will be transformed into program code when the system is developed
43
44
Process Description Tools (Cont. 7)
FIGURE 5-34 This decision table is based on the sales promotion policy in Figure 5-33. This is the initial version of the table, before simplification
FIGURE 5-33 A sales promotion policy with three conditions. Notice that the first statement contains two separate conditions – one for the 5% discount, and another for the additional discount
44
45
Process Description Tools (Cont. 8)
FIGURE 5-35 In this version, dashes have been added to indicate that a condition is not relevant. At this point, it appears that several rules can be combined
45
46
Process Description Tools (Cont. 9)
FIGURE 5-36 This example is based on the same Sales Promotion Policy shown in the decision tables in Figures 5-34 and 5-35 on the previous page. Like a decision table, a decision tree shows all combinations of conditions and outcomes. The main difference is the graphical format, which many viewers find easier to interpret
Decision Trees
Graphical representation of the conditions, actions, and rules found in a decision table
Show the logic structure in a horizontal form that resembles a tree
Provide the same results as decision tables, but in different forms
46
47
Logical versus Physical Models
While structured analysis tools are used to develop a logical model for a new information system, such tools also can be used to develop physical models of an information system
A physical model shows how the system’s requirements are implemented
47
48
Logical versus Physical Models (Cont. 1)
Sequence of Models
Systems analysts create a physical model of the current system and then develop a logical model of the current system before tackling a logical model of the new system
Performing extra step allows to understand the current system better
48
49
Logical versus Physical Models (Cont. 2)
Four-Model Approach
Develop:
A physical model of the current system
A logical model of the current system
A logical model of the new system
A physical model of the new system
Disadvantage - Additional time and cost
49
50
Chapter Summary
During data and process modeling, a systems analyst develops graphical models to show how the system transforms data into useful information
The end product of data and process modeling is a logical model that will support business operations and meet user needs
Data and process modeling involves three main tools: data flow diagrams, a data dictionary, and process descriptions
50
Data flow diagrams (DFDs) graphically show the movement and transformation of data in the information system
DFDs use four symbols
A set of DFDs is like a pyramid with the context diagram at the top
The data dictionary is the central documentation tool for structured analysis
51
Chapter Summary (Cont. 1)
51
Each functional primitive process is documented using structured English, decision tables, and decision trees
Structured analysis tools can be used to develop a logical model during one systems analysis phase, and a physical model during the systems design phase
52
Chapter Summary (Cont. 2)
52
kent.edu.au Kent Institute Australia Pty. Ltd. ABN 49 003 577 302 ● CRICOS Code: 00161E ● RTO Code: 90458 ● TEQSA Provider Number: PRV12051