assurance et contrôle qualité du logiciel mustapha el feddi [email protected]

56
Assurance et Contrôle Qualité du Logiciel Mustapha EL FEDDI [email protected]

Upload: avril-pichon

Post on 03-Apr-2015

119 views

Category:

Documents


8 download

TRANSCRIPT

Page 1: Assurance et Contrôle Qualité du Logiciel Mustapha EL FEDDI mustapha.elfeddi@sofrecom.com

Assurance et Contrôle Qualité du Logiciel

Mustapha EL [email protected]

Page 2: Assurance et Contrôle Qualité du Logiciel Mustapha EL FEDDI mustapha.elfeddi@sofrecom.com

La qualité en génie logiciel?

Personne ne sait aujourd’hui créer de logiciel sans défaut!

Page 3: Assurance et Contrôle Qualité du Logiciel Mustapha EL FEDDI mustapha.elfeddi@sofrecom.com

Définition

La qualité est (Le Petit Robert):Ce qui fait qu’une chose est plus ou moins

recommandable le degré plus ou moins élevé d’une échelle

de valeurs pratique

En Génie LogicielLa qualité d’un logiciel est son aptitude à

satisfaire les besoins (exprimés ou potentiels) des utilisateurs

Page 4: Assurance et Contrôle Qualité du Logiciel Mustapha EL FEDDI mustapha.elfeddi@sofrecom.com

DéfinitionCe qu’est la qualité (du logiciel)

Besoins des utilisateurs Fonctions à réaliser: Calcul de paie,

commande d’avion,... Caractéristiques d’utilisation:

Exploitation, Evolutions,...

Page 5: Assurance et Contrôle Qualité du Logiciel Mustapha EL FEDDI mustapha.elfeddi@sofrecom.com

DéfinitionCe qu’est la qualité (du logiciel)

Les caractéristiques d’un logiciel diffèrent selon qu’il s’agit: d’un logiciel (prototype) jetable d’un logiciel dont la durée de vie est de

plusieurs années d’un logiciel dont les pannes ont une

importance relative d’un logiciel dont la moindre erreur peut

avoir des conséquences graves

Page 6: Assurance et Contrôle Qualité du Logiciel Mustapha EL FEDDI mustapha.elfeddi@sofrecom.com

Processus de réalisation d’un logiciel de qualité

Les processus doivent obéir aux conditions suivantes:

Ne pas faire seulement un contrôle de qualité en fin de processus

Assurer une production échelonnée de documentation

Prendre en compte les coûts de maintenance

Page 7: Assurance et Contrôle Qualité du Logiciel Mustapha EL FEDDI mustapha.elfeddi@sofrecom.com

Les facteurs de qualité du logiciel

dépendent du domaine de l’application et des outils utilisés

concernent les développeurs (facteurs internes) ou les utilisateurs (facteurs externes)

ValiditéExtensibilitéRéutilisabilitéCompatibilitéEfficacitéPortabilité

VérificabilitéIntégritéFacilité d’emploiEconomieDocumentationCompréhensibilité

Caractéristiques jouant un rôle dans la qualité du logiciel

FlexibilitéInteropérabilitéModularitéModifiabilitéGénéralitéTestabilité

AdaptabilitéUtilisabilitéClartéMaintenabilité...

Page 8: Assurance et Contrôle Qualité du Logiciel Mustapha EL FEDDI mustapha.elfeddi@sofrecom.com

Fiabilité des logiciels

Fiablilité: Aptitude d’un dispositif à accomplir une fonction requise dans des conditions d’utilisation et pour une période de temps déterminée

Fiabilité des logiciels: Probabilité pour qu’une panne du logiciel provoquant un écart par rapport au résultat attendu au delà des tolérances spécifiées, ait lieu dans un environnement opérationnel de référence et à l’intérieur d’une

durée d’utilisation donnée

Page 9: Assurance et Contrôle Qualité du Logiciel Mustapha EL FEDDI mustapha.elfeddi@sofrecom.com

Fiabilité des logiciels

Matériel: Doubler les composants La fiabilité d’un système dépend :

de la qualité de la conception de la qualité de la réalisation de la fiabilité des composants

Ajouter du code pour faire les vérifications nécessaires

NE PAS FAIRE D’ECONOMIE DE CODE

Page 10: Assurance et Contrôle Qualité du Logiciel Mustapha EL FEDDI mustapha.elfeddi@sofrecom.com

Fiabilité des logiciels

NE PAS FAIRE D’ECONOMIE DE CODE Le matériel de plus en plus rapide et de moins en

moins cher Un logiciel peu fiable est rejeté Le coût d’une panne est supérieur au coût du code Efficacité: petite partie du code Fiabilité: Totalité du code Inefficacité: peut être prédite, pas la non fiabilité Système peu fiable: pertes d’infos, pertes de temps

et d’argent pour les reconstruire

Page 11: Assurance et Contrôle Qualité du Logiciel Mustapha EL FEDDI mustapha.elfeddi@sofrecom.com

Sécurité des logiciels

Sécurité des logiciels: Protection des ressources d’un système informatique contre les événements à caractère accidentel ou intentionnel

Modification ou destruction des ressources Observation (non autorisée) des

ressources Indisponibilité des ressources ou

services

Page 12: Assurance et Contrôle Qualité du Logiciel Mustapha EL FEDDI mustapha.elfeddi@sofrecom.com

Traitements induits

Contrôle d’accès Contrôles de validité, cohérence de

l’information saisie Redondances Audits d’intégrité Pistes d’audits Alertes sur seuils Cryptage

Page 13: Assurance et Contrôle Qualité du Logiciel Mustapha EL FEDDI mustapha.elfeddi@sofrecom.com

Facteurs & Critères de qualité

Proposés par McCall (1978) et Boehm (1978)

Les facteurs: concernent les caractéristiques d’utilisation

liées à l’environnement d’exploitation à l’environnement de suivi et de maintenance

traduisent la vision EXTERNE que peut en avoir le demandeur

Page 14: Assurance et Contrôle Qualité du Logiciel Mustapha EL FEDDI mustapha.elfeddi@sofrecom.com

Facteurs & Critères de qualité

Les critères Concernent les caractéristiques d’utilisation

en fonction d’une vision INTERNE (structure du logiciel)

sont les composantes des facteurs de qualité

peuvent être affectés à plusieurs facteurs sont reliés à des métriques

Page 15: Assurance et Contrôle Qualité du Logiciel Mustapha EL FEDDI mustapha.elfeddi@sofrecom.com

Facteurs

liés à l’environnement d’exploitation: Confidentialité Couplabilité Efficacité Maniabilité Robustesse

liés à l’environnement de maintenance et de suivi Maintenabilité Adaptabilité Portabilité

liés au processus de développement Correction

Page 16: Assurance et Contrôle Qualité du Logiciel Mustapha EL FEDDI mustapha.elfeddi@sofrecom.com

Critères

Banalité d’emploi: indépendance par rapport à une application

Communicabilité: facilité de communication entre l ’homme et la machine

Efficacité mémoire: consommation minimale de l ’espace mémoire

Efficacité périphérique: vitesse et capacité optimale des périphériques

Efficacité en temps d’exécution: consommation minimale en temps machine

Expansibilité: possibilité d ’accroissement des zones de données et de la taille programme

Exploitabilité: facilité de mise en œuvre et d ’exploitation

Page 17: Assurance et Contrôle Qualité du Logiciel Mustapha EL FEDDI mustapha.elfeddi@sofrecom.com

Critères

Historique des accès: mémorisation des accès

Indép./ env. logiciel: absence de liens structurels avec E.L.

Indép. / env. matériel: absence de liens structurels avec E.M.

Lisibilité: possibilité de compréhension d ’un document ou d ’un code par simple lecture

Modularité: décomposition d ’un logiciel en éléments de taille réduite

Observabilité: facilité de localisation des non conformités

Précision: exactitude des résultats obtenus

Page 18: Assurance et Contrôle Qualité du Logiciel Mustapha EL FEDDI mustapha.elfeddi@sofrecom.com

Critères

Protection du code et des données en exploitation: protection contre les accès par des personnes non autorisées, le logiciel étant en exploitation

Protection du code et des données hors exploitation: protection contre des accès par des personnes non autorisées, le logiciel étant hors exploitation

Simplicité: facilité de compréhension liée à l ’absence d ’éléments superflus

Page 19: Assurance et Contrôle Qualité du Logiciel Mustapha EL FEDDI mustapha.elfeddi@sofrecom.com

Critères Standardisation des données:compatibilité des

données avec des standards externes Standardisation des interfaces: compatibilité

des interfaces avec des standards externes Tolérance aux fautes: possibilité de limiter ou

supprimer les effets d ’une perturbation, que celle-ci ait une cause interne ou externe au logiciel

Traçabilité: existence de liens entre les différentes représentations textuelles ou graphiques

Page 20: Assurance et Contrôle Qualité du Logiciel Mustapha EL FEDDI mustapha.elfeddi@sofrecom.com

La qualité dans la conduite de projet

Conduite de Projet

Développementde SI

Planification et Suivi

Assurance & ContrôleQualité

Gestion de la configuration

Gestionde la documentation

Page 21: Assurance et Contrôle Qualité du Logiciel Mustapha EL FEDDI mustapha.elfeddi@sofrecom.com

Assurance & Contrôle Qualité

Assurance Qualité: Mise en œuvre d’une approche préventive de la qualité.

L’AQ consiste en un ensemble d’actions de prévention des défauts qui accompagnent le process de dvt des artefacts logiciels.

Contrôle Qualité: Mise en œuvre d’une approche curative de la qualité.

Le CQ suppose que bien que le process de production est satisfaisant, il présente des dysfonctionnements dont les effets doivent être éliminés.

Page 22: Assurance et Contrôle Qualité du Logiciel Mustapha EL FEDDI mustapha.elfeddi@sofrecom.com

Activité d’assurance qualitéDéfinition

Ensemble des actions préétablies et systématiques nécessaires pour donner la confiance appropriée en ce qu’un produit ou un service satisfera aux exigences données relatives à la qualité

Passe par l’élaboration d’un MANUEL QUALITE(Ensemble des méthodes, règles et procédures

mises en œuvre pour développer du logiciel )

Page 23: Assurance et Contrôle Qualité du Logiciel Mustapha EL FEDDI mustapha.elfeddi@sofrecom.com

Assurance Qualité: Liens entre les différentes activités

AssuranceQualité

Productionlogiciel

ContrôleQualité

Technologies Produit finiProduit fini

Normes, Procédures, Métrologie

Vérifie, Mesure, Corrige

ProductionGestionMaintenance

Page 24: Assurance et Contrôle Qualité du Logiciel Mustapha EL FEDDI mustapha.elfeddi@sofrecom.com

Assurance QualitéManuel Qualité

Manuel qualité : document décrivant les dispositions générales prises par l’entreprise pour obtenir la qualité de ses produits ou services

Organisé en 6 parties: Organisation de l’entreprise Activités de production et de contrôle technique Activité de gestion Activité de contrôle de la qualité Plan type du PLAN QUALITE Lignes directrices permettant d’établir le plan

qualité

Page 25: Assurance et Contrôle Qualité du Logiciel Mustapha EL FEDDI mustapha.elfeddi@sofrecom.com

Assurance QualitéRôle du Manuel Qualité

Usage interne et externe

Maîtrisé par tous Démonstration

Formation: technique, méthode et outils

Page 26: Assurance et Contrôle Qualité du Logiciel Mustapha EL FEDDI mustapha.elfeddi@sofrecom.com

Assurance QualitéPlan Qualité

Plan Qualité: Document décrivant les dispositions spécifiques prises par l’entreprise

Page 27: Assurance et Contrôle Qualité du Logiciel Mustapha EL FEDDI mustapha.elfeddi@sofrecom.com

Assurance QualitéPlan type du Plan Qualité

1) But, Domaine d’application et responsabilité:Portée du plan qualité et dispositions pour en assurer son

application

2) Documents applicables et documents de références: Documents appelés dans le plan qualité

3) Terminologie

4) Organisation:

Personnes intervenant dans le projet Pour chaque personne: sa place dans la structure de

l’entreprise, son rôle et ses responsabilités dans le projet Liens hiérarchiques et fonctionnels entre les intervenants

Page 28: Assurance et Contrôle Qualité du Logiciel Mustapha EL FEDDI mustapha.elfeddi@sofrecom.com

Assurance QualitéPlan type du Plan Qualité

5) Démarche de développement Liste des phases de développement Pour chaque phase:

contenu des activités de la phase, documents ou produits en entrée de la phase, documents ou produits réalisés dans la phase, conditions de passage à la pahse suivante et

points clés

Page 29: Assurance et Contrôle Qualité du Logiciel Mustapha EL FEDDI mustapha.elfeddi@sofrecom.com

Assurance QualitéPlan type du Plan Qualité

6) Documentation Liste des documents produits dans chaque phase Références aux plans types de chaque document Son statut: livrable, consultable, privée Documents classés en:

documents de gestion de projet documents techniques de réalisation manuels d’utilisation et d’exploitation

Page 30: Assurance et Contrôle Qualité du Logiciel Mustapha EL FEDDI mustapha.elfeddi@sofrecom.com

Assurance QualitéPlan type du Plan Qualité

7) Gestion des configurationsÉléments de configuration y compris les moyens de

développement et de tests

Conventions d’identification (nomenclatures)

8) Gestion des modifications le responsable de leur mise en œuvre les règles d’évolution de l’identification des

éléments modifiés et de la nomenclature

Page 31: Assurance et Contrôle Qualité du Logiciel Mustapha EL FEDDI mustapha.elfeddi@sofrecom.com

Assurance QualitéPlan type du Plan Qualité

9) Méthodes, outils et règles10) Contrôle des fournisseurs11) Reproduction, protection, livraison 12) Suivi de l’application du plan qualité (plan de

contrôle): Dispositions prises pour maîtriser la qualité Interventions du responsable qualité sur la démarche de

développement Interventions du responsable qualité dans les procédures

de gestion des configurations, de gestion des modifications, la vérification des exigences de qualité envers les fournisseurs

modalités de recette et qualification

Page 32: Assurance et Contrôle Qualité du Logiciel Mustapha EL FEDDI mustapha.elfeddi@sofrecom.com

Processus de développement: les autres activités

Activités de production Cycle de développement du logiciel: élaboration des

documents et des programmes Liens avec le cycle de développement d’un systèmes

Activités de contrôle technique: Contrôle sur le fond et sur la forme des documents et

des programmes à faire au cours du processus de développement

Page 33: Assurance et Contrôle Qualité du Logiciel Mustapha EL FEDDI mustapha.elfeddi@sofrecom.com

Processus de développement: les autres activités

Activités de contrôle qualité portent sur les résultats et les processus ayant

permis de les obtenir

Activités de gestion But: Assurer la cohérence, le suivi des

processus mis en jeu Gestion de projet Gestion des modifications Gestion des configurations

Page 34: Assurance et Contrôle Qualité du Logiciel Mustapha EL FEDDI mustapha.elfeddi@sofrecom.com

Activités du processus de développement: Gestion des configurations

Ensemble des activités-manuelles ou automatisées- permettant d’identifier et de définir les éléments de configuration et toutes leurs relations.

Elle permet de contrôler les évolutions durant le cycle de vie

du logiciel, d’archiver chacun des états successifs et de vérifier que chacun de ces états est

complet et cohérent

Page 35: Assurance et Contrôle Qualité du Logiciel Mustapha EL FEDDI mustapha.elfeddi@sofrecom.com

Normes générales de qualité

Normes ISO et IEEEEvaluation de maturité des processus: CMM,

SPICE, TRILLIUM ne prescrivent pas des méthodes précises proposent un ensemble d‘activités requises pour

produire des biens de qualité l’organisation détermine comment implanter

l’activité

Page 36: Assurance et Contrôle Qualité du Logiciel Mustapha EL FEDDI mustapha.elfeddi@sofrecom.com

Normes ISO 9000

ISO 9000: Ensemble de normes des gestion de la qualité

Applicable à plusieurs domaines (manufacturier, service,...)

satisfaire la norme ISO 9000 démontre la capacité d’une organisation à produire des biens et services

certification par un organisme indépendant (ex: Underwriter Lab.)

Page 37: Assurance et Contrôle Qualité du Logiciel Mustapha EL FEDDI mustapha.elfeddi@sofrecom.com

Les Normes ISO 9000

« Dîtes ce que vous faîtes,faîtes ce que vous dites,

et montrez que vous l’avez fait »

Page 38: Assurance et Contrôle Qualité du Logiciel Mustapha EL FEDDI mustapha.elfeddi@sofrecom.com

Normes ISO 9000 Norme ISO 9000 constitue un document décrivant les

lignes directrices pour la sélection et l’utilisations des normes

Norme ISO 9001 fournit un modèle pour l’assurance qualité dans le cadre de la conception, de la réalisation, de l’installation et du service après vente.

Norme ISO 9002 fournit un modèle pour l’assurance qualité dans le cadre de la production et de l’installation.

Norme ISO 9003 constitue un modèle pour l’AQ dans le cadre des contrôles et essais finaux.

Norme ISO 9004 complète à l’aide de directives communes à toutes les entreprises, les trois normes précédentes qui concernent l’assurance externe de la

qualité dans des situations contractuelles.

Page 39: Assurance et Contrôle Qualité du Logiciel Mustapha EL FEDDI mustapha.elfeddi@sofrecom.com

ISO 9000 et le logiciel

ISO 9001 est la plus pertinente pour le logiciel

ISO 9000-3: guide d’interprétation de ISO 9001 pour le logiciel

20 articles dans la norme

Page 40: Assurance et Contrôle Qualité du Logiciel Mustapha EL FEDDI mustapha.elfeddi@sofrecom.com

Article 1: Responsabilité de la direction

la direction doit définir et consigner par écrit sa politique de gestion de la qualité

la direction doit assurer la compréhension, la mise en œuvre et la pérennité de la politique à tous les niveaux de l’organisme

Page 41: Assurance et Contrôle Qualité du Logiciel Mustapha EL FEDDI mustapha.elfeddi@sofrecom.com

Article 2:Système qualité

Manuel qualité

Plans de qualité objectifs de la qualité (en termes mesurables) critères d’entrée et de sorties de chaque phase identification des activités planification des activités responsabilité (qui fait quoi)

Page 42: Assurance et Contrôle Qualité du Logiciel Mustapha EL FEDDI mustapha.elfeddi@sofrecom.com

18 autres articles de ISO 9001

3) Revues de contrat4) Maîtrise de la conception5) Maîtrise des documents6) Achats7) Produit fourni par l’acheteur8) Identification et traçabilité du produit9) Maîtrise des processus10) Contrôles et essais (C&E)

11) Maîtrise des équipements de C&E

Page 43: Assurance et Contrôle Qualité du Logiciel Mustapha EL FEDDI mustapha.elfeddi@sofrecom.com

18 autres articles de ISO 9001

12) États des contrôles et essais13) Maîtrise du produit non conforme14) Actions correctives15) Manutention, Stockage, Conditionnement et

Livraison16) Enregistrements relatifs à la qualité17) Audits internes de la qualité18) Formation19) Soutien après vente20) Techniques statistiques

Page 44: Assurance et Contrôle Qualité du Logiciel Mustapha EL FEDDI mustapha.elfeddi@sofrecom.com

Le Software Engineering Institute:Le modèle de maturité: CMM

financé par le DoD, associé à l’Université Carnegie Mellon

sa mission est de promouvoir le transfert de technologie en matière de logiciel, particulièrement pour les entreprises travaillant pour le DoD

le modèle de maturité proposé fin des années 1980, raffiné en 1993

grande influence dans l’amélioration des processus

Page 45: Assurance et Contrôle Qualité du Logiciel Mustapha EL FEDDI mustapha.elfeddi@sofrecom.com

Le Modèle de Maturité (CMM) du SEI Initial Reproductible Défini Maîtrisé Optimisé

~75% des projets au niveau 1

~25% des projets au niveau 2 ou 3

Dans une étude menée en 1995:

seulement 2 projets ont atteint le niveau 5: projet de Motorola projet Loral (le vol habité de

la navette spatiale)

Page 46: Assurance et Contrôle Qualité du Logiciel Mustapha EL FEDDI mustapha.elfeddi@sofrecom.com

Niveaux de maturité -1Initial

Chaotique: plans et contrôles inefficaces Processus essentiellement non contrôlé,

non défini le succès dépend des individus Domaine du problème:

Gestion de projet Gestion de la configuration Assurance qualité du logiciel

Page 47: Assurance et Contrôle Qualité du Logiciel Mustapha EL FEDDI mustapha.elfeddi@sofrecom.com

Niveaux de maturité -2Reproductible- Répétable

Intuitif: dépend encore des individus Procédures de gestion utilisées, gestion des

configurations et assurance qualité Pas de modèle formel de processus Domaine du problème:

Perfectionnement Pratiques techniques Vise la définition formelle du processus

Page 48: Assurance et Contrôle Qualité du Logiciel Mustapha EL FEDDI mustapha.elfeddi@sofrecom.com

Niveaux de maturité -3 Défini

Qualitatif: institutionnalisé Définition formelle du processus Procédures formelles pour vérifier que

le processus est utilisé Domaine du problème:

Procédures de mesure Processus d’analyse Plans de qualité quantitatif

Page 49: Assurance et Contrôle Qualité du Logiciel Mustapha EL FEDDI mustapha.elfeddi@sofrecom.com

Niveaux de maturité -4Maîtrisé

Quantitatif: Processus de mesures Gestion quantitative de la qualité Domaine du problème:

Technologie changeante Analyse des problèmes Prévention des problèmes

Page 50: Assurance et Contrôle Qualité du Logiciel Mustapha EL FEDDI mustapha.elfeddi@sofrecom.com

Niveaux de maturité -5Optimisé

Améliorations retournées dans le processus Stratégies d’amélioration du processus Domaine du problème

Automatisation

Page 51: Assurance et Contrôle Qualité du Logiciel Mustapha EL FEDDI mustapha.elfeddi@sofrecom.com

Secteurs clés

Niveau 1: Aucun Niveau 2: Répétable

Gestion de la spécification et des changements Planification, suivi et contrôle de projet Gestion de la sous-traitance Assurance de la qualité Gestion des configurations

Page 52: Assurance et Contrôle Qualité du Logiciel Mustapha EL FEDDI mustapha.elfeddi@sofrecom.com

Secteurs clés

Niveau 3- Défini focalisation organisationnelle sur le processus définition du processus programme de formation gestion logicielle intégrée ingénierie de produits logiciels coordination inter-groupes: autres groupes

d’ingénierie (électrique, mécanique,...) revues par les pairs

Page 53: Assurance et Contrôle Qualité du Logiciel Mustapha EL FEDDI mustapha.elfeddi@sofrecom.com

Secteurs clés

Niveau 4: Maîtrisé Gestion quantitative du processus Gestion de la qualité logicielle

Niveau 5 - Optimisé Prévention des défauts Gestion des changements technologiques Gestion des changements du processus

Page 54: Assurance et Contrôle Qualité du Logiciel Mustapha EL FEDDI mustapha.elfeddi@sofrecom.com

Problèmes reliés au CMM

Met l’emphase sur la gestion de projet, et non sur les technologies/méthodes de développement prototypage, méthodes formelles, outils

Ne mentionne pas l’analyse de risques Ne traite pas du processus de réutilisation Ne défini pas à quel domaine il s’applique

applicable aux petites organisations?

Page 55: Assurance et Contrôle Qualité du Logiciel Mustapha EL FEDDI mustapha.elfeddi@sofrecom.com

Niveaux d’évaluation

évaluation du processus logiciel identifier les aspects du processus à améliorer emphase sur les entrevues

évaluation de la capacité logicielle identifier les maîtres d’œuvre et les sous-

traitants qualifiés pour exécuter un travail logiciel

emphase sur les enregistrements semblable à un audit

Page 56: Assurance et Contrôle Qualité du Logiciel Mustapha EL FEDDI mustapha.elfeddi@sofrecom.com

ISO 9000 et CMM

partagent le même objectif: améliorer la qualité des logiciels

ISO 9000: identifie les éléments de base d’un système de gestion de la qualité

CMM: axé sur l’amélioration des processus