SlideShare une entreprise Scribd logo
1  sur  50
Télécharger pour lire hors ligne
Introduction à l'Assurance de Qualité
Logicielle
Basé sur D. Galin Ch1 – 4, 5 et R. Patton Ch 1
Objectifs
● Qu'est­ce la Qualité Logicielle ?
● Pourquoi la Qualité Logicielle est importante ?
● Qu'est­ce l'Assurance de Qualité Logicielle ?
● Facteurs de Qualité Logicielle
● Éléments de l'Assurance de Qualité Logicielle
● Plans de Développement et de qualité
● Modèles de maturité de processus
Qu'est­ce un logiciel ?
Selon l'IEEE
Un logiciel est:
Des programmes, procédures, ainsi que
possiblement de la documentation et des données
liées à l'opération d'un système informatique.
Erreurs, fautes et pannes du logiciel
● Bug/défaut/faute conséquence d'erreurs humaines
● résulte en non-conformité aux exigences
● se manifeste comme un panne lors de l'exécution
Processus de Développement du Logiciel
faute
panne
erreur
Neuf sources d'erreurs
1. Mauvaise définition des exigences
2. Problèmes de communication entre clients et developpeurs
3. Déviations délibérées des exigences du logiciel
4. Erreur de conception (logique)
5. Erreurs de programmation
6. Non conformité à la documentation ainsi qu'aux instructions de
programmation
7. Insuffisances du processus de tests
8. Erreurs de l'interface usagers ainsi que de la procédure
9. Erreurs de documentation
Relation entre processus de
développement et défauts
Phase
Exigences 56 82
Design 27 13
Code 7 1
Autres 10 4
Pourcentage
de défaux
Effort pour
fixer
défaux
Phase ou trouvée Ratio de coût
Exigences 1
Design 3 – 6
Coding 10
Unit/Integration testing 15 – 40
System/Acceptance testing 30 – 70
Production 40 – 1000
Exigences sont la
raison principale du
succès ou échec de
projets
La majorité des défauts sont introduits tôt
Coût relatif pour corriger les défauts
Qu'est­ce la Qualité logicielle ?
● Conformité aux exigences
● Sens le plus étroit de qualité du logiciel
– absence de bugs
– bas ratio de défauts (# de défauts/unité de taille)
– haute fiabilité (nombre de pannes par n heures
d'opération)
● Temps Moyen entre Pannes (Mean Time To
Failure - MTTF) probabilité d'opération sans
panne dans un temps spécifié
Qu'est­ce la 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.
Qu'est­ce la Qualité logicielle?
Selon Pressman
La qualité logicielle est:
Conformité aux exigences fonctionnelles et de performance
explicites, aux normes de developpement explicitement
documentées, et aux caractéristiques implicites qui sont
attendues de tout le logiciel professionnellement développé
Importance de la qualité du logiciel
● Logiciel est une composante majeure des systèmes
informatiques (environ 80% du coût) – utilisés pour
– communication (ex. syst. téléphone, syst. email)
– santé (monitoring),
– transport (ex. automobile, aéronautique),
– échanges économiques (ex. e­commerce),
– entertainment,
– etc.
● Les défauts du logiciel sont extrêmement coûteux en terme
– d'argent
– de réputation
– de perte de vie
Importance de la qualité du logiciel
● Plusieurs désastres historiques attribués au logiciel
– 1988 abattage d'un Airbus 320 par l'USS Vincennes – affichage cryptique
et confusant du logiciel de détection
– 1991 échec de missile patriot ­ calcul imprécis de temps dû à des erreurs
arithmétiques
– London Ambulance Service Computer Aided Despatch System – plusieurs
décès
– Le 3 Juin 1980, North American Aerospace Defense Command (NORAD)
rapporta que les U.S. étaient sous attaque de missiles
– Échec du premier lancement opérationnel de la navette spatiale dont le
logiciel d'exploitation temps­réel consiste en environ 500,000 LOC –
problème de synchronisation entre les ordinateurs de contrôle de vol
– panne de 9 heures du réseau téléphonique longue distance d'AT&T –
provoqué par un patch de code non testé
Importance de la qualité du logiciel
● Ariane 5 crash 4 Juin 1996
– Vol inaugural du lanceur européen Ariane 5 crash
environ 40 secondes après décollage
– Perte d'environ ½ milliards de dollars
– L'explosion était le résultat d'une erreur logiciel
● Exception non capturée due à une erreur de floating­point:
conversion d'entier 64­bit à entier 16­bit signed integer
appliqué à un nombre plus large que supposé
● Le module était ré­utilisé sans avoir été testé
convenablement d'Ariane 4
– Erreur n'était pas supposé survenir avec Ariane 4
– Pas de gestionnaire d'exception
Importance de la qualité du logiciel
● Mars Climate Orbiter – 23 Septembre 1999
– Mars Climate Orbiter disparaît alors qu'il commence à
orbitrer Mars.
– Coût environ $US 125­million
– Panne due à une erreur dans le transfert de
l'information entre une équipe au Colorado et une
équipe en Californie
● Une équipe utilisa des unités anglaises (ex., inches, feet,
pounds) tandis que l'autre utilisa des unités métriques pour
une opération clé.
Importance de la qualité du logiciel
● Mars Polar Lander ­ Décembre 1999
– Mars Polar Lander disparait à l'atterrissage sur la
planète Mars
– Panne probablement due à la mise inattendue d'un
seul bit de donnée.
● défaut non décelé durant les tests
● équipes indépendantes on testés des aspects du système
séparément
Importance de la qualité du logiciel
● Virus et vers Internet
– Ver Blaster ($US 525 millions)
– Sobig.F ($US 500 millions – 1milliard)
● Exploitent des vulnérabilités bien connues du
logiciel
– Les développeurs de logiciel ne consacrent pas assez d'effort à
appliquer des leçons apprises sur les causes des vulnérabilités.
– Les mêmes types de vulnérabilités continuent à être vus dans
les nouvelles versions des produits qui étaient dans des
versions précédentes.
● Problèmes d'utilisabilité
Importance de la qualité du logiciel
● Impact monétaire de logiciel de mauvaise qualité (Standish group ­ 1995)
● 175,000 projets logiciels/an – coût moyen par projet
– Grosses compagnies ­ $US 2,322,000
– Compagnies Moyennes ­ $US 1,331,000
– Petites compagnies ­ $US 434,000
● 31.1% des projets annulés avant leur complétion
– coût $81 milliards
● 52.7% des projets dépassent leur budget ­ coûtent 189% de l'original
– coût $59 milliards
● 16.2% des projets complétés à temps selon le budget (9% pour grosses
compagnies)
● Grosses compagnies – systèmes délivrés ont approximativement seulement
42% des fonctions originellement­proposées
● 78.4% des projets de petites compagnies sont déployés avec au moins 74.2%
des fonctions originelles.
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”)
● seulement durant le développement
● Les environnements de développement du logiciel
● Sous contrat
● 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
Facteurs de Qualité Logicielle
● Modèle de qualité logicielle de McCall's
Facteurs de qualité logicielle
Facteurs liés à l'opération du produit
Facteurs liés à la révision du produit
Facteurs liés à la transition du produit
• Correctude
• Fiabilité
• Efficacité
• Intégrité
• Utilisabilité
• Maintainabilité
• Flexibilité
• Testabilité
• Portabilité
• Reusabilité
• Interopérabilité
Facteurs de Qualité Logicielle
● Correctude
– exactitude, complétude de la sortie requise
– disponibilité, caractère à­jour de l'information
● Fiabilité
– taux de panne maximum
● Efficacité
– ressources nécessaires à la fonction du logiciel
● Intégrité
– sécurité du système logiciel, droits d'accès
● Utilisabilité
– habilité d'apprentissage, habilité d'usage pour la tâche requise
Facteurs de Qualité Logicielle
● Maintenabilité
– effort pour identifier et corriger les pannes (modularité,
documentation, etc)
● Flexibilité
– degré d'adaptabilité (a de nouveaux usagers, tâches, etc)
● Testabilité
– support pour tests (ex: fichier logs, diagnostics automatiques,
etc)
Facteurs de Qualité Logicielle
● Portabilité
– adaptation à d'autres environnements (matériel, logiciel)
● Reusabilité
– usage de composants du logiciel pour d'autres projets
● Interopérabilité
– habilité d'interfassage avec d'autres composants/systèmes
Qu'est­ce l'assurance de qualité
logicielle ?
Selon l'IEEE
L'assurance qualité logicielle est:
1. 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.
2. Un ensemble d'activités conçu pour évaluer le processus
par lequel les produits sont développés ou fabriqués. A
contraster avec: le contrôle de qualité.
Qu'est­ce l'assurance de qualité
logicielle ?
Selon D. Galin
L'assurance qualité logicielle est:
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 schedule et budget.
Objectifs de l'AQL dans le
développement
(1) Assurer un niveau de confiance acceptable que le logiciel
sera conforme aux exigences fonctionnelles techniques.
(2) Assurer un niveau de confiance acceptable que le logiciel
sera conforme aux exigences de gestion concernant
l'échéancier et le budget.
(3) Initiation et activités de gestion pour l'amélioration et la plus
grande efficience des activités de developpement et
d'assurance de qualité logicielle.
Objectifs de l'AQL dans la
maintenance
(1) Assurer un niveau de confiance acceptable que les activités
de maintenance logiciel seront conformes aux exigences
fonctionnelles techniques.
(2) 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.
(3) 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.
Trois principes généraux de l'AQL
● Savoir ce que vous faites
● Savoir ce que vous devriez faire
● Savoir mesurer la différence
Trois principes généraux de l'AQL
● Savoir ce que vous faites
– comprendre ce qui est entrain d'être construit,
comment il est construit et ce qu'il fait
– suppose un processus de développement logiciel avec
● une structure de gestion (milestones, schéduling)
● politique de rapport
● processus de suivi
Trois principes généraux de l'AQL
● Savoir ce que vous devriez faire
– avoir des exigences et spécifications explicites
– suppose un processus de développement logiciel avec
● analyse des exigences,
● tests d'acceptabilité,
● feedback fréquent des usagers
Trois principes généraux de l'AQL
● Savoir mesurer la différence
– avoir des mesures explicites comparant ce qui est
entrain d'être fait de ce qui devrait­être fait
– quatre méthodes complémentaires:
● méthodes formelles – vérifier mathématiquement des propriétés
spécifiées
● tests – données explicites pour exécuter le logicielle et vérifier si
les résultats correspondent aux attentes
● inspections – examen par humain des exigences, design, code, ...
basés sur des checklists
● métriques – mesures un ensemble connu de propriétés liées à la
qualité
Assurance de Qualité Logicielle
● Approche complète de cycle de vie concernée par chaque aspect
du processus de développement de logiciels.
● Comprend
– ensemble complet d'objectifs de qualité,
– attributs mesurables de qualité (métriques de qualité) pour
évaluer le progrès vers les objectifs,
– objectifs quantitatives de certification pour toutes les parties du
processus de développement
● Prend en compte:
– exigence de produit des clients
– exigences de qualité, et
– exigences de qualité corporatifs
AQL
SQE comprend
● Vérification
– construisons nous le produit bien?
– effectuée à la fin d'une phase pour
s'assurer que des besoins établis
pendant la phase précédente ont
été répondus
● Validation
– construisons nous le bon produit?
– effectuée à la fin du processus de
développement pour assurer la
conformité aux exigences du
produit
Exigences
Architecture
Design Design
Codage
vérification
vérification
vérification
vérification
validation
AQL
Comprend
● Prévention de défauts
– Préviens la survenance de défauts
– Activités: formation, planification, simulation
● Détection de défauts
– Trouver des défauts dans un artefact logiciel
– Activités: inspections, test, mesure
● Suppression de défauts
– isolation, correction, vérification de correction
– Activités: isolation de fautes, analyse de fautes, test de régression
AQL
● Activités typiques de processus d'Assurance de la
Qualité Logicielle
– Validation des exigences.
– Vérification de Design.
– Vérification statique de code (inspection/revues).
– Test dynamique.
– Ingénierie de processus et standards.
– Métriques et amélioration continue.
Composants d'un système d'AQL ­
sommaire
•Composants pre­projet
•revues de contrats
•plans de développement et de qualité
•Composants du cycle de vie du logiciel
•Revues
•Opinions d'experts
•Tests du logiciel
•Composants de maintenance logiciel
•Assurance de la qualité du travail des participants externes
Composants d'un système d'AQL ­
sommaire
•Composants d'infrastructure pour la prévention d'erreurs et des
améliorations
•Procédures et instruction de travail
•Templates et listes de contrôle
•Formation, recyclage et certification du personnel
•Actions de prévention et correction
•Gestion de configuration
•Contrôle de documentation
•Gestion de composants d'AQL
•Contrôle du progrès de projets
•Métriques de qualité logicielle
•Coûts de qualité logicielle
Composants d'un système d'AQL ­
sommaire
•Standards AQL, système de certification et composants de vérification
•Standards de processus de projets
•Standards de gestion de qualité
•Organisation pour AQL – composante humaine
•Rôle de gestion
•Unité AQL
•Administrateurs, comités et forum d'AQL
Composants d'un système d'AQL ­
sommaire
•Considérations guidant la construction et l'organisation du système
d'AQL
•Types de clientèle du développement/maintenance logicielle
•Gamme des produits logiciel.
•Taille de l'organisation
•Degré et nature de la coopération avec d'autres organisations
développant des projets liés
•Objectifs d'optimisation
•Niveau de complexité et difficulté
•Degré d'expérience avec la technologie du projet
•Degré de ré­utilisation du logiciel dans les nouveau projets
•Qualifications professionnelles
•Niveau de familiarité avec les membres de l'équipe
L'Edifice de la Qualité
Logicielle
Project
Development plan
and Quality Plan
Ch.6
Pre­project SQA components
Project Life Cycle SQA components
Formal
Design
Reviews
Sec.
8.2
Experts
Opinion
Sec.
8.5
Peer
Reviews
Sec.
8.3
SQA
of
External
Participants
Ch
12
Software
Maintenance
Ch.
11
Software
Testing
Chs.
9­10
Quality Infrastructure components
Procedures
Ch. 14
Supporting
Devices
Ch. 15
Training
Instruction
Ch. 16
Preventive
Actions
Ch.17
Configuration
Management
Ch. 18
Document­
ation
Control
Ch. 19
Quality Management
Project
Progress
Control
Ch. 20
Software
Quality
Metrics
Ch. 21
Software
Quality
Costs
Ch. 22
Quality
Management
Standards
Ch. 23
Standards
Project
Process
Standards
Ch.24
Organizational Base – Human components
Management ­ Ch. 25 SQA Unit ­ Sec. 26.1 SQA Committees – Sec. 26.2
SQA Trustees – Sec. 26.2 SQA Forums – Sec 26.4
Contract review
Ch.5
Pre­project SQA components
From Galin 04
Plans de Développement et de Qualité
La planification a pour but de préparer les bases adéquates de
l'accomplissement avec succés (le bon produit dans les bons delais et coûts)
du projet. Le procédé de planification inclut:
1. Schedule des activités de développement et estimation de l'effort et
budget nécessaires
2. Recrutement des membres de l'équipe et allocation des ressources du
développement
3. Resolution des risques du développement
4. Implémentation des activités d'AQL requises
5. Fourniture au management des données nécessaires au contrôle du
projet
Eléments du plan de développement
1. Produits du projet, spécification des “livrables”
2. Interfaces du projet
3. Méthodologie du projet et outils de développement
4. Standards et procédures de développement
5. Plan du processus de développement
6. Milestones du projet
7. Organisation du staff du projet et coordination avec les
participants externes
8. Équipements de développement requis.
9. Risques de développement et actions de gestion de risques
10. Méthodes de contrôle
11. Estimation de coût du projet
Eléments du plan d'AQL
1. Liste d'objectifs de qualité
2. Activités de revue
3. Tests
4. Tests d'acceptance pour composants développés à
l'externe
5. Plans de gestion de configuration; outils, procédures et
données pour versions
Modèles de Maturité de Processus
● Évaluation de la maturité du processus de développement d'une
organisation
– Repère pour la pratique en matière d'AQL
● Division du processus en secteurs de processus
● Permet de mesurer la maturité de processus complets et/ou de
secteurs de processus
● Exemples:
– SEI (Carnegie­Mellon University) Capability Maturity Model
(CMM)
– International Organization for Standardization ISO 9000 quality
standard
CMM Niveaux de Maturité
1. Initial – chaotique
non­prédicable (coût, schedule, qualité)
2. Répétable ­ intuitif, coût/qualité très variables,
quelque contrôle du schedule,
procédures informelles/ad hoc.
3. Defined – qualitatif, coûts, schedules
fiables, performance de qualité non
prédicable mais en amélioration
4. Managed – contrôle
quantitatif statistique
raisonnable sur
qualité du produit
5. Optimizing – base quantitative pour amélioration continue.
Secteurs de processus clés de CMM
Fonctions devant être présentes à un niveau donné
● Niveau 2: Repeatable
– Gestion des Exigences
– Planification de projet
– Gestion de sous­contraction
– Assurance de qualité du logiciel
– Gestion de configuration du logiciel
Secteurs de processus clés de CMM
● Niveau 3: Defined
– Amélioration de processus Organisationnelle
– Définition de processus Organisationnelle
– Programme de formation
– Gestion de projet intégrée
– Ingénierie de produit logiciel
– Coordination Inter groupes
– Revues par des Paires
Secteurs de processus clés de CMM
● Niveau 4: Managed
– Mesure et analyse de Processus
● Statistiques sur design/code/test défauts
● projection de défauts
● Mesure de la couverture de tests
● analyse des causes de défauts liés processus
● analyse de l'efficacité des revues pour chaque projet
– Gestion de Qualité
Secteurs de processus clés de CMM
● Niveau 5: Optimisation
– Prévention de défauts
● mécanisme d'analyse de cause des défauts pour les
changements aux processus pour les prévenir
● mécanisme d'initiation d'actions de prévention
– Innovation Technologique
– Gestion de changement de Processus
ISO 9000
● Ensemble de normes et directives pour systèmes de gestion de
qualité
● Enregistrement implique de passer un audit de tiers, et des audits
réguliers pour assurer la conformité continue
● ISO 9001 s'applique au génie logiciel ­ 20 secteurs
ISO 9000
1. Management responsibility
2. Quality system
3. Contract review
4. Design control
5. Document control
6. Purchasing
7. Purchaser­supplied product
8. Product identification and traceability
9. Process control
10. Inspection and testing
ISO 9000
11. Inspection, measuring, and test equipment
12. Inspection and test status
13. Control of nonconforming product
14. Corrective action
15. Handling, storage, packaging, and delivery
16. Quality records
17. Internal quality audits
18. Training
19. Servicing
20. Statistical techniques

Contenu connexe

Similaire à 491723007-Assurance-Qualite-de-Logiciel-1.pdf

qualimétrie logiciel - Entreprise Software Analytic - nov 2015
qualimétrie logiciel -  Entreprise Software Analytic - nov 2015qualimétrie logiciel -  Entreprise Software Analytic - nov 2015
qualimétrie logiciel - Entreprise Software Analytic - nov 2015Julien Vq
 
1_Assurance_Qualit_et_Gnie_Logiciel.ppt
1_Assurance_Qualit_et_Gnie_Logiciel.ppt1_Assurance_Qualit_et_Gnie_Logiciel.ppt
1_Assurance_Qualit_et_Gnie_Logiciel.ppthbadir
 
Initiation à UML: Partie 1
Initiation à UML: Partie 1Initiation à UML: Partie 1
Initiation à UML: Partie 1DIALLO Boubacar
 
Cours Génie Logiciel 2016
Cours Génie Logiciel 2016Cours Génie Logiciel 2016
Cours Génie Logiciel 2016Erradi Mohamed
 
Analyse des besoins et gestion des projets besoin.pdf
Analyse des besoins et gestion des projets besoin.pdfAnalyse des besoins et gestion des projets besoin.pdf
Analyse des besoins et gestion des projets besoin.pdfJordaniMike
 
coursABGP-miage-1112-4p1.pdf
coursABGP-miage-1112-4p1.pdfcoursABGP-miage-1112-4p1.pdf
coursABGP-miage-1112-4p1.pdfHervKoya
 
Choisir sa solution ALM: séminaire
Choisir sa solution ALM: séminaireChoisir sa solution ALM: séminaire
Choisir sa solution ALM: séminaireEnalean
 
Identifier les risques
Identifier les risquesIdentifier les risques
Identifier les risquesCarine Pascal
 
RA et CCDS - Séance 1.pptx
RA et CCDS - Séance 1.pptxRA et CCDS - Séance 1.pptx
RA et CCDS - Séance 1.pptxtestuser715939
 
qualité logicielle (8).pdf
qualité logicielle (8).pdfqualité logicielle (8).pdf
qualité logicielle (8).pdfNoamHaythem
 
Introduction au Génie Logiciel
Introduction au Génie LogicielIntroduction au Génie Logiciel
Introduction au Génie Logicielguest0032c8
 
2-Cours de Géniel Logiciel
2-Cours de Géniel Logiciel2-Cours de Géniel Logiciel
2-Cours de Géniel Logiciellauraty3204
 
Assurance Qualité logicielle
Assurance Qualité logicielleAssurance Qualité logicielle
Assurance Qualité logicielleSylvain Leroy
 
Compatibilité applicative : Comment sécuriser et accélérer votre migration ve...
Compatibilité applicative : Comment sécuriser et accélérer votre migration ve...Compatibilité applicative : Comment sécuriser et accélérer votre migration ve...
Compatibilité applicative : Comment sécuriser et accélérer votre migration ve...Microsoft Technet France
 

Similaire à 491723007-Assurance-Qualite-de-Logiciel-1.pdf (20)

1.pdf
1.pdf1.pdf
1.pdf
 
Assurance qualité
Assurance qualitéAssurance qualité
Assurance qualité
 
qualimétrie logiciel - Entreprise Software Analytic - nov 2015
qualimétrie logiciel -  Entreprise Software Analytic - nov 2015qualimétrie logiciel -  Entreprise Software Analytic - nov 2015
qualimétrie logiciel - Entreprise Software Analytic - nov 2015
 
Cours Génie Logiciel - Introduction
Cours Génie Logiciel - IntroductionCours Génie Logiciel - Introduction
Cours Génie Logiciel - Introduction
 
1_Assurance_Qualit_et_Gnie_Logiciel.ppt
1_Assurance_Qualit_et_Gnie_Logiciel.ppt1_Assurance_Qualit_et_Gnie_Logiciel.ppt
1_Assurance_Qualit_et_Gnie_Logiciel.ppt
 
Initiation à UML: Partie 1
Initiation à UML: Partie 1Initiation à UML: Partie 1
Initiation à UML: Partie 1
 
PrésQL.pdf
PrésQL.pdfPrésQL.pdf
PrésQL.pdf
 
Cours Génie Logiciel 2016
Cours Génie Logiciel 2016Cours Génie Logiciel 2016
Cours Génie Logiciel 2016
 
Analyse des besoins et gestion des projets besoin.pdf
Analyse des besoins et gestion des projets besoin.pdfAnalyse des besoins et gestion des projets besoin.pdf
Analyse des besoins et gestion des projets besoin.pdf
 
coursABGP-miage-1112-4p1.pdf
coursABGP-miage-1112-4p1.pdfcoursABGP-miage-1112-4p1.pdf
coursABGP-miage-1112-4p1.pdf
 
Choisir sa solution ALM: séminaire
Choisir sa solution ALM: séminaireChoisir sa solution ALM: séminaire
Choisir sa solution ALM: séminaire
 
Identifier les risques
Identifier les risquesIdentifier les risques
Identifier les risques
 
chap6_GL.pptx
chap6_GL.pptxchap6_GL.pptx
chap6_GL.pptx
 
RA et CCDS - Séance 1.pptx
RA et CCDS - Séance 1.pptxRA et CCDS - Séance 1.pptx
RA et CCDS - Séance 1.pptx
 
Qualité logiciel - Generalités
Qualité logiciel - GeneralitésQualité logiciel - Generalités
Qualité logiciel - Generalités
 
qualité logicielle (8).pdf
qualité logicielle (8).pdfqualité logicielle (8).pdf
qualité logicielle (8).pdf
 
Introduction au Génie Logiciel
Introduction au Génie LogicielIntroduction au Génie Logiciel
Introduction au Génie Logiciel
 
2-Cours de Géniel Logiciel
2-Cours de Géniel Logiciel2-Cours de Géniel Logiciel
2-Cours de Géniel Logiciel
 
Assurance Qualité logicielle
Assurance Qualité logicielleAssurance Qualité logicielle
Assurance Qualité logicielle
 
Compatibilité applicative : Comment sécuriser et accélérer votre migration ve...
Compatibilité applicative : Comment sécuriser et accélérer votre migration ve...Compatibilité applicative : Comment sécuriser et accélérer votre migration ve...
Compatibilité applicative : Comment sécuriser et accélérer votre migration ve...
 

Dernier

SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdfSKennel
 
présentation sur la logistique (4).
présentation     sur la  logistique (4).présentation     sur la  logistique (4).
présentation sur la logistique (4).FatimaEzzahra753100
 
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfJTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfInstitut de l'Elevage - Idele
 
JTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfJTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfInstitut de l'Elevage - Idele
 
Algo II : les piles ( cours + exercices)
Algo II :  les piles ( cours + exercices)Algo II :  les piles ( cours + exercices)
Algo II : les piles ( cours + exercices)Sana REFAI
 
Câblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfCâblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfmia884611
 
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...maach1
 
JTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfJTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfInstitut de l'Elevage - Idele
 
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...Institut de l'Elevage - Idele
 

Dernier (11)

SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
 
présentation sur la logistique (4).
présentation     sur la  logistique (4).présentation     sur la  logistique (4).
présentation sur la logistique (4).
 
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfJTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
 
JTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfJTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdf
 
JTC 2024 - DeCremoux_Anomalies_génétiques.pdf
JTC 2024 - DeCremoux_Anomalies_génétiques.pdfJTC 2024 - DeCremoux_Anomalies_génétiques.pdf
JTC 2024 - DeCremoux_Anomalies_génétiques.pdf
 
Algo II : les piles ( cours + exercices)
Algo II :  les piles ( cours + exercices)Algo II :  les piles ( cours + exercices)
Algo II : les piles ( cours + exercices)
 
Câblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfCâblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdf
 
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
 
JTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfJTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdf
 
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
 
CAP2ER_GC_Presentation_Outil_20240422.pptx
CAP2ER_GC_Presentation_Outil_20240422.pptxCAP2ER_GC_Presentation_Outil_20240422.pptx
CAP2ER_GC_Presentation_Outil_20240422.pptx
 

491723007-Assurance-Qualite-de-Logiciel-1.pdf

  • 1. Introduction à l'Assurance de Qualité Logicielle Basé sur D. Galin Ch1 – 4, 5 et R. Patton Ch 1
  • 2. Objectifs ● Qu'est­ce la Qualité Logicielle ? ● Pourquoi la Qualité Logicielle est importante ? ● Qu'est­ce l'Assurance de Qualité Logicielle ? ● Facteurs de Qualité Logicielle ● Éléments de l'Assurance de Qualité Logicielle ● Plans de Développement et de qualité ● Modèles de maturité de processus
  • 3. Qu'est­ce un logiciel ? Selon l'IEEE Un logiciel est: Des programmes, procédures, ainsi que possiblement de la documentation et des données liées à l'opération d'un système informatique.
  • 4. Erreurs, fautes et pannes du logiciel ● Bug/défaut/faute conséquence d'erreurs humaines ● résulte en non-conformité aux exigences ● se manifeste comme un panne lors de l'exécution Processus de Développement du Logiciel faute panne erreur
  • 5. Neuf sources d'erreurs 1. Mauvaise définition des exigences 2. Problèmes de communication entre clients et developpeurs 3. Déviations délibérées des exigences du logiciel 4. Erreur de conception (logique) 5. Erreurs de programmation 6. Non conformité à la documentation ainsi qu'aux instructions de programmation 7. Insuffisances du processus de tests 8. Erreurs de l'interface usagers ainsi que de la procédure 9. Erreurs de documentation
  • 6. Relation entre processus de développement et défauts Phase Exigences 56 82 Design 27 13 Code 7 1 Autres 10 4 Pourcentage de défaux Effort pour fixer défaux Phase ou trouvée Ratio de coût Exigences 1 Design 3 – 6 Coding 10 Unit/Integration testing 15 – 40 System/Acceptance testing 30 – 70 Production 40 – 1000 Exigences sont la raison principale du succès ou échec de projets La majorité des défauts sont introduits tôt Coût relatif pour corriger les défauts
  • 7. Qu'est­ce la Qualité logicielle ? ● Conformité aux exigences ● Sens le plus étroit de qualité du logiciel – absence de bugs – bas ratio de défauts (# de défauts/unité de taille) – haute fiabilité (nombre de pannes par n heures d'opération) ● Temps Moyen entre Pannes (Mean Time To Failure - MTTF) probabilité d'opération sans panne dans un temps spécifié
  • 8. Qu'est­ce la 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.
  • 9. Qu'est­ce la Qualité logicielle? Selon Pressman La qualité logicielle est: Conformité aux exigences fonctionnelles et de performance explicites, aux normes de developpement explicitement documentées, et aux caractéristiques implicites qui sont attendues de tout le logiciel professionnellement développé
  • 10. Importance de la qualité du logiciel ● Logiciel est une composante majeure des systèmes informatiques (environ 80% du coût) – utilisés pour – communication (ex. syst. téléphone, syst. email) – santé (monitoring), – transport (ex. automobile, aéronautique), – échanges économiques (ex. e­commerce), – entertainment, – etc. ● Les défauts du logiciel sont extrêmement coûteux en terme – d'argent – de réputation – de perte de vie
  • 11. Importance de la qualité du logiciel ● Plusieurs désastres historiques attribués au logiciel – 1988 abattage d'un Airbus 320 par l'USS Vincennes – affichage cryptique et confusant du logiciel de détection – 1991 échec de missile patriot ­ calcul imprécis de temps dû à des erreurs arithmétiques – London Ambulance Service Computer Aided Despatch System – plusieurs décès – Le 3 Juin 1980, North American Aerospace Defense Command (NORAD) rapporta que les U.S. étaient sous attaque de missiles – Échec du premier lancement opérationnel de la navette spatiale dont le logiciel d'exploitation temps­réel consiste en environ 500,000 LOC – problème de synchronisation entre les ordinateurs de contrôle de vol – panne de 9 heures du réseau téléphonique longue distance d'AT&T – provoqué par un patch de code non testé
  • 12. Importance de la qualité du logiciel ● Ariane 5 crash 4 Juin 1996 – Vol inaugural du lanceur européen Ariane 5 crash environ 40 secondes après décollage – Perte d'environ ½ milliards de dollars – L'explosion était le résultat d'une erreur logiciel ● Exception non capturée due à une erreur de floating­point: conversion d'entier 64­bit à entier 16­bit signed integer appliqué à un nombre plus large que supposé ● Le module était ré­utilisé sans avoir été testé convenablement d'Ariane 4 – Erreur n'était pas supposé survenir avec Ariane 4 – Pas de gestionnaire d'exception
  • 13. Importance de la qualité du logiciel ● Mars Climate Orbiter – 23 Septembre 1999 – Mars Climate Orbiter disparaît alors qu'il commence à orbitrer Mars. – Coût environ $US 125­million – Panne due à une erreur dans le transfert de l'information entre une équipe au Colorado et une équipe en Californie ● Une équipe utilisa des unités anglaises (ex., inches, feet, pounds) tandis que l'autre utilisa des unités métriques pour une opération clé.
  • 14. Importance de la qualité du logiciel ● Mars Polar Lander ­ Décembre 1999 – Mars Polar Lander disparait à l'atterrissage sur la planète Mars – Panne probablement due à la mise inattendue d'un seul bit de donnée. ● défaut non décelé durant les tests ● équipes indépendantes on testés des aspects du système séparément
  • 15. Importance de la qualité du logiciel ● Virus et vers Internet – Ver Blaster ($US 525 millions) – Sobig.F ($US 500 millions – 1milliard) ● Exploitent des vulnérabilités bien connues du logiciel – Les développeurs de logiciel ne consacrent pas assez d'effort à appliquer des leçons apprises sur les causes des vulnérabilités. – Les mêmes types de vulnérabilités continuent à être vus dans les nouvelles versions des produits qui étaient dans des versions précédentes. ● Problèmes d'utilisabilité
  • 16. Importance de la qualité du logiciel ● Impact monétaire de logiciel de mauvaise qualité (Standish group ­ 1995) ● 175,000 projets logiciels/an – coût moyen par projet – Grosses compagnies ­ $US 2,322,000 – Compagnies Moyennes ­ $US 1,331,000 – Petites compagnies ­ $US 434,000 ● 31.1% des projets annulés avant leur complétion – coût $81 milliards ● 52.7% des projets dépassent leur budget ­ coûtent 189% de l'original – coût $59 milliards ● 16.2% des projets complétés à temps selon le budget (9% pour grosses compagnies) ● Grosses compagnies – systèmes délivrés ont approximativement seulement 42% des fonctions originellement­proposées ● 78.4% des projets de petites compagnies sont déployés avec au moins 74.2% des fonctions originelles.
  • 17. 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”) ● seulement durant le développement ● Les environnements de développement du logiciel ● Sous contrat ● 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
  • 18. Facteurs de Qualité Logicielle ● Modèle de qualité logicielle de McCall's Facteurs de qualité logicielle Facteurs liés à l'opération du produit Facteurs liés à la révision du produit Facteurs liés à la transition du produit • Correctude • Fiabilité • Efficacité • Intégrité • Utilisabilité • Maintainabilité • Flexibilité • Testabilité • Portabilité • Reusabilité • Interopérabilité
  • 19. Facteurs de Qualité Logicielle ● Correctude – exactitude, complétude de la sortie requise – disponibilité, caractère à­jour de l'information ● Fiabilité – taux de panne maximum ● Efficacité – ressources nécessaires à la fonction du logiciel ● Intégrité – sécurité du système logiciel, droits d'accès ● Utilisabilité – habilité d'apprentissage, habilité d'usage pour la tâche requise
  • 20. Facteurs de Qualité Logicielle ● Maintenabilité – effort pour identifier et corriger les pannes (modularité, documentation, etc) ● Flexibilité – degré d'adaptabilité (a de nouveaux usagers, tâches, etc) ● Testabilité – support pour tests (ex: fichier logs, diagnostics automatiques, etc)
  • 21. Facteurs de Qualité Logicielle ● Portabilité – adaptation à d'autres environnements (matériel, logiciel) ● Reusabilité – usage de composants du logiciel pour d'autres projets ● Interopérabilité – habilité d'interfassage avec d'autres composants/systèmes
  • 22. Qu'est­ce l'assurance de qualité logicielle ? Selon l'IEEE L'assurance qualité logicielle est: 1. 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. 2. Un ensemble d'activités conçu pour évaluer le processus par lequel les produits sont développés ou fabriqués. A contraster avec: le contrôle de qualité.
  • 23. Qu'est­ce l'assurance de qualité logicielle ? Selon D. Galin L'assurance qualité logicielle est: 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 schedule et budget.
  • 24. Objectifs de l'AQL dans le développement (1) Assurer un niveau de confiance acceptable que le logiciel sera conforme aux exigences fonctionnelles techniques. (2) Assurer un niveau de confiance acceptable que le logiciel sera conforme aux exigences de gestion concernant l'échéancier et le budget. (3) Initiation et activités de gestion pour l'amélioration et la plus grande efficience des activités de developpement et d'assurance de qualité logicielle.
  • 25. Objectifs de l'AQL dans la maintenance (1) Assurer un niveau de confiance acceptable que les activités de maintenance logiciel seront conformes aux exigences fonctionnelles techniques. (2) 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. (3) 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.
  • 26. Trois principes généraux de l'AQL ● Savoir ce que vous faites ● Savoir ce que vous devriez faire ● Savoir mesurer la différence
  • 27. Trois principes généraux de l'AQL ● Savoir ce que vous faites – comprendre ce qui est entrain d'être construit, comment il est construit et ce qu'il fait – suppose un processus de développement logiciel avec ● une structure de gestion (milestones, schéduling) ● politique de rapport ● processus de suivi
  • 28. Trois principes généraux de l'AQL ● Savoir ce que vous devriez faire – avoir des exigences et spécifications explicites – suppose un processus de développement logiciel avec ● analyse des exigences, ● tests d'acceptabilité, ● feedback fréquent des usagers
  • 29. Trois principes généraux de l'AQL ● Savoir mesurer la différence – avoir des mesures explicites comparant ce qui est entrain d'être fait de ce qui devrait­être fait – quatre méthodes complémentaires: ● méthodes formelles – vérifier mathématiquement des propriétés spécifiées ● tests – données explicites pour exécuter le logicielle et vérifier si les résultats correspondent aux attentes ● inspections – examen par humain des exigences, design, code, ... basés sur des checklists ● métriques – mesures un ensemble connu de propriétés liées à la qualité
  • 30. Assurance de Qualité Logicielle ● Approche complète de cycle de vie concernée par chaque aspect du processus de développement de logiciels. ● Comprend – ensemble complet d'objectifs de qualité, – attributs mesurables de qualité (métriques de qualité) pour évaluer le progrès vers les objectifs, – objectifs quantitatives de certification pour toutes les parties du processus de développement ● Prend en compte: – exigence de produit des clients – exigences de qualité, et – exigences de qualité corporatifs
  • 31. AQL SQE comprend ● Vérification – construisons nous le produit bien? – effectuée à la fin d'une phase pour s'assurer que des besoins établis pendant la phase précédente ont été répondus ● Validation – construisons nous le bon produit? – effectuée à la fin du processus de développement pour assurer la conformité aux exigences du produit Exigences Architecture Design Design Codage vérification vérification vérification vérification validation
  • 32. AQL Comprend ● Prévention de défauts – Préviens la survenance de défauts – Activités: formation, planification, simulation ● Détection de défauts – Trouver des défauts dans un artefact logiciel – Activités: inspections, test, mesure ● Suppression de défauts – isolation, correction, vérification de correction – Activités: isolation de fautes, analyse de fautes, test de régression
  • 33. AQL ● Activités typiques de processus d'Assurance de la Qualité Logicielle – Validation des exigences. – Vérification de Design. – Vérification statique de code (inspection/revues). – Test dynamique. – Ingénierie de processus et standards. – Métriques et amélioration continue.
  • 34. Composants d'un système d'AQL ­ sommaire •Composants pre­projet •revues de contrats •plans de développement et de qualité •Composants du cycle de vie du logiciel •Revues •Opinions d'experts •Tests du logiciel •Composants de maintenance logiciel •Assurance de la qualité du travail des participants externes
  • 35. Composants d'un système d'AQL ­ sommaire •Composants d'infrastructure pour la prévention d'erreurs et des améliorations •Procédures et instruction de travail •Templates et listes de contrôle •Formation, recyclage et certification du personnel •Actions de prévention et correction •Gestion de configuration •Contrôle de documentation •Gestion de composants d'AQL •Contrôle du progrès de projets •Métriques de qualité logicielle •Coûts de qualité logicielle
  • 36. Composants d'un système d'AQL ­ sommaire •Standards AQL, système de certification et composants de vérification •Standards de processus de projets •Standards de gestion de qualité •Organisation pour AQL – composante humaine •Rôle de gestion •Unité AQL •Administrateurs, comités et forum d'AQL
  • 37. Composants d'un système d'AQL ­ sommaire •Considérations guidant la construction et l'organisation du système d'AQL •Types de clientèle du développement/maintenance logicielle •Gamme des produits logiciel. •Taille de l'organisation •Degré et nature de la coopération avec d'autres organisations développant des projets liés •Objectifs d'optimisation •Niveau de complexité et difficulté •Degré d'expérience avec la technologie du projet •Degré de ré­utilisation du logiciel dans les nouveau projets •Qualifications professionnelles •Niveau de familiarité avec les membres de l'équipe
  • 38. L'Edifice de la Qualité Logicielle Project Development plan and Quality Plan Ch.6 Pre­project SQA components Project Life Cycle SQA components Formal Design Reviews Sec. 8.2 Experts Opinion Sec. 8.5 Peer Reviews Sec. 8.3 SQA of External Participants Ch 12 Software Maintenance Ch. 11 Software Testing Chs. 9­10 Quality Infrastructure components Procedures Ch. 14 Supporting Devices Ch. 15 Training Instruction Ch. 16 Preventive Actions Ch.17 Configuration Management Ch. 18 Document­ ation Control Ch. 19 Quality Management Project Progress Control Ch. 20 Software Quality Metrics Ch. 21 Software Quality Costs Ch. 22 Quality Management Standards Ch. 23 Standards Project Process Standards Ch.24 Organizational Base – Human components Management ­ Ch. 25 SQA Unit ­ Sec. 26.1 SQA Committees – Sec. 26.2 SQA Trustees – Sec. 26.2 SQA Forums – Sec 26.4 Contract review Ch.5 Pre­project SQA components From Galin 04
  • 39. Plans de Développement et de Qualité La planification a pour but de préparer les bases adéquates de l'accomplissement avec succés (le bon produit dans les bons delais et coûts) du projet. Le procédé de planification inclut: 1. Schedule des activités de développement et estimation de l'effort et budget nécessaires 2. Recrutement des membres de l'équipe et allocation des ressources du développement 3. Resolution des risques du développement 4. Implémentation des activités d'AQL requises 5. Fourniture au management des données nécessaires au contrôle du projet
  • 40. Eléments du plan de développement 1. Produits du projet, spécification des “livrables” 2. Interfaces du projet 3. Méthodologie du projet et outils de développement 4. Standards et procédures de développement 5. Plan du processus de développement 6. Milestones du projet 7. Organisation du staff du projet et coordination avec les participants externes 8. Équipements de développement requis. 9. Risques de développement et actions de gestion de risques 10. Méthodes de contrôle 11. Estimation de coût du projet
  • 41. Eléments du plan d'AQL 1. Liste d'objectifs de qualité 2. Activités de revue 3. Tests 4. Tests d'acceptance pour composants développés à l'externe 5. Plans de gestion de configuration; outils, procédures et données pour versions
  • 42. Modèles de Maturité de Processus ● Évaluation de la maturité du processus de développement d'une organisation – Repère pour la pratique en matière d'AQL ● Division du processus en secteurs de processus ● Permet de mesurer la maturité de processus complets et/ou de secteurs de processus ● Exemples: – SEI (Carnegie­Mellon University) Capability Maturity Model (CMM) – International Organization for Standardization ISO 9000 quality standard
  • 43. CMM Niveaux de Maturité 1. Initial – chaotique non­prédicable (coût, schedule, qualité) 2. Répétable ­ intuitif, coût/qualité très variables, quelque contrôle du schedule, procédures informelles/ad hoc. 3. Defined – qualitatif, coûts, schedules fiables, performance de qualité non prédicable mais en amélioration 4. Managed – contrôle quantitatif statistique raisonnable sur qualité du produit 5. Optimizing – base quantitative pour amélioration continue.
  • 44. Secteurs de processus clés de CMM Fonctions devant être présentes à un niveau donné ● Niveau 2: Repeatable – Gestion des Exigences – Planification de projet – Gestion de sous­contraction – Assurance de qualité du logiciel – Gestion de configuration du logiciel
  • 45. Secteurs de processus clés de CMM ● Niveau 3: Defined – Amélioration de processus Organisationnelle – Définition de processus Organisationnelle – Programme de formation – Gestion de projet intégrée – Ingénierie de produit logiciel – Coordination Inter groupes – Revues par des Paires
  • 46. Secteurs de processus clés de CMM ● Niveau 4: Managed – Mesure et analyse de Processus ● Statistiques sur design/code/test défauts ● projection de défauts ● Mesure de la couverture de tests ● analyse des causes de défauts liés processus ● analyse de l'efficacité des revues pour chaque projet – Gestion de Qualité
  • 47. Secteurs de processus clés de CMM ● Niveau 5: Optimisation – Prévention de défauts ● mécanisme d'analyse de cause des défauts pour les changements aux processus pour les prévenir ● mécanisme d'initiation d'actions de prévention – Innovation Technologique – Gestion de changement de Processus
  • 48. ISO 9000 ● Ensemble de normes et directives pour systèmes de gestion de qualité ● Enregistrement implique de passer un audit de tiers, et des audits réguliers pour assurer la conformité continue ● ISO 9001 s'applique au génie logiciel ­ 20 secteurs
  • 49. ISO 9000 1. Management responsibility 2. Quality system 3. Contract review 4. Design control 5. Document control 6. Purchasing 7. Purchaser­supplied product 8. Product identification and traceability 9. Process control 10. Inspection and testing
  • 50. ISO 9000 11. Inspection, measuring, and test equipment 12. Inspection and test status 13. Control of nonconforming product 14. Corrective action 15. Handling, storage, packaging, and delivery 16. Quality records 17. Internal quality audits 18. Training 19. Servicing 20. Statistical techniques