350 likes | 467 Views
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 N D
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 guido.dedene@econ.kuleuven.be
INHOUD 1. Bedrijfsvoering met eenvoudige processen 2. Processen beschrijven met algebra 3. Processen doen werken en samenwerken 4. Vragen
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 bedrijfs-gebeurtenis… • Gebeurtenissen gebeuren op een punt in de tijd • Of worden als dusdanig onderkend
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…
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…
De Object/Event Tabel OET • Met een tabel wordt de beschrijving opgemaakt • met een rekenblad op de computer…
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}
Objecten en verbanden (Relaties) • Objecten kunnen relaties/verbanden hebben met elkaar CAR PERSON
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)
Grafische voorstelling van Relaties • De OET toont de relaties… CUSTOMER 1 0..* SHOP- CART PRODUCT 1 1 0..* 0..* CARTITEM
Grafische voorstelling van Relaties • De OET toont de relaties… • Door op zoek te gaan naar niet geregelde overlappingen ?
Grafische voorstelling van Relaties RESERVATION 0..* 0..* 1 1 MEMBER BOOK 1 1 0..* 0..* LOAN
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 ge-beurtenissen 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…
Deliver- CART Pay- CART Voorbeelden van processen in Objecten • 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 CrCART AddITEM, RemoveITEM ArchITEM
INHOUD 1. Bedrijfsvoering met eenvoudige processen 2. Processen beschrijven met algebra 3. Processen doen werken en samenwerken 4. Vragen
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)
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…
Deliver- CART Pay- CART Bijvoorbeeld… Sequentie CrCART AddITEM, RemoveITEM, ArchITEM Selectie Iteratie
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”
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…
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 + …
Deliver- CART Pay- CART Processen kunnen nu opgeschreven worden als formules… CrCART AddITEM, RemoveITEM, ArchITEM SHOPCART = CrCARTx(AddITEM+ RemoveITEM + ArchITEM)*xPayCARTxDeliverCART
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)
Een voorbeeld… • Q = ax(bxe + cxd)x(cxe + bxd) • Q|α(P) = ax(bx1 + cx1)x(cx1 + bx1) • = ax(b + c)x(c + b) • = axbxc + axbxb + axcxb + axcxc • P = axbxc • α(P) = {a,b,c} • P + Q|α(P) = axbxc + axbxc + axbxb + axcxb + axcxc • = axbxc + axbxb + axcxb + axcxc • = Q|α(P) Wat betekent dit nu ?
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
INHOUD 1. Bedrijfsvoering met eenvoudige processen 2. Processen beschrijven met algebra 3. Processen doen werken en samenwerken 4. Vragen
Deliver- CART Pay- CART Processen vertalen zich (bijvoorbeeld) naar Webpagina’s in een WebPortal CrCART AddITEM, RemoveITEM, ArchITEM Remove- ITEM Add- ITEM CrCART Pay- CART Deliver- CART Arch- ITEM
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…
Deliver- CART Pay- ORDER Pay- CART Recieve- ORDER Een voorbeeld van een samenwerkingsconflict Bestellingsproces aan de zijde van de leverancier… CrCART Bestellingsproces aan de zijde van de “klant”… CrOrder
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 gecer- tifië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.
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 Pwaarvoor α(P) {a,b,c} , geldt: P ≤ (a + b + c)*