Chap 9 - Process Modeling

51
Prepared by: Jefferson P. Encina

Transcript of Chap 9 - Process Modeling

Page 1: Chap 9 - Process Modeling

Prepared by: Jefferson P. Encina

Page 2: Chap 9 - Process Modeling

Define systems modeling and differentiate between logical and physical system models.

Define process modeling and explain its benefits. Explain when to construct process models and where to

store them. Construct a context diagram to illustrate a system’s

interfaces with its work environment. Perform event partitioning and organize events in a

functional decomposition diagram. Draw event diagrams and merge those events into a system

diagram. 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.

Page 3: Chap 9 - Process Modeling
Page 4: Chap 9 - Process Modeling

It removes biases that are the result of the way the current system is implemented.

It reduced the risk of missing business requirements.

It allows us to communicate with end-user for non-technical or less technical languages.

Page 5: Chap 9 - Process Modeling

A technique for organizing and documenting the structure and flow of data through a system PROCESSES and/or the logic, policies, and procedures to be implemented by a system’s PROCESSES.

One special type of Process model is the Context Diagram. Various type of Process Model such as Program Structure charts, Logic flowcharts and decision tables.

Page 6: Chap 9 - Process Modeling

A tool that depicts the flow of data through a system and the work or processing performed by that system.

Three Symbols and One Three Symbols and One ConnectionConnection•Round rectangles – represent processes or work to be

done.•Squares – represent external agents (boundary of the system)•Open-ended boxes – represent data stores (files or databases)•Arrows – represent data flows, or inputs and outputs, to and from the processes.

Page 7: Chap 9 - Process Modeling

• Round rectangles – represent processes or work to be done.

• Squares – represent external agents (boundary of the system)

• Open-ended boxes – represent data stores (files or databases)

• Arrows – represent data flows, or inputs and outputs, to and from the processes.

Page 8: Chap 9 - Process Modeling

Data Flow Diagram Flowchart

Processes can operate in parallel. Simply, executes and works simultaneously

Execute only one at a time

Shows the flow of data through a system. Looping and Branching are not typically shown

Shows the sequence of processes or operation in an algorithm or program. Include Looping and Branching

Can have dramatically different timing. Include processes that happens hourly, daily, weekly, yearly, and on demand

Doesn’t happen. Consistent timing.

Page 9: Chap 9 - Process Modeling

System Thinking◦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.

Page 10: Chap 9 - Process Modeling

Process - work performed by a system in response to incoming data flows or conditions. A synonym is transform.

Different Process Modeling NotationsDifferent Process Modeling Notations

Process name

Gane & Sarson shape

Process name

DeMarco/

Yourdon shape

Process name

SSADM/IDEFO shape

Logical process –what work or action is being performedPhysical process – who or what is doing that work or activity

Page 11: Chap 9 - Process Modeling
Page 12: Chap 9 - Process Modeling
Page 13: Chap 9 - Process Modeling

External events are initiated by external agents. They result in an input transaction or data flow.

Temporal events are triggered on the basis of time, or something that merely happens. They are indicated by a control flow.

State events trigger processes based on a system’s change from one state or condition to another. They are indicated by a control flow.

Page 14: Chap 9 - Process Modeling

EventEvent Decomposition Diagram Decomposition Diagram (partial)(partial)

Page 15: Chap 9 - Process Modeling

External Event DFDExternal Event DFDEvent diagram – data flow diagram that depicts the context for a single event.

•One diagram for each event processDepicts

•Inputs from external agents•Outputs to external agents•Data stores from which records must be "read." Data flows should be added and named to reflect the data that is read.•Data stores in which records must be created, deleted, or updated. Data flows should be named to reflect the update.

Page 16: Chap 9 - Process Modeling

External Event DFD (more complex)External Event DFD (more complex)

Page 17: Chap 9 - Process Modeling

Temporal Event DFDTemporal Event DFD

Page 18: Chap 9 - Process Modeling

the act of breaking a system into its component subsystems, processes, and subprocesses.

•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 because that would not reveal any additional detail about the system.•In most decomposition diagramming standards, a child may have only one parent.•Finally, a child of one parent may be the parent of its own children.

Page 19: Chap 9 - Process Modeling
Page 20: Chap 9 - Process Modeling

A tool used to depict the decomposition of a system. Also known as Hierarchy chart.

Page 21: Chap 9 - Process Modeling

Function – a set of related and ongoing activities of a business.

Event – a logical unit of work that must be completed as a whole. Sometimes called a transaction.

Elementary process – a discrete, detailed activity or task required to complete the response to an event. Also called a primitive process.

Page 22: Chap 9 - Process Modeling
Page 23: Chap 9 - Process Modeling

Decomposition diagrams and data flow diagrams will prove very effective tools for identifying processes, but are not good at showing the logic inside those processes.

Tool to address the problem:Tool to address the problem: Structured English Language – is a

language and syntax for specifying the logic of a process.

Page 24: Chap 9 - Process Modeling

It is not pseudocode. It does not concern itself with declarations, initialization, linking, and such technical issues.

Problem with Natural English as a Procedure Problem with Natural English as a Procedure Specification LanguageSpecification Language• Many of us do not write well, and we also tend not to

question our writing abilities.• Many of us are too educated!• Some of us write everything like it was a program.• Too often, we allow the jargon and acronyms of

computing to dominate our language.• English statements frequently have an excessive or

confusing scope.• We overuse compound sentences.• Too many words have multiple definitions.• Too many statements use imprecise adjectives.• Conditional instructions can be imprecise.• Compound conditions tend to show up in natural

English.

Page 25: Chap 9 - 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 NUMBER1) Keep a running total of NUMBER OF LOANS for the CUSTOMER

NUMBER2) Keep a running total of ORIGINAL LOAN PRINCIPAL for the

CUSTMER NUMBER3) Keep a running total of CURRENT LOAN BALANCE for the

CUSTMER NUMBER4) Keep a running total of AMOUNTS PAST DUE for the CUSTMER

NUMBERb. If the TOTAL AMOUNTS PAST DUE for the CUSTOMER NUMBER is

greater than 100.00 then1) 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.

Page 26: Chap 9 - Process Modeling

Structured English Constructs Structured English Constructs (Part 1)(Part 1)

Page 27: Chap 9 - Process Modeling

Structured English Constructs Structured English Constructs (Part 2)(Part 2)

Page 28: Chap 9 - Process Modeling

A Sample Decision A Sample Decision TableTable

CHECK CASHING IDENTIFICATION CARD

A customer with check cashing privileges is entitled to cash personal checks of up to $75.00 and payroll checks 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 Charles C. Parker, Jr.

EXPIRES May 31, 2003

Condition and Actions Rule 1 Rule 2 Rule 3 Rule 4

C1: Type of check personal payroll personal

payroll

C2: Check amount less than or equal to $75.00

yes Doesn’t matter

no Doesn’t matter

C3: Company accredited by LMART Doesn’t matter

yes Doesn’t matter

No

A1: Cash the check X X

A2: Don’t cash the check X X

A SIMPLE POLICY A SIMPLE POLICY STATEMENTSTATEMENT

THE EQUIVALENT POLICY DECISION TABLETHE EQUIVALENT POLICY DECISION TABLE

Page 29: Chap 9 - Process Modeling

Data flow – data that is input to or output from a process.◦ A data flow is data in motion◦ A data flow may also be used to

represent the creation, reading, deletion, or updating of data in a file or database (called a data store).

Composite data flow – a data flow that consists of other data flows.Control flow – a condition or nondata event that triggers a process.◦ Used sparingly on DFDs.

Page 30: Chap 9 - Process Modeling

Data Flow Packet ConceptData Flow Packet Concept

Page 31: Chap 9 - Process Modeling

Composite and Elementary Data Composite and Elementary Data FlowsFlows

Page 32: Chap 9 - Process Modeling

Illegal Data FlowsIllegal Data Flows

Page 33: Chap 9 - Process Modeling

Data conservation – the practice of ensuring that a data flow contains only data needed by the receiving process.◦ Sometimes called starving the processes.◦ 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.

Page 34: Chap 9 - Process Modeling

Data attribute – the smallest piece of data that has meaning to the users and the business.

Data structure – a specific arrangement of data attributes that defines a single instance of a data flow..

◦ The data attributes that comprise a data flow are organized into data structures.

◦ 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.

Page 35: Chap 9 - Process Modeling

Diverging data flow – a data flow that splits into multiple data flows.◦ Indicates data that starts out naturally as one flow,

but is routed to different destinations.◦ Also useful to indicate multiple copies of the same

output going to different destinations.

Converging data flow – the merger of multiple data flows into a single packet.◦ Indicates data from multiple sources that can

(must) come together as a single packet for subsequent processing.

Page 36: Chap 9 - Process Modeling

Diverging and Converging Data Diverging and Converging Data FlowsFlows

Page 37: Chap 9 - Process Modeling

External agent – an outside person, organization unit, system, or organization that interacts with a system. External agents are “processes” outside of the scope of the system or business. Also called an external entity. ◦ Forms the boundary or scope of the system.◦ Define places where the system interfaces with its

environment.

◦ As scope changes, external agents can become processes, and vice versa.

◦ Almost always one of the following: An office, department, division, or individual. An external organization or agency. Another business or another information system. A system’s end-users or managers

◦ External agents should named with descriptive, singular noun

Page 38: Chap 9 - Process Modeling

Data store – is an “inventory” of data. Synonyms are file and database. ◦ Frequently implemented as a file or database.◦ Data flow are “data in motion”, data store is

“data at rest”.◦ Data store can be describe as the following

“things” Persons (or groups of persons) Places Objects Events (about which data is captured) Concepts (about which data is important)

◦ Data stores depicted on a DFD store all instances of data entities (depicted on an ERD)

◦ Named as the plural of the corresponding data model entity

Page 39: Chap 9 - Process Modeling

Strategic systems planning◦ A separate project that produces an IS strategy plan that

defines an overall vision and architecture for IS.◦ Enterprise process models illustrate important business

areas and functions. Business process redesign

◦ Analyze business processes and then redesign them to eliminate inefficiencies and bureaucracies before any (re)application of information technology.

Systems analysis (primary focus of this course)◦ Model the existing system including its limitations ◦ Model the target system’s logical requirements◦ Model candidate technical solutions (physical DFDs only)◦ Model the target technical solution (physical DFDs only)

Page 40: Chap 9 - Process Modeling

1. Draw top-down physical DFDs that represent the current physical implementation of the system including its limitations.

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.THE ABOVE METHODOLOGY IS RARELY PRACTICED ANYMORE BECAUSE IT IS VERY CUMBERSOME AND TIME-CONSUMING.

Page 41: Chap 9 - Process Modeling

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 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.THE ABOVE METHODOLOGY, BASED ON EVENT PARTITIONING, IS MORE COMMONLY PRACTICED.

Page 42: Chap 9 - Process Modeling

Event-Driven Process Modeling Event-Driven Process Modeling StrategyStrategy

Page 43: Chap 9 - Process Modeling

Event-Driven Process Modeling Event-Driven Process Modeling StrategyStrategy

Page 44: Chap 9 - Process Modeling

Event-Driven Process Modeling Event-Driven Process Modeling StrategyStrategy

Page 45: Chap 9 - Process Modeling

One special type of process model. Illustrate the COMMUNICATION focus from the system owners’

and users’ perspective. A processlike model that actually illustrates a systems’

interfaces to the business and outside world. A process model used to document the scope for a system.

Also called the environmental model.

1. Think of the system as a "black box."2. Ask users what business transactions the system must

respond to. These are inputs, and the sources are external agents.

3. Ask users what responses must be produced by the system. These are outputs, and the destinations are external agents.

4. Identify any external data stores, if any.5. Draw a context diagram.

Page 46: Chap 9 - Process Modeling

Context DFDContext DFD

Page 47: Chap 9 - Process Modeling

Functional Decomposition DiagramFunctional Decomposition Diagram

Page 48: Chap 9 - Process Modeling

Some (not necessarily all) event processes may be exploded into primitive diagrams to reveal more detail.◦ Complex business transaction processes◦ Process decomposed into multiple elementary

processes◦ Each elementary process is cohesive - it does only

one thing◦ Flow similar to computer program structure

Page 49: Chap 9 - Process Modeling

Primitive DFDPrimitive DFD

Page 50: Chap 9 - Process Modeling

Sample Data to Process CRUD MatrixSample Data to Process CRUD Matrix

Page 51: Chap 9 - Process Modeling

Sample Process to Location Association MatrixSample Process to Location Association Matrix