Modélisation UML & SysML

Expertise et articles Blog sur UML, SysML, et Enterprise Architect de Sparx Systems

english versionTwitterUMLChannel SparxSystems EA YouTube videosLinkedIn
jeudi, 20 novembre 2014 00:00

Import en masse d'exigences depuis Excel vers Enterprise Architect avec le module eaXL d'eaDocX : une approche model-driven appliquée aux réponses à appel d'offre

Écrit par

eadocx article eaxl import en masse d'exigences

Le module eaXL d'eaDocX permet de synchroniser des informations stockées au format Excel avec un projet de modélisation Sparx Enterprise Architect, par exemple pour importer et exporter des exigences, classes (avec leurs attributs ou opérations), cas d'utilisations, etc.

Cet article présente un retour d'expérience (REX) sur l'utilisation d'eaXL dans le cadre d'une réponse à appel d'offre, où les nombreuses exigences du client ont été importées dans un projet Enterprise Architect afin de faciliter l'analyse des besoins et l'élaboration d'une réponse via une approche par les modèles. Les étapes permettant d'importer en masse les exigences du client sont détaillées dans cet article.

Remarque : le module Excel est disponible dans l'édition Corporate d'eaDocX, dont les fonctionnalités et tarifs publics sont accessibles ici.

Contexte

J'ai récemment travaillé sur l'appel d'offre d'un client comportant plus d'une centaine d'exigences organisées par catégories. La description, référence, et catégorie de chaque exigence ont été fournies au format Excel dans le but de compléter ce document avec nos réponses et propositions (livrable pour le client). Ayant la tâche d'étudier chacune des exigences vis à vis de la faisabilité, des efforts nécessaires, et de solutions à proposer, j'ai naturellement choisi d'effectuer ce travail en m'appuyant sur un projet de modélisation Enterprise Architect.

Une réponse à appel d'offre nécessite de travailler sur un large périmètre de demandes et d'attentes ; une approche par les modèles (model-driven) présente l'avantage de faciliter cette tâche fastidieuse en centralisant l'ensemble des informations, diagrammes et réponses dans un référentiel. L'accès en mode collaboratif permet également à plusieurs collaborateurs de travailler sur cette réponse à appel d'offre.

Après avoir tracé dans Enterprise Architect l'objectif du projet client, un glossaire des termes avec la fonction Glossary, les exigences du client ont été importées en éléments "Requirements" Enterprise Architect** via les étapes illustrées ci-dessous :

** les requirements ne font pas partie du langage UML, aussi ils ont été implémentés par de nombreux modeleurs UML comme Sparx Enterprise Architect. Depuis l'OMG a rajouté les requirements dans les spécifications du langage SysML.

eadocx eaxl import client requirements in enterprise architect

Objectif des activités présentées dans ce diagramme BPMN2 :

  • Etape A : eaXL requiert l'existence d'au moins une exigence pour générer le fichier Excel dans lequel les exigences du client seront copiées puis importées sous EA. Ainsi il est nécessaire de commencer par créer quelques exigences vides dans le modèle.
  • Etape B : exporter les exigences vides du modèle dans un nouveau fichier Excel avec eaXL.
  • Etape C : copier les exigences fournies par le client dans le fichier Excel créé précédemment.
  • Etape D : importer les exigences du client au format Excel sous Enterprise Architect avec eaXL.

Etape A : créer des exigences vides dans le modèle

A1. Après avoir initialisé un projet Enterprise Architect adapté aux besoins de cette étude, le modèle d'exigences est rempli avec quelques exigences vides (cette étape est nécessaire en raison d'une contrainte eaXL pour générer le modèle Excel).

A2. Des tagged values sont créées sur les exigences pour stocker des informations complémentaires, identifiées dans l'appel d'offre du client : Feasible (réalisable : 1/0), Priority, et Category

requirements model sparx enterprise architect

Etape B : exporter les exigences du modèle dans Excel avec eaXL

B1. Afin de générer un fichier Excel compatible avec eaXL pour le compléter avec les exigences du client, les exigences du modèle EA sont exportées vers Excel avec eaXL (clic droit sur le paquetage cible (Functional requirements) > Extensions > eaDocX > Open in Excel).

  • Résultat : les exigences ont été exportées dans un nouveau fichier Excel.

B2. Des propriétés supplémentaires sont rajoutées dans l'export en cochant les options suivantes sous l'onglet Columns d'eaXL : Name, Alias, Description, et les "Tagged Values" Feasible, Priority, et Category.

export requirements eadocx eaxl

B3. Le contenu du modèle sous Excel est mis à jour en cliquant une nouvelle fois sur le bouton Export data from EA to current worksheet.

  • Résultat : le fichier Excel a été mise à jour avec les propriétés sélectionnées.

export requirements eadocx eaxl Excel file output

Etape C : remplir le fichier Excel avec les exigences client

C1. A partir du fichier Excel fourni par le client, l'ensemble des exigences doit être copié dans une nouvelle feuille de calcul du fichier Excel généré avec eaXL.

C2. Les informations du client sont organisées sous les colonnes Excel suivantes :

  • Colonne B Excel - Ref : référence
  • Colonne C Excel - Catégory : catégorie
  • Colonne D Excel - Description : contenu
  • Colonne E Excel - Title : le contenu intégral de chaque exigence étant parfois trop long, une fonction Excel (STTX) a été utilisée pour limiter le titre de l'exigence à 200 caractères. Exemple ; =STXT(A1;1;200)

customer requirements data to import to enterprise architect from Excel

C3. En utilisant des références entre les 2 feuilles de calcul, la première feuille de calcul, utilisée pour l'import/export entre Excel et EA, est peuplée avec les exigences client selon les colonnes définies par eaXL.

  • Colonne D Excel - Name : formule = "=Feuil2!E2" (colonne Title de la feuille de calcul 2)
  • Colonne E Excel - Alias : formule = "=Feuil2!B2" (colonne Ref de la feuille de calcul 2)
  • Colonne F Excel - Description : formule = "=Feuil2!D2" (colonne Description de la feuille de calcul 2)
  • Colonne G Excel - TV Category : formule = "=Feuil2!C2" (colonne Category de la feuille de calcul 2)
  • Colonne H Excel - TV Priority : valeur = "M" (valeur par défaut = Must)
  • Colonne I Excel - TV Feasible : valeur = "1" (valeur par défaut = vrai)
  • Colonne C Excel - ElementType : valeur = "Requirement" (indique à eaXL le type d'élément à créer)

eadocx sparx customer requirements data to import to enterprise architect from Excel

Etape D : importer les exigences du client dans Enterprise Architect

D1. Sous Enterprise Architect, eaDocX/eaXL permet en premier lieu de lancer une comparaison avant de valider les exigences à importer dans les modèles :

eadocx eaxl Sparx comparison Enterprise Architect Excel

D2. L'import depuis Excel vers le modèle Enterprise Architect est alors lancé via le bouton Import contents of worksheet into EA.

  • Résultat : eaDocX a importé les exigences dans le modèle avec le titre, description et tagged values pour la faisabilité, priorité, et catégorie.

eadocx eaxl Sparx imported requirements into Enterprise Architect from Excel

Voici un exemple des tagged values pour une exigence :

 eadocx eaxl Sparx imported requirements into Enterprise Architect from Exce tagged values

D3. A ce stade, les exigences vides initialement créées dans l'étape A peuvent être supprimées.

D4. A l'aide d'un script VB créé sous Enterprise Architect, chacune des exigences a été déplacée dans un sous-paquetage (généré si inexistant) dont le nom correspond à la valeur de la Tagged Value "Category". Cela permet de simplifier l'organisation des exigences dans le modèle.

run enterprise architect script

  • Résultat : les exigences sont organisées par catégories dans l'arborescence du modèle.

enterprise architect project browser requirements eaXL

Etapes suivantes : réponses et propositions aux exigences, génération du livrable Excel

Disposant alors de toutes les exigences du client dans un référentiel de modélisation, l'analyse des besoins et l'élaboration de la réponse à appel d'offre peuvent être effectuées :

  • Création d'exigences stéréotypées "réponse" et d'éléments de type Feature pour les fonctions du système. Association de ces éléments aux exigences.
  • Création de diagrammes UML/BPMN pour proposer une architecture ou illustrer une solution sur une ou plusieurs exigences.
  • Saisie d'une valeur dans la tagged value "Feasible" de chaque exigence afin de définir la faisabilité.
  • Export des résultats dans un fichier Excel avec eaXL.
  • Génération d'un document "réponse à appel d'offre" au format Word avec eaDocX.

Conclusion

L'utilisation d'Enterprise Architect pour analyser une longue liste d'exigences a permis de construire un modèle structuré avec les éléments de réponse, et des liens entre exigences comportant des similarités ou des dépendances. Une fois toutes les exigences analysées, générer le tableau Excel pour le client ne nécessite que quelques minutes!

Ce document Excel peut être envoyé en annexe d'un document Word généré avec eaDocX, comportant notamment une matrice des associations entre les exigences et les fonctions du système à réaliser.

Dans le cas où la réponse à appel d'offre est retenue, cette approche présente l'avantage de disposer dès le début d'un modèle Enterprise Architect avec l'ensemble des exigences initiales du client, ainsi que les diagrammes et éléments de réponse élaborés.

Cette fonctionnalité d'import et export entre Excel et Enterprise Architect disponible avec eaDocX (module eaXL) peut être utilisée à d'autres fins : import en masse d'exigences sur un projet, synchronisation d'exigences avec d'autres référentiels avec le format Excel, import de classes métiers, etc.