In het artikel Een model voor procesondersteuning in software - Scheiden van functie- en sturingsaspecten van Danny Greefhorst en Ferd Lelieveld, passeren een aantal belangrijke basisgrippen de revu met betrekking tot processen en werkstromen.
Volgens Greefhorst en Leliveld kent een bedrijfsproces twee aspecten: het functionele en het sturingsaspect.
"Het functionele aspect beschrijft de transformatie van invoer naar uitvoer, bijvoorbeeld door het uitvoeren van een berekening. Het sturingsaspect beschrijft op welk moment in tijd, in welke volgorde en door wie processen worden uitgevoerd. Denk bijvoorbeeld aan het afdwingen van een vier-ogen principe. Processen kunnen door mensen worden uitgevoerd, maar ook gedeeltelijk of volledig door geautomatiseerde systemen.
Processen kunnen verschillend van aard zijn. Enerzijds langdurig en complex, waarbij verschillende mensen en systemen een bijdrage moeten leveren. Anderzijds kunnen zij ook kort van duur zijn en door één mens of systeem worden uitgevoerd. Lange tijd was de besturing het onderwerp van alleen managers en bedrijfskundigen. Tegenwoordig is de IT-inrichting bepalend: de snelheid, transparantie en automatiseringsgraad van efficiënt uitgevoerde bedrijfsprocessen bepalen de concurrentiepositie."
Greefhorst en Leliveld beschrijven processen in termen van een drielagen model. Binnen dit model maken zij onderscheid tussen processen, activiteiten en taken:
-
Processen zijn langlopend en worden veelal door meerdere mensen en systemen uitgevoerd. Ze plaatsen uit te voeren activiteiten in een logische volgorde en specificeren uitvoerende rollen en verantwoordelijkheden.
-
Een activiteit is een eenheid van tijd, plaats en handeling en kan ononderbroken door één persoon of systeem worden uitgevoerd. Aan het einde van een activiteit wordt werk veelal overgedragen aan een ander persoon of systeem. Binnen een activiteit worden één of meer taken uitgevoerd, waarbij de volgorde van taken vaak niet van belang is.
-
Een taak is een hoeveelheid werk die binnen een korte hoeveelheid tijd wordt uitgevoerd en die altijd in zijn geheel moet slagen of falen.
Als het gaat om de rol van software bij het uitvoeren van processen, wijzen Greefhorst en Lelieveld erop dat een proces een functie- en een sturingsaspect heeft en dat het dan ook logisch is dat de rol van software tweeledig is. "In de eerste rol is software verantwoordelijk voor het uitvoeren van transformaties (functie). In de tweede rol bestuurt software het proces". Bij het besturen van een proces kan het gaan om activiteiten die door zowel mensen als software worden uitgevoerd. Beide vormen van sturing hebben als gemeenschappelijk kenmerk dat bij het optreden van een gebeurtenis moet worden bepaald welke volgende activiteit of taak moet worden uitgevoerd en door wie (of wat). Deze keuzen kunnen van tevoren zijn vastgelegd of kunnen zijn gebaseerd op de huidige toestand van het proces. In dat laatste geval zijn er regels nodig die werken op de procestoestand, zoals condities of algoritmen.
In het model van Greefhorst en Lelieveld zijn de workflowmanager, toepassingen en services belangrijke componenten. Workflow managers zijn gericht op het sturen van langlopende processen en activiteiten. Toepassingen zijn functionele componenten waarmee gebruikers activiteiten kunnen uitvoeren. Zij maken gebruik van herbruikbare services waarin bedrijfslogica en -gegevens zijn gedefinieerd.
"Workflow managers en modernere case-managers besturen processen en activiteiten. Deze sturing wordt vastlegd in de vorm van procesdefinities waarin staat wat de volgorde, routering, autorisatie en inhoud van de uit te voeren activiteiten is. Bij veel workflow
management tools ligt de nadruk op ondersteuning van processen die door gebruikers worden uitgevoerd, maar er zijn ook tools die langlopende geautomatiseerde processen ondersteunen. Processen van de eerste soort worden op verzoek van gebruikers gestart, waarna vervolgactiviteiten uit een werkbak te selecteren zijn. Het starten van een proces resulteert in een procesinstantie (ook wel “case” genoemd) waarin de procesgegevens worden geadministreerd.
Toepassingen ondersteunen gebruikers in het uitvoeren van activiteiten. Zij bevatten de realisatie van één of meer use-cases, die worden geactiveerd door een workflow manager. Een use-case bestaat uit een opeenvolging van schermen en taken die worden geactiveerd op basis van handelingen van de gebruiker.
Een service is een herbruikbare dienst met een gestandaardiseerde interface die wordt aangeboden door een softwarecomponent. Een service is bijvoorbeeld het opvragen van basisgegevens van een bepaalde klant. Het softwarecomponent dat de service realiseert
is afhankelijk van andere componenten waarin de daadwerkelijke bedrijfslogica is gedefinieerd. Afhankelijk van de ontwikkelmethode kunnen dit procedurele componenten zijn of componenten die een bepaald bedrijfsobject representeren. Denk hierbij aan bedrijfs-
objecten als “klant”, “overeenkomst” en “factuur”.
Bron: Een model voor procesondersteuning in software - Scheiden van functie- en sturingsaspecten, Danny Greefhorst en Ferd Leliveld, in: Software Release Magazine 4 (juni 2002)
Reacties