Plan d'Assurance Qualité (PAQ) – Système de Gestion de
Bibliothèque
1. But
Objectif principal : Ce document définit le Plan d'Assurance
Qualité (PAQ) pour le système de gestion de bibliothèque. Il vise à
garantir la qualité du logiciel tout au long de son cycle de vie, de la
conception au déploiement et à la maintenance, en respectant les
besoins des utilisateurs et les meilleures pratiques de l’industrie.
Normes de qualité : Ce PAQ s'appuie sur les principes des normes
ISO 9001 pour la gestion de la qualité et les bonnes pratiques de
développement logiciel (ISO/IEC 25010 pour la qualité des systèmes
et des logiciels).
2. Documents de référence
Description :
o Création d'une application permettant aux utilisateurs de
consulter des livres, d'emprunter des livres, et de gérer leurs
prêts.
o Les bibliothécaires peuvent ajouter ou supprimer des livres et
gérer les utilisateurs.
Technologies :
o Backend : Spring Boot, Spring Data JPA, MySQL
o Frontend : Angular, Bootstrap
Méthodologie :
o Configuration de la base de données : Tables pour livres,
utilisateurs, et prêts créées dans MySQL.
o API : Développement d'APIs RESTful avec Spring Boot pour les
opérations CRUD sur les livres et les prêts.
o Frontend : Création de composants Angular pour l’affichage
des livres, la gestion des prêts et des utilisateurs.
3. Gestion
3.1 Organisation et responsabilités
Rôle Responsabilités
Responsabl Dr. Driss ESSABBAR : supervision de la mise en œuvre et
e AQ suivi du PAQ. Validation de la conformité aux normes.
Chef de Dahbi Ayoub : coordination du projet, intégration des
projet activités AQ. Respect des délais et budgets.
- Dahbi Ayoub : backend et intégration de SonarQube. -
Développeu
Fatrah Ahmed : frontend et Selenium WebDriver. - Boufarra
rs
Oussama : frontend.
- Dahbi Ayoub : tests backend. - Boufarra Oussama : tests
Testeurs
frontend.
3.2 Tâches principales
Planification des activités d'AQ
Réalisation des revues et inspections (cf. section 6)
Exécution des tests
Gestion des anomalies (cf. section 7)
Suivi des métriques de qualité
Mise à jour du PAQ (Dahbi Ayoub, avec une fréquence trimestrielle
ou selon les besoins)
Développement du frontend avec Angular
Développement du backend avec Java Spring Boot
Conception et gestion de la base de données MySQL
Intégration de SonarQube pour l'analyse de la qualité du code
Intégration de Selenium WebDriver pour les tests automatisés
Utilisation d'Azure DevOps pour la gestion du projet, le suivi des
anomalies et le contrôle de version
3.3 Communication
Réunions d'équipe hebdomadaires pour discuter de l’avancement du
projet et des questions AQ.
Rapport mensuel d'avancement AQ présenté au responsable AQ.
Communication claire et régulière entre développeurs et testeurs
pour résoudre les anomalies.
4. Standards, pratiques, conventions et métriques
4.1 Standards
Code source :
o Angular : Guide de style Angular officiel, TSLint.
o Java Spring Boot : Guide de style Google pour Java,
Checkstyle.
o SQL : Guide de style SQL adapté.
Documentation :
o Documents en français, format clair et concis.
4.2 Pratiques
Qualité dès le départ : éviter la dette technique.
Tests unitaires pour chaque fonctionnalité (TDD si pertinent).
Revues de code avant intégration (Azure DevOps).
Intégration continue : Azure DevOps pour automatisation
(compilation, tests, qualité du code).
Gestion des versions avec Git (Azure DevOps).
4.3 Conventions
Nommage cohérent (camelCase pour Java, snake_case pour SQL).
Commentaires clairs pour expliquer les choix de conception.
4.4 Métriques
Couverture de code par les tests : Objectif 80%
Complexité cyclomatique : Seuils prédéfinis pour limiter les
risques.
Nombre de défauts par ligne de code : Objectif : <1/1000
lignes.
Respect des normes de codage : Objectif : 90% de conformité.
Délais de résolution des anomalies : Suivi du temps moyen de
résolution.
4.5 Outils
SonarQube : Analyse statique du code.
Selenium WebDriver : Tests fonctionnels automatisés.
Azure DevOps : Gestion de projet, suivi des anomalies, intégration
continue.
5. Revues et Audits
5.1 But
Garantir la qualité du système tout au long du développement par des
revues et audits permettant de détecter erreurs, incohérences et
améliorations possibles.
5.2 Types de revues et audits
Revue des exigences : Validation de la clarté et complétude des
exigences.
o Participants : Chef de projet, responsable AQ, développeurs.
o Quand : Au début du projet et après chaque modification
majeure.
Revue de design : Validation de l’architecture, des choix
technologiques et interfaces utilisateur.
o Participants : Chef de projet, responsable AQ, développeurs.
o Quand : Avant le développement et après modifications
majeures.
Revue de code : Assurance qualité du code (normes, erreurs,
améliorations).
o Participants : Développeurs.
o Quand : Avant chaque intégration (Azure DevOps).
Revue du plan de test : Validation de la pertinence et complétude
des cas de test.
o Participants : Responsable AQ, testeurs, chef de projet.
o Quand : Avant les tests.
Audit fonctionnel : Validation de la conformité aux exigences.
o Responsable : Chef de projet.
o Quand : Avant livraison.
6. Gestion des Anomalies
6.1 Objectif
Assurer une identification, un suivi et une résolution efficaces des
anomalies détectées durant le développement et les phases de test.
6.2 Processus de gestion des anomalies
1. Identification des anomalies :
Les anomalies sont détectées durant les tests ou signalées par
l'équipe de développement.
2. Enregistrement des anomalies :
Les anomalies sont enregistrées dans Azure DevOps avec une
description détaillée, incluant :
o Résumé du problème.
o Composant ou module affecté.
o Étapes pour reproduire l'anomalie.
o Gravité (critique, majeure, mineure).
o Priorité de résolution.
3. Analyse et assignation :
Chaque anomalie est analysée par le responsable AQ ou un
développeur, qui détermine les actions nécessaires.
Les anomalies sont assignées à des membres spécifiques pour
correction.
4. Correction :
Les développeurs corrigent les anomalies en respectant les normes
de codage et en effectuant des tests unitaires.
5. Validation :
Les testeurs valident les corrections par des tests régressifs pour
s'assurer que les anomalies sont résolues et qu'aucune nouvelle
anomalie n'est introduite.
6. Clôture :
Une anomalie est marquée comme "Résolue" une fois validée.
6.3 Outils
Azure DevOps : Gestion centralisée des anomalies.
SonarQube : Détection des problèmes liés à la qualité du code.
7. Planification et Suivi
7.1 Planification
Un calendrier détaillé est établi pour les activités clés, incluant :
Développement des fonctionnalités.
Réalisation des tests unitaires et d'intégration.
Revue de code.
Audits fonctionnels et de livraison.
Correction des anomalies.
7.2 Suivi
Le suivi est assuré par :
Tableaux de bord Azure DevOps : Visualisation des tâches,
anomalies, et indicateurs de performance.
Rapports d’avancement : Documents hebdomadaires et
mensuels partagés avec le chef de projet et le responsable AQ.
Réunions régulières : Points hebdomadaires pour évaluer l’état du
projet.
8. Livraison et Maintenance
8.1 Livraison
Avant la livraison, le logiciel passe par les étapes suivantes :
1. Validation finale des exigences fonctionnelles.
2. Validation des résultats des tests (unitaires, intégration, régressifs).
3. Revue et validation des livrables (code source, documentation
technique, manuel utilisateur).
4. Audit final par le responsable AQ.
8.2 Maintenance
Une fois livré, le système de gestion de bibliothèque est maintenu par
l’équipe technique pour :
Corriger les bugs signalés par les utilisateurs.
Ajouter des fonctionnalités nouvelles.
Assurer la compatibilité avec les évolutions technologiques.
8.3 Méthodologie de maintenance
Support utilisateur : Un canal de support est mis en place pour
remonter les problèmes.
Gestion des versions : Les mises à jour sont gérées par Git (Azure
DevOps) avec un système de versionnage clair.
Cycle de mise à jour : Correctifs et mises à jour mineures planifiés
sur une base mensuelle ou selon les besoins.
9. Conclusion
Le Plan d'Assurance Qualité (PAQ) pour le système de gestion de
bibliothèque garantit un suivi rigoureux des normes de qualité tout au
long du projet. Les responsabilités, méthodologies et outils définis dans ce
document permettent de livrer un logiciel fiable, maintenable et conforme
aux exigences des utilisateurs et des parties prenantes.
Signature :
Responsable AQ : Dr. Driss ESSABBAR
Chef de Projet : Dahbi Ayoub