IT-Regie

The business of IT for the business



  • Home
  • Artikelen
  • Bibliotheek
    • Begrippen
    • Bookmarks
    • Readers
  • Over
    • Copyright
    • Leeswijzer
    • Privacy policy
    • Reageer
    • Website techniek
Home / Bibliotheek / Begrippen / Software quality

Software quality

22 feb 2015 Gérard 5 minuten leestijd

Software quality, in het Nederlands softwarekwaliteit of software productkwaliteit, is de mate waarin een softwareproduct of computersysteem, onder bepaalde condities, voldoet aan de uitgesproken en veronderstelde behoefte van belanghebbenden en daardoor waarde levert (ISO 25010, 2010).

Onderstaande uitwerking is voornamelijk gebaseerd op ISO-norm 25010 voor System and software Quality Requirements and Evaluation (SQuaRE). Gecomineerd met ISO-25010 zijn er drie kwaliteitsmodellen: 1) productkwaliteit, 2) productkwaliteit voor agility en 3) kwaliteit tijdens gebruik.

Softwarekwaliteit – Productkwaliteit
Het ISO 25010 productkwaliteitsmodel onderscheidt 8 categorieën die onderverdeeld zijn in 31 product kwaliteitseigenschappen. Dit worden ook wel de interne en externe kwaliteitseigenschappen genoemd.
ISO25010-Product Quality Model

Geschiktheid (Functional suitability) De mate waarin de functies van een softwareproduct of computersysteem, onder bepaalde condities, voldoet aan de uitgesproken en veronderstelde behoeften. Merk op dat het hier gaat om het voldoen aan de uitgesproken (expliciete) en veronderstelde (impliciete) behoefte en niet om te voldoen aan de in functionele specificaties vertaalde behoefte. Kwaliteitseigenschappen zijn: functionele compleetheid (functional completeness), functionele correctheid (functional correctness) en functionele toepasselijkheid (functional appropriateness).
Prestatie-efficiëntie (Performance efficiency) De prestaties in verhouding tot de hoeveelheid middelen gebruikt onder genoemde condities. Kwaliteitseigenschappen zijn: snelheid (time-behaviour), middelenbeslag (resource utilization) en capaciteit (capacity).
Uitwisselbaarheid (Compatibility) De mate waarin een softwareproduct of systeem informatie uit kan wisselen met andere producten, systemen of componenten, en/of het de gewenste functies kan uitvoeren terwijl het dezelfde hard- of software-omgeving deelt. Kwaliteitseigenschappen zijn: beïnvloedbaarheid (co-existence) en koppelbaarheid (interoperability).
Bruikbaarheid
(Usability)
De mate waarin een softwareproduct of systeem gebruikt kan worden door gespecificeerde gebruikers om effectief, efficiënt en naar tevredenheid gespecificeerde doelen te bereiken in een gespecificeerde gebruikscontext. Kwaliteitseigenschappen zijn: herkenbaarheid van geschiktheid (appropriateness recognisability), leerbaarheid (learnability), bedienbaarheid (operability), voorkomen gebruikersfouten (user error protection), volmaaktheid gebruikersinteractie (user interface aesthetics) en toegankelijkheid (accessibility).
Betrouwbaarheid (Reliability) De mate waarin een softwareproduct of systeem gespecificeerde functies uitvoert onder gespecificeerde condities gedurende een gespecificeerde hoeveelheid tijd. Kwaliteitseigenschappen zijn: volwassenheid (maturity), beschikbaarheid (availability), foutbestendigheid (fault tolerance) en herstelbaarheid (recoverability).
Beveiligbaarheid (Security) De mate waarin een softwareproduct of systeem informatie en gegevens beschermt zodat personen, andere producten of systemen de juiste mate van gegevenstoegang hebben passend bij hun soort en niveau van autorisatie. Kwaliteitseigenschappen zijn: vertrouwelijkheid (confidentiality), integriteit (integrity), onweerlegbaarheid (non-repudiation), verantwoording (accountability) en authenticiteit (authenticity).
Onderhoudbaarheid (Maintainability) De mate waarin een softwareproduct of systeem effectief en efficiënt gewijzigd kan worden. Onderhoudbaarheid betreft de structurele of interne kwaliteit van de software (Wikipedia, 2015). Kwaliteitseigenschappen zijn: modulariteit (modularity), herbruikbaarheid (reusability), analyseerbaarheid (analysability), wijzigbaarheid (modifiability) en testbaarheid (testability).
Overdraagbaarheid (Portability) De mate waarin een softwareproduct of systeem effectief en efficiënt overgezet kan worden van een operationele infrastructuur naar een andere. Kwaliteitseigenschappen zijn: aanpasbaarheid (adaptability), installeerbaarheid (installability) en vervangbaarheid (replaceability).


Softwarekwaliteit – Productkwaliteit voor agility

Met de eis voor de steeds snellere levering van nieuwe en gewijzigde software worden steeds vaker kwaliteitseigenschappen van softwareproducten genoemd die gericht zijn op agility. Deze producteigenschappen geven invulling aan agile slogans als ‘Architecting for deployability’ of ‘Build for change’. Naast bovenstaande 8 hoofdcategorieën uit ISO25010 worden nieuwe agile kwaliteitseigenschappen genoemd als evolvability (Breivold et al, 2009) en deployability (Bellomo, 2014).

ISO25010-Product Quality of Agility

Evolueerbaarheid
(Evolvability)
Het vermogen tot aanpassing ven een softwareproduct aan veranderingen in de omgeving, de requirements en de technologie die impact hebben op het softwareproduct in termen van structurele en/of functionele verbeteringen zonder dat de aanpassing afbreuk doet aan de architecturale integriteit (Breivold et al, 2009).
Releasebaarheid
(Deployability)
De mate waarin het softwareproduct frequente en betrouwbare uitlevering in een productieomgeving mogelijk maakt. Kwaliteitseigenschappen zijn automatische bouwbaarheid (build), automatische testbaarheid (testability), integreerbaarheid (integrate), automatische releasebaarheid (deploy) en onafhankelijkheid (independance, reducing ripple effect).

Opmerking: Deze kwaliteitseigenschappen zijn geen onderdeel van ISO 25010.

Softwarekwaliteit – Kwaliteit tijdens gebruik
Het ISO 25010 model voor kwaliteit tijdens gebruik onderscheidt 5 categorieën die onderverdeeld zijn in 11 kwaliteitseigenschappen.

ISO25010-Quality in Use Model

Effectiviteit (Effectiveness) De nauwkeurigheid en volledigheid waarmee belanghebbenden gespecificeerde doelen behalen.
Efficiëntie (Efficiency) De benodigde hulpbronnen die gebruikt zijn in verhouding tot de nauwkeurigheid en volledigheid waarmee belanghebbenden doelen behalen.
Voldoening (Satisfaction) De mate waarin behoeften vervuld worden als het softwareproduct of systeem gebruikt wordt in een gespecificeerde gebruikscontext. De kwaliteitseigenschappen zijn: bruikbaarheid (usefullness), vertrouwen (trust), tevredenheid (pleasure) en welzijn (comfort).
Vrijwaring tegen risico (Freedom from risk) De mate waarin een softwareproduct of systeem het potentiële risico beperkt met betrekking tot economische status, mensenlevens, gezondheid of de omgeving. De kwaliteitseigenschappen zijn: economische risico beperking (economic risk mitigation), gezondheid- en veiligheidsrisico beperking (health and safety risk mitigation) en omgevingsrisico beperking (environmental risk mitigation).
Context dekking (Context coverage) De mate waarin een softwareproduct of systeem gebruikt kan worden met effectiviteit, efficiëntie, vrijheid van risico en voldoening zowel in de gespecificeerde gebruikscontexten als in niet initieel gespecificeerde gebruikscontexten. De kwaliteitseigenschappen zijn: context compleetheid (context completeness) en flexibiliteit (flexibility).

 

Softwarekwaliteit – Opmerkingen

  • ISO-norm 25010 vervangt sinds 2011 zijn voorganger ISO-norm 9162.

Referenties

  • Breivold, H., Crnkovic, I. & Eriksson, P. (2009). Evaluating Software Evolvability.
  • Wikipedia. (2015) Software Quality.
  • CISQ. (2015). Consortium of IT Software Quality.  
  • ISO 25010 (2010). Systems and Software Quality Requirements (SQuaRE), ISO 25010:2010.
  • Schulmeyer G. (2008). Handbook of Software Quality Assurance. Artech House, Fourth Edition, 2008.
  • Bellomo, Stephany. (2014). Architectural implications of DevOps. Software Engineering Institute 2014. Webinar Presentation
  • Bellomo, Stephany. (2015). Toward Design Decisions to enable Deployability. Software Engineering Institute 2015.

Gerelateerde begrippen

  • agile · agility · software product

. Tooltip: Software quality

Link tips

  • CIO.com
  • DatacenterWorks
  • iBestuur
  • IT4IT
  • Large-Scale Scrum (LeSS)

Recente publicaties

  • Robot record Rubik’s Kubus
  • Mobiele telefoon met molecuul sensor
  • Slidedoc
  • The 7 habits of highly effective people
  • Grip op IT-projecten door Agile werken?

Actueel

Artikelen

Bibliotheek

Begrippen
Bookmarks
Readers

Quote van de dag

Logica brengt je van A naar B. Verbeelding brengt je overal. ~ Albert Einstein

Over

Deze website
Leeswijzer
Copyright

Privacy

Privacy policy

Motto

Kennis is er om te delen,
niet om te bezitten.

Gebruik

Voor de beste ervaring gebruik een tablet of groter scherm .

Aanbevolen browsers en versie

10+  4+  6+   7+ 10+

Techniek

Gebruikte webtechnieken zijn
HTML5 , CSS3 en JavaScript.

Connect

     

Tijd in Nederland


Terug naar begin

2011-2019 Smaele • Aangedreven door WordPress, gebouwd op het Genesis framework en gestileerd met Essence