• Aucun résultat trouvé

Qualité du logiciel et métriques

N/A
N/A
Protected

Academic year: 2022

Partager "Qualité du logiciel et métriques"

Copied!
16
0
0

Texte intégral

(1)

IFT3913

Qualité du logiciel et métriques

Chapitre 2

Modèles de processus du développement du logiciel

Plan du cours

Introduction

Modèles de processus du développement du logiciel

Qualité du logiciel Théorie de la mesure

Mesure de la qualité du logiciel Études empiriques

Mesure du produit logiciel

Collection et analyse des métriques

(2)

3

Introduction

Les notions de qualité et de mesure sont liées au processus de développement

Théorie

– Prévention

– Détection et correction précoce des erreurs – Élimination des causes d’erreurs

Pratique

– Injection de qualité dans toutes les activités

– Ajout d’activités dédiées à la qualité du produit et du processus

– Ajout d’activités de contrôle de la qualité – Évaluation quantitative (doit être possible)

Introduction

Attention ! La qualité à un coût

– Évaluer la durée de vie des logiciels

« La plupart des logiciels sont immortels » Nicholas Zvegintzov

– Évaluer les caractéristiques de qualité

importante pour le logiciel (cf. prochain chapitre ☺)

(3)

5

Introduction

Ce chapitre

– Rappelle les principaux modèles de développement du logiciel

– Introduit les modèles et les standards d’évaluation des processus de

développement

Le modèle en cascade

Le modèle de la cascade défini des étapes (ou phases) durant lesquelles les activités de développement se déroulent

Une étape doit se terminer à une date donnée par la production de certains documents ou logiciels

Les résultats de l'étape sont soumis à une étude approfondie

L'étape suivante n'est abordée que si les résultats sont jugés satisfaisants

(4)

7

Le modèle en cascade

Analyse besoins Planification Faisabilité

Conception du produit

Conception détaillée

Implantation et test

Intégration et test

Installation et test Exploitation et maintenance

Le modèle en cascade

Faisabilité (pourquoi ?)

– Répondre aux questions

• Pourquoi faut-il réaliser ce logiciel ?

• Y a-t-il de meilleures alternatives ?

• Le logiciel sera-t-il satisfaisant pour les utilisateurs ?

• Y a-t-il un marché pour le logiciel ?

• A-t-on le budget, le personnel, le matériel nécessaires ?

(5)

9

Le modèle en cascade

Analyse des besoins (quoi ?)

– Définir précisément les fonctions que le logiciels doit réaliser/fournir

– Le résultat de cette phase est le cahier des charges du logiciel

Le modèle en cascade

Conception (comment ?)

– Définir la structure du logiciel

– Les résultats comprennent l’architecture du logiciel (décomposition en modules) et la spécification des interfaces des modules – La définition des algorithmes de chacune

des procédures des modules est appelée la conception détaillée du logiciel

(6)

11

Le modèle en cascade

Implantation et test (comment ?)

– Implanter les procédures des modules – Tests unitaires

Intégration et test

– Intégrer les différents modules – Valider / vérifier l’adéquation de

l’implantation, de la conception et de l’architecture avec le cahier des charges (acceptation)

Le modèle en cascade

Installation et test

– Déploiement du logiciel chez le client et tests avec un sous ensemble d’usager choisi

Exploitation et maintenance

– Utilisation en situation réelle, retour d’information des usagers, des administrateurs, des gestionnaires…

– Maintenance corrective, perfective et adaptative

(7)

13

Le modèle en cascade

Les versions actuelles du modèle en cascade incluent de la validation et de la vérification à chaque étape

– Faisabilité et analyses des besoins + validation – Conception, conception détaillée + vérification – Implantation + tests unitaires

– Intégration + tests d’intégration et d’acceptation – Installation + tests de déploiement

Le modèle par prototypage

Le modèle en cascade suppose que les besoins sont clairs, arrêtés et bien définis Le modèle par prototypage est intéressant

– Besoins pas clairement définis

– Besoins changeants au cours du temps

Le prototypage permet le développement rapide d’une ébauche du futur logiciel

– Prototype jetable – Prototype évolutif

(8)

15

Le modèle par prototypage

Le modèle en spirale

(9)

17

Le modèle en spirale

Chaque cycle de la spirale comprend quatre étapes

– Détermination des objectifs du cycle, des

alternatives pour les atteindre et des contraintes à partir des résultats des cycles précédents ou de l’analyse des besoins

– Analyse des risques, évaluation des alternatives et éventuellement prototypage

– Développement et vérification de la solution retenue (un autre modèle peut-être utilisé)

– Revue des résultats et planification du cycle suivant

Le modèle en spirale

Risques majeurs du développement du logiciel

– Défaillance du personnel – Calendrier et budget irréalistes

– Développement de fonctions inappropriées

– Développement d'interfaces utilisateurs inappropriées – Produit « plaqué or »

– Validité des besoins

– Composants externes manquants – Tâches externes défaillantes – Problèmes de performance

– Exigences démesurées par rapport à la technologie

(10)

19

Mise en œuvre des processus

Le degré de mise en œuvre d’un processus varie d’une organisation à une autre (et d’un projet à un autre)

Les chances de succès dépendent en partie du degré de mise en œuvre du processus Des modèles et des standards existent pour évaluer ce degré de mise en œuvre

– CMM – SPR – ISO 9000

Capability Maturity Model (CMM)

Définit par le SEI (Carnegie-Mellon

University) en 1989 (de nouvelles versions existent)

Décrit une approche évolutionniste

d’amélioration des processus indéfinis et ad hoc vers des processus disciplinés

Établit une échelle pour évaluer la maturité d’utilisation d’un processus dans une organisation

(11)

21

Capability Maturity Model (CMM)

CMM – Niveau 1 (initial)

– Caractérisation

• Processus chaotique et changeant

• Calendriers, budgets, fonctionnalités, qualités imprévus et imprévisibles

• Performance dépend avant tout des individus

Capability Maturity Model (CMM)

CMM – Niveau 2 (répétable) – Caractérisation

• Processus intuitif et ad hoc

• Coût et qualité très variables

• Calendriers raisonnablement maîtrisés

– Points clés pour atteindre ce niveau

• Gestion des besoins

• Planification des projets

• Suivi des projets

• Gestion des sous-contractants

• Assurance qualité

(12)

23

Capability Maturity Model (CMM)

CMM – Niveau 3 (défini) – Caractérisation

• Processus documenté, normalisé et intégré

• Tous les projets suivent une version approuvée du processus de l’organisation

– Points clés pour atteindre ce niveau

• Définition du processus

• Amélioration du processus

• Programme de formation

• Gestion des projets intégrée

• Ingénierie du logiciel

• Coordination inter-groupes et évaluation par les pairs

Capability Maturity Model (CMM)

CMM – Niveau 4 (géré)

– Caractérisation

• Mesures de la qualité du processus et du produit

• Processus gérés quantitativement – Points clés pour atteindre ce niveau

• Mesures et analyse du processus

• Gestion de la qualité

(13)

25

Capability Maturity Model (CMM)

CMM – Niveau 5 (optimisé)

– Caractérisation

• Amélioration continue du processus à partir des mesures et des données collectées précédemment

• Intégration d’idées et de technologies novatrices

– Points clés pour atteindre ce niveau

• Prévention des erreurs

• Intégration des innovations technologiques

• Gestion des changements du processus

Capability Maturity Model (CMM)

Évaluation par un questionnaire

– Chaque question booléenne est associée à un niveau

– Pour atteindre un niveau, il faut 90% de

« oui » aux questions clés et 80% de

« oui » à toutes les questions de ce niveau – Il faut avoir un niveau pour passer au

niveau supérieur

(14)

27

Software Productivity Research (SPR)

Défini par Capers Jones Est similaire à CMM

Touche les aspects plus tactiques et stratégiques de l’entreprise

Comprend 400 questions (échelle de Lickert) Fournit une évaluation selon les niveaux : excellent, bon, moyen, marginal, faible

ISO 9000

Ensemble de standards et de lignes directrices pour gérer la qualité

Le standard ISO 9001 concerne le secteur de la fabrication et de la transformation

Le standard ISO 9000-3 est une

adaptation de ISO 9001 pour le logiciel

(15)

29

ISO 9000

ISO 9000-3

– Lignes directrices

1. Responsabilité de la gestion 2. Logiciel de qualité

3. Revues contractuelles 4. Contrôle de la conception 5. Contrôle des documents 6. Achats

7. Produits fournis par les clients

8. Identification et traçabilité des produits 9. Contrôle du processus

10. Tests et inspections

ISO 9000

ISO 9000-3

– Lignes directrices

11. Équipement d’inspections, de mesures et de tests 12. États des inspections et des tests

13. Contrôle des produits non-conformes 14. Actions correctives et préventives

15. Manutention, stockage, conditionnement et livraison 16. Enregistrement de qualité

17. Audits de qualité internes 18. Formation

19. Service après-vente

(16)

31

ISO 9000

ISO 9000-3 – Certification

• Avant de faire la demande, s’assurer que le processus fonctionne bien

• Utilisation des services de consultants en assurance qualité pour le suivi, le soutient et la formation

• Demande après d’un organisme de certification

• Examen et analyse de la documentation

• Contrôle in situ, comparaison du processus réels et de la documentation

• Descriptions détaillées des écarts et discussions

ISO 9000

ISO 9000-3

– Contrôle et suivi

• Deux visites sans préavis par année par l’organisme de certification pour vérifier la conformité du processus

• Retrait du certificat si des écarts sont constatés sans correction ou trop importants

Références

Documents relatifs

Nous pouvons calculer AU C meilleure la valeur de l’AUC avec le choix optimal de la référence, AU C mauvais la valeur de l’AUC avec le choix de la plus mauvaise référence et AU

matériau telles que la densité du bois et l’angle du fil (fibre torse), nous avons développé un logiciel qui permet la simulation d’un débit scié dont nous

L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des

ISO: la qualité, c'est un ensemble de traits et de caractéristiques d'un produit logiciel portant sur son aptitude à satisfaire des besoins exprimés ou implicites.. IEEE: la

– Crosby : La qualité du logiciel correspond au degré selon lequel un client perçoit qu’un logiciel réponde aux multiples attentes. Qualité

– 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.

– Niveau conceptuel : un objectif est défini pour une entité, en fonction d’un modèle de qualité, par rapport à une point de vue dans un.

bre de fonctions d’énergie potentielle dont la plus simple est la fonction V(x) = ax~ qui correspond à l’oscillateur