FR 2864280 A1 20050624 FR 0315037 A 20031219 PROCEDE DE REALISATION D'UNE CHAINE DOCUMENTAIRE ET DE SA MISE A JOUR A PARTIR D'UN MODELE STRUCTURE La présente invention se rapporte à un procédé de réalisation d'une chaîne 5 documentaire et de sa mise à jour à partir d'un modèle structuré. Il existe de nombreux générateurs automatiques de documentations à partir d'un modèle structuré, mais ils sont trop rigides du point de vue de l'organisation du document qu'ils créent, et ils ne permettent pas de réaliser une mise à jour automatique du document suite à des modifications du modèle. Une telle automatisation pourrait simplifier énormément la tâche de l'opérateur qui en est chargé et lui faire gagner beaucoup de temps, car la mise à jour manuelle d'une documentation générée à partir d'un modèle structuré peut être très longue et fastidieuse, en particulier lorsque ce modèle est complexe et volumineux. La présente invention a pour objet un procédé de réalisation d'une chaîne documentaire à partir d'un modèle structuré, permettant d'organiser le document qu'il produit de n'importe quelle façon, et permettant de réaliser sa mise à jour automatiquement. Le procédé conforme à l'invention est caractérisé en ce qu'il comporte les étapes suivantes: on part d'un modèle structuré dont on extrait des fragments documentaires pertinents, on architecture ensuite le document final en format traitement de texte en prélevant parmi ces fragments ceux nécessaires et en les rangeant comme désiré. On établit ainsi pour chacun des fragments générés puis insérés un lien dynamique entre son emplacement dans la documentation et son fichier physique issu de la génération automatique. Selon une caractéristique de l'invention, on peut utiliser similairement l'outil RHAPSODY-DOC avec DOORS pour la génération des fragments documentaires traitant de l'information autour des exigences, puis la combinaison de RHAPSODY-DOC avec un traitement de textes pour insérer ces fragments DOORS et architecturer son document final. Dans la suite du document on appellera, pour plus de commodité, fragments documentaires exigence les fragments documentaires issus de DOORS et fragments documentaires du modèle les fragments documentaires issus du modèle structuré. Par fragment documentaire , de manière générale, on entendra fragment des deux types mélangés. La présente invention sera mieux comprise à la lecture de la description 5 détaillée d'un mode de mise en oeuvre, pris à titre d'exemple non limitatif et illustré par le dessin annexé, sur lequel: - la figure 1 est une interface graphique d'une macro d'un traitement de textes montrant l'arborescence des fragments documentaires après la phase de génération des fragments du procédé de l'invention, - la figure 2 est une vue de l'interface de la figure 1 montrant la fonctionnalité de filtre des fragments documentaires facilitant la recherche de fragments, - la figure 3 est une vue d'une interface graphique de l'outil DOORS dans laquelle sont définies les informations d'exigences que l'on veut transférer dans la documentation, selon une variante du procédé de l'invention, - les figures 4, 5 et 6 sont des vues successives d'une interface graphique d'un traitement de textes WORD dans lequel on définit le canevas du fragment documentaire, à savoir la disposition des informations d'exigences DOORS, telle qu'on veut la voir répartie dans les fragments documentaires exigences, après génération documentaire, conformément au procédé de l'invention, - la figure 7 est une vue d'un des fragments documentaires exigence issu de la génération documentaire et prenant en compte le canevas défini figures 4, 5 et 6 et les données exigences DOORS de la figure 3, et - la figure 8 est une vue d'une interface graphique de l'outil DOORS mise en oeuvre par le procédé de l'invention pour lancer la génération de fragments documentaires exigences depuis DOORS. 20 25 Le procédé de l'invention permet de générer facilement une documentation, par exemple au format WORD ou RTF, à partir de fragments documentaires provenant d'un modèle UML (informations d'architecture du logiciel) et, de façon optionnelle, d'un module DOORS (information de traçabilité des exigences) qui 5 est un outil de gestion d'exigences de la société TELELOGIC. La documentation finale obtenue comprend des parties issues de la génération automatique, mais aussi des parties textuelles (texte libre manuel) incluses entre les fragments générés. Une macro WORD permet de lancer une interface graphique qui organise tous les fragments documentaires générés et permet de sélectionner l'un d'eux, puis de l'inclure très facilement dans un document au format WORD (voir figure 1). Dans le détail, le procédé de l'invention se déroule de la façon suivante: 1) L'utilisateur se sert d'un outil de modélisation tel que RHAPSODY de la société I-LOGIX. Il charge sous RHAPSODY le modèle duquel il désire tirer une documentation (dans l'exemple décrit ci-dessous, ce modèle s'appelle tout simplement modèle ). Il lance RHAPSODY-DOC à travers le menu TOOLS de RHAPSODY. Il génère à l'aide de RHAPSODY-DOC, de façon connue en soi, les fragments documentaires du modèle qu'il désire inclure dans la documentation finale. 2) (Etape optionnelle voir descriptif détaillé de la variante de procédé ci-dessous) L'utilisateur se sert d'un outil de gestion des exigences tel que DOORS de la société TELELOGIC. Il charge sous DOORS le module duquel il désire tirer de l'information pour la documentation finale (dans l'exemple décrit ci-dessous, ce module s'appelle tout simplement module ). Il lance RHAPSODY-DOC à travers le menu DOORS Customs de DOORS. Il génère à l'aide de RHAPSODY-DOC, de façon connue en soi, les fragments documentaires des exigences qu'il désire inclure dans la documentation finale. 3) Puis, il ouvre un document vide (ou un document type de son référentiel de documentation) d'un traitement de textes, qui est WORD dans le cas présent. 4) L'utilisateur clique sur le bouton Insérer un fragment de la barre d'outils WORD relative à RHAPSODY-DOC pour lancer la macro WORD qui ouvre une fenêtre Insert documentation fragment . L'utilisateur sélectionne dans cette interface le modèle dans lequel se trouve son information documentaire dans la boîte à options Modèle . Comme précisé ci-dessus, ce modèle s'appelle modèle . Il sélectionne ensuite son générateur de fragments documentaires dans la boîte à options Documentation Projet . Dans l'exemple décrit ici, il s'agit de RHAPSODY-DOC. Apparaît alors une arborescence contenant tous les fragments documentaires générés préalablement (voir figure 1). 5) Puis, il sélectionne un fragment dans l'arbre dont la structure arborescente reprend l'architecture des paquetages du modèle UML de départ. Il lui reste à positionner le curseur dans le document WORD à l'endroit où le fragment doit être inséré, puis à cliquer sur le bouton Insérer , qui se trouve dans le bandeau inférieur de l'interface. Le nombre de fragments documentaires peut devenir très important. Pour faciliter la recherche du fragment à insérer, l'utilisateur a la possibilité de filtrer les fragments proposés dans la boite à options Fragments de l'interface graphique, comme représenté en figure 2. Ce filtrage se fait à partir du type de fragments générés. Dans l'exemple de la figure 2, le nom des types de fragments Nom et description est mis en inversion vidéo par le passage du curseur sur leur nom, et il suffit alors de cliquer sur ce nom pour réaliser le filtrage désiré. L'arborescence affichée ne contient alors plus que les fragments du type désiré, limitant donc de beaucoup leur nombre et accélérant la recherche et la sélection du fragment souhaité. Pour effectuer la mise à jour d'un document existant, l'utilisateur, après avoir fait des modifications dans son modèle UML, lance le programme de génération documentaire depuis RHAPSODY et, de façon optionnelle, de DOORS pour remettre à jour sa base de fragments documentaires. Ensuite, il utilise la fonction "Mise à jour" de la macro WORD. Tous les fragments précédemment insérés seront automatiquement mis à jour et au bon endroit dans le document final. On remarquera que si de nouveaux fragments sont nécessaires, ils devront être insérés manuellement. Selon une variante du procédé de l'invention, il est possible de récupérer de l'information issue de l'outil DOORS précité. Il est généré pour chaque exigence d'un module DOORS un fragment documentaire exigence que l'on peut ensuite insérer à l'endroit désiré dans le document final. La génération de fragments documentaires s'effectue à partir d'une vue DOORS d'un module où l'on définit l'ensemble des informations que l'on souhaite faire apparaître dans le document WORD. L'utilisateur définit la manière dont il souhaite représenter ces informations dans WORD à l'aide de canevas WORD (des fichiers .dot de modèles de présentation) et de signets WORD. Dans ce template, on construit la représentation générique que l'on souhaite donner aux objets contenus dans la vue associée. Une vue DOORS est composée de colonnes, chaque colonne ayant un titre. Le mapping (la liaison) entre une vue DOORS (interface graphique de l'outil DOORS) et le canevas WORD associé est effectué au travers de signets, chaque signet portant le nom de la colonne qu'il représente. On a représenté en figure 3 une vue DOORS. Sur cette vue, il y a quatre colonnes, respectivement intitulées PUID (identité des objets) , Nom (noms des objets), Statut (état des objets), et Risque Impact (impact sur les différents éléments du modèle considéré ). Les objets UML apparaissant sur la vue et sur lesquels sont posées des exigences sont respectivement référencés OBJ1 à OBJ4. L'état des trois premiers est Accepté , alors que celui du dernier est En négociation (en cours de traitement). Leurs impacts respectifs sont: Performance , Utilisation opérationnelle , Organisation et Technologie . L'utilisateur ouvre un fichier WORD et l'enregistre sous un nom quelconque avec l'extension .dot , par exemple Mon canevas.dot , comme représenté en figure 4. Puis, il définit dans ce fichier l'aspect général qu'il souhaite donner aux objets contenus dans la vue DOORS (un tableau à deux lignes et deux colonnes, comme représenté en figure 4). Ensuite, il insère dans le document WORD un signet spécifique pour chaque attribut DOORS qu'il souhaite extraire. Il insère ce signet à l'endroit où il désire voir apparaître le contenu de l'attribut considéré pour chacune des exigences DOORS (par exemple l'exigence [111] s'appliquant sur un objet UML, qui est alors OBJ1) On a représenté en figures 5 à 7 un exemple d'insertion de la colonne Risque Impact pour l'objet OBJ2. En figure 5, on a représenté comment l'utilisateur désigne le point d'insertion d'un signet. En figure 6, l'utilisateur choisit le nom du signet ( Risque impact dans le cas présent) dans la fenêtre déroulante d'insertion de signets de WORD. En procédant de la même manière pour les autres colonnes de la vue DOORS, l'utilisateur obtient un canevas Mon canevas.dot qui, après génération à partir de DOORS, donne quatre fragments documentaires (un par exigence) contenant les informations spécifiées (celui généré pour l'exigence [222] appliquée sur l'objet UML OBJ2, est représenté en figure 7). La génération de fragments documentaires via RHAPSODY-DOC GENERATION ne fonctionne que dans le contexte où des exigences identifiées dans un modèle Rhapsody ont été importées sous DOORS en utilisant la fonction d'import de DOORS Custom . Dans ce cas, le module d'exigence créé suite à cet import est correctement implémenté pour la génération documentaire. A partir de ce module, RHAPSODY-DOC peut être déclenché depuis le menu DOORS Custom de DOORS. L'interface représentée en figure 8 est alors lancée. Le champ "RHAPSODY-DOC fragment_list Path" permet de spécifier le chemin du fichier utilisé par RHAPSODY-DOC pour lister les fragments documentaires générés depuis RHAPSODY ou DOORS. En général, ce fichier se trouve sous le répertoire generated du répertoire d'installation de RHAPSODYDOC. Le champ Dossier Destination de Génération permet de spécifier le chemin du répertoire où seront générés les fragments documentaires. Si le chemin spécifié n'a pas encore été créé, il le sera lors de l'export. Le champ "Generation Canevas" permet de spécifier le template WORD (du style du fichier Mon canevas.dot ) à utiliser pour la génération des fragments documentaires. Le champ "Options de génération" propose deux types de génération possibles: La première, Un Fragment par Exigence (représentée sur la figure 8), permet de générer un fragment documentaire par exigence, La seconde, Un Fragment par Container UML (non représentée sur la figure 8), permet de générer un fragment par élément UML contenant des exigences dans le modèle. Chaque fragment généré contient la liste des exigences contenues dans ces éléments UML. Une fois la génération terminée, il suffit de retourner sous WORD et d'utiliser la macro WORD de RHAPSODY-DOC. Les fragments correspondant au modèle UML concerné venant de DOORS sont classés dans la catégorie Projet Documentation de RHAPSODY et DOORS. Cette catégorie ne contient que les fragments documentaires exigences, mais l'arborescence dans laquelle elles sont placées est la même que celle qui se trouve dans le modèle UML. 15 REVENDICATIONS 1. Procédé de réalisation d'une chaîne documentaire à partir d'un modèle structuré , caractérisé en ce qu'il comporte les étapes suivantes: chargement d'un modèle structuré dans un outil de modélisation; génération de fragments documentaires du modèle; sélection du modèle comportant l'information documentaire et du générateur de fragments documentaires; insertion des fragments documentaires générés dans la structure 10 documentaire de la chaîne documentaire. 2. Procédé selon la revendication 1, caractérisé en ce que le modèle structuré est un modèle UML. 3. Procédé selon la revendication 1 ou 2, caractérisé en ce que l'on effectue la mise à jour de la documentation à l'aide de lien dynamiques établis pour chaque fragment généré entre son emplacement dans la chaîne documentaire et son fichier physique issu de la génération documentaire automatique. 4. Procédé selon l'une des revendications précédentes, caractérisé en ce que le modèle est réalisé à l'aide de l'outil RHAPSODY et que l'on utilise RHAPSODY-DOC pour générer les fragments documentaires que l'on désire inclure dans la documentation finale. 5. Procédé selon la revendication 4, caractérisé en ce que les fragments documentaires générés sont insérés dans un document ouvert dans un traitement de textes. 6. Procédé selon la revendication 1, 2 ou 3, caractérisé en ce que l'on utilise l'outil RHAPSODY-DOC avec DOORS pour la génération des fragments documentaires traitant de l'information autour des exigences, puis la combinaison de RHAPSODY-DOC avec un traitement de textes pour insérer ces fragments DOORS et architecturer son document final. 7. Procédé selon la revendication 1, 2 ou 3, caractérisé en ce que l'on 30 utilise l'outil RHAPSODY-DOC avec DOORS et un traitement de textes pour la génération documentaire. 8. Procédé selon l'une des revendications précédentes, caractérisé par le fait que la documentation finale comporte du texte libre manuel inclus entre les fragments générés. 9. Procédé selon l'une des revendications précédentes, caractérisé par le fait que l'on filtre les types de fragments générés avant leur insertion dans la chaîne documentaire.