chapter 5 Process Modeling By Muna Shabaneh

advertisement
chapter 5
Process Modeling
By Muna Shabaneh
Objectives
•
•
•
•
•
What is a Model?
What is a process?
What is a Process modeling?
What are the Perspectives in process representation ?
Issues in process modeling.
What is a model?
• It is a simplification of reality
• It is an abstract representation of reality that
excludes much of the world’s infinite detail. [1]
Why it is important to create a model?
• To reduce complexity
• It is a way to understand or predict
What is a process?
Humphery and Feiler [1] A process “ a set of partially
ordered steps intended to reach a goal”
Process modeling
“It is an abstract description of an actual or proposed process that
represents selected process elements that are considered
important to the purpose of the model and can be enacted by a
human or a machine.” [1]
Process script
Process program
Process modeling
Modeling of Information systems:
•
Traditionally: analyzing data flows and transformations
•
Recently: It extended to coordination and communication.
So we needed process modeling to integrate these systems together
Applications on process modeling
• Business process reengineering
the redesign of a business
• Coordination technology
managing dependencies among the agents
• Process-driven software development
creating automated system for integrating all of
the SW-related management and staff
•
•
•
•
1)
2)
3)
Software life cycle descriptions are they a useful
model ??????
NO, since they don’t correspond to the actual
processes performed during SW development.
They are “DREAMS” !!!
They represent high level plans without stating
HOW-TO reach there.
The reasons behind this problem are:
High-level perspective processes
Imprecise, ambiguous, incomprehensible, or unusable descriptions of
process to be performed.
Failure to update the documentation.
Perspectives in process
representation
• People want to extract from a process model some answers
for:
What is going to be done, who is going to do it, when and
where it will be done, how and why will it be done.
• Process modeling represents different perspectives related to
the previous questions the most common ones:
• Functional: What (process elements, data flows)
• Behavioral: When (process elements)
How (process elements)
• Organizational: Where and By Whom
(process elements)
• Informational: (informational entities)
Its structure and the relationships among them
• Although the different perspective processes are separated the
interrelated among them is essential for analyzing and presenting
process information.
• Hypothesize that when combined they will produce an integrated,
consistent, and complete model of the process analyzed.
Process Modeling Paradigms
• Process-modeling languages can be evaluated by their ability
to provide a model that represents and possible to reason
about for various aspects of a process.
• The source for modeling languages is programming languages.
• Osterweil pointed out chicken-and-egg problem:
“ In order to find out what languages features we need, we need to
write process programs; in order to write process programs, we
need the appropriate language features”
The breadth of process modeling
•
•
•
•
•
Programming models-process programming
Functional models-HFSP
Plan-based models-GRAPPLE
Petri-net models-role interaction nets
Quantitative models-system dynamics.
• Programming models:
- Osterweil “software processes are software, too”
- process descriptions can be modeled as algorithms and can be
analyzed accordingly.
- Examples: APPL/A, Aspen
- APPL/A provides both procedural and declarative capabilities so it
is also supports multiple representational paradigms.
•
Functional models:
- The Hierarchical and Functional Software Process (HFSP)
description and enact ion language was developed by Katayama
and his colleagues. Its goals are:
1. aid process understanding
2. support hierarchical process decomposition
3. describe concurrent processes and backtracking
4.provide a flexible and dynamic execution
mechanism
• Plan based models:
- Huff and Lesser argue that modeling process
execution in the real world is difficult because of all
the contingencies that must be considered (Do you
agree)
- Example: GRAPPLE which has emerged from
artificial intelligence research. It models SW
development as a set of goals, sub goals,
preconditions, constraints, and effects.
- Requires the ability of the designer to code the
knowledge about the environment.
• Petri-Net Models:
- The structure of roles and their interaction.
- Analto Holt’s work in applying Petri nets to
modeling coordination in the work place
- Example: RADDLE
- this kind of models are highly used in commercial
products.
- This model of coordination among role structure is
difficult to use if an organization did not give basic
description for its process
• Quantitative Models:
- Example: system dynamic, which applies feedback and control
system techniques to social and industrial phenomena
- When applied to project, it improved the productivity and reduced
the cost by providing a feedback and dynamic system that responds
to changes.
Issues in process Modeling
• Formality
depend on the purpose served by the process model and the
agent. That is, process programs enacted by machine should
be quite formal, while the ones performed by humans may
require less formality.
• Granularity and Precision
It involves the process elements represented in the model
and the degree to which a defined process specifies all the
process steps needed to produce accurate results
• Scriptiveness and Fitness
- Fitness: the degree to which the agents performing
the process can faithfully follow the process steps it
specifies.
1. prescriptive modeling
Implies the process should be performed a
particular way
2. descriptive modeling
try to determine the actual processes currently
used to get work done
3. prospective modeling
delineate behavior that is not allowed
Referances
• 1. Bill Curtis, Marc I. Kellner and Jim Over
Process Modeling. 1992/vol. 35, No. 9./communications of the
ACM.
Download