Naar de inhoud

Definite Web

Het web is hier

De 3 belangrijkste categorieën computersoftware: functies, verschillen en voorbeelden

Software indelen in drie categorieën (systeemsoftware, applicatiesoftware en ontwikkelsoftware) is nog altijd de meest gangbare indeling. Maar de grens tussen deze categorieën is minder duidelijk…

Développeuse informatique analysant le code d'un système d'exploitation sur deux écrans dans un bureau moderne, illustrant les logiciels système

Software indelen in drie categorieën (systeem-, toepassings- en ontwikkelsoftware) is nog altijd de meest gangbare indeling. De grens tussen deze categorieën is echter minder scherp dan een schoolse indeling doet vermoeden: hetzelfde product kan in een andere categorie vallen, afhankelijk van het gekozen perspectief, zoals functie, implementatie of licentie. Als je begrijpt wat elke categorie concreet doet en waar de toepassingsgebieden elkaar overlappen, kun je beter onderbouwde softwarekeuzes maken.

Vergelijkingstabel van de drie softwarecategorieën

Criterium Systeemsoftware Toepassingssoftware Ontwikkelsoftware
Hoofdfunctie De hardware beheren en een abstractielaag bieden voor andere programma’s Een specifieke gebruikersbehoefte vervullen (tekstverwerking, boekhouding, surfen op internet) Andere software maken, testen en onderhouden
Interactie met de gebruiker Indirect (de gebruiker bedient stuurprogramma’s niet handmatig) Direct (grafische interface of taakgerichte opdrachtregel) Direct, maar bedoeld voor technische gebruikers
Veelvoorkomende voorbeelden Windows, macOS, Linux-distributies, hardwarestuurprogramma’s, BIOS/UEFI LibreOffice, webbrowsers, ERP-systemen, videobewerkingssoftware Visual Studio Code, Git, GCC-compilers, debuggers
Afhankelijkheid Geen andere software werkt zonder deze software Is afhankelijk van het besturingssysteem Is afhankelijk van het besturingssysteem en soms van een doelapplicatie
Updatecyclus Afhankelijk van de hardware en de beveiliging van de kernel Afhankelijk van functies en bugfixes Afhankelijk van de ontwikkeling van programmeertalen en frameworks

Deze tabel benadrukt een punt dat vaak wordt onderschat: systeemsoftware bepaalt hoe alle andere lagen functioneren. Een verouderd grafisch stuurprogramma kan een videobewerkingsprogramma onbruikbaar maken, ook al is dat programma zelf up-to-date.

Wie meer wil weten over de soorten computersoftware en hun subcategorieën, kan het best beginnen met het onderscheid op basis van functie.

Grafisch ontwerper gebruikt op een computer in een thuisstudio creatieve toepassingssoftware, een voorbeeld van toepassingssoftware

Systeemsoftware en toepassingssoftware: waar ligt de grens?

Het onderscheid lijkt vanzelfsprekend: het besturingssysteem beheert de hardware, de applicatie is bedoeld voor de gebruiker. In de praktijk zijn er componenten die deze grens minder duidelijk maken.

Het geval van ingebouwde hulpprogramma’s

Een bestandsbeheerder (Windows Verkenner, Finder op macOS) wordt meegeleverd met het besturingssysteem. De tool vervult een toepassingsfunctie (door documenten bladeren), maar is onlosmakelijk verbonden met het besturingssysteem waarin deze is opgenomen. Hetzelfde geldt voor ingebouwde firewalls en back-uptools.

De betrouwbaarste manier om dit onderscheid te maken: als de software kan worden vervangen door een alternatief van een andere leverancier zonder de kernel aan te passen, valt deze onder de toepassingssoftware. Als verwijdering het opstarten of de stabiliteit van de computer in gevaar brengt, hoort de software bij de systeemlaag.

Stuurprogramma’s en firmware: de onzichtbare laag

Stuurprogramma’s (drivers) vertalen instructies van het besturingssysteem naar opdrachten die de hardware begrijpt. Zonder netwerkstuurprogramma heeft een computer met Linux of Windows geen toegang tot internet, ongeacht welke browser is geïnstalleerd. Een defect stuurprogramma is de belangrijkste oorzaak van hardwareproblemen op een werkstation.

Firmware (BIOS, UEFI) werkt nog een laag lager: deze initialiseert de hardware voordat het besturingssysteem wordt geladen. Firmware wordt zelden bijgewerkt, maar als dat gebeurt, is dat vaak om een ernstig beveiligingslek te verhelpen.

Ontwikkelsoftware: technische tools en afhankelijkheidsrisico’s

Deze derde categorie is voor het grote publiek het minst zichtbaar, maar brengt de andere twee voort. Een compiler zet broncode om in een uitvoerbaar programma. Een geïntegreerde ontwikkelomgeving (IDE) zoals Visual Studio Code combineert een teksteditor, debugger en terminal in één interface.

Typische onderdelen van een ontwikkelomgeving

  • Een broncode-editor met syntaxiskleuring en automatische aanvulling, die het schrijven versnelt en typefouten in de code helpt voorkomen
  • Een versiebeheersysteem (Git is de de facto standaard) dat elke wijziging bijhoudt en het mogelijk maakt terug te keren naar een eerdere projectversie
  • Een compiler of interpreter, afhankelijk van de doeltaal, die de code omzet in instructies die de computer kan uitvoeren
  • Geautomatiseerde testtools die controleren hoe de software werkt voordat deze in productie wordt genomen

Een terugkerende constatering bij softwareprojecten: de ontwikkeltoolchain creëert zelf ook afhankelijkheden. Een project dat op een specifiek framework is gebouwd, wordt moeilijk te onderhouden als dat framework niet meer wordt bijgewerkt. Dit risico op technische afhankelijkheid sluit bovendien aan bij recente zorgen over regelgeving.

Twee IT-professionals analyseren netwerkbeheersoftware in een serverruimte, ter illustratie van softwarecategorieën

Europese regelgeving en de levenscyclus van software

Een functionele indeling van software volstaat niet langer om te bepalen hoe geschikt deze is voor professioneel gebruik. Twee recente Europese verordeningen voegen een regelgevingsdimensie toe aan softwarebeheer.

De DORA-verordening, die sinds 17 januari 2025 van toepassing is, stelt strenge eisen aan de digitale weerbaarheid van financiële entiteiten in de EU. De verordening behandelt onder meer risico’s rond IT-dienstverleners, weerbaarheidstests en contractuele bepalingen voor ICT-diensten. Toepassingssoftware die bij een externe partij als SaaS wordt gehost, valt rechtstreeks binnen dit toepassingsgebied.

De Cyber Resilience Act (Verordening EU 2024/2847), die in december 2024 in werking is getreden, richt zich op digitale producten in brede zin. De belangrijkste verplichtingen gelden vanaf 11 december 2027. Softwarefabrikanten moeten gedurende de volledige levenscyclus van hun product zorgen voor een goede afhandeling van kwetsbaarheden.

Deze twee verordeningen veranderen het perspectief. Systeem-, toepassings- en ontwikkelsoftware wordt niet langer alleen beoordeeld op basis van de functie of prijs. De mate waarin software vervangbaar is en de afhankelijkheid die deze creëert, worden belangrijke keuzecriteria, vooral wanneer één leverancier meerdere softwarecomponenten van een organisatie beheert.

Het onderscheid tussen systeem-, toepassings- en ontwikkelsoftware blijft de basis van digitale geletterdheid. Het helpt inzicht te krijgen in de rol van elke laag. De Europese regelgeving voegt daar een toetsingskader aan toe dat technische besluitvormers niet langer kunnen negeren: het gaat niet alleen meer om wat software doet, maar ook om wat het kost om deze te vervangen.

De 3 belangrijkste categorieën computersoftware: functies, verschillen en voorbeelden