Vous êtes sur la page 1sur 23

ÉCOLE DE TECHNOLOGIE SUPÉRIEURE

UNIVERSITÉ DU QUÉBEC

DÉPARTEMENT DU GÉNIE MÉCANIQUIE

RAPPORT DE PROJET
PRÉSENTÉ À ALAIN APRIL

DANS LE CADRE DU COURS


MGL804 : RÉALISATION ET MAINTENANCE DE LOGICIEL

TRAVAIL DE SESSION NO. 4


UTILISATION DE LA NORME ISO 14764

PAR
IANNICK GAGNON GAGI28128809

MONTRÉAL, LE 3 JUIN 2018


2
TABLE DES MATIÈRES
Introduction ........................................................................................................................ 5
1 Description de l’entreprise et de son projet ......................................................... 7
2 Évaluation du processus de maintenance de l’entreprise .................................... 7
2.1 Implémentation du processus de maintenance ..................................................... 7
2.2 Analyse de la problématique et des modifications ................................................ 9
2.3 Implémentation des modifications ....................................................................... 15
2.4 Acceptation et révision de la maintenance .......................................................... 17
3 Retour sur l’évaluation ......................................................................................... 19
2.1 Retour sur la sous-section 5.1 de ISO 14764 ........................................................ 20
2.1 Retour sur la sous-section 5.2 de ISO 14764 ........................................................ 20
2.1 Retour sur la sous-section 5.3 de ISO 14764 ........................................................ 20
2.1 Retour sur la sous-section 5.4 de ISO 14764 ........................................................ 21
Conclusion ........................................................................................................................ 22
Références bibliographiques ........................................................................................... 23

3
LISTE DES FIGURES
Figure 2.1 : Utilitaire de comparaison de code ................................................................. 9
Figure 2.2 : Processus proposé ou d’acceptation ou de refus […] .................................. 11
Figure 3.1 : Schéma des évaluations par section de la norme ISO 14764 ...................... 19

4
Introduction
Ce rapport est le fruit d’un travail de recherche effectué dans le cadre du cours MGL804
Réalisation et maintenance de logiciels à l’École de technologie supérieure.

Le texte est divisé en trois parties principales. La première a pour but de mettre le lecteur
en contexte. La deuxième passe systématiquement en revue l’ensemble des sous-clauses
de la norme ISO 14764 allant de 5.1 à 5.4 et compare ce qui est exigé par la norme à ce
que l’entreprise fait. Finalement, dans la troisième partie, nous faisons un retour sur la
section qui la précède et réunissons les points que l’entreprise devrait améliorer en vue
d’être conforme aux exigences.

5
1 Description de l’entreprise et de son projet
Dans ce texte, l’anonymat de l’entreprise est conservé par choix de l’auteur et non pas à
la demande de celle-ci. Nous pouvons toutefois dévoiler qu’elle est l’une des plus grandes
compagnies du Québec et qu’elle œuvre dans le secteur du génie mécanique.

Il y a de ça maintenant 6 ans, un projet de développement d’un système informatique qui


permet de faciliter les analyses des composantes mécaniques fut amorcé. Au fil du temps,
le programme résultant s’est complexifié et l’entreprise commence maintenant à se
préoccuper de sa maintenance.

Le programme est composé de plusieurs différents modules écrits dans différents langages
tels que C, C++ et Fortran, mais la majorité (90% +) est écrit dans le langage MATLAB. Ceux
qui ont programmé ces différentes composantes ont des antécédents variés et ont
généralement peu d’expérience professionnelle en développement de logiciels. Un autre
département indépendant dans l’entreprise est chargé de superviser la réalisation de ce
projet. C’est avec un des membres de ce département que l’évaluation présentée dans les
pages suivantes fut effectué.

6
2 Évaluation du processus de maintenance de l’entreprise
Dans cette section, nous passons en revue les sections 5.1 à 5.4 de la norme ISO 14764 et
les comparons aux pratiques actuelles de l’entreprise. Chaque sous-clause est
accompagnée d’une évaluation et le cas échéant, d’une ou plusieurs recommandations.

2.1 Implémentation du processus de maintenance


La section 5.1 de la norme ISO 14764 encadre la formalisation du processus de
maintenance par le biais de plans et de procédures qui sont exécutés durant celui-ci.
5.1.2.1 Maintenance plans and procedures
The maintainer shall (ISO/IEC 12207 sub-clause 5.5.1.1) develop, document, and execute
plans and procedures for conducting the activities and tasks of the Maintenance Process.

La sous-clause 5.1.2.1 encadre le développement d’un Plan de Maintenance et de


Procédures de Maintenance. Le Plan de Maintenance doit contenir les détails de la
stratégie utilisée et les Procédures de Maintenance doivent contenir des instructions
détaillées pour effectuer les travaux de maintenance.

Procédure suivie par l’entreprise

L’entreprise n’a pas de Plan de Maintenance ni de Procédures de Maintenance officiels. Il


existe toutefois des documents qui s’adressent aux programmeurs pour certains modules
spécifiques incluant certaines activités de maintenance.

Évaluation

Les documents dédiés aux programmeurs sont inconsistants quant à leur couverture des
tâches de maintenance et sont incomplets. Aucune procédure formelle ne supporte
l’écriture de ceux-ci et certains n’adressent pas du tout la maintenance. La sous-clause
5.1.2.1 n’est pas respectée.

Recommandation

Nous recommandons la création d’un Plan de Maintenance basé sur la sous-clause 5.5.1.1
de la norme ISO 12207. Nous recommandons aussi l’écriture de Procédures de
Maintenance au fur et à mesure que celles-ci sont effectuées. Ainsi, cela ne nécessiterait
pas l’arrêt des travaux pour l’écriture de dizaines de documents, mais cela s’ajouterait aux
tâches du mainteneur dans l’exercice de ses tâches quotidiennes. Ces documents
pourraient ensuite être formalisés durant les rencontres bi-mensuelles auxquelles tous les
programmeurs sont présents.

7
5.1.2.2 MR/PR procedures
The maintainer shall (ISO/IEC 12207 sub-clause 5.5.1.2) establish procedures for
receiving, recording, and tracking problem reports and modification requests from the
users and providing feedback to the users. Whenever problems are encountered, they
shall (ISO/IEC 12207 sub-clause 6.8) be recorded and entered into the Problem
Resolution Process.

La sous-clause 5.1.2.2 définit 8 différentes tâches qui doivent être accomplies par le
mainteneur afin d’établir les procédures de réception, d’enregistrement et de suivi des MR
et des PR.

Procédure suivie par l’entreprise

Les requêtes sont catégorisées en ordre de priorité et insérées dans un fichier Excel qui
peut être visionné et modifié par tous. Le statut de la requête est mis à jour
systématiquement par celui ou celle qui effectue le travail dans le tableur et aussi dans le
système de gestion de développement collaboratif ClearCase de IBM.

Évaluation

La sous-clause 5.1.2.2 est respectée. Les procédures sont un peu ad hoc, mais elles sont
suivies sur une base assez régulière.

Recommandations

Nous recommandons l’écriture d’un document officiel spécifique à la norme 5.1.2.2 qui
servira de référence aux utilisateurs et aux programmeurs. Ce dernier devra être lu et
compris par les parties prenantes.

En ce moment, ce ne sont pas tous les utilisateurs ni même tous les programmeurs qui
sont au courant que cette procédure existe. La valeur ajoutée par ce document serait de
donner confiance aux utilisateurs que leurs problèmes sont pris au sérieux et il permettrait
aux programmeurs d’avoir une meilleure vue d’ensemble sur tous les travaux qui sont
effectués en parallèle.

8
5.1.2.3 MR/PR procedures
The maintainer shall (ISO/IEC 12207 sub-clause 5.5.1.3) implement (or establish
organizational interface with) the Configuration Management Process (ISO/IEC 12207
sub-clause 6.2) for managing modifications to the existing system.

La sous-clause 5.1.2.3 pointe vers la procédure de gestion de la configuration donnée dans


la norme ISO 12207.

Procédure suivie par l’entreprise

La gestion des révisions est effectuée à l’aide du logiciel ClearCase de IBM. Les utilisateurs
retirent des portions du code source en les réservant pendant leurs travaux et les
réinsèrent une fois qu’ils ont terminé. ClearCase permet la comparaison côte à côte
comme l’utilitaire WinMerge (Figure 2.1).

Figure 2.1 : Utilitaire de comparaison de code

Évaluation

La sous-clause 5.1.2.3 est respectée. ClearCase est un excellent outil de gestion de la


configuration qui est facile à apprendre et à utiliser.

Recommandations

Même si l’entreprise répond absolument à la sous-clause 5.1.2.3, il y a quand même place


à l’amélioration. Nous recommandons de dispenser une brève formation de mise à niveau
à tous les utilisateurs de ClearCase pour s’assurer qu’ils sont conscients de toutes les
fonctionnalités offertes.

9
2.2 Analyse de la problématique et des modifications
La section 5.2 de la norme ISO 14764 encadre l’analyse et l’évaluation des requêtes.
5.2.2.1 MR/PR analysis
The maintainer shall (ISO/IEC 12207 sub-clause 5.5.2.1) analyze the problem report or
modification request for its impact on the organization, the existing system, and the
interfacing systems for the following:

a) Type; for example, corrective, improvement, preventive, or adaptive to new


environment;
b) Scope; for example, size of modification, cost involved, time to modify;
c) Criticality; for example, impact on performance, safety, or security.

La sous-clause 5.2.2.1 définit une méthodologie de classification des requêtes.

Procédure suivie par l’entreprise

Les requêtes ne sont pas classées par type, mais leur portée est évaluée de manière assez
précise. Par exemple un niveau de difficulté est assigné à chacune et un nombre d’heures
est estimé en discutant avec ceux qui effectuent les travaux. Ce nombre d’heures est ajusté
au besoin en fonction de l’individu à qui la tâche est assignée.

Évaluation

La sous-clause 5.2.2.1 est partiellement respectée. Bien que les requêtes ne sont pas
classées par type, l’étude de leur portée est bien détaillée et tient compte de la réalité de
l’équipe de programmation.

Recommandations

Nous recommandons l’implémentation d’un processus d’acceptation ou de refus du travail


de la maintenance comme celui proposé à la Figure 1.2 dans « Améliorer la maintenance
du logiciel » par April et Abran. Les catégories suivantes sont proposées : correctif,
perfectif, préventif et adaptatif. Plus de détails sont donnés dans l’ouvrage mentionné. Un
exemple adapté à l’entreprise est donné à la Figure 2.2.

10
Figure 2.2 : Processus proposé d’acceptation ou de refus du travail de la maintenance

11
5.2.2.2 Verification
The maintainer shall (ISO/IEC 12207 sub-clause 5.5.2.2) replicate or verify the problem.

Procédure suivie par l’entreprise

Lorsqu’un utilisateur soumet une requête, il doit détailler dans un document comment
l’erreur est survenue et expliquer comment le programmeur peut la répliquer. De plus,
quand cela est possible, des captures d’écrans sont insérées dans le même document pour
faciliter le travail du programmeur.

Évaluation

La sous-clause 5.2.2.2 est entièrement respectée.

Recommandations

Nous n’avons pas de recommandations à offrir, car le processus actuel est conforme.

5.2.2.3 Options
Based upon the analysis, the maintainer shall (ISO/IEC 12207 sub-clause 5.5.2.3) develop
options for implementing the modification.

Procédure suivie par l’entreprise

Les programmeurs ne sont pas tenus de développer plus qu’une option pour implémenter
une modification.

Évaluation

La sous-clause 5.2.2.3 n’est pas respectée.

Recommandations

Pour les modifications qui le permettent, un effort devrait être fait pour développer des
options alternatives et de définir leurs avantages et désavantages. Ces efforts devraient
être reconnus afin d’inciter toute l’équipe à adopter cette pratique.

12
5.2.2.4 Documentation
The maintainer shall (ISO/IEC 12207 sub-clause 5.5.2.4) document the
problem/modification request, the analysis results, and implementation options.

La sous-clause 5.2.2.4 définit 5 tâches qui doivent être suivies lorsqu’une requête de
changement est terminée et qu’une solution fut implémentée relativement à la
documentation.

Procédure suivie par l’entreprise

En général, la documentation est effectuée « lorsque le temps le permet » à la toute fin


d’un projet et tend à être de mauvaise qualité. Il arrive souvent aussi que la documentation
ne soit pas à jour et que plusieurs modifications aient été faites depuis l’écriture de la
dernière version des documents.

Évaluation

La sous-clause 5.2.2.4 n’est pas respectée.

Recommandations

Nous recommandons qu’un flux de travail clair soit établi pour supporter la création d’une
documentation de qualité de manière systématique. Nous suggérons aussi la création de
documents-exemples et de gabarits en tant que démonstration des pratiques exemplaires.

13
5.2.2.5 Approval
The maintainer shall (ISO/IEC 12207 sub-clause 5.5.2.5) obtain approval for the selected
modification option as specified in the contract.

Procédure suivie par l’entreprise

Il n’existe aucun processus d’approbation pour les options de modifications.

Évaluation

La sous-clause 5.2.2.5 n’est pas respectée.

Recommandations

Établir un processus d’approbation qui implique au moins un acteur dont les connaissances
sont suffisantes pour qu’il jette un regard critique sur la proposition et l’approuve ou la
rejette.

14
2.3 Implémentation des modifications
La section 5.3 de la norme ISO 14764 encadre le développement et les tests des
modifications apportées au logiciel.
5.3.2.1 Analysis
The maintainer shall (ISO/IEC 12207 sub-clause 5.5.3.1) conduct analysis and determine
which documentation, software units, and versions thereof need to be modified. These
shall (ISO/IEC 12207 sub-clause 5.5.3.1) be documented.

La sous-clause 5.3.2.1 définit les tâches qui doivent être effectuées dans le processus
d’analyse d’impact.

Procédure suivie par l’entreprise

Bien que ce ne soit pas documenté, chaque analyste effectue sa propre investigation et
détermine les modules qui doivent être modifiés. Généralement, aucune documentation
n’est créée durant cette activité.

Évaluation

La clause 5.3.2.1 est partiellement respectée, car il manque la documentation.

Recommandations

Établir un protocole de documentation clair pour cataloguer les travaux de maintenance


au niveau du ciblage des parties du code qui doivent être retravaillées.

15
5.3.2.2 Development process
The maintainer shall (ISO/IEC 12207 sub-clause 5.5.3.2) enter the Development Process
(ISO/IEC 12207 sub-clause 5.3) to implement the modifications. The requirements of the
Development Process shall (ISO/IEC 12207 sub-clause 5.5.3.2) be supplemented as
follows:

a) Test and evaluation criteria for testing and evaluating the modified and the
unmodified parts (software units, components, and configuration items) of the
system shall (ISO/IEC 12207 sub-clause 5.5.3.2 a) be defined and documented.

b) The complete and correct implementation of the new and modified


requirements shall (ISO/IEC 12207 sub-clause 5.5.3.2 b) be ensured. It also shall
(ISO/IEC 12207 sub-clause 5.5.3.2 b) be ensured that the original, unmodified
requirements were not affected. The test results shall (ISO/IEC 12207 sub-clause
5.5.3.2 b) be documented.

La sous-clause 5.3.2.2 encadre la mise en oeuvre des modifications. Elle supplémente le


processus de développement par l’ajout de critères relatifs à l’évaluation du travail
effectué.

Procédure suivie par l’entreprise

Il n’existe aucun critère d’évaluation des modifications appart « cela fonctionne » et « cela
ne fonctionne pas ». Les tests sont laissés à la discrétion du programmeur.

Évaluation

Il arrive parfois que la fonctionnalité en question ne soit pas utilisée pendant plusieurs
semaines. Étant donné que les tests ne sont pas encadrés par une procédure, certains
billets qui ont été fermés refont surface et il est déterminé que le problème ne fut jamais
réglé et que cela est imputable au manque ou à l’absence de tests. La personne
responsable peut effectivement avoir fait des tests, mais puisque ce n’est jamais
documenté ou presque, on recommence souvent à zéro. La sous-clause 5.3.2.2 n’est pas
respectée.

Recommandations

Il est impératif de formaliser le processus de tests et de vérification de manière à s’assurer


que le travail a bel et bien été accompli et qu’il n’y a pas d’impacts non-planifiés sur les
autres systèmes.

16
2.4 Acceptation et révision de la maintenance
La section 5.4 de la norme ISO 14764 vise à s’assurer que les modifications qui ont été
effectuées n’ont pas d’impacts non-planifiés sur l’intégrité du système.
5.4.2.1 Reviews
The maintainer shall (ISO/IEC 12207 sub-clause 5.5.4.1) conduct review(s) with the
organization authorizing the modification to determine the integrity of the modified
system.

La sous-clause 5.4.2.1 encadre les procédures suivies par un comité de révision dans
l’évaluation des travaux accomplis.

Procédure suivie par l’entreprise

Il y a des rencontres bi-annuelles qui passent en revue l’état général des différents
systèmes suite aux modifications qui ont été apportées depuis la dernière rencontre.

Évaluation

Bien qu’il existe un comité de révision, il arrive souvent que les impacts non-planifiés
surgissent dans les travaux de d’autres programmeurs. La sous-clause 5.4.2.1 est
partiellement respectée, car la fréquence de ces rencontres est largement insuffisante.

Recommandations

Nous recommandons, pour commencer, de faire des rencontres de ce type sur une base
mensuelle. De plus, lorsqu’un changement est effectué sur une des parties majeures, une
rencontre devrait être organisée suite à son implémentation afin de confirmer l’intégrité
de tous les systèmes.

17
5.4.2.2 Approval
The maintainer shall (ISO/IEC 12207 sub-clause 5.5.4.2) obtain approval for the
satisfactory completion of the modification as specified in the contract.

Procédure suivie par l’entreprise

Il n’existe aucun processus d’approbation pour les options de modifications complétées.

Évaluation

La sous-clause 5.4.2.2 n’est pas respectée.

Recommandations

Établir un processus d’approbation qui implique au moins un acteur dont les connaissances
sont suffisantes pour qu’il jette un regard critique sur la modification réalisée et l’approuve
ou la rejette.

18
3 Retour sur l’évaluation
Les résultats que l’entreprise à obtenu à chacune des sections de la norme ISO 14764 sont
représentés schématiquement à la figure 3.1.

Figure 3.1 : Schéma des évaluations par section de la norme ISO 14764

19
3.1 Retour sur la sous-section 5.1 de ISO 14764
La sous-section 5.1 intitulée « Process Implementation » contient trois clauses qui
portent sur l’établissement des plans et des procédures qui seront exécutées
durant la maintenance.

Il existe une procédure générale de gestion des requêtes (5.1.2.2) et la gestion des
configurations (5.1.2.3) est prise en charge par un logiciel fiable. Il n’existe toutefois
pas de stratégie documentée pour la maintenance (5.1.2.1) et donc il n’y a pas de
vue d’ensemble concrète pour les activités qui en découlent. Ce manquement
réduit l’efficacité de l’effort global et doit être corrigé dès que possible.

3.2 Retour sur la sous-section 5.2 de ISO 14764


La sous-section 5.2 intitulée « Problem and Modification Analysis » contient 5
clauses qui comprennent les tâches à effectuer pour une bonne évaluation des
requêtes.

La quasi-totalité (80%) des clauses n’est pas respectée ou partiellement respectées.


Bien qu’imparfait, il existe un système de classification des requêtes (5.2.2.1) et le
contenu de celles-ci est entièrement vérifié (5.2.2.2). Une fois l’analyse effectuée,
il n’y a généralement qu’une seule option proposée eu lieu de plusieurs (5.2.2.3). Il
n’y a pas non plus de documentation qui est produite après les changements
(5.2.2.4) et aucune autorisation n’est nécessaire pour les effectuer (5.2.2.5). Le
constat général de cette section est que les mainteneurs effectuent les corrections
le plus rapidement possible sans prendre le temps de réfléchir ou de documenter.

3.3 Retour sur la sous-section 5.3 de ISO 14764


La sous-section 5.3 intitulée « Modification Implementation » contient 2 clauses
qui supportent le l’insertion des corrections dans le code source.
Il est certain que chaque analyste effectue une analyse d’impact (5.3.2.1), mais elle
n’est que très rarement documentée. Il n’existe pas non plus de critères
d’évaluation des modifications ou de procédures de tests (5.3.2.2). La sous-section
5.3 est à revoir dans sa totalité.

20
3.4 Retour sur la sous-section 5.4 de ISO 14764
La sous-section 5.4 intitulée « Maintenance Review/Acceptance » contient 2
clauses qui supportent la révision et l’acceptation des travaux.
Il y a des rencontres pendant lesquelles certaines révisions sont effectuées, mais
elles sont incomplètes (5.4.2.1). De plus, les travaux de maintenance ne sont ni
approuvés ni refusés, car il n’y a aucune procédure qui est appliquée
systématiquement pour le faire (5.4.2.2). La section 5.4 est à revoir dans sa totalité.

21
Conclusion
Nous avons commencé par étudier l’entreprise et avons mis son projet en contexte.
Ensuite, nous avons comparé son processus de maintenance à celui qui est détaillé dans la
norme ISO 14764 et avons fait plusieurs recommandations. Finalement, nous avons fait un
récapitulatif des résultats et avons fait quelques suggestions supplémentaires.

L’analyse porte sur 12 clauses qui sont divisées en 4 sections : implémentation, analyse des
requêtes, modifications et révision. Seule la première section sur l’implémentation du
processus de maintenance a obtenu une note de passage fixée arbitrairement à 60%. La
note est calculée en divisant le nombre de sous-clauses respectées sur le nombre total des
sous-clauses de la section. Cette méthode ne tient pas compte de l’importance relative des
sections entres elles et ne donne qu’une idée grossière de l’état des choses. Par exemple,
si la pondération de la clause 5.1.2.1 passait de 33% à 50%, ce qui pourrait être assez facile
à justifier, l’entreprise aurait échoué toutes les sections de l’évaluation.

Il y a évidemment beaucoup de travail à faire et maintenant nous avons une meilleure idée
de ce qui doit être accompli. Il est important de souligner que les résultats obtenus ne
sortent pas de l’ordinaire. Plusieurs entreprises de toutes les tailles se trouvent dans la
même situation.

22
Références bibliographiques

1. April A.; Abran A., « Améliorer la maintenance du logiciel », 2e édition, Loze-Dion


éditeur, 2016, 341 p.

2. April, Alain, Alain Abran, et Reiner Dumke. « Software maintenance productivity


measurement : how to assess the readiness of your organization. » Actes de
conférence de la International Conference on Software Process and Product
Measurement (IWSM/Metrikon 2004). 2004.

23