La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

SEG Module 5 Gestion des exigences

Présentations similaires


Présentation au sujet: "SEG Module 5 Gestion des exigences"— Transcription de la présentation:

1 SEG 3601- Module 5 Gestion des exigences
Objectifs: Concept de traçabilité Utilisation de valeurs de base Gestion des changements Exigences pour outils de gestion, et exemples Matériel de Kotonya&Sommerville, Z. Zhang, S.Somé, J. Maxwell, G. Mussbacher, IBM

2 Dilbert et la gestion des exigences…
Module 5 : Gestion des exigences

3 Ingénierie des exigences
Création Développement des exigences Gestion des exigences Élicitation Analyse Vérification Spécification « Le changement des exigences est aussi certain que la mort et les impôts… » Module 5 : Gestion des exigences

4 Évolution et gestion du changement
Changement inévitable et difficile à contrôler: Meilleure compréhension, de nouvelles exigences deviennent apparentes Les objectifs stratégiques et d’affaires évoluent Les contextes changent (p.ex., les lois) Les marchés évoluent eux aussi (p.ex., priorités, technologies, valeur des devises…) Problèmes de techniques, coûts, échéances… Module 5 : Gestion des exigences

5 Évolution et gestion du changement
Réactions possibles face aux changements: Modification, ajout, ou retrait d’exigences Souvenez-vous des Feature Survival Charts du module précédent! Impact? Problèmes dus aux changements des exigences en fin de parcours, sans en évaluer l’impact Visibilité? Temps perdu à coder, à documenter, ou à écrire des tests pour des exigences désuètes ou qui n’existent plus… Module 5 : Gestion des exigences

6 Module 5 : Gestion des exigences
Approche systématique pour éliciter, organiser et documenter les exigences d’un système, et un processus qui établit et maintient une entente mutuelle entre les parties prenantes sur les exigences en évolution. [Leffingwell & Widrig 1999] En anglais: Requirements Management Module 5 : Gestion des exigences

7 Gestion des exigences (RM)
RM inclut toutes les activités qui maintiennent l’intégrité et la justesse des exigences entendues. Contrôler les changements à la valeur de base (baseline) des exigences (les incréments) Garder les plans du projet synchronisés avec les exigences Contrôler des versions d’exigences individuelles et de documents d’exigences Gérer les relations entre exigences et les dépendances envers d’autres documents Suivre le statut des exigences dans les valeurs de base Module 5 : Gestion des exigences

8 Gestion des exigences (RM)
[Wiegers, 1999] Module 5 : Gestion des exigences

9 De gestion à outils Les changements mènent à un besoin de gestion
Il n’y a pas de gestion sans traçabilité Il n’y a pas de gestion sans valeurs de base permettant les comparaisons (baseline) D’un point de vue pratique, il n’y a pas de traçabilité et de gestion sans outils appropriés En théorie, la pratique et la théorie sont semblables. En pratique, elles sont différentes… Module 5 : Gestion des exigences

10 Facteurs de changements d’exigences (I)
Erreurs, conflits et incohérences Découvertes et corrigées au fur et à mesure que les exigences sont analysées, validées et implémentées. Évolution de la connaissance du système par le client/utilisateur Lorsque les exigences sont développées, les clients/utilisateurs développent simultanément une meilleure compréhension de ce dont ils ont vraiment besoin. Problèmes techniques, d’échéances, de coûts Difficile de tout planifier et savoir à l’avance, et nous devons souvent revisiter la liste d’exigences. Module 5 : Gestion des exigences

11 Facteurs de changements d’exigences (II)
Changement de priorités du client, nouveaux besoins Peuvent être causés par un changement dans l’environnement du système (p. ex., la venue d’un nouveau compétiteur, un nouveau gouvernement), ou par des changements dans la structure organisationnelle, les objectifs/processus d’affaires, ou chez les employés Changement chez les systèmes voisins Avec lequel le produit doit s’intégrer. Peut aussi inclure des décisions globales au niveau de technologies chez l’entreprise (migration à un nouveau système d’exploitation, SGBD, etc.) Changements au niveau des lois/politiques Module 5 : Gestion des exigences

12 Densité croissante des lois en santé aux É-U
HIPAA CCHIT HITECH (ARRA) MU Stage 1 Meta-Standards Rule MU Stage 2 1996 2007 2008 2009 2010 2011 2012 DEA EPCS Data Breach Notification NwHIN Governance HIPAA Omnibus Regs Transition: It’s not just that the number of regulations is increasing. The timelines that engineers have to comply are being compressed Autres lois au niveau des états … et chacune de ces lois évolue aussi (versions multiples !) J.C. Maxwell, A.I. Antón, P. Swire, "Managing Changing Compliance Requirements by Predicting Regulatory Evolution", Intl. Conf. on Requirements Engineering, 2012.

13 Exigences durables et volatiles
Exigences stables dérivées des activités d’affaires principales du client. Par exemple, un hôpital va toujours devoir gérer des docteurs, des infirmières, des patients, etc. Peuvent être dérivées du modèle de domaine. Exigences volatiles Exigences qui changent pendent le développement ou pendant l’utilisation du système. Dans un hôpital, on peut penser aux exigences reliées à la politique du système de santé gouvernemental. Module 5 : Gestion des exigences

14 Attentes envers la gestion des exigences (1)
Identification individuelle des exigences Traçabilité entres les exigences, la conception, l’implémentation, les tests, la gestion de projet É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, les ressources, le plan. Analyse de couverture, de conformité 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. Aide à la décision Module 5 : Gestion des exigences

15 Attentes envers la gestion des exigences (2)
Accès contrôlé à l’information courante d’un projet Une base de données partagée (cohérence, accès en parallèle) Une base de données centrale permet à tous les utilisateurs de voir toute l’information requise (visibilité) Gestion des changements Un système de proposition des changements implémente un processus contrôlé pour gérer les changements. Sélection et déploiement d’outils appropriés Tout ceci requiert de la planification! Module 5 : Gestion des exigences

16 Identification des exigences
Il est essentiel d’avoir un identifiant unique pour permettre une gestion durable Une pratique très commune consiste à numéroter les exigences selon le chapitre/section du document d’exigences Il y a plusieurs problèmes avec une telle approche: Les numéros ne peuvent pas être assignés de façon unique et définitive jusqu’à ce que le document soit complet Donner un numéro de chapitre/section mène à une classification des exigences qui peut parfois porter à confusion (on pourrait penser que les relations les plus importantes sont celles avec les autres exigences de la même section) Module 5 : Gestion des exigences

17 Techniques d’identification d’exigences
Renumérotation dynamique Certains traitements de texte permettent la renumérotation dynamique de paragraphes et supportent les références croisées. Lors de réorganisation du document (ajout, modification, retrait, déplacement d’exigences), le système met à jour le tout automatiquement. Mais… Identification par enregistrement de base de données Lorsqu’une exigence est créée dans la base de données, un numéro d’enregistrement unique lui est assigné, et c’est ce dernier qui est utilisé dans les références. Identification symbolique On peut associer un nom symbolique à chaque exigence. Par exemple, ROB-1, ROB-2, ROB-3 pourraient identifier des exigences de robustesse. Mais attention!!! Module 5 : Gestion des exigences

18 Les exigences ont des attributs!
Une exigence est plus qu’un simple objet ou paragraphe. On peut lui associer touts sortes d’attributs permettant de faire du filtrage, de l’analyse, ou d’obtenir des métriques. : Date de création, date de mise à jour Numéro de version Auteur, personne responsable de sa maintenance Statut Priorité, stabilité, importance Justification, commentaires Version(s) du produit visée(s) Critère pour test d’acceptation, etc. Plus le projet est complexe, plus la liste d’attributs à gérer est riche Plusieurs attributs sont souvent prédéfinis dans les systèmes de gestion d’exigences, mais plusieurs sont aussi définis par les ingénieurs en exigences pour chaque projet. Module 5 : Gestion des exigences

19 Choisissez uniquement les attributs nécessaires!
Exemple: Classes, liens et attributs pour une base de données d’exigences Choisissez uniquement les attributs nécessaires! Module 5 : Gestion des exigences

20 Objets et attributs sous DOORS
Module 5 : Gestion des exigences

21 Attribut de confiance/certitude?
Il faut distinguer les exigences certaines des autres… Sinon: trop de contraintes, ou perte de confiance envers toutes les exigences par les développeurs Confiance: exemple d’échelle Entière, élevée, moyenne, faible, très faible… Une confiance faible: Peut mener au report de l’exigence jusqu’à ce qu’elle soit plus certaine Peut offrir plus de liberté aux concepteurs afin qu’il puissent être créatifs La créativité est aussi importante! Présentation: How Google Works … Module 5 : Gestion des exigences

22 Module 5 : Gestion des exigences
Statuts d’exigences Aident à gérer le cycle de vie d’une exigence Dépendent du processus en place. Exemple d’un ensemble de statuts: Proposée: exigence proposée par une partie prenante Approuvée: fait partie des valeurs de base, on s’engage à l’implémenter Rejetée: exigence refusée Implémentée: conçue et implémentée Vérifiée: liée aux test pertinents, les tests ont réussi Effacée: retirée de la liste Faire le pistage (tracking) des statuts de chaque exigence tout au long du développement est un aspect important de la gestion des exigences. Module 5 : Gestion des exigences

23 Module 5 : Gestion des exigences
Contrôle de versions Le contrôle des versions est aussi un aspect essentiel de la gestion des exigences Les exigences doivent être identifiées de façon unique La dernière version d’une exigence doit être disponible à tous les membres de l’équipe Les changements doivent être documentés et communiqués clairement L’identifiant de version est modifié à chaque changement de l’exigence Les documents d’exigences devraient inclure: Un historique des révision: changements faits avant et après, ou différence, dates, par qui, pourquoi (justification) Les marqueurs standards de révisions (p.e. texte barré ou souligné, marqueurs en marge, etc.) Outil de contrôle de versions Conserve et exploite l’historique des changements Justification d’une décision d’ajouter, changer, effacer, ou rejeter une exigence Module 5 : Gestion des exigences

24 Traçabilité

25 Module 5 : Gestion des exigences
Traçabilité? "Can I ask you some questions?" "By all means." "Okay. Well, for starters I'll have who, what, when and where and then wither, whence and wherefore for a follow-up, and then one bit side-order of why." Zaphod Beeblebrox & Zarniwoop The Hitchhiker's Guide to the Galaxy Module 5 : Gestion des exigences

26 Module 5 : Gestion des exigences
Traçabilité? La traçabilité se réfère à la capacité de décrire et de suivre la vie d’une exigence, à la fois vers l’avant et vers l’arrière. [Gotel et Finkelstein, 1994] Une spécification d’exigences est traçable si l’origine de chacune de ses exigences est claire et si cela facilite les références aux exigences dans les documents d’amélioration ou de développement futurs. [IEEE Standard ] Module 5 : Gestion des exigences

27 Module 5 : Gestion des exigences
Traçabilité? Un lien ou une relation définissable entre entités. [Watkins et Neal, 1994] L’information de traçabilité aide à évaluer l’impact de changements aux exigences. Elle relie les exigences entre elles de même que les exigences aux autres représentations du système. [Kotonya et Sommerville, 1998] Module 5 : Gestion des exigences

28 Importance de la traçabilité
La traçabilité offre une aide essentielle à la compréhension des relations qui existent entre exigences, conception, et implémentation. [Palmer, 2000] La traçabilité est souvent rendue obligatoire par des contrats et des normes. P.ex.: domaines militaire et de l’aérospatial On ne peut pas gérer ce que l’on ne peut pas retracer. [Watkins and Neal, 1994] Module 5 : Gestion des exigences

29 Traçabilité dans la loi HIPPA (É-U)
Module 5 : Gestion des exigences

30 Bénéfices de la traçabilité
Dans la littérature: Analyse d’impact Amélioration de la qualité du logiciel Prévention de pertes de connaissances (et diminution des risques associés à des départs) Contrôle du changement Surveillance de processus Réingénierie (par la présence de liens) Support de la vérification (certification, localisation des défectuosités, des conflits) Module 5 : Gestion des exigences

31 Module 5 : Gestion des exigences
Traçabilité et conflits entre lois et exigences [Maxwell et al., RE 2011] Module 5 : Gestion des exigences

32 Module 5 : Gestion des exigences
Difficultés Différentes parties prenantes ont différents besoins en information Il y a une énorme quantité d’informations qui doit être suivie et maintenue La création manuelle de liens demande beaucoup de temps et d’efforts Probablement le plus gros problème… Des outils spécialisés doivent être utilisés Pas toujours facile d’intégrer des informations/modèles hétérogènes de différences sources (exigence, modèles, tests, code, …) Demande un engagement organisationnel (avec une compréhension des bénéfices) Module 5 : Gestion des exigences

33 Quelques types de traçabilité
Traçabilité exigence – source (personne, document) Traçabilité exigence – justification Traçabilité exigence – exigence Dépendances diverses Traçabilité exigence – architecture Liens vers les sous-systèmes pertinents. Importants lorsqu’il y a plusieurs sous-contractants. Traçabilité exigence – conception Liens vers composantes matérielles et logicielles Traçabilité exigence – interface Liens avec interfaces de systèmes externes Traçabilité exigence – service (feature) Traçabilité exigence – test Permet de vérifier qu’une exigence est bien implémentée Traçabilité exigence – code En général, pas établie directement, mais peut être inférée Module 5 : Gestion des exigences

34 Tableaux de traçabilité
Montrent les relations entre exigences (ou entre exigences et autres artefacts) Les identifiants d’exigences sont utilisés pour marquer l’axe horizontal et/ou vertical, et les relations sont indiquées dans les cellules Relations: dépend de, parent de, contraint… Module 5 : Gestion des exigences

35 Module 5 : Gestion des exigences

36 Module 5 : Gestion des exigences
Listes de traçabilité Si le nombre d’exigences est grand et si le nombre de relations est petit, il peut être avantageux/compact d’utiliser une représentation sous forme de listes. Module 5 : Gestion des exigences

37 Exemple: liens avec DOORS
Un lien représentent une relation directionnelle entre deux objets Une source et une destination Peuvent être parcourus dans les deux directions On peut avoir plusieurs liens entre les deux mêmes objets Les liens ont un type (module de liens) et des attributs Module 5 : Gestion des exigences

38 Création des liens et accès
Module 5 : Gestion des exigences

39 Explorateur de traçabilité
Module 5 : Gestion des exigences

40 Vue matricielle des liens
Module 5 : Gestion des exigences

41 Vue hiérarchique des liens
Module 5 : Gestion des exigences

42 Vue de filtrage (requête sur attributs)
Module 5 : Gestion des exigences

43 Module 5 : Gestion des exigences
Analyse avec DOORS Analyse d’impact Analyse les liens allant vers l’extérieur (out-links). Objets d’autres modules accessibles via ces liens (affectés si vous faites un changement au module courant) Analyse de traçabilité Analyse les liens provenant de l’extérieur (in-links). Objets dans la chaîne de liens venant vers le module courant (des changements à ces objets affecteront le module courant) Peuvent être faites à plusieurs niveaux de profondeur Module 5 : Gestion des exigences

44 Vue multi-modules (plusieurs niveaux)
User Reqts Technical Reqts Design Test Cases Module 5 : Gestion des exigences

45 Analyse et traçabilité (Wizard)
Rapports sur les orphelins indiquent des liens « manquants » These traceability displays can be generated using a wizard and they are one of the the fastest ways to find “missing” links in DOORS. With this kind of report you can immediately see the gaps showing the work yet to be done. Another way to find “orphans” is to run a filter for requirements that have no links. By running a traceability report from the bottom up, it is possible to find where the product has been over-engineered or “gold-plated”, e.g. design with no requirement may not be necessary. Module 5 : Gestion des exigences

46 Traçabilité et artefacts logiciels
DOORS: Requirements Management & Traceability TAU/Architect & TAU/Developer: System Modeling & Code Generation SYNERGY/Change: Work Orders SYNERGY/CM: Engineering Tasks Shouldn’t do work unless there is a requirement to do it Generate traceability from requirements to design and code! Scenario: Requirements captured and validated Requirements flowed down to analysis and design via TAU/DOORS integration Systems Engineers define architecture in TAU Software engineers ActiveCM: Controlled Code Modules Module 5 : Gestion des exigences

47 Analyse via « liens suspects »
Si les documents sont liés With systems becoming more complex and development teams becoming more dispersed, manual communication processes break down. How does an analysis team in the US know that the customer in the UK just changed the user requirements? How does a development team in India know that the system specification just changed in the US? The answer is suspect information or “suspect links” … un changement par un utilisateur ici… … apparait comme une modification chez les autres. Sachez de façon proactive quand les changements affectent vos exigences (et gérez les effets domino!) Module 5 : Gestion des exigences

48 Module 5 : Gestion des exigences
Liens suspects Visibles comme indicateurs ou comme description avec changements Module 5 : Gestion des exigences

49 Planification de la traçabilité
À planifier, comme tout autre projet! Qui sont les parties prenantes? Quels sont les besoins (analyses, rapports…)? Objectifs utiles, mesurables et réalisables! Définition des liens et attributs Peut-on en inférer automatiquement? Processus Responsables, rôles, accès Collecte et entrée des liens Mises à jour (lors de changements) Situations exceptionnelles (p.ex. manque de temps) Représentations, requêtes Outils… Module 5 : Gestion des exigences

50 Facteurs influençant la planification
Nombre d’exigences Besoin criant de planification quand ce nombre est élevé Estimé de la durée de vie du système Niveau de maturité de l’organisation Traçabilité détaillée a de meilleures chances d’être implémentée et utilisée si la maturité est élevée Taille du projet et de l’équipe Type de système Exigence spécifique du client Par exemple, chez les militaires Module 5 : Gestion des exigences

51 Dilbert et la planification du changement
Module 5 : Gestion des exigences

52 Qui crée les liens de traçabilité?
Les liens devraient être définis par quiconque possède l’information appropriée. Module 5 : Gestion des exigences

53 Exemple simple de relations
Module 5 : Gestion des exigences

54 Modélisation de la traçabilité
Les types de liens à utiliser (et leurs attributs) doivent être définis en fonction des types d’exigences C’est un problème de conception! Exemple: définition à l’aide d’un diagramme de classe (métamodèle) Types d’objets (classes) Attributs d’objets (attributs typés) Structure de répertoires, modules, objets Stéréotypes, composition… Types de liens (associations) Satisfait, teste, raffine, contribue à, menace… Attributs de liens (classe d’association) Cardinalités/multiplicités pour liens… Module 5 : Gestion des exigences

55 Métamodèle pour FSM importés dans DOORS
Les associations représentent les différents types de liens (internes) Module 5 : Gestion des exigences

56 DSL pour traçabilité de modèles [Rahman, 2013]
Module 5 : Gestion des exigences

57 Modèles UCM et DOORS – Liens externes
User Requirements (Use Cases) System Requirements Software Requirements (Subsystem) Satisfies Satisfies Satisfies Satisfies Satisfies Satisfies UCMs (User Level) UCMs (System Level) Tests Tests Tests Tests Acceptance Tests Functional Tests conventional links external UCM links Module 5 : Gestion des exigences

58 manual & generated links
Modèles UCM et DOORS Exemples de liens (manuels et automatiques) Du UCM vers les exigences (niveau supérieur) Des exigences (niveau inférieur) vers le UCM User Level UCMs (Maps) UCMs (Resp.) manual links Map manual & generated links User Requirements (Use Cases) Refines Refines generated links * Map.Stub UCMs (Scenarios) * Map.Resp References Bound To Bound To Traced By Scenario.Resp System Requirements * Map.Comp UCMs (Comp.) References Module 5 : Gestion des exigences

59 manual & generated links
Modèles UCM et DOORS Exemples de liens (manuels et automatiques) Du UCM vers les exigences (niveau supérieur) Des tests (niveau inférieur) vers le UCM System Level UCMs (Maps) UCMs (Resp.) manual links Map manual & generated links System Requirements Refines Refines generated links * Map.Stub generated links (incomplete) UCMs (Scenarios) * Map.Resp References Bound To Bound To Traced By Scenario.Resp Functional Tests * Map.Comp UCMs (Comp.) References Module 5 : Gestion des exigences

60 Module 5 : Gestion des exigences
Types de liens Notez les types de liens dans les exemples précédents, de même que les types d’objets qu’ils relient: Satisfait, Trace, Teste, Raffine, Contient, … D’autres pourraient être créés Contribue, Contredit, Justifie, Dépend de, … Module 5 : Gestion des exigences

61 Requêtes et rapports sur la traçabilité
Comme toute autre base de données Requêtes structurées, à la SQL Langage naturel List all preliminary hazards that have a high level of risk, and which are not covered by a software requirement of type "mitigating“ Requêtes à l’aide d’un langage visuel Requêtes à l’aide de reconnaissance de la parole Des études récentes suggèrent que les utilisateurs préfèrent la langue naturelle écrite P. Pruski et al.: TiQi: Towards natural language trace queries. RE 2014: Conseil: Si vous prévoyez utiliser la traçabilité, faites le tôt! Sinon: vous assumerez tous les coûts, sans en avoir les bénéfices… Module 5 : Gestion des exigences

62 Module 5 : Gestion des exigences
Conseils pour DOORS Direction des liens Du plus spécifique au plus abstrait Permet d’éviter des problèmes de privilèges d’accès Permet d’accéder aux routines d’analyse intégrées à DOORS Modules de liens Un module par type de lien Ne JAMAIS utiliser le module par défaut (Il ne devrait même pas être offert!) Permet d’éviter des problèmes de maintenance Des types spécifiques facilitent l’analyse et le filtrage Module 5 : Gestion des exigences

63 Valeurs de base (baselines)

64 Valeur de base (baseline)
Version non-modifiable (read-only) d’un document Décrit un moment dans le temps Peut inclure plusieurs documents simultanément L’historique du document y est incluse: Information sur les objets, liens et attributs créés, effacés ou édités depuis la création de la valeur de base On rencontre aussi souvent l’information sur les sessions d’utilisation (moment d’ouverture du fichier, par qui, etc.) Il est souvent conseillé de créer une valeur de base d’un document nouvellement importé dans un système de gestion d’exigences. Afin de ne pas perdre aucun des changements apportés Module 5 : Gestion des exigences

65 Valeur de base pour exigences
Représente souvent l’ensemble des exigences (fonctionnelles et autres) auxquelles l’équipe de développement s’engage, et ce pour une version particulière du produit. Valeur de base Différents points de vue Pas de documents formels Toujours en changement Compréhension partagée Gestion des configurations Gestion du changement Module 5 : Gestion des exigences

66 Module 5 : Gestion des exigences
Utilisation Les valeurs de base peuvent être: Créées Image complète de l’état des exigences à un moment donné. Détruites Visualisées Retour en arrière Comparées Changements effectués depuis un moment donné. Copiées Signées Pour autorisation, contrat. Besoin de contrôle des accès par parties prenantes et rôles Module 5 : Gestion des exigences

67 Module 5 : Gestion des exigences

68 Comparaison de modules
Analyse des changements entre versions Module 5 : Gestion des exigences

69 Gestion du changement If you see change not as an enemy, but as a welcome friend, you will secure the most valuable prize of all – the future…

70 Module 5 : Gestion des exigences

71 Module 5 : Gestion des exigences
Gestion du changement Se concentre sur les procédures, processus et normes utilisées pour gérer les changements aux exigences. Les politiques de gestion du changement peuvent inclure: Le processus de requête de changement et les informations requises Le processus à utiliser pour analyser l’impact et les coûts du changement proposé (traçabilité!) Qui va approuver les requêtes (comité) Support logiciel (outil) Une demande de changement peut avoir un statut (un état), tout comme les exigences. P.ex.: Proposé, rejeté, accepté, remis, incorporé… Module 5 : Gestion des exigences

72 Module 5 : Gestion des exigences
Étapes principales Module 5 : Gestion des exigences

73 Analyse et coûts des changements (ex.)
customers may misunderstand requirements and their context and suggest unnecessary changes with the help of traceability information risk is too high negotiations with customers consequential changes may be unacceptable to user/customer cost/time required for the implementation of change is too high/long Source of figure: Kotonya and Sommerville

74 Quand rejeter une requête de changement?
Quand la requête est invalide. P.e. si le client a mal compris l’exigence ou son contexte, et a proposé quelque chose qui n’est pas nécessaire. Si la requête mène à des conséquences qui sont inacceptables à l’utilisateur. Si le risque est trop élevé. Si le coût ou le temps requis pour l’implémentation du changement est trop élevé. Module 5 : Gestion des exigences

75 Différents aspects de la gestion
… du changement Comment un client soumet-il une requête de changement? Comment cette requête est-elle suivie, priorisée, et implémentée? … des configurations Version, étiquetage, et suivi du code et autres composantes pendant le cycle de développement du logiciel. … des produits (releases) Définit comment et quand les différentes composantes matérielles et logicielles devront être rendues disponibles ensemble comme produit Module 5 : Gestion des exigences

76 Outils pour la gestion du changement
Peuvent être inclus dans un système de gestion d’exigences ou dans un système de gestion des configurations. Peuvent inclure les fonctionnalités suivantes Formulaire électronique de requête de changement Base de données pour emmagasiner et gérer les requêtes Un modèle de changement permettant aux responsables d’une phase du processus de gestion de savoir qui est responsable de la prochaine phase Notifications par courriel (début et/ou fin de phase ou d’activité) Signatures électroniques Forums de discussion Liens directs à la base de données d’exigences… Module 5 : Gestion des exigences

77 Module 5 : Gestion des exigences
Exemple: DOORS CPS Le système de proposition de changements (Change Proposal System – CPS) permet aux gens de lire les modules DOORS et d’y proposer des changements (sans pouvoir éditer les documents directement). Ceci permet d’obtenir des réactions et de faire les changements de façon contrôlée. Un administrateur particulier contrôle la visibilité des données de même que les participants autorisés à faire des demandes de changements. DOORS peut aussi être intégré à des système autonome de gestion de versions/changements Module 5 : Gestion des exigences

78 DOORS: Change Proposal System (CPS)
Changes from all users including DOORSnet Submitted Accepted Changes reviewed on-line Read-only user submits “Change Proposal” In Review Further Research Next Release Gérez les changements… Sans surprises! On Hold Rejected Module 5 : Gestion des exigences

79 Outils de gestion d’exigences

80 Module 5 : Gestion des exigences

81 Que voulons-nous comme outil?
Différentes compagnies utilisent divers outils, plus ou moins adaptés à la gestion des exigences. Traitements de texte Microsoft Word (avec gabarits)… Feuilles de calculs Microsoft Excel… Outils de gestion d’exigences professionnels IBM DOORS, IBM Requisite Pro, Jama Contour Outils spécialisés internes GenSpec (Hydro-Québec)… Open source RM tools OSRMT: Outils de suivi des bogues (gratuits ou non) Bugzilla, Github… Outils collaboratifs (gratuits ou non) Assembla, FosWiki, … Module 5 : Gestion des exigences

82 Quel est le meilleur outil?
Module 5 : Gestion des exigences

83 Que rechercher chez un outil?
Types/attributs d’exigences et liens Spécifications et modèles Gestion des versions et du changement Emmagasinage dans une base de données Traçabilité Analyse (analyse d’impact, de complétude, de style, comparaisons…) Visualisation et rapports Suivi du statut des exigences Contrôle d’accès Import/export Communication avec les parties prenantes Langage de script (pour automatisation) Réutilisation d’exigences, modèles, projets Inspection automatique des exigences (selon des règles) Etc… Module 5 : Gestion des exigences

84 La gestion des exigences ne se fait pas en isolation… Intégration!
Module 5 : Gestion des exigences

85 Outil: orienté document ou base de données?
Document (e.g. Word) Facile d’accès, d’apprentissage et d’utilisation (spécifications et rapports) Mais: Traçabilité? Rapports de requêtes? Granularité et gestion des changements? Analyse? Accès contrôlé simultané?... Base de données (e.g. DOORS) Bon pour gestion, accès contrôlé, liens, analyse, rapports/requêtes, navigation Mais: difficile (et coûteux) à configurer, à gérer, à utiliser Idéalement: il faut offrir les avantages des deux E.g. DOORS et RequisitePro offrent des intégrations à Word (import/export) de même que des vues orientées document (“look and feel”…) Module 5 : Gestion des exigences

86 Et l’évolution du processus lui-même?
Évolution des types d’exigences Ajout / modification / retrait de: Attributs Types de liens États du cycle de vie (statuts) Évolution de la gestion du changement Formulaires Est-ce bien supporté dans l’outil? Module 5 : Gestion des exigences

87 Comment choisir un outil?
La liste des critères et la liste des produits disponibles peuvent toutes les deux être longues Voir l’étude de INCOSE: 34+ outils, ~66 critères, scores et explications… Évaluation de 17 outils et plusieurs bons articles disponibles de Seilevel (Joy Beatty et al., 2011) Liste d’outils de gestion d’exigences Liste de listes d’outils d’exigences! Global Market for RM Tools Lesquels sont pertinents pour VOUS, dans votre contexte (projet, organisation…)? Besoin d’un modèle de buts pour la définition des critères et l’évaluation! Module 5 : Gestion des exigences

88 DOORS et Jama Contour: Aperçu
Get Started in Jama Contour - Requirements Management Software: Agile Requirements management tool: Jama Contour: Requirements Traceability in Jama Contour: IBM Rational DOORS (5 min): Integrated requirements & change in action with IBM Rational DOORS and IBM Rational ClearQuest : Module 5 : Gestion des exigences

89 DOORS : Vue base de donnée
Deleted Folder Folders Formal Modules Projects Link modules Module 5 : Gestion des exigences

90 DOORS: Intégration avec jUCMNav
Module 5 : Gestion des exigences

91 Twiki/FosWiki: Aperçu
Un Wiki générique (TWiki.org, FosWiki.org) Promotion de la collaboration Orienté base de données Contrôle des accès et des versions Formulaires et requêtes Flots de processus orientés-états Texte et graphiques Léger, extensible (architecture avec plug-ins) Exemples de formulaires et de requêtes Exigences: Bibliothèque virtuelle: Cas d’usage: Module 5 : Gestion des exigences

92 TWiki pour la gestion d’exigences?
Module 5 : Gestion des exigences

93 TWiki: Exemple d’exigences
Module 5 : Gestion des exigences

94 TWiki: Exemple de formulaire
Module 5 : Gestion des exigences

95 Module 5 : Gestion des exigences
Avec TWiki On a: Description des types d’exigences avec statuts et attributs configurables Liens bidirectionnels (WikiWords) Requêtes configurables, filtrage, rapports Contrôle d’accès et gestion des versions (avec différences) par TWiki Gestion des changements (formulaires, processus, etc.) Discussions, inclusions de documents/images Export (HTML) Langage de script (plug-ins Perl) Mais a-t-on vraiment: Visualisation de la traçabilité? Tableaux éditables? Valeurs de base? Intégration à d’autres outils? Imports? Analyse? Module 5 : Gestion des exigences

96 Module 5 : Gestion des exigences
Genspec Module 5 : Gestion des exigences

97 Genspec: Vérification de spécification
Module 5 : Gestion des exigences

98 Module 5 : Gestion des exigences
Conclusions Descriptions, importance, et illustration de Gestion des exigences Activités, attributs, statuts Traçabilité Modélisation, visualisation, analyse Valeurs de base Comparaison Gestion des changements Principales étapes Outils de gestion d’exigences Critères, intégration, variété (de DOORS à FosWiki!) Module 5 : Gestion des exigences

99 Module 5 : Gestion des exigences
Et le futur? Jane Cleland-Huang et al.: Software traceability: trends and future directions. FOSE 2014: 55-69 Module 5 : Gestion des exigences

100 Module 5 : Gestion des exigences


Télécharger ppt "SEG Module 5 Gestion des exigences"

Présentations similaires


Annonces Google