Vous êtes sur la page 1sur 37

MANAGEMENT DES SYSTÈMES D’INFORMATION

JANVIER 2023

MASTER 1 - MIAGE
MIA 417

(P A R D R . J U S T I N MOSKOLAI)
Q U A L I F I É CNU 27 E S E S S I O N
SOMMAIRE

Chapitre IV : Qualité du logiciel


et métriques
• Norme logicielle
• Processus d’évaluation
• Méthode SCOPE
• Applications

SA IN T JÉ R ÔSJP
M E PO LY T E C H N IQ U E

2
RAISONS DE LA FAIBLE QUALITÉ DES LOGICIELS

q Tâche complexe
o Taille et complexité des logiciels
o Taille des équipes de conception/développement

q Manque de méthodes et de rigueur


o Manque de méthodes de conception
o Négligence et manque de méthodes et d'outils des phases de
validation/vérification

q Mauvaise compréhension des besoins


o Négligence de la phase d'analyse des besoins du client
o Manque d'implication du client dans le processus

3
IMPORTANCE DE LA QUALITÉ DES LOGICIELS

q Fiabilité, sûreté et sécurité des logiciels


o Transports automobile, ferroviaire, aéronautique
o Contrôle de processus industriels, nucléaire, armement
o Médical : imagerie, appareillage, télé-surveillance
o e-commerce, carte bancaire sans contact, passeport
électronique

q Raisons économiques : coût d'un bug


o Coût de la correction, du rappel des appareils défectueux
o Coût de l'impact sur l'image, de l'arrivée tardive sur le marché
o Coût en vies, coût de l'impact écologique

4
NORME DE QUALITÉ LOGICIELLE

q ISO/IEC 9126 propose 6 caractéristiques de qualité du produit


logiciel
o Capacité fonctionnelle (functionality)
o Fiabilité (reliability)
o Facilité d'utilisation (usability)
o Rendement (efficiency)
o Maintenabilité (maintainability)
o Portabilité (portability)

q (D’autres existent !)

AN A LY S E DES SYSTÈM ES (PAR DR J. MOSKOLAI)

5
CAPACITÉ FONCTIONNELLE

q Définition
o Ensemble d'attributs portant sur l'existence de fonctions et leurs
propriétés ; les fonctions sont celles qui satisfont aux besoins exprimés
ou implicites

q Sous-caractéristiques
o Aptitude : présence et adéquation d’une série de fonctions pour les
tâches données
o Exactitude : résultats ou effets justes ou convenus
o Interopérabilité : interactions avec d’autres systèmes
o Sécurité : accès non autorisé (accidentel ou délibéré) aux programmes
et données

6
FIABILITÉ

q Définition
o Ensemble d'attributs portant sur l'aptitude du logiciel à maintenir son
niveau de service dans des conditions précises et pendant une période
déterminée

q Sous-caractéristiques
o Maturité : fréquence des défaillances dues à des défauts
o Tolérance aux fautes : aptitude à maintenir un niveau de service donné
en cas de défaut ou d’attaque
o Possibilité de récupération : capacité à rétablir son niveau de service et
de restaurer les données directement affectées en cas de défaillance ;
temps et effort nécessaire pour le faire

7
FACILITÉ D’UTILISATION

q Définition
o Ensemble d'attributs portant sur l'effort nécessaire pour l’utilisation et
l'évaluation individuelle de cette utilisation par un ensemble défini ou
implicite d’utilisateurs

q Sous-caractéristiques
o Facilité de compréhension : effort de l’utilisateur pour comprendre la
logique et la mise en œuvre
o Facilité d’apprentissage : effort de l’utilisateur pour apprendre son
utilisation
o Facilité d’exploitation : effort que doit faire l’utilisateur pour exploiter et
contrôler l’exploitation du logiciel

8
RENDEMENT

q Définition
o Ensemble d'attributs portant sur le rapport existant entre le niveau de
service d’un logiciel et la quantité de ressources utilisées, dans des
conditions déterminées

q Sous-caractéristiques
o Temps : temps de réponses et de traitement ; débits lors de l’exécution
de sa fonction
o Ressources : quantité de ressources utilisées ; durée de leur utilisation
par fonction

9
MAINTENABILITÉ

q Définition
o Ensemble d'attributs portant sur l'effort nécessaire pour faire des
modifications données

q Sous-caractéristiques
o Facilité d’analyse : effort nécessaire pour diagnostiquer les déficiences
et leurs causes ou pour identifier les parties à modifier
o Facilité de modification : effort nécessaire pour modifier, remédier aux
défauts ou adapter à l’environnement
o Stabilité : risque des effets inattendus des modifications
o Facilité de test : effort pour valider le logiciel modifié

10
PORTABILITÉ

q Définition
o Ensemble d'attributs portant sur l'aptitude du logiciel à être transféré d’un
environnement à un autre

q Sous-caractéristiques
o Facilité d’adaptation : possibilité d’adaptation à différents environnements
donnés sans que l’on ait recours à d’autres actions, ou moyens que ceux
prévus à cet effet par le logiciel
o Facilité d’installation : effort nécessaire pour installer le logiciel dans un
environnement donné
o Conformité aux règles de portabilité : conformité aux normes et aux
conventions ayant trait à la portabilité
o Interchangeabilité : possibilité et effort d’utilisation du logiciel à la place d’un
autre logiciel donné dans le même environnement

11
EN RÉSUMÉ

q Concrètement, la qualité n’est pas une notion unidimensionnelle

q Il est donc nécessaire


o De définir quelles caractéristiques évaluer (quoi)
o De décider quelles techniques utiliser pour évaluer chacune des
caractéristiques (comment)

12
ASPECTS MESURABLES

q Les processus
o Activités reliées au développement du logiciel
q Les produits
o Objets produits, livrables ou documents qui résultent d'une activité d’un
processus
q Les ressources
o Entités exigées par une activité d’un processus

q Chaque entité des trois classes produits, processus et ressources


possède
o Des attributs internes : attributs mesurables sur l’entité indépendamment de
son environnement
o Des attributs externes : attributs mesurables par rapport aux liens avec son
environnement

13
EXEMPLES

q Attributs internes de processus : effort ou durée du processus ou


d’une activité, …

q Attributs externes de produit : l’efficacité, la portabilité, la facilité de


compréhension, …

q Attributs internes de produit : taille, complexité, couplage, cohésion,


q Attributs internes de ressource : personnel, matériels, méthodes, …

14
COMMENT MESURER LA QUALITÉ DU LOGICIEL?

q ISO/IEC 9126 propose des grandes lignes pour un processus


d’évaluation de la qualité

q ISO/IEC 14598 propose un cadre plus précis pour l’évaluation du


produit logiciel

q Le projet SCOPE (Software CertificatiOn Programme in Europe)


définit un cadre complet pour l’évaluation logicielle

q La méthode GQM (Goal – Question – Metrics) permet de choisir les


indicateurs adéquats et QIP (Quality Improvement Paradigm) de les
améliorer

15
COMMENT MESURER LA QUALITÉ DU LOGICIEL?

16
PROCESSUS D'ÉVALUATION (9126)

Processus d'évaluation en trois étapes


q La définition des exigences de qualité : l'objectif est de spécifier les
exigences en termes de caractéristiques de qualité.
q La préparation de l'évaluation : l'objectif est d'initier l'évaluation et de
mettre au point ses bases. Ceci est fait en trois sous étapes :
o sélection des indicateurs de qualité, définition des taux de satisfaction et
définition des critères d'appréciation
q La procédure d'évaluation
o Mesure. Les indicateurs sélectionnés sont appliqués au produit, donnant ainsi
des valeurs
o Notation. Pour chaque valeur mesurée, une note (de satisfaction) est attribuée
o Appréciation. En utilisant les critères d'appréciation, un résultat global de
l'évaluation du produit est obtenu. Ce résultat est confronté aux aspects de
gestion (temps et coûts) pour la prise de décision

17
DIRECTIVES COMPLÉMENTAIRES (14598)

q Cette norme donne entre autres :


o Des informations générales sur des indicateurs de qualité des
logiciels
o Des critères de sélection de ces indicateurs
o Des directions pour l'évaluation des résultats des mesures
(données)
o Des directions pour l'amélioration du processus de mesure
o Des exemples de types de graphes d'indicateurs
o Des exemples d'indicateurs qui peuvent être utilisés pour les
caractéristiques de qualité de ISO/IEC 9126

18
UN CADRE D’ÉVALUATION, SCOPE

q SCOPE est un projet européen ESPRIT (1989-93) (Software


CertificatiOn Programme in Europe)

q Objectifs
o Définir des procédures d'attribution d'un label de qualité à un
logiciel quand celui-ci satisfait un certain ensemble d'attributs de
qualité
o Développer des technologies nouvelles et efficaces d'évaluation,
à des coûts raisonnables, permettant l'attribution de ce label
o Promouvoir l'utilisation des technologies modernes de l'ingénierie
des logiciels. Celles-ci, utilisées durant le développement,
contribuent à l'attribution du label

19
UN CADRE D’ÉVALUATION, SCOPE

q Résultat :
définition d'un
cadre d'évaluation
comprenant
o Un processus
o Une méthode
o Des techniques

20
PROCESSUS SCOPE

q Documents produits

o Les critères d'évaluation

o La spécification de l'évaluation

o Le plan de l'évaluation

o Le rapport d'évaluation

21
MÉTHODE SCOPE

q La méthode d'évaluation s'appuie sur trois types d'analyse


techniques
o L'analyse statique qui consiste à examiner le code pour évaluer
les caractéristiques de qualité

o L'analyse dynamique qui consiste entre autres à simuler le


déroulement du programme pour effectuer des mesures

o L'inspection qui concerne particulièrement les interfaces


personnes–machines

22
MÉTHODE SCOPE

q L'évaluation peut se faire selon le niveau de détail souhaité

23
TECHNIQUES SCOPE

Choix des techniques pour chaque niveau

24
PROBLÈME : LE CHOIX D’UNE MESURE

q On ne mesure pas pour le plaisir de mesurer

q Comment choisir la bonne mesure quand vient le temps de


mesurer?

q Le choix de la mesure dépend de l’objectif des mesures

q L’une des approches les plus utilisées pour le choix des


mesures est GQM (Goal – Question – Metrics)

25
COMMENT MESURER LA QUALITÉ DU LOGICIEL?

q ISO/IEC 9126 propose des grandes lignes pour un processus


d’évaluation de la qualité

q ISO/IEC 14598 propose un cadre plus précis pour l’évaluation du


produit logiciel

q Le projet SCOPE (Software CertificatiOn Programme in Europe)


définit un cadre complet pour l’évaluation logicielle

q La méthode GQM (Goal – Question – Metrics) permet de choisir les


indicateurs adéquats et QIP (Quality Improvement Paradigm) de les
améliorer, AQL (Acceptable Quality Level)

26
ACCEPTABLE QUALITY LEVEL - AQL

q La notion de niveau de qualité́ acceptable (NQA ou Acceptable Quality


Level -AQL- en anglais) est une technique d’échantillonnage basée sur
statistiques et probabilités.

q On définira, pour une taille de lot et selon que le fournisseur est plus ou
moins fiable, une taille d’échantillon représentatif, et des niveaux de
défaut.

q Si le niveau de défaut constaté est supérieur au niveau autorisé le lot


entier est rejeté.

q L’approche doit être d’autant plus rigoureuse que les contraintes qui
s’appliquent au produit sont sévères.

27
LEAN MANAGEMENT

q Le Lean Management est une méthode de gestion et d’organisation du


travail qui vise à améliorer les performances d’une entreprise.

q Le Lean Management permet d’optimiser les processus en réduisant les


temps sans valeur ajoutée (opération ou transport inutile, attente,
surproduction, etc.), les causes de non qualité et la complexité.

q Le Lean Management s’appuie sur quatre principes fondamentaux :


o La compréhension des besoins clients
o La réduction du temps de production
o L’analyse, la compréhension et la résolution des problématiques
o La fédération et la sensibilisation des collaborateurs

28
APPORT DU LEAN MANAGEMENT À LA QUALITÉ LOGICIELLE

q Voici quelques-uns des outils de développement Lean les plus


populaires pour renforcer la qualité dans le développement d’un
logiciel:
o Programmation en binôme : évitez les problèmes de qualité en
combinant les compétences et l'expérience de deux développeurs au
lieu d'un
o Développement piloté par les tests: rédaction de critères pour le code
avant d'écrire le code pour s'assurer qu'il répond aux exigences de
l'entreprise
o Développement incrémental et rétroaction constante
o Minimiser les états d'attente: réduire le changement de contexte, les
lacunes dans les connaissances et le manque de concentration
o Automatisation : automatisez tout processus manuel fastidieux ou sujet
à des erreurs humaines

29
REVUE DU CODE

q La revue de code (de l'anglais code review) est un examen systématique


du code source d'un logiciel.

q Il peut être comparé au processus ayant lieu dans un comité de lecture,


l'objectif étant de trouver des bugs ou des vulnérabilités potentielles ou
de corriger des erreurs de conception afin d'améliorer la qualité, la
maintenabilité et la sécurité du logiciel

q Objectifs:
o Améliorer la qualité du code
o Favoriser la collaboration, le travail en équipe (appropriation du code par
l’équipe)
o Appliquer un standard
o Détecter et corriger les défauts (bugs mais aussi lisibilité) au plus tôt dans le
cycle de vie du code pour économiser les coûts
o Formation des développeurs

30
REVUE DU CODE EN PRATIQUE

q Dans la pratique, la revue du code peut se faire suivant :


o Inspec'on formelle

o Analyse par-dessus l'épaule (over the shoulder review)

o Programmation en binôme

o Utilisation d'un outil dédié:


• Review Board : logiciel libre à interface web créé par Vmware
• Agile Review : plugin libre pour Eclipse
• Crew : logiciel libre de revue de code pour les projets Git
• Rietveld : développé pour Google par Guido van Rossum
• CodeStriker.
• JCR : Java Code Reviewer.

31
LA ROUE DE DEMING

32
LA ROUE DE DEMING

33
MÉTHODE COCOMO

q La méthode COCOMO (COnstructive COst MOdel) est un modèle


permettant de définir une estimation de l’effort à fournir dans un
développement logiciel et la durée que ce dernier prendra en
fonction des ressources allouées.

q Son but était d’estimer le coût d’un projet logiciel, en nombre de


mois-homme et le temps du développement du produit logiciel.

q L’objectif principal de la méthode COCOMO est de définir le coût


d’un projet de développement d’un logiciel. Il est question d’évaluer
les critères de projet ci-après :
o L’effort
o La durée
o L’effectif
o La productivité

34
MÉTHODE COCOMO

q 3 modèles :
o modèle de base : projet < 50 kls (≈ 1000 pages de 50 lignes). Petit
projet.
o modèle intermédiaire : projet de taille moyenne
o modèle détaillé : grand projet

q Pour chaque modèle, on a 3 modes de développement :


o Mode organique (S) : petite équipe expérimentée et environnement
familier (traitement classique).
o Mode semi-détaché (P) : équipe assez expérimentée, environnement
connu.
o Mode imbriqué (E) : projet à contraintes serrées, dues à l'environnement
ou une certaine nouveauté de l'application (temps réel, ...)

35
MÉTROLOGIE – POURQUOI?

q Logiciel(s) critique(s)

q Avoir des mesures fiables, objectives

q Composants réutilisables

q Maintenance du logiciel (coût),

q Equipes de développement différentes

q Certification logiciel ?

q Différents fournisseurs pour un même

q projet ...

36
MÉTROLOGIE – POURQUOI?

37

Vous aimerez peut-être aussi