Está en la página 1de 33

Process Modeling

N. L. Sarda
I.I.T. Bombay

1
Outline

• Process decomposition diagrams


• Data flow diagram (DFD)

2
Process Model
• A process is a business activity which
when executed produces certain
outputs from given inputs
• The function(s) performed by a
process may be complex, with
multiple inputs, outputs and users
• The entire application itself is a
process
• We use successive decomposition
into sub processes to reveal greater
details of the processing 3
Function Decomposition
• Decomposition splits wok of a task
into subtasks; subtasks together
make-up the parent task; not like
‘calling’ a module
• Balanced decomposition: sub-tasks
are roughly equal in complexity

4
Function Decomposition …
• Top-down decomposition gives
hierarchical structure
• Decompose into 2 or more; not more
than 5
• A high cohesion (high independence)
and minimum coupling (minimum
interdependence) are fundamental
criteria
• Continue decomposition until
elementary processes are identified
5
Function Decomposition
• Elementary process is a smallest unit
of activity meaningful to end user (it
sees and leaves data in consistent
state)
• Process decomposition diagram
– A tree structure
– Elementary processes are leaf nodes
– Data are not shown

6
FD Diagrams: Examples

7
FD Diagrams: Examples

8
• Exercise: prepare FDDs for
– Railway reservation system
– Hospital patient management
– Employee payroll

9
Function Decomposition …
• Use proper naming of processes
• Business functions named as nouns
(marketing, Inventory control, …)
• Process name consists of an active
verb and an object (accept order,
calculate interest, …)

10
Naming …
• Avoid long names (sentences
containing and, if, then, etc. indicate
non-cohesive complex tasks)
• Real world is a good reference for
selecting proper names;
organizational units are organized
functionally and each unit has a well-
defined task

11
Data Flow Diagram (DFD)
• Very popular tool for describing
functions of a system in terms of
processes and data used by them
– FDD may be done before DFD or we may
prepare DFDs directly
– Have more contents than FDDs
– Flow of data is shown, not flow of control
• DFDs are simple pictorial
representations; easily understood by
users and management.
12
Data Flow Diagrams (DFD) …
• DFDs are unambiguous and concise
• They can describe processing at
physical as well as logical levels
• DFDs facilitate top-down
development
• They permit outlining of preferences
and scope

13
DFD Notation
• Data Flow : labeled arrow

• Sources and sinks of information/data (also


called external entity)
or
• Process
n n
or

(n : number for
referencing
• Available data (data store)
or n
14
Example: Air line reservation

15
Context Diagram
• Shows the entire application as a
single process
• Identifies its external interfaces
• This is the starting point; also called
Fundamental System Model, Level 0
DFD

16
Context Diagram …

17
Process Refinement
• Decompose a process into sub
processes
– May reveal more data stores, external
interfaces
– Use decimal numbering system: process
1 is decomposed into 1.1, 1.2, etc.
• At each level, understand all data
flows and processing; label processes,
data stores and data flows (arrows)
meaningfully.
• Continue decomposition and stop
when control flow (conditional
branches, loops) surfaces. Refine until
18
Refinement …
• DFDs do not show control flow
• DFDs do not show initializations
(such as initial file creation), but
show processes running in a steady
state
• DFDs only show exceptions/errors
having specific business rules to deal
with them; handling of routine errors
generally not shown

19
Refinement …
• Processes must be independent of
each other (cohesion, coupling
principles apply); work of a process
depends only on its inputs and not on
state of another process
• Only needed data should be input,
and outputs should be based on data
entering the process

20
Refinement …
• Ensure consistency among levels: inputs
and outputs at previous level should be
present at next level

21
Physical DFD
• Shows implementation details
– Names and locations of places/people
– Ways of storing data (like card indexes)
– Tasks as performed today: e.g., 2
persons handling UG, PG students
separately.
• Useful for describing existing system
to validate it with users
• Needs to be converted into logical
DFD after validation from users
22
Showing Boundaries

23
DFD Example 1: Payroll

24
DFD Example 2: Old Car Mart
• Buys and sells old cars; has large
number in stock: different models,
make, year,colors,…
• Does some repairs for adding value;
records kept; has own garage
• Advertise in news papers
• Salesmen hired on commission basis
to handle customers, negotiate, etc.
• Needs to take stocks; prepare
summary of sales, profits, etc; pay
salesmen 25
Car Mart …

26
Car Mart …
• Define data stores and flow clearly to
understand the DFD
• We can further refine some of the
processes
• For process 5: Making a sale
– Take buyer requirements and his/her
other details
– List cars that match requirements
– Show repair history, car history
– Register sale and negotiated price
– Compute commission 27
E-R Diagram
Add important
attributes, give
cardinalities

28
Example 3: Book Supplier
• Supplies books to customers; no
stocks maintained; books sourced
directly from publishers
• Prepare context diagrams

(all inputs/output not shown, such as invoices,…..


29
Book-Supplier : Refinement 1

30
Book Supplier: Exploding
Process 2

31
Book Supplier : homework
• Refinement 1 needs to be extended
for handling payments
• Extend for : Payments from
customers
– Create ‘a/c receivable’ for books sent
– Update receivable when payments
received
– Credit rating will need to be adjusted
periodically
• Extend for : Payments to publishers
– Create ‘a/c payable’ when invoices
received
– Check invoices with books actually 32
Summary
• Process modeling by process
decomposition
• DFD shows data flows, stores and
processes, but not control flows
• Proper naming of stores, processes
and indicating data flowing among
them very important for DFDs to be
independently readable

33

También podría gustarte