Management informatiesystemen Logic modeling (2017-2018) Planning MIS 2017-2018 (Blackboard) HC logic modeling en BT 2 Studieleidraad WZ (cursustekst) HC logic modeling en BT 3 Inhoud HC Logic modeling en BT Inleiding (data - data flow - logic) Technieken voor logic modeling Decision tables Decision trees Structured language Beslissingsmodellen in de processen en programmalogica. conditions, actions and decision rules voorbeelden en oefening Illustratie Decision modeling tool HC logic modeling en BT 4 Componenten informatiesysteem (cursus pg 7) Data en databases Welke gegevens hebben we nodig en hoe worden deze opgeslagen in databases? Data Flow Hoe stromen de gegevens (input en output) door de verschillende processen? Processing Logic Welke beslissingsregels transformeren de data naar informatie en resultaten? HC logic modeling en BT 5 Data – Data Flow - Processing Logic HC logic modeling en BT 6 Vb Data Flow Diagram (cursus pg 8) ‘Bedrijfsinformatiesystemen’ (K. Laudon en J. Laudon) HC logic modeling en BT 7 Situering data en beslissingen in een DFD Voorbeeld dataflowdiagram (DFD) studentenadministratie (zie figuur 12.5) Data zitten in de dataflows en de datastores. Vb. Welke gegevens worden bijgehouden van de studenten en de vakken? Hoe zijn deze aan elkaar gekoppeld? Deel 2 en deel 3 van de cursus Beslissingen worden ingebouwd in de processen en maken gebruik van de data. Vb. Gaat het hier om een nieuwe student of om een herinschrijving? Is er voldaan aan de voorkennis voor een specifiek opleidingsonderdeel? Deel 4 van de cursus HC logic modeling en BT 8 1. Technieken voor logic modeling (pg 86) Beslissingsregels ontwerpen, waarin acties worden uitgevoerd wanneer bepaalde voorwaarden voldaan zijn. Vb. Indien een klant contant betaalt, krijgt hij korting. Indien een personeelslid een goede evaluatie krijgt, wordt een bonus gegeven. Indien een leverancier niet tijdig levert, wordt gezocht naar een andere leverancier. Technieken voor logic modeling 1. Decision tables 2. Decision trees 3. Structured language HC logic modeling en BT 9 1.1. Beslissingstabel Voorbeeld loonsysteem: Veronderstel dat in bedrijf ABC twee soorten werknemers tewerkgesteld zijn. Werknemers die werken op basis van een vast salaris, ontvangen maandelijks een basissalaris, onafhankelijk van het aantal gewerkte uren. Voor werknemers die betaald worden op basis van een uurloon, wordt gewerkt met een 40-uren werkweek. Het loon wordt berekend aan de hand van het aantal werkelijk gepresteerde werkuren. Indien deze werknemers meer dan 40 uren werken, ontvangt men extra loon voor de gewerkte overuren. Indien er minder dan 40 uren gewerkt wordt, wordt een afwezigheidsrapport gemaakt. HC logic modeling en BT 10 1.2. Beslissingsboom HC logic modeling en BT 11 1.3. Gestructureerde taal Do INPUT employee, uren If employee = “Salaried” then : Pay_Base_Salary Else If uren < 40 then Pay_Hourly_Wage Produce_Absence_Report ElseIf uren = 40 then : Pay_Hourly_Wage Else Pay_Hourly_Wage Pay_Overtime_Wage EndIf EndIf Loop Until End-Of-Input HC logic modeling en BT 12 2. Werkwijze opstellen condities en acties a. Bestudeer het beslissingsproces b. Maak lijst met de te testen voorwaarden en hun mogelijke waarden Boolean met mogelijke waarden ja of nee vb. Reeds klant: ja, nee In bestelling: ja, nee Opsomming mogelijke waarden vb. Burgerlijke staat: gehuwd, ongehuwd, gescheiden, weduwe(naar) Afdeling: inkoop, verkoop, administratie, informatica, personeelszaken Intervallen met beneden- en bovengrenzen vb. Leeftijd: x<=12, 12<x<=30, 30<x<=65, x>65 Percentage: P<50, 50<=P<70, P>=70 HC logic modeling en BT 13 2. Werkwijze opstellen condities en acties c. Maak lijst met alle mogelijke acties Vb. Geef premie Recht op studietoelage Maak nieuwe klantenkaart d. Combineer condities en acties tot beslissingsregels Vb. IF ‘Reeds klant’ = ‘nee’ THEN ‘Maak nieuwe klantenkaart’ IF ‘Burgerl. staat’ = ‘gehuwd’ AND ‘30<Leeftijd<=65’ THEN ‘Geef premie’ HC logic modeling en BT 14 3. Condities met boolean waarden Voorbeeld financiële instelling Veronderstel dat een Belgische financiële instelling overweegt om volgende regel toe te passen. Een klant die 3000 euro of meer spaart per jaar en daarenboven ofwel steeds een positief saldo heeft gehad, ofwel reeds meer dan 20 jaar klant is, krijgt een premie. De andere klanten krijgen geen premie. Condities: Per jaar 3000 euro of meer gespaard: J/N Saldo steeds positief: J/N Meer dan 20 jaar klant: J/N Acties: Geef premie Geef geen premie HC logic modeling en BT 15 3. Condities met boolean waarden Vier zones: Conditiestrook Actiestrook Regelmatrix Acties Geëxpandeerde beslissingstabel HC logic modeling en BT 16 5. Opsporen van problemen De uitgebreide (expanded) tabel bevat alle combinaties van waarden in de condities! Controleer de beslissingstabel op: onvolledigheden tegenstrijdigheden en onduidelijkheden Bij onduidelijkheid over de te nemen acties, wordt de tekst - ter aanpassing - teruggestuurd naar de gebruiker. HC logic modeling en BT 17 6. Reduceer de tabel Vereenvoudig de tabel door aanduiding van onmogelijkheden en indifferenties. 6.1 Onmogelijkheden Controleer of er combinaties van condities zijn, die in de realiteit niet kunnen voorkomen. Vb. Indien de leeftijd < 20 jaar kan deze persoon niet meer dan 20 jaar klant zijn. Beslissingsregel schrappen, niet programmeren. HC logic modeling en BT 18 6.2 Indifferenties Zoek regels waarvoor de actie onafhankelijk (indifferent) is van de waarde van een bepaalde conditie. Vb. indien een klant minder dan 3000 euro per jaar spaart, krijgt hij geen premie. De andere condities (saldo en aantal jaren klant) moeten in dit geval niet meer getest worden in het programma. De betreffende kolommen worden samen genomen tot 1 kolom in de gereduceerde tabel HC logic modeling en BT 19 Expanded reduced table Doel: minder testen en beslissingsregels inbouwen programmalogica vereenvoudigen, performanter HC logic modeling en BT 20 7. Alternatieve voorstelling van een BT • Groepeer de waarden van de condities • Geef de beslissingsregels (kolommen) een nummer Regel 5-8 kunnen samengetrokken tot 1 regel, indifferentie t.o.v saldo en aantal jaren klant Regel 1 en 2 kunnen samengenomen, indifferentie tov aantal jaren klant HC logic modeling en BT 21 Vereenvoudigde (reduced) tabel De kolommen met indifferentie worden samengetrokken tot één kolom waarbij een streepje ("-") wordt ingevuld voor de waarden van de conditie die niet meer getest moet worden. Voor de overige condities worden de waarden ingevuld. HC logic modeling en BT 22 8. Condities met opsomming waarden Voorbeeld personeelsbeleid In een productiebedrijf in het centrum van Brussel, worden een aantal nieuwe maatregelen voorgesteld ten behoeve van het personeel. Het betreffende personeel is tewerkgesteld in twee afdelingen (productie en administratie) en kan ingedeeld worden in drie verschillende looncategoriën (A, B en C). Om te bepalen wie recht heeft op welke maatregel, wenst men een beslissingstabel op te stellen. Hieronder worden enkele van de voorgestelde nieuwe regels gegeven: Personeelsleden uit de afdeling administratie, die buiten de zone Brussel wonen, krijgen de mogelijkheid om 1 dag in de week thuis te werken. Dit om tegemoet te komen aan de klachten in verband met fileproblemen. Voor de personeelsleden uit de productieafdeling en voor de personeelsleden die in de zone Brussel wonen, wordt ter compensatie een extra dagvergoeding voor woon-werkverkeer gegeven. In het bedrijf zijn er 3 looncategorieën namelijk A, B en C. Personeelsleden in de looncategorie C krijgen een loonsverhoging van 1%. Personeelsleden in de andere looncategoriën krijgen 2% loonsverhoging. HC logic modeling en BT 23 Analyseer de tekst Voorbeeld personeelsbeleid In een productiebedrijf in het centrum van Brussel, worden een aantal nieuwe maatregelen voorgesteld ten behoeve van het personeel. Het betreffende personeel is tewerkgesteld in twee afdelingen (productie en administratie) en kan ingedeeld worden in drie verschillende looncategoriën (A, B en C). Om te bepalen wie recht heeft op welke maatregel, wenst men een beslissingstabel op te stellen. Hieronder worden enkele van de voorgestelde nieuwe regels gegeven: Personeelsleden uit de afdeling administratie, die buiten de zone Brussel wonen, krijgen de mogelijkheid om 1 dag in de week thuis te werken. Dit om tegemoet te komen aan de klachten in verband met fileproblemen. Voor de personeelsleden uit de productieafdeling en voor de personeelsleden die in de zone Brussel wonen, wordt ter compensatie een extra dagvergoeding voor woon-werkverkeer gegeven. In het bedrijf zijn er 3 looncategorieën namelijk A, B en C. Personeelsleden in de looncategorie C krijgen een loonsverhoging van 1%. Personeelsleden in de andere looncategoriën krijgen 2% loonsverhoging. HC logic modeling en BT 24 Voorbeeld personeelsbeleid Condities: C1 afdeling: productie (P) – administratie (A) C2 postcode: in zone Brussel (IB) – buiten zone Brussel (BB) C3 looncategorie : A –B –C Regelmatrix: = 2 (P, A) * 2 (IB, BB) * 3 (A, B, C) 12 regels Acties: A1: A2: A3: A3: 1 dag thuis werken mogelijk extra dagvergoeding loonsverhoging van 1% loonsverhoging van 2% HC logic modeling en BT 25 Geëxpandeerde tabel (2 voorstellingen) HC logic modeling en BT 26 9. Condities met intervallen Voorbeeld loonsysteem: Veronderstel dat in bedrijf ABC twee soorten werknemers tewerkgesteld zijn. Werknemers die werken op basis van een vast salaris, ontvangen maandelijks een basissalaris, onafhankelijk van het aantal gewerkte uren. Voor werknemers die betaald worden op basis van een uurloon, wordt gewerkt met een 40-uren werkweek. Het loon wordt berekend aan de hand van het aantal werkelijk gepresteerde werkuren. Indien deze werknemers meer dan 40 uren werken, ontvangt men extra loon voor de gewerkte overuren. Indien er minder dan 40 uren gewerkt wordt, wordt een afwezigheidsrapport gemaakt. Condities: Type werknemer: Salaris – Uurloon Aantal gewerkte uren: < 40, = 40, > 40 Acties: Betaal basissalaris Bereken uurloon Bereken loon van overuren Maak afwezigheidsrapport HC logic modeling en BT 27 Voorbeeld loonsysteem (intervallen) Geëxpandeerde (expanded) tabel Vereenvoudigde (reduced) tabel HC logic modeling en BT 28 Oefening: Uitbreiding vb1, kistje wijn Uitbreiding: Een klant krijgt een kistje wijn, indien hij 10 jaar of langer klant is; onafhankelijk van het al dan niet verkrijgen van de premie. Aanpassing condities? Aanpassing acties? HC logic modeling en BT 29 Illustratie decision modeling tool HC logic modeling en BT 30 Vb. Beslissingsproces behandeling verzekeringsclaim Incoming claim triggers the process! Bepaal of deze claim toegankelijk is. Resultaat van de test: yes, no, provisional HC logic modeling en BT 31 Vb. Rule family table for Claim admissibility • 2 conditions (fact types): • Data correctness • Payment behaviour • Conclusion: accept yes / provisional / no HC logic modeling en BT 32 Voorbereiding werkzitting BT Oef 1: bibliotheek Oef 2: orderbehandeling HC logic modeling en BT 33