Cours 5 La Spécification PDF
Document Details
Uploaded by FlatterSatellite
Ali EL MEZOUARY
Tags
Summary
This document provides a detailed explanation of Software Engineering module 9, including object-oriented programming (OOP) concepts and analysis. It focuses on the process of creating software specifications. Chapter 2 covers topics like requirements elicitation, use-case modeling, and formal specification.
Full Transcript
Module 9 :Programmation objet Analyse et conception Ali EL MEZOUARY – [email protected]...
Module 9 :Programmation objet Analyse et conception Ali EL MEZOUARY – [email protected] objet Cours 5 : Analyse et spécification − Analyse : de la perception réelle vers la représentation ◦ L'analyse consiste sur la base d'un cahier de charge de modéliser les acteurs et le système en ne s'intéressant pas à l'implémentation. On parle d'approche métier : QUI (acteurs) fait QUOI (système) − Conception : de la représentation vers la représentation du prototype La conception consiste sur la base de l'analyse à modéliser la Cours Génie Logiciel Copyright @ A. EL mezouary réalisation informatique. On parle d'approche informatique : COMMENT ? 2 1 Objectifs du cours − Etre capable d’exprimer les besoins d’un logiciel d’une manière formelle (en exigences) − Apprendre un modèle de spécification bien formée des spécifications − Utiliser les diagramme de cas d’utilisation pour modéliser les spécifications fonctionnelle Cours Génie Logiciel Copyright @ A. EL mezouary 3 Section 2 : Modèle de Section 1 : spécifications spécification textuelle Section 3 : Modèle des cas Section 4 : d’utilisation Modélisation Cours Génie Logiciel Copyright @ A. EL mezouary avancée des cas d’utilisation 4 2 Section 1 : spécification Cours Génie Logiciel Copyright @ A. EL mezouary 5 Chapitre 2 : La spécification Section 1 : Spécification Introduction − Avant de coder, il nécessaire de savoir ce qu’on va coder et pourquoi le codes − Les besoins sont un ensemble d’éléments qui doivent être implémentés − Ces besoins doivent être exprimés sous forme des exigences selon une méthode bien définie − Des besoins incomplets sont une des principales raisons d’échec des projets de développement Cours Génie Logiciel Copyright @ A. EL mezouary 6 3 Chapitre 2 : La spécification Section 1 : Spécification Types de besoins Besoins Besoins non fonctionnels fonctionnels Qui doit faire le Contraintes système Exigence ou choix Le système du point techniques Cours Génie Logiciel Copyright @ A. EL mezouary de vue de son utilisation 7 Chapitre 2 : La spécification Section 1 : Spécification De besoins client à la spécification − La spécification en exigence établit ce que le système doit faire (le QUOI) et les contraintes sous lesquelles il doit opérer. − La spécification en exigence est l’expression formelle des besoins − Des spécifications de natures diverses → Spécification externe/fonctionnelle qui exprime comment est le système d’un point de vue utilisateur » Concerne les utilisateurs non informaticiens, des décideurs → Spécification interne/technique qui exprime comment le système Cours Génie Logiciel Copyright @ A. EL mezouary d’un point de vue interne (technique, technologie, etc.) » Concerne les concepteurs, des personnels techniques 8 4 Chapitre 2 : La spécification Section 1 : Spécification Exemples des spécifications − Spécifications fonctionnelles du bibliothèque en ligne → < afficher la liste des ouvrage suivant une discipline > → < assurer une réservation d’un ouvrage à une date antérieure > − Spécifications non fonctionnelles → < développer la bibliothèque en ligne en utilisant J2EE > → < si le logiciel peut utiliser sur les appareils mobiles> − Quelques Spécifications du domaines Cours Génie Logiciel Copyright @ A. EL mezouary → < l’étudiant ne peut pas réserver /emprunter plus d’un ouvrage en même temps> → < l’étudiant ne peut pas emprunter deux ouvrage par semaine> 9 Chapitre 2 : La spécification Section 1 : Spécification Recensement des spécifications − Le recensement des spécifications est une activité difficile à cause des plusieurs facteurs Problèmes de Les développeurs et le client ne parlent pas le compréhension même langage conflits Problèmes humains Rétention d’information Cours Génie Logiciel Copyright @ A. EL mezouary Une spécification valide peut ne plus l’être Problème de volatilité après une courte période Savoir l’étendue d’une spécification Problème de portée A quel sous-système elle appartient? 10 5 Chapitre 2 : La spécification Section 1 : Spécification Recensement des spécifications − Devers sources de recensement sont : Personnes ayant une Utilisateurs directs relation avec le logiciel Autre systèmes avec lesquels va interagir le Objectif métier logiciel Cours Génie Logiciel Copyright @ A. EL mezouary Contraintes juridiques, Le matériel sur lequel va administratives et installer le logiciel techniques 11 Chapitre 2 : La spécification Section 1 : Spécification Recensement des spécifications − Les moyens de recensements sont de plusieurs types Ateliers Questionnaire Analyse des systèmes et interviews des documents actuels Cours Génie Logiciel Copyright @ A. EL mezouary Glossaires 12 6 Chapitre 2 : La spécification Section 1 : Spécification Processus d’élaboration des spécifications Validation Étude de Explicitation Spécifications des faisabilité des besoins spécifications Cours Génie Logiciel Copyright @ A. EL mezouary 13 Chapitre 2 : La spécification Section 1 : Spécification Étude de faisabilité − L’étude de faisabilité dresse une vue d’ensemble sur les possibilités de développement du logiciel → Cette étude fait appel aux points de vue des concepteurs et des développeurs de l’équipe de développement → Le rapport obtenu sert à décider si le développement du système est possible ou si il doit être suspendu − Généralement cette étude est courte, elle consiste à répondre à la question principale suivante : Cours Génie Logiciel Copyright @ A. EL mezouary → Est-ce que le système peut être développé à l’aide des compétences, les technologies existantes et dans le cadre budgétaire et les contraintes temporelles fixées ? 14 7 Chapitre 2 : La spécification Section 1 : Spécification Explicitation des besoins − Une fois que l’étude de faisabilité a donné lieu d’une réponse positive, on doit alors expliciter et analyser les besoins. − Il s’agit de → Identifiant d’abord, les personnes affectées par le système et éventuellement les systèmes connexes → Recenser en suite, les besoins de chaque personnes → En suite, Classifier et une organiser ces besoins ; → Aussi, négocier ces besoins par ordre d’importance, pour résoudre les Cours Génie Logiciel Copyright @ A. EL mezouary conflits → En fin, de rédiger une documentation de ces besoins. 15 Chapitre 2 : La spécification Section 1 : Spécification Explicitation des besoins − Il faut identifier les utilisateurs du système. → définir le point de vue sur le système de chacun − On peut classifier ses points de vue en deux catégories : → Celui des personnes qui interagissent avec le système → Celui des personnes qui ont une relation indirecte avec le système ; − En fonction de ses points de vue, différentes formes de besoins apparaissent. Cours Génie Logiciel Copyright @ A. EL mezouary 16 8 Chapitre 2 : La spécification Section 1 : Spécification Spécification − Les langages naturels sont souvent utilisés pour spécifier les besoins. − Malheureusement, ces langages peuvent engendrer plusieurs problèmes : → Ambiguïtés : plusieurs sens d'un même mot selon les personnes ou les contextes → Contradictions, oublis, redondances difficiles à détecter → Difficultés à trouver une information Cours Génie Logiciel Copyright @ A. EL mezouary → Mélange entre les niveaux d'abstraction (spécification vs conception) 17 Chapitre 2 : La spécification Section 1 : Spécification Spécification Autres langages de spécification que les langages naturels − Langages naturels structurés : → modèles de document et règles de rédaction précis et documentés → Pseudo-code : description algorithmique de l'exécution d'une tâche − Langages semi-formels : → Notation graphique : diagrammes accompagnés de texte structuré, donnant une vue statique ou dynamique du système − Langages formels : Cours Génie Logiciel Copyright @ A. EL mezouary → Formalisme mathématique : propriétés logiques ou modèle du comportement du système dans un langage mathématique 18 9 Chapitre 2 : La spécification Section 1 : Spécification Validation des spécifications − La validation des spécification est la dernière activité dans le processus de spécification, il a pour but de vérifier que les besoins explicités correspondent effectivement à ceux des utilisateurs (en particulier le client). − Faire suspendre le processus de développement juste avant l’activité de conception, afin de relecture et réviser le cahier de charges. → Filtrer les erreurs possibles sur le cahier de charges, avant d’entamer les activités conception, développement, Cours Génie Logiciel Copyright @ A. EL mezouary → Plus tôt une erreur est détectée et moins elle coûte 19 Chapitre 2 : La spécification Section 1 : Spécification Validation des spécifications : points de vérification − Vérification de la validité : une fois ses besoins explicités, il se peut qu’un utilisateur revienne sur ses déclarations et ré-exprimé ses besoins différemment. − Vérification de la cohérence : les besoins exprimés dans le cahier des charges ne doivent pas être contradictoires. − Vérification de la complétude : le cahier des charges doit, tant que possible, contenir la totalité des besoins des acteurs. − Vérification du réalisme : on doit vérifier que les besoins peuvent Cours Génie Logiciel Copyright @ A. EL mezouary être effectivement satisfaits à l’aide de la technologie existante et en respectant le budget et les délais fixés. 20 10 Chapitre 2 : La spécification Section 1 : Spécification Processus d’expression formelle de besoins − Généralement deux modèles pour la spécification Modèles de formelle de besoins : spécifications → Le modèle de spécifications textuelle → Le modèle de cas d’utilisation Modèles de spécifications expression textuelle + formelle de Produit Cours Génie Logiciel Copyright @ A. EL mezouary besoins Modèle de cas d’utilisation (UML) 21 Chapitre 2 : La spécification Section 1 : Spécification Processus d’expression formelle de besoins − Le modèle de spécifications textuelle convient aussi bien pour les spécifications fonctionnelles que les spécifications non fonctionnelles − Le modèle de cas d’utilisation s’adapte mieux aux spécifications fonctionnelles − Souvent dans le modèle de spécifications textuelle on utilise des langages naturels − Le modèle de cas d’utilisation est basé sur le diagramme de cas Cours Génie Logiciel Copyright @ A. EL mezouary d’utilisation 22 11 Chapitre 2 : La spécification Section 2 : Modèle de spécifications textuelle Cours Génie Logiciel Copyright @ A. EL mezouary 23 Section 2 : Modèle de Chapitre 2 : La spécification spécifications textuelle Modèle de spécifications − Le modèle de spécification textuelle est un ensemble de phrases bien formées (respectant une certaine formulation) et numérotées où chaque phrase est appelée spécification − Chaque spécification a un numéro unique − Une spécification décrit une seule fonction du système − Il est important de séparer entre les spécifications fonctionnelles et les spécification non fonctionnelles Cours Génie Logiciel Copyright @ A. EL mezouary 24 12 Section 2 : Modèle de Chapitre 2 : La spécification spécifications textuelle Directives pour l’écriture de spécification −Chaque spécification doit être une phrase complète. −Chaque spécification 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 une spécification obligatoires → peut (« should ») pour spécification optionnelles −La spécification doit contenir un critère de succès ou une autre indication mesurable de la qualité. Cours Génie Logiciel Copyright @ A. EL mezouary −La spécification doit décrire ce qui doit être fait, et non comment le faire. 25 Section 2 : Modèle de Chapitre 2 : La spécification spécifications Spécifications bien formées − La formulation d’une spécification fonctionnelle obligatoire est de genre : Identifiant de la Nom du système spécification (id) (système/utilisateur) doit (fonction) Cours Génie Logiciel Copyright @ A. EL mezouary Description de la fonction 26 13 Section 2 : Modèle de Chapitre 2 : La spécification spécifications Spécifications bien formées − La formulation d’une spécification fonctionnelle optionnelle est de genre : Identifiant de la Nom du système spécification (id) (système/utilisateur) peut (fonction) Cours Génie Logiciel Copyright @ A. EL mezouary Description de la fonction 27 Section 2 : Modèle de Chapitre 2 : La spécification spécifications Exemple d’une bonne spécification Définit le sujet Verbe doit ou peut “Le système doit permettre à l’utilisateur d’accéder au solde de son compte en moins de 5 secondes.” Définit un résultat positif Critère de qualité −Cette exigence identifie un sujet spécifique ainsi qu’un résultat attendu dans un délai maximal donné et mesurable. Cours Génie Logiciel Copyright @ A. EL mezouary −Votre défi consiste à définir le sujet, le résultat attendu, et la mesure de succès pour chaque exigence! 28 14 Section 2 : Modèle de Chapitre 2 : La spécification spécifications Exemple d’une mauvaise spécification Exemple d’une mauvaise exigence utilisateur Pas d’exigence sur l’utilisateur Pas de verbe doit ou peut “L’utilisateur Internet voit rapidement le solde de de son compte sur l’écran du portable.” Cours Génie Logiciel Copyright @ A. EL mezouary Critère de qualité vague Comment plutôt que Quoi 29 Section 2 : Modèle de Chapitre 2 : La spécification spécifications Spécifications bien formées : Exemples − Spécifications fonctionnelles : → 1) La bibliothèque en ligne doit authentifier chaque utilisateurs → 2) La bibliothèque en ligne doit valider le nom et le mot de passe d’un utilisateur → 3) la bibliothèque doit permettre d’afficher un catalogue des ouvrages − Spécification non fonctionnelles → 1) La bibliothèque en ligne peut être développer avec le langage Java → 2) La bibliothèque en ligne doit valider le nom et le mot de passe d’un Cours Génie Logiciel Copyright @ A. EL mezouary utilisateur en moins de 02 seconds → 3) la bibliothèque doit permettre d’emprunter au maximum trois ouvrages pour chaque étudiant 30 15 Section 2 : Modèle de Chapitre 2 : La spécification spécifications Priorités des spécifications − Lorsque les spécifications sont très nombreuses (cas d’un système moyenne ou grande taille ), il est important d’accorder une priorité pour chaque spécifications − Une telle priorité permet de sélectionner les spécifications les plus importantes − La priorité peut être une valeur entre (1 et 5) − Une autre technique utilisée pour attribuer les priorités aux spécifications est la technique MoSCoW Cours Génie Logiciel Copyright @ A. EL mezouary 31 Section 2 : Modèle de Chapitre 2 : La spécification spécifications Priorités des spécifications : technique MoSCoW Priorité Signification Spécification obligatoire et fondamentale du M (Must have) système Spécification importante qui peut être omise sous S (Should have) certaines conditions C (Could have) Spécification optionnelle , réaliser si on a le temps Cours Génie Logiciel Copyright @ A. EL mezouary Spécification qui peut attendre les dernières W (Could to have) livraisons du système 32 16 Section 2 : Modèle de Chapitre 2 : La spécification spécifications Attributs de spécifications − D’autres attributs peuvent être ajouter pour enrichir les spécifications Attribut Signification Proposé : en cours de discussion, pas encore validé Approuvé : validé et attend d’être implémenté Etat Rejeté : rejeté et n’attendra pas son implémentation Incorporé : spécification qui a été implémentée durant une livraison Cours Génie Logiciel Copyright @ A. EL mezouary Critique : la spécification doit être implémentée sinon le système n’est pas accepté Important : la spécification peut être omise mais son omission Criticisme affecterait considérablement l’utilisabilité du système Utile : la spécification peut être omise et son omission n’a pas un grand impact sur le système 33 Section 2 : Modèle de Chapitre 2 : La spécification spécifications Attributs de spécifications Attribut Signification Estimation approximative des ressources et de temps Effort nécessaire pour la spécification Risque Risque relative à cette spécification : élevé, moyen, bas Stabilité La probabilité que cette spécification change dans le temps Cours Génie Logiciel Copyright @ A. EL mezouary Cible La version du produit dont laquelle la spécification est planifiée Description Une description détaillée de la fonctionnalité 34 17 Section 3 : Modèle des cas Cours Génie Logiciel Copyright @ A. EL mezouary d’utilisation 35 Section 3 : Modèle de cas Chapitre 2 : La spécification d’utilisation Processus de recensement de cas d’utilisation Limiter le Recenser les système cas (sujet) d’utilisations Cours Génie Logiciel Copyright @ A. EL mezouary Identifier les acteurs 36 18 Section 3 : Modèle de cas Chapitre 2 : La spécification d’utilisation Limiter le système − La première chose à faire pour élaborer un modèle de cas d’utilisations est de limiter le domaine d’activité représentant le système. − Du point de vue réel, cette activité n’est pas assez simple à établir − Pour simplifier cette activité, les questions sur lesquelles à répondre sont → Qu’est-ce qui fait partie du système ? → Qu’est-ce qui externe au système ? Cours Génie Logiciel Copyright @ A. EL mezouary 37 Section 3 : Modèle de cas Chapitre 2 : La spécification d’utilisation Limite du système – notation UML − La représentation du UML pour un système est sous forme d’un rectangle contenant le nom du système en haut Commande en ligne Limite du système Cours Génie Logiciel Copyright @ A. EL mezouary Note 38 19 Section 3 : Modèle des cas Chapitre 2 : La spécification d’utilisation Identification des acteurs − Les questions à posées et utiles pour l’identification des acteurs → Qui utilise le système ? → Qui installe le système ? → Qui démarre ou arrête le système ? → Quels s sont les système qui interagissent avec le système ? → Qui fournit les données au système ? → Quels sont les évènement qui ont lieu à un moment donné ? Cours Génie Logiciel Copyright @ A. EL mezouary 39 Section 3 : Modèle des cas Chapitre 2 : La spécification d’utilisation Cas d’utilisation − Un Cas d’utilisation : « use case » représente un ensemble de séquences d’actions qui sont réalisées par le système et qui produisent un résultat observable intéressant pour un acteur particulier − Chaque cas d’utilisation spécifie un comportement attendue du système, sans imposer le mode de réalisation de ce comportement. − Il permet de décrire ce que le future système devra faire, sans spécifier comment le fera Cours Génie Logiciel Copyright @ A. EL mezouary 40 20 Section 3 : Modèle des cas Chapitre 2 : La spécification d’utilisation Cas d’utilisation − Les cas d’utilisation est une technique de capturer les besoins fonctionnelles du système − Ils reflètent les interactions entre les acteurs du système et le système lui-même − un cas d’utilisation est un document narratif qui décrit la séquence d’évènements dans laquelle un acteur utilise le système pour accomplir un processus. − Les cas d’utilisation sont une forme de requis ou de spécifications Cours Génie Logiciel Copyright @ A. EL mezouary fonctionnelles ou comportementales du système → Les cas d’utilisation illustrent et impliquent les requis. 41 Section 3 : Modèle des cas Chapitre 2 : La spécification d’utilisation Cas d’utilisation : Erreurs commune − Etant donné que un cas d’utilisation est → Une description relativement longue → Allant du début à la fin d’un processus → Comportant plusieurs étapes ou transactions. − Alors, l’erreur à ne pas faire lors de la définition des cas d’utilisation est de représenter des étapes individuelles, des opérations de base ou des transactions comme des cas d’utilisation. → Une simple étape dans un processus n’est pas un cas d’utilisation Cours Génie Logiciel Copyright @ A. EL mezouary 42 21 Section 4 : Modélisation avancée des cas d’utilisation Quelques règles concernant les cas d’utilisation − Les acteurs doivent être appelés en utilisant leur rôle au singulier, et non pas au pluriel − Ne pas schématiser la communication entre acteurs − Ne pas montrer le comportement, plutôt la fonctionnalité − Les diagrammes ne doivent pas être trop encombrés. Au maximum 12 cas d’utilisation par diagramme − Tous les cas d’utilisation doivent avoir le même niveau d’abstraction − Si les cas d’utilisation sont trop grands, utiliser les inclusions, les Cours Génie Logiciel Copyright @ A. EL mezouary extensions, et les généralisations 43 Section 3 : Modèle des cas Chapitre 2 : La spécification d’utilisation Recenser les cas d’utilisation − Il n’existe pas des techniques systématiques pour l’identification des cas d’utilisation − Pour chaque acteur , il convient de : → Rechercher les différentes intentions métiers avec lesquelles il utilise le système, comment il se sert du système, dans quels cas il l'utilise, et à quelles fonctionnalités il doit avoir accès. → Obtenir dans le cahier de charges les besoins fonctionnels attendus du système les plus pertinents Cours Génie Logiciel Copyright @ A. EL mezouary − Chaque cas d’utilisation correspond à une fonction métier du future système, selon le point de vue d’un de ses acteurs 44 22 Section 3 : Modèle des cas Chapitre 2 : La spécification d’utilisation Diagramme de cas d’utilisation − L’ensemble des cas d’utilisation doit décrire exhaustivement les exigences fonctionnelles du système − Il faut éviter les redondances et limiter le nombre de cas en se situant au bon niveau d'abstraction (par exemple, ne pas réduire un cas à une seule action). − Il ne faut pas faire apparaître les détails des cas d'utilisation, mais il faut rester au niveau des grandes fonctions du système. Cours Génie Logiciel Copyright @ A. EL mezouary Trouver le bon niveau de détail pour les cas d'utilisation est un problème difficile qui nécessite de l'expérience. 45 Section 3 : Modèle des cas Chapitre 2 : La spécification d’utilisation Exemple de diagramme de cas d’utilisation Boutique en ligne Rechercher un produit Rechercher un produit afficher détails Agent produit Valider prix après-vente Cours Génie Logiciel Copyright @ A. EL mezouary Client produit Consulter commande 46 23 Section 3 : Modèle des cas Chapitre 2 : La spécification d’utilisation Diagramme de contexte − Le diagramme de de cas d’utilisation primaires d’un système appelé aussi le diagramme de contexte − Ceci permet de voir rapidement les principales fonctions d’un système. − Plus particulièrement, le diagramme de contexte définit: → Les limites du système modélisé. → Les principaux acteurs du modèle. → Les cas d’utilisation primaires. Cours Génie Logiciel Copyright @ A. EL mezouary 47 Section 3 : Modèle des cas Chapitre 2 : La spécification d’utilisation Description textuel le de cas d’utilisation Les cas d’utilisation peuvent être spécifiés avec différents niveaux de détail − Description format haut niveau: → Abrégé, peu détaillé (intitulé du cas d’utilisation, acteurs principaux) → Plus une brève description − Description format étendu: → Très détaillé → Description complète du scénario principal et des scénarios alternatifs Cours Génie Logiciel Copyright @ A. EL mezouary → Précondition et post-conditions 48 24 Section 3 : Modèle des cas Chapitre 2 : La spécification d’utilisation Description textuel de cas d’utilisation − Description textuelle format haut niveau d’un cas d’utilisation Cas d’utilisation Intitulé de cas d’utilisation Acteurs principaux Liste des acteurs principaux Cours Génie Logiciel Copyright @ A. EL mezouary Une description brève du cas Description d’utilisation 49 Section 3 : Modèle des cas Chapitre 2 : La spécification d’utilisation Description textuel du cas d’utilisation − Exemple : Cas d’utilisation Commander un produit Cas d’utilisation Commander un produit Acteurs principaux Client Un client connecter sur le site Cours Génie Logiciel Copyright @ A. EL mezouary Description Boutique en ligne peut commander un produit existant sur le site 50 25 Section 3 : Modèle des cas Chapitre 2 : La spécification d’utilisation Description textuel du cas d’utilisation − Description textuelle format étendu d’un cas d’utilisation Cas d’utilisation Intitulé de cas d’utilisation Description Une description brève du cas d’utilisation Acteurs principaux Liste des acteurs qui peuvent déclencher le CU Acteurs secondaires Liste des acteurs qui peuvent interagir avec le CU Conditions avant le début du scénario (l’état de système avant Préconditions que le CU ne démarre, ils doivent être vraies) Cours Génie Logiciel Copyright @ A. EL mezouary Scénario principal Une succession d’actions du début à la fin du cas d’utilisation Conditions qui doivent être vraies lorsque le cas d’utilisation se Post-conditions termine avec succès. Enchainements Des enchainements qui s’exécutant sous certaines conditions et alternatifs qui reprennent à une étape du scénario nominal 51 Section 3 : Modèle des cas Chapitre 2 : La spécification d’utilisation Description textuel du cas d’utilisation − Un enchainement appelé aussi scénario est une suite d’actions numérotés décrivant le cas d’utilisation − Le premier action d’un enchainement principal est formulée comme ceci : → Le « CU » est démarre quand « l’acteur » « fonction» − De la même façon les autres actions sont formulées comme ceci : → « quelque chose/quelqu’un » « fonction» − Les cas d’utilisation suivent généralement un enchainement Cours Génie Logiciel Copyright @ A. EL mezouary séquentiel mais peut avoir des déviations ou des interruptions à ce moment on parle de enchainements alternatifs 52 26 Section 3 : Modèle des cas Chapitre 2 : La spécification d’utilisation Description textuel du cas d’utilisation − Exemple de description format détaillé d’un cas d’utilisation Cas d’utilisation Se connecter au Boutique en ligne Se connecter au site de Boutique en ligne afin de gérer ou Description éventuellement manipuler les produits Acteurs principaux Les utilisateurs de Boutique en ligne Cours Génie Logiciel Copyright @ A. EL mezouary Acteurs Aucun secondaires Préconditions L’utilisateur doit avoir un compte sur boutique en ligne 53 Section 3 : Modèle des cas Chapitre 2 : La spécification d’utilisation Description textuel du cas d’utilisation 1 – Le cas d’utilisation démarre quant un utilisateur clique sur le bouton « se connecter » 2 – l’utilisateur entre son nom d’utilisateur dans la zone « login » Scénario principal 3 – l’utilisateur entre son mot de passe dans la zone « mot de passe » 4 – l’utilisateur clique sur le bouton « connexion » 5 – le système vérifie la validité de nom d’utilisateur et de mot de passe Cours Génie Logiciel Copyright @ A. EL mezouary Post-conditions L’utilisateur accède à son compte En (2) si le nom d’utilisateur est erronées, il est redemandé à Enchainements l’internaute alternatifs En (3) si le mot de passe est erronées, il est redemandé à l’internaute 54 27 Section 3 : Modèle des cas Chapitre 2 : La spécification d’utilisation Description textuel du cas d’utilisation − Exemple d’un mauvaise formulation d’un enchainement « Les information de l’utilisateur sont entrées et vérifiées » → Qui entre les information ? → Dans quoi ? → Quelles sont ces informations ? − Donc il faut répondre avec précision aux question : qui , quand, quoi et ou ? Cours Génie Logiciel Copyright @ A. EL mezouary 55 Section 3 : Modèle des cas Chapitre 2 : La spécification d’utilisation Description textuel du cas d’utilisation − Les enchainements alternatifs décrivent souvent des actions très complexes − Un enchainement alternatif peut démarrer à n’importe quel moment → Après une étape N de l’enchainement principal » Ex : Introduire un espace dans le nom d’utilisateur → L’utilisateur peut déclencher un enchainement alternatif » Ex : réinitialiser les zones de saisi Cours Génie Logiciel Copyright @ A. EL mezouary − Eviter de donner trop des scénarios alternatifs 56 28 Section 3 : Modèle des cas Chapitre 2 : La spécification d’utilisation Description textuel du cas d’utilisation − Une solution pour ne pas avoir plusieurs des enchainements alternatifs consiste à contrôler l’enchainement principal par l’introduction des structures de contrôles → Contrôle conditionnel par la structure Si → Répétition pour tous les éléments d’un ensemble par la structure Pour → Répétition conditionnelle par la structure Tantque Cours Génie Logiciel Copyright @ A. EL mezouary 57 Section 3 : Modèle des cas Chapitre 2 : La spécification d’utilisation Description textuel du cas d’utilisation − Exemple Online Picture Créer un album Rechercher des photos Se connecter internaute Cours Génie Logiciel Copyright @ A. EL mezouary Publier l’album Supprimer une photo dans album 58 29 Section 4 : Modélisation avancée des cas d’utilisation Synthèse − La notion de spécification recouvre différents aspects fonction du point de vue adopté sur le système. − Définir une spécification, c’est expliciter des besoins de la façon la plus méthodique, complète et cohérente possible. − Une spécification se développe, se vérifie, et évolue. − Elle se concrétise sous la forme d’un cahier des charges qui dirigent la conception du système et sert de contrat entre les différentes parties. Cours Génie Logiciel Copyright @ A. EL mezouary 59 30