Plan Assurance Qualite Logicielle
Plan Assurance Qualite Logicielle
Plan Assurance Qualite Logicielle
1/19
Plan d'Assurance Qualité Logicielle
2/19
Plan d'Assurance Qualité Logicielle
7.2.Environnement technique.........................................................................................................12
8.Gestion des modifications........................................................................12
8.1.Procédure de modification........................................................................................................12
8.2.Règles d’évolution des numéros de version.................................................................................12
8.3.Règles d'évolution du statut......................................................................................................12
9.Méthodes, outils, règles, normes.............................................................13
9.1.Méthodes............................................................................................................. .....................13
9.2.Outils.......................................................................................................................................
.13
9.3.Règles et normes à respecter................................................................................................. .....13
10.Exigences et évaluation de la qualité.....................................................15
10.1.Facteurs....................................................................................................................
..............15
10.2.Critères..........................................................................................................................
.........16
10.3.Évaluation............................................................................................................. .................16
11.Reproduction, protection, livraison.......................................................18
11.1.Procédure de reproduction......................................................................................................18
11.2.Protection du logiciel..............................................................................................................18
11.3.Livraison et installation..........................................................................................................18
12.Suivi de l'application du PAQL...............................................................18
12.1.Validation des documents..................................................................................................... ...18
12.2.Relecture..........................................................................................................................
.......19
3/19
Plan d'Assurance Qualité Logicielle
1.2.Portée du document
Ce document est destiné :
➢ au responsable du stage : Jérôme Camilleri
➢ à la consultante : Martine Tasset
➢ au jury du Master Pro GI pour l'évaluation du stage
➢ à l'équipe du projet : Natacha Bagnard et Julien Forot
1.3.Responsabilités associées
Le responsable qualité est chargé de la rédaction du présent PAQL ainsi que de veiller à son
application et son évolution, en collaboration avec le chef de projet. C’est à lui de décider des
actions à entreprendre si le PAQL n’est pas appliqué.
2.Documentation utilisée
2.1.Documents de référence
Le tableau suivant récapitule les principales sources documentaires qui seront utilisées dans
le cadre de ce projet.
But Source
Rédaction des documents Cours de Y. Ledru
Développement Eclipse Documentation Eclipse
ServiceMix Documentation ServiceMix
Petals Documentation Petals
4/19
Plan d'Assurance Qualité Logicielle
But Source
JBI Spécification JBI 1.0 – JSR 208
Développement de la nouvelle version Documentation produite pour la version
précédente
3.Terminologie
Les termes suivant sont les termes spécifiques utilisés dans le PAQL.
➢ CdC : Cahier des Charges
➢ CV : Cycle de vie
4.Organisation
4.1.Maîtrise d'ouvrage
4.1.1.MOA
La maîtrise d'ouvrage est l'équipe BSOA de la section Recherche et Développement de Bull.
4.1.2.MOAd
La maîtrise d'ouvrage déléguée est représentée par Jérôme Camilleri, de l'équipe BSOA. Son
rôle est de donner les objectifs de travail et de valider les résultats obtenus.
5/19
Plan d'Assurance Qualité Logicielle
4.2.Maîtrise d'oeuvre
4.2.1.MOE
La maîtrise d'oeuvre est le Master2 Pro Génie Informatique de l'UJF et sont représentant :
Philippe Lalanda.
4.2.2.MOEd
La maîtrise d'oeuvre déléguée est l'équipe de développement : Natacha Bagnard et Julien
Forot. Leur rôle est de proposer une solution logicielle permettant au logiciel Cimero d'évoluer pour
satisfaire les nouveaux besoins du MOA et palier aux problèmes de la version précédente, ainsi que
de s’assurer de la bonne conduite du projet.
Pour cela, ils doivent faire en sorte que :
➢ Tous les documents demandés soient fournis
➢ Le planning soit observé et réajusté d’un commun accord si besoin
➢ Les normes de qualité soient définies et respectées
➢ La validation des documents soit conforme au PAQL
➢ La validation du code produit soit conforme au PAQL
4.3.Chef de projet
Le chef de projet sera Julien Forot pour la période de janvier à mijuin, puis Natacha
Bagnard pour la période de mijuin à miseptembre.
Le chef de projet est responsable :
✔ de la planification du projet
✔ du contrôle de l'avancement du projet
✔ de la mobilisation des moyens nécessaires de la coordination des travaux de chacun
4.4.Responsable qualité
Le responsable qualité sera Natacha Bagnard pour la période de janvier à mijuin, puis Julien
Forot pour la période de mijuin à miseptembre.
Le responsable qualité a pour mission de :
✔ définir les règles de retour arrière et les procédures de modification
✔ veiller à la diffusion et au respect des règles particulières au projet
✔ gérer l'évolution du PAQL
6/19
Plan d'Assurance Qualité Logicielle
5.Cycle de vie
5.1.Motivation du choix
Chaque attente du client peut être atteinte indépendamment des autres. L'utilisation d'un
cycle de vie permettant de développer chacun des modules de bout en bout séparément est donc
appropriée. Le produit final sera donc livré par lots successifs. Le cycle de vie choisi est un cycle
incrémental.
Analyse des
besoins
Spécifications
externes
Conception
Codage
Test
Livraison
7/19
Plan d'Assurance Qualité Logicielle
8/19
Plan d'Assurance Qualité Logicielle
9/19
Plan d'Assurance Qualité Logicielle
6.Documentation produite
A l'issue de ce projet, plusieurs documents auront été produits. Certains devront être livrés
avec le produit fini, certains seront disponibles si le client les souhaite et certains ne serviront qu'à
l'équipe de développement. Le tableau suivant précise pour chaque document sont statut.
Document Statut
Cahier des charges Livrable
Plan d'assurance qualité logicielle Livrable
Plan de développement logiciel Privé
Dossier de spécifications externes Livrable
Dossier de conception globale Consultable
Dossier de conception détaillée Consultable
Plans de tests Livrable
Jeu de tests Livrable
Manuel utilisateur Livrable
7.Gestion de la configuration
La configuration est l'ensemble des éléments suivants : code source exécutable, outils de
développement et de test utilisés, documents et données.
10/19
Plan d'Assurance Qualité Logicielle
➢ BullForge
Bull possède un site qui permet aux équipes de développement de collaborer efficacement
grâce a des outils comme les forums et les mailings list. Bullforge fournit aussi des outils de travail
collaboratif comme CVS ou Subversion.
➢ Mailing list
L'inscription aux mailing list des projets associés est essentiel pour prendre en main les
outils et être au courant des nouvelles versions et des corrections d'erreurs.
7.2.Environnement technique
Le développement sera effectué sous environnement Linux (Debian). Le plugin pour Eclipse
sera développé sur la version 3.3 de l'IDE. La JDK 1.5 sera utilisée pour le développement JAVA.
11/19
Plan d'Assurance Qualité Logicielle
9.2.Outils
Le tableau suivant récapitule les outils qui seront utilisés dans le cadre de ce projet.
Fonctions Outils
Editeur de texte Open Office Writer
Editeur UML Dia/OMONDO
Environnement de développement Eclipse
Développement collaboratif CVS, BullForge, Mailing list
Gestion de projets Planner
ESB ServiceMix, Petals
12/19
Plan d'Assurance Qualité Logicielle
9.3.2.Règles de programmation
Le système sera développé en langage Java. Nous adopterons donc les règles qui s'y
appliquent, notamment :
➢ En entête de classe
✔ Date de création de la classe
✔ Auteur
✔ Historique des modifications
➢ Pour chaque méthode
✔ Description succincte de la méthode
✔ Description des paramètres utilisés
✔ Description de la valeur de retour
➢ Convention de nommage
✔ Le nom d'une classe commence par une majuscule. Si ce nom est luimême
13/19
Plan d'Assurance Qualité Logicielle
composé de plusieurs noms, chacun d'entre eux commence par une majuscule. Les
autres lettres sont en minuscules.
➔ Exemple :
• public class Composant{}
• public class TypeComposant{}
✔ Le nom d'une méthode ou d'une variable commence par une minuscule. Si ce nom
est luimême composé de plusieurs noms, chacun d'entre eux commence par une
majuscule. Les autres lettres sont en minuscules.
➔ Exemple :
• public void init(){}
• public void doPost{}
✔ Le nom des variables doit être significatif pour une meilleure compréhension du
code.
Le respect de ces règles de programmation devra être vérifié à l'aide de CheckStyle (plugin
Eclipse). Un minimum d'avertissements devra être présent. Aucun seuil n'est fixé car certaines
erreurs de CheckStyle n'ont pas un grand impact sur le style de programmation mais nécessite par
contre un grand investissement en temps.
Il s'agira donc de réduire au maximum le nombre d'avertissements en perdant un minimum
de temps.
9.3.3.Normes sur les comptes-rendus de réunions
Chaque audit donnera lieu à la rédaction d'un compterendu. Celuici se compose de la
manière suivante : « nom_date ».
14/19
Plan d'Assurance Qualité Logicielle
Par exemple, la fiche de relecture associée au Plan d'Assurance Qualité (PAQL) créer par
Jérôme Camilleri le 7 février 2007 sera nommée : « PAQL_Camilleri_06022007 ». Un modèle de
fiche est fourni : « Modele_fiche_relecture » ainsi qu'une fiche explicative annexe :
« PAQL_Fiche_relecture ».
15/19
Plan d'Assurance Qualité Logicielle
10.2.Critères
Chaque facteur est lié à des critères précis. Parmi ceuxci, un minimum de 4 critères par
facteur devra être assuré.
Maintenabilité Portabilité
● Tracabilité ● Simplicité
● Instrumentation ● Modularité
● Consistance ● AutoDescription
● Simplicité ● Indépendance logicielle
● Modularité ● Indépendance machine
● Autodescription
● Concision
● Communicabilité
10.3.Évaluation
La partie suivante présente les mesures qui seront effectuées pour quantifier le respect de
chaque critère sélectionné. Les conditions de validation de chaque critère seront également
précisées.
10.3.1.Modularité
La modularité est l'aptitude d'un logiciel à être composé de modules indépendants. Comme
le langage de programmation utilisé dans ce projet est JAVA, la modularité sera calculée en fonction
du nombre de lignes de code (LOC) composant chaque classe.
La taille maximale recommandée d'une classe JAVA est de 500 lignes de code. Au delà, le
code devient trop complexe.
16/19
Plan d'Assurance Qualité Logicielle
10.3.2.Auto-description
L'autodescription est l'aptitude d'un logiciel à fournir la description de chacune de ses
fonctions. Comme le langage de programmation utilisé dans ce projet est JAVA, il sera possible de
rédiger de la javadoc ainsi que des commentaires avant chaque fonction pour spécifier son rôle, ses
attributs, sa valeur de retour, ... De la même façon, le corps des fonctions devra être commenté afin
de rester compréhensible.
10.3.3.Indépendance logicielle
L'indépendance logicielle est l'aptitude d'un logiciel à ne pas être lié, de par son
fonctionnement, à un environnement logiciel particulier. Pour respecter ce critère, le logiciel issu de
ce projet devra fonctionner pareillement sous Windows XP2000 et sous Linux (Debian).
17/19
Plan d'Assurance Qualité Logicielle
10.3.4.Indépendance matérielle
L'indépendance matérielle est l'aptitude d'un logiciel à ne pas être lié, de par son
fonctionnement, à un environnement matériel particulier. Pour respecter ce critère, le logiciel issu de
ce projet devra fonctionner pareillement (sans prendre en compte la performance) sur différentes
configurations de machines.
10.3.6.Simplicité
La simplicité est l'aptitude d'un logiciel à avoir un fonctionnement interne compréhensible
facilement. Pour cela, des règles de programmation ont été prises (voir chapitre IX.3.B).
11.2.Protection du logiciel
Aucune protection du logiciel n'est prévu.
11.3.Livraison et installation
Le logiciel final sera remis à l'équipe BSOA. Il contiendra le code source de l'application,
ainsi que le plugin développés.
18/19
Plan d'Assurance Qualité Logicielle
Les documents livrables seront fournis dans un répertoire « Cimerov2Doc ». Les règles de
nommage de ces fichiers sont explicitées dans le chapitre 9.4.
Ce plugin sera installé dans l'IDE eclipse sur une machine de l'entreprise Bull. Un autre
exemplaire sera utilisé pour la soutenance de stage de l'équipe de développement (septembre 2007).
Lors de la livraison du produit à Bull, une procédure complète d'installation sera fournie
(dans le manuel utilisateur) afin de permettre à des personnes étrangères à l'équipe de
développement d'installer et d'utiliser le produit sans difficultés.
12.2.Relecture
La lecture croisée sera effectuée au minimum par les 2 membres de l'équipe de
développement (l'un rédige, l'autre relit) et par le MOEd.
L'auteur d'un document assure la réalisation des corrections proposés par les relecteurs et
gère le changement des numéros de versions.
L'enchaînement des tâches est le suivant :
➢ Création du document
➢ Diffusion aux relecteurs potentiels avec la fiche de relecture associée
1
19/19