Informationssystem och databasteknik, 2I-1100

Download Report

Transcript Informationssystem och databasteknik, 2I-1100

Informationssystem och
databasteknik, 2I-1033
Processer
Processmodeller
System
Definition of Business Process
A set of activities that takes one or
more types of inputs and turns them
into an output of greater value to the
customer.
[Hammer]
input
output
input
Definition of Business Process
A specific ordering of work activities
across time and place, with a
beginning, an end, and clearlydefined inputs and outputs; a
structure for action.
[Davenport]
input
output
input
Why focusing on Business
Processes?
•
re-engineering the business processes to
make them more effective/efficient
•
discover and adopt to changed customer
demands
•
automate the activities in business processes
•
to specify the requirements on IS
A Workflow/Business Process
model
Order register
* for each order line
Credit check
not
OK
Stop order
Check order line
i lager
OK
Add to order
Credit manager
Ship
Order manager
A Workflow/Business Process
model
Task
Order register
Parallelism
(AND split)
Credit check
OK
not
OK
* for each order line
Stop order
Selection
(OR split)
Check order line
i lager
Add to order
Resource
Credit manager
Ship
Order manager
Basic Workflow Concepts
• Task - a logical unit of work that is carried out as a single whole
• Resource - a person or a machine that can perform specific tasks
• Activity - the performance of a task by a resource
• Case - a sequence of activities performed to achieve some goal, an
order, an insurance claim, a car assembly (“ärende”)
• Work item - the combination of a case and a task that is just to be
carried out
• Process - describes how a particular category of cases shall be managed
• Control flow construct - sequence, selection, iteration, parallelisation
More Concepts
A time point is an instant in time, not further
decomposible
An event is an noteworthy occurence
A state shows the condition of a process and can be
represented in several way, e.g. as a set of attribute
values
Problem: Different meaning of basic
terms or not well-defined semantics
Two examples (there are more):
State
State
State
State
State
State
Activity
Activity
Time points
Time points
What are Petri nets?
Petri nets are a method
(process modelling
language/technique) for
describing and analysing
processes
Petri nets are an abstract,
formal method, which means
that two totally different
processes can have the same
structure but different
meaning.
Why Petri nets?
Petri nets can be described
graphically. Despite that, they
also have a strong formal
basis. Thanks to this formal
basis, it is often possible to
verify the correctness of the
processes.
Petri nets can be used to model
computer hardware, software,
workflow/business
processes and information
flow.
Why Petri nets?
Petri nets have available analysis techniques and
tools to verify the correctness of the processes
For example, Petri nets can be used to verify
software. A program can be converted into a
Petri net. The Petri net can then be analysed to
find out design errors.
Petri nets can give process modelling
languges (like UML activity diagrams) a
formal semantics
Application Process
send
accept
tokens
transition
prepare
accept letter
place
accept
applications
check
validity
ready1
ready2
under
consideration
reject
prepare
reject letter
send
reject
Application Process
send
accept
prepare
accept letter
A transition is enabled (“loaded)
when there is a token in each of its
input places.
accept
applications
check
validity
ready1
ready2
under
consideration
When a transition is enabled it can
fire
When a transition fires it removes
one token from each input place and
adds one token to each output place
reject
prepare
reject letter
send
reject
Application Process
send
accept
prepare
accept letter
A transition is enabled (“loaded)
when there is a token in each of its
input places
accept
applications
check
validity
ready1
ready2
under
consideration
When a transition is enabled it can
fire
When a transition fires it removes
one token from each input place and
adds one token to each output place
reject
prepare
reject letter
send
reject
Application Process
send
accept
prepare
accept letter
A transition is enabled (“loaded)
when there is a token in each of its
input places
accept
applications
check
validity
ready1
ready2
under
consideration
When a transition is enabled it can
fire
When a transition fires it removes
one token from each input place and
adds one token to each output place
reject
prepare
reject letter
send
reject
Application Process
send
accept
tokens
transition
prepare
accept letter
place
accept
applications
check
validity
ready1
ready2
under
consideration
When a transition is enabled it can
fire
When a transition fires it removes
one token from each input place and
adds one token to each output place
reject
prepare
reject letter
send
reject
Application Process
send
accept
prepare
accept letter
A transition is enabled (“loaded)
when there is a token in each of its
input places
accept
applications
check
validity
ready1
ready2
under
consideration
When a transition is enabled it can
fire
When a transition fires it removes
one token from each input place and
adds one token to each output place
reject
prepare
reject letter
send
reject
Application Process
send
accept
prepare
accept letter
A transition is enabled (“loaded)
when there is a token in each of its
input places
accept
applications
check
validity
ready1
ready2
under
consideration
When a transition is enabled it can
fire
When a transition fires it removes
one token from each input place and
adds one token to each output place
reject
prepare
reject letter
send
reject
Application Process
send
accept
prepare
accept letter
A transition is enabled (“loaded)
when there is a token in each of its
input places
accept
applications
check
validity
ready1
ready2
under
consideration
When a transition is enabled it can
fire
When a transition fires it removes
one token from each input place and
adds one token to each output place
reject
prepare
reject letter
send
reject
Enabled Transition
A transition is
enabled
(“loaded”) when
there is a token
in each of its
input places
Not enabled
Enabled
When a transition fires...
When a transition
occurs, the
transition “fires”,
and the transition
removes
(“consumes”) one
token from each
input place and
adds (“produces”)
one token to each
output place
Input
places
Output
place
Enabled
When a transition fires …
Fired
When a
transition
“fires”, the Petri
net change
state, i.e. a
new distribution
of tokens.
What can Petri nets concepts
represent?
Place - usually represents a
condition, a substate, a
geographical location
Transition - usually represents an
event, an activity, a transformation
Tokens - usually represent
(physical or information) objects,
e.g. an insurance claim, an order, a
resource (machine, a wheel), a case
(“ett ärende”)
What can Petri nets concepts
represent?
production order/case
chassis
car
engine
wheel
Dutch Traffic Light
red
yr
yellow
rg
green
gy
Dutch Traffic Light
red
yr
yellow
rg
green
gy
Dutch Traffic Light
red
yr
yellow
rg
green
gy
Dutch Traffic Light
red
yr
yellow
rg
green
gy
Two Traffic Lights
red1
yr1
yr2
yellow1
rg1
rg2
green1
gy1
gy2
red2
yellow2
green2
Two Traffic Lights
red1
yr1
yr2
yellow1
rg1
rg2
green1
gy1
gy2
red2
yellow2
green2
Two Traffic Lights
red1
yr1
yr2
yellow1
rg1
rg2
green1
gy1
gy2
red2
yellow2
green2
Two Traffic Lights
red1
yr1
yr2
yellow1
rg1
rg2
green1
gy1
gy2
red2
yellow2
green2
Two Traffic Lights
red1
yr1
yr2
yellow1
rg1
rg2
green1
gy1
gy2
red2
yellow2
green2
Two Traffic Lights
red1
yr1
yr2
yellow1
rg1
rg2
green1
gy1
gy2
red2
yellow2
green2
Two Traffic Lights
red1
yr1
yr2
yellow1
rg1
rg2
green1
gy1
gy2
red2
yellow2
green2
Using a place “free”
If we, for some reason,
wish to limit the
number of “cases”,
which can be under
consideration at the
same time to n, we can
modify the Petri net by
using an additional
place “free”, and put n
tokens in it.
free
Control flow constructs
(in a workflow)
AND SPLIT
OR SPLIT
AND JOIN
OR JOIN
High-level Petri nets
Classic Petri nets
vs.
High-level Petri nets
- the colour extension
- the time extension
Coloured Petri Nets
send
accept
In a classical Petri net, tokens have
no structure.
In a coloured Petri net, each token is
associated with a data structure.
prepare
accept letter
accept
claims
amount < 1000
check
validity
amount > 1000
ready1
ready2
under
consideration
[name: John Doe, amount: 5000]
[name: Mary Doe, amount: 400]
reject
prepare
reject letter
send
reject
Coloured Petri Nets
send
accept
prepare
accept letter
accept
claims
amount < 1000
check
validity
amount > 1000
ready1
ready2
under
consideration
[name: John Doe, amount: 5000]
[name: Mary Doe, amount: 400]
reject
prepare
reject letter
send
reject
Coloured Petri Nets
send
accept
In a coloured Petri net, the values
of a token’s data structure can be used
in preconditions that determine which
transition that will fire.
accept
claims
amount < 1000
check
validity
amount > 1000
prepare
accept letter
ready1
ready2
under
consideration
[name: John Doe, amount: 5000]
[name: Mary Doe, amount: 400]
reject
prepare
reject letter
send
reject
Coloured Petri Nets
send
accept
prepare
accept letter
accept
claims
amount < 1000
check
validity
amount > 1000
ready1
ready2
under
consideration
[name: John Doe, amount: 5000]
[name: Mary Doe, amount: 400]
reject
prepare
reject letter
send
reject
Coloured Petri Nets
send
accept
prepare
accept letter
accept
claims
amount < 1000
check
validity
amount > 1000
ready1
ready2
under
consideration
[name: John Doe, amount: 5000]
[name: Mary Doe, amount: 400]
reject
prepare
reject letter
send
reject
Coloured Petri Nets
send
accept
prepare
accept letter
accept
claims
amount < 1000
check
validity
amount > 1000
ready1
ready2
under
consideration
[name: John Doe, amount: 5000]
[name: Mary Doe, amount: 400]
reject
prepare
reject letter
send
reject
Coloured Petri Nets
send
accept
prepare
accept letter
accept
claims
amount < 1000
check
validity
amount > 1000
ready1
ready2
under
consideration
[name: John Doe, amount: 5000]
[name: Mary Doe, amount: 400]
reject
prepare
reject letter
send
reject
Petri Net with Time
Every token gets a timestamp,
indicating the time from which the
token is available.
15
A transition is enabled when each
token to be consumed has a timestamp
equal or prior to the current time.
20
10
Each transition can give a delay to a token
produced by the transition.
Tokens are consumed on FIFO (first-in, first-out basis).
The token with the earliest timstamp is the first to be
consumed
Petri Net with Time
15
20
10
10
30
Before current time = 20, the transition is not enabled and cannot fire.
At current time = 20, it will fire. The timestamp of the produced token
equals the current time + the transition delay (=10 in the example)
Two Traffic Lights with Time
0
red1
0
30
yr1
0
yellow1
30
yr2
red2
0
rg1
yellow2
rg2
25
25
0
5
green1
Current time = 0
gy1
5
gy2
green2
Two Traffic Lights with Time
0
red1
30
yr1
0
yellow1
rg1
red2
0
yellow2
rg2
25
25
5
green1
30
yr2
gy1
25
Current time = 0 (after the transition)
5
gy2
green2
Two Traffic Lights with Time
0
red1
30
yr1
0
yellow1
30
rg1
red2
0
yellow2
rg2
25
25
5
green1
30
yr2
gy1
Current time = 25 (after the transition)
5
gy2
green2
Two Traffic Lights with Time
0
red1
30
yr1
60
0
yellow1
30
yr2
red2
0
rg1
yellow2
rg2
25
25
30
5
green1
gy1
Current time = 30 (after the transition)
5
gy2
green2
Two Traffic Lights with Time
red1
30
yr1
60
0
yellow1
rg1
red2
0
yellow2
rg2
25
25
5
green1
30
yr2
gy1
5
green2
gy2
55
Current time = 30 (after two transitions)
Swimming School Exercise
A student registers at the swimming school. The student will
take one or more swimming lessons followed by an
examination.
Every lesson has a beginning and an end. A student must have
his or her individual teacher during a lesson. There are five
teachers. Each swimming lesson is followed by another
swimming lesson or an individual examination.
An examiner is present at the examination, from beginning to
end. There are two examiners. When a student has completed
an examination, three things might happen:
1. The student passes and leaves the school
2. The student fails, takes additional lessons, and tries again
3. The student fails and gives up
a) Model this using a classical Petri net
b) Use a coloured Petri net to express that it is required to take
10 lessons before taking the exam and that students drop out
after three failed exams
c) Add time to model that a lesson takes one hour and an
exam 30 min.
Swimming School Exercise
more
begin lesson
end lesson
register
ready
begin exam
Free teachers
Free examiners
drop out
end exam
pass
Swimming School Exercise
more
noOfLessons < 10
begin lesson
register
end lesson
60
ready
noOfLessons = 10
begin exam
30
Free teachers
Free examiners
drop out
end exam
pass
Basic Workflow Concepts
• Task - a logical unit of work that is carried out as a single whole
• Resource - a person or a machine that can perform specific tasks
• Activity - the performance of a task by a a resource
• Case - a sequence of activities performed to achieve some goal, an
order, an insurance claim, a car assembly
• Work item - the combination of a case and a task that is just to be
carried out
• Process - describes how a particular category of cases shall be managed
• Control flow construct - sequence, selection, iteration, parallelisation
Workflow Concepts in Petri
Nets
• Task - transition
• Resource - token
• Activity - transition that fires
• Case - token
• Work item - enabled transition
• Process - Petri net
• Control flow construct - modelled by places and transitions
Swimming School Exercise
more
begin lesson
end lesson
ready
register
Case
begin exam
Work item
Free teachers
Free examiners
Resource
end exam
Task
drop out
pass
Triggers
When do
transitions fire?
Sometimes,
someone or
something has
to fire them.
A work item can
only be
transformed
into an activity
once it has been
triggered.
Kinds of triggers
A resource initiative
An external event
A time signal
Triggers
customer
answer
manage
receive order
ask for customer
info
cancel
no answer
Klassifikation av
informationssystem
Beslutstyp
Vilka typer av beslut
som systemet stödjer
Strategiska
Taktiska
Operationella
Funktioner
Vilken funktion i
organisationen som
systemet stöder
Marknadsföring
Tillverkning och tjänster
Ekonomi
Personal
Typer av beslutsstödssystem
Transaction
Processing
Systems (TPS)
INFORMATIONSBEHOV
Management
Information
Systems (MIS)
Intelligent
Support
Systems (ISS)
Alla dessa
system stödjer
beslutsfattande
TPS - system som hanterar
och lagrar transaktioner
Transaktion: ett utbyte mellan två parter
• Uttag från bankkonto
• Förfrågan om pris på en produkt
• Beställning av en vara
Hur ett TPS hanterar en transaktion
Step 1
Step 2
Step 3
Step 2
Mata in data
Validera data
Bearbeta
data
Lagra data
Note: TPS are also called OLTP (Online Transaction processing)
MIS - system som bevakar
den interna verksamheten
Sammanfattningsrapport - aggregerar
data från många transaktioner och
presenterar dem i ett koncist format
Månatlig försäljning
Årlig personalomsättning
Avvikelserapport - beskriver avvikelser
mellan prognos och faktiskt utfall
Budgetöverskridande
Försäljningsminskning
ISS - Intelligenta StödSystem
ISS - system som stödjer ledningen på
högre nivåer att fatta beslut om
ostrukturerade problem
Decision Support Systems (DSS)
Executive Information Systems (EIS)
(DSS + MIS)
OLAP (Online analytical processing)
(Business Intelligence systems (BI))
ISS - Intelligenta StödSystem
- snabba svar på komplexa,
ostrukturerade (ad hoc) frågor
- interaktivitet som gör att beslutsfattare
kan utforska olika alternativ
- använder oftast extern och intern data
- DSS använder analytiska beslutsmodeller
- grafisk presentation
Samband mellan TPS, MIS
och ISS
Strategisk
ISS: ger stöd för
komplexa beslut
Taktisk
MIS: genererar rapporter om företaget
Operationell
TPS: hanterar
transaktioner
Omvärldsbevakning
Organisatoriska funktioner
En funktion är en enhet inom en organisation
som utför ett antal relaterade aktiviteter.
Vanligen kräver dessa aktiviteter en viss
kompetens eller specifik utrustning.
Funktioner på ett
universitet
System
Vaktadministration mästeri
Kurs Undervisning
registrering
IS för marknadsföring
System som stödjer försäljning,
marknadsföringskampanjer,
marknadsanalys, m.m.
CRM (Customer Relationship Management)
System för försäljningsanalys
IS för tillverkning och tjänster
System som stöder, lagerhantering,
produktionsplanering, kvalitetskontroll
m.m.
Logistiksystem
Materialförsörjningssystem
IS för ekonomi
System som tillhandahåller finansiell
information som underlag för beslut
Intern och extern redovisning
Ordermottagning
Fakturering
IS för personaladministration
System som stöder planering,
samordning, administration och ledning av
personal (Human resource systems)
Lönesystem
Kompetensdatabas
Processer korsar funktioner
Kurs
System
Vaktadministration mästeri
Kurs Undervisning
registrering
Funktioner och IS
Informationssystem
Funktioner
Personal
FoU
Marknad
Varje informationssystem stöder
sin egen funktion
Produktion
Tjänster
Ekonomi
Integrerade
informationssystem
Orderhantering
Produktutveckling
Kundtjänster
Ekonomirapportering
Personal
FoU
Marknad
Produktion Tjänster
Ekonomi