Lec431_4

advertisement
CSUN Information Systems
Systems Analysis & Design
http://www.csun.edu/~dn58412/IS431/IS431_SP16.htm
Process
Modeling
IS 431: Lecture 4
1
System Modeling
 Process Modeling with Data Flow Diagram (DFD)
– what’s the system doing
 Data Modeling with Entity Relationship Diagram
(ERD)
– what’s data of the system
 Object Modeling with Unified Modeling Language
(UML)
– what and why (logic of the system)
IS 431 : Lecture 4
2
Why System Modeling
 To better understand the system: opportunities for
simplification, optimization (BPR)
 To communicate the desired structure and behavior
of the system (business requirements:
data/information & functions/processes)
 To visualize and control the system architecture
(blueprint)
 To manage risks in development process
IS 431 : Lecture 4
3
When Process Modeling
 Strategic systems planning
– Enterprise process models illustrate important business functions.
 Business process redesign
– “As is” process models facilitate critical analysis (Current System).
– “To be” process models facilitate improvement (Proposed System).
 Systems analysis
– Model the existing/current system including its limitations (logical
DFD)
– Model the target/proposed system’s logical requirements (processes
and data flows needed regardless of how the system will be
implemented- logical DFD)
– Model candidate technical solutions (physical DFD)
– Model the target technical solution (physical DFD)
IS 431 : Lecture 4
4
Process Modeling
 Logical vs. Physical Models
 System and Process Concepts
 Data Flow Diagrams (DFD)
 Elements of a DFD
 Rules and Procedures in DFD
 Examples and Case Studies
IS 431 : Lecture 4
5
Logical vs. Physical
Models
Logical models show WHAT a system is or does. They
are independent of any technical implementation.
Physical models show not only what a system is or does,
but also HOW the system is (to be) physically and
technically implemented. They reflect technology choices.
IS 431 : Lecture 4
6
Why Logical System
Models
 Logical models remove (political, emotional) biases
resulted from the way the system is currently
implemented, or the way that any one person thinks
the system might be implemented.
 Logical models reduce the risk of missing business
requirements in cases one is too preoccupied with
technical results (premature technical solutions).
 Logical models allow the communication with endusers in nontechnical or less technical languages
(charts, diagrams).
IS 431 : Lecture 4
7
Process Modeling
with DFD
Process Modeling is a technique for organizing and
documenting the structure and flow of data through a
system’s processes, and the logic, policies, and
procedures to be implemented by a system’s
processes.
A Data Flow Diagram (DFD) is a graphical tool to
depict the flow of data through a system and the work
or processing performed by that system.
IS 431 : Lecture 4
8
Why DFD
 Language description is subject to interpretation, it
may omit crucial info.
 Graphical description of the flow of data within an
organization with DFD.
IS 431 : Lecture 4
9
System Concept
 A system exits by taking input from the
environment , transforming (processing) this
input, and release an output
 A system may be decomposed (exploded) into
subsystems
 A subsystem has its own input and output
 Output of one subsystem may become the input of
other subsystems
IS 431 : Lecture 4
10
Systems & Subsystems
INPUT
OUTPUT
IS 431 : Lecture 4
11
Systems & Processes
A system is a process. It addresses a business function.
A process is work / action performed on, or in response to,
incoming data flows or conditions.
A process (function) can be decomposed into sub-processes
(sub-functions, tasks)
input
input
input
The
System
is a
Process
output
output
output
Feedack and
Control Loop
The System's Environment
(constantly changing)
IS 431 : Lecture 4
12
System Decomposition
IS 431 : Lecture 4
13
Decomposition Diagram
IS 431 : Lecture 4
14
Functional
Decomposition Diagram
IS 431 : Lecture 4
15
Event Decomposition
Diagram
IS 431 : Lecture 4
16
Data Flow Diagrams
 DFD documents a business function/activity/task of
a system as a process.
 DFD describes how data is manipulated within and
at the boundaries of the system.
 DFD shows detail of the interdependency among
processes of the system, movements of data or info
among the processes.
IS 431 : Lecture 4
17
Data Flow Diagrams ...
 Logical DFD describes the flow of information of
a system
 Physical DFD describes how an information
system is physically implemented (who does what
by what means)
 Gane/Sarson vs. Demarco/Yourdon Notations
 Gane/Sarson set define clearly logical and physical
symbols
 Gane/Sarson set considering process performance
in terms of input/output, could be used in BPR.
 Don’t mix up 2 sets of notations
IS 431 : Lecture 4
18
Elements of a DFD
DE MARCO & YOURDON NOTATIONS
External Entity
Data Flow
Process
Data Store
IS 431 : Lecture 4
19
Elements of a DFD
GANE & SARSON NOTATIONS
External Entity
Data Flow
3
3
Pay Bill
Process
(Logical)
Pay Bill
AP Clerk
(Physical)
Data Store
IS 431 : Lecture 4
20
External Entities
SUPPLIER
 An External Entity is a provider (source) or receiver
(sink) of data and info of the system.
 An External Entity is NOT part of the system: the
externality depends on how the system is defined.
IS 431 : Lecture 4
21
External Entities …
 An external entity (agent) defines a person,
organization unit, or other organization that lies
outside of the scope of the project but that interacts
with the system being studied.
– External agents define the “boundary” or scope of a
system being modeled.
– As scope changes, external agents can become processes,
and vice versa.
– Almost always one of the following:
 Office, department, division inside the business but outside the
system scope.
 An external organization or agency.
 Another business or another information system.
 One of system’s end-users or managers
IS 431 : Lecture 4
22
Data Stores
D1
Accounts Receivable
 A Data Store is a storage of data: it contains
information
 Physical storage is immaterial : it can be a filing
cabinet, book, computer file
IS 431 : Lecture 4
23
Data Stores …
 A data store is an inventory of data.
– A data store is “data at rest” compared to a data flow that
is “data in motion.”
– Almost always a data store for one of the following:





Persons (or groups of persons): e.g., customer
Places: e.g, cash register
Objects: e.g., product
Events (about which data is captured): e.g., sales
Concepts (about which data is important): e.g., discount
– One can identify data stores with REAL (ResourcesEvents-Agents-Locations) framework
– Data stores depicted on a DFD store all instances of data
entities (depicted on an ERD)
IS 431 : Lecture 4
24
Data Flows
DELIVERY SLIP
 A Data Flow represents a movement of data (info)
among processes or data stores
 A Data Flow does NOT represent a document or a
physical good: it represents the exchange of
information in the document or about the good
 A Data Flow represents an input of data to a process,
or the output of data from a process.
– A data flow may also be used to represent a Creation,
Reading, Updating, or Deletion (CRUD) of data in a file
or database (called a data store).
– A composite data flow (packet) is a data flow that
consists of other data flows (delivery slip has customer
info, address, product info etc.)
IS 431 : Lecture 4
25
Processes
1
Pay Bill
 A Process is a work or action performed on input
data flow to produce an output data flow
 Use a verb to label the action performed by the
process (not the name of person or department
who does it as in physical DFD)
 A Process must have at least one input data flow
and at least one output data flow.
IS 431 : Lecture 4
26
Types of Logical
Processes
 Function: a set of related and ongoing activities of
a business: e.g., sales.
 Event (or transaction, activity): a logical unit of
work that must be completed as a whole (as part of
a function): e.g., collect payment.
 Elementary Process (or primitive process, task): a
discrete, detailed activity or task required to respond
to an event. Usually, several such tasks must be
completed to respond to an event, e.g, update new
info, calculate payment, create notice…
IS 431 : Lecture 4
27
Context Diagram
 Define the boundary of the system
 Identify the external entities
 No detail on processes and data stores of the system
IS 431 : Lecture 4
28
Decomposition of
Context Diagram
M
0
P
Context Diagram
N
M
Level-0 Diagram
D1
1
3
P
2
N
IS 431 : Lecture 4
Level-1 Diagram
29
DFD Building Procedure
 Context Diagram
– Identify the system and its boundaries (the context)
– Identify external entities (providers, receivers of system info)
– Identify external data flows (input, output)
– Note: the whole system itself is a process (it receives input
and transforms it into output) doing a business function
– Doesn’t show processes and/or data stores here
IS 431 : Lecture 4
30
DFD Building Procedure …
 Level-0 DFD
– Identify what is being done between each input and its
corresponding output
– Identify the processes (functions of the system)
– Identify external data flows between external entities and
processes
– Identify information storages for reference/record
keeping (data stores)
– Identify internal data flows between processes and data
stores
 Level-1 DFD’s
– Sub-processes (activities or tasks) of Level-0 processes
(system functions)
IS 431 : Lecture 4
31
Rules in DFD Building
 Rule 1 : Unique label for each symbol to avoid
confusion
 Rule 2 : Use an action VERB to label a process
(because a process is an action !!!)
IS 431 : Lecture 4
32
Rules in DFD Building ...
 Rule 3 : Must be one process associated with each
data flow …
M
M
IS 431 : Lecture 4
33
Rules in DFD Building ...
 Rule 3 : Must be one process associated with each
data flow …
M
N
M
N
IS 431 : Lecture 4
34
Rules in DFD Building ...
 Rule 3 : Must be one process associated with each
data flow.
IS 431 : Lecture 4
35
Rules in DFD Building ...
 Rule 4 : Shaded corner must appear in ALL
occurrences of a duplicated symbol in a same diagram
on the same page.
CUSTOMER
1.0
D3 Accounts Receivable
CUSTOMER
3.0
D3
IS 431 : Lecture 4
Accounts Receivable
36
Rules in DFD Building ...
 Rule 5 : No process without output data flow
(black hole !!!)
IS 431 : Lecture 4
37
Rules in DFD Building ...
 Rule 6 : No process without input data flow
(miracle !!!)
IS 431 : Lecture 4
38
Rules in DFD Building ...
 Rule 7 : No need for routing (without transforming)
a data flow with a process (non value-added activity
!!!)
Info A
Info A
IS 431 : Lecture 4
39
Rules in DFD Building ...
 Rule 8 : Identical input, output data flows for parent
and child processes (but the child processes can
have their own throughputs) . Balance Check.
IS 431 : Lecture 4
40
Rules in DFD Building ...
M
P
Context Diagram
N
M
1
N
2
3
IS 431 : Lecture 4
P
Level-0 Diagram
41
Rules in DFD Building ...
 Rule 9 : Data flows cannot split by themselves
IS 431 : Lecture 4
42
Rules in DFD Building ...
 Rule 9 : Data flows cannot split …
IS 431 : Lecture 4
43
Rules in DFD Building ...
 Rule 10 : A data packet can combine many data
elements being transmitted at the same time to the
same destination
IS 431 : Lecture 4
44
Rules in DFD Building ...
 Rule 11 : Double-headed arrows are forbidden [inflow (update) and out-flow (extract info) of a data
store carry different information]
IS 431 : Lecture 4
45
Rules in DFD Building ...
 Rule 12 : Data flow can NOT go backward to a
previous process in Level-0 (Today’s output can’t
go back to yesterday’s work !!!)
Notes: Show
any branching
decision / loop
in Level-1
IS 431 : Lecture 4
46
DFD Example
Personal Finance System
IS 431 : Lecture 4
47
Classical / Top-Down
Structured Analysis
1. Draw top-down physical DFDs to represent the current
physical implementation of the system including its
limitations. Draw top-down logical DFDs of current system
2. Convert the physical DFDs to their logical equivalents.
3. Draw top-down logical DFDs that represent an
improved system.
4. Describe all data flows, data stores, policies, and procedures
in a data dictionary or encyclopedia.
5. Optionally, mark up copies of the logical DFDs to represent
alternative physical solutions.
6. Draw top-down physical DFDs that represent the target
solution.
IS 431 : Lecture 4
48
Event-driven / BottomUp Structured Analysis
1. Draw a context DFD to establish initial project scope.
2. Draw a functional decomposition diagram to partition the
system into subsystems.
3. Create an event-response or use-case list for the system to
define events for which the system must have a response.
4. Draw an event DFD (or event handler) for each event.
5. Merge event DFDs into a system diagram (or, for larger
systems, subsystem diagrams).
6. Draw detailed, primitive DFDs for the more complex event
handlers.
7. Document data flows and processes in the data dictionary.
IS 431 : Lecture 4
49
Structured Analysis
Diagram Progression …
IS 431 : Lecture 4
50
Structured Analysis
Diagram Progression …
IS 431 : Lecture 4
51
Structured Analysis
Diagram Progression
IS 431 : Lecture 4
52
Differences Between
DFDs and Flowcharts
 Processes on DFDs can operate in parallel (at-thesame-time)
– Processes on flowcharts execute one at a time
 DFDs show the flow of data through a system
– Flowcharts show the flow of control (sequence and
transfer of control)
 Processes on a DFD can have different timing
(daily, weekly, on demand)
– Processes on flowcharts are part of a single program with
consistent timing
IS 431 : Lecture 4
53
Data Conservation
Data conservation – the practice of ensuring that a
data flow contains only data needed by the receiving
process.
– New emphasis on business process redesign to identify
and eliminate inefficiencies.
– Simplifies the interface between those processes.
– Must precisely define the data composition of each data
flow, expressed in the form of data structures (in Data
Modeling).
IS 431 : Lecture 4
54
Data to Process Matrix
IS 431 : Lecture 4
55
Process to Location
Association Matrix
IS 431 : Lecture 4
56
DFD Case Studies
 WEPAY payroll processing
 Personnel Evaluation at Perks Travel Co.
 Accounts Receivable at Harper Printing
 Receiving Function at Globe Appliances
To be discussed in-class
IS 431 : Lecture 4
57
Architecture Blueprints
Street Location
Context Diagram
N
0
E1
© 2010 D.Nguyen @ CSUN
IS 431 : Lecture 4
E2
58
Architecture Blueprints
Level-0 DFD
Building Plan
1.0
E1
F3
2.0
F2
F1
3.0
E2
The building has 3 floors
The system has 3 functions
© 2010 D. Nguyen @ CSUN
IS 431 : Lecture 4
59
Architecture Blueprints
Floor Plan for F1
Level-1 DFD for 1.0
1.0
Floor 1 has a big space for parking
Function 1 has a single task
No need for detail blueprint
No need for Level-1
(can get from Level-0)
© 2010 D. Nguyen @ CSUN
IS 431 : Lecture 4
60
Architecture Blueprints
Level-1 DFD for 2.0
Floor Plan for F2
(1.0)
2.1
2.3
2.2
2.2
2.1
2.3
Floor 2 has 3 suites
(3.0)
Function 2 has 3 activities
© 2010 D. Nguyen @ CSUN
IS 431 : Lecture 4
61
Architecture Blueprints
Suite Plan for 2.1
Level-2 DFD for 2.1
(1.0)
2.1.1
2.1.2
2.1.1
2.1.2
(2.2)
Suite 2.1 has 2 rooms
© 2010 D. Nguyen @ CSUN
IS 431 : Lecture 4
Activity 2.1 has 2 tasks
62
Linked Processes
1.0
1.0
D1
2.0
2.0
1.0 and 2.0 share the
same data store D1
1.0 sends data to 2.0
IS 431 : Lecture 4
63
Conditional Branching
1.1
(EXTRA STEP)
2.1
IF (Condition)
IF (Condition)
DO “1.2”
1.2
(CONDITIONAL EXIT)
DO “2.2”
2.2
ELSE
DO “2.3”
1.3
2.3
(2.0)
(3.0)
Note: Show conditional branching in Level-1 DFD’s or lower.
IS 431 : Lecture 4
64
DFD Deliverables
for a System
Development Project
 Current System (as-is)
– Context Diagram
– Logical Level-0 DFD
– Logical Level-1 DFD’s (for multi-task functions)
(No Physical DFD for current system, unless the focus
of the project is in security & control)
 Proposed System (to-be)
– Context Diagram
– Logical Level-0 DFD Level-0
– Logical Level-1 DFD’s (for multi-task functions)
– Physical Level-0 DFD Level-0
– Physical Level-1 DFD’s (for multi-task functions)
IS 431 : Lecture 4
65
“System” Flowchart aka.
Document Flowchart
IS 431 : Lecture 4
66
Logical DFD using
De-Marco Notations
IS 431 : Lecture 4
67
Physical DFD using
De-Marco Notations
IS 431 : Lecture 4
68
Download