Een onderwerp wat vaak terugkomt bij discussies over bedrijfsregels management, decision management maar ook bij smart contract management is verificatie. Ook is het een onderwerp waar vaak discussie over ontstaat. Vragen die hierbij aan de orde komen zijn: “Wat is verificatie?”, “Is er een checklist om verificatie uit te voeren?” en “Wat zijn punten waarop beslissingen, bedrijfsregels en smart contracts geverifieerd dienen te worden?”
Om deze laatste vraag te beantwoorden brengen wij een zesdelige serie (dit is deel 4) over verificatietoetsen voor decision requirements diagramen, bedrijfsregels en feittype uit (de onderdelen waar ook een smart contract uit bestaat). In deze reeks miniartikelen worden de verschillende typen verificatietoetsen omschreven. Elke omschrijving bestaat uit de daadwerkelijk toets waarmee een verificatiefout wordt gecontroleerd en één of meerdere voorbeelden. De voorbeelden zijn gebaseerd op een casus uit de medische wereld met betrekking tot het bepalen van het ondervoedingsrisico voor een patient, zie figuur 0.
Figuur 0. Bepaal risico op ondervoeding – lopend voorbeeld om de toetsen te illustreren
In de totaal zes artikelen worden er 24 verificatietoetsen behandeld. Deze 24 verificatie toetsen zijn:
- conclusie-toets;
- conditie-toets;
- ongebruikte beslissings-toets;
- ontbrekende bedrijfslogica-toets;
- niet-gekoppelde feitwaarde-toets;
- circulariteit-toets;
- transitieve afhankelijkheid-toets;
- conflicterende conclusie-toets.
- identieke bedrijfsregel-toets;
- equivalente bedrijfsregel-toets;
- ondergeschikte bedrijfsregel-toets;
- overbodige conditiefeit-toets;
- overlappende feitwaarde-toets;
- feitwaarde gebaseerde bedrijfsregel reductie-toets;
- feitwaardevrije label-toets;
- ongebruikte feittype-toets;
- feitwaarde notatie overschrijdings-toets;
- incomplete feitwaarde-toets;
- lexicale-toets;
- definitie-toets;
- conformiteit met standaard-toets;
- declarativiteit-toets;
- omissie-toets;
- atomaire-toets.
In dit artikel worden de volgende verificatie-toetsen behandeld:
- feitwaarde notatie overschrijdings-toets;
- incomplete feitwaarde-toets;
- lexicale-toets;
- definitie-toets;
Verificatietoets #17: feitwaarde notatie overschrijding-toets
De feitwaarde notatie overschrijding-toets controleert of de feitwaarden in een bedrijfsregel zijn genoteerd volgens de daarvoor opgestelde eisen. De context voor het voorbeeld van deze toets is beslissing “D – Bereken gewichtsverlies” (figuur 38). Een voorbeeld van een eis is dat feitwaarden die een getal representeren moeten worden uitgeschreven in cijfers en niet in woorden. Dit betekent dat het getal vijf moeten worden uitgeschreven als een 5. In de huidige bedrijfsregels, zoals gepreseteerd in figuur 38 is dat niet het geval.
Figuur 38. Beslissing met uitgeschreven cijfers
Het niet volgens de conventies, zoals in figuur 38, schrijven van de feitwaarde levert niet per se een onbruikbare DRD en onderliggende bedrijfslogica op. Toch kan dit wel het geval zijn als de uitrolmechanismes van de organisatie hierop afgestemd zijn. Daarnaast is het aan te bevelen om conventies op te stellen en deze te verifiëren. In het huidige voorbeeld moet de bedrijfregel worden aangepast naar de bedrijfsregel in figuur 39 om aan de conventies te voldoen.
Figuur 39. Beslissing conform de notatie
Verificatietoets #18: incomplete feitwaarden-toets
De incomplete feitwaarden-toets controleert of een feittype als feitwaarde een range (array) aanduiding kent of deze dan ook daadwerkelijk een range (array) bevat. De context van het voorbeeld van deze toets is beslissing “D – Bereken gewichtsverlies” (figuur 40). In deze beslissing is te zien dat de feitwaarde als volgt is: “Tussen => 5%”. Het woord “tussen” impliceert dat er minimaal twee waarden in de feitwaarde genoemd dienen te worden.
Figuur 40. Beslissing met een range keyword
De situatie zoals getoond in figuur 40 levert een onbruikbare DRD en onderliggende bedrijfslogica op. Hoe kan deze situatie ontstaan? Dit gebeurt wanneer bedrijfsregels met ranges worden geformuleerd en daarna worden aangepast. Sommige tools houden deze verandering tegen, maar sommige ook niet. Om in deze situatie het probleem op te lossen dient de range weer compleet gemaakt te worden, in dit specfieke geval “Tussen => 5% en 10%”, zie figuur 41.
Figuur 41. Beslissing met correcte databinding
Verificatietoets #19: lexicale-toets
De lexicale-toets controleert of elk onderdeel van de DRD (inclusief onderliggende bedrijfslogica) grammaticaal en machinaal correct geschreven zijn. Voor context van het voorbeeld van deze toets, zie beslissing “D – Bereken gewichtsverlies” (figuur 42). In deze beslissing kan elk van de verschillende elementen verkeerd worden geschreven. In dit specifieke geval is er binnen bedrijfsregel 1 een woord verkeerd geschreven, namelijk “geleik” in plaats van “gelijk”.
Figuur 42. Beslissing met een machinale fout
De situatie zoals getoond in figuur 42 levert een onbruikbare DRD en onderliggende bedrijfslogica op. In dit specifieke geval kan de fout eenvoudig worden opgelost door het woord gelijk correct te spellen, namelijk met een “ij”, zie figuur 43.
Figuur 43. Beslissing met correcte spelling
Verificatietoets #20: definitie-toets
De definitie-toets controleert of een feittype gedocumenteerd en gedefinieerd is. Als een feittype niet gedefinieerd en gedocumenteerd is kan het onduidelijk voor zowel bedrijfsregelanalisten als eindgebruikers zijn wat een feittype precies voorstelt. Een voorbeeld hiervan zijn de feittypes: “gewicht patiënt” en “gewicht”. Als deze feittypes niet ondersteund worden met documentatie kunnen de feittypen met elkaar verward worden. Let op: deze toets controleert alleen de aanwezigheid van een definitie, maar niet of de definitie correct is.
Dit was deel 5 (deel 1 is hier terug te lezen, deel 2 is hier terug te lezen, deel 3 is hier terug te lezen, deel 4 is hier terug te lezen), in deel 6 van Decision Management – Verificatie Toetsen worden de volgende toetsen behandeld: conformiteit met standaard-toets, declarativiteit-toets, omissie-toets en de atomaire-toets.
Auteurs:
Mocht u al vragen of interesse hebben, neem dan contact op via: info@martijnzoet.com of bekijk de cursus: “Verificatie van beslissingen en bedrijfsregels”, waarin elk van deze onderdelen wordt behandeld.