113
13/06/22 1 Assurance qualité logicielle Proposé par N. HADDOUCHE

Assurance Qualite Logiciel

Embed Size (px)

Citation preview

Page 1: Assurance Qualite Logiciel

13/04/23 1

Assurance qualité logicielle

Proposé par N. HADDOUCHE

Page 2: Assurance Qualite Logiciel

13/04/23 2

Qualité

Page 3: Assurance Qualite Logiciel

13/04/23 3

Qualité

Aptitude d'un produit ou d'un service à satisfaire les besoins des utilisateurs en termes de fonctionnalités, délais, coûts

Page 4: Assurance Qualite Logiciel

13/04/23 4

Vocabulaire

• «entreprise» : toute entreprise, organisation ou association du secteur public ou privé.

• «Client» doit être pris au sens large de «bénéficiaire»

• «Produit» : en tant que fourniture d'un livrable matériel ou immatériel (service).

Page 5: Assurance Qualite Logiciel

13/04/23 5

Définition

• La norme ISO 8402-94– Ensemble des caractéristiques d'une entité qui lui

confèrent l'aptitude à satisfaire des besoins exprimés et implicites.

• La norme ISO 9000 2000 – Aptitude d'un ensemble de caractéristiques

intrinsèques à satisfaire des exigences.

Page 6: Assurance Qualite Logiciel

13/04/23 6

Qualité

• Dans la pratique la qualité se décline sous deux formes :

• La qualité externe• La qualité interne

Page 7: Assurance Qualite Logiciel

13/04/23 7

La qualité externe

• satisfaction des clients :– Il s'agit de fournir un produit ou des services

conformes aux attentes des clients afin de les fidéliser et ainsi améliorer sa part de marché.

– Les bénéficiaires de la qualité externe sont les clients d'une entreprise et ses partenaires extérieurs.

– Ceci passe par une nécessaire écoute des clients mais doit permettre également de prendre en compte des besoins implicites, non exprimés par les bénéficiaires.

Page 8: Assurance Qualite Logiciel

13/04/23 8

La qualité interne

• Amélioration du fonctionnement interne de l'entreprise:– Mettre en œuvre des moyens permettant de

décrire au mieux l'organisation, de repérer et de limiter les dysfonctionnements.

– Les bénéficiaires sont la direction et les personnels de l'entreprise.

– Elle passe par une étape d'identification et de formalisation des processus internes réalisés grâce à une démarche participative.

Page 9: Assurance Qualite Logiciel

13/04/23 9

La sur-qualité

Page 10: Assurance Qualite Logiciel

13/04/23 10

La sur-qualité

• Plus on souhaite approcher la perfection plus les coûts grimpent

Page 11: Assurance Qualite Logiciel

13/04/23 11

La sur-qualité (suite)

• Pour les entreprises du secteur privé:– il ne s'agit pas de répondre de manière exhaustive

aux attentes des Clients– Il s'agit répondre mieux que les concurrents.

• Dans le secteur public – rendre compte d'un usage maîtrisé des fonds

publics pour fournir un service adapté aux attentes des citoyens.

Page 12: Assurance Qualite Logiciel

13/04/23 12

La non-qualité

Page 13: Assurance Qualite Logiciel

13/04/23 13

Prix de revient actuel du produit

Prix de revient actuel du produit

Prix de revient s ’il n’y avait

aucune erreur et aucun

défaut durant sa réalisation.

Prix de revient s ’il n’y avait

aucune erreur et aucun

défaut durant sa réalisation.

Le coût de la non- qualité c ’est la différence entre les deux prix

de revient

Page 14: Assurance Qualite Logiciel

13/04/23 14

• ‘We never have the time to do a correct job the first time, but we always manage to find time to redo the job one or two times’

• ‘I’d rather have it wrong than have it late. We can always fix it later’

Page 15: Assurance Qualite Logiciel

13/04/23 15

Conséquences de la non qualité

1. Canceled software projects2. Unsuccessful software products3. Unnecessary features and functions4. Hard to use software5. Defective software6. Difficult to maintain software7. Poorly designed for growth and change8. Non readiness9. Difficult to integrate components10. Less than excellent software process(es)

Page 16: Assurance Qualite Logiciel

13/04/23 16

Coût lié a la non-qualité1. Effort to recreate the problem

– What the user did, what was the user’s configuration– May require setting up hardware, database, etc

2. Effort to trace failure to the cause• May require utilization of tools ( e.g. debuggers)

3. Effort to implement a fix• May involve design change and changes to many components

4. Effort to develop and run tests– May require setting up hardware, database

5. Effort to update and run regression test suite– May require setting up hardware, database, etc

6. Effort to document the change, modify process or procedure and manage configuration changes (CCB)

7. Effort to package the fix and ship it to customers8. Effort to inform or train users of the changes

Page 17: Assurance Qualite Logiciel

13/04/23 17

Coûts de la non-qualité

Le coût des anomalies internes

Le coût des anomalies externes

+

Pouvez-vous énumérer des coûts des anomalies internes et externes ?

Page 18: Assurance Qualite Logiciel

13/04/23 18

Anomalies internes

Anomalies externes

- Retouches,

Reconditionnements, Réparations, - Rebuts,

- Déclassement sur produits finis ou en cours,

- Pertes dues aux achats inemployables, - Pollution,

- Accident de travail, - Absentéisme, retards,

- Remises ou ristournes, - Réclamation clients, - Pénalité de retard,

- Primes d’assurances, - Remboursement des

dommages causés à autrui...

Page 19: Assurance Qualite Logiciel

13/04/23 19

Coûts de la non-qualitéLe coût des anomalies internes pendant le

développement1. Détection des défauts2. Réparation des défauts3. Modifications4. Rebuts5. Produits déclassés6. Achats inemployables7. Produits à refaire d’une version à l’autre

Page 20: Assurance Qualite Logiciel

13/04/23 20

1. Pertes de clients2. Pénalités3. Réparations des défauts pendant l’exploitation4. Remises pour défauts5. Assistance technique6. Modifications ou adaptations prohibitives7. ‘Retrofits’ sur le produit8. Entretien des matériels de maintenance corrective

et des compétences

Coûts de la non-qualitéLe coût des anomalies externes

Page 21: Assurance Qualite Logiciel

13/04/23 21

La non qualité

il s'avère généralement plus coûteux de corriger les défauts ou les erreurs que de «faire bien» dès le départ

Page 22: Assurance Qualite Logiciel

13/04/23 22

La non qualité

• Il faut trouver le juste équilibre:– éliminer au maximum la

non-qualité, afin d'obtenir un bon degré de satisfaction de la clientèle, de les fidéliser et de faire des bénéfices,

– y consacrer un budget raisonnable.

Page 23: Assurance Qualite Logiciel

13/04/23 23

Coût de la qualité (COQ)

Page 24: Assurance Qualite Logiciel

13/04/23 24

Coût de la qualitéCoût du projet

Coût de réalisation

• Élaboration des plans• Développement du logiciel

Coût de Qualité

Coût de conformité Coût de nonConformité

• Refaire les revues• Corriger

• Défauts• Mise-à-jour

• Code et documentation

Coût des évaluations

• Revues• Inspections• Tests• Vérification & validation•Audits

Coût de prévention

• Formation• Méthodologies• Outils• Collecte des mesures

Coût du projet = réalisation + reprise + évaluation + prévention

COQ

Reprise

Page 25: Assurance Qualite Logiciel

13/04/23 25

Détection

Prévention

- Salaires et charges lies

aux vérifications- Métrologie- Frais de contrôle,- Fournitures diverses et

produits détruits pouressais utilisés pourl’évaluation duproduit. . .

- Formation à la qualité- Etablissement des documents

relatifs à la gestion de laqualité (manuel qualité, plansqualité et plans de contrôle.) ,

- Evaluations des fournisseurs,- Sensibilisation, motivation et

formation à la qualité et à lagestion de la qualité,

- Réalisation d ‘audits qualité, - Groupe d’amélioration de laqualité.. .

Page 26: Assurance Qualite Logiciel

13/04/23 26

Les enjeux• Commerciaux

– Relations avec le client– Réputation

• Économiques– Rencontre du coût prévu– Rencontre de l’échéancier prévu

• Techniques– Rencontre des objectifs

• De productivité, • De maintenance• De performance• De sécurité, etc.

Page 27: Assurance Qualite Logiciel

13/04/23 27

Qualité logicielle

Page 28: Assurance Qualite Logiciel

13/04/23 28

Quelques exemple de fautesdans des projets et produits logiciels…

1. Le problème du Therac-25 en 1985-1987 (un appareil d'irradiation thérapeutique) : 2 morts, 4 irradiés (surdose).

– Faute découverte officiellement presque deux ans après le premier problème

2. Le bug du Pentium, en 1994. • Coût : 500 millions $ pour remplacer les processeurs

défectueux.3. L'explosion du premier vol d'Ariane 5, le 4 juin 1996.

• Coût : 500 millions $ de pertes4. La perte de la sonde Mars Explorer en 2000.5. Le logiciel redondant du SSRMS (le CanadArm2) en 2001

• Aucun dommage, mais un impact important sur l’échéancier6. Le vaisseau Soyuz qui ‘plonge’ à 2 fois l’accélération prévue de 4-5 g

et touche le sol à 450 Km de son point d’arrivée prévu (mai 2003).

Page 29: Assurance Qualite Logiciel

13/04/23 29

Les excuses, les bugs et la qualité des

logiciels

Page 30: Assurance Qualite Logiciel

13/04/23 3030

1. ‘Je n’ai pas à me préoccuper de la qualité, mon client ne s’intéresse qu’au coût et à l’échéancier. La qualité n’a rien à voir avec ces choses là.’

2. ‘Mon projet n’a pas spécifié d’objectifs de qualité’

3. ‘On ne peut pas mesurer la qualité. On ne sait jamais la quantité de bugs que l’on n’a pas trouvé’

4. ‘Relaxe, ce n’est pas un logiciel qui contrôle une centrale nucléaire, ou une fusée’

Page 31: Assurance Qualite Logiciel

13/04/23 3131

5. ‘Un client peut exiger soit une grande productivité, soit de la qualité. Mais pas les deux à la fois’

6. ‘Pour nous la qualité c’est important, on fait des audits de processus constamment’

7. ‘On fait des logiciels de qualité puisqu’on utilise des normes internationales ISO’

8. ‘Çà, c’est pas une erreur, c’est une bug’

Page 32: Assurance Qualite Logiciel

13/04/23 3232

9. ‘On doit livrer un logiciel de très grande qualité, alors on met beaucoup de temps à le tester’

10. ‘Ce projet là est de grande qualité parce que les gars de AQ regarde nos documents’

11. ‘Ce logiciel est de grande qualité puisque l’on fait 90% de réutilisation’

12. ‘C’est quoi la qualité...comment on mesure la qualité ?’

Page 33: Assurance Qualite Logiciel

13/04/23 3333

13. ‘La complexité du code n’a rien à voir avec la qualité’

14. ‘La qualité c’est le nombre de bugs dans le logiciel livré au client’

15. ‘On ne doit pas en faire plus que ce qui est demandé dans le contrat. Le contrat ne dit rien au sujet de la qualité’

16. ‘Si ça marche pas maintenant, on le réparera plus tard chez le client’

Page 34: Assurance Qualite Logiciel

13/04/23 3434

17. ‘Le client n’est pas intéressé par la qualité, il est intéressé juste au prix’

18. ‘La qualité de ce logiciel est très élevée, on a trouvé 1,000 bugs pendant les tests’.

19. ‘On n’a plus le temps de tester, il faut livrer’

20. ‘On va laisser le client trouver les bugs’

21. ‘On a un échéancier très serré, on n’a pas le temps de faire des inspections’

Page 35: Assurance Qualite Logiciel

13/04/23 3535

22. ‘On va avoir un logiciel de grande qualité puisque l’on a fait beaucoup d’inspections du code et c’est dans le code que l’on trouve les bugs’

23. ‘Ce n’est pas un bug, c’est une erreur dans le manuel’

24. ‘Si le client ne nous appele pas, c’est parce qu’il doit être bien content du logiciel’

25. ‘On n’a pas le temps de documenter ce que l’on fait, il faut livrer’

Page 36: Assurance Qualite Logiciel

13/04/23 3636

26. ‘C’est pas un bug, c’est un problème de hardware’

27. ‘Personne va s’en apercevoir’

28. ‘On n’a pas besoin de retester, on a juste changé trois lignes de code’

29. ‘On développe du logiciel de qualité parce qu’on a du personnel avec beaucoup d’années de métier’

Page 37: Assurance Qualite Logiciel

13/04/23 3737

Concept Qualité logicielle• Un logiciel de qualité est un logiciel qui satisfait aux besoins

réels du client tout en respectant des contraintes de coût et de délais prédéfinies.

• Satisfaire les besoins réels – Les besoins du commanditaire d’un logiciel (ou plus

généralement d’un système quelconque) sont définis sur une échelle à quatre niveaux :1. besoins réels2. besoins exprimés3. besoins spécifiés4. besoins réalisés

– L’aptitude du produit logiciel à satisfaire (ou ne pas satisfaire) les besoins du commanditaire s’annonce alors en terme de différentiel entre ces quatre niveaux.

Page 38: Assurance Qualite Logiciel

13/04/23 3838

Les besoins du commanditaire

Page 39: Assurance Qualite Logiciel

13/04/23 39

Page 40: Assurance Qualite Logiciel

13/04/23 40

Page 41: Assurance Qualite Logiciel

13/04/23 41

Page 42: Assurance Qualite Logiciel

13/04/23 42

Page 43: Assurance Qualite Logiciel

13/04/23 43

Page 44: Assurance Qualite Logiciel

13/04/23 44

Page 45: Assurance Qualite Logiciel

13/04/23 45

Qualité logicielle

• Selon l'IEEE La qualité logicielle est:(1) Le degré avec lequel un système, un composant

ou un processus satisfait à ses exigences spécifiées.

(2) Le degré avec lequel un système, un composant ou un processus satisfait aux besoins ou attentes de ses clients/usagers.

Page 46: Assurance Qualite Logiciel

13/04/23 46

Qualité logicielle (suite)

Conformité aux exigences fonctionnelles et de performance explicites, aux normes de développement explicitement documentées, et aux caractéristiques implicites qui sont attendues de tout le logiciel professionnellement développé.

Page 47: Assurance Qualite Logiciel

13/04/23 47

Qualité logicielle (suite)

• La notion de qualité recouvre deux aspects: – conformité avec la définition, cette notion est

contrôlable en cours de fabrication, – réponse à l'attente de l'utilisateur , cette notion

est contrôlable à la livraison du produit.

Page 48: Assurance Qualite Logiciel

13/04/23 48

Problématique de la Qualité Logicielle

• Le caractère unique du produit logiciel– Grande complexité ;– Invisibilité du produit ;– Opportunités limités de détection de (“bugs”) ;

Page 49: Assurance Qualite Logiciel

13/04/23 49

Problématique de la Qualité Logicielle (suite)

• Les environnements de développement du logiciel – Sujet à une relation client-fournisseur ;– Exige un travail d'équipe ;– Exige la coopération et coordination avec d'autres

équipes de développement ;– Exige des interfaces avec d'autres systèmes ;– Exige la poursuite du projet alors que l'équipe

change ;– Exige la maintenance pendant plusieurs années ;

Page 50: Assurance Qualite Logiciel

13/04/23 50

You can’t achieve quality… unless you specify it !

Page 51: Assurance Qualite Logiciel

13/04/23 5104/13/23 51

Spécification de la qualitéLa qualité est décomposée en grandeurs de plus en plus fines

et précises jusqu’à ce qu’on aboutisse à des attributs directement mesurables sur les constituants du logiciel, documents et code.

Page 52: Assurance Qualite Logiciel

13/04/23 52

APPROCHE DE MAC CALL

• Mac Call définit une approche de la qualité, à partir de la définition de caractéristiques :– externes (facteurs de qualité) : : expression des

exigences (point de vue externe, client) – internes (critères de qualité) : caractéristiques du

produit (point de vue interne, technique) – mesurables (métriques) : ce qui permet de

mesurer un critère

Page 53: Assurance Qualite Logiciel

13/04/23 53

APPROCHE DE MAC CALL (suite)

Pour mesurer la qualité du logiciel, des métriques sont associés aux critères eux même rattachés aux facteurs

Page 54: Assurance Qualite Logiciel

13/04/23 5404/13/23 54

Spécification de la qualité

Page 55: Assurance Qualite Logiciel

13/04/23 5504/13/23 55

– Le niveau des facteurs qualité. • Il représente les attributs qualité du logiciel

perceptibles par le commanditaire ou les utilisateurs finaux.

• Ce niveau constitue la vision externe de la qualité du logiciel.

• Il intéresse, au premier chef, la spécification des exigences qualité ainsi que la validation de ces exigences.

Spécification de la qualité

Page 56: Assurance Qualite Logiciel

13/04/23 5604/13/23 56

– Le niveau des critères qualité. • Il représente les attributs qualité sur lesquels

l’organisation de développement peut (et doit !) agir pour satisfaire les exigences qualité définies par les facteurs retenus.

• Ce niveau constitue la vision interne de la qualité du logiciel.

• Les critères retenus permettent, entre autre, de définir l’ensemble des dispositions préalables qu’il convient d’adopter pour répondre aux exigences qualité spécifiées.

Spécification de la qualité

Page 57: Assurance Qualite Logiciel

13/04/23 5704/13/23 57

– Le niveau des métriques qualité • Il représente les attributs qualité pour lesquels il

existe des processus de mesure directs et objectifs, portant sur des constituants élémentaires du logiciel.

Spécification de la qualité

Page 58: Assurance Qualite Logiciel

13/04/23 58

Facteurs qualité du logiciel1) Fiabilité

Aptitude d’un programme à accomplir sans défaillance l’ensemble des fonctions spécifiées dans un document de référence, dans un environnement opérationnel de référence, pour une durée d’utilisation donnée.

2) SécuritéAttribut de qualité du logiciel se caractérisant, durant son fonctionnement, par l’absence d’événements mettant en cause l’intégrité des biens et la vie des personnes concernés par l’application.

3) IntégritéDegré de protection du système et des données qu’il manipule contre les accès non autorisés, voire malveillants.

Page 59: Assurance Qualite Logiciel

13/04/23 59

Facteurs qualité du logiciel

4) ErgonomieAptitude du système à pouvoir être utilisé avec un minimum d’efforts.

5) EfficacitéAptitude du logiciel à utiliser d’une façon optimale les ressources physiques (espace mémoire, temps d’unité centrale) mises à disposition.

6) TestabilitéAptitude d’un logiciel à se prêter à une vérification d’adéquation aux spécifications, le système étant en phase d’exploitation.

Page 60: Assurance Qualite Logiciel

13/04/23 60

Facteurs qualité du logiciel

7) MaintenabilitéAptitude d’un logiciel à faciliter les opérations requises pour localiser et corriger une erreur alors que le système est en phase d’exploitation.

8) FlexibilitéAptitude d’un logiciel à être adapté à une modification de ses spécifications.

9) RéusabilitéAptitude d’un composant logiciel à être réutilisé dans des applications différentes.

Page 61: Assurance Qualite Logiciel

13/04/23 61

Facteurs qualité du logiciel

10) PortabilitéAptitude d’un logiciel à être adapté à un environnement différent de celui des applications précédentes.

11) CompatibilitéQualité de plusieurs logiciels (ou composants) à être liés pour une fonction donnée, suivant certains critères • e.g. standardisation des structures de données,

communications internes.

Page 62: Assurance Qualite Logiciel

13/04/23 62

Page 63: Assurance Qualite Logiciel

13/04/23 63

Facteurs de qualité

• Les facteurs de qualité peuvent avoir une influence les uns sur les autres. – Par exemple les facteurs suivants diminuent

l’efficacité: intégrité, facilité d’emploi, portabilité– Les facteurs suivants diminuent l’intégrité:

souplesse, réutilisabilité, interopérabilité.

Page 64: Assurance Qualite Logiciel

13/04/23 64

Relation entre les facteurs

Sécurité

Fiabilité

Flexibilité

Réutilisabilité

Portabilité

Compatibilité

Testabilité

Maintenabilité

Ergonomie

Intégrité

Efficacité

Sécu

rité

Compa

tibili

Réutil

isabi

lité

Porta

bilit

é

Flex

ibili

Testa

bilit

é

Mai

nten

abili

Ergon

omie

Inté

grité

Effica

cité

Fiab

ilité

O

X

OO

O

O

O

O

O

O

O

OOO

OO

O

X

X

X

X

X

X

X

X

X

X

X

X

O : complémentaireX : antagoniste

Page 65: Assurance Qualite Logiciel

13/04/23 65

Les classes de logiciel

• Vies humaines en danger • Grande durée de vie • Système expérimental • Application temps réel• Application embarquée • Données sensibles • Systèmes imbriqués • Appartenance à une gamme (de produits)

Page 66: Assurance Qualite Logiciel

13/04/23 66

Correspondance entre classes de logiciel et facteurs de qualité

Vies humaines en danger

INT

EG

RIT

E

Grande durée de vie

Système expérimental

Application temps réel

Application embarquée

Données sensibles

Systèmes imbriqués

Appartenance à une gamme

X

X

TE

STA

BIL

ITE

SEC

UR

ITE

X

X

X

X

MA

INT

EN

AB

ILIT

E

X

X

FLE

XIB

ILIT

E

X

X

X

RE

UT

ILIS

AB

ILIT

E

EFF

ICA

CIT

E

X

POR

TA

BIL

ITE

X

CO

MPA

TIB

ILIT

E

X

X

FIA

BIL

ITE

X

X

X

ER

GO

NO

MIE

X

(vision externe)

Facteurs de qualité

Classe desystème

Page 67: Assurance Qualite Logiciel

13/04/23 67

Critères de qualité

• Mac Call définit 24 critères perceptibles par l’informaticien et permettant d’évaluer dans quelle mesure les facteurs de qualité sont atteints.

• Chaque facteur est mesuré en fonction d’un certain nombre de critères.

• Chaque critère est évalué par une métrique.

Page 68: Assurance Qualite Logiciel

13/04/23 68

• Traçabilité• Complétude• Précision• Cohérence• Robustesse• Modularité• Généralité• Extensibilité• Instrumentation• Auto description• Efficacité de stockage• Efficacité d’exécution• Audits des accès

• Contrôle des accès• Souplesse des interfaces• Facilité d’exploitation• Facilité d’apprentissage• Indépendance machines• Indépendance système• Normilisation des

communications• Standardisation des

tructures de données• Concision• Conformité

Critères de qualité selon McCall

Page 69: Assurance Qualite Logiciel

13/04/23 69

1. Traçabilité– Possibilité, à partir d’une identification enregistrée de

retrouver l’historique, l’utilisation ou la localisation d’un logiciel ou de produits semblables.

2. Complétude– Propriété d’un logiciel (ou d’un élément du logiciel) qui

possède tous ses constituants lesquels, sont entièrement développés et validés.

3. Précision– Propriété d’un logiciel qui fournit des résultats ne

s’écartant pas des résultats théoriques attendus d’une marge donnée.

Critères de qualité selon McCall

Page 70: Assurance Qualite Logiciel

13/04/23 70

4. Cohérence– Propriété d’un logiciel qui présente une

compatibilité des éléments entre eux au sein d’une configuration.

5. Robustesse – Propriété d’un logiciel qui retrouve la continuité des

opérations après conditions anormales et permet de supprimer les effets d’une perturbation.

6. Simplicité– Propriété d’un logiciel qui fournit un développement

des fonctions de la manière la plus compréhensive.

Critères de qualité selon McCall

Page 71: Assurance Qualite Logiciel

13/04/23 71

7. Modularité– Propriété d’un logiciel composé d’éléments distincts tels

que la modification de l’un d’eux n’entraîne pas de modifications sur les autres.

8. Généralité– Propriété d’un logiciel qui élargit les cas d’emplois des

fonctions assurées.

9. Extensibilité– Propriété d’un logiciel qui permet d’accroître le domaine

des données manipulées

Critères de qualité selon McCall

Page 72: Assurance Qualite Logiciel

13/04/23 72

10. Instrumentation– Propriété d’un logiciel qui offre la possibilité de mesures

relatives au suivi et au contrôle de l’exécution.

11. Auto description– Propriété d’un logiciel fournissant l’explication du

développement d’une fonction.

12. Efficacité de stockage– Propriété d’un logiciel qui minimise la place mémoire

nécessaire à une opération.

Critères de qualité selon McCall

Page 73: Assurance Qualite Logiciel

13/04/23 73

13. Efficacité d’exécution– Propriété d’un logiciel qui utilise un minimum de

temps machine pour l’accomplissement de ses fonctionnalités.

14.Audit des accès– Propriété d’un logiciel qui comporte des dispositions,

permettant de garder l’historique des accès au code et aux données.

15.Contrôle des accès– Propriété d’un logiciel qui comporte des mécanismes

permettant le contrôle des accès

Critères de qualité selon McCall

Page 74: Assurance Qualite Logiciel

13/04/23 74

16. Souplesse des interfaces– Propriété du logiciel qui possède des interfaces faciles à

modifier et à adapter.

17. Facilité d’exploitation– Propriété qu’a un logiciel de faciliter la mise en oeuvre de ses

propres procédures d’exploitation, le chargement, l’initialisation et l’exécution.

18. Facilité d’utilisation et d'apprentissage– Propriété d’un logiciel qui offre des facilités d’assimilations par

un utilisateurs ses différents modes opérationnels.

Critères de qualité selon McCall

Page 75: Assurance Qualite Logiciel

13/04/23 75

19.Indépendance machine– Propriété d’un logiciel qui limite ses dépendances vis–à–

vis de l’environnement matériel.

20.Indépendance système– Propriété d’un logiciel qui limite ses dépendances vis–à–

vis de l’environnement système.

21.Normalisation des communications– Propriété d’un logiciel utilisant des normes ou des

standards au niveau protocole et interface.

Critères de qualité selon McCall

Page 76: Assurance Qualite Logiciel

13/04/23 76

22. Standardisation des structures de données– Propriété d’un logiciel qui met à disposition des moyens de

représentations standards des données.

23. Concision– Propriété d’un logiciel qui utilise un volume de code minimum

pour le développement d’une fonction.

24. Conformité– Aptitude du logiciel à répondre aux besoins de l’utilisateur.

Critères de qualité selon McCall

Page 77: Assurance Qualite Logiciel

13/04/23 77

Relations entre critères et facteurs

O : complémentaireX : antagoniste

X

OTraçabilité

Sécu

rité

Compa

tibili

Porta

bilit

é

Flex

ibili

Réutil

isabi

lité

Testa

bilit

é

Main

tenab

ilité

Ergon

omie

Intég

rité

Effica

cité

Fiab

ilité

Complétude

SimplicitéRobustessePrécision

Cohérence

ModularitéGénéralité

ExtensibilitéInstrumentationAutodescription

Efficacité d'exécutionEfficacité de stockage

Audit des accèsContrôle des accès

Souplesse des interfacesFacilité d'exploitation

Facilité d'apprentissageIndépendance systèmeIndépendance machine

NormalisationStandardisation des

structures de donnéesConcision

Conformité

Critères

Facteurs

O OOOO

OO O

O O O O

OOOO

O O O O OO O O O O O

OOO

OO

OO

OO O O O

OO

OO

OO O

OOO

OOO

OO

OOO

OO

O OO

O

XX

XXXXX

XXX

XXX

X

X

XXX

XX

Page 78: Assurance Qualite Logiciel

13/04/23 7804/13/23 78

Bilan qualité du logiciel

Page 79: Assurance Qualite Logiciel

13/04/23 7979

Remarque• Chaque critère de qualité identifié comme

important doit être intégrés ‘Built in’, puisqu'ils peuvent difficilement l'être à la fin de la phase de développement ‘Bolted on’ .

Page 80: Assurance Qualite Logiciel

13/04/23 80

Métriques

• les métriques peuvent caractériser les qualités – du produit, – du processus de développement, – du service rendu

• Ils peuvent se faire par :– des mesures objectives (comptages) – des enquêtes d’opinion.

Page 81: Assurance Qualite Logiciel

13/04/23 81

Métriques (suite)

• Mesure directe et objective : – comptage de nombre de ligne de code source :

produit – comptage de nombre d’homme-jours : processus – comptage du nombre d’abort système : service

Page 82: Assurance Qualite Logiciel

13/04/23 82

Métriques (suite)

• Métriques obtenues par réponse oui/non (liste de contrôle) – cohérence de la présentation des écrans : produit – respect de la procédure de signalisation des

incidents : processus – capacité de raccordement satisfaisante : service

Page 83: Assurance Qualite Logiciel

13/04/23 83

Métriques (suite)

• Métriques obtenues par enquête (note de 0 à 5) – clarté de la présentation des résultats : produit – apport de l'assurance qualité : processus – disponibilité du système aux heures de pointe :

service

Page 84: Assurance Qualite Logiciel

13/04/23 84

Métriques techniques

• Métriques du code– lignes de code, nombres d'opérandes,

d'opérateurs– taux de commentaires

• Métriques de la spécification– cohésion et couplage des modules

• – taille et fréquence de communication de données

Page 85: Assurance Qualite Logiciel

13/04/23 8585

Exemple‘Le temps réponse du logiciel est rapide’Type s’utilisateur

Type de Utilisateur/Logiciel Interaction

Type de réponse Temps

(secondes)

Commis Login Login OK

Message d’erreur

< 2

<1

Entrée Entrée accepté

Message (processus)

Erreurs

<3

< ½

<2

Ingénieur Opération des matrices

Message (processus)

Opération complété

< ½

½ to 10

Analyse des circuits

Description erreur

Message (processus)

Opération complétée

<2

1 to 20

Page 86: Assurance Qualite Logiciel

8604/13/23 86

Facilité d'utilisation (usability)• Définition (ISO 9241)

– La capacité pour un utilisateur d'utiliser un produit pour réaliser ses buts avec efficacité, efficience et satisfaction dans un contexte d'utilisation spécifique.

Métriques1. Apprentissage2. Efficacité3. Facilité pour l'utilisateur de se souvenir du

fonctionnement du logiciel (‘user retention over time’)4. Faible taux d'erreur (du point de vue utilisateur)5. Satisfaction

Page 87: Assurance Qualite Logiciel

13/04/23 8787

Facilité d'utilisation – Métriques 1. Apprentissage

• Facilité d'apprentissage des principales fonctionnalités du logiciel et acquérir les habilités pour compléter le travail

• Mesurer les efforts d'un utilisateur avant qu'il puisse réaliser certaines tâches et les efforts d'un expert pour réaliser la même tâche.

2. Efficacité• Le nombre de tâche par unité de temps que l'utilisateur

peur réaliser en utilisant le logiciel. • Nous cherchons le nombre maximum de

tâches par unité de temps.

Page 88: Assurance Qualite Logiciel

13/04/23 8888

Facilité d'utilisation - Métriques 3. Facilité pour l'utilisateur de se souvenir du fonctionnement du logiciel

• Cet attribut indique jusqu'à quel point un utilisateur se souvient de la façon dont le logiciel fonctionne après une période de non-usage.

4. Taux d'erreurs

• Cet attribut adresse le nombre d'erreurs que l'utilisateur peut faire lorsqu'il réalise la tâche. Contribue négativement à la facilité d'utilisation. • Ne réfère pas au nombre d'erreurs dans le

logiciel. 5. Satisfaction

• Cet attribut indique l'impression (subjective) qu‘a l'utilisateur à propos du logiciel.

Page 89: Assurance Qualite Logiciel

8989

Exemple – Facilité d’utilisation

Attribut Échelle Test Pire Plan Bon Main-tenant

Entrer dossier patient

Temps(m.) Donner à l’utilisateur le manuel et lui demander de réaliser la tâche

10 5 2 60

Créer un rapport mensuel

Temps(m.) Donner à l’utilisateur le manuel et lui demander de réaliser la tâche

30 15 10 120

Réaliser un backup

Temps(m.) Donner à l’utilisateur le manuel et lui demander de réaliser la tâche

20 10 5 90

Temps requis à un utilisateur pour apprendre des opérations logiciels en utilisant le manuel

Page 90: Assurance Qualite Logiciel

Démarche qualité

13/04/23 90

Page 91: Assurance Qualite Logiciel

13/04/23 91

Démarche qualité

• L'approche organisationnelle permettant un progrès permanent dans la résolution des non-qualités.

• Il s'agit d'une démarche participative, c'est-à-dire à laquelle doit nécessairement participer l'ensemble de l'entreprise et par conséquent nécessairement portée au plus haut niveau hiérarchique.

Page 92: Assurance Qualite Logiciel

13/04/23 92

Démarche qualité

• Les apports d’une telle démarche est d’étendre la notion de qualité à toute l’entreprise.

• Elle doit être capable de construire puis de gérer son système qualité.

• Elle doit maitriser chacune de ses activités et doit donc posséder des documents et des preuves.

Page 93: Assurance Qualite Logiciel

13/04/23 93Mohammedi

DIAGNOSTIC QUALITE

PLAN DE MANAGEMENT DE LA QUALITE

FORMATION AUX NORMES ISO 9000 - 2000

DOCUMENTATION DU SYST. QUALITE

APPLICATION DES DOCUMENTS

AUDIT INTERNE

PRE-AUDIT CERTI

CERTIFICATION

SEMINAIRES DE MOTIVATION A LA QUALITE

Page 94: Assurance Qualite Logiciel

13/04/23 94

La certification   

C'est l'obtention d'un certificat C'est l'obtention d'un certificat

délivré par un organisme tiers délivré par un organisme tiers

attestant de la conformité du attestant de la conformité du

SMQ aux exigences du référentiel SMQ aux exigences du référentiel

choisichoisi

Page 95: Assurance Qualite Logiciel

Organisation qualité

13/04/23 95

Page 96: Assurance Qualite Logiciel

13/04/23 96

Organisation qualité

• La mise en place d'une démarche qualité est un projet d'entreprise global mobilisant l'ensemble du personnel.

• Il est ainsi nécessaire de définir une «organisation qualité» s'intégrant dans l'existant et s'articulant avec l'organisation existante.

Page 97: Assurance Qualite Logiciel

13/04/23 97

Organisation qualité

• un responsable qualité / conseiller qualité / directeur qualité :piloter les actions qualité

• la cellule qualité / service qualité• Un comité qualité• Chaque service ou bureau est responsable de

la mise en œuvre des orientations qualité à son niveau. – Correspondant qualité

Page 98: Assurance Qualite Logiciel

13/04/23 98

Chef de ladirection

Équipe AQ

Comité d'orientation qualité

Ingénierie OpérationsSystèmes

Servicesprofessionnels/Développement

des affairesOttawa

Maîtrise duprocessus

d'achat

AméliorationContinue

Maîtrise duproduit

Maîtrise de laconception

Soutien desprojets

CoordonateurSEI/CMM

Légende:

Les cases ombragéesindiquent un rôle actif dansla définition et le maintien dusystème qualité.

Systèmesd'armes et de

détection

Organisation qualité

Monitoringaudit

Page 99: Assurance Qualite Logiciel

Amélioration continue

13/04/23 99

Page 100: Assurance Qualite Logiciel

13/04/23 100

Notion d'amélioration permanente

• L'un des principes de base de la qualité est la prévention et l'amélioration permanente.

• La qualité est un projet sans fin dont le but est de prendre en compte les dysfonctionnements le plus en amont possible

Page 101: Assurance Qualite Logiciel

13/04/23 101

Roue de Deming

Page 102: Assurance Qualite Logiciel

13/04/23 102

«Plan» (Planifier)

il s'agit de définir les objectifs et les processus nécessaires pour fournir des résultats correspondant aux exigences des clients et aux politiques des organismes

Page 103: Assurance Qualite Logiciel

13/04/23 103

«Do» (Mettre en place)

il s'agit de la mise en œuvre des actions et processus

Page 104: Assurance Qualite Logiciel

13/04/23 104

«Check» (Contrôler)

Cette phase consiste à vérifier l'atteinte des objectifs fixés : il s’agit de surveiller et mesurer les processus et le produit par rapport aux politiques, objectifs et exigences du produit et rendre compte des résultats

Page 105: Assurance Qualite Logiciel

13/04/23 105

«Act» (Agir)

• En fonction des résultats de la phase précédente, il convient de prendre des mesures préventives : – il s’agit d’entreprendre les actions pour améliorer

en permanence les performances des processus

Page 106: Assurance Qualite Logiciel

Assurance Qualité Logicielle

13/04/23 106

Page 107: Assurance Qualite Logiciel

13/04/23 107

Assurance de qualité Logiciel

Selon l'IEEE L'assurance qualité logicielle est: •Un modèle planifié et systématique de toutes les actions nécessaires pour fournir une confiance adéquate qu'un article ou un produit est conforme à ses exigences techniques établies. •Un ensemble d'activités conçu pour évaluer le processus par lequel les produits sont développés ou fabriqués.

Page 108: Assurance Qualite Logiciel

13/04/23 108

Autres définitions

Un ensemble systématique et prévu d'actions nécessaires à l'obtention d'une confiance adéquate que le procédé de développement de logiciel ou le processus de maintenance d'un produit de système logiciel est conforme aux exigences techniques fonctionnels établies aussi bien qu'aux exigences concernant le calendrier et budget.

Page 109: Assurance Qualite Logiciel

13/04/23 109

Autres définitions

Mise en œuvre d'un ensemble approprié de dispositions préétablies et systématiques destinées à donner confiance en l'obtention d'une qualité requise.

Page 110: Assurance Qualite Logiciel

13/04/23 110

L’origine du besoin d’être rassuré sur la qualité

besoin commun et partagé de façon universelle par tout client, acheteur ou consommateur, celui de pouvoir se fier à des informations ou des données lui permettant d’acquérir la conviction que le produit ou service répondra bien à ses attentes

Page 111: Assurance Qualite Logiciel

13/04/23 111

Objectif de l’AQL

• Objectifs de l'AQL dans le développement• Objectifs de l'AQL dans la maintenance

Page 112: Assurance Qualite Logiciel

13/04/23 112

Objectifs de l'AQL dans le développement

• Assurer un niveau de confiance acceptable que le logiciel sera conforme aux exigences fonctionnelles techniques.

• Assurer un niveau de confiance acceptable que le logiciel sera conforme aux exigences de gestion concernant l'échéancier et le budget.

• Initiation et activités de gestion pour l'amélioration et la plus grande efficience des activités de développement et d'assurance de qualité logicielle.

Page 113: Assurance Qualite Logiciel

13/04/23 113

Objectifs de l'AQL dans la maintenance

• Assurer un niveau de confiance acceptable que les activités de maintenance logiciel seront conformes aux exigences fonctionnelles techniques.

• Assurer un niveau de confiance acceptable que les activités de maintenance logiciel seront conformes aux exigences de gestion concernant l'échéancier et le budget.

• Initier et gérer des activités visant à l'amélioration et à l'augmentation de l'efficience des activités de maintenance et d'assurance de qualité logicielle.