# ISO 9126

De ISO-norm 9126 beschrijft de onderstaande kwaliteitskenmerken van software. Er wordt een zestal hoofdcategorieën onderscheiden die elk weer onderverdeeld zijn in een aantal subcategorieën. Sinds 2011 is ISO 9126 vervangen door ISO 25010.

## Functionaliteit (functionality)
### geschiktheid (suitability)

De aanwezigheid en het voor het doel geschikt zijn van een verzameling functies voor een bepaalde taak (afdekken van alle gewenste functionaliteit).

### juistheid (accuracy)

Juiste, of overeengekomen resultaten worden geproduceerd (klopt de software, komt zij overeen met de eisen)

### koppelbaarheid (interoperability)

De vaardigheid van een applicatie om te kunnen samenwerken met andere applicaties (interfaces).

### beveiligbaarheid (security)

De mogelijkheid om ongeautoriseerde toegang –opzettelijk of per ongeluk- te voorkomen.

### nakomen van functionaliteitsnormen (functionality compliance)

De mate waarin de software voldoet aan de normen en eisen die gesteld zijn voor de functionaliteit.

## Betrouwbaarheid

(reliability)

### bedrijfszekerheid

(maturity) De mate waarin het pakket storingen kan voorkomen die optreden als gevolg van fouten in de software.

### foutbestendigheid

(fault tolerance) Stabiliteit, ofwel het risico van onverwachte gevolgen door aanpassingen. Daarnaast de mogelijkheid diensten te blijven leveren, ook al treden er softwarefouten op.

### herstelbaarheid

(recoverability) Na een storing: de mogelijkheden die in het systeem ingebouwd zijn om terug te keren op het afgesproken niveau van de dienstverlening en om verstoorde gegevens in de gewenste staat terug te brengen.

### nakomen van betrouwbaarheidsnormen

(reliability compliance) De mate waarin de software voldoet aan de normen en eisen die gesteld zijn voor de betrouwbaarheid.

## Bruikbaarheid

(usability)

### begrijpelijkheid

(understandability) De inspanning die de gebruiker moet verrichten om de applicatie te begrijpen.

### leerbaarheid

(learnability) De inspanning die een gebruiker moet steken in het leren gebruiken van een applicatie.

### bedienbaarheid

(operability) De inspanning die nodig is voor het beheren en beheersen van de uitvoering van een applicatie.

### aantrekkelijkheid

(attractiveness) De mogelijkheden van het systeem om door de gebruiker als positief ervaren te worden.

### nakomen van bruikbaarheidsnormen

(usability compliance) De mate waarin de software voldoet aan de normen en eisen die gesteld zijn voor de bruikbaarheid.

## Efficiëntie

(efficiency)

### responsiesnelheid

(time behaviour) De tijd die verstrijkt tussen het ingeven en afronden van een opdracht. Hiermee hangen samen de responsetijden (hoe snel reageert het scherm), verwerkingstijden (hoelang doet de computer over het verwerken), doorvoersnelheden (wat zijn de snelheden waarmee gegevens tussen hardwarecomponenten gecommuniceerd worden).

### middelenbeslag

(resource behaviour) De middelen die nodig zijn voor het volledig uitvoeren van een opdracht. Het gaat om alle hardware-middelen (processor, geheugen, netwerk, etc.) en om de tijd waarin die middelen nodig zijn.

### nakomen van efficiëntie normen

(efficiency compliance) De mate waarin de software voldoet aan de normen en eisen die gesteld zijn voor de efficiëntie.

### schaalbaarheid

(scalability) De mate waarin software verticaal (additionele middelen) en horizontaal (additionele servers) kan worden opgeschaald en welke invloed het opschalen heeft op de beschikbaarheid van de software (service window).

## Onderhoudbaarheid

(maintain-ability)

### analyseerbaarheid

(analysability) Wat voor inspanning is nodig om bij het optreden van fouten een diagnose te stellen, wat is er nodig om de oorzaak van fouten te vinden (root cause analysis). Hierin speelt ook de ingewikkeldheid van de omgeving een rol.

### wijzigbaarheid

(changeability) Hoeveel moeite kost het om software te wijzigen, bijvoorbeeld om fouten te herstellen?

### stabiliteit

(stability) Het minimaliseren en/of voorkomen van onverwachte gevolgen van wijzigingen in de software (afhandelen van changes zonder beïnvloeding werkomgeving).

### testbaarheid

(testability) De mogelijkheid om wijzigingen in de software te valideren (om te beoordelen of de wijzigingen correct, volgens specificatie, uitgevoerd zijn).

### nakomen van onderhoudbaarheidsnormen

(maintainability compliance) De mate waarin de software voldoet aan de normen en eisen die gesteld zijn voor de onderhoudbaarheid.

## Overdraagbaarheid

(portability)

### aanpasbaarheid

(adaptability) De mogelijkheid van software om in een andere omgeving te draaien zonder dat extra acties uitgevoerd moeten worden (buiten de specifieke acties die in de software ingebouwd zijn).

### installeerbaarheid

(installability) De mogelijkheid om software in een bepaalde omgeving te installeren.

### verdraagzaamheid

(co-existence) De mogelijkheden van software om samen met andere software te kunnen functioneren in een omgeving, waarbij ieder gebruikmaakt van gemeenschappelijke voorzieningen (b.v de mogelijkheid van het draaien van meerdere programma's tegelijkertijd op een pc).

### vervangbaarheid

(replaceability) In hoeverre is het eenvoudig de software te vervangen door andere software die min of meer hetzelfde uit kan voeren?

### nakomen van overdraagbaarheidsnormen

(portability compliance) De mate waarin de software voldoet aan de normen en eisen die gesteld zijn voor de overdraagbaarheid.