SEG 3601 Gestion des exigences avec DOORS Restore (load) DOORS 101 twice. First, in the default project DOORS 101. Second, in project Test. Adapté de présentations par Telelogic et Amyot 2005-2012
Gestion des exigences avec DOORS Préparation du laboratoire Vérifiez que vous pouvez exécuter DOORS Téléchargez DOORS_101.dpa de TWiki et sauvegardez le sur votre bureau (desktop) http://cserg0.site.uottawa.ca/seg/bin/view/SEG3601/WebHome Gestion des exigences avec DOORS
Avantages de la gestion des exigences Traçabilité entres les exigences de haut niveau et ceux d’implémentation Établie grâce à des liens ajoutés dans une base de données des exigences Liens entre les exigences, les modèles de design, les tests, le code. Analyse de l’impact de changements proposés Des outils d’analyse permettent de visualiser quelles exigences (et autres artéfacts) sont affectés par un changement. Accès contrôlé à l’information courante d’un projet Une base de données partagée assure que tous les utilisateurs travaillent avec la plus récente copie des données Une base de données centrale permet à tous les utilisateurs de voir toute l’information requise Gestion des changements Un système de proposition des changements implémente un processus contrôlé pour gérer les changements. Gestion des exigences avec DOORS
Base de données DOORS (v8.x) Répertoire supprimé Répertoires (Folders) Modules formels (Formal Modules) Projets Modules de liens (Link modules) Gestion des exigences avec DOORS
Information affichée (v8.2 / v8.3) Numéro de section ou d’objet Titre de colonne “Aucun changement” (barre verte) Titre d’objet Indicateur de lien (entrant et sortant) Identificateur d’objet Texte d’objet “Changé cette session” (non sauvegardé, barre rouge) Objet courant “Changé” (sauvegardé, barre jaune) Gestion des exigences avec DOORS
Objet titre ou objet texte ? Organisation hiérarchique des objets Objet Titre A une valeur dans Object Heading, mais pas dans Object Text Mise en place de contexte pour objets sous le titre Objet Texte A une valeur dans Object Text, mais pas dans Object Heading Les exigences sont entrés dans les objets textes Devraient être des feuilles dans la hiérarchie de modules Pas plus d’une exigence dans un objet texte Switch to DOORS (Test) and show how to create/delete/purge projects/folders/formal modules/link modules. Also show how to create heading objects and text objects in a formal module. Gestion des exigences avec DOORS
Gestion des exigences avec DOORS Raccourcis Ctrl-N … insérer un objet au même niveau Ctrl-L … insérer un objet sous le niveau courant Ctrl-H … changer l’objet dans le mode entête Ctrl-T … changer l’objet dans le mode texte Ctrl-C … copier l’objet courant seulement (sans hiérarchie) Ctrl-V … insérer après l’objet courant Ctrl-X … coupe l’objet courant avec hiérarchie Ctrl-Z …annuler Gestion des exigences avec DOORS
Attributs pour Objets, Liens et Modules Les attributs permettent d’associer de l’information additionnelle avec chaque exigence (objet), lien ou module. Gestion des exigences avec DOORS
Exemples d’attributs pour les objets Numéro absolu, créé par, date de dernière modification Automatiquement géré par DOORS Source Qui a rédigé l’exigence? Priorité Quelle est la priorité de cette exigence? Vérifiabilité, Sûreté, … Est-ce que cette exigence est vérifiable ? De grande importance pour la sécurité humaine ? Révision L’état de révision de l’exigence Raison (justification) Gestion des exigences avec DOORS
Gestion des exigences avec DOORS Le concept de lien Une relation entre deux objets dans la base de données DOORS est établie en utilisant un lien Objets origine et destination (source and target) Le de l’origine à la destination Les liens peuvent être suivis dans les deux directions. Switch to DOORS (Test) and show how to link two objects using drag & drop. Gestion des exigences avec DOORS
Gestion des exigences avec DOORS Le concept de lien Les liens sont stockés dans des modules de liens Le nom du module indique le type de lien Une partie de l’information est stocké avec l’origine (exemple: on ne peut effacer un objet qui possède des liens entrants) Ensemble de liens (Linkset) Les liens sont regroupés en linkset. Un linkset contient tous les liens d’un type spécifique qui existent entre une paire de modules formels. Les modules de liens peuvent contenir plusieurs linksets. Gestion des exigences avec DOORS
Schéma pour un projet simple Combien y a-t-il de Modules formels ? Modules de liens ? Linksets? Quels sont les noms des modules de liens? Exigences client Tests de satisfaction Teste Satisfait Exigences système Tests fonctionnels Teste Standards Answers: 7 formal modules 3 link modules (Teste, Satisfait, Contraint par) 6 linksets Satisfait Spécification du design Tests unitaires Teste Contraint par Gestion des exigences avec DOORS
La direction des liens est importante La direction des liens est déterminée principalement par le contrôle des accès L’utilisateur doit pouvoir écrire à l’origine (exemple: les standards ne peuvent pas être l’origine car le développeur n’a pas les permissions pour y écrire) L’utilisateur n’a besoin que des permissions pour la lecture de la destination De plus, le choix est renforcé par le désir d’être constant pour utiliser les fonctionnalités offertes par DOORS pour les rapports. L’utilisation de liens du bas vers le haut (recommandé) ou du haut vers le bas de façon constante permet d’utiliser des outils de traçabilité à niveau multiples Gestion des exigences avec DOORS
Appliquer un schéma en limitant les liens Activer les options suivantes dans File - Module Properties – Linksets (pour tous les modules formels) Only allow outgoing links as specified in the above list Mandatory Sinon, DOORS créera un module de liens par défaut (DOORS Links) L’utilisation de ce module par défaut n’est pas recommandée Exigences client Exigences système Tests de satisfaction Satisfait NON NON Switch to DOORS (Test) and show link objects and linksets in a link module. Show how to create a linkset from one formal module to another. Show where to set the two options mentioned above. Gestion des exigences avec DOORS
Exercice – Appliquer un schéma Créez trois modules formels: A, B, C Créez deux objets dans chaque module (A1, A2; B1, …) Dans le menu View: sélectionnez Show Link Modules et Show Deleted Items Créez un lien de A1 à B1 (utilisez le glisser-déposer (drag & drop)) Quels modules de liens ont été créés ? Quels linksets ont été créés ? Créez un module de lien Test Créez un linkset obligatoire dans le module A (File – Module Properties – Linksets) pour les liens vers le module B en utilisant le module de liens Test Créez un lien de A2 à B2– qu’est-il arrivé ? Double-cliquez les modules de liens… Créez un lien de A1 à C1 – qu’est-il arrivé ? Activez l’option “Only allow outgoing links as specified in the above list” dans module A (File – Module Properties – Linksets) Créez un lien de A2 à C2 – qu’est-il arrivé ? Switch to DOORS and create a new folder for this exercise. Answers: link module DOORS link linkset A to B link stored in Test linkset A to C created in link module DOORS link DOORS prevents creation of link Gestion des exigences avec DOORS
Gestion des exigences avec DOORS Vue de traçabilité Ex. Client Ex. Techniques Design Cas de tests Gestion des exigences avec DOORS
Gestion des exigences avec DOORS Analyse des liens Analyse de traçabilité Suit les liens entrants (du haut niveau au bas niveau si les liens sont du bas vers le haut) Analyse de l’impact Suit les liens sortants (du bas niveau au haut niveau si les liens sont du bas vers le haut) Analysis Wizard Liens suspects Indicateur de liens suspects Nettoyer des liens suspects Switch to DOORS (DOORS 101) and show the trace of the “Second Requirement” in “Stakeholder Requirements” (use depth 3). Then show the impact of the “Fourth Unit Test” (use depth 3). Then, show which stakeholder requirements are not verified by functional tests using the analysis wizard. Switch to DOORS (Test) and make a change to the “First Acceptance Test”. Show suspect link indicators and how to clear suspect links in the System Requirements. Gestion des exigences avec DOORS
Exercice – Analyse des liens Utilisez l’analyse de traçabilité pour “S333” dans les standards (profondeur de 3). Y a-t-il des tests unitaires? Analysez l’impact pour “Second Unit Test” (profondeur de 3). Quels exigences client sont affectées? Utilisez le Analysis Wizard pour trouver quelles exigences client n’ont pas de tests unitaires. Exigences client Tests de satisfaction Teste Exigences système Satisfait Tests fonctionnels Teste Spécification design Satisfait Tests unitaires At this point, students have to restore DOORS 101 – show how to restore a project. Use DOORS (DOORS 101) to show the results of the exercise. Anwers: Second Unit Test Second Stakeholder Requirement Teste Standards Contraint par Gestion des exigences avec DOORS
Exercice – Liens suspects Changez le “Third Design Specification” Où croyez-vous que les liens suspects apparaîtront? Nettoyez les liens suspects Exigences client Tests de satisfaction Teste Exigences système Satisfait Tests fonctionnels Teste Spécification design Satisfait Tests unitaires Use DOORS (DOORS 101) to show the results of the exercise. Answers: Standards (S333) and System Requirements (Third Requirement) Teste Standards Contraint par Gestion des exigences avec DOORS
Filtrer, Trier, Vues, Rapports Filtrer des objets Par rapport à leurs attributs, leurs liens, leur position dans la hiérarchie (feuille ou non) et leurs colonnes. Trier les objets Par rapport à la valeur de leurs attributs Vues Définit la mise en page (colonnes, filtres, tris, …) Spécifiques aux modules (sauvegardés dans ceux-ci) Rapports Combine une vue avec un format de page pour l’impression Report Wizard Switch to DOORS (DOORS 101) and show how to filter “Design Specifications” (criteria: links to “Standards”). Clear filter. Then show how to filter “Design Specifications” (criteria: priority = high). Then sort result alphabetically by Object Text. Save filter and sort as a view. Show how to turn filtering on/off. Change the priority of the “Second Design Specification” to “high”. Show that turning filtering on/off does not update the result list. Reload the view to update the result list. Gestion des exigences avec DOORS
Exercices – Filtrer, trier et vues Filtrez “Design Specifications” pour que les titres soient cachés Désactivez le filtre Filtrez “Design Specifications” pour trouver les objets qui n’ont pas de liens vers “Unit Tests” Triez par priorité Sauvegardez la vue “Ma vue” Activez la vue standard Activez “Ma Vue” Use DOORS (DOORS 101) to show the results of the exercise. Gestion des exigences avec DOORS
DOORS/Analyst: Intégration avec UML 2.x Ajoutez des diagrammes UML 2.x et leurs éléments en tant qu’objets liables grâce au plug-in Analyst (Éditeur UML 2.x Tau G2) Gestion des exigences avec DOORS
Gestion des exigences avec DOORS DOORS/Analyst Si DOORS/Analyst est installé, vous pouvez: Explorer le menu Analyst dans DOORS Créer un module et sélectionner Analyst --> Enable Analyst Vous devriez alors avoir la permission d’insérer des diagrammes UML via le menu Analyst Gestion des exigences avec DOORS
DOORStoURN: Intégration avec URN Ajoutez des diagrammes URN et leurs éléments en tant qu’objets liables grâce à la fonction DXL export dans jUCMNav. Gestion des exigences avec DOORS
Intégration jUCMNav-URN Voir la documentation et les démos sur Twiki: http://jucmnav.softwareengineering.ca/twiki/bin/view/ProjetSEG/DoorsExport Il faut installer une librairie DOORS supplémentaire pour importer des modèles URN: http://jucmnav.softwareengineering.ca/ucm/bin/view/ProjetSEG/InstallingTheDXLLibrary Gestion des exigences avec DOORS
Gestion des exigences avec DOORS Pour votre projet… Vous pouvez plus simplement: Exporter vos diagrammes (de jUCMNav ou autres) Les inclure dans un nouveau module DOORS. Énumérer manuellement les élements importants (buts, scénarios, etc.) inclus dans ces diagrammes. Créer vos liens de traçabilité entre vos exigences et ces éléments. Gestion des exigences avec DOORS
Gestion des exigences avec DOORS Voir aussi Seilevel’s Evaluations of Requirements Management Tools: Summaries and Scores http://www.seilevel.com/wp-content/uploads/RequirementsManagementToolWP_2.pdf DOORS au milieu de peloton, selon leurs critères et besoins On peut tout faire, c’est un outil populaire et robuste, mais l’utilisabilité est faible, surtout en ce qui a trait à la modélisation. Gestion des exigences avec DOORS