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:

  • overlappende feitwaarde-toets;
  • feitwaarde gebaseerde bedrijfsregel reductie-toets;
  • feitwaardevrije label-toets;
  • ongebruikte feittype-toets.

 

Verificatietoets #13: overlappende feitwaarde-toets

De overlappende feitwaarde-toets controleert of er twee bedrijfsregels, in dezelfde beslissing, aanwezig zijn waarbij de feitwaarde(n) van de conditie-feiten overlappen. Als voorbeeld van deze toets, zie beslissing “D – Bereken gewichtsverlies” (figuur 32). In deze beslissing wordt het conditiefeit “Leeftijd” gebruikt om tot de conclusie “gewichtsverlies risico-punten” te komen. In de bedrijfsregels is te zien dat feitwaarden voor het conditiefeit “Leeftijd” in bedrijfsregel 1 en bedrijfsregel 2 overlappen. In bedrijfsregel 1 geldt namelijk het conditefeit “>18 en <=30” en in bedrijfsregels 2: “>25 en <=40”. Wanneer deze situatie voorkomt resulteert dit in een onbruikbare DRD voor de instantie met de feitwaarde 26 tot en met 30.

 

Figuur 32. Beslissing met foutief conclusie-feit

 

De oplossing voor het conflict in figuur 32 kan worden opgelost door de feitwaarde in één van de twee bedrijfsregels aan te passen, figuur 33.

 

Figuur 33. Beslissing met een aangepast conclusie-feit

 

Verificatietoets #14: feitwaarde gebaseerde bedrijfsregel reductie-toets

De feitwaarde gebaseerde bedrijfsregel reductie-toets controleert of er meerdere bedrijfsregels in een beslissing zijn waarvan de feitwaarden van een conditiefeit kunnen worden samengevoegd in één nieuwe bedrijfsregel. Voor de context van het voorbeeld van deze toets, zie beslissing “D – Bereken gewichtsverlies” (figuur 34). In deze beslissing wordt het conditiefeit “Leeftijd” gebruikt om tot de conclusie“gewichtsverlies risico-punten” te komen. In de bedrijfsregels is te zien dat feitwaarden voor het conditiefeit “Leeftijd” in bedrijfsregel 1 en bedrijfsregel 2 overlappen en elkaar aanvullen. In bedrijfsregel 1 geldt namelijk het conditefeit “>18 en <=30” en in bedrijfsregels 2: “>=30 en <=40”. Wanneer deze situatie voorkomt resulteert dit in een overbodige bedrijfsregel. Dit geldt alleen indien de conclusie van de (overlappende of) aanvullende bedrijfsregels hetzelfde zijn.

 

Figuur 34. Beslissing met overlappende feitwaardes

Om te voorkomen dat er overbodige bedrijfsregels worden geformuleerd en beheerd, kunnen de twee bedrijfsregels worden samengevoegd in één nieuwe bedrijfsregel, zie figuur 35.

 

Figuur 35. Beslissing zonder overlappende feitwaardes.

Verificatietoets #15: feitwaardevrije label-toets

De feitwaardevrije label-toets controleert of er conditie- of conclusiefeiten zijn gedefinieerd met een feitwaarde verwerkt in de naam van het conditie- of conclusiefeit. Voor de context van het voorbeeld van deze toets, zie beslissing “D – Beoordeel gewichtspatroon”  (figuur 36). Het conditiefeit in deze beslissing is “vetpercentage 20,5%”. Deze naam bevat de feitwaarde als onderdeel van de naam, namelijk “20,5%”.

 

Figuur 36. Feitlabel met waarde

Het plaatsen van de feitwaarde in de naam, zoals in figuur 36, levert geen onbruikbare DRD en onderliggende bedrijfslogica op. Maar vanuit een beheersperspectief kunnen dit soort situaties extra beheerlast opleveren. Het is daarom een good practice om de feitwaarde te scheiden van naam van de feittype. Om dit probleem op te lossen dient deze scheiding dus te worden gemaakt, ziet de nieuwe bedrijfsregel in figuur 37.

 

Figuur 37. Feitlabel zonder waarde

Verificatietoets #16: ongebruikte feittype-toets

De ongebruikte feittype-toets controleert of er feittypen zijn gedefinieerd in de fact vocabulary, maar niet worden toegepast in de DRD. Het resultaat van de toets is een lijst met deze feittypen.

 

Dit was deel 4 (deel 1 is hier terug te lezen, deel 2 is hier terug te lezen, deel 3 is hier terug te lezen), in deel 5 van Decision Management – Verificatie Toetsen worden de volgende toetsen behandeld: feitwaarde notatie overschrijdings-toets, incomplete feitwaarde-toets, lexicale-toets en definitie-toets.

 

Auteurs: 

Martijn Zoet

Koen Smit

Miranda Lintermans

Ruben Post

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.