Ingénierie des exigences - Principes de base de GenSpec (la théorie derrière l'outil)

  • 16,666 views
Uploaded on

Présentation de la théorie derrière l'outil d'ingénierie des exigences (requirements engineering) GenSpec

Présentation de la théorie derrière l'outil d'ingénierie des exigences (requirements engineering) GenSpec

More in: Technology , Business
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
No Downloads

Views

Total Views
16,666
On Slideshare
0
From Embeds
0
Number of Embeds
2

Actions

Shares
Downloads
820
Comments
1
Likes
7

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide
  • Élicitation: activité du processus d'IE.
    Réf: "http://www.cs.uta.fi/~cszhzh/teaching/TKOPS301/L2.pdf" (de "http://www.cs.uta.fi/~cszhzh/teaching/TKOPS301_04.htm").
  • UCA (Diapositive surtout pour l'Unité Conception-Automatismes d'HQ (UCA), peu formée en IE)
  • UCA
  • <number>
    Réf:
    1- Daniel Amyot: http://www.site.uottawa.ca/~damyot/seg3601/notes/SEG3601-module1.ppt, de http://www.site.uottawa.ca/~damyot/seg3601/
    2- Zheying Zhang: http://www.cs.uta.fi/~cszhzh/teaching/TKOPS301/L2.pdf, de http://www.cs.uta.fi/~cszhzh/teaching/TKOPS301_04.htm
    3- Steve Easterbrook: http://www.cs.toronto.edu/~sme/CSC2106S/index.html
  • <number>
  • <number>
  • UCA
    Problèmes majeurs si négligée: L’IE est une activité très importante du processus de fourniture et d’acquisition. À tel point que, si elle est négligée, plusieurs besoins du client ne sont jamais compris par le fournisseur ou ne le sont qu’après ou peu avant la livraison. Il en découle les problèmes majeurs suivants:
    - augmentation des coûts et délais de réalisation: la compréhension d’un besoin après ou peu avant la livraison implique souvent de recommencer la réalisation, au moins en partie;
    - diminution de la qualité: l’incompréhension d’un besoin implique que le produit (ou service) ne répondra pas à ce besoin; et la compréhension d’un besoin après ou peu avant la livraison implique souvent que le produit ne répondra pas à ce besoin ou ne sera que sommairement corrigé pour y répondre le mieux possible.
    Base de l'entente client-fournisseur: L’IE est une activité non seulement importante mais aussi essentielle à la fourniture et à l’acquisition. En effet, les exigences sont la base de l’entente client-fournisseur.
    Base de fourniture et d’acquisition: De surcroît, elles sont la base de la fourniture et de l’acquisition: base de réalisation; base de vérification et d’acceptation par le client; base de documentation.
  • UCA
  • UCA
    Réf: http://www.standishgroup.com/
    Données tirées du dernier rapport d'étude gratuit du Standish Group, celui de 1995.
  • UCA
    Réf: BOEHM
  • exigences de boîte noire: les exigences doivent être spécifiées d’un point de vue extérieur au produit, donc en faisant abstraction des moyens de réalisation;
    exigences pour clients et fournisseurs: les exigences doivent être spécifiées de façon à être compréhensibles autant par le client que par le fournisseur - la terminologie du client doit être utilisée;
    exigences structurées: les exigences doivent être structurées de façon à faciliter leur compréhension et modification, et éviter leur répétition ou contradiction;
    exigences simples: les exigences doivent être simples, claires et concises;
    exigences identifiables: chacune des exigences doit être identifiable par un code ou un numéro de référence unique;
    exigences retraçables: la source de chacune des exigences doit être identifiée;
    exigences priorisées: les exigences doivent être priorisées, les unes par rapport aux autres.
  • "Ce que le système doit faire à partir des intrants externes pour supporter les extrants externes" ?
    Explication:
    À peu près tous les analystes seraient d'accord pour dire que l'exigence suivante "Le système doit mettre à 1 le bit 3 de la variable interne Masque du module Acquisition" n'est pas une exigence fonctionnelle. Pourtant, elle correspond bien à "Ce que le système doit faire". Ces analystes diraient que cette exigence est de trop bas niveau.
    En revanche, beaucoup d'analystes diraient que l'exigence suivante "Le système doit acquérir et enregistrer les alarmes dans la base de données interne du système" EST une exigence fonctionnelle; elle correspond bien à "Ce que le système doit faire". Ces analystes diraient que, contrairement à la précédente, cette exigence n'est pas de trop bas niveau.
    Donc, ici, ce qui importe, c'est le "niveau" de l'exigence.
    Problème 1: ce "niveau" est subjectif; il dépend du jugement subjectif de l'analyste. Y aurait-t-il moyen d'être objectif ?
    Problème 2: ces deux exigences ne sont pas vérifiables de l'extérieur du système, leur extrant étant interne au système. Or, toute exigence se doit d'être vérifiable (notamment selon les normes 830 et 1233 de IEEE). Il est vrai qu'elles pourraient être vérifiables de l'intérieur du système, mais de telles exigences sont à éviter (notamment selon les normes 830 et 1233 de IEEE), pour plusieurs raisons ...
    Solution: adopter la définition suivante déduite de la norme 830 de IEEE, de son paragraphe 5.3.2; définition plus précise et aidant à corriger les problèmes mentionnés ci-dessus:
    Exigences fonctionnelles: "Ce que le système doit faire à partir des intrants externes pour supporter les extrants externes".
    Exemple: Le système doit calculer la valeur de la Puissance réelle de la centrale (PRC) selon la formule suivante: PRC = ∑ PRGTA [où PRC est un extrant externe et PRGTA (Puissance réelle de chaque groupe turbine-alternateur), des intrants externes].
    De surcroît, il apparaît évident pour plusieurs analystes qu'une "exigence fonctionnelle système" doit être absolument spécifiée en fonction des "intrants système" et des "extrants système". La mention "système" implique qu'ils sont externes.
  • <number>
    Réf: http://www.csdn.net/subject/JeremyDick/publicseminar.pdf
    Le sous-système est un composant de premier niveau de décomposition du système.
  • Remarque: Processus récursif.
    Un sous-système peut être:
    Logiciel;
    Matériel;
    Humain (désigné "Opération manuelle" dans la norme 12207). En effet, une exigence système peut être satisfaire par un Humain. EXEMPLE – À Hydro-Québec, la commande des disjoncteurs des centrales Hydroélectriques (situées dans le nord du Québec) faite à partir du Centre de conduite du réseau (CCR, situé à Montréal) se fait par un Humain: ce dernier fait un appel téléphonique et demande à l'opérateur au Centre de téléconduite (CT) de fermer ou ouvrir le disjoncteur désiré.
  • Remarque: Processus récursif.
    Un sous-système peut être:
    Logiciel;
    Matériel;
    Humain (désigné "Opération manuelle" dans la norme 12207). En effet, une exigence système peut être satisfaire par un Humain. EXEMPLE – À Hydro-Québec, la commande des disjoncteurs des centrales Hydroélectriques (situées dans le nord du Québec) faite à partir du Centre de conduite du réseau (CCR, situé à Montréal) se fait par un Humain: ce dernier fait un appel téléphonique et demande à l'opérateur au Centre de téléconduite (CT) de fermer ou ouvrir le disjoncteur désiré.
  • UCA
  • UCA
    Budget sous-évalué: trop souvent le budget initial alloué à l’IE est largement dépassé et le final, jugé trop élevé.
    Exigences incluant moyens de réalisation: les exigences ne font pas abstraction des moyens de réalisation. Lorsque survient un changement de ces moyens, l’IE doit être recommencée. Cela occasionne des coûts supplémentaires importants, en particulier lors d’un changement de technologie. EXEMPLE – En 1990, un système est développé et l’IE ne fait pas abstraction des moyens de réalisation. En 2000, les technologies utilisées sont obsolètes. Pour pallier ce problème, un nouveau système répondant aux mêmes besoins est développé: nouvelles technologies, nouvelle architecture. L’IE est alors recommencée, une charge de travail de plusieurs personnes-années; pourtant, les besoins n’ont pas changé, sauf exceptions.
    Exigences mal structurées: lorsque survient le moment de modifier une exigence, cela a des répercussions sur plusieurs autres exigences non clairement identifiées. Cela exige de revoir l’ensemble des exigences.
    Exigences d’interfaces instables: les exigences spécifiques aux interfaces externes varient continuellement. En effet, elles sont les plus instables, notamment celles variant le plus selon la technologie. Cela exige de revoir continuellement ces exigences.
    Formatage manuel non normalisé: le format de présentation de chacune des exigences n’est pas automatique ou formellement normalisé. Lorsque survient une modification de format d’une exigence, il faut revoir le format des autres, afin d’assurer l’uniformité et faciliter la lecture.
    Exigences incompréhensibles ou incorrectes: les exigences sont incompréhensibles ou incorrectes du point de vue du client ou du fournisseur. Cela exige de revoir les exigences à plusieurs reprises, constituant en effet une autre raison pour laquelle l’IE est une activité souvent coûteuse.
  • UCA
    Exigences mal structurées:
    mal regroupées: certaines exigences semblent regroupées de façon arbitraire;
    non graduelles: plusieurs exigences ne sont pas présentées de façon graduelle, de la vue d’ensemble à la vue détaillée;
    cachées: plusieurs exigences sont « cachées » dans un même paragraphe, parmi d’autres informations complémentaires. En effet, elles ne sont pas clairement identifiées par un code, un numéro ou l’utilisation d’un verbe d’exigence tel « devoir ». Par conséquent, des exigences sont escamotées lors de la réalisation ou de la vérification.
    Exigences ambiguës: elles ont plusieurs interprétations possibles. Elles peuvent être claires pour le client mais ambiguës pour le fournisseur, ou inversement, le contexte du client étant différent de celui du fournisseur.
    EXEMPLE – « Le système doit permettre la télécommande » Pour le client HQ, dans le contexte d’un poste électrique, « télécommande » désigne une télécommande d’un appareil du poste effectuée de l’extérieur du poste. Pour le fournisseur, cela peut désigner en plus une télécommande de cet appareil effectuée de l’intérieur du poste.
    Exigences difficilement retraçables: il est difficile voire impossible de trouver l’exigence source de laquelle elles découlent, en particulier lorsque cette exigence source est spécifiée dans un autre document.
  • UCA
    Exigences inexactes: le produit n’a pas à répondre à ces exigences du point de vue du client et du fournisseur. Elles proviennent généralement d’une incompréhension du besoin ou d’un problème de gestion des modifications d’exigences.
    Exigences incomplètes: elles ne couvrent pas tous les intrants et extrants requis, toutes les fonctions requises ou toutes autres caractéristiques telles les performances requises; ou elles ne sont pas priorisées, ne fournissement pas toutes les informations nécessaires à leur compréhension ou comportent l’expression « à déterminer ».
    Exigences incohérentes: elles se contredisent ou utilisent des termes différents pour exprimer la même notion.
    Exigences invérifiables: il n’existe aucune procédure acceptable permettant de les vérifier. Elles utilisent souvent des intrants ou extrants internes ou des mots imprécis tels que « habituel », « rapide » ou « convivial ».
    EXEMPLE – L’exigence suivante « Le système doit faire la somme des puissances consommées » n’est pas vérifiable si son extrant, cette somme, n’est pas disponible sur une interface externe tel un écran.
  • UCA
  • NAS: National Airspace System, aux États-Unis.
  • Réf: Karl E. Wiegers, http://www.processimpact.com/process_assets/sample_requirements_documents.zip
  • Réf: Karl E. Wiegers, http://www.processimpact.com/articles/reqtraps.html
    Montre le lien Cas d'utilisation Vs Spécification d'exigences.
  • Réf: http://www.csdn.net/subject/JeremyDick/publicseminar.pdf
  • Réf: http://www.cemmnt.co.uk/files/yRdB16xQ3mzbxiaHyb7M8mu2/Requirements%20Management%20Woodcock%20Telelogic.pdf
    Remarques:
    Stakeholder Requirements: Exigences des parties prenantes.
    Solution abstraite: Solution faisant abstraction des choix de conception: elle permet plusieurs conceptions possibles, notamment pour maximiser la compétitivité.
    Solution spécifique: Conception choisie et implémentée, parmi toutes celles possibles.
  • Diapositive du cours "Analyse des besoins et gestion des exigences" du CRIM (Centre de Recherche Informatique de Montréal), conçu et présenté par M. Sylvain Ducharme.
    Contexte évident pour choisir la méthode d'IE par cas d'utilisation détaillés: si le client et le fournisseur maîtrisent bien la méthodologie, et davantage si le client et le fournisseur utilisent déjà des outils de support efficaces tels que ceux de Rational Rose.
    Problème courant avec cas d'utilisation: traçabilité imprécise avec essais, code et exigences client (plus imprécise qu'avec la méthode Énoncés d'exigence).
  • Réf: http://www.ibm.com/developerworks/rational/library/sep05/rose/index.html
    "Le changement des exigences est aussi certain que la mort et les impôts"
  • UCA
    Réf: http://lil.univ-littoral.fr/~toffolon/isi1.ppt (2004)
    Zelkowitz M. V. (Ed.) Advances in Computers 41-56 (1995-2002), Academic Press, 57-62, 64-65 (2003-5), 66-67 (2006, in preparation) Elsevier, Amsterdam.
    Montre que la Maintenance prend 67% de l'effort total (coût); il y a assurément un problème quelque part.
    Montre aussi que l'IE (définition des besoins) prend en moyenne près de 20% de l'effort total du développement (exclut Maintenance).
    La littérature recommande de 15 à 30%.
    On peut penser que:
    Le 15%, c'est pour un projet normalisé;
    Le 30%, c'est pour un projet totalement nouveau.
    CRIM enseigne "30%".
  • UCA
    Réf: http://lil.univ-littoral.fr/~toffolon/isi1.ppt (2004)
    Tom DeMarco a publié en 2003 "Waltzing with Bears: Managing Risk on Software Projects"
    Montre que l'IE (définition des besoins) est la principale origine des erreurs en génie logiciel.
    56%, c'est élevé; c'est assurément causé par un problème d'IE.
  • UCA
    Réf: http://www.csdn.net/subject/JeremyDick/publicseminar.pdf
  • http://www.google.ca/search?hl=fr&safe=off&as_qdr=all&q=%22ISO%2FIEC+12207%22+%22to+express+a+declaration+of+purpose+or+intent+by+one+party%2C%22+-ieeexplore-ieee-org+filetype%3Apdf&btnG=Rechercher&meta
  • Partie 1, Procédures pour les travaux techniques: expose les procédures qui doivent être appliquées au sein de l'ISO et de la CEI dans l'exécution de leurs travaux techniques.
    Qualifiées: "Le document d'exigences doit être réalisé de façon à ce que tout client et tout concepteur puisse le comprendre". FAUX. Seuls les clients/concepteurs QUALIFIÉS doivent pouvoir le comprendre. Les clients doivent être qualifiés non seulement dans le domaine du problème mais aussi dans le domaine de la solution, en particulier sur l'IE (boîte noire, …). Quant aux concepteurs, ils doivent être qualifiés non seulement en conception mais aussi en IE (ex: ils doivent savoir que les exigences, c'est strictement les énoncés formulés avec un verbe d'exigence, tel "devoir").
  • En français: http://www.cours.polymtl.ca/log3410/bibliographie/IEEE/Pratique_Recommandee_Par_IEEE_pour_la%20_Specification.pdf
    En anglais: http://www.google.ca/search?hl=fr&safe=off&as_qdr=all&q=%22IEEE+Std+830-1998%22+%22Keywords%3A+contract%2C%22+-ieeexplore-ieee-org+-www-enterra-us+filetype%3Apdf&btnG=Rechercher&meta
  • Particularités de la norme.
    "Modifiable" (facilement modifiable), négligé même si très important.
    On dit peu Comment faire pour que les exigences soient facilement modifiables.
    "Le changement des exigences est aussi certain que la mort et les impôts" tirée d'un cours d'Ingénierie des exigences de Daniel Amyot, Université d'Ottawa.
  • Beaucoup moins coûteux sur un projet de demander aux lecteurs d'aller voir l'exigence 3 pages avant (ou dans un autre document) au moyen de renvoi, que de modifier un document difficile à modifier (une modification à un document difficile à modifier implique notamment de revoir la totalité de ce document pour s'assurer de sa cohérence, ce qui est coûteux).
    Remarque: l'idéal, c'est peut-être la redondance avec mise-à-jour automatique. Ex: "collage lié" (collage spécial) dans Word.
  • Erreurs typiques (les + importantes en gras):
    Objet n'est pas l'Objet du document (devrait spécifier ce qui est l'objet du document et ce qui n'est pas l'objet du document)
    Porté n'est pas la Porté du système (devrait spécifier ce que le système fera et ce qu'il ne fera pas)
    Définitions … contient souvent des termes non utilisés par la spéc. (oubli de mise à jour)
    Références ne se limite pas aux documents auxquels la spéc fait explicitement référence
    Vue d'ensemble n'est pas la Vue d'ensemble du document (est souvent la vue d'ensemble du système; chapitre 2 est prévue pour ça)
    Exigences dans 2. Description générale
    Beaucoup d'informations non pertinentes dans 2 (devrait se limiter strictement aux informations ayant un impact sur les exigences ; le but du chapitre 2 est de faciliter la compréhension des exigences aux chapitre 3)
    Dans 2, fonctions souvent pas assez ou trop détaillées (ne doit pas être considérée comme étant une autre vue des exigences)
    Caractéristiques des utilisateurs ne se limitent pas aux niveaux d’instruction, expérience, connaissances techniques des utilisateurs (raisons qui justifient certaines des exigences énoncées au chapitre 3).
    Hypothèses et dépendances souvent incorrectes (devrait identifier des modifications éventuelles à l'environnement ou à des contraintes de conception, qui pourraient se répercuter sur les exigences; ex: le CT a été modifié pour fournir les MW par ligne de distribution)
  • Remarques:
    Traduction littérale de la norme 830 de IEEE.
    Les exigences des interfaces externes, c'est d'abord la description DÉTAILLÉE de tous les intrants et de tous les extrants du logiciel.
    Le but de chaque intrant/extrant doit être donné.
    La provenance des intrants et destination des extrants doivent être données.
    Ces exigences couvrent tout type d'interface, autant Interface avec utilisateur (IPM) que Interface avec système externe.
  • Exigences fonctionnelles: ... (Traduction littérale de la norme 830 de IEEE).
  • Exigences d'interface et fonctionnelles bien séparées, dans des sections distinctes, les sections Exigences des interfaces externes et Exigences fonctionnelles;
    Exigences simples, claires et concises;
    Exigences individuellement vérifiables;
    Exigences individuellement identifiables par un numéro de référence unique;
    Utilisation systématique du verbe "devoir";
    Formulation analogue pour les exigences analogues (les exigences d'intrants/extrants).
    Utilisation des mêmes termes (pas de synonymes) - dans l'exigence fonctionnelle, les noms d'intrants/extrants sont rigoureusement les mêmes que ceux dans les exigences des interfaces externes (aucune ambiguïté possible).
    NOTE – En faisant une recherche sur internet (Google) de "shall provide" et "shall receive" et "Software Requirements Specification" (ou "System Requirements Specification"), on remarque que cette façon de faire est courante.
  • En français: http://www.cours.polymtl.ca/log3410/bibliographie/IEEE/Guide_IEEE_Pour_la_Specification.pdf
    NOTE - Pour la IEEE Std 830, il faut savoir que la version la plus récente, celle de 1998, est identique à celle de 1993.
    En anglais: http://www.google.ca/search?hl=fr&safe=off&as_qdr=all&q=%22IEEE+Std+1233%22+%22Keywords%3A+requirement%22+-ieeexplore-ieee-org+filetype%3Apdf&btnG=Rechercher&meta
  • Réf: http://sunland.gsfc.nasa.gov/smex/wire/mission/cdhsw/wirrqtop.htm
  • Réf:
    http://satc.gsfc.nasa.gov/support/STC_APR97/write/writert.htm
    http://www.stsc.hill.af.mil/crosstalk/1999/02/wilson.pdf
  • SES: Spécification d'Exigences de Système
    SEL: Spécification d'Exigences de Logiciel.
  • … 498, pour montrer:
    où s'insèrent les spécifications d'exigences, SSS, IRS et SRS, dans le processus de développement;
    que les exigences d'interface sont spécifiées dans un document distinct, la IRS.
  • ... associé à la 498.
    Réf: Zero defect software, G. Gordon Schulmeyer (1990).
  • Réf: http://www.ulcc.ca/fr/us/index.cfm?sec=6
    Principes intéressants pour l'IE:
    Composition logique: du général au particulier
    Style*: simple, clair et concis
    Teneur déf: jamais d'exigence "cachée" dans les définitions (ex: Déf. de "Commande": Envoie d'une commande de sélection, Réception d'une confirmation, Envoie d'une commande d'exécution, Réception d'une confirmation)
    Sens naturel: ne pas se servir des définitions pour donner des sens artificiels aux mots (ex: Déf. de "Commande", ci-dessus; ou déf. de "Télécommande" [commande effectuée à partir du Centre de téléconduite, à l'extérieur du poste] et "Commande à distance" [commande effectuée à partir de la Salle de commande, à l'intérieur du poste] utilisés dans la définition des besoins d'exploitation des postes et centrales d'HQ (BENEX))
    Renvois internes: usage parcimonieux
    Langage courant: à utiliser
    Uniformité*: non utilisation de plusieurs définitions d'un terme et non utilisation de synonyme

    * Aussi vu dans la littérature ou dans les normes d'IE ou de rédaction technique.
  • UCA
    Réf: Requirements Engineering as a Success Factor in Software Projects, Hubert F. Hofmann, General Motors, Franz Lehner, University of Regensburg
    (http://www.das.ufsc.br/~romulo/discipli/cad-meto/requi.pdf).
    CRIM enseigne "30%".
    NOTE – Budget IE Composant exclut de ce 30%; plutôt inclut dans budget de Conception, si IE Système et IE Composant requises.
  • Structurer les exigences de façon hiérarchique: (1) spécifier l’ensemble des exigences sous la forme d’un arbre hiérarchique: les exigences « enfant » sous les exigences « parent », les unes découlant des autres; (2) spécifier les exigences parent de façon à ce que chacune d’elles soit la synthèse de ses enfants. Cela aide à présenter les exigences de façon graduelle, systématiquement de la vue d’ensemble à la vue détaillée; (3) ordonner les exigences de façon à ce que les informations nécessaires à leur compréhension soient contenues dans l’exigence ou dans celles qui la précèdent. EXEMPLE – « Exigence 1 – TDT doit permettre de produire un document. Exigence 1.1 – TDT doit permettre d’imprimer le document. Exigence 1.1.1 – TDT doit offrir les choix suivants: a) Imprimer par une imprimante; b) Imprimer dans un fichier. ». Pour des exemples complets, voir les spécifications de la NASA [10] ou du Département de la Défense des États-Unis d’Amérique accessibles par Internet.
    Limiter chacune des exigences à un paragraphe: utiliser un seul paragraphe par exigence, si l’exigence peut être spécifiée dans un seul paragraphe simple, clair et concis; sinon, diviser l’exigence en plusieurs exigences « vérifiables », d’un seul paragraphe, si elle peut être ainsi divisée; sinon, référer à une annexe décrivant l’exigence. EXEMPLE – Voir la norme 12207 de ISO/CEI/IEEE [7]. NOTE – (1) La rédaction anglaise traditionnelle voulait même que l’exigence se compose d'une seule phrase [12]. (2) En plus d’être basées sur des normes internationales, les deux premières règles sont recommandées par une conférence de la NASA [9] et un article de la Défense des États-Unis d’Amérique [11].
    Référer aux exigences sources: lorsqu’une exigence découle directement d’une autre spécifiée dans un autre document, y référer. Référer non seulement au document mais aussi au paragraphe spécifiant l’exigence. Cet autre document peut être une spécification, un courriel, un compte-rendu de réunion, etc.
  • … (suite de diapositive précédente):
    Utiliser des renvois plutôt que la redondance: utiliser des renvois plutôt que la redondance d’informations si cette redondance est faite manuellement. Cela réduit le risque d’incohérences. En effet, une incohérence est souvent introduite dans un texte lors d’une modification d’une information redondante: la modification n’est pas effectuée partout où l’information apparaît.
    Relier les exigences: par des renvois, relier les exigences ayant des liens logiques, les exigences devant potentiellement être modifiées si l’une d’elles est modifiée. Cela exclut les liens parent-enfant (incluant enfant-enfant), puisqu’ils sont déjà présents dans la structure des exigences (voir 4.3.1). Dans tous les cas, spécifier la raison du renvoi. Cependant, dans tous les cas, faire un usage parcimonieux des renvois: les renvois internes multiples sont inutiles dans un texte de structure logique [12]; au besoin, restructurer.
    Respecter les règles de rédaction: respecter rigoureusement les règles fondamentales de rédaction technique [6], principalement les suivantes:
    utiliser le langage courant et n’utiliser des mots techniques que si la précision l’exige;
    faire des phrases simples, claires et concises;
    uniformiser les exigences: rédiger de façon analogue des exigences analogues et de façon identique des exigences identiques.
    NOTE – Cette règle implique notamment de (1) ne pas utiliser de synonymes, même pour les mots de liaison; et (2) utiliser systématiquement le même verbe pour spécifier une exigence, tel « devoir ».
  • Spécifier les interfaces avant les fonctions: spécifier les exigences des interfaces externes avant les exigences fonctionnelles, pour les raisons suivantes: (1) il est naturel de présenter l’extérieur du produit (interfaces externes) avant d’entrer à l’intérieur (fonctions) et (2) les exigences des interfaces externes remplissent aussi le rôle de glossaire, définissant des termes, les intrants et extrants, qui n’auront pas à être redéfinis aux exigences fonctionnelles. Faire attention à spécifier ces exigences de façon graduelle, comme lors d’une présentation du produit pour la première fois.
    Relier les fonctions avec les interfaces: par des renvois, relier les exigences fonctionnelles aux exigences d'intrants et extrants concernés, et inversement. Cela aide (1) à couvrir toutes les exigences des interfaces externes et toutes les exigences fonctionnelles, et (2) à spécifier des exigences fonctionnelles vérifiables, faisant abstraction des moyens de réalisation, étant reliées à des intrants et extrants externes.
    Placer judicieusement les exigences: lorsqu’une exigence peut être placée dans deux sections distinctes, section « sujet # 1 » ou section « sujet # 2 », parce qu’elle traite à la fois du sujet # 1 et du sujet # 2, la placer dans la section ayant la plus grande probabilité d’être supprimée; cela réduit le risque d’incohérences advenant la suppression de cette section. EXEMPLE – L’exigence suivante « Si le système bascule en état Maintenance, il doit cesser la simulation » peut être placée dans deux sections distinctes, parce qu’elle traite à la fois de la maintenance et de la simulation: (1) dans une section « Maintenance » ou (2) dans une section « Simulation ». Si la probabilité de supprimer la section « Simulation » est plus élevée, cette exigence devrait être plutôt placée dans « Simulation ». Ainsi, advenant la suppression de « Simulation », il n’est pas requis de modifier la section « Maintenance ». Dans le cas contraire, c'est-à-dire si cette exigence était plutôt placée dans la section « Maintenance », il y aurait risque d’incohérences: oublier de retirer cette exigence de « Maintenance » advenant la suppression de « Simulation ».
    Ajouter des exigences de vérification: ajouter des exigences facilitant la vérification [8], tout en faisant abstraction des moyens de réalisation. Cela facilite, de surcroît, la simplification des exigences. En effet, lorsqu’une exigence est complexe, il suffit de (1) la séparer en deux exigences simples dont l’une utilise l’extrant de l’autre, et (2) ajouter une exigence de cet extrant sur une interface externe, pour faire, de toutes ces exigences, des exigences vérifiables. Ainsi, cette dernière exigence ajoutée facilite-t-elle non seulement la vérification mais aussi la simplification de l’exigence complexe.
    Spécifier les interfaces dans des documents dédiés: sauf s’il y a peu d’exigences, spécifier les exigences spécifiques aux interfaces externes, celles variant le plus selon la technologie, dans des documents dédiés. Cela facilite la modification des exigences.
  • … (suite de diapositive précédente):
    Spécifier distinctement les fonctionnements anormaux: spécifier les exigences associées à un fonctionnement anormal dans une section distincte, pour les raisons suivantes: (1) une exigence ne traitant pas tous les cas est plus simple et (2) le lecteur, dans un premier temps, ne s’intéresse pas aux cas de fonctionnement anormal.
    Ajouter des notes d’informations complémentaires: si nécessaire, ajouter une note à une exigence, une courte remarque ou une annotation apportant un commentaire ou un éclaircissement sur le texte. Cette note ne doit, par contre, contenir aucune exigence, sauf dans le cas d’une note de figure ou de tableau [6]. Dans tous les cas, faire un usage parcimonieux des notes.
    Ajouter des notes de simplification: si, par souci de simplification, de clarté, une exigence ne tient pas compte d’un détail, utiliser une note pour indiquer le détail en question et renvoyer aux exigences traitant de ce détail. EXEMPLE – « NOTE – Les exigences suivantes sont spécifiées en considérant que le système est en mode Exploitation. Dans le cas contraire, voir réf. interne ci-après identifiée. »
    Lister les événements en annexe: si le produit peut signaler une grande variété d’événements, les lister en annexe et y spécifier, pour chacun d’eux, les conditions déclenchant leur apparition ou disparition; aux exigences des interfaces externes et aux exigences fonctionnelles, référer à cette annexe.
    Limiter les énumérations: limiter à dix la quantité d’éléments de toute énumération, y compris la quantité de sections ou de paragraphes d’un document ou d’une section; au besoin, restructurer. La règle de limitation des énumérations à 10 éléments vient d'une donnée psycho-cognitive de Miller qui a expérimenté que la mémoire de travail ne pouvait pas supporter plus de 7 (plus ou moins 2) éléments à la fois. Cette donnée a été reprise par Robert Horn, psychologue qui a conçu une méthode de structuration des informations dont la forme light est la méthode Imap (Information Mapping).
    Indiquer les exigences non applicables: si une exigence normalement applicable au produit (ex: selon une norme) est non applicable, conserver son code, numéro de référence ou titre et indiquer « Non applicable », assurant au lecteur que cette exigence n’a pas été oubliée. Sous une exigence non applicable, omettre les exigences qui, normalement, en découlent.

  • Pertes/déplacements accidentels de renvois principalement sur suppression/déplacement de paragraphes voisins.
  • Réduit les coûts:
    automatisations,
    facilitation des modifications,
    facilitation de la réutilisation, …
    Facilite la lecture:
    présentation progressive, systématiquement de la vue d’ensemble à la vue détaillée;
    format normalisé; …
    Réduit la quantité d’erreurs:
    contrôle et vérifications automatique des exigences, …
    Respecte des normes internationales:
    IEC/IEEE/MIL;
    numéro de référence unique par exigence, …
  • Une même procédure d'essais peut être assignée à plusieurs exigences (GenSpec le peut mais seulement avec des fichiers joints).
  • UCA

Transcript

  • 1. Ingénierie des exigences (Requirements Engineering) Principes de base de GenSpec (la théorie derrière l'outil) Modif : 2013-10-21 http://groups.google.ca/group/genspec Présentation faite Présentation faite périodiquement: périodiquement: (1) ààHydro-Québec; (1) Hydro-Québec; (2) ààdes Associations (2) des Associations professionnelles; professionnelles; (3) dans des (3) dans des Universités de la Universités de la francophonie francophonie (sur place ou par (sur place ou par vidéoconférence). vidéoconférence). 1
  • 2. Deux conférences internationales, annuelles, spécifiquement en Ingénierie des exigences (IE): http://www.refsq.org/ http://www.requirements-engineering.org/ 2 http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 3. Pour autres informations sur GenSpec (articles, travaux, discussions, …), voir: http://www.google.ca/search?q=%22GenSpec%22+logiciel+OR+outil+OR 3 http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 4. Introduction  But:   Plan:    4 Préparation à la présentation de GenSpec; Domaine de l’IE; Problèmes courants; Solution: adoption de principes de base de l'IE, et utilisation d'un outil (… GenSpec); http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 5. Introduction (suite)  Portée:  S'applique: À l'IE de tout produit ou service, de tout système, soussystème ou autre composant;  Non seulement entre nous, fournisseur, et nos clients, mais aussi entre nous, client, et nos fournisseurs;  NOTES:  Ne met aucune emphase sur l'activité Élicitation, du processus d'IE, parce qu'elle se concentre sur les problèmes d'IE les plus importants vécus par l'unité Conception-Automatismes d'Hydro-Québec (HQ). (Élicitation: Recherche des exigences par des entrevues, la consultation des documents existants, l'analyse de tâches, le développement de prototypes, de maquettes, ...)  Identifie ses documents de référence dans la section "Commentaires" du présent PowerPoint. 5 http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 6. Domaine de l'IE   Contenu;  Importance;  6 Contexte; Principes de base. http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 7. Domaine de l'IE – Contexte   Elle fait un lien entre le client et le fournisseur;  Ses intrants sont les besoins ou exigences brutes spécifiés par le client;  7 L’IE est une activité du processus de fourniture et du processus d’acquisition; Ses extrants sont les documents d’exigences: spécification, cahier des charges, devis, contrat, appel d’offres, norme, ... http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 8. Domaine de l'IE – Contenu Ingénierie des exigences Création Élicitation Développement des exigences Analyse Gestion des exigences Spécification Validation Larry Boldt, Trends in Requirements Engineering People-Process-Technology, Technology Builders, Inc., 2001 8 http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 9. Domaine de l'IE – Contenu (suite)   9 Création:  Début du processus: Apparition ou étude d'un besoin, d'un problème, d'une opportunité, ...; Développement des exigences:  Élicitation: Recherche des exigences par des entrevues, la consultation des documents existants, l'analyse de tâches, le développement de prototypes, de maquettes, ...;  Analyse: Comparaison, Négociation, Filtrage, Complémentation, Caractérisation (incluant Priorisation), Structuration et Liaison des exigences; http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 10. Domaine de l'IE – Contenu (suite)  Développement des exigences (suite):  Spécification: Documentation des exigences;  Validation: Vérification et Validation de exigences;  Gestion des exigences:  Implantation et Suivi de la traçabilité des exigences;  Gestion des modifications / versions d’exigences (aussi appelée Gestion de la configuration). 10 http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 11. Domaine de l'IE – Importance  Problèmes majeurs si négligée:   Augmentation des coûts et délais de réalisation; Diminution de la qualité;  Base de l'entente client-fournisseur;  Base de fourniture et d’acquisition:    11 Base de réalisation; Base de vérification, de validation et d’acceptation par le client; Base de documentation. http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 12. Domaine de l'IE – Importance (suite)  12 Selon le "Standish Group" (http://www.standishgroup.com/), un des plus importants cabinets d'études technologiques, les erreurs d'exigences sont:  Les plus coûteuses;  Un des principaux facteurs de difficulté ou d'échec des projets d'ingénierie logicielle. http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 13. 13 http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 14. Domaine de l'IE – Importance (suite) Phases d'ingénierie réparation Coût relatif de d'une erreur 1) Ingénierie des exigences 1 2) Conception 5 3) Réalisation 10 4) Vérification et validation 20 5) Maintenance 200 - plus une erreur est introduite tôt et détectée tard, plus elle est coûteuse à corriger - 14 http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 15. Domaine de l'IE – Principes de base – Généralités, tirées de la littérature  Exigences de boîte noire;  Exigences exactes;  Exigences pour clients et fournisseurs;  Exigences cohérentes (sans contradiction, et homogènes) ;  Exigences structurées (… modifiables);  Exigences faisables;  Exigences nécessaires;  Exigences uniques (non redondantes);  Exigences individuelles;  Exigences complètes;  Exigences réutilisables.      15 Exigences simples (... concises, non ambiguës); Exigences identifiables; Exigences retraçables; Exigences priorisées; Exigences vérifiables; http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 16. Domaine de l'IE – Principes de base – Généralités, tirées de la littérature (suite)  16 Exigences d'interface:  Exigences d’intrants et extrants externes: données requises en entrée, requises en sortie, but, provenance et destination;  Exigences de format des données échangées, intrants et extrants externes, incluant leur unité, plage et précision;  Exigences de synchronisation de ces échanges. http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 17. Domaine de l'IE – Principes de base – Généralités, tirées de la littérature (suite)  Exigences fonctionnelles:  De façon générale:  "Ce  que le système doit faire"; De façon plus précise:  "Ce que le système doit faire à partir des intrants externes pour supporter les extrants externes";  Remarques:  Relations requises entre les intrants externes et les extrants externes;  Exigences fonctionnelles vérifiables, les Intrants et Extrants étant externes, accessibles aux Vérificateurs. 17 http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 18. Domaine de l'IE – Principes de base – Généralités … – Traçabilité 18 http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 19. Erreurs détectées par Traçabilité 19 http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 20. Traçabilité Vs Coût  Traçabilité: Couteux ?  Oui, mais seulement si implémentée après coup.  Avantages:  Réduit le risque d'erreurs coûteuses;  Réduit les coûts de maintenance ...  Analogie:  Modularité logicielle: Coûteux ?  Oui, 20 mais seulement si implémentée après coup. http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 21. Niveaux d'exigence 21 http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 22. Lien entre Niveaux d'exigence (conforme aux normes ISO/CEI/IEEE 12207, IEEE 830, IEEE 1233 et MIL 498) 22 http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 23. Remarques  Principe « Exigences de boîte noire » respecté;  Séparation claire entre Exigences et Conception;  Exigences plus stables que Conception (Conception varient plus dans le temps, en raison de l'obsolescence des technologies);  Quelques avantages de cette séparation:  Exigences réutilisables pour autres Conceptions, notamment quand la technologie devient obsolète;  Exigences réutilisables pour aider à la pérennité des connaissances (départs à la retraite …), parce que documentées et relativement stables;  Documentation de conception plus facile, moins coûteuse, à modifier, parce qu'isolée;  Séparation de paradigmes d'ingénieries bien différents;  Correspond à ce qui est enseigné, et normalisé. 23 http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 24. Problèmes courants  Les exigences sont coûteuses à développer et à gérer;  Les exigences sont incompréhensibles;  Les exigences sont incorrectes incohérentes ou invérifiables). 24 http://groups.google.ca/group/genspec (inexactes, incomplètes, Modif : 2013-10-21
  • 25. Problèmes courants – Exigences coûteuses  Le budget est sous-évalué;  Les exigences incluent les moyens de réalisation*;  Les exigences sont mal structurées;  Les exigences d’interfaces sont instables;  Le formatage manuel n’est pas normalisé;  Les exigences sont incompréhensibles ou incorrectes. * Problème le plus important et difficile à corriger, dû à un manque de formation en IE ? 25 http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 26. Problèmes courants – Exigences coûteuses (suite)  Les exigences incluent les moyens de réalisation  Exemple:  Besoin: Gestion des alarmes;  L'analyste, souvent un Concepteur/Programmeur dans son paradigme de "Concepteur", voit deux fonctions:  Acquisition des alarmes;  Signalisation des alarmes à l'utilisateur;  Exigences découlantes, incorrectes:  Exig#1: Sur réception d'une alarme, le système doit la mettre en file d'attente;  Exig#2: Le système doit signaler à l'utilisateur les alarmes présentes en file d'attente;  Exigence correcte: Sur réception d'une alarme, le système doit la signaler à l'utilisateur.  NOTE – Les exigences relatives au temps minimum requis pour l'affichage des alarmes ou au traitement des avalanches d'alarmes sont plutôt couvertes par les exigences de performance. 26 http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 27. Problèmes courants – Exigences incompréhensibles  Les exigences sont mal structurées graduelles*);  Les exigences sont ambiguës;  Les exigences sont difficilement retraçables. * 27 (… non Problème le plus important et difficile à corriger, dû à un manque de formation en rédaction technique ? http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 28. Problèmes courants – Exigences incorrectes  Les exigences sont inexactes;  Les exigences sont incomplètes;  Les exigences sont incohérentes;  Les exigences sont invérifiables. 28 http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 29. Problèmes courants – Exigences incorrectes (suite)  29 Les exigences sont invérifiables, souvent en raison d'utilisation de termes vagues, à éviter dans tout énoncé d'exigence:  à confirmer, à définir, acceptable, adapté, adéquat, approprié, approximativement, assez, aussitôt, autant que possible, beaucoup, bien, bon, certains, convivial, correct, correctement, de manière non exhaustive, différent, divers, efficace, environ, ergonomique, essentielle, et/ou, état de l'art, extrêmement, facile, grand, grave, habituel, habituellement, immédiat, immédiatement, le mieux possible, longtemps, moins, nécessaire, n'importe quel, optimisé, optimiser, parfois, périodiquement, petit, peu, plus, plusieurs, possible, précis, presque, quelques, rapide, rapidement, règles de l'art, satisfaisant, souvent, suffisamment, suffisant, trop, typique, varié, ... http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 30. Problèmes courants – Exigences incorrectes (suite)  Les exigences sont invérifiables, aussi, notamment en raison de références à des intrants / extrants internes  Exemple:  Besoin: Gestion des alarmes;  L'analyste, souvent un Concepteur/Programmeur dans son paradigme de "Concepteur", voit deux fonctions:  Acquisition des alarmes;  Signalisation des alarmes à l'utilisateur;  Exigences découlantes, invérifiables (individuellement):  Exig#1: Sur réception d'une alarme, le système doit la mettre en file d'attente;  Exig#2: Le système doit signaler à l'utilisateur les alarmes présentes en file d'attente;  Invérifiables parce qu'on ne peut les vérifier de l'extérieur; exige d'entrer dans la "boîte noire", pour voir la file d'attente;  Exigence vérifiable: Sur réception d'une alarme, le système doit la signaler à l'utilisateur. 30 http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 31. Solution   31 Base de développement; Détail:  Allocation d’un budget suffisant;  Adoption de principes de base;  Utilisation d'un outil: … GenSpec. http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 32. Solution – Base de développement  Théories sur le développement de système;  Normes internationales (ISO/CEI/IEEE 12207, IEEE 830, IEEE 1233, …);  Documents de la NASA, du DOD et du NAS;  Guides de rédaction des lois, les exigences étant souvent contractuelles, assujetties à une interprétation légale. 32 http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 33. Théories sur le développement de système – Environnement (aussi appelé Contexte)  Schéma type d'environnement, parce qu'il est important de définir les frontières du système à développer, les limites des exigences à couvrir.  Remarque: simplicité du schéma, se limite au message à communiquer; trop souvent, ce schéma est encombré d'informations non pertinentes. 33 http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 34. Théories sur le développement de système – Cas d'utilisation Cas d'utilisation: 1) Source d'exigences; 2) Document distinct du doc. d'exigences. 34 http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 35. "Exigences des parties prenantes" Vs "Exigences système" (ou logiciel)  Exigences des parties prenantes (ou exigences utilisateurs):  Exigences exprimant le problème;  Exigences de haut niveau, de l'organisation ou du client (niveau d'abstraction plus élevé que les exigences système);  Source pour développer les exigences système;  Forme typique: "L'utilisateur doit être capable de ...".  Exigences système (ou logiciel):  Exigences exprimant la solution, répondant aux exigences des parties prenantes;  Exigences souvent contractuelles;  Portée/limites clairement définies: intrants/extrants externes clairement définis (environnement détaillé);  Forme typique: "Le système doit ...". 35 http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 36. Théories sur le développement de système – Cas d'utilisation (suite)  Cas d'utilisation exclus de la Spécification d'exigences (carré => document distinct).  Avantage:  Réduit le risque d'incohérences dans la spécification (contrat): contradictions, dans la même spécification, entre Cas d'utilisation et Exigences, dues à des erreurs de mise à jour: sur une incohérence, le fournisseur peut choisir la moins coûteuse à implémenter;  il aura l'excuse: "C'est un problème de Spécification ! La corriger et donner du temps et de l'argent supplémentaire pour faire corriger le logiciel".  36 http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 37. 37 http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 38. Théories sur le développement de système – Cas d'utilisation (suite)  Deux méthodes d'IE:  1ère: Cas d'utilisation détaillés (Scénarios détaillés);  2ème: Énoncés d'exigence ("Le système doit …");  Choix: selon le contexte;  Attention, ne pas faire le travail en double; si combinées, une méthode doit compléter l'autre;  Approche recommandée: démarrer avec la 1ère et poursuivre avec la 2ème. 38 http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 39. Théories sur le développement de système – Processus  Des modifications sont apportées aux exigences pendant tout le processus de développement (voir "Requirements" et "Change Mgmt" ci-dessus) ;  Donc, dès le départ, prévoir des ressources (personnes, temps, argent) pour effectuer ces modifications, tout au long du processus de développement;  Et faire l'IE de façon à faciliter ces modifications. 39 http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 40. Théories sur le développement de système – Effort Répartition de l'effort de développement 80 67 70 60 50 40 30 15 20 6 5 7 Définition des Besoins 10 Conception Codage 0 Intégration et Tests Maintenance Source M.V. ZELKOW IT Z 40 http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 41. Théories sur le développement de système – Origine des erreurs Origine des erreurs en génie logiciel 60 56 50 40 27 30 20 7 10 10 0 Définition des Besoins Conception Codage Autres Source T . D e MAR CO 41 http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 42. 42 http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 43. Normes internationales – ISO/CEI/IEEE 12207  ISO/CEI/IEEE 12207: "Traitement de l'information, Ingénierie du logiciel, Processus du cycle de vie du logiciel";  Dernière version: 1995 pour ISO/CEI, 1998 pour IEEE;  1995/1998, … obsolète ?  aucune norme plus récente, couvrant le cycle de vie du logiciel, ne peut la remplacer;  est utilisé par les militaires aux États-Unis, à la place de la norme MIL 498 obsolète;  Intéressante autant pour sa forme (rigoureuse et bien structurée) que pour son contenu (processus du cycle de vie du logiciel). 43 http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 44. Normes internationales – ISO 12207 44 http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 45. Normes internationales – ISO/CEI/IEEE 12207 (suite)  Bel exemple d'un document d'exigences de qualité:  Vue d'ensemble avant vue détaillée;  Présentation des groupes d'exigences (liste);  Un seul paragraphe par exigence;  Exigences simples, claires et concises;  Bien structuré / équilibré: exigences toutes au même niveau de profondeur dans la structure du document (niveau 4);  Utilisation stricte des verbes:  le verbe « devoir » est utilisé pour exprimer une obligation;  le futur exprime une déclaration d’intention;  l’expression « il convient de » exprime une recommandation;  le verbe « pouvoir » exprime une liberté d’action. 45 http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 46. Normes internationales – ISO/CEI/IEEE 12207 (suite)  Format très limité, pour la présentation des exigences:  Un seul paragraphe;  Possibilité d'une liste d'éléments;  Possibilité d'une note (et c'est tout !);  Trop contraignant selon certains;  Pourtant, ces limites ont été respectées par l'équipe de rédaction de la 12207;  … "Ce qui se conçoit bien s'énonce clairement et les mots pour le dire arrivent aisément" (Nicolas Boileau). 46 http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 47. Normes internationales – Directives ISO/CEI 47 http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 48. Normes internationales – Directives ISO/CEI (suite)  Directives ISO/CEI, Partie 2, Règles de structure et de rédaction des Normes internationales (document d'exigences), 2004 (http://www.iec.ch/tiss/iec/Directives%20ISO-CEI-Partie2-Ed5.pdf);  Généralité: rédiger le document d'exigences de façon à ce qu'il puisse être compris par des personnes qualifiées qui n'ont pas pris part à son élaboration;  Homogénéité:  Rédiger de façon analogue des exigences analogues, et de façon identique des exigences identiques;  Utiliser le même terme pour désigner une notion déterminée (un sens => un seul terme);  Attribuer une seule signification à chaque terme choisi (un terme => un seul sens); 48 http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 49. Normes internationales – Directives ISO/CEI (suite)  Remarques:  Va à l'encontre de ce qu'on a appris, les règles de rédaction littéraire: varier le style, les mots, utiliser des synonymes, …;  Avantages de l'homogénéité:   Facilite/accélère l'écriture, la lecture et la compréhension;  réduit le risque d'ambigüité;  réduit la quantité de texte requis (aide à la concision); Exemple:  pour les exigences suivantes:    respectant les principes mentionnés (un sens => un seul terme; un terme => un seul sens) :    49 Exig#1: À l'interface avec le C/D, l'UCD doit recevoir les alarmes de déglaçage; Exig#2: À l'interface avec l'utilisateur, l'UCD doit fournir les alarmes de déglaçage reçues du C/D sans tenir compte de l'état d'inhibition de ces alarmes à l'UCD; le texte "reçues du C/D sans tenir compte de l'état d'inhibition de ces alarmes à l'UCD" est inutile, parce que redondant; parce qu'il s'agit du même terme, alarmes de déglaçage, utilisé dans ces deux exigences, c'est qu'il s'agit exactement de la même donnée; l'Exig#2 devrait être réécrite comme suit, pour les avantages de la concision sans nuire à la clarté: À l'interface avec l'utilisateur, l'UCD doit fournir les alarmes de déglaçage. http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 50. Normes internationales – Directives ISO/CEI (suite)  Autres directives intéressantes:  Ne spécifier que des exigences "vérifiables";  Éviter les répétitions, faire plutôt référence, pour:    Utiliser strictement les formulations verbales suivantes:     "doit" pour exprimer une exigence; "peut" pour exprimer une autorisation, une possibilité ou une éventualité; "il convient de" pour exprimer une recommandation (ne pas utiliser "devrait"); Rédiger les définitions conformément aux exigences suivantes:   50 réduire le risque d'erreurs et d'incohérences; ne pas allonger le document; une définition doit être telle qu'elle puisse être utilisée à la place du terme défini. Toute information complémentaire doit être donnée exclusivement sous forme d'exemples ou de notes; une définition ne doit pas avoir la forme d'une exigence ni contenir d'exigence. http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 51. Formation à la Rédaction technique: « l'Information Mapping » 51 http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 52. Formation à la Rédaction technique: « l'Information Mapping » (suite) NOTE – Pour plus amples détails, voir à partir de la page 75 de http://managementplace.com/fr/dunod/km.pdf. 52 http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 53. Normes internationales – IEEE Std 830  IEEE Std 830: "Pratique recommandée par IEEE pour la préparation de spécifications d’exigences de logiciel";  Dernière version: 1998;  Portée:  se limite à la spécification;  exclut l'activité Élicitation, de laquelle découlent les exigences;  1998, … obsolète ?  aucune norme plus récente, couvrant la spécification logiciel, ne peut la remplacer;  n'a pas véritablement changé depuis plusieurs années, même après plusieurs révisions (indépendant de l'évolution de la technologie). 53 http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 54. Normes internationales – IEEE Std 830 (suite)  Formation mutuelle:  Le Client doit former le Fournisseur sur le domaine du problème;  Le Fournisseur doit former le Client sur le domaine de la solution, en particulier sur l'IE (boite noire, …);  Caractéristiques d'exigences bien rédigées:  Exactes;  Non ambiguës;  Complètes;  Cohérentes;  Priorisées;  Vérifiables;  Modifiables;  Retraçables. "Le changement des exigences est aussi certain que la mort et les impôts" 54 http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 55. Normes internationales – IEEE Std 830 (suite)  Modifiables: éviter la redondance.  Redondance:  Avantage: facilite la lecture;  Désavantage: augmente le risque d'incohérences;  Recommandation: éviter la redondance;  Conclusion: Privilégier "Facilité de modification" sur "Facilité de lecture"  Pourquoi ? … l'impact sur les coûts et délais.  NOTE – La "Facilité de lecture", ce n'est pas la "Clarté"; les exigences doivent être aussi claires que possible. 55 http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 56. Normes internationales – IEEE Std 830 (suite)  Plan type d’une spéc.  1 Introduction       2 Description générale       56 1.1 Objet 1.2 Portée 1.3 Définitions, acronymes et abréviations 1.4 Références 1.5 Vue d'ensemble 2.1 Environnement 2.2 Fonctions 2.3 Caractéristiques des utilisateurs 2.4 Contraintes 2.5 Hypothèses et dépendances 3 Exigences spécifiques http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 57. Normes internationales – IEEE Std 830 (suite)  3 Exigences spécifiques  3.1 Exigences des interfaces externes      3.1.1 Interfaces avec les utilisateurs 3.1.2 Interfaces avec le matériel 3.1.3 Interfaces avec les logiciels 3.1.4 Interfaces de communication 3.2 Exigences fonctionnelles  3.2.1 Mode 1     3.2.2 Mode 2 3.2.m Mode m       57 3.2.1.1 Exigence fonctionnelle 1.1 3.2.1.n Exigence fonctionnelle 1.n 3.2.m.1 Exigence fonctionnelle m.1 3.2.m.n Exigence fonctionnelle m.n 3.3 Exigences de performance 3.4 Contraintes de conception 3.5 Attributs 3.6 Autres exigences http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 58. Normes internationales – IEEE Std 830 (suite)  Pourquoi "Exigences spécifiques" et non "Exigences" ?  Parce que devrait se limiter aux exigences spécifiques au système: les exigences génériques devraient se trouver ailleurs, dans une autre spéc;  Remarque: Interface avant Fonction, l'extérieur avant l'intérieur;  Avantages:  Présentation naturelle de l'extérieur (les interfaces externes) vers l'intérieur (les fonctions); les exigences d'interfaces externes, c'est la définition du contexte, de l'environnement détaillé;  Le chapitre 3.1 joue aussi le rôle d'un glossaire: définition de tous les intrants/extrants, avec leur but (conformément à la norme), qui n'auront pas à être redéfinis par la suite;  Va simplifier la suite. 58 http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 59. Normes internationales – IEEE Std 830 (suite)  3.1 Exigences des interfaces externes  Description détaillée de tous les intrants et les extrants du logiciel.  Devrait compléter plutôt que répéter la description des interfaces de 2.0 Description générale.  Devrait inclure aussi bien le contenu que la forme:             59 Nom de l'élément (nom de chaque intrant/extrant) But (de chaque intrant/extrant) Provenance des intrants ou destination des extrants Échelle, degré de précision et/ou degré de tolérance acceptables Unités de mesure Synchronisation (des échanges des intrants/extrants) Rapports avec les autres intrants/extrants Format et organisation des écrans Format et organisation des fenêtres Format des données Format des commandes Messages de fin http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 60. Normes internationales – IEEE Std 830 (suite)  3.2 Exigences fonctionnelles  Définition des actions que doit exécuter le logiciel pour la réception des intrants, leur traitement et la génération des extrants.  Remarques:  Liaison implicite des Intrants / Extrants des Interfaces externes avec les Fonctions (par l'utilisation des mêmes termes pour l'identification des intrants / extrants concernés);  Liaison explicite préférable;  Nombreux avantages:       60 Réduit le risque d'exigences invérifiables, les intrants/extrants des exigences fonctionnelles étant accessibles de l'extérieur; Réduit le risque d'exigences ne faisant pas abstraction des moyens de réalisation (ex: architecture du système), les intrants/extrants des exigences fonctionnelles ne pouvant être qu'externes; Réduit le risque d'exigences incohérentes (intrant sans fonction ou extrant associé, extrant sans fonction ou intrant associé) ; Réduit le risque d'exigences incomplètes (oublier des intrants, extrants, fonctions); Offre la possibilité de générer automatiquement une première ébauche des spécifications d'exigences de composant, notamment à partir de données d'attribution des exigences aux composants; Source d'un extrant peut être non seulement une fonction mais aussi un Intrant. http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 61. Normes internationales – IEEE Std 830 (suite)  Illustration de la logique de la structure recommandée par la 830.  Approche simple et systématique (voir la suite). 61 http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 62. Normes internationales – IEEE Std 830 (suite)  62 Remarques:  Schéma d'environnement détaillé;  Intrants/extrants spécifiques d'interface, c'est, par exemple, la commande de fermeture d'une fenêtre Windows. http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 63. Normes internationales – IEEE Std 830 (suite)  63 Remarques:  Tout extrant à une interface externe peut être affecté par plusieurs exigences fonctionnelles;  Tout extrant à une interface externe peut être utilisé comme intrant à une exigence fonctionnelle. http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 64. Normes internationales – IEEE Std 830 (suite)  Exemple simple (respectant la norme):  3.1. Exigences des interfaces externes:    3.2. Exigences fonctionnelles  64 3.1.1. Interface avec l'exploitant  Exigence # 13: Le système doit être capable de fournir la valeur de la Puissance réelle de la centrale (PRC). Priorité: essentielle; Source: [3] 2.2, [6] 5.2.4; …  ... 3.1.5. Interface avec les appareils  Exigence # 45: Le système doit être capable de recevoir la valeur de la Puissance réelle de chaque groupe turbine-alternateur (PRGTA). Priorité: essentielle; Source: [6] 5.2.4; …  ... 3.2.5. Calcul des puissances  Exigence # 28: Le système doit calculer PRC selon la formule suivante: PRC = ∑ PRGTA. Priorité: essentielle; Source: [6] 5.2.4; …  ... http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 65. Pour des exemples complets de spécifications respectant la norme 830 de IEEE, voir: http://groups.google.ca/group/genspec 65 http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 66. Normes internationales – IEEE Std 830 (suite)  NOTE – Cette présentation ne met aucune emphase sur les autres exigences non fonctionnelles, parce qu'elle se concentre sur les problèmes d'IE les plus importants vécus par l'unité ConceptionAutomatismes d'HQ. (Autres exigences non fonctionnelles: exigences de performance, contraintes de conception; attributs [disponibilité, maintenabilité, sécurité, ...]) 66 http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 67. Normes internationales – IEEE Std 1233  IEEE Std 1233: "Guide de l'IEEE pour le développement de la spécification d’exigences de système";  Remarques:  Les exigences présentées au client et celles présentées au fournisseur (communauté technique) sont les mêmes;  En revanche, leur format de présentation à l'un et à l'autre peut être différent; 67 http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 68. Normes internationales – IEEE Std 1233 (suite)  68 Remarques (suite):  Structure de la spécification d'exigences système:  La structure de la spéc. d'exigences système, donnée en exemple dans la 1233 (annexe de la 1233), est très différente de celle recommandée par la 830;  Cependant, toute organisation se doit d'uniformiser ses documents, autant que possible, comme d'ailleurs le fait la norme MIL 498 (ex: SSS-DID vs SRSDID);  C'est pourquoi l'Unité Conception – Automatismes d'HQ a choisi la même structure pour l'ensemble de ses spéc. d'exigences: la structure recommandée par la 830, jugée la plus intéressante. http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 69. Documents de la NASA, du DOD et du NAS  Exemple de spéc. de la NASA: … Telemetry Collection and Formatting  301 The flight software shall collect incoming data from individual telemetry sources in the form of CCSDS telemetry packets.     301.1 The flight software shall insure that memory, table, and event buffer dumps do not flood the downlink or over utilize the onboard CPU. 301.2 The flight software shall be able to selectively discard incoming data according to a ground-controlled filtering scheme. The ground shall be able to specify that every n'th packet be telemetered for a given packet application ID. The ground shall be able to specify that either all or none of a specified packet be telemetered. 301.3 The flight software shall be capable of transmitting the data in any onboard telemetry packet to the ground in real-time. 301.4 CCSDS packets shall consist of a primary header, a secondary header, and application data.     69 301.4.1 The CCSDS Packet Secondary Header shall contain a time code with the first bit set to zero to indicate that this is a non-standard CCSDS secondary header. 301.4.2 The CCSDS packet application data shall contain variable length data fields even within a specific application ID. 301.4.3 The flight software shall support CCSDS source-internal segmentation. 301.4.4 The flight software shall support telemetry packets of 8 to 3700 bytes in total length (CCSDS length + 7). http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 70. Documents de la NASA, du DOD et du NAS (suite)  Exemple de spéc. de la NASA (suite):  Beaucoup d'articles et d'exemples sur Internet;  Remarques:  Numéro d'exigence;  Utilisation systématique du verbe "devoir";  Un seul paragraphe par exigence;  Exigences simples, claires et concises;  Présentation hiérarchique des exigences;  avantages:     70 réduit le risque d'oublier des exigences (aide à tout couvrir); réduit le risque de redondance/incohérence, de répéter la même exigence sans/avec erreur ; réduit le risque d'incompréhension: présentation petit à petit de la vue d'ensemble à la vue détaillée; facilite la traçabilité (exigences parents – exigences enfants). http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 71. Documents de la NASA, du DOD et du NAS (suite)  Article de la NASA, et du DOD: … Statement Structuring  Poorly structured individual requirement statements will result in confusing specifications that are prone to incorrect interpretations. The following is such a statement:   3.1 The XYZ system shall provide variance/comparative information that is timely, itemized in sufficient detail so that important individual variances are not obscured by other variances, pinpoints the source of each variance, and indicates the area of investigation that will maximize overall benefits. This specification can more easily be understood if structured as follows:  3.1 The XYZ system shall provide variance/comparative information.  3.1.1 Variance/comparative information shall be timely.  3.1.2 Variance/comparative information shall be itemized in sufficient detail to do the following:    71 3.1.2.1 Prevent important individual variances from being obscured by other variances. 3.1.2.2 Pinpoint the source of each variance. 3.1.2.3 Indicate the area of investigation that will maximize overall benefits. http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 72. Documents de la NASA, du DOD et du NAS (suite)  DOD, MIL Std 498: "Military standard, Software development and Documentation", 1994 (http://www.abelia.com/498pdf/roadmap.pdf; norme obsolète, mais quand même très intéressante, riche de connaissances et d'expériences [remplacée par la 12207, moins riche ...]):  Normes pour SES (SSS) et SEL (SRS) quasi identiques:  Structure   SES identique à la structure SEL; logique: exigences de boîte noire à tous les niveaux; Normes SES / SEL distinctes de Norme SEI (IRS):  Exigences 72 d'interface dans des documents dédiés. http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 73. Documents de la NASA, du DOD et du NAS (suite)  Exigences d'interface dans des documents dédiés:  Désavantage:   Avantages:     Exigences d'interface plus faciles à uniformiser, parce que centralisées; c'est important, en particulier pour une IPM, que ces exigences soit uniformes. Exemple: Bouton "Ok" toujours à droite en bas, dans toutes les fenêtres; Exigences plus facilement modifiables, parce que centralisées; Charge de travail importante isolée, pouvant être mise en œuvre par une même personne, aidant à l'uniformisation; Remarque:  73 Difficulté de lecture, parce que loin des fonctions: formats des transactions/fenêtres décrits dans un document, la SEI, et fonctions associées décrites dans un autre document, la SES/SEL; Respecte le principe de Privilégier "Facilité de modification" sur "Facilité de lecture". http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 74. 74 http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 75. 75 http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 76. Documents de la NASA, du DOD et du NAS (suite)  Diagramme / Cycle en "V" associé à la 498, pour montrer les niveaux d'exigences;  Avantage d'une telle vision (exigences à tous les niveaux):  Beaucoup d'IE, formant beaucoup de spécialistes dans un domaine de première importance, l'IE;  À tout moment dans le cycle en "V" (par itération), advenant un manque de ressources internes, il est possible, très rapidement, de: fournir le document d'exigences (contrat) correspondant à un fournisseur;  produire le cahier d'essais correspondant pour vérification et acceptation/refus complet, partiel ou conditionnel du livrable du fournisseur.  76 http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 77. Documents de la NASA, du DOD et du NAS (suite)  77 NAS (National Airspace System, aux Etats-Unis)  Human Factors Design Standard (http://hf.tc.faa.gov/hfds/): http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 78. Documents de la NASA, du DOD et du NAS (suite)  NAS (National Airspace System, aux Etats-Unis)  Human Factors Design Standard:  Un autre bel exemple d'un document d'exigences de qualité: Priorité d'exigence / Utilisation stricte des verbes d'exigence (carré vide/plein pour should/shall);  Un titre par exigence;  Un seul paragraphe par exigence;  Exigences simples, claires et concises;  Identification de la source;  Discussion (ou Exemple, Définition, Note, …).  78 http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 79. Guides de rédaction des lois  L'humanité a plusieurs centaines d'années d'expérience en développement et gestion rigoureuse des lois,  beaucoup plus qu'en IE;  On peut assurément en tirer plusieurs principes intéressants pour l'IE. 79 http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 80. Guides de rédaction des lois (suite)  Exemple:  Protocole de rédaction uniforme, harmonisation des lois au Canada, 2006 (http://www.ulcc.ca/fr/us/index.cfm?sec=6) 1. 2. 3. 4. 5. 6. 7. 8. 80 Composition logique: Le texte de loi est organisé de façon logique. Le respect de la progression normale des idées fait partie de la composition logique. Il convient de procéder du général au particulier et de présenter par exemple dans leur ordre chronologique les étapes d'une procédure judiciaire ou d'une demande adressée à une administration ou en émanant. Style: Le texte de loi est d'un style simple, clair et concis et comporte le degré de précision nécessaire. Teneur de la définition: La définition ne doit pas comporter d'élément de fond. Sens naturels: La définition ne doit pas donner aux termes définis des sens artificiels. Renvois internes: Il convient de faire un usage parcimonieux des renvois internes. Les renvois internes multiples sont inutiles dans un texte de composition logique. Langage courant: En règle générale, la rédaction du texte de loi se fait en langage courant, tant sur le plan lexical que sur le plan syntaxique. L'emploi de termes techniques se limite aux cas où la précision l'exige. Uniformité: (1) Le terme défini ne s'emploie pas, dans le même texte de loi, dans une autre acception. (2) Il convient de ne pas exprimer la même notion, dans un texte de loi, par des termes différents. … http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 81. Solution – Allocation d’un budget suffisant La solution consiste d’abord à s’assurer de l’allocation d’un budget suffisant: le budget alloué à l’IE représente généralement de 15 à 30% du budget total de développement, excluant la maintenance. 81 http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 82. Solution – Adoption de principes de base  82 Suivre les principes de base tirées de la littérature (boite noire, …), mais surtout:  Fixer les limites par un schéma d'environnement (IEEE, Wiegers);  Structurer les exigences de façon hiérarchique (NASA; facilite compréhension);  Limiter chaque exigence à un paragraphe (CEI, NASA, NAS; simple, claire et concise);  Référer aux exigences sources (IEEE; … claire, exacte et retraçable);  Utiliser des renvois plutôt que la redondance (CEI, IEEE; … modifiables);  Relier les exigences dépendantes par des renvois et, pour chacun, en donner la raison (… modifiables);  Respecter rigoureusement les règles de rédaction technique (CEI; uniformiser, éviter synonymes, …). http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 83. Exigences modifiables    83 Suivant les principes énoncés sur la diapositive précédente, les exigences peuvent être vues comme un simple empilement de briques – exigence simple, claire et concise, encapsulée – interreliées; Assurément, cela facilite l’ajout, le retrait et la modification d’exigences, et réduit le risque d’incohérences; En effet, quand vient le temps de modifier/retirer une exigence, il suffit de revoir exclusivement les exigences reliées: liens implicites enfant-enfant (exigences sœurs), lien implicite parent-enfant, liens intrant-extrant-fonction, et autres liens (renvois). http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 84. Solution – Adoption de principes de base  84 Suivre les principes suivants (suite):  Spécifier les interfaces avant les fonctions (au moins les intrants/extrants requis; IEEE 830; composition logique, de l'extérieur vers l'intérieur; facilite compréhension);  Relier les fonctions avec les interfaces (IEEE 830; réduit incohérences, exigences incomplètes);  Spécifier les interfaces dans des documents dédiés (DOD; … modifiables);  ...  Limiter les énumérations (loi de Miller, "Information Mapping"; facilite compréhension);  … http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 85. Exigences vérifiables  Suivant les principes énoncés sur la diapositive précédente, les exigences fonctionnelles sont liées aux intrants/extrants externes:  Réduit le risque d'exigences invérifiables, les intrants/extrants des exigences fonctionnelles étant accessibles de l'extérieur;  Réduit le risque d'exigences ne faisant pas abstraction des moyens de réalisation (ex: architecture du système), les intrants/extrants des exigences fonctionnelles ne pouvant être qu'externes;  Réduit le risque d'exigences incohérentes (intrant sans fonction ou extrant, extrant sans fonction ou intrant);  Réduit le risque d'exigences incomplètes (oublier des intrants, extrants, fonctions);  85 Offre la possibilité de générer automatiquement une première ébauche des spécifications d'exigences de composant, notamment à partir de données d'attribution des exigences aux composants. http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 86. Solution – Utilisation d'un outil: … GenSpec  86 Principes lourds à suivre avec un traitement de texte:  En général: lourds à suivre avec rigueur; principes rapidement laissés de côté;  En particulier: lourd à suivre, le principe d’utilisation des renvois. L’utilisation de renvois est problématique avec un traitement de texte (MsWord): séquence de commandes lourdes, et pertes de renvois. http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 87. Solution – Utilisation d'un outil: … GenSpec (suite)  Solution: utilisation d'un outil spécialisé, commercial ou maison (aussi appelé Outil propriétaire);  Plusieurs outils commerciaux disponibles: DOORS, Analyst Pro, Rational RequisitePro, IRqA, System Architect, …;  Avantages: outils commerciaux puissants, offrant notamment des facilités de traçabilité des exigences, de conception et même de génération de code logiciel;  Désavantages: en général, outils commerciaux complexes, coûteux, courbe d'apprentissage longue, outils peu flexibles quant aux formats des documents générés (anglais, …), ou non axés sur les principes présentés. 87 http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 88. DOORS (semble être le plus utilisé) 88 http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 89. Solution – Utilisation d'un outil: … GenSpec (suite)  HQ a développé son propre outil:  GenSpec:  Allège le suivi des principes;  Par rapport à un traitement de texte, réduit: les coûts, notamment par des automatisations;  la quantité d'erreurs, notamment par des vérifications automatiques;   Est: en amélioration continue depuis 2001;  disponible à tous, gratuitement, à l'extérieur comme à l'intérieur d'HQ;  le sujet d'un groupe de discussion sur Internet, permettant le partage …  89 http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 90. GenSpec 90 http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 91. Avantages de DOORS sur GenSpec  Disponible en version anglaise.  Permet la définition des cas d'utilisation.  Permet le multi-usagers à travers le web.  Fonctions de traçabilité plus puissantes.  Gestion multi-versions des exigences plus puissante.  Support multi-formats (de documents importées ou liés, incluant diagrammes UML) plus puissant.  Une même procédure d'essais peut être assignée à plusieurs exigences.  Possibilité pour les utilisateurs de créer des "scripts" de vérifications des exigences.  Outil d'aide convivial à l'importation de données.  Fonctionne sur plusieurs plates-formes.  Documentation riche.  Grande quantité d'utilisateurs / groupes de discussion.  Gestion de l'état des exigences (valide, attribuée, implémentée, testée, …), … par courriel  Facilités d'ajout d'attributs aux exigences (ex: date livraison); et de tri, de fabrication de vue et de génération de rapport.  Possibilité de liaison d'exigences inter Documents-DOORS.  Interopérabilités (avec autres outils commerciaux).  Support disponible (pas seulement à travers un groupe de discussion) . 91 http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 92. Avantages de GenSpec sur DOORS  Options de formatage des documents générés (n'est pas la force de DOORS; DOORS surtout fait pour de la gestion d'exigences directement dans une BD par une interface web; avec DOORS, c'est "compliqué" de générer des documents d'envergure faciles à lire et bien formatés, pour le client et le fournisseur) .  Coût (DOORS est assez dispendieux [6000$/pers+2000$/pers/an, incluant le logiciel facilitant le formatage des doc d'exigences]; et peu de ses fonctionnalités sont généralement utilisées) .  Courbe d'apprentissage plus courte (prise en main: 2 jours; aucune formation requise).  Suit rigoureusement et de façon plus détaillée la norme 830 de IEEE.  Outil de normalisation des exigences: génère automatiquement un texte d'exigence par défaut selon le type d’exigence sélectionné – texte et type paramétrables –, et prévient l'utilisation de synonymes.  Outil d'aide à la composition logique: dès qu'un nouveau concept/terme est introduit, dans le document d'exigences, il est automatiquement présenté/défini (option de la fonction Glossaire).  Outil de liaison des exigences plus puissant, les types de lien et leur gestion étant prédéfinis.  Contrôle et vérifications automatiques des exigences, intégrés (dans DOORS, il faut les créer au moyen  Outil plus facilement modifiable (pour HQ, parce qu'elle en possède le code).  Outil en français (DOORS et sa documentation, non disponibles en français; support très peu disponible en français). 92 de scripts; peu d'utilisateurs de DOORS font de telles vérifications au moyen de scripts, demandant trop d'énergie) . http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 93. Avantages de GenSpec sur DOORS (suite) GenSpec, davantage intéressant pour le Développement des exigences; DOORS, pour la Gestion des exigences. 93 http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 94. Conclusion  Plusieurs problèmes importants en IE;  Compte tenu de l’importance de l'IE, il est souhaitable que ces problèmes soient résolus;  Solution:  Suivi de principes de l'IE;  Utilisation d'un outil spécialisé … GenSpec: facilite ce suivi, avec toute la rigueur requise. 94 http://groups.google.ca/group/genspec Modif : 2013-10-21
  • 95. Suite: Présentation détaillée de GenSpec (http://www.slideshare.net/PierrePi/ingnierie-des-exigences-prsentation-de-genspec-presentation) 95 http://groups.google.ca/group/genspec Modif : 2013-10-21