PPT - FEB Leuven

advertisement
Wat hebben Bedrijfsvoering,
Wiskunde en Beleidsinformatica
met elkaar te maken ?
Een verkenning…
6 maart 2008
Prof. Dr. Guido Dedene
Katholieke Universiteit Leuven
Faculty of Business and Economics FBE
Decision Sciences & Information Management (DSIM)
Naamsestraat 69
B-3000 Leuven
E-mail [email protected]
1
INHOUD
1. Bedrijfsvoering met eenvoudige processen
2. Processen beschrijven met algebra
3. Processen doen werken en samenwerken
4. Vragen
2
Bedrijfsgebeurtenissen
• Bedrijfsvoering betekent ondermeer het kunnen
omgaan met wat relevant is voor een bedrijf
– Wat dus binnen of rond een bedrijf gebeurt…
• Wat gebeurt wordt beschreven met
“gebeurtenissen”
– In het Engels ook “event” genoemd…
• Gebeurtenissen gebeuren in de werkelijkheid
– Een foutenboodschap in een computer is geen bedrijfsgebeurtenis…
• Gebeurtenissen gebeuren op een punt in de tijd
– Of worden als dusdanig onderkend
3
Objecten in Bedrijven
• In en rond bedrijven leven objecten, entiteiten,
partijen die relevant zijn voor een onderneming
– en dus op zijn minst een verband hebben met het bedrijf
• Objecten zijn entiteiten die deelnemen aan of
betrokken zijn bij bedrijfsgebeurtenissen
– Het onderscheid is niet belangrijk voor deze les…
• Bedrijfsobjecten leven in de werkelijkheid
– Een knop op een scherm is geen bedrijfsobject
• Objecten bestaan gedurende een tijdsinterval
– Dat soms erg lang kan duren…
4
Gebeurtenissen en Objecten
• Objecten nemen dus deel aan gebeurtenissen
– Meerdere objecten kunnen deelnemen aan meerdere
gebeurtenissen…
• Objecten zonder relevante gebeurtenissen
hebben geen zin…
– Objecten zijn dus betrokken in minstens 1 gebeurtenis…
• Gebeurtenissen zonder relevante objecten
hebben ook geen zin…
– Gebeurtenissen hebben minstens 1 object dat er bij
betrokken is…
• Een tabel geeft de betrokkenheid weer…
5
De Object/Event Tabel OET
• Met een tabel wordt de beschrijving opgemaakt
– met een rekenblad op de computer…
6
De Object/Event Tabel OET kan ook
opgeschreven worden…
α(CARTITEM)={AddITEM, RemoveITEM, ArchITEM}
α(SHOPCART)={CrCART, PAYCART, DeliverCART, AddITEM, RemoveITEM, ArchITEM}
α(PRODUCT)={CrPRODUCT, ChPRODUCT, EndPRODUCT, AddITEM, RemoveITEM, ArchITEM}
α(CUSTOMER)={CrCUSTOMER, ChCUSTOMER, EndCUSTOMER, CrCART, PAYCART, DeliverCART,
AddITEM, RemoveITEM, ArchITEM}
7
Objecten en verbanden (Relaties)
• Objecten kunnen relaties/verbanden hebben
met elkaar
CAR
PERSON
8
Objecten en verbanden (Relaties)
• Verbanden hebben alleen zin als objecten
SAMEN iets ondernemen
– en dus samen een verband hebben in de tijd…niet alleen
door 1 (vluchtige) gebeurtenis…
• Verbanden tussen objecten ontstaan dus door
het gemeenschappelijk delen van minstens twee
gebeurtenissen
– Een “relatie” is een stukje “gemeenschappelijk leven”
• Objecten kunnen dus gezien worden als
verzamelingen van gebeurtenissen waaraan ze
deelnemen
– en de verbanden zijn de “doorsnedes” (overlappingen)
9
Grafische voorstelling van Relaties
• De OET toont de relaties…
CUSTOMER
1
0..*
SHOPCART
PRODUCT
1
1
0..*
0..*
CARTITEM
10
Grafische voorstelling van Relaties
• De OET toont de relaties…
– Door op zoek te gaan naar niet geregelde overlappingen
?
11
Grafische voorstelling van Relaties
RESERVATION
0..*
0..*
1
1
MEMBER
BOOK
1
1
0..*
0..*
LOAN
12
Gebeurtenissen gebeuren niet zomaar,
lukraak…, maar in processen…
• Vaak houden gebeurtenissen verband met elkaar
– het verband wordt eigenlijk gelegd in de objecten
• Dus moet eerst onderzocht worden hoe gebeurtenissen verbonden zijn binnen een object
– dus binnen een kolom in de OET
• Gebeurtenissen hebben dus structuurverbanden
– binnen de levensloop van een object
• Maar ook over de objecten heen…
– Dat komt aan bod in het derde deel…
13
Voorbeelden van processen in
Objecten
CrCART
PayCART
DeliverCART
AddITEM, RemoveITEM
ArchITEM
Wat gebeurt er in de levensloop
van een shopping Cart ?
• Items kunnen alleen toegevoegd
worden nadat een CART is gemaakt
en nog niet is betaald !
• Betaling moet VOOR de levering
• De levering is het einde van een CART
14
INHOUD
1. Bedrijfsvoering met eenvoudige processen
2. Processen beschrijven met algebra
3. Processen doen werken en samenwerken
4. Vragen
15
Verbanden ontstaan door
deelverzamelingen…
α(CARTITEM)={AddITEM, RemoveITEM, ArchITEM}
α(SHOPCART)={CrCART, PAYCART, DeliverCART, AddITEM, RemoveITEM, ArchITEM}
α(PRODUCT)={CrPRODUCT, ChPRODUCT, EndPRODUCT, AddITEM, RemoveITEM, ArchITEM}
α(CUSTOMER)={CrCUSTOMER, ChCUSTOMER, EndCUSTOMER, CrCART, PAYCART, DeliverCART,
AddITEM, RemoveITEM, ArchITEM}
α(CARTITEM)  α(SHOPCART) , α(CARTITEM)  α(PRODUCT) ,
α(SHOPCART)  α(CUSTOMER),
α(CARTITEM) = α(SHOPCART) ∩ α(PRODUCT)
16
Er zijn drie structuurverbanden tussen
gebeurtenissen
• Een opeenvolging van gebeurtenissen is een
sequentie
– Een sequentie van een is dus geen…
• Een keuze tussen gebeurtenissen is een selectie
– die exhaustief en exclusief moet zijn
• Een herhaling van gebeurtenissen is een iteratie
– waarin een gebeurtenis nul, een of meerdere keren herhaald
kan worden
• De structuurverbanden kunnen vermengd worden
– wat gestructureerde processen oplevert…
17
Bijvoorbeeld…
Sequentie
CrCART
PayCART
DeliverCART
AddITEM, RemoveITEM,
ArchITEM
Iteratie
Selectie
18
Deze structuurverbanden voldoen aan
bepaalde basiseigenschappen (axioma’s)…
• Dit zijn de basiseigenschappen voor een
sequentie (x):
• ax(bxc) = (axb)xc = axbxc
– De sequentie is associatief…
• ax1 = 1xa = a
– Er is een neutraal element: 1 = “doe niets”
19
Deze structuurverbanden voldoen aan
bepaalde basiseigenschappen (axioma’s)…
• Dit zijn de basiseigenschappen voor een
selectie (+):
• a+(b+c) = (a+b)+c = a+b+c
– De selectie is associatief…
• a+b = b+a
– De selectie is commutatief…
• a+a = a
– De selectie is idempotent…
20
Deze structuurverbanden voldoen aan
bepaalde basiseigenschappen (axioma’s)…
• ax(b+c) = axb + axc
– Linkse distributiviteit van de sequentie tov. de selectie…
• (a+b)xc = axc + bxc
– Rechtse distributiviteit van de sequentie tov. de selectie…
• Een iteratie is eigenlijk een soort “veelterm”:
– a* = 1 + a + axa + axaxa + …
21
Processen kunnen nu opgeschreven
worden als formules…
CrCART
PayCART
DeliverCART
AddITEM, RemoveITEM,
ArchITEM
SHOPCART =
CrCARTx(AddITEM+ RemoveITEM + ArchITEM)*xPayCARTxDeliverCART
22
Formules kunnen “deler” zijn van elkaar…
• Een formule kan “geprojecteerd” worden op een
verzameling gebeurtenissen
– door de niet-betrokken gebeurtenissen te vervangen door
het neutraal element “1”
• Voorbeeld:
– P = ax(b+c)*xdxc
– Beschouw een deelverzameling A = {a,b,c}
– De projectie P|A = ax(b+c)*x1xc = ax(b+c)*xc
• De definitie van “deling” is als volgt:
– P ≤ Q als en slechts als P + Q|α(P) = Q|α(P)
23
Een voorbeeld…
Q = ax(bxe + cxd)x(cxe + bxd)
P = axbxc
α(P) = {a,b,c}
Q|α(P) = ax(bx1 + cx1)x(cx1 + bx1)
= ax(b + c)x(c + b)
= axbxc + axbxb + axcxb + axcxc
P + Q|α(P) = axbxc + axbxc + axbxb + axcxb + axcxc
= axbxc + axbxb + axcxb + axcxc
= Q|α(P)
Wat betekent dit nu ?
24
Delers zijn de bouwstenen van
verbanden
CARTITEM ≤ SHOPCART
CARTITEM ≤ PRODUCT
SHOPCART ≤ CUSTOMER
CARTITEM = AddITEMx(RemoveITEM+ArchITEM)
SHOPCART = CrCARTx(AddITEM+RemoveITEM+ArchITEM)*xPayITEMxDeliverITEM
CUSTOMER = CrCUSTOMERx(ChCUSTOMER+CrCART+AddITEM+ArchITEM+
RemoveITEM+PayITEM+DeliverITEM)*xEndCUSTOMER
PRODUCT = CrPRODUCTx(ChCUSTOMER+AddITEM+RemoveITEM+
ArchITEM)*xEndPRODUCT
25
INHOUD
1. Bedrijfsvoering met eenvoudige processen
2. Processen beschrijven met algebra
3. Processen doen werken en samenwerken
4. Vragen
26
Processen vertalen zich (bijvoorbeeld)
naar Webpagina’s in een WebPortal
CrCART
PayCART
DeliverCART
AddITEM, RemoveITEM,
ArchITEM

RemoveITEM
CrCART
AddITEM


ArchITEM

PayCART


DeliverCART
27
Processen kunnen alleen samenwerken
als ze elkaar “begrijpen”
• Bedrijven werken in toenemende mate samen
via informaticatoepassingen
– die de processen in een bedrijf automatiseren
• Dan moeten de samenwerkende processen op
zijn minst praten over gemeenschappelijke
gebeurtenissen
– wat samenwerkingsverbanden mogelijk maakt…
• Maar ook elkaar niet tegenspreken bij die
gemeenschappelijke gebeurtenissen
– en dus gemeenschappelijke delers hebben…
28
Een voorbeeld van een
samenwerkingsconflict
CrCART
PayCART
DeliverCART
Bestellingsproces
aan de zijde van de
leverancier…
CrOrder
RecieveORDER
PayORDER
Bestellingsproces
aan de zijde van de
“klant”…
29
Een realistisch voorbeeld: AMAZON
30
Waar situeert zich BELEIDSINFORMATICA ?
32
Oefening: De Donation Bank Gevallenstudie
De Donation Bank is een non-profit organisatie die giften
verzamelt van bedrijven en personen. Giften moeten op jaarbasis
gecertifieerd worden om ze aftrekbaar te maken van de belastingen.
De Donation Bank zoekt en administreert geschikte projecten. Giften
kunnen geheel of gedeeltelijk worden toegewezen aan projecten. Alleen
mag het totaal bedrag van de giften het budget van een project niet
overschrijden. Dat projectbudget wordt vastgelegd bij de definitie van
een project, maar kan nadien nog bijgestuurd worden.
Wanneer een gift, of een gedeelte daarvan gedoneerd wordt aan een
project moet er ook een bevestiging gestuurd worden naar de schenker,
bij voorkeur binnen de twee maanden na de gift.
Het moet mogelijk zijn om personen, giften en projecten te archiveren
wanneer dat nodig mocht zijn. Giften mogen slechts één maal gecertifiëerd worden. De donaties die op het moment van de certifiëring
bekend zijn mogen vermeld worden op het certificatiedocument.
De bevestiging van donaties is echter éénmalig.
33
www.cfp.be
34
Oefeningen
• Bewijs de volgende gelijkheden:
– (axb)*xa = ax(bxa)*
– (axa)*x(1+a) = a*
• Zij gegeven een verzameling gebeurtenissen
{a,b,c}. Bewijs dat voor ALLE processen P
waarvoor α(P)  {a,b,c} , geldt:
P ≤ (a + b + c)*
35
Download