Daniel Amyot, Université d’Ottawa Basé sur du matériel de: Ian Zimmerman, Telelogic (2001) Ivy Hooks, Compliance Automation (1998) Écrire de meilleures.

Slides:



Advertisements
Présentations similaires
SEG Module 1 Écrire de meilleures exigences
Advertisements

Developpement Process « Coding party !! » Tony Carnal Altran.
AUDIT Formuler des réponses aux recommandations TRAINING LAF 2009.
UML EPITECH 2009 UML1 - Introduction UML – Définition – Historique – UML en entreprise – Couverture Concepts – Objet – Classe –
GCstar Gestionnaire de collections personnelles Christian Jodar (Tian)
Les sauvegardes Pourquoi sauvegarder ? Que sauvegarder ? Quand sauvegarder ? Ou sauvegarder ? Et comment ?
Tice et Handicap Voici quelques ressources pour aider les élèves porteurs de handicap dans leur approche de l'écrit. Proposition des CPC TICE du Val d'Oise.
Recherche des fonctions pour la rédaction de l'expression fonctionnelle du besoin à l'aide d'un outil graphique : Le diagramme des inter-acteurs. Le diagramme.
SQL partie 5 1 LMD create – update – primary key secondary key.
1 Doxygen. 2 Doxygen : qu’est-ce que c’est ? Code C++, Java,... ● Un générateur de documentation – pour C + +, mais aussi C, Java, Fortran,... – Il fonctionne.
FRAL11 L’ANALYSE GRAMMATICALE.  L’analyse grammaticale sert à décomposer la phrase afin de comprendre ________________________ et ________________________.
L’intérêt de sauvegarder certaines données stockées localement sur les postes clients est souvent trop sous-estimée par nos utilisateurs. Casse matérielle,
Module S41 Chapitre 11  Configuration de Windows XP Professionnel pour l'informatique mobile.
Eléments de bases requis
Qui peut utiliser ces formulaires ? Comment utiliser un formulaire ?
Téléchargement de fichiers
FORMATION DES POINTS FOCAUX SUR LE SYSTÈME CountrySTAT/FENIX
Formation relative à la ligne directrice GD211
Qu’est-ce un serveur de messagerie?
Les outils informatiques utilises
D M A I C DEFINIR MESURER ANALYSER AMELIORER CONTROLER
Formation Le marketing par courriel : les bonnes pratiques !
Faire une bonne présentation
Ingénierie des besoins - Février 05
Qualité de Web Services (QoS ou QdS)
PORTEFEUILLE DE COMPETENCES
IS-IS - Adjacence Point à Point
Information et Système d’Information
Entretien téléphonique et via Skype
Enregistrer les contacts clients
Écrire de meilleures exigences
Centralisation de logs
1 Cotation fonctionnelle des pièces 1 Exigences fonctionnelles 2 Cotation des jonctions entre pièces 3 Méthode de cotation d’une pièce.
Génie–logiciel 3. Modèles du cycle de vie du logiciel Azeddine Chikh
Changer les critères de nommage
Cyber-Sphinx Séance 2.
Bienvenue Comment peut-on disposer d’un espace numérique permettant de stocker toutes sortes de documents pouvant être utilisés par n’importe quel membre.
le plan de continuité d’activité ( le pca )
L’enquête sociale dans les CPAS
Échange de données informatisé (EDI)
Capitalisation des bases de données des expériences innovantes
Avantages et désavantages des normes
Licence de Libre Diffusion des Documents -- LLDD version 1 Ce document peut être librement lu, stocké, reproduit, diffusé, traduit et cité par tous moyens.
Chapitre2: SGBD et Datawarehouse. On pourrait se demander pourquoi ne pas utiliser un SGBD pour réaliser cette structure d'informatique décisionnelle.
Auto-évaluation de votre utilisation d’Octopus
Présentation de la base Frantext
Le logiciel de calcul de Reynaers
Écrire de meilleures exigences
Kit de formation multimedia
Les cas d’utilisation 420-KE2-LG.
Essaie Persuasif.
RECAR – Recueil de cas pratiques pour les conseillers à l’emploi auprès des personnes en situation de handicap Projet N°  FR01-KA
Colloque organisé par le GTI MP – 18/10/2018
Bilan de projet pour [Nom du projet]
Appel d’offres vs Qualification
PLATE FORME DE GESTION ÉLECTRONIQUE DE DOCUMENTS Présenté par: Amine LARIBI.
La collecte d’informations Présenté par: Boudries. S.
Génie Logiciel DÉFINITION DES BESOINS. Cahier de charges: définition  Le Cahier des Charges (CDC) est un document par lequel la maîtrise d'ouvrage exprime.
La démarche scientifique
Préparation à la Certification du PMP® (Project Management Professional) Référence du Corpus des connaissances en Management de Projet 5 eme Edition Quelques.
Outils efficaces pour professionnels en recherche d’emploi
Test de performances. Test de performances:  Un test de performance est un test dont l'objectif est de déterminer la performance d'un système informatique.
Formation Dragon NaturallySpeaking
YII Yes It Is !.
Utilisation de la danse à des fins d’enseignement scolaire
PAF Guillaume Martin - Fabrice Cizeron - Xavier Roulot
Non-conformités Des non-conformités Pourquoi? Rev.3 (2015/06/01)
Boulain Joris, Handouz Yassine, Regnier Fabien, Giraud Antoine
Conception d’un QCM F. Loizeau ; Clermont-Ferrand.
Initiation à la recherche documentaire
Transcription de la présentation:

Daniel Amyot, Université d’Ottawa Basé sur du matériel de: Ian Zimmerman, Telelogic (2001) Ivy Hooks, Compliance Automation (1998) Écrire de meilleures exigences SEG3501

SEG3501 (Automne 2016). Écriture de meilleures exigences Aperçu de la présentation Directives pour l’écriture d’exigences Exemple d’une bonne exigence utilisateur Quelques lignes de conduite Tests et erreurs fréquentes Exercices de critique et de réécriture 2

SEG3501 (Automne 2016). Écriture de meilleures exigences 3

Directives pour l’écriture d’exigences Chaque exigence doit être une phrase complète. Chaque exigence doit contenir un sujet et un prédicat: Sujet: système discuté, ou utilisateur (attention…) Prédicat: condition, action, ou résultat attendu Utilisation cohérente du verbe: doit (« shall ») pour exigences obligatoires peut (« should ») pour exigences optionnelles L’exigence doit contenir un critère de succès ou une autre indication mesurable de la qualité. L’exigence doit décrire ce qui doit être fait, et non (prématurément) comment le faire. Peut dépendre du niveau d’abstraction… 4

SEG3501 (Automne 2016). Écriture de meilleures exigences Exemple d’une bonne exigence utilisateur Votre défi consiste à définir le sujet, le résultat attendu, et la mesure de succès pour chaque exigence! 5 “Le système doit permettre à l’utilisateur d’accéder au solde de son compte en moins de 5 secondes.” Définit le sujet Définit un résultat positifCritère de qualité Verbe doit ou peut

SEG3501 (Automne 2016). Écriture de meilleures exigences Exemple d’une mauvaise exigence utilisateur 6 “L’utilisateur Internet voit rapidement le solde de de son compte sur l’écran du portable.” Pas d’exigence sur l’utilisateur Critère de qualité vagueComment plutôt que Quoi Pas de verbe doit ou peut

SEG3501 (Automne 2016). Écriture de meilleures exigences Normes pour les mots clés Certaines normes cherchent à standardiser l’utilisation des verbes et adjectifs clés dans leurs documents. Exemple: IETF RFC 2119: Key words for use in RFCs to Indicate Requirement LevelsIETF RFC 2119 MUST, REQUIRED or SHALL: mean that the definition is an absolute requirement of the spec. (doit) MUST NOT or SHALL NOT: absolute prohibition (ne doit pas) SHOULD or RECOMMENDED: think twice about not doing it! (devrait) SHOULD NOT or NOT RECOMMENDED: think twice about doing it! (ne devrait pas) MAY or OPTIONAL: truly optional (peut) 7

SEG3501 (Automne 2016). Écriture de meilleures exigences Qualités des exigences Selon IEEE-STD et autres, chacune des exigences: Doit être valide/nécessaire (une exigence réelle) Doit être réalisable (considérant les ressources disponibles) Doit être vérifiable /testable Doit être exprimée d’une façon claire, concise et cohérente Doit être non-ambiguë Devrait être uniquement identifiable Devrait avoir un bénéfice qui l’emporte sur les coûts qu’elle engendre Devrait être importante dans la solution du problème Devrait être en concordance avec les standards et pratiques Devrait mener à un système de qualité Ne devrait pas sur-contraindre le système Devrait être modifiable (car elle va évoluer) 8

SEG3501 (Automne 2016). Écriture de meilleures exigences Quelques lignes de conduite (1/4) Ne pas concevoir prématurément le système Indiquez plutôt ce que le système doit faire, et non comment le faire Signes de sur-spécification: utilisation de noms de composants, de matériaux, de champs du système… La conception prématurée peut mener à des coûts plus élevés en éliminant trop tôt des alternatives qui seraient plus efficaces. Ne pas mélanger différents types d’exigences Évitez de mélanger exigences utilisateur, système, et de processus 9

SEG3501 (Automne 2016). Écriture de meilleures exigences Exemple Test: quoi versus comment… 10 Le système doit utiliser Microsoft Outlook pour envoyer un courriel au client qui contient la confirmation d’achat. Le système doit informer le client que l’achat est confirmé. X

SEG3501 (Automne 2016). Écriture de meilleures exigences Quelques lignes de conduite (2/4) Ne laissez pas de clauses échappatoires Pourraient mener à des problèmes de test Évitez si possible si, mais, sauf, excepté, à moins que/de, cependant Cependant, ces termes peuvent être utiles si d’énumérer tous les cas spécifiques est difficile. Évitez les ambiguïtés Évitez les définitions pauvres (seulement des exemples) L’utilisation des mots ou/et car ils peuvent porter à confusion (en l’absence de parenthèses)… Évitez les « etc. », « ainsi de suite », etc. 11

SEG3501 (Automne 2016). Écriture de meilleures exigences Exemple Évitez les termes vagues Plusieurs mots utilisés informellement pour indiquer des qualités sont trop vagues pour être vérifiés Par exemple: convivial, hautement versatile, flexible, autant que possible, approximativement, impact minimal 12 Le système SimplEntrée doit être facile à utiliser et demander un minimum de formation sauf pour le mode professionnel X

SEG3501 (Automne 2016). Écriture de meilleures exigences Quelques lignes de conduite (3/4) N’écrivez pas d’exigences multiples Une exigence par phrase Évitez les conjonctions et, ou, avec, ainsi que Évitez les termes archaïques Évitez les références à des documents inaccessibles 13 Le module de Navigation de SimplEntrée doit contenir la commande et les communications, le traitement, les résultats et les rapports. Le module de Commande doit être intégré au système Intranet et les résultats emmagasinés dans le dossier client. X

SEG3501 (Automne 2016). Écriture de meilleures exigences Quelques lignes de conduites (4/4) Évitez les termes spéculatifs Les exigences ne sont pas une liste de souhaits! Évites les généralisations vagues Signes de dangers: habituellement, généralement, souvent, normalement, typiquement Éviter d’inclure des suggestions ou possibilités. Des suggestions qui ne sont pas explicitement émises comme exigences sont invariablement ignorées par les développeurs Indiquées par des termes tels que: peut, pourrait, devrait, peut-être, probablement 14

SEG3501 (Automne 2016). Écriture de meilleures exigences Exemple Évitez d’être irréalistes Ne demandez pas l’impossible! Termes symptomatiques: fiable à 100%, sécuritaire, gère toutes les erreurs, fonctionne sur toutes les plateformes. 15 Le système SimplEntrée peut être complètement adaptable à toute situation et souvent ne requiert pas de configuration. X

SEG3501 (Automne 2016). Écriture de meilleures exigences Quelques tests simples… Test Quoi versus Comment Spécifie comment faire quelque chose au lieu de quoi faire (sur- spécification) Exemple: une exigence peut spécifier une équation différentielle qui doit être résolue, mais elle ne devrait pas mentionner qu’une approche Runge-Kutta de 4e ordre devrait être employée. Test Qu’est-ce qui est éliminé Est-ce que l’exigence prend une décision (si aucune alternative n’est éliminée, alors aucune décision n’a réellement été prise)? Exemple: une exigence particulière pourrait déjà être couverte par une exigence plus générale. Test par Négation Si la négation d’une exigence représente une vue que quelqu’un pourrait supporter, alors la décision originale est probablement significative. Exemple: “Le logiciel doit être fiable” échouerait ce test. [Source: Spencer Smith, McMaster U.] 16

SEG3501 (Automne 2016). Écriture de meilleures exigences Spécification: Erreurs fréquentes Bruit La présence de texte qui n’apporte aucune information pertinente. Silence Une fonction qui n’est pas discutée par aucun document. Sur-spécification Texte qui décrit une solution plutôt que le problème. Contradiction Texte qui décrit une fonction de plusieurs façons incompatibles. Ambiguïté Texte qui peut être interprété d’au moins deux façons. Souhait irréaliste Texte qui définit un fonction qui ne peut pas être vérifiable. Casse-tête Répartition d’exigences au sein de plusieurs documents, avec références croisées. Terminologie incohérente Inventer/changer la terminologie Rendre la vie des développeurs difficile Demander au lecteur un effort pour déchiffrer ce qui est demandé Écrire pour des lecteurs hostiles Il y en a moins que des lecteurs amis! 17 Source: Steve Easterbrook, U. de Toronto

SEG3501 (Automne 2016). Écriture de meilleures exigences Évaluez ces exigences 18 1.Le système d’acquisition permet la saisie et le traitement rapide, convivial, et efficace des commandes. 2.Factures et reçus doivent être faxés automatiquement la nuit, afin que les clients puissent les recevoir dès le matin. 3.Le système doit pouvoir être mis à jour d’un seul coup. Suggérez des améliorations lorsque nécessaire.

SEG3501 (Automne 2016). Écriture de meilleures exigences Évaluez ces exigences 19 Suggérez des améliorations lorsque nécessaire. 1.Le module d’Entrée des Commande doit être entièrement intégré au Système Intranet et les résultats doivent être emmagasinés dans l’enregistrement du client. 2.L’interface utilisateur doit être simple à utiliser. 3.Les données de l’utilisateur doivent autant que possible être obtenues automatiquement de l’estimé T&M.

SEG3501 (Automne 2016). Écriture de meilleures exigences N’oubliez pas... Question clé: “Pourquoi?” ou “Quel est le but de cette exigence?” Caractéristiques essentielles Nécessaire Réalisable Vérifiable 20