Vous êtes sur la page 1sur 11

Chapitre 2 Qualité logiciel et Assurance qualité logiciel

1. Définitions
En informatique et en particulier en génie logiciel, la qualité logicielle est une appréciation globale
d'un logiciel, basée sur de nombreux indicateurs.
Un logiciel est un produit qui ne se détériore pas et qui est continuellement modifié. La qualité d'un
logiciel dépend entièrement de sa construction, la qualité logicielle est par conséquence un sujet
central en génie logiciel. Une appréciation globale de la qualité tient autant compte des facteurs
extérieurs, directement observables par l'utilisateur, que des facteurs intérieurs, observables par les
ingénieurs lors des revues de code ou des travaux de maintenance.

2. Facteur de non qualité du logiciel

3. Indicateurs de qualité logicielle


La norme ISO 9126 définit six groupes d'indicateurs de qualité des logiciels:

1) la capacité fonctionnelle. C'est-à-dire la capacité qu'ont les fonctionnalités d'un logiciel à


répondre aux exigences et besoins explicites ou implicites des usagers. En font partie la
précision, l’interopérabilité, la conformité aux normes et la sécurité

2) la facilité d'utilisation, qui porte sur l'effort nécessaire pour apprendre à manipuler le
logiciel. En font partie la facilité de compréhension, d’apprentissage et d'exploitation et la
robustesse - une utilisation incorrecte n'entraîne pas de dysfonctionnement

3) la fiabilité, c'est-à-dire la capacité d'un logiciel de rendre des résultats corrects quelles que
soient les conditions d'exploitation. En font partie la tolérance de pannes - la capacité d'un
logiciel de fonctionner même en étant handicapé par la panne d'un composant (logiciel ou
matériel) ;

4) la performance, c'est-à-dire le rapport entre la quantité de ressources utilisées (moyens


matériels, temps, personnel), et la quantité de résultats délivrés. En font partie le temps de
réponse, le débit et l'extensibilité - capacité à maintenir la performance même en cas
d'utilisation intensive ;
5) la maintenabilité, qui porte sur l'effort nécessaire en vue de corriger ou de transformer le
logiciel. En font partie l'extensibilité, c'est-à-dire le peu d'effort nécessaire pour y ajouter de
nouvelles fonctions ;

6) la portabilité, c'est-à-dire l'aptitude d'un logiciel de fonctionner dans un environnement


matériel ou logiciel différent de son environnement initial. En font partie la facilité
d'installation et de configuration pour le nouvel environnement.

4. les différentes perceptions de la qualité.


5. Les 3 axes de qualité
Dans le domaine du logiciel, satisfaire les besoins de l'utilisateur suppose une démarche qualité qui
prend en compte :
 la qualité de son processus de développement (coûts, délais, méthodes, organisation,
personnel, techniques, outils),
 la qualité intrinsèque du produit (modularité, simplicité, ...),
 la qualité du service fourni par le logiciel en exploitation.

La qualité du processus de développement est basée sur l’utilisation de méthodes de développement


et de gestion de projet généralement définies dans le Manuel Qualité de l’entreprise rédigé au cours
de la mise en place d’une politique d’assurance qualité.
L'évaluation de la qualité intrinsèque du logiciel est effectuée sur le produit en développement en
fonction des facteurs de qualité attendus, définis lors de la commande (spécifications).
Celle du service porte sur le logiciel en exploitation chez l'utilisateur (ou client) et consiste
notamment à vérifier son adéquation aux exigences spécifiées.

6. ASSURANCE QUALITE

L’assurance qualité logicielle (AQL) est un ensemble d'activités planifiées et systématiques de toutes
les actions nécessaires pour fournir une assurance suffisante qu'un logiciel produit ou modifié est
conforme aux exigences et aux attentes établies. Les pratiques d'AQL varient selon le modèle
d'affaire et l'industrie ou le logiciel est utilise. Pour assurer une bonne qualité logiciel on doit :
7. Les connaissances fondamentales de l'AQL

Ces connaissances sont réparties en trois grandes catégories:

1) les fondements de la qualité logicielle;

2) les processus de gestion de la qualité logicielle

3) les considérations pratiques.

7.1 Fondements de la qualité logicielle

Plusieurs modèles de la qualité logicielle ont été proposés au cours des ans afin de décrire les
exigences qualité d’un logiciel.

Il est important pour le spécialiste du logiciel de spécifier les exigences qualité, les communiquer et
s’assurer que tous les intervenants approuvent ces exigences au tout début d’un projet ou d’une
modification d’un logiciel. Le spécialiste en assurance qualité logicielle a pour mission de former et
d’appuyer le personnel du développement, de la maintenance et des infrastructures afin qu’ils
appliquent concrètement ces concepts au cours de leur travail quotidien.

a. L'importance de la culture et l'éthique du génie logiciel: On s'attend, à cette étape ci, à


ce que les spécialistes du logiciel prennent un engagement en ce qui a trait à la qualité
du logiciel en tant qu'élément essentiel de leurs activités quotidiennes. L'éthique doit
jouer un rôle significatif. En effet, une culture et des attitudes qui font la promotion de
l’éthique influencent irrémédiablement la qualité du logiciel.
Afin de bien comprendre comment il faut résister aux pressions des patrons et de la
clientèle, nous présentons un modèle de négociation qui peut vous aider à mieux gérer
les attentes de vos clients et de vos patrons.

b. La valeur et le coût de la qualité : Pour aider les gestionnaires à mieux comprendre le


coût de qualité d’un logiciel, il est possible de le calculer en effectuant la somme des
coûts selon les quatre perspectives suivantes: 1) le coût de prévention des défauts, 2) le
coût de l’évaluation de la qualité, 3) le coût d'échec interne du logiciel, 4) le coût d'échec
externe d’un logiciel.
On sait, par expérience, que lors de la planification d’un nouveau projet logiciel, l’équipe de projet
vise à créer un logiciel qui offre une valeur ajoutée pour l’organisme, et cette valeur est souvent
quantifiée en termes de coûts et de bénéfices.

Il est fréquent que les clients n’établissent pas clairement les objectifs qualité, et conséquemment
qu’il comprenne les implications en efforts et en coûts. Pour assurer cette condition, le spécialiste du
logiciel doit se poser la question suivante: «Ai-je une spécification claire des exigences qualité suivi
d’une explication claire de ce qui est optionnel et essentiel pour assurer le succès de ce projet?»

c. L'amélioration de la qualité : La qualité des produits logiciels peut être améliorée par un
processus itératif d'amélioration continue qui exige le management, le contrôle, la
coordination et les boucles de rétroaction:

1) les processus du cycle de vie du logiciel,


2) le processus de la détection, de la correction et de la prévention des erreurs/défauts,
3) le processus d'amélioration de la qualité.

7.2 Processus de gestion de la qualité logicielle

La gestion de la qualité logicielle est définie dans la norme ISO 12207. Cette norme précise la portée
de la gestion de la qualité du logiciel et décrit les processus suivants:

 l’assurance qualité logicielle (AQL);


 la vérification et validation (V&V);
 la revue et d’audit;
 la résolution des problèmes

a. L'assurance qualité logicielle :

L’AQL vise à s’assurer que la qualité est une préoccupation constante dans tout développement,
maintenance, et travaux d’infrastructure/d’opération du logiciel. Afin d’y arriver, l’AQL s’assure de
l'exécution d'une variété d'activités qualité, à chaque étape du cycle de vie du logiciel, qui visent
l’identification rapide de défauts afin de les éliminer le plus tôt possible.

b. La vérification et la validation : « La V&V du logiciel est une approche disciplinée pour


évaluer les produits de logiciel tout au long du cycle de vie de produit. Tel que défini dans la
norme IEEE 1059, un effort de V&V a pour objectif de s'assurer que la qualité planifiée dans
le logiciel est mise en œuvre et que le logiciel répond aux exigences fonctionnelles et non
fonctionnelles des utilisateurs ».

Voici quelques exemples de tâches de V&V :

 analyse de situation critique;


 analyse d’allocation d’exigences logicielle/utilisateur/matériel;
 analyse de traçabilité;
 analyse de sécurité;
 analyse de risques;
 test de logiciel.

c. Les revues et les audits : La prévention des défauts est une activité essentielle de l’AQL. On
doit y consacrer un effort croissant pour améliorer la qualité du logiciel.
D’autres processus du logiciel ont une grande incidence sur la qualité du logiciel :

-la gestion des configurations joue un rôle important pour réaliser la qualité du logiciel.
Elle permet une saine gestion des versions et de la documentation des logiciels.

- la gestion du risque joue également un rôle important pour s’assurer qu’un logiciel est de
qualité. Incorporer de façon disciplinée les techniques d'analyse et de gestion des risques
dans les processus de cycle de vie du logiciel peut augmenter le potentiel de production d’un
produit de qualité.

7.3 Les considérations pratiques

L’ingénieur logiciel doit aussi avoir des connaissances pratiques en ce qui a trait à l’utilisation des
principes de la qualité et des techniques courantes dans le domaine concerné.

Les exigences de l’application de la qualité : Des facteurs influencent la planification, la gestion et le


choix des activités et des techniques d’AQL lors du démarrage d’un projet de développement, de
maintenance et d’opération, incluant :

- le domaine du système dans lequel le logiciel opérera (sûreté-critique, sécurité-critique, mission-


critique, affaires-critique, environnement-critique);

- les exigences de système et de logiciel; - les composants (internes), commerciaux (externes) ou


standard à employer dans le système;

- les normes spécifiques de génie logiciel applicables à l’interne et imposées par le domaine
concerné;

- les outils logiciels et méthodes à employer pour le développement et la maintenance ainsi que
l'évaluation et l'amélioration de la qualité;

- le budget, le personnel, l'organisation du projet, les plans et l'établissement de l’échéancier de tous


les processus;

- les utilisateurs et l'utilisation prévus du système;

- le niveau d'intégrité du système;

- la taille de l’organisation;

- la répartition géographique des équipes de développement;

- la diversité culturelle.

L'historique des échecs de logiciels semblables peut également aider en identifiant quelles
techniques seront les plus utiles pour détecter des défauts et en évaluer la qualité.

a. La caractérisation des défauts : Caractériser ces défauts favorise la compréhension


du produit, facilite des corrections au processus logiciel ou au produit et informe le
gestionnaire de projet et le client du statut du processus ou du produit. Il y a
plusieurs taxonomies de défauts qui existent et sont utilisées en industrie.
En dépistant ces défauts, l’ingénieur logiciel est intéressé non seulement par le
nombre de défauts, mais aussi par leurs types. Cela signifie que l’on doit être en
mesure d’associer un défaut en précisant son endroit probable d’apparition dans le
cycle de vie du logiciel.

Des modèles de fiabilité peuvent être établis à partir des données d'échecs rassemblées pendant les
tests du logiciel, ou pendant son opération et peuvent être employés ainsi pour prévoir de futurs
échecs et pour aider aux décisions concernant l’effort de test.

b. Les techniques de gestion de la qualité du logiciel : Les techniques de gestion de la


qualité peuvent être classées par catégorie. Le SWEBOK présente les catégories
suivantes : statique, manuelle, analytique, dynamique.

- Les techniques statiques (Analyse statique de programmes) impliquent l'examen de la


documentation et du logiciel du projet ainsi que d'autres informations sur les produits du
logiciel, sans les exécuter.

- Les techniques analytiques incluent l'analyse de complexité, l'analyse de flux de contrôle et


l'analyse algorithmique. Chaque type de technique analytique a un but spécifique. Bien que
ces techniques ne soient pas applicables à chaque projet, il est important de les connaître et
de savoir à quel moment elles peuvent contribuer à la qualité.

- Analyse dynamique de programmes peuvent aussi être utilisées lors du développement, de


la maintenance et de l’opération d’un logiciel. De manière générale, ce sont des techniques
utilisées lors de tests, de simulations, de vérification de modèles et d'exécution symbolique.
Elles sont dynamiques car elles requièrent l’exécution du code source du logiciel.

- La mesure de la qualité du logiciel : Les modèles de la qualité du produit logiciel incluent des
mesures qui ont pour objectif de déterminer le degré atteint pour chaque caractéristique de
qualité. Si elles sont choisies correctement, les mesures peuvent soutenir la qualité de
logiciel. Elles peuvent aussi aider les ingénieurs logiciels à évaluer la qualité de leur travail et
enfin elles offrent la possibilité d’améliorer de la qualité du processus à plus long terme.

- Les techniques statistiques et les tests fournissent souvent une vision instantanée des
secteurs plus délicats sur lesquels il faudrait se concentrer. Les diagrammes et les graphiques
résultants sont des aides de visualisation que les décideurs peuvent employer pour focaliser
des ressources, là où elles semblent les plus nécessaires. Les modèles de prédiction aident à
la planification des essais et à la prédiction des défauts.

8. Le plan d'AQL

La norme IEEE 730 décrit le contenu d'un plan d'AQL pour un logiciel:

 Intention et portée
 Définitions et abréviations
 Documents de références
 Survol du plan d'assurance qualité logicielle:
 Organisation
 Niveau de criticité du logiciel
 Outils, techniques et méthodologies
 Ressources
 Normes, pratiques et conventions
 Calendriers
 Activités et tâches de cycle de vie de l'AQL:
 Rôle de l'assurance de produit
 Rôle de l'assurance du processus
 Assurance sur les activités et les tâches du système de management de la qualité
 Activités et tâches additionnelles
 Processus et politiques additionnelles:
 Processus de revue de contrat
 Processus de mesures de la qualité
 Politiques de tests
 Politique de dérogation et de déviation
 Politique d'itération des tâches
 Enregistrements et rapports de l'AQL:
 Enregistrements
 Rapports

Bien que le plan qualité soit de la responsabilité du chef de projet logiciel, le spécialiste qualité peut
lui venir en aide en lui proposant un gabarit normalisé qui pourra l'aider dans le travail de rédaction
du plan. Un plan d'AQL décrivant les activités qualité qui seront faites pour un projet ou une
modification à un logiciel, doit être développé, documenté et maintenu à jour tout au long du travail.

9. Contrôle de la qualité
10. Revue de projet

11. Types de Menaces

11.1. Virus
Un virus informatique est un programme conçu pour se dupliquer ; il se propage par tous les moyens
d'échange de données numériques (Internet, réseau, disquette, cédérom, clé USB…) ; les effets d'un
virus sont très variés.
Protections Les antivirus sont des logiciels conçus pour repérer les traces d'activité des virus, les
bloquer et isoler ou supprimer les fichiers qui en sont responsables.

11.2. Chevaux de Troie / backdoors


Voisin des virus, un cheval de Troie (aussi appelé troyen ou trojan) est un programme qui, sous les
apparences d'un logiciel utile, autorise l'exécution de commandes sur votre ordinateur, depuis un
ordinateur distant, via Internet.
Certains chevaux de Troie, les backdoors, permettent de contrôler à distance votre ordinateur : après
avoir infecté votre machine (lors du téléchargement d'un fichier ou l'ouverture d'une pièce jointe), le
programme permet, lorsque vous êtes en connexion Internet, d'avoir un accès libre en lecture,
écriture ou suppression à la totalité des fichiers présents sur votre disque dur mais également de
faire exécuter à votre ordinateur des actions illégales (attaques de serveurs, intrusions dans des sites
sensibles…).
Protections Un antivirus (à jour) permet de limiter les risques d'infection.
Un firewall (matériel ou logiciel) permet, en plus, de surveiller le trafic sur votre accès Internet, pour
détecter les tentatives de connexion non volontaires. En cas d'accès permanent (ADSL), il est
indispensable d'utiliser un firewall qui filtre le trafic entre votre réseau local et Internet.

11.3. Spyware
Risques Un spyware (ou logiciel espion) est un programme conçu pour collecter des données
personnelles sur son utilisateur et les envoyer, à son insu, à un tiers via Internet. Les spywares ne
sont pas des virus parce qu'ils ne mettent pas en danger l’intégrité du système, des applications et
des données. Mais leurs actions posent des problèmes éthiques et juridiques, quant à la violation de
la vie privée.
Protections La relative innocuité des spywares a conduit les fabricants d'antivirus à les négliger et
des logiciels spécifiques souvent gratuits se sont développés. Les anti-spywares, comme les antivirus,
utilisent des bases de données fréquemment mises à jour.
11.4. Spams
Risques
Le spam (ou pourriel) désigne l'envoi massif de courriers électroniques, sans sollicitation des
destinataires, à des fins publicitaires ou malhonnêtes. C'est un phénomène d'ampleur puisqu'on
estime que 30 à 40% des mails circulant sur Internet seraient des spams.
Protections
Il est difficile, au niveau de l'utilisateur, de lutter contre les spams ; quelques mesures de prévention
sont, toutefois, possibles : - ne pas donner son adresse mail sur un site inconnu
- ne pas répondre aux messages de spam ni cliquer sur les liens qui prétendent vous désabonner de
ces courriers.

11.5. Hoaxes
Risques Il existe de faux virus, appelés hoaxes : un hoax se présente, en général, sous la forme d'un
mail d'alerte contre un nouveau virus ; le message se réclame souvent d'un fabricant connu
d'antivirus ou de matériel informatique, il signale un fichier dangereux et vous conseille de le
détruire et demande qu'on diffuse largement l'information.
Protections Lors de la réception d'un message douteux de ce type On peut trouver, sur Internet, des
sites d'information sur ces fausses alertes.

11.6. Problèmes utilisateurs


Risques Les utilisateurs, eux-mêmes, peuvent être à l'origine de pertes de données : par malveillance
ou par maladresse. Documents non enregistrés, effacés ou perdus lors de manipulations hasardeuses
sont source d'importantes pertes de temps et d'animosité à l'égard de l'outil informatique.
Protections La protection contre ce risque passe par une connaissance de base du fonctionnement
d'un ordinateur et, en particulier, du système de fichiers. Des habitudes efficaces et bien maîtrisées
de création et d'enregistrement des documents sont indispensables : création des documents
directement dans un dossier adapté, enregistrement à intervalles réguliers pendant le travail,
maîtrise des opérations de copier/couper/coller limitent les risques de fausse manoeuvre.

11.7. Mots de passe


Risques Un certain nombre de ressources sont protégées par mots de passe pour garantir que leur
utilisation reste le fait de personnes autorisées : accès à un ordinateur voire à certains dossiers et
fichiers, connexion Internet, accès à une boîte de messagerie, accès à certaines pages web…
Le vol de mot de passe permet à un usager non autorisé d'accéder à des outils ou à des données qui
ne le concernent pas .
Protections Le caractère relativement peu sensible des données d'une école ne nécessite pas une
politique très contraignante en matière de mots de passe. Mais un minimum de sécurité et de
confidentialité est recommandé :
 l'accès à l'ordinateur de gestion devra être protégé par un mot de passe puisqu'il contient
des données confidentielles sur les élèves.

 ce mot de passe ne sera pas affiché sur un post-it, collé sur l'ordinateur…

11.8. Partages
Risques L'intérêt principal d'un réseau est le partage des ressources : dossiers et fichiers, accès
Internet, imprimantes… Par défaut, lors de l'installation d'un réseau, rien n'est partagé, ce qui
permet de n'ouvrir à l'accès depuis une autre machine que pour les ressources souhaitées, en les
protégeant éventuellement par un mot de passe. Les risques liés aux partages sont de deux types :
 accès à des données confidentielles par des utilisateurs locaux non autorisés.
 accès à ces mêmes données et/ou prise de contrôle à distance depuis un ordinateur
extérieur, via la connexion Internet.

Protections Le partage complet des imprimantes est sans danger ; le partage de connexion Internet
se met en place lors de la configuration du réseau et n'a pas à être restreint sauf si on souhaite
interdire la sortie à une machine particulière ; quant au partage de dossiers, il est à définir en
fonction des contenus et des utilisateurs susceptibles d'y accéder. Il peut être utile de créer un
dossier partagé qui permettra des échanges avec les autres postes mais il est indispensable de ne pas
partager le reste du disque pour en préserver la sécurité et la confidentialité

11.9. Sauvegarde
Risques Malgré toutes les précautions prises contre les risques évoqués plus haut, il peut arriver que
des données soient perdues ; le temps mis à les créer, la complexité de leur élaboration, leur
caractère vital sont autant de facteurs aggravants de cette perte ; c'est pourquoi le recours à des
procédures de sauvegarde est indispensable, au moins pour les données essentielles .
Protections Il faut donc définir précisément les fichiers à sauvegarder ; ceci suppose une
connaissance du système de fichiers de l'ordinateur et une gestion assez rigoureuse lors de
l'enregistrement de vos documents.

Vous aimerez peut-être aussi