IS421 07 Class Lecture

advertisement
Information Systems
System Analysis 421
Class Seven
Structuring System Requirements:
Process Modeling
Learning Objectives
 Understand the logical modeling of processes through
studying data flow diagrams
 How to draw data flow diagrams using rules and guidelines
 How to decompose data flow diagrams into lower-level
diagrams
 Balancing of data flow diagrams
8.2
Learning Objectives
 Explain the differences among four types of DFDs:
current physical, current logical, new physical and new
logical
 Discuss the use of data flow diagrams as analysis tools
 Compare and contrast data flow diagrams with Oracle’s
process modeling tool and with functional hierarchy
diagrams
 Discuss process modeling for Internet applications
8.3
Data Modeling
Entity
Relationship
Data Flow
Diagram
Prototypes
System Modeling
• One way to structure unstructured problems is
to draw a model
– A model is a representation of reality - picture worth a
thousand words
– Built to understand the existing system as a way to
document business requirements
– Data modeling is a technique for defining business
requirements
• Data is viewed as a resource to be shared by as many
processes as possible, data must be organized in a way
that is flexible and adaptable to unanticipated business
requirements
System Modeling
• Physical model shows not only what a system does but how
the system is physically and technically implemented depicts technical design
• Logical models depict business requirements illustrates
the essence of the system
– Move biases that are the results of the way the
current system is implemented
– Reduce the risk of missing requirements
– Allow us to communicate with end users
– Help analysts and users understand business
terminology and rules
Process Modeling
• The simplest process model of a system is based
on inputs, outputs, and the system itself –
Viewed a process.
– The process symbol defines the boundary of the
system.
– The system is inside the boundary; the environment is
outside that boundary.
– The system exchanges inputs and outputs with its
environment.
– Process is work performed on, or in response to,
incoming data flows or conditions.
Process Modeling
• Graphically represent the processes that capture,
manipulate, store and distribute data between a system
and its environment and among system components
• Data flow diagrams (DFD)
– Graphically illustrate movement of data between
external entities and the processes and data stores
within a system
• Modeling a system’s process
– Utilize information gathered during requirements
determination
– Structure of the data is also modeled in addition to the
processes
8.8
Process Modeling
• Deliverables and Outcomes
– Set of coherent, interrelated data flow diagrams
– Context data flow diagram (DFD)
• Scope of system
– DFDs of current system
• Enables analysts to understand current system
– DFDs of new logical system
• Technology independent
• Show data flows, structure and functional requirements
of new system
– Project dictionary and CASE repository
8.9
Data Flow Diagrams
• Data modeling is done during the project definition stage
and refined in physical design
• Similar to ERD Data model - DFD also helps the analyst
identify business vocabulary and uncover business
requirements
• Can be used on current system to understand requirements
• Can be fit on several sheets of paper
• The level of data flow diagram can be compared to a
highway and street maps that you might use - National =>
State => City
Data Flow Diagrams
 Tool that depicts the flow of data through a system and the
work or processing performed by that system
Graphical tool used to describe and analyze the movement of
data through a system manual or automated
 Central tool in which other components are developed
A data flow diagram (DFD) is a tool that depicts the flow of
data through a system and the work or processing performed by
that system. Synonyms include bubble chart, transformation
graph, and process model
DFD Symbols
DFD Symbols
• Named vector or arrow
– Called a data flow
new order
– Portrays a data path
• Bubble
– Called a process
– Portrays transformation of data
• Narrow open rectangle
Verify
Credit
3.2
3.2
Verify
Credit
– Called a data store
– Portrays a file or data base
Customer Master File
• Box
– Called a source or sink
– Portrays an internal or external agent
– Used to define a system’s boundaries
Customer
DFD Symbols
• Data flow - data move in a specific direction
• Processes - people, procedures or device that transforms
data - work to be done
• Source or destination - external source or destination of
data which may be people, program, organization or other
entities - The squares represent external agents – the
boundary of the system.
• Data Store - where data is house
Customer
Good Sold File
2.0
Update
Goods
Sold
DFD Symbols
Customer
External
Entity
1
Orders
Verify
Credit
Data Flow
Credit
History
Customer File
Data Store
Accepted
Orders
2
Ship
Order
Process
DFD Symbols
Data Flow
• A data flow is data in motion.
• The flow of data between a system and its environment, or
between two processes inside a system an relationship
between a system and its environment, or between two
processes is communication.
– A data flow represents an input of data to a process,
or the output of data (or information) from a process.
A data flow is also used to represent the creation,
deletion, or update of data in a file or database (called
a data store on the DFD).
– A data flow is depicted as a solid-line with arrow.
Data Flow
Membership
application
Employee
Bank statement
Existing account
3.1.1
Generate an
employee bank
statement
3.1.2
Create a new
member account
Employee
status
Employee address
Employees
Member Accounts
New account status
3.1.3
Freeze member
account number
Frozen account notification
Accounts
Receivable
Department
Data Flow
• No data flow should ever go completely unnamed.
• Data flow names should describe the data flow without
describing how the flow is or could be implemented.
• All data flows must begin or end at a process, because
data flows are the inputs and outputs of a process.
• Naming Convention - Should be descriptive nouns and noun
phrases that are singular, as opposed to plural.
– Should be unique.
• Use adjectives and adverbs to help to describe how
processing has changed a data flow.
Data Flow
Order
Cancelled Order
Process
Order
Cencel
Order
2
2
New
Order
Order
to be
Deleted
Orders
New
Order
Address
Change
Order
Address
Change of Address
Unfilled
Order
l
1
2
Summarize
Unfilled
Orders
Summary of Orders
Data Flow Packet Concept
• Data is seen as a package of information
Correct use of the
packet concept
Telephone
Service
Provider
Itemized
calls
and
invoice
Incorrect
use of the
packet
concept
Itemized calls
Invoice
Pay
phone
bill
Data Store
• Data Store
– Depicts data at rest
– May represent data in
• File folder
• Computer-based file
• Notebook
– The name of the store as well as the number are
recorded in between lines
8.22
Data Stores
• Most information systems capture data for later use.
• The data is kept in a data store.
– A data store is an ``inventory’’ of data. Synonyms
include file and database (although those terms are too
implementation-oriented for essential process
modeling).
– A data store is represented by the open-end box.
• If data flows are data in motion, think of data stores as
data at rest.
• Data stores should describe ``things’’ about which the
business wants to store data.
• It is permissible to duplicate data stores on a DFD to
avoid crossing data flow lines.
Data Stores
• Data cannot be moved from one data store to another data
stored it must be moved by a process
• Data cannot be moved from an outside source to a data
store it must be moved by a process
• Data Stores should have noun phrase labels
• Data Stores can be labeled
• Data flow to a data store means new/update
• Data flow from a data store means retrieve
A
Good Sold File
DFD Rules - Data Stores
Good Sold File
What’s valid !
Inventory
Students
Customer
Good Sold File
Inventory
3.0
Produce
Mgmt
Reports
Manager
Management Reports
DFD Rules - Data Stores
Good Sold File
What’s valid !
Sold data
Sold data
Inventory
Students
Customer
Good Sold File
Student Data
3.0
Creates
Reports
Inventory Data
Inventory
3.0
Produce
Mgmt
Reports
Manager
Management Reports
Process
• Process names should be descriptive.
1.0
Process
Customer
Food Order
• Processes should have a single Action Verb and a Singular
Object.
• Process numbers strictly used for identification
• All Processes are connected to something.
• All Processes have both Inputs and Outputs.
• No Process has only outputs or only inputs.
• Processes may connect to anything: other processes, data
stores or entities.
• Each Process has a unique name and number.
• A Process number is used only once in a diagram set.
Process
• Black Holes and Miracles
1
1
Process
1
y
Entity
Process
1
Entity
x
x
Data Store
y
Data Store
Process Example
1.0
Process
Customer
Food Order
1.0
Process
Customer
Food Order
1.0
Process
Customer
Food Order
1.0
Process
Customer
Food Order
Which ones are correct and incorrect?
External Entities
• Source/Sink
– Depicts the origin and/or destination of the data
– Sometimes referred to as an external entity
– Drawn as a square symbol
– Name states what the external agent is
– Because they are external, many characteristics are
not of interest to us
8.30
External Entities
• All information systems respond to events and conditions
in the environment.
•
The environment of an information system includes
external entities that form the boundary of the system,
and define places where the system interfaces with its
environment.
• A external entity defines an a person, organization unit,
other system, or other organization that lies outside of
the scope of the project, but which interacts with the
system being studied.
• External agents provide the net inputs into a system, and
receive net outputs from a system.
• Common synonyms include external agents
External Entities
• The term external means “external to the system being
analyzed or designed.”
• An external agent is represented by a square on the data
flow diagram.
• External agents on a logical data flow diagram may include
people, business units, other internal systems with which
your system must interact, and external organizations.
• External agents should be named with descriptive, singular
nouns.
• As a general rule, external agents should be located on the
perimeters of the page, consistent with their definition as
a system boundary.
Data Flow Diagramming Definitions
• Context Diagram
– A data flow diagram (DFD) of the scope of an organizational
system that shows the system boundaries, external entities
that interact with the system and the major information
flows between the entities and the system
• Level-O Diagram
– A data flow diagram (DFD) that represents a system’s major
processes, data flows and data stores at a high level of detail
8.33
Fast Food Restaurant
• Context diagram an overview of an organization
system that shows
– the system boundaries
– sources that interact with the system
– major information flow between the entities
Fast Food Restaurant
• The Context Diagram
– The context diagram contains one and only one process.
– External entities are drawn around the perimeter.
– Data flows define the interactions of your system with
the boundaries and with the external data stores.
– Refer as Level Zero
•
Let’s draw a context diagram
– What does a restaurant do - think McDonalds or
Hoosier
– What are the boundaries
– Who does it interact with
Developing DFDs: An Example
• Hoosier Burger’s automated food ordering
system
• Context Diagram (Figure 8-4) contains no data
stores
• Next step is to expand the context diagram to
show the breakdown of processes (Figure 8-5)
8.36
Figure 8-4
Context diagram of Hoosier Burger’s
food ordering system
8.37
Figure 8-5
Level-0 DFD of Hoosier Burger’s food ordering system
8.38
Data Flow Diagramming Rules
• Source/Sink
– Data cannot move
directly from a source to
a sink
– A source/sink has a noun
phrase label
8.39
•
Data Flow
– A data flow has only one
direction of flow between
symbols
– A fork means that exactly
the same data goes from a
common location to two or
more processes, data stores
or sources/sinks
Data Flow Diagramming Rules
•
Data Flow (Continued)
– A join means that exactly the same data comes from any
two or more different processes, data stores or
sources/sinks to a common location
8.40
–
A data flow cannot go directly back to the same process it
leaves
–
–
–
A data flow to a data store means update
A data flow from a data store means retrieve or use
A data flow has a noun phrase label
Data Flow Example
Incorrect
Correct
DFD Rules -- Data Flow
Incorrect
Correct
Corrected
data
flows
Illegal
data
flows
B1
B1
DS1
DS1
B2
DS1
B1
DS2
B1
a process is
needed to
exchange data
flows between
boundaries
B1
a process is
needed to
update (or
use) a data
store
DS1
a process is
needed to
present data
from a data
store
DS1
a process is
needed to
move data
from one data
store to
another
B1
DS1
B1
DS2
What are the rules
violations?
Dataflow 2
Entity A
Dataflow 5
Dataflow 4
Entity B
Dataflow 2
That’s All
Process
Blue
Dataflow 6
Dataflow 3
Dataflow 7
Dataflow 1
Data Store 1
2.1
2
Process
Green
Dataflow 8
Decomposition of DFDs
• Functional decomposition
– Act of going from one single system to many component
processes
– Repetitive procedure
– Lowest level is called a primitive DFD
• Level-N Diagrams
– A DFD that is the result of n nested decompositions of a
series of subprocesses from a process on a level-0 diagram
8.46
Relationship Among DFD
levels
Level 0 Diagram
• Shows all the processes that comprise the overall system
• Shows how information moves from and to each process
• Adds data stores
Level 1 Diagrams
•
Shows all the processes that comprise a single process on the level 0
diagram
•
Shows how information moves from and to each of these processes
•
Shows in more detail the content of higher level process
•
Level 1 diagrams may not be needed for all level 0 processes
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
•
The Data Flow Diagram (DFD) is an essential tool for creating formal
descriptions of business processes and data flows.
•
Use cases record the input, transformation, and output of business
processes.
•
Eliciting scenario descriptions and modeling business processes are
critically important skills for the systems analyst to master.
Balancing DFDs
• When decomposing a DFD, you must conserve inputs to and
outputs from a process at the next level of decomposition
• This is called balancing
• Example: Hoosier Burgers
– In Figure 8-4, notice that there is one input to the system,
the customer order
– Three outputs:
• Customer receipt
• Food order
• Management reports
8.51
Balancing DFDs
• Example (Continued)
– Notice Figure 8-5. We have the same inputs and
outputs
– No new inputs or outputs have been introduced
– We can say that the context diagram and level-0 DFD
are balanced
8.52
Figure 8-4
Context diagram of Hoosier Burger’s
food ordering system
8.53
Figure 8-5
Level-0 DFD of Hoosier Burger’s food ordering system
8.54
Balancing DFDs
• An unbalanced example
– Figure 8-10
– In context diagram, we have one input to the system, A
and one output, B
– Level-0 diagram has one additional data flow, C
– These DFDs are not balanced
8.55
Figure 8-10
An unbalanced set of data flow diagrams
(a) Context diagram
(b) Level-0 diagram
8.56
DFD: Balancing and Leveling
• When Zooming In, Do Not forget the Parent!
– Parent Process
– Child Diagram
P1.1
P1.2
P1
P1.3
D1
DFD: Exercise Problem Level 0
DS2
E
1
DF6
DF2
P1
DF1
E
2
P2
DF4
DF3
DF5
P3
DS1
DF3
DFD: Exercise Problem Level 1
DS2
DF6
DF1
P1.1
E
2P1.4
P1.2
DF7
DF9
DF2
DF8
P1.3
DFD: Exercise Problem Level 2
E
2P1.4.3
P1.4.2
DF11
DF12
DF2
DF10
DF8
DF9
P1.4.1
Four Different Types of DFDS
• Current Physical
– Process label includes an identification of the
technology (people or systems) used to process the
data
– Data flows and data stores are labeled with the actual
name of the physical media on which data flow or in
which data are stored
8.61
Four Different Types of DFDS
• Current Logical
– Physical aspects of system are removed as much as possible
– Current system is reduced to data and processes that
transform them
• New Logical
– Includes additional functions
– Obsolete functions are removed
– Inefficient data flows are reorganized
• New Physical
– Represents the physical implementation of the new
system
8.62
Guidelines for Drawing DFDs
• Completeness
– DFD must include all components necessary for system
– Each component must be fully described in the project
dictionary or CASE repository
• 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.
8.63
Guidelines for Drawing DFDs
• Iterative Development
– Analyst should expect to redraw diagram several times
before reaching the closest approximation to the
system being modeled
• Primitive DFDs
– Lowest logical level of decomposition
– Decision has to be made when to stop decomposition
• 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
8.64
– When the system user does not care to see any more
detail
Using DFDs as Analysis Tools
• Gap Analysis
– 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
8.65
Oracle’s Process Modeler and
Functional Hierarchy Diagrams
• Process Modeler
– Unique to Oracle
– Similar to DFDS but outputs and methods differ in several
ways.
– Table 8-4 illustrates differences
• Functional Hierarchy Diagrams
– Picture of various tasks performed in a business and how they
are related
– Tasks are broken down into their various parts
– Does not include data flows
8.66
Summary
• Data flow diagrams (DFD)
– Symbols
– Rules for creating
– Decomposition
– Balancing
• Four different kinds of DFDs
– Current Physical
– Current Logical
– New Logical
– New Physical
8.67
Summary
• DFDs for Analysis
• DFDs for Business Process Reengineering (BPR)
• Oracle’s Process Modeler
• Functional Hierarchy Diagrams
8.68
Process Decomposition
 What do you do when a complex system is too difficult to
fully understand when viewed as a whole
 We separate a system into its component subsystems,
which in turn are decomposed into smaller subsystems,
until such a time as we have identified manageable subsets
of the overall system.
• This technique is called decomposition.
– Decomposition is the act of breaking a system into its
component subsystems, processes, and subprocesses.
Each lower level reveals more or less detail) about the
overall system
Process Decomposition
• A decomposition diagram is a popular tool to illustrate
system decomposition - also called a hierarchy chart,
shows the top down functional decomposition and
structure of a system.
• A decomposition diagram is essentially a planning tool for
more detailed processes models, namely, data flow
diagrams.
• The decomposition diagram rules:
– Each process in a decomposition diagram is either a parent
process, a child process (of a parent), or both.
– A parent must have two or more children – a single child does
not make sense since that would not reveal any additional
detail about the system.
– In most decomposition diagramming standards, a child may
have only one parent.
– A child of one parent may, of course, be the parent of its own
children.
Process Decomposition
0
The System
2
Another
Function
1
A Function
1.1
Activity of the
Function
1.2
Another Activity
of the Function
2.1
Acivity of this
Function
2.2
Another Activity
of this Function
Task 1.1.1
Task 1.2.1
Task 2.1.1
Task 2.2.1
Task 1.1.2
Task 1.2.2
Task 2.1.2
Task 2.2.2
Task 2.1.3
Task 2.2.3
Task 1.1.3
Task 2.1.4
Process Decomposition
How do you build the hierarchy
• Logical processes are work or actions that must
be performed no matter how you implement the
system.
• Naming conventions for logical processes depend
on where the process is in the decomposition
diagram/data flow diagram and type of process
depicted.
• There are three types of logical processes:
functions, events, and elementary processes
Process Decomposition
• A function is a set of related and on-going
activities of the business. A function has no
start or end – it just continuously performs its
work as needed.
– Each of these functions may consist of dozens, or
hundreds of more discrete processes to do support
specific activities and tasks.
– Functions serve to group the logically related activities
and tasks.
– Functions are named with nouns that reflect the entire
function.
– Think of some functions - Payroll, Order Management,
Travel System
Process Decomposition's
• An event is a logical unit of work that must be
completed as a whole. An event is triggered by a
discrete input, and is completed when the
process has responded with appropriate outputs.
Events are sometimes called transactions.
– Functions consist of processes that respond to events.
– Each of these events has a trigger and response that
can be defined by its inputs and outputs.
– System functions are ultimately decomposed into
business events.
– Each business event is represented by a single process
that will respond to that event.
– Name some events for Payroll, OM and Travel
Process Decomposition's
• An event process can be further decomposed
into elementary processes that illustrate in
detail how the system must respond to an event.
• Elementary processes are discrete, detailed
activities or tasks required to complete the
response to an event. In other words, they are
the lowest level of detail depicted in a process
model. A common synonym is primitive process.
– Elementary processes should be named with a strong
action verb followed by an object clause that describes
what the work is performed on (or for).
DFD: Exercise Problem
Draw both a Context and Level 1 DFD for Order Entry
Department work process at Bebop Records.
Bebop Records is a mail order company that distributes CDs and
tapes at discount prices to record club members. When an order
processing clerk receives an order form, she verifies that the
sender is a club member by checking the MEMBER FILE. If the
sender is not a member, the clerk returns the order along with a
membership application form. If the customer is a member, the
clerk verifies the order item data by checking the ITEM FILE.
Then the clerk enters the order data and saves it to the DAIILY
ORDERS FILE. At the same time the clerk also prints an invoice
and shipping list for each order, which are forwarded to the
ORDER FULFILLMENT DEPARTMENT for processing there.
DFD: Exercise Problem
A. (5 Points) What is wrong with the following DFD?
Customer
Information
From Customer
Customer
Data
Customer
1
Accept
Customer
Information
Customer
Order
Customer
Data
2
Produce
Customer
Invoice
Detail Problem
D.Create a Context DFD and a level zero logical DFD for the following
Order Fulfillment System scenario within the Order Fulfillment
Department:
A CUSTOMER submits a PURCHASE ORDER. The FULFILL ORDER process
acts on the PURCHASE ORDER by either sending an ORDER REJECT
NOTICE back to the CUSTOMER if the CUSTOMER has bad credit, or
sending a FULFILLMENT SLIP to the WAREHOUSE Department.
When a COMPLETED ORDER NOTICE is received from the WAREHOUSE
Department signifying they have shipped the product, the CREATE
INVOICE process generates an INVOICE and outputs it to both the
CUSTOMER (by mail) and the ACCOUNTS RECEIVABLE data store.
When a CUSTOMER makes a PAYMENT it is processed by APPLY PAYMENT.
This requires INVOICE DETAIL input from the ACCOUNTS RECEIVABLE
data store along with PAYMENT DOCUMENTATION (from the customer).
APPLY PAYMENT outputs PAYMENT DETAIL back into the ACCOUNTS
RECEIVABLE store and outputs BANK DEPOSIT SLIP to the BANK, and
CASH RECEIPTS ENTRY to the ACCOUNTING Department.
Download