Process Modeling Introduction The chapter will address the following questions: What is systems modeling and what is the difference between logical and physical system models? What is process modeling and what are its benefits? What are the basic concepts and constructs of a process model. How do you read and interpret a data flow diagram. When in a project are process models constructed and where are they stored? How do you construct a context diagram to illustrate a system’s interfaces with its environment? How do you identify external and temporal business events for a system? Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley 1 Copyright Irwin/McGraw-Hill 1998 Process Modeling Introduction The chapter will address the following questions: How do you perform event partitioning and organize events in a functional decomposition diagram? How do you draw event diagrams and then merge those event diagrams into a system diagram? How do you draw primitive data flow diagrams, and describe the elementary data flows and processes in terms of data structures and procedural logic (Structured English and decision tables), respectively? Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley 2 Copyright Irwin/McGraw-Hill 1998 Process Modeling An Introduction to System Modeling System Models System models play an important role in systems development. Systems analysts or users constantly deal with unstructured problems. One way to structure such problems is to draw models. A model is a representation of reality. Just as a picture is worth a thousand words, most system models are pictorial representations of reality. Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley 3 Copyright Irwin/McGraw-Hill 1998 Process Modeling An Introduction to System Modeling System Models Models can be built for existing systems as a way to better understand those systems, or for proposed systems as a way to document business requirements or technical designs. Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley Logical models show what a system ‘is’ or ‘does’. They are implementation-independent; that is, they depict the system independent of any technical implementation. As such, logical models illustrate the essence of the system. Popular synonyms include essential model, conceptual model, and business model. Physical models show not only what a system ‘is’ or ‘does’, but also how the system is physically and technically implemented. They are implementation-dependent because they reflect technology choices, and the limitations of those technology choices. Synonyms include implementation model and technical model 4 Copyright Irwin/McGraw-Hill 1998 Process Modeling An Introduction to System Modeling System Models Systems analysts have long recognized the value of separating business and technical concerns. They use logical system models to depict business requirements. They use physical system models to depict technical designs. Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley 5 Copyright Irwin/McGraw-Hill 1998 Process Modeling An Introduction to System Modeling System Models Systems analysis activities tend to focus on the logical system models for the following reasons: Logical models remove biases that are the result of the way the current system is implemented or the way that any one person thinks the system might be implemented. Logical models reduce the risk of missing business requirements because we are too preoccupied with technical details. Logical models allow us to communicate with end-users in non-technical or less technical languages. Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley 6 Copyright Irwin/McGraw-Hill 1998 Process Modeling An Introduction to System Modeling System Models What is Process Modeling? Process modeling is a technique for organizing and documenting the structure and flow of data through a system’s PROCESSES and/or the logic, policies, and procedures to be implemented by a system’s PROCESSES. Process modeling originated in classical software engineering methods. A systems analysis process model consists of data flow diagrams (DFDs). • 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. Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley 7 Copyright Irwin/McGraw-Hill 1998 Process Modeling INFORMATION SYSTEMS FRAMEWORK FOCUS ON SYSTEM DATA FOCUS ON SYSTEM PROCESSES FOCUS ON SYSTEM INTERFACES FOCUS ON SYSTEM GEOGRAPHY Business Functions System Context Survey Phase (establish scope and project plan) Accounts Receivable Database Marketing Cr edit SYSTEM OWNERS Advertising Custom er Sales (scope) Or der Or der Managem ent System Picking Or der Warehouse Study Phase Cr edit Voucher O rders Cancellations FAST Methodology Services Bank Decomposition Diagram (establish system improvement objectives) Context Diagram Business Processe rejected order Customers S Y S T E M A N A L Y S T S credit Check credit customer number SYSTEM USERS order (requirements) Validate customer order without valid customer order with valid products valid order Validate products Orders Definition Phase approved order prices Products approved order quantity in stock Release order picking ticket (establish and prioritize business system requirements) Data Flow Diagrams Reverse Engineering (optional) SYSTEM DESIGNERS (specification) SYSTEM BUILDERS (components) Database Technology Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley Interface Technology Software (and Hardware) Technology 8 Networking Telchnology Copyright Irwin/McGraw-Hill 1998 Process Modeling Monthly Account Statements New or Modified Monthly Statement Bank Monthly Statement Prior Monthly Statement Reconcile Account Balances Transaction Bill Creditor Payment Account Balance Current Balance Pay a Bill Account Transactions Bank Accounts Modified Balance Payment Modified Balance Withdraw Funds from an Account Deposit Account Transactions Withdraw or transfer Employer Pay Deposit Funds into an Account Bank Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley Other Income Source 9 Reimbursement Copyright Irwin/McGraw-Hill 1998 Process Modeling An Introduction to System Modeling System Models Data Flow Diagram There are only three symbols and one connection: • The rounded rectangles represent processes or work to be done. • The squares represent external agents – the boundary of the system. • The open-ended boxes represent data stores, sometimes called files or databases, and correspond to all instances of a single entity in a data model. • The arrows represent data flows, or inputs and outputs, to and from the processes. Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley 10 Copyright Irwin/McGraw-Hill 1998 Process Modeling An Introduction to System Modeling System Models Data Flow Diagrams Versus Flowcharts Processes on a data flow diagram can operate in parallel. Processes on flowcharts can only execute one at a time. Data flow diagrams show the flow of data through the system. • Their arrows represent paths down which data can flow. Looping and branching are not typically shown. Flowcharts show the sequence of processes or operations in an algorithm or program. • Their arrows represent pointers to the next process or operation. This may include looping and branching. Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley Data flow diagrams can show processes that have dramatically different timing and flowcharts don’t. 11 Copyright Irwin/McGraw-Hill 1998 Process Modeling System Concepts for Process Modeling What is Systems Thinking? Systems thinking is the application of formal systems theory and concepts to systems problem solving. Systems theory and concepts help us understand the way systems are organized, and how they work. Techniques teach us how to apply the theory and concepts to build useful real-world systems. Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley 12 Copyright Irwin/McGraw-Hill 1998 Process Modeling System Concepts for Process Modeling Process Concepts A System is a Process 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. Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley 13 Copyright Irwin/McGraw-Hill 1998 Process Modeling input input input The System Process output output output Feeback and Control Loop The System's Environment (constantly changing) Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley 14 Copyright Irwin/McGraw-Hill 1998 Process Modeling System Concepts for Process Modeling Process Concepts Process name (the Gane & Sarson shape; used throughout this book) A System is a Process (continued) A rounded rectangle (the Gane and Sarson notation) is used represent a process. Other process modeling notations: • The Demarco/Yourdon notation uses a circle. • The SSADM/IDEF0 notation uses a rectangle. Process name (the DeMarco & Yourdon shape) What is a process? • A process is work performed on, or in response to, incoming data flows or conditions. A synonym is transform. Process name (the SSADM & IDEF0 shape) Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley 15 Copyright Irwin/McGraw-Hill 1998 Process Modeling System Concepts for Process Modeling Process Concepts Process Decomposition What do you do when a complex system is too difficult to fully understand when viewed as a whole (meaning, as a single process)? • In systems analysis 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 ‘level’ of abstraction reveals more or less detail (as desired) about the overall system or a subset of that system. Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley 16 Copyright Irwin/McGraw-Hill 1998 Process Modeling 0 The System 1 A Function of the System 1.1 Activity of the Function Task 1.1.1 1.2 Another Activity of the Function Task 1.1.2 Task 1.2.1 Task 1.2.2 Task 1.1.3 2 Another Function of the System 2.1 Activity of this Function Task 2.1.1 2.2 Another Activity of this Function Task 2.1.2 Task 2.2.1 Task 2.1.3 Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley Task 2.1.4 Task 2.2.2 Task 2.2.3 17 Copyright Irwin/McGraw-Hill 1998 Process Modeling System Concepts for Process Modeling Process Concepts Process Decomposition (continued) A decomposition diagram is a popular tool to illustrate system decomposition. • A decomposition diagram, also called a hierarchy chart, shows the top down functional decomposition and structure of a system. Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley A decomposition diagram is essentially a planning tool for more detailed processes models, namely, data flow diagrams. 18 Copyright Irwin/McGraw-Hill 1998 Process Modeling System Concepts for Process Modeling Process Concepts Process Decomposition (continued) 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. Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley 19 Copyright Irwin/McGraw-Hill 1998 Process Modeling 0 The System 2 Another Function 1 A Function 1.1 Activity of the Function 2.1 Acivity of this Function 1.2 Another Activity of the 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 Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley 20 Copyright Irwin/McGraw-Hill 1998 Process Modeling System Concepts for Process Modeling Process Concepts Logical Processes and Conventions Logical processes are work or actions that must be performed no matter how you implement the system. Each logical process is (or will be) implemented as one or more physical processes that may include: • work performed by people • work performed by robots or machines • work performed by computer software Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley Naming conventions for logical processes depend on where the process is in the decomposition diagram/data flow diagram and type of process depicted. 21 Copyright Irwin/McGraw-Hill 1998 Process Modeling System Concepts for Process Modeling Process Concepts Logical Processes and Conventions (continued) There are three types of logical processes: functions, events, and elementary processes. • 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. Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley 22 Copyright Irwin/McGraw-Hill 1998 Process Modeling System Concepts for Process Modeling Process Concepts Logical Processes and Conventions (continued) There are three types of logical processes: functions, events, and elementary processes. Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley • 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. 23 Copyright Irwin/McGraw-Hill 1998 Process Modeling System Concepts for Process Modeling Process Concepts Logical Processes and Conventions (continued) There are three types of logical processes: functions, events, and elementary processes. • A 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). Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley 24 Copyright Irwin/McGraw-Hill 1998 Process Modeling System Concepts for Process Modeling Process Concepts Logical Processes and Conventions (continued) Logical process models omit any processes that do nothing more than move or route data, thus leaving the data unchanged. You should be left only with logical processes that: Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley • Perform computations (e.g., calculate grade point average) • Make decisions (determine availability of ordered products) • Sort, filter or otherwise summarize data (identify overdue invoices) • Organize data into useful information (e.g., generate a report or answer a question) • Trigger other processes (e.g., turn on the furnace or instruct a robot) • Use stored data (create, read, update or delete a record) 25 Copyright Irwin/McGraw-Hill 1998 Process Modeling System Concepts for Process Modeling Process Concepts Logical Processes and Conventions (continued) Be careful to avoid three common mechanical errors with processes (as illustrated in the following slide): • A black hole is when a process has inputs but no outputs. Data enters the process and then disappears. • A miracle is when a process has outputs but no input. • A gray hole is when the inputs of a process are insufficient to produce the output. (most common) Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley 26 Copyright Irwin/McGraw-Hill 1998 Process Modeling 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 Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley 3.1.3 Freeze member account number 27 Frozen account notification Accounts Receivable Department Copyright Irwin/McGraw-Hill 1998 Process Modeling System Concepts for Process Modeling Process Concepts Process Logic Decomposition diagrams and data flow diagrams will prove very effective tools for identifying processes, but they are not good at showing the logic inside those processes. We need to specify detailed instructions for the elementary processes on a data flow diagram. To address this problem, we require a tool that marries some of the advantages of natural English with the rigor of programming logic tools. • Structured English is a language and syntax, based upon the relative strengths of structured programming and natural English, for specifying the underlying logic of elementary processes on process models (such as data flow diagrams). Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley 28 Copyright Irwin/McGraw-Hill 1998 Process Modeling * Many of us do not write well, and we also tend not to question our writing abilities. * Many of us are too educated! It’s often difficult for a highly educated person to communicate with an audience that may not have had the same educational opportunities. For example, the average college graduate (including most analysts) has a working vocabulary of 10,000 to 20,000 words; on the other hand, the average non-college graduate has a working vocabulary of around 5,000 words. * Some of us write everything like it was a program. If business procedures required such precision, we’d write everything in a programming language. * Too often, we allow the jargon and acronyms of computing to dominate our language. * English statements frequently have an excessive or confusing scope. How would you carry out this procedure: “If customers walk in the door and they do not want to withdraw money from their account or deposit money to their account or make a loan payment, send them to the trust department.” Does this mean that the only time you should not send the customer to the trust department is when he or she wishes to do all three of the transactions? Or does it mean that if a customer does not wish to perform at least one of the three transactions, that customer should not be sent to the trust department? * We overuse compound sentences Consider the following procedure: “Remove the screws that hold the outlet cover to the wall. Remove the outlet cover. Disconnect each wire from the plug, but first make sure the power to the outlet has been turned off.” An unwary person might try to disconnect the wires prior to turning off the power! Too many words have multiple definitions. * Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley * Too many statements use imprecise adjectives. For example, an loan officer asks a teacher to certify that a student is in good academic standing. What is good? * Conditional instructions can be imprecise. For example, if we state that “all applicants under the age of 19 must secure parental permission,” do we mean less than 19, or less than or equal to 19? * Compound conditions tend to show up in natural English. For example, if credit approval is a function of several conditions: credit rating, credit ceiling, annual dollar sales for the customer in question, then different combinations of these factors can result in different decisions. As the number of conditions and possible combinations increases, the procedure becomes more and more tedious and difficult to write. 29 Copyright Irwin/McGraw-Hill 1998 Process Modeling 1. For each CUSTOMER NUMBER in the data store CUSTOMERS: a. For each LOAN in the data store LOANS that matches the above CUSTOMER NUMBER: 1) Keep a running total of NUMBER OF LOANS for the CUSTOMER NUMBER. 2) Keep a running total of ORIGINAL LOAN PRINCIPLE for the CUSTOMER NUMBER. 3) Keep a running total of CURRENT LOAN BALANCE for the CUSTOMER NUMBER. 4) Keep a running total of AMOUNTS PAST DUE for the CUSTOMER NUMBER. b. If the TOTAL AMOUNTS PAST DUE for the customer number is greater than 100.00 then 1) Write the customer number and data in the data flow LOANS AT RISK. Else 1) Exclude the customer number and data from the data flow LOANS AT RISK. Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley 30 Copyright Irwin/McGraw-Hill 1998 Process Modeling System Concepts for Process Modeling Process Concepts Process Logic (continued) The overall structure of a Structured English specification is built using the fundamental constructs that have governed structured programming for nearly three decades. These constructs are: • A sequence of simple, declarative sentences – one after another. • A conditional or decision structure indicate that a process must perform different actions under well specified conditions. • A iteration or repetition structure specifies that a set of actions should be repeated based on some stated condition. There are two variations on this construct. Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley 31 Copyright Irwin/McGraw-Hill 1998 Process Modeling System Concepts for Process Modeling Process Concepts Process Logic (continued) The sequence construct: • Compound sentences are discouraged because they frequently create ambiguity. • Each sentence uses strong, action verbs such as GET, FIND, RECORD, CREATE, READ, UPDATE, DELETE, CALCULATE, WRITE, SORT, MERGE, or anything else recognizable or understandable to the users. • A formula may be included as part of a sentence (e.g., CALCULATE GROSS PAY = HOURS WORKED X HOURLY WAGE.) Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley 32 Copyright Irwin/McGraw-Hill 1998 Process Modeling System Concepts for Process Modeling Process Concepts Process Logic (continued) The conditional or decision structure construct: • There are two variations (and a departure) on this construct. – The IF-THEN-ELSE construct specifies that one set of actions should be taken if a specified condition is ‘true’, but a different set of actions should be specified if the specified condition is false. – The CASE construct is used when there are more than two sets of actions to choose from. – For logic that based on multiple conditions and combinations of conditions, decision tables are a far more elegant logic modeling tool. Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley 33 Copyright Irwin/McGraw-Hill 1998 Process Modeling System Concepts for Process Modeling Process Concepts Process Logic (continued) The iteration or repetition construct: • There are two variations on this construct. – The DO-WHILE construct indicates that certain actions (usually expressed as one or more sequential and/or conditional statements) are repeated zero, one, or more times based on the value of the stated condition. – The REPEAT-UNTIL constructs indicates that certain actions (again, usually expressed as one or more sequential and/or conditional statements) are repeated one or more times based on the value of the stated condition. Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley 34 Copyright Irwin/McGraw-Hill 1998 Process Modeling System Concepts for Process Modeling Process Concepts Process Logic (continued) Structured English places the following restrictions on process logic: • Only strong, imperative verbs may be used. • Only names that have been defined in the project repository may be used. • State formulas clearly using appropriate mathematical notations. • Undefined adjectives and adverbs are not permitted unless clearly defined in the project repository as legal values for data attributes. • Blocking and indentation are used to set off the beginning and ending of constructs and to enhance readability. • When in doubt, user readability should always take precedence over programmer preferences. Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley 35 Copyright Irwin/McGraw-Hill 1998 Process Modeling Construct Sample Template Sequence of actions – unconditionally perform a sequence of actions. [ Action 1 ] [ Action 2 ] … [ Action n ] Simple condition actions – if the specified condition is true, then perform the first set of actions. Otherwise, perform the second set of actions. If [ truth condition ] then [ sequence of actions or other conditional actions ] else [ sequence of actions or other conditional actions ] End If Use this construct if the condition has only two possible values. (Note: The second set of conditions is optional.) Complex condition actions – test the value of the condition and perform the appropriate set of actions. Use this construct if the condition has more than two values. Multiple conditions – test the value of multiple conditions to determine the correct set of actions. Use a decision table instead of nested if-then-else Structured English constructs to simplify the presentation of complex logic that involves A decision table is a tabular presentation of complex logic in which rows represent conditions and possible actions, and columns indicate which combinations of conditions result in specific actions. Do the following based on [ condition ]: Case 1: If [ condition] = [value] then [ sequence of actions or other conditional actions ] Case 2: If [ condition] = [value] then [ sequence of actions or other conditional actions ] … Case n: If [ condition] = [value] then [ sequence of actions or other conditional actions ] End Case DECISION TABLE [ Condition ] [ Condition ] [ Condition ] [ Sequence of actions or conditional actions ] [ Sequence of actions or conditional actions ] [ Sequence of actions or conditional actions ] Rule value value value Rule value value value Rule value value value X X Rule value value value X X Although it isn’t a Structured English construct, a decision table can be named, and referenced within a Structured English procedure. One-to-many iteration – Repeat the set of actions until the condition is false. Use this construct if the set of actions must be performed at least once, regardless of the condition’s initial value. Zero-to-many iteration – Repeat the set of actions until the condition is false. Use this construct if the set of actions are conditional based on the condition’s initial value. Repeat the following until [truth condition]: [ sequence of actions or conditional actions ] End Repeat Do While [truth condition]: [ sequence of actions or conditional actions ] End Do - OR For [truth condition]: [ sequence of actions or conditional actions ] End For Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley 36 Copyright Irwin/McGraw-Hill 1998 Process Modeling System Concepts for Process Modeling Process Concepts Process Logic (continued) Many processes are governed by complex combinations of conditions that are not easily expressed with Structured English. This is most commonly encountered in business policies. • A policy is a set of rules that govern some process in the business. In most firms, policies are the basis for decision making. Policies consist of rules that can often be translated into computer programs if the users and systems analysts can accurately convey those rules to the computer programmer. Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley 37 Copyright Irwin/McGraw-Hill 1998 Process Modeling System Concepts for Process Modeling Process Concepts Process Logic (continued) One way to formalize the specification of policies and other complex combinations of conditions is by using a decision table. • A decision table is a tabular form of presentation that specifies a set of conditions and their corresponding actions. A decision table consists of three components: • Condition stubs (the upper rows) describe the conditions or factors that will affect the decision or policy. • Action stubs (the lower rows) describe, in the form of statements, the possible policy actions or decisions. • Rules (the columns) describe which actions are to be taken under a specific combination of conditions. Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley 38 Copyright Irwin/McGraw-Hill 1998 Process Modeling A SIMPLE POLICY STATEMENT CHECK CASHING IDENTIFICATION CARD A customer with check cashing privileges is entitled to cash personal checks of up to $75.00 and payroll checks of from companies pre-approved by LMART. This card is issued in accordance with the terms and conditions of the application and is subject to change without notice. This card is the property of LMART and shall be forfeited upon request of LMART. SIGNATURE EXPIRES May 31, 1998 THE EQUIVALENT POLICY DECISION TABLE Conditions and Actions C1: Type of check C2: Check amount less than or equal to $75.00 Rule 1 personal C3: Company accredited by LMART doesn’t matter X A1: Cash the check A2: Don’t cash the check Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley 39 yes Rule 2 payroll doesn’t matter yes Rule 3 personal no Rule 5 payroll doesn’t matter doesn’t matter no X X X Copyright Irwin/McGraw-Hill 1998 Process Modeling System Concepts for Process Modeling Data Flows Data in Motion 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. Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley 40 Copyright Irwin/McGraw-Hill 1998 Process Modeling Correct use of the packet concept Telephone Service Provider Itemized calls and invoice Incorrect use of the packet concept Itemized calls Invoice Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley 41 Pay phone bill Copyright Irwin/McGraw-Hill 1998 Process Modeling System Concepts for Process Modeling Data Flows Data in Motion (continued) A data flow is composed of either actual data attributes (also called data structures), or other data flows. • A composite data flow is a data flow that consists of other data flows. They are used to combine similar data flows on generallevel data flow diagrams to make those diagrams easier to read. Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley 42 Copyright Irwin/McGraw-Hill 1998 Process Modeling Process order Order Customer Accepted Order ... (a) General-Level DFD Standing Order Recurring Order Customer Order Process standard order Accepted Standing Order ... Process recurring order Accepted Recurring Order Process rush order Accepted Rush Order ... Process employee order Accepted Employee Order ... ... y Rush Order Employee Order (b) More Detailed DFD Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley 43 Copyright Irwin/McGraw-Hill 1998 Process Modeling System Concepts for Process Modeling Data Flows Data in Motion (continued) Some data flow diagramming methods also recognize non-data flows called control flows. • A control flow represents a condition or non-data event that triggers a process. Think of it as a condition to be monitored while the system works. When the system realizes that the condition meets some predetermined state, the process to which it is input is started. • The control flow is depicted as a dashed-line with arrow. Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley 44 Copyright Irwin/McGraw-Hill 1998 Process Modeling System Concepts for Process Modeling Data Flows Logical Data Flows and Conventions In the Analysis phase, we are only interested in logical data flows, that the flow is needed (not how we will implement that flow). Data Flow Names: • Should discourage premature commitment to any possible implementation. • 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. Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley 45 Copyright Irwin/McGraw-Hill 1998 Process Modeling Order Cancelled Order Process Order Cencel Order 2 2 New Order Order to be Deleted Orders New Order Address Change Order Address 1 2 Summarize Unfilled Orders Summary of Orders Change of Address Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley Unfilled Order l 46 Copyright Irwin/McGraw-Hill 1998 Process Modeling System Concepts for Process Modeling Data Flows Logical Data Flows and Conventions (continued) 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. Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley 47 Copyright Irwin/McGraw-Hill 1998 Process Modeling Corrected data flows Illegal data flows B1 B1 DS1 DS1 Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley B2 DS1 B1 DS2 48 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 Copyright Irwin/McGraw-Hill 1998 Process Modeling System Concepts for Process Modeling Data Flows Data Flow Conservation Data conservation, sometimes called “starving the processes”, requires that a data flow only contain that data which is truly needed by the receiving process. By ensuring that processes only receive as much data as they really need, we simplify the interface between those processes. In order to practice data conservation, we must precisely define the data composition of each (non-composite) data flow. • Data composition is expressed in the form of data structures. Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley 49 Copyright Irwin/McGraw-Hill 1998 Process Modeling System Concepts for Process Modeling Data Flows Data Structures A data flow contains data items called attributes. • A data attribute is the smallest piece of data that has meaning to the end users and the business. • The data attributes that comprise a data flow are organized into data structures. – Data structures are specific arrangements of data attributes that define the organization of a single instance of a data flow. Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley Data flows can be described in terms of the following types of data structures: • A sequence or group of data attributes that occur one after another. • The selection of one or more attributes from a set of attributes. • The repetition of one or more attributes. 50 Copyright Irwin/McGraw-Hill 1998 Process Modeling DATA STRUCTURE ORDER = ORDER NUMBER + + [ PERSONAL CUSTOMER NUMBER, ORDER DATE CORPORATE ACCOUNT NUMBER ] + SHIPPING ADDRESS = ADDRESS + ( BILLING ADDRESS = ADDRESS ) + 1 { PRODUCT NUMBER + PRODUCT DESCRIPTION + QUANTITY ORDERED + PRODUCT PRICE + PRODUCT PRICE SOURCE + EXTENDED PRICE } N + SUM OF EXTENDED PRICES + PREPAID AMOUNT + ( CREDIT CARD NUMBER + EXPIRATION DATE ) ( QUOTE NUMBER ) ADDRESS = ( POST OFFICE BOX NUMBER ) + STREET ADDRESS + CITY + [ STATE, MUNICIPALITY ] + ( COUNTRY ) + POSTAL CODE ENGLISH INTERPRETATION An instance of ORDER consists of: ORDER NUMBER and ORDER DATE and Either PERSONAL CUSTOMER NUMBER or CORPORATE ACCOUNT NUMBER and SHIPPING ADDRESS (which is equivalent to ADDRESS) and optionally: BILLING ADDRESS (which is eqivalent to ADDRESS) and one or more instances of: PRODUCT NUMBER and PRODUCT DESCRIPTION and QUANTITY ORDERED and PRODUCT PRICE and PRODUCT PRICE SOURCE and EXTENDED PRICE and SUM OF EXTENDED PRICES and PREPAID AMOUNT and optionally: both CREDIT CARD NUMBER and EXPIRATION DATE and optionally: QUOTE NUMBER An instance of ADDRESS consists of: optionally: POST OFFICE BOX NUMBER and STREET ADDRESS and CITY and Either STATE or MUNICIPALITY and optionally: COUNTRY and POSTAL CODE Figure 6.15 Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley 51 Copyright Irwin/McGraw-Hill 1998 Process Modeling Data Structure Sequence of Attributes - The sequence data structure indicates one or more attributes that may (or must) be included in a data flow. Format by Example (relevant portion is boldfaced) WAGE AND TAX STATEMENT = TAXPAYER IDENTIFICATION NUMBER + TAXPAPYER NAME + TAXPAPYER ADDRESS + WAGES, TIPS, AND COMPENSATION + FEDERAL TAX WITHHELD Selection of Attributes - The selection data structure allows you to show situations where different sets of attributes describe different instances of the data flow. ORDER = Repetition of Attributes - The repetition data structure is used to set off a data attribute or group of data attributes that may (or must) repeat themselves a specified number of times for a single instance of the data flow. CLAIM = The minimum number of repetitions is usually zero or one. The maximum number of repetitions may be specified as “n” meaning “many” where the actual number of instances varies for each instance of the data flow. Optional Attributes – The optional notation indicates that an attribute, or group of attributes in a sequence or selection data structure may not be included all all instances of a data flow. Note: For the repetition data structure, a minimum of ‘zero’ is the same as making the entire repeating grouy ‘optional’. Reusable Attributes – For groups of attributes that are contained in many data flows, it is desirable to create a separate data structure that can be resued in other data structures. + … ( PERSONAL CUSTOMER NUMBER, CORPORATE ACCOUNT NUMBER ORDER DATE + )+ … POLICY NUMBER + POLICYHOLDER NAME + POLICYHOLDER ADDRESS + 0 { DEPENDENT NAME + DEPENDENT’S RELATIONSHIP } N + 1 { EXPENSE DESCRIPTION + SERVICE PROVIDER + EXPENSE AMOUNT } N English Interpretation (relevant portion is boldfaced) An instance of WAGE AND TAX STATEMENT consists of: TAXPAYER IDENTIFICATION NUMBER and TAXPAYER NAME and TAXPAYER ADDRESS and WAGES, TIPS, AND COMPENSATION and FEDERAL TAX WITHHELD and … An instance of ORDER consists of: Either PERSONAL CUSTOMER NUMBER or CORPORATE ACCOUNT NUMBER; and ORDER DATE and … An instance of CLAIM consists of: POLICY NUMBER and POLICYHOLDER NAME and POLICYHOLDER ADDRESS and zero or more instances of: DEPENDENT NAME and DEPENDENT’S RELATIONSHIP and one or more instances of: EXPENSE DESCRIPTION and SERVICE PROVIDER and EXPENSE ACCOUNT CLAIM = POLICY NUMBER + POLICYHOLDER NAME + POLICYHOLDER ADDRESS + ( SPOUSE NAME + DATE OF BIRTH ) + … DATE = An instance of CLAIM consists of: POLICY NUMBER and POLICYHOLDER NAME and POLICYHOLDER ADDRESS and optionally, SPOUSE NAME and DATE OF BIRTH and … Then, the resuable structures can be included in other data flow structures as follows: ORDER = ORDER NUMBER … + DATE MONTH + DAY + YEAR INVOICE = INVOICE NUMBER … + DATE + DATE PAYMENT = CUSTOMER NUMBER … Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley 52 Copyright Irwin/McGraw-Hill 1998 Process Modeling System Concepts for Process Modeling Data Flows Domains An attribute is a piece of data. The values for each attribute are defined in terms of two properties: data type and domain. • The data type for an attribute defines what class of data can be stored in that attribute. • The domain of an attribute defines what values an attribute can legitimately take on. Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley 53 Copyright Irwin/McGraw-Hill 1998 Process Modeling System Concepts for Process Modeling Data Flows Divergent and Convergent Flows A diverging data flow is one which ‘splits’ into multiple data flows. • Diverging data flows indicate that all or parts of a single data flow are routed to different destinations. A converging data flow is the ‘merger’ of multiple data flows into a single data flow. • Converging data flows indicate that data flows from different sources can (must) come together as a single packet for subsequent processing. Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley 54 Copyright Irwin/McGraw-Hill 1998 Process Modeling data flow A data flow U 1 1 diverging data flow U+V+W converging data flow A+B+C data flow B data flow V data flow W data flow C data flow H data flow I data flow J 3 data flow R Process data flow S 3 data flow T data flow X data flow D converging data flow D or E or F data flow E diverging data flow X or Y or Z 2 2 data flow Z data flow F Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley data flow Y 55 Copyright Irwin/McGraw-Hill 1998 Process Modeling System Concepts for Process Modeling External Agents All information systems respond to events and conditions in the environment. The environment of an information system includes external agents that form the boundary of the system, and define places where the system interfaces with its environment. A external agent 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 entity. Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley 56 Copyright Irwin/McGraw-Hill 1998 Process Modeling System Concepts for Process Modeling External Agents 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. The Yourdon/Demarco equivalent is a rectangle 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. Gane & Sarson External Agent Shape Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley DeMarco/Yourdon External Agent Shape 57 Copyright Irwin/McGraw-Hill 1998 Process Modeling System Concepts for Process Modeling External Agents External agents should be named with descriptive, singular nouns. External agents represent fixed, physical systems; therefore, they can have very physical names or acronyms. To avoid crossing data flow lines on a DFD, it is permissible to duplicate external agents on DFDs. As a general rule, external agents should be located on the perimeters of the page, consistent with their definition as a system boundary. Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley 58 Copyright Irwin/McGraw-Hill 1998 Process Modeling System Concepts for Process Modeling 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 implementationoriented 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. Gane & Sarson Data Store Shape Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley 59 Copyright Irwin/McGraw-Hill 1998 Process Modeling System Concepts for Process Modeling Data Stores There should be one data store for each data entity on your entity relationship diagram. Data stores should be named as the plural of the corresponding data model entity Avoid physical terms such as file, database, file cabinet, file folder, and the like. It is permissible to duplicate data stores on a DFD to avoid crossing data flow lines. Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley 60 Copyright Irwin/McGraw-Hill 1998 Process Modeling The Process of Logical Process Modeling Strategic Systems Planning Many organizations select application development projects based on strategic information system plans. Strategic planning produces an information systems strategy plan. The information systems strategy plan defines an architecture for information systems and this architecture frequently includes an enterprise process model. An enterprise process model identifies only business areas and functions. An enterprise process model usually takes the form of a decomposition diagram and/or very high-level data flow diagram. A enterprise process model is stored in a corporate repository. Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley 61 Copyright Irwin/McGraw-Hill 1998 Process Modeling The Process of Logical Process Modeling Process Modeling for Business Process Redesign BPR projects analyze business processes and then redesign them to eliminate inefficiencies and bureaucracies prior to any (re)application of information technology. In order to redesign business processes, the existing processes must first be studied and documented using process models. Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley 62 Copyright Irwin/McGraw-Hill 1998 Process Modeling The Process of Logical Process Modeling Process Modeling during Systems Analysis In systems analysis, the logical process model for a system or application is an application process model. In the heyday of the original structured analysis methodologies, process modeling was also performed in the study phase of systems analysis. Analysts would build a physical process model of the current system, a logical model of the current system, and a logical model of the target system. While conceptually sound, this approach led to “analysis paralysis” - modeling overkill. Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley 63 Copyright Irwin/McGraw-Hill 1998 Process Modeling The Process of Logical Process Modeling Process Modeling during Systems Analysis Today, most modern structured analysis strategies focus exclusively on the logical model of the target system being developed. They are organized according to a strategy called event partitioning. Event partitioning factors a system into subsystems based on business events and responses to those events. Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley 64 Copyright Irwin/McGraw-Hill 1998 Process Modeling The Process of Logical Process Modeling Process Modeling during Systems Analysis The strategy for event-driven process modeling is as follows: Step 1: A system context diagram is constructed to establish initial project scope. Step 2: A functional decomposition diagram is drawn to partition the system into logical subsystems and/or functions. Step 3: An event-response list is compiled to identify and confirm the business events to which the system must provide a response. Step 4: One process, called an event handler is added to the decomposition diagram for each event. Step 5: An event diagram is constructed and validated for each event. Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley 65 Copyright Irwin/McGraw-Hill 1998 Process Modeling The Process of Logical Process Modeling Process Modeling during Systems Analysis The strategy for event-driven process modeling is as follows: (continued) Step 6: A system diagram(s) is constructed by merging the event diagrams. Step 7: A primitive diagram is constructed for each event process. • These data flow diagrams show all of the elementary processes, data stores, and data flows for single events. Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley 66 Copyright Irwin/McGraw-Hill 1998 Process Modeling Event-Response List event 1 event 2 event 3 1 The System event 4 response response response response response response response 3 ... The System 2 Function 1 4 5 Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley Event 1 Event 1 Event 2 Function 2 Event 3 Event 4 Event 5 Event 5 ... 67 ... ... Function n Event n-2 Event n-1 Event n Event n ... Copyright Irwin/McGraw-Hill 1998 Process Modeling Event 2 Event 1 Event n-2 Event 4 Event n 6 Event n-1 Event 5 Event 3 2.3 ... 2.1 ... 2.4 7 2.2 Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley 68 Copyright Irwin/McGraw-Hill 1998 Process Modeling The Process of Logical Process Modeling Looking Ahead to Systems Configuration and Design The logical process model from systems analysis describes business processing requirements of the system, not technical solutions. The purpose of the configuration phase is to determine the best way to implement those requirements with technology. During system design, the logical process model will be transformed into a physical process model (called an application schema) for the chosen technical architecture. This model will reflect the technical capabilities and limitations of the chosen technology. Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley 69 Copyright Irwin/McGraw-Hill 1998 Process Modeling The Process of Logical Process Modeling Fact Finding and Information Gathering for Process Modeling Process models cannot be constructed without appropriate facts and information as supplied by the user community. These facts can be collected by: • • • • • Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley sampling of existing forms and files research of similar systems surveys of users and management interviews of users and management JAD 70 Copyright Irwin/McGraw-Hill 1998 Process Modeling The Process of Logical Process Modeling Computer-Aided Systems Engineering (CASE) for Process Modeling Process models are stored in the repository. CASE technology provides the repository for storing the process model and its detailed descriptions. Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley 71 Copyright Irwin/McGraw-Hill 1998 Process Modeling How to Construct Process Models The Context Diagram Before we construct the actual process model, we need to establish initial project scope. A project’s scope defines what aspect of the business a system or application is supposed to support. A project’s scope also defines how the system or application being modeled must interact with other systems and the business as a whole. A project’s scope is documented with a context diagram. • A context diagram defines the scope and boundary for the system and project. Because the scope of any project is always subject to change; the context diagram is also subject to constant change. A synonym is environmental model. Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley 72 Copyright Irwin/McGraw-Hill 1998 Process Modeling How to Construct Process Models The Context Diagram A strategy follows for determining the system’s boundary and scope: Step 1: Think of the system as a ‘container’ in order to distinguish the inside from the outside. • Ignore the inner workings of the container . Step 2: Ask your end-users what business events or transactions a system must respond to. • These are the net inputs to the system. • For each net input, determine its source. • Sources will become external agents on the context diagram. Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley 73 Copyright Irwin/McGraw-Hill 1998 Process Modeling How to Construct Process Models The Context Diagram A strategy follows for determining the system’s boundary and scope: (continued) Step 3: Ask your end-users what responses must be produced by the system. • These are the net outputs to the system. • For each net output, determine its destination. • Destinations may be external agents. Step 4: Identify any external data stores. • Many systems require access to the files or databases of other systems. Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley Step 5: Draw your context diagram from all of the preceding information. 74 Copyright Irwin/McGraw-Hill 1998 Process Modeling How to Construct Process Models The Context Diagram The context diagram contains one and only one process. External agents are drawn around the perimeter. External data stores are drawn around the perimeter. Data flows define the interactions of your system with the boundaries and with the external data stores. Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley 75 Copyright Irwin/McGraw-Hill 1998 Process Modeling D Club Member Club Promotion Other Order New Member Subscription Warehouse Member Credit Status Member Order Response Potential Member Accounts Receiv able Data Base P Order to be Filled Member Serv ices System New Monthly Promotion Subscription Program Subscription Renew al Marketing Department Sales and Promotions Reports Past Member Membership Reports Member Serv ices Member Reports Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley 76 Copyright Irwin/McGraw-Hill 1998 Process Modeling How to Construct Process Models The Functional Decomposition Diagram A decomposition diagram shows the top-down functional decomposition or structure of a system. A decomposition diagram provides the beginnings of an outline for drawing data flow diagrams. The following is an item-by-item discussion of the decomposition diagram. Item 1: The root process corresponds to the entire system. Item 2: The system is initially factored into subsystems and/or functions. Item 3: Factor the subsystems into the operational and reporting aspects. Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley 77 Copyright Irwin/McGraw-Hill 1998 Process Modeling M e m b e r S e rv ic e s S y st e m M e m b e rsh ip S u b s y s te m Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley O rd e rs S u b s y s te m P ro mo t io n s S u b s y s te m P ro c e s s M e m b e rsh ip T ra n s a c t io n s P ro c e s s P ro mo t io n T ra n s a c t io n s P ro c e s s O rd e r T ra n s a c t io n s G e n e ra t e M e m b e rsh ip R e p o rts G e n e ra t e P ro mo t io n R e p o rts G e n e ra t e O rd e r R e p o rts 78 Copyright Irwin/McGraw-Hill 1998 Process Modeling How to Construct Process Models The Event-Response List The purpose of this step is to determine what business events the system must respond to, and what responses are appropriate. Some of the inputs on the context diagram are associated with events. Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley 79 Copyright Irwin/McGraw-Hill 1998 Process Modeling How to Construct Process Models The Event-Response List There are three types of events. External events are so named because they are initiated by external agents. • External events are illustrated as input data flows. Temporal events trigger processes on the basis of time, or something that merely happens. • Temporal events are illustrated as input control flows. State events trigger processes based on a system’s change from one state or condition to another. • State events are illustrated as an input control flows. Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley 80 Copyright Irwin/McGraw-Hill 1998 Process Modeling How to Construct Process Models The Event-Response List Each event should be named. The name should reveal the system nature of the event – that is, provide some insight as to at least one appropriate response. The following guidelines for external and temporal events: External event - External agent name + reason for the data flow. • Example: CUSTOMER REQUESTS ACCOUNT BALANCE. Temporal event - Time to + action that must be taken. • Example: TIME TO BILL CUSTOMER ACCOUNTS. Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley 81 Copyright Irwin/McGraw-Hill 1998 Process Modeling EVENT LIST Event Description Marketing department establishes a new membership plan and offer. Marketing department terminates a membership offer. Trigger (Inputs) Responses (Outputs) SUBSCRIPTION PROGRAM SUBSCRIPTION PLAN CONFIRMATION CREATE AGREEMENT SUBSCRIPTION PROGRAM TERMINATION SUBSCRIPTION PLAN TERMINATION NOTICE DELETE AGREEMENT UPDATE MEMBERS Potential member responds to a subscription offer. NEW MEMBER SUBSCRIPTION SUBSCRIPTION CONFIRMATION SUBSCRIPTION REJECTION CREATE MEMBER Potential member is referred to membership by a current member. REFERAL SUBSCRIPTION REFERAL BONUS ORDER SUBSCRIPTION CONFIRMATION SUBSCRIPTION REJECTION CREATE MEMBER Potential member exercises 10 day cancellation option. Club member changes name or address. Time to cancel those inactive members. SUBSCRIPTION CANCELLATION SUBSCRIPTION CANCELLATION NOTICE DELETE MEMBER MEMBER CHANGE OF NAME OR ADDRESS UPDATE MEMBER INACTIVITY CHECK CANCELLED MEMBERS REPORT UPDATE MEMBER Marketing department establishes a new monthly or seasonal promotion. Member responds to dated promotional order. MONTHLY PROMOTION SEASONAL PROMOTION DATED ORDER CREATE ORDER MEMBER ORDER RESPONSE ORDER TO BE FILLED CREDIT PROBLEM NOTIFICATION UPDATE MEMBER UPDATE ORDER UPDATE PRODUCT Time to automatically fill order for which member has not replied to dated promotion. DATED ORDER DEADLINE ORDER TO BE FILLED DELETE ORDER CREATE ORDER UPDATE ORDER UPDATE MEMBER UPDATE PRODUCT Time to produce promotion analyses Time to analyze sales. END OF PROMOTION PROMOTION ANALYSIS REPORT END OF MONTH END OF QUARTER END OF FISCAL YEAR SALES ANALYSIS REPORT Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley 82 Copyright Irwin/McGraw-Hill 1998 Process Modeling How to Construct Process Models The Event-Decomposition Diagram The purpose of this step is to further partition our functions in the decomposition diagram. Simply add event handling processes (one per event) to the decomposition. If the entire decomposition diagram will not fit on a single page, add separate pages for subsystems or functions. The root process on a subsequent page should be duplicated from an earlier page to provide a cross reference. Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley 83 Copyright Irwin/McGraw-Hill 1998 Process Modeling M e m b e r S e rv ic e s S ys te m P ro m o t io n s S u b sy ste m M e m b e rs h ip S u b sy ste m P ro c e s s M e m b e rs h ip T ra n s a c t io n s G e n e ra t e M e m b e rs h ip R e p o rt s P ro c e s s P ro m o t io n T ra n s a c t io n s G e n e ra t e P ro m o t io n R e p o rt s Page 2 G e n e ra t e I n a c t iv e M ember R e p o rt P ro c e s s New M ember S u b s c rip t io n Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley P ro c e s s R e f e rra l S u b s c rip t io n P ro c e s s S u b s c rip t io n Canc el P ro c e s s O rd e r T ra n s a c t io n s Page 2 G e n e ra t e A g re e m t C o m p lia n c e Rpt G e n e ra t e M ember A c t iv it y R e p o rt O r d e rs S u b sy ste m P ro c e s s N a me / A d d re s s Change G e n e ra t e M e m b e rs h ip L is t Change M ember A g re e m e n t 84 Page 3 G e n e ra t e O rd e r R e p o rt s Page 3 R e sp o n d t o M ember I n q u iry M ove M e m b e r to a N e w C lu b Canc el I n a c t iv e M e m b e rs P ro c e s s M ember C a n c e lla t io n Copyright Irwin/McGraw-Hill 1998 Process Modeling How to Construct Process Models The Event Diagram Using the decomposition diagram as an outline, one event diagram can be constructed for each event process. An event diagram is a context diagram for a single event. It shows the inputs, outputs, and data store interactions for the event. Most event diagrams contain a single process – the same process that was named to handle the event on the decomposition diagram. Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley 85 Copyright Irwin/McGraw-Hill 1998 Process Modeling How to Construct Process Models The Event Diagram For each event, illustrate the following: The input(s) and its source(s). • Sources are depicted as external agents. • The data structure for the input should be recorded in the repository. The outputs and their destinations. • Destinations are depicted as external agents. • The data structure for the output should be recorded in the repository. Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley 86 Copyright Irwin/McGraw-Hill 1998 Process Modeling How to Construct Process Models The Event Diagram For each event, illustrate the following: (continued) Any data stores from which records must be ‘read’ should be added to the event diagram. • Data flows should be added and named to reflect what data is read by the process. Any data stores in which records must be ‘created’, ‘deleted’, or ‘updated’ should be included in the event diagram. • Data flows to the data stores should be named to reflect the nature of the update. Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley 87 Copyright Irwin/McGraw-Hill 1998 Process Modeling E v e nt D ia g ra m E v e nt: M e m b e r c ha ng e s na m e o r a d d re s s P Member N ame/ Address Change Confirm Proc ess Change of Address U pdate to Name/ Address D Members Change of Address Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley 88 Copyright Irwin/McGraw-Hill 1998 Process Modeling Event Diagram Event: Member responds to promotional order. Original Dated Order D D Orders Accounts Receivable DB Update to Order Status Update: Order Changes Credit Rating and Limits Member Member Order Response Backorder P Process Member Order Response Warehouse Picking Ticket Update to Membership Credits Product Availability D Memberships D Members Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley Update to Agreement Stats Member Address 89 D Products D Agreements Copyright Irwin/McGraw-Hill 1998 Process Modeling Event Diagram Event: Deadline for member to reposnd to dated order has passed. Original Dated Order D Orders D Accounts Receivable DB Update to Order Status Update: Order Changes Credit Rating and Limits P Deadline to Fill Dated Order Automatically Fill Dated Order Warehouse Picking Ticket Update to Membership Credits D Memberships D Members Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley Member Address 90 Product Availability D Products Update to Agreement Stats D Agreements Copyright Irwin/McGraw-Hill 1998 Process Modeling How to Construct Process Models The Event Diagram Each event process should be described to the CASE repository with the following properties: Event sentence – for business perspective. Throughput requirements – the volume of inputs per some period of time. Response time requirements – how fast the typical event must be handled. Security, audit, and control requirements. Archival requirements (from a business perspective). All of the above properties can be added to the descriptions associated with the appropriate processes, data flows, and data stores on the model. Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley 91 Copyright Irwin/McGraw-Hill 1998 Process Modeling How to Construct Process Models The System Diagram The system diagram is said to be ‘exploded’ from the single process that was created on the context diagram. The system diagram(s) shows either: all of the events for the system on a single diagram all of the events for a single subsystem on a single diagram Depending on the size of the system, a single diagram may be too large. Synchronization is the balancing of data flow diagrams at different levels of detail to preserve consistency and completeness of the models. Synchronization is a quality assurance technique. Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley 92 Copyright Irwin/McGraw-Hill 1998 Process Modeling Figure 6-27 We are sorry but the diagram is currently not available. Please refer to your textbook, pages 250 and 251. Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley 93 Copyright Irwin/McGraw-Hill 1998 Process Modeling How to Construct Process Models The System Diagram The event diagram processes are merged into the system diagrams. It is very important that each of the data flows, data stores, and external agents that were illustrated on the event diagrams be represented on the system diagrams. This is called balancing. Most CASE tools include facilities to check balancing for errors. Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley 94 Copyright Irwin/McGraw-Hill 1998 Process Modeling How to Construct Process Models The System Diagram When creating a system diagram, do not consolidate data stores – otherwise, you will create balancing errors between the system and event diagrams. You may elect to consolidate some data flows (from event diagrams) into composite data flows on the system diagram. If you do, be sure to use junctions on the event diagrams to demonstrate how the elementary data flows are derived from the composite data flows. Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley 95 Copyright Irwin/McGraw-Hill 1998 Process Modeling How to Construct Process Models Primitive Diagrams Each event process on the system diagram(s) must be exploded into either: a procedural description a primitive data flow diagram For event processes that are not very complex – in other words, they are both an event and an elementary process, they should be described in one page (usually much less) of Structured English. Event processes with more complex event diagrams should be exploded into a more detailed, primitive data flow diagram. Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley 96 Copyright Irwin/McGraw-Hill 1998 Process Modeling How to Construct Process Models Primitive Diagrams A primitive DFD shows detailed processing requirements for the event. A primitive DFD shows several elementary processes for the event process. Each elementary process is cohesive – that is, it does only one thing. Each of the elementary processes can now be described with procedural Structured English specifications, and where appropriate, decision tables. Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley 97 Copyright Irwin/McGraw-Hill 1998 Process Modeling Backorder Invalid Product ID Mem ber Demographics P Invalid Mem ber ID Validate Mem ber Updated Mem ber Dem ographics D Mem bers Original Dated Order D Orders Mem ber ID and Address Update: Order Changes Update Order Product P D Ordered Products Check Ordered Product Validity Ordered Product ID Product ID Mem ber Mem ber Order Response Valid Product Product Availability D Products P Check Product Availability Inventory Com m itm ent Update Ordered Pr oduct Status Ordered Product Quantity Available Pr oduct and Quantity P Calculate Extended Cost Product Price Ordered Product Extended Price P P Paym ent Method and Am ount Check Mem ber Credit Total Order Price Calculate Order Total Cost Pre-Paym ent Request Credit Rating and Lim its Fillable Ordered Pr oduct Fillable Order D Accounts Receivable DB Update to Or der Status P Warehouse Picking Ticket P Release Or der to Warehouse Mem ber Address D Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley D Orders Mem bers Elem entar y Processes for Process Mem ber Order Response R. Martinez as of March 6, 1997 Credit Mem ber Purchase Update to Mem ber ship Credits D Mem berships D Agreem ents Updated Activity Record Update to Agreem ent Stats 98 Copyright Irwin/McGraw-Hill 1998 Process Modeling The Next Generation The Next Generation Process modeling skills remain valuable for two reasons: The current interest of business process redesign requires process models. Process models are included in many object modeling strategies such as the Object Modeling Technique (OMT). Business process design emphasizes physical process modeling. Physical process models include those processes which reflect the current implementation. Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley • This may include sequential processes that merely edit, route, copy or approve a data flow. • Physical data flow diagrams also include additional details such as who or what performs each process, the cost of each process, and a critical evaluation of the value returned by each process. 99 Copyright Irwin/McGraw-Hill 1998 Process Modeling Summary Introduction An Introduction to System Modeling System Concepts for Process Modeling The Process of Logical Process Modeling How to Construct Process Models The Next Generation Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley 100 Copyright Irwin/McGraw-Hill 1998