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 welldefined 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 18 branches, loops) surfaces. Refine until
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 25 salesmen
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