ACTUALITÉ SCIENTIFIQUE
ET INNOVATION DE L'ÉTS
Outils à code source ouvert pour appuyer la norme ISO / CEI 29110 - Par : Claude Laporte, Ronald Houde,

Outils à code source ouvert pour appuyer la norme ISO / CEI 29110


Claude Laporte
Claude Y. Laporte était professeur de génie logiciel à l’ÉTS avant de prendre sa retraite. Il est l’éditeur du groupe de travail pour l’élaboration des normes ISO/IEC 29110 qui porte sur l’ingénierie de systèmes et l’ingénierie de logiciels.

Ronald Houde
Ronald Houde est ingénieur de systèmes sénior et analyste chez Mannarino Systems & Software. Son expertise réside dans la gestion et l’amélioration continue des processus d’ingénierie reliés aux systèmes d’ingénierie des logiciels.

Note de l’éditeur

Cet article présente les outils à code source ouvert développés pour appuyer la trousse de déploiement des exigences techniques de la norme ISO / CEI 29110. Un deuxième article intitulé Trousse de formation basée sur un outil à code source ouvert pour appuyer la norme ISO / IEC 29110 expliquera la méthode suivie pour faciliter l’acceptation de la norme.

____________________________________

Introduction

Les très petits organismes (TPO), c’est-à-dire des entreprises, des organismes (gouvernementaux ou sans but lucratif), des projets ou des services comptant jusqu’à 25 personnes, jouent un rôle de plus en plus important dans l’économie mondiale. Les produits qu’ils développent sont souvent intégrés dans d’autres produits fabriqués par des grandes entreprises. De plus, les clients « de la cour des grands » exigent des très petits organismes qu’ils assument un rôle beaucoup plus large, couvrant l’ensemble du cycle de développement du produit plutôt que de se limiter à la  fabrication. Pour répondre à cette nouvelle réalité et tirer parti de la nature simplifiée et efficace des très petits organismes tout en s’adaptant à leurs contraintes typiques de budget et de ressources, la norme d’ingénierie des systèmes ISO / CEI 29110, de même que des guides de gestion et d’ingénierie ont été développés à partir de la norme ISO / CEI / IEEE 15288.

La première version d’ISO / CEI 29110 est une feuille de route (roadmap) en quatre étapes, également appelées profils (entrée, basique, intermédiaire, avancé), applicables aux TPO qui ne développent pas de produits critiques. Les TPO visées par le profil d’entrée sont ceux qui travaillent sur de petits projets (par exemple, des projets de six personnes-mois ou moins) et les entreprises en démarrage. Le profil basique décrit les pratiques de développement d’une seule application par une équipe de projet unique, sans risque particulier ou facteurs conjoncturels. Le profil intermédiaire vise les TPO développant plusieurs projets avec plus d’une équipe au sein de l’organisation. Le profil avancé vise les très petits organismes souhaitant demeurer des entreprises compétitives indépendantes et croître.

Trousse de déploiement pour appuyer le profil basique

Le groupe de travail TPO de l’INCOSE a défini un ensemble de lignes directrices expliquant plus en détail les processus définis dans le profil basique. Ces lignes directrices sont librement accessibles en ligne pour les très petits organismes, sous forme de trousses de déploiement. Une trousse de déploiement est un ensemble d’artéfacts élaborés pour faciliter la mise en œuvre d’un ensemble de pratiques, dans le cadre sélectionné, d’un très petit organisme (Laporte 2014). Puisque le manuel INCOSE est un document qui explique « comment faire », il a été utilisé pour développer les trousses de déploiement. Les trousses de déploiement sont conçues de façon à ce que les très petits organismes puissent mettre en œuvre leurs contenus sans avoir à mettre en œuvre simultanément le profil basique complet. La table des matières d’une trousse de déploiement est présentée au tableau 1.

Table des matières, trousse de déploiement

Tableau 1 : Table des matières, trousse de déploiement (adapté de Laporte et coll. 2012)

La figure 1 illustre l’ensemble des trousses de déploiement pour le profil basique d’ingénierie des systèmes, qui est offert sur internet et sur la page des TPO de l’INCOSE.

Trousses de déploiement pour le profil basique des petits organismes

Figure 1 Trousses de déploiement pour le profil basique des petits organismes

 

La Trousse de déploiement des exigences techniques (TD) définit un ensemble d’activités, de tâches, d’étapes, de rôles, d’artéfacts, de gabarits et de listes de vérification pour les produits qui atteignent les objectifs de la norme ISO / CEI 29110 en ce qui concerne:

  • la définition des exigences de l’acquéreur et de la partie prenante;
  • la définition des exigences techniques;
  • la décomposition des exigences techniques en exigences élémentaires de système au moyen de l’architecture définie dans la trousse de déploiement d’architecture fonctionnelle et physique;
  • la création de liens de traçabilité entre chaque niveau d’exigences;
  • la préparation des spécifications du système;
  • la préparation des spécifications élémentaires du système (pour les sous-systèmes matériels ou logiciels); et
  • la vérification et la validation des exigences.

La trousse de déploiement des exigences techniques donne une liste d’outils potentiels de gestion pour les très petits organismes et fournit des instructions pour adapter ces outils en soutien à la trousse de déploiement. Un de ces outils est l’Eclipse Requirements Management Framework (RMF). Il comprend deux listes de vérification pour évaluer la qualité des exigences élaborées par les très petits organismes et la spécification à la base de l’ensemble des besoins individuels. Les listes de vérification appliquent des normes de classe mondiale telles que la norme ISO / CEI 29148 et le Guide des exigences de rédaction INCOSE.

Outils à code source ouvert développés pour appuyer les trousses de déploiement

Une des principales contraintes des très petits organismes est l’accès limité aux outils de développement de cycle de vie que leur permettent leurs ressources et leur personnel restreints. La plupart d’entre eux ne peuvent pas gérer la lourdeur des outils utilisés par les grandes entreprises et doivent se contenter d’outils bâtis à partir de logiciels de traitement de texte et de tableurs pour la gestion des exigences. De plus, les outils de gestion des exigences (GE) actuellement sur le marché imposent deux autres contraintes qui ont un effet souvent dissuasif pour les très petits organismes : 1) La flexibilité offerte par l’outil GE impose qu’il soit personnalisé pour répondre aux besoins des très petits organismes; le personnel a aussi besoin de soutien et de formation provenant de spécialistes externes durant les étapes de personnalisation et d’implantation du projet; ou 2) l’outil GE met en œuvre un cycle de développement de produit spécifique qui n’est pas compatible avec les processus souvent simplifiés du très petit organisme. Même si les outils bâtis à partir de logiciels de traitement de texte et de tableurs peuvent faire l’affaire si les exigences (ainsi que les liens entre elles) sont peu nombreuses, leurs capacités sont rapidement dépassées pour les projets de moyenne à grande envergure.

Après un démarrage plutôt chancelant, les outils de gestion d’exigences à code source ouvert ont pris un virage important en raison de l’émergence du Eclipse Requirements Management Framework (RMF), du Requirements Interchange Format (ReqIF) de l’Object Management Group (OMG)  et du soutien de groupes de travail comme Polarsys, créés par de grands acteurs de l’industrie et par les fournisseurs pour collaborer et soutenir la création d’outils à code source ouvert destinés au développement de systèmes embarqués. Ces outils sont toutefois souvent de nature générique et nécessitent un certain  paramétrage, abordé dans la trousse de déploiement.

RMF est un cadre de travail pour travailler avec des exigences textuelles, structuré en  gabarits ReqIF. RMF utilise le code exécutable ReqIF, ce qui permet d’échanger des exigences avec de nombreuses applications de l’industrie comme IBM Rational DOORS® ou PTC integrity®. Utiliser ReqIF comme format de stockage de données offre un autre avantage important pour les très petits organismes : leur permettre d’échanger des fichiers d’exportation ReqIF directement avec leurs partenaires de niveau supérieur tout en s’évitant entièrement l’étape de paramétrage et de personnalisation des outils. ProR a été développé comme une interface utilisateur graphique RMF (GUI) pour manipuler les exigences dans un environnement RMF. Opérant dans l’Integrated Development Environment d’Eclipse (IDE), il permet à un ingénieur de gérer les exigences en ouvrant d’un clic les fichiers ReqIF, puis en lui permettant immédiatement d’examiner et d’éditer des fichiers. De puissants modules d’extension peuvent traiter le rich text format, les archives ReqIFz et autres. Ces modules sont offerts intégrés dans des outils de modélisation UML/SysML et dans des distributions émergentes comme PolarSys, illustré à la figure 2, et openETCS.

Composante de gestion des exigences de Polarsys ReqCycle

Figure 2 Composante de gestion des exigences de Polarsys ReqCycle (reproduit avec la permission de Raphaël Faudou)

Conclusion et perspectives

Un groupe de travail ISO a élaboré un ensemble de normes et de guides pour répondre aux besoins des très petits organismes qui développent des systèmes ou des logiciels. ISO a publié en 2014 le profil basique d’ingénierie des systèmes de la norme ISO / CEI 29110 et en 2015, le profil d’entrée d’ingénierie des systèmes (ISO 2015). La Trousse de déploiement des exigences techniques présente les outils potentiels de gestion des exigences pour les très petits organismes et fournit des instructions pour paramétrer les outils.

Ces outils ont servi de base pour élaborer une trousse de formation sous licence publique dont il sera question dans un autre article.

Une fois que les profils intermédiaires et avancés de génie logiciel de la norme ISO / CEI 29110 seront prêts, les travaux pourront commencer sur les deux profils d’ingénierie des systèmes correspondants pour les très petits organismes. Parallèlement, un ensemble de trousses de déploiement pour l’ingénierie des systèmes et les trousses de formation correspondantes seront développés et déployés pour soutenir ces profils.

Informations supplémentaires

Le site Web suivant fournit de plus amples informations, des articles écrits par des membres du groupe de travail 24 et des trousses de déploiement pour l’ingénierie de logiciels et l’ingénierie de systèmes :
http://profs.etsmtl.ca/claporte/VSE/Groupe24-menu.html

 

Claude Laporte

Profil de l'auteur(e)

Claude Y. Laporte était professeur de génie logiciel à l’ÉTS avant de prendre sa retraite. Il est l’éditeur du groupe de travail pour l’élaboration des normes ISO/IEC 29110 qui porte sur l’ingénierie de systèmes et l’ingénierie de logiciels.

Programme : Génie logiciel  Génie des technologies de l'information 

Profil de l'auteur(e)

Ronald Houde

Profil de l'auteur(e)

Ronald Houde est ingénieur de systèmes sénior et analyste chez Mannarino Systems & Software. Son expertise réside dans la gestion et l’amélioration continue des processus d’ingénierie reliés aux systèmes d’ingénierie des logiciels.

Profil de l'auteur(e)


commentaires

    Laisser un commentaire

    Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *