SEG Module 5 Gestion des exigences

Slides:



Advertisements
Présentations similaires
MOT Éditeur de modèles de connaissances par objets typés
Advertisements

Amélioration de la qualité des forfaits
L'installation et la diffusion 1 LInstallation et la Diffusion.
La Gestion de la Configuration
Les Evolutions et la Maintenance
Manuel Qualité, Structure et Contenus – optionnel
19 septembre 2006 Tendances Logicielles IBM Rational Data Architect Un outil complet de modélisation et de conception pour SGBD Isabelle Claverie-Berge.
Personnalisation des sites SharePoint avec SharePoint Designer 2007
Introduction Pour concrétiser l’enseignement assisté par ordinateur
Diagram-Based Techniques
La politique de Sécurité
UML (Unified Modeling Langage)
Les Ateliers de Génie Logiciel
Introduction aux CMS.
Gestion du cycle de vie des applications Lotus Notes Ady Makombo Directeur Teamstudio France
Introduction au Génie Logiciel
DE LA RECHERCHE AU PLAIDOYER
le profil UML en temps réel MARTE
Sommaire Objectif de Peakup Principes de fonctionnement
Sésame Conseils Bon sens et compétences
Le Reengineering.
Guide de gestion environnementale dans l’entreprise industrielle
CADRE LOGIQUE (Format & composantes)
Le Travail Collaboratif ...
Manuel de formation PNUEThème 13 Diapo 1 Objectifs de lÉtude dImpact Social (ÉIS) : F analyser la façon dont des propositions affectent les personnes F.
© OECD A joint initiative of the OECD and the European Union, principally financed by the EU Valorisation des Ressources Humaines Rabat, 23 juin 2010 Les.
Département de génie logiciel et des TI Université du Québec École de technologie supérieure Systèmes dinformation dans les entreprises Systèmes dinformation.
Techniques de test Boulanger Jean-Louis.
MOT Éditeur de modèles de connaissances par objets typés
Mesures de performance organisationnelle Cours ICO 810 Professeur: Michel Pérusse Hiver 2005 Session 9.
IGL301 - Spécification et vérification des exgiences 1 Chapitre 2 Le processus dingénierie des exigences (ref : Bray chapitre 2)
© Petko ValtchevUniversité de Montréal Janvier IFT 2251 Génie Logiciel Notions de Base Hiver 2002 Petko Valtchev.
RECHERCHE COMMERCIALE
Portée, arrimages et intervenants Évolution des méthodes
SEMINAIRE DE CONTACT novembre 2008 Outils de gestion de projet.
Sensibilisation a la modelisation
Kampala, Uganda, June 2014 Documents d’Edition et de Révision Hiroshi Ota and Vijay Mauree ITU/TSB Forum de normalisation pour l'Afrique (Kampala,
Stratégie d’entreprise - Alstom Transport – Marco Férrogalini
Elabore par BELKADHI ABIR BEN HASSEN SALMA CHEBBI MARWA
Le management de l'IVVQ Processus techniques IVVQ
Amélioration de la performance des systèmes d’information sanitaire de routine (SISR) et de l’utilisation de l’information pour la gestion des systèmes.
Vérification dans le cycle de vie GEF492A 2014 Référence: [HvV §14.2, 14.9] Capt Vincent Roberge Collège Militaire Royal du Canada Génie électrique et.
2003 (revisé 2008)SEG Chapitre 11 Chapitre 1 “The Systems Engineering Context” Le contexte du génie de systèmes.
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
LA POSE D’UN DIAGNOSTIC Jm bouthors - Consultant
Le système informatique et le système d’information
Introduction au Génie Logiciel
IAEA Training Course on Effective and Sustainable Regulatory Control of Radiation Sources Stratégies pour un contrôle réglementaire efficace et durable.
Gestion de projet Gestion de configuration
Management de la qualité
Année 2006 – 2007 ENSEA © Emeric Rollin
G ROUPE IRIUM ™ N°1 européen des PGI pour Distributeurs, Loueurs & Importateurs de Machines Les Bases de Connaissances Knowledge Base Maxime HILAIRE 07/05/2008.
Hiver 2004SEG2501 Chapître 41 Chapître 4 SDL – structure d’un système et son comportement.
Principes et définitions
( ) Collège de Maisonneuve
© Petko ValtchevUniversité de Montréal Janvier IFT 2251 Génie Logiciel Le Processus Hiver 2002 Petko Valtchev.
Nouvelles Technologies Internet & Mobile
Subversion.
PROCESSUS D’AUDIT PLANIFICATION DES AUDITS
Document de spécification d’exigences Normes IEEE et 29148:2011
«SEG 3501» D. Amyot uOttawa SEG Module 2 Élicitation des exigences: Introduction Objectifs: ―Avoir une vue d’ensemble des concepts ―Comprendre les.
ISO 9001:2000 Interprétation Article 7 Réalisation du produit
Introduction Module 1.
Modèles de cycle de vie et processus de génie
MNG-3102 SÉANCE : GSRH et développement des ressources humaines.
Tous droits réservés © Promaintech Novaxa Documentation du projet Formation Green Belt Lean Six Sigma.
TSTC développement de clientèles 1 Le système d'information mercatique (SIM)
1 Le dispositif d’évaluation Présentation de XiTi Mise à disposition d’un outil d’analyse statistique : XiTi  Accessible en ligne pour le chef d’EPLE.
Transcription de la présentation:

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

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

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

É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

É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

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

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

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

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

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

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

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.

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

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

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

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

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

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

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

Objets et attributs sous DOORS Module 5 : Gestion des exigences

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

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

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

Traçabilité

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

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 830-1998] Module 5 : Gestion des exigences

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

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

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

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

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

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

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

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

Module 5 : Gestion des exigences

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

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

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

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

Vue matricielle des liens Module 5 : Gestion des exigences

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

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

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

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

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

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

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

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

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

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

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

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

Exemple simple de relations Module 5 : Gestion des exigences

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

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

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

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

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

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

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

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: 123-132 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

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

Valeurs de base (baselines)

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

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

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

Module 5 : Gestion des exigences

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

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…

Module 5 : Gestion des exigences

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

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

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

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

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

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

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

DOORS: Change Proposal System (CPS) E-mail 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

Outils de gestion d’exigences

Module 5 : Gestion des exigences

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: http://sourceforge.net/projects/osrmt Outils de suivi des bogues (gratuits ou non) Bugzilla, Github… Outils collaboratifs (gratuits ou non) Assembla, FosWiki, … Module 5 : Gestion des exigences

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

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

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

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

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

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: http://www.incose.org/ProductsPubs/Products/rmsurvey.aspx 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

DOORS et Jama Contour: Aperçu Get Started in Jama Contour - Requirements Management Software: http://www.youtube.com/watch?v=kdbsiMWFKCw Agile Requirements management tool: Jama Contour: http://www.youtube.com/watch?v=TwycpFBDbYw Requirements Traceability in Jama Contour: http://www.youtube.com/watch?v=R5dapDhRnIY IBM Rational DOORS (5 min): http://www.youtube.com/watch?v=Reff4ELfwrM Integrated requirements & change in action with IBM Rational DOORS and IBM Rational ClearQuest : http://www.youtube.com/watch?v=CtrLx4V2RWI Module 5 : Gestion des exigences

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

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

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: http://cserg0.site.uottawa.ca/twiki/bin/view/ProjetSEG/UCMNavRequirements Bibliothèque virtuelle: http://cserg0.site.uottawa.ca/twiki/bin/view/UCM/UCMVirtualLibrary Cas d’usage: http://cserg0.site.uottawa.ca/seg/bin/view/CSI4900/UseCases Module 5 : Gestion des exigences

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

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

TWiki: Exemple de formulaire Module 5 : Gestion des exigences

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

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

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

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

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

Module 5 : Gestion des exigences