SlideShare ist ein Scribd-Unternehmen logo
1 von 83
Cours 4 : Expression des besoins Cours IGLcours 4expression des besoins 1 Mostefai Mohammed Amine – m_mostefai@esi.dz Batata Sofiane – s_batata@esi.dz
Permettre à l’étudier de pouvoir exprimer les besoins d’un logiciel d’une manière formelle Apprendre le modèle de spécifications bien formées des spécifications Utiliser les diagrammes de cas d’utilisation pour modélisation les spécifications fonctionnelle Utiliser les techniques avancées des diagrammes de cas d’utilisation pour produire des diagrammes représentatifs Objectifs du cours 2 Cours 2 – Cycle de vie de logiciels Objectifs du cours
Cours 2 Cycles de vie de logiciels 3 Introduction au génie logiciel
Cours N° 4 Expression des besoins 4 Cours igl Section 1 : Introduction
Section 1 - introduction 5 Cours 4 – Expression des besoins Processus UP Expression des besoins Analyse Conception Implémentation Tests
Avant de coder, il faut savoir ce qu’on va coder et pourquoi le coder Les besoins sont un ensemble d’éléments qui doivent être implémentés Ces besoins doivent être exprimés selon une méthode bien définie Des besoins « incomplets » sont une des principales raisons d’échec des projets de développement Section 1 - introduction 6 Cours 4 – Expression des besoins Introduction
Section 1 - introduction 7 Cours 4 – Expression des besoins Types de besoins
Les spécifications sont l’expression formelle des besoins Une spécification fonctionnelle exprime comment est le système du point de vue utilisateur Une spécification technique exprime comment est le système d’un point de vue interne (technique, technologie,…etc.) Le langage naturel peut être utilisé pour les spécifications fonctionnelles et / ou techniques Section 1 - introduction 8 Cours 4 – Expression des besoins Spécifications
Le recensement des spécifications est une opération difficile à cause des facteurs suivants : Section 1 - introduction 9 Cours 4 – Expression des besoins Recensement des spécifications
Section 1 - introduction 10 Cours 4 – Expression des besoins L’expression de besoins - Processus Modèles des besoins Modèle de spécification (texte) L’expression des besoins Produit Modèle des cas d’utilisation (UML, optionnel)
Section 1 - introduction 11 Cours 4 – Expression des besoins L’expression de besoins - Processus
Section 1 - introduction UP propose deux modèles pour l’expression des besoins : le modèle de spécifications et le modèle des cas d’utilisation Le modèle des spécifications convient aussi bien pour les spécifications fonctionnelles que les spécifications non fonctionnelles Le modèle des cas d’utilisation est basé sur les diagrammes de cas d’utilisation d’UML Le modèle des cas d’utilisation s’adapte mieux aux spécifications fonctionnelles Le modèle de spécifications peut être créé en utilisant un éditeur de texte, un bloc-notes ou un outil dédié 12 Cours 4 – Expression des besoins L’expression de besoins - Processus
Cours N° 4 Expression des besoins 13 Cours igl Section 1 : Débat (05 mns)
Cours N° 4 Expression des besoins 14 Cours igl Section 2 : Modèle de spécifications
Section 2 – Modèle de spécifications Le modèle de spécifications 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 Une spécification peut être fonctionnelle (décrivant un aspect métier) ou non-fonctionnelle (décrivant un aspect technique) Les spécifications peuvent être rédigées en utilisant un éditeur texte ou un outil dédié 15 Cours 4 – Expression des besoins Modèle de spécifications
Section 2 – Modèle de spécifications (id) le (système) doit <fonction> 16 Cours 4 – Expression des besoins Spécifications bien formées Nom du système Identifiant de la spécification Description de la fonction
Section 2 – Modèle de spécifications Exemple Spécifications fonctionnelles : Le système GAB (distributeur) de biller doit vérifier la validité de la carte CIB insérée Le système GAB doit valider le code PIN entré par l’utilisateur Le système doit allouer une somme maximum de 20000 dinars à l’utilisateur Spécifications non fonctionnelles : Le système du GAB doit être écrit en C++ Le système du GAB doit utiliser un cryptage 256 bits pour les données sensibles Le système doit vérifier le PIN en moins de 03 secondes 17 Cours 4 – Expression des besoins Spécifications bien formées
Section 2 – Modèle de spécifications Les systèmes de moyenne et grande taille engendrent un nombre très important de spécifications (de quelques centaines à plusieurs milliers) L’organisation des spécifications permet de les structurer et bien gérer les autres activités de développement L’organisation permet aussi de scinder les spécifications en sous-domaines 18 Cours 4 – Expression des besoins Organisation des spécifications
Section 2 – Spécification formelle des besoins 19 Cours 4 – Expression des besoins Organisation des spécifications - Exemple
Il vaut mieux assigner des priorités aux spécifications La priorité permet de sélectionner les spécifications les plus importantes (par exemple, pour planifier une itération) La priorité peut être un nombre (de 1 à 5) MoSCoW est une méthode permettant d’affecter des priorités aux spécifications Section 2 – Expression des besoins sous up 20 Cours 4 – Expression des besoins Priorités de spécifications
Section 2 – Modèle de spécifications 21 Cours 4 – Expression des besoins Priorités de spécifications – Méthode MoSCoW
Section 2 – Spécification formelle des besoins Les spécifications peuvent être enrichies par d’autres attributs 22 Cours 4 – Expression des besoins Attributs de spécifications
Section 2 – Modèle de spécifications 23 Cours 4 – Expression des besoins Attributs de spécifications
Section 2 – Modèle de spécifications Les sources suivantes servent au recensement des spécifications : 24 Cours 4 – Expression des besoins Recensement des spécifications
Section 2 – Modèle de spécifications Plusieurs moyens sont utilisé pour recenser les spécifications : 25 Cours 4 – Expression des besoins Recensement des spécifications
« Le client parcourt le catalogue de produit et ajoute les produits qui lui plaisent à son panier. Quand le client souhaite finaliser son achat, il fournit ses informations sur sa carte et sur son adresse de livraison. Le système vérifie la carte du client ensuite valide la transaction. » Section 2 – Modèle de spécifications 26 Cours 4 – Expression des besoins Scénario
Section 2 – Modèle de spécifications 27 Cours 4 – Expression des besoins Scénario
Cours N° 4 Expression des besoins 28 Cours igl Section 2 – Modèle de spécifications : Débat (05)Mns
Cours N° 4 Expression des besoins 29 Cours igl Section 3 : Modèle des cas d’utilisation
Section 3 – Modèle des cas d’utilisation 30 Cours 4 – Expression des besoins Processus de recensement
Quelles sont les limites du système ? Qu’est-ce qui fait partie du système et qu’est-ce qui est externe au système ? Décider clairement des limites du système n’est pas aussi évident qu’on le croit La limite du système est aussi appelée « sujet » Section 3 – Modèle des cas d’utilisation 31 Cours 4 – Expression des besoins Limite du système
Section 3 – Modèle des cas d’utilisation 32 Cours 4 – Expression des besoins Limite du système – Notation UML Limite du système Note
Les utilisateurs du système sont appelé « acteurs » Un acteur identifie un rôle pas une personne Un cas d’utilisation peut avoir plusieurs acteurs Un acteur peut être impliqué dans plusieurs cas d’utilisation Un acteur interagit directement avec le système Un acteur peut identifier une entité non humaine : un matériel ou un autre système interagissant avec le système, il est aussi utilisé pour représenter le temps Les acteurs sont externes au système Les acteurs sont nommés en utilisant des noms courts et significatifs Section 3 – Modèle des cas d’utilisation 33 Cours 4 – Expression des besoins Acteurs
Les acteurs peuvent être représentés de plusieurs façons Section 3 – Modèle des cas d’utilisation 34 Cours 4 – Expression des besoins Acteurs
Poser les questions suivantes : Qui ou qu’est-ce qui utilise le système ? Quel est leur rôle dans l’interaction ? Qui installe le système ? Qui démarre ou arrête le système ? Quels sont les systèmes qui interagissent avec ce système ? Qui fournit les informations au système ? Quels sont les évènements qui ont lieu à un moment donné ? Section 3 – modélisation des cas d’utilisation 35 Cours 4 – Expression des besoins Identification des acteurs
Exemple d’un achat en ligne « Le client parcourt le catalogue de produit et ajoute les produits qui lui plaisent à son panier. Quand le client souhaite finaliser son achat, il fournit ses informations sur sa carte et sur son adresse de livraison. Le système vérifie la carte du client ensuite valide la transaction. » D’autres scénarios dérivés peuvent avoir lieu : par exemple le client a une remise ou la carte est invalide. Malgré leur différences, tous ces scénarios forment un seul cas d’utilisation car l’objectif est unique : acheter un produit. Section 3 – modélisation des cas d’utilisation 36 Cours 4 – Expression des besoins Scénario
Les cas d’utilisation sont une technique de capture des besoins fonctionnels du système Les cas d’utilisation décrivent les interactions entre les utilisateurs du système et le système lui-même Les cas d’utilisation est une description “narrative” de comment est utilisé le système Les cas d’utilisation sont basés sur des scénarios qui sont un séquencement des évènements se passant entre l’utilisateur et le système Les cas d’utilisation sont toujours déclenchés par les acteurs Les cas d’utilisation représentent le système du point de vue de l’acteur Section 3 – Modèle des cas d’utilisation 37 Cours 4 – Expression des besoins Cas d’utilisation
Section 3 – Modèle des cas d’utilisation 38 Cours 4 – Expression des besoins Cas d’utilisation
Section 3 – Modèle des cas d’utilisation 39 Cours 4 – Expression des besoins Cas d’utilisation - Création
Section 3 – modélisation des cas d’utilisation 40 Cours 4 – Expression des besoins Le diagramme de cas d’utilisation Relation d’usage Limite du système Cas d’utilisation Acteur
L’acteur principal déclenche le cas d’utilisation (CU) tandis que l’acteur secondaire réagit au CU Généralement, l’acteur principal est dessiné à gauche et le secondaire à droite Section 3 – Modèle des cas d’utilisation 41 Cours 4 – Expression des besoins Acteur principal et secondaire
Section 3 – Modèle des cas d’utilisation 42 Cours 4 – Expression des besoins Documentation d’un cas d’utilisation
Section 3 – Modèle des cas d’utilisation 43 Cours 4 – Expression des besoins Documentation d’un cas d’utilisation
Section 3 – Modèle des cas d’utilisation 44 Cours 4 – Expression des besoins Documentation d’un cas d’utilisation
LES ENCHAÎNEMENTS Un enchaînement est une suite d’actions numérotées La première action est formulée comme ceci : Le CU démarre quand <l’acteur><fonction> Chaque action est formulée comme ceci : <quelque chose / quelqu’un> <fonction> Section 3 – Modèle des cas d’utilisation 45 Cours 4 – Expression des besoins Documentation d’un cas d’utilisation
LES ENCHAÎNEMENTS L’enchaînement principal est une séquence d’évènements décrivant le CU Le CU suit idéalement un enchainement mais peut avoir des déviations, ces déviations sont appelées enchaînement alternatifs Les enchaînements sont aussi appelés scénarios Il existe deux types de déviations : les déviations simples qui sont formalisées dans l’enchaînement et les déviations complexes qui sont formalisées dans un autre enchaînement Section 3 – Modèle des cas d’utilisation 46 Cours 4 – Expression des besoins Documentation d’un cas d’utilisation
LES ENCHAÎNEMENTS - EXEMPLE Le CU démarre quand le client clique sur le bouton « se connecter » Le client entre son nom d‘utilisateur dans la zone « login » Le client entre son mot de passe dans la zone « mot de passe » Le système vérifie la validité du nom d’utilisateur et du mot de passe Section 3 – Modèle des cas d’utilisation 47 Cours 4 – Expression des besoins Documentation d’un cas d’utilisation
LES ENCHAÎNEMENTS – EXEMPLE D’UNE MAUVAISE FORMULATION « Les informations du client sont entrées et vérifiées » Qui entre les informations ? Dans quoi ? Quelles sont ces informations ? Ne pas s’exprimer en voix passive Se poser les questions : qui, quoi, quand et où ? Répondre avec précision. Section 3 – Modèle des cas d’utilisation 48 Cours 4 – Expression des besoins Documentation d’un cas d’utilisation
LES ENCHAÎNEMENTS – CONTRÔLE DE FLUX Pour éviter de créer des enchaînements alternatifs, on peut faire des instructions de contrôle de flux à l’intérieur d’un enchaînement Le mot clé si: contrôle conditionnel Le mot clé pour : répétition pour tous les éléments d’un ensemble Le mot clé tantque : répétition selon une condition Section 3 – Modèle des cas d’utilisation 49 Cours 4 – Expression des besoins Documentation d’un cas d’utilisation
Section 3 – Modèle des cas d’utilisation 50 Cours 4 – Expression des besoins Documentation d’un cas d’utilisation
Section 3 – Modèle des cas d’utilisation 51 Cours 4 – Expression des besoins Documentation d’un cas d’utilisation
Section 3 – Modèle des cas d’utilisation 52 Cours 4 – Expression des besoins Documentation d’un cas d’utilisation
Section 3 – Modèle des cas d’utilisation 53 Cours 4 – Expression des besoins Documentation d’un cas d’utilisation
LES ENCHAÎNEMENTS ALTERNATIFS Les enchaînements décrivent souvent des actions très complexes Les enchaînements alternatifs sont des déviations ou des interruptions des enchaînements principaux Les enchaînements alternatifs peuvent être documentés à l’intérieur de la spécification ou séparément Un enchaînement alternatif peut ne pas revenir à l’enchaînement principal Section 3 – Modèle des cas d’utilisation 54 Cours 4 – Expression des besoins Documentation d’un cas d’utilisation
LES ENCHAÎNEMENTS ALTERNATIFS Les noms des enchaînements alternatifs sont formulés de la manière suivante : Enchaînement Alternatif : NomCU:NomEnchaînementAlternatif L’id de l’enchaînement alternatif obéit à une numérotation hiérarchique. Par exemple, si l’ID un CU est 5, l’id de son premier enchaînement alternatif serait 5.1 Section 3 – Modèle des cas d’utilisation 55 Cours 4 – Expression des besoins Documentation d’un cas d’utilisation
LES ENCHAÎNEMENTS ALTERNATIFS L’EA peut démarrer au lieu de l’enchaînement principal. Dans ce cas, c’est l’utilisateur qui déclenche cette déviation. L’EA peut démarrer après une étape N de l’enchaînement principal « l’EA démarre après l’étape X de l’enchaînement principal » L’EA peut démarrer à n’importe quel moment Section 3 – Modèle des cas d’utilisation 56 Cours 4 – Expression des besoins Documentation d’un cas d’utilisation
LES ENCHAÎNEMENTS ALTERNATIFS Pour chaque CU il y a un seul enchaînement principal et plusieurs EA Eviter de donner trop d’enchaînements alternatifs Regrouper les EA similaires Section 3 – Modèle des cas d’utilisation 57 Cours 4 – Expression des besoins Documentation d’un cas d’utilisation
Section 3 – Modèle des cas d’utilisation 58 Cours 4 – Expression des besoins Documentation d’un cas d’utilisation
Section 3 – Modèle des cas d’utilisation 59 Cours 4 – Expression des besoins Documentation d’un cas d’utilisation
Section 3 – Modèle des cas d’utilisation 60 Cours 4 – Expression des besoins Documentation d’un cas d’utilisation
Section 3 – Modèle des cas d’utilisation 61 Cours 4 – Expression des besoins Documentation d’un cas d’utilisation
Un CU peut décrire une ou plusieurs spécifications Une spécification peut être représentée par un ou plusieurs CU La matrice de traçabilité définit les relations entre les spécifications et les CU Section 3 – Modèle des cas d’utilisation 62 Cours 4 – Expression des besoins Traçabilité des cas d’utilisation
LES CAS D’UTILISATION SONT RECOMMANDÉS QUAND : Le système est dominé par les spécifications fonctionnelles Le système est utilisé par plusieurs utilisateurs Le système a plusieurs interfaces Section 3 – Modèle des cas d’utilisation 63 Cours 4 – Expression des besoins Utilisation des cas d’utilisation
Cours N° 4 Expression des besoins 64 Cours igl Section 3 – Modèle des cas d’utilisation – Débat (05 Mns)
Cours N° 4 Expression des besoins 65 Cours igl Section 4 : Modélisation avancée des cas d’utilisation
Section 4 – modélisation avancée des cas d’utilisation Des acteurs peuvent avoir beaucoup de CU en commun Un acteur peut être différent d’un autre acteur par quelques CU supplémentaires La généralisation répond au souci d’encombrement des diagrammes de CU La généralisation des CU simplifie non seulement la présentation mais aussi la sémantique des CU 66 Cours 4 – Expression des besoins Généralisation des acteurs
Section 4 – modélisation avancée des cas d’utilisation 67 Cours 4 – Expression des besoins Généralisation des acteurs
Section 4 – modélisation avancée des cas d’utilisation 68 Cours 4 – Expression des besoins Généralisation des acteurs Généralisation
Section 4 – modélisation avancée des cas d’utilisation La généralisation des CU quand un CU est un cas spécialisé d’un autre CU 69 Cours 4 – Expression des besoins Généralisation des CU
Section 4 – modélisation avancée des cas d’utilisation 70 Cours 4 – Expression des besoins Généralisation des CU Généralisation
Section 4 – modélisation avancée des cas d’utilisation L’inclusion est une relation entre deux CU (CU1 et CU2). CU 1 est appelé CU de base et CU2 est appelé CU d’inclusion. Quand l’enchaînement arrive au point d’inclusion, CU1 ne s’exécuter que lorsque CU2 s’exécute. L’inclusion évite la répétition 71 Cours 4 – Expression des besoins Inclusion des CU
Section 4 – modélisation avancée des cas d’utilisation Un CU peut avoir plusieurs CU d’inclusion CU ne s’exécute que lorsque tous les CU d’inclusion ont été exécutés 72 Cours 4 – Expression des besoins Inclusion des CU
Section 4 – modélisation avancée des cas d’utilisation 73 Cours 4 – Expression des besoins Inclusion des CU
Section 4 – modélisation avancée des cas d’utilisation 74 Cours 4 – Expression des besoins Inclusion des CU
Section 4 – modélisation avancée des cas d’utilisation 75 Cours 4 – Expression des besoins Inclusion des CU
Section 4 – modélisation avancée des cas d’utilisation L’extension est une relation entre deux CU : CU1 et CU2 CU2 étend CU1 par un comportement optionnel qui a lieu sous une certaine condition Cette condition est appelé « point d’extension » 76 Cours 4 – Expression des besoins Extension des CU
Section 4 – modélisation avancée des cas d’utilisation 77 Cours 4 – Expression des besoins Extension des CU
Section 4 – modélisation avancée des cas d’utilisation 78 Cours 4 – Expression des besoins Extension des CU
Section 4 – modélisation avancée des cas d’utilisation Les acteurs doivent être appelés en utilisant leur rôle au singulier, pas au pluriel Ne pas montrer le comportement, plutôt montrer la fonctionnalité 79 Cours 4 – Expression des besoins Best practices
Section 4 – modélisation avancée des cas d’utilisation Les diagrammes ne doivent pas être trop encombrés. Par exemple, au maximum 15 CU par diagramme Tous les CU doivent avoir le même niveau d’abstraction Les spécifications des CU doit être de la même taille (1/2 page à 1 page) Si les CU sont trop grands, utiliser les inclusions / extensions / généralisations Sortir les éléments redondants en des CU inclus Sortir les éléments conditionnels en des CU d’extension Les CU sont appelé en utilisant des verbes Ne pas schématiser les communications entre acteurs 80 Cours 4 – Expression des besoins Best practices
Cours N° 4 Expression des besoins 81 Cours igl Section 4 - Exercice
Cours N° 4 Expression des besoins 82 Cours igl Section 4 : Modélisation avancée des cas d’utilisation – Débat (05 Mns)
UML Distilled3rd Edition, Martin Fowler, 2003, Addison Wesley UML2 and the Unified Process, Addison-Wesley Second Edition Wikipedia : Unified Modeling Language, http://fr.wikipedia.org/wiki/Unified_Modeling_Language bibliographie 83 Cours 3 – Introduction à UML Bibliographie

Weitere ähnliche Inhalte

Was ist angesagt?

Chp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de ConceptionChp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de ConceptionLilia Sfaxi
 
Cours Génie Logiciel - Cours 2 - Cycles de vie
Cours Génie Logiciel - Cours 2 - Cycles de vieCours Génie Logiciel - Cours 2 - Cycles de vie
Cours Génie Logiciel - Cours 2 - Cycles de vieMohammed Amine Mostefai
 
La spécification des besoins
La spécification des besoinsLa spécification des besoins
La spécification des besoinsIsmahen Traya
 
Architectures orientés services (SOA)
Architectures orientés services (SOA)Architectures orientés services (SOA)
Architectures orientés services (SOA)Heithem Abbes
 
Chp4 - Diagramme de Séquence
Chp4 - Diagramme de SéquenceChp4 - Diagramme de Séquence
Chp4 - Diagramme de SéquenceLilia Sfaxi
 
Tp2 - OPEN ERP (2)
Tp2 - OPEN ERP (2)Tp2 - OPEN ERP (2)
Tp2 - OPEN ERP (2)Lilia Sfaxi
 
Comment écrire mon premier cahier des charges ?
Comment écrire mon premier cahier des charges ?Comment écrire mon premier cahier des charges ?
Comment écrire mon premier cahier des charges ?Patricia QUIST
 
Application de gestion, suivi,et de sécurité des chantiers en temps réels.
Application  de gestion, suivi,et de sécurité des chantiers en temps réels.Application  de gestion, suivi,et de sécurité des chantiers en temps réels.
Application de gestion, suivi,et de sécurité des chantiers en temps réels.Sabri El gharbi El yahmadi
 
Projet Bi - 3 - Alimentation des données
Projet Bi - 3 - Alimentation des donnéesProjet Bi - 3 - Alimentation des données
Projet Bi - 3 - Alimentation des donnéesJean-Marc Dupont
 
ait_mlouk_addi_presentation_pfe
ait_mlouk_addi_presentation_pfeait_mlouk_addi_presentation_pfe
ait_mlouk_addi_presentation_pfeAddi Ait-Mlouk
 
Architectures 3-tiers (Web)
Architectures 3-tiers (Web)Architectures 3-tiers (Web)
Architectures 3-tiers (Web)Heithem Abbes
 
Prise en main de Jhipster
Prise en main de JhipsterPrise en main de Jhipster
Prise en main de JhipsterKokou Gaglo
 
Chp3 - Modélisation Multidimensionnelle
Chp3 - Modélisation MultidimensionnelleChp3 - Modélisation Multidimensionnelle
Chp3 - Modélisation MultidimensionnelleLilia Sfaxi
 
Soutenance de Mon PFE de Stage (DUT)
Soutenance de Mon PFE de Stage (DUT) Soutenance de Mon PFE de Stage (DUT)
Soutenance de Mon PFE de Stage (DUT) Mohammed JAITI
 

Was ist angesagt? (20)

Chp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de ConceptionChp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de Conception
 
Cours Génie Logiciel - Cours 2 - Cycles de vie
Cours Génie Logiciel - Cours 2 - Cycles de vieCours Génie Logiciel - Cours 2 - Cycles de vie
Cours Génie Logiciel - Cours 2 - Cycles de vie
 
La spécification des besoins
La spécification des besoinsLa spécification des besoins
La spécification des besoins
 
Architectures orientés services (SOA)
Architectures orientés services (SOA)Architectures orientés services (SOA)
Architectures orientés services (SOA)
 
Chp4 - Diagramme de Séquence
Chp4 - Diagramme de SéquenceChp4 - Diagramme de Séquence
Chp4 - Diagramme de Séquence
 
Tp2 - OPEN ERP (2)
Tp2 - OPEN ERP (2)Tp2 - OPEN ERP (2)
Tp2 - OPEN ERP (2)
 
Comment écrire mon premier cahier des charges ?
Comment écrire mon premier cahier des charges ?Comment écrire mon premier cahier des charges ?
Comment écrire mon premier cahier des charges ?
 
Génie Logiciel : Conception
Génie Logiciel : ConceptionGénie Logiciel : Conception
Génie Logiciel : Conception
 
Tp java ee.pptx
Tp java ee.pptxTp java ee.pptx
Tp java ee.pptx
 
Application de gestion, suivi,et de sécurité des chantiers en temps réels.
Application  de gestion, suivi,et de sécurité des chantiers en temps réels.Application  de gestion, suivi,et de sécurité des chantiers en temps réels.
Application de gestion, suivi,et de sécurité des chantiers en temps réels.
 
Projet Bi - 3 - Alimentation des données
Projet Bi - 3 - Alimentation des donnéesProjet Bi - 3 - Alimentation des données
Projet Bi - 3 - Alimentation des données
 
ait_mlouk_addi_presentation_pfe
ait_mlouk_addi_presentation_pfeait_mlouk_addi_presentation_pfe
ait_mlouk_addi_presentation_pfe
 
Architectures 3-tiers (Web)
Architectures 3-tiers (Web)Architectures 3-tiers (Web)
Architectures 3-tiers (Web)
 
Prise en main de Jhipster
Prise en main de JhipsterPrise en main de Jhipster
Prise en main de Jhipster
 
Génie Logiciel - Cours 5 - analyse
Génie Logiciel - Cours 5 - analyseGénie Logiciel - Cours 5 - analyse
Génie Logiciel - Cours 5 - analyse
 
Modele mvc
Modele mvcModele mvc
Modele mvc
 
Chp3 - Modélisation Multidimensionnelle
Chp3 - Modélisation MultidimensionnelleChp3 - Modélisation Multidimensionnelle
Chp3 - Modélisation Multidimensionnelle
 
Traitement distribue en BIg Data - KAFKA Broker and Kafka Streams
Traitement distribue en BIg Data - KAFKA Broker and Kafka StreamsTraitement distribue en BIg Data - KAFKA Broker and Kafka Streams
Traitement distribue en BIg Data - KAFKA Broker and Kafka Streams
 
Uml & cas d'utilisation
Uml & cas d'utilisationUml & cas d'utilisation
Uml & cas d'utilisation
 
Soutenance de Mon PFE de Stage (DUT)
Soutenance de Mon PFE de Stage (DUT) Soutenance de Mon PFE de Stage (DUT)
Soutenance de Mon PFE de Stage (DUT)
 

Ähnlich wie Igl cours 4 - expression de besoins

Groupe Business Analysis de l'ADIRA, ingénierie des exigences 20170324
Groupe Business Analysis de l'ADIRA, ingénierie des exigences 20170324Groupe Business Analysis de l'ADIRA, ingénierie des exigences 20170324
Groupe Business Analysis de l'ADIRA, ingénierie des exigences 20170324Annick Rimbod-Pethiod, CBAP
 
Rattrapage uml
Rattrapage umlRattrapage uml
Rattrapage umlvangogue
 
conception de gestion d'une station de service
conception de gestion d'une station de service conception de gestion d'une station de service
conception de gestion d'une station de service Nesrine Hached
 
Cycles de vie d'un logiciel
Cycles de vie d'un logicielCycles de vie d'un logiciel
Cycles de vie d'un logicielRabia AZIZA
 
Presentation approches agiles.pptx
Presentation approches agiles.pptxPresentation approches agiles.pptx
Presentation approches agiles.pptxSayfHajbi
 
Bâtir une analyse fonctionnelle efficace avec SharePoint.
Bâtir une analyse fonctionnelle efficace avec SharePoint.Bâtir une analyse fonctionnelle efficace avec SharePoint.
Bâtir une analyse fonctionnelle efficace avec SharePoint.GSoft
 
M20483 formation-programmation-en-csharp
M20483 formation-programmation-en-csharpM20483 formation-programmation-en-csharp
M20483 formation-programmation-en-csharpCERTyou Formation
 
PE - Développeur d'applications multiplateformes-24 Juin-Final.pdf
PE - Développeur d'applications multiplateformes-24 Juin-Final.pdfPE - Développeur d'applications multiplateformes-24 Juin-Final.pdf
PE - Développeur d'applications multiplateformes-24 Juin-Final.pdfBinocheMf
 
Expression des besoins pour le SI
Expression des besoins pour le SIExpression des besoins pour le SI
Expression des besoins pour le SINouhaila ALAMI
 
CdP QA - QA hackathon - Intelligence artificielle - 27 janvier 2022
CdP QA - QA hackathon - Intelligence artificielle - 27 janvier 2022CdP QA - QA hackathon - Intelligence artificielle - 27 janvier 2022
CdP QA - QA hackathon - Intelligence artificielle - 27 janvier 2022Agile Montréal
 
Génie Logiciel.pptx
Génie Logiciel.pptxGénie Logiciel.pptx
Génie Logiciel.pptxLatifaBen6
 
Modelisation agile 03122011
Modelisation agile  03122011Modelisation agile  03122011
Modelisation agile 03122011agnes_crepet
 
20120124 05 - Le Model-based Testing aujourd'hui (Inria)
20120124 05 - Le Model-based Testing aujourd'hui (Inria)20120124 05 - Le Model-based Testing aujourd'hui (Inria)
20120124 05 - Le Model-based Testing aujourd'hui (Inria)LeClubQualiteLogicielle
 
Formation viseo modelisation_uml_avec_enterprise_architect
Formation viseo modelisation_uml_avec_enterprise_architectFormation viseo modelisation_uml_avec_enterprise_architect
Formation viseo modelisation_uml_avec_enterprise_architectMïna You
 

Ähnlich wie Igl cours 4 - expression de besoins (20)

Groupe Business Analysis de l'ADIRA, ingénierie des exigences 20170324
Groupe Business Analysis de l'ADIRA, ingénierie des exigences 20170324Groupe Business Analysis de l'ADIRA, ingénierie des exigences 20170324
Groupe Business Analysis de l'ADIRA, ingénierie des exigences 20170324
 
Rattrapage uml
Rattrapage umlRattrapage uml
Rattrapage uml
 
conception de gestion d'une station de service
conception de gestion d'une station de service conception de gestion d'une station de service
conception de gestion d'une station de service
 
Cycles de vie d'un logiciel
Cycles de vie d'un logicielCycles de vie d'un logiciel
Cycles de vie d'un logiciel
 
Namaa.APA.Report
Namaa.APA.ReportNamaa.APA.Report
Namaa.APA.Report
 
Presentation approches agiles.pptx
Presentation approches agiles.pptxPresentation approches agiles.pptx
Presentation approches agiles.pptx
 
Chap3
Chap3Chap3
Chap3
 
Bâtir une analyse fonctionnelle efficace avec SharePoint.
Bâtir une analyse fonctionnelle efficace avec SharePoint.Bâtir une analyse fonctionnelle efficace avec SharePoint.
Bâtir une analyse fonctionnelle efficace avec SharePoint.
 
M20483 formation-programmation-en-csharp
M20483 formation-programmation-en-csharpM20483 formation-programmation-en-csharp
M20483 formation-programmation-en-csharp
 
présentation PFE (2)
présentation PFE (2)présentation PFE (2)
présentation PFE (2)
 
PE - Développeur d'applications multiplateformes-24 Juin-Final.pdf
PE - Développeur d'applications multiplateformes-24 Juin-Final.pdfPE - Développeur d'applications multiplateformes-24 Juin-Final.pdf
PE - Développeur d'applications multiplateformes-24 Juin-Final.pdf
 
Uml Cas Utilisation introduction
Uml Cas Utilisation introductionUml Cas Utilisation introduction
Uml Cas Utilisation introduction
 
Expression des besoins pour le SI
Expression des besoins pour le SIExpression des besoins pour le SI
Expression des besoins pour le SI
 
CdP QA - QA hackathon - Intelligence artificielle - 27 janvier 2022
CdP QA - QA hackathon - Intelligence artificielle - 27 janvier 2022CdP QA - QA hackathon - Intelligence artificielle - 27 janvier 2022
CdP QA - QA hackathon - Intelligence artificielle - 27 janvier 2022
 
Génie Logiciel.pptx
Génie Logiciel.pptxGénie Logiciel.pptx
Génie Logiciel.pptx
 
Uml partie 1
Uml partie 1Uml partie 1
Uml partie 1
 
Modelisation agile 03122011
Modelisation agile  03122011Modelisation agile  03122011
Modelisation agile 03122011
 
20120124 05 - Le Model-based Testing aujourd'hui (Inria)
20120124 05 - Le Model-based Testing aujourd'hui (Inria)20120124 05 - Le Model-based Testing aujourd'hui (Inria)
20120124 05 - Le Model-based Testing aujourd'hui (Inria)
 
Plasticitérecherche2017
Plasticitérecherche2017Plasticitérecherche2017
Plasticitérecherche2017
 
Formation viseo modelisation_uml_avec_enterprise_architect
Formation viseo modelisation_uml_avec_enterprise_architectFormation viseo modelisation_uml_avec_enterprise_architect
Formation viseo modelisation_uml_avec_enterprise_architect
 

Mehr von Mohammed Amine Mostefai

Utilisation de Sharepoint (Collaboration)
Utilisation de Sharepoint (Collaboration)Utilisation de Sharepoint (Collaboration)
Utilisation de Sharepoint (Collaboration)Mohammed Amine Mostefai
 
Utilisation de Sharepoint 2013 - Personnalisation
Utilisation de Sharepoint 2013 - PersonnalisationUtilisation de Sharepoint 2013 - Personnalisation
Utilisation de Sharepoint 2013 - PersonnalisationMohammed Amine Mostefai
 
Utilisation de Sharepoint - Gestion de Documents
Utilisation de Sharepoint - Gestion de DocumentsUtilisation de Sharepoint - Gestion de Documents
Utilisation de Sharepoint - Gestion de DocumentsMohammed Amine Mostefai
 
Utilisation de Sharepoiunt - Introduction
Utilisation de Sharepoiunt - IntroductionUtilisation de Sharepoiunt - Introduction
Utilisation de Sharepoiunt - IntroductionMohammed Amine Mostefai
 

Mehr von Mohammed Amine Mostefai (20)

Utilisation de Sharepoint (Collaboration)
Utilisation de Sharepoint (Collaboration)Utilisation de Sharepoint (Collaboration)
Utilisation de Sharepoint (Collaboration)
 
Utilisation de Sharepoint 2013 - Personnalisation
Utilisation de Sharepoint 2013 - PersonnalisationUtilisation de Sharepoint 2013 - Personnalisation
Utilisation de Sharepoint 2013 - Personnalisation
 
Utilisation Sharepoint (Listes)
Utilisation Sharepoint (Listes)Utilisation Sharepoint (Listes)
Utilisation Sharepoint (Listes)
 
Utilisation de Sharepoint - Gestion de Documents
Utilisation de Sharepoint - Gestion de DocumentsUtilisation de Sharepoint - Gestion de Documents
Utilisation de Sharepoint - Gestion de Documents
 
Utilisation de Sharepoiunt - Introduction
Utilisation de Sharepoiunt - IntroductionUtilisation de Sharepoiunt - Introduction
Utilisation de Sharepoiunt - Introduction
 
Pratiques agiles
Pratiques agilesPratiques agiles
Pratiques agiles
 
Introduction à Scrum
Introduction à ScrumIntroduction à Scrum
Introduction à Scrum
 
Méthodes Agiles - La Méthode XP
Méthodes Agiles - La Méthode XPMéthodes Agiles - La Méthode XP
Méthodes Agiles - La Méthode XP
 
Le Manifeste Agile
Le Manifeste AgileLe Manifeste Agile
Le Manifeste Agile
 
Méthodes Agiles - Généralités
Méthodes Agiles - GénéralitésMéthodes Agiles - Généralités
Méthodes Agiles - Généralités
 
Introduction aux technologies mobiles
Introduction aux technologies mobilesIntroduction aux technologies mobiles
Introduction aux technologies mobiles
 
Workflow Foundation - Cours 5
Workflow Foundation - Cours 5Workflow Foundation - Cours 5
Workflow Foundation - Cours 5
 
Workflow Foundation Module 4
Workflow Foundation Module 4Workflow Foundation Module 4
Workflow Foundation Module 4
 
Présentation cloud journée azure
Présentation cloud   journée azurePrésentation cloud   journée azure
Présentation cloud journée azure
 
Wf module3
Wf module3Wf module3
Wf module3
 
Microsoft Workflow Foundation - Cours 2
Microsoft Workflow Foundation - Cours 2Microsoft Workflow Foundation - Cours 2
Microsoft Workflow Foundation - Cours 2
 
Introduction to Workflow Foundation
Introduction to Workflow FoundationIntroduction to Workflow Foundation
Introduction to Workflow Foundation
 
Le Langage CSS
Le Langage CSSLe Langage CSS
Le Langage CSS
 
Sécurisation des applications ASP.NET
Sécurisation des applications ASP.NETSécurisation des applications ASP.NET
Sécurisation des applications ASP.NET
 
Présentation sharepoint 2013
Présentation sharepoint 2013Présentation sharepoint 2013
Présentation sharepoint 2013
 

Igl cours 4 - expression de besoins

  • 1. Cours 4 : Expression des besoins Cours IGLcours 4expression des besoins 1 Mostefai Mohammed Amine – m_mostefai@esi.dz Batata Sofiane – s_batata@esi.dz
  • 2. Permettre à l’étudier de pouvoir exprimer les besoins d’un logiciel d’une manière formelle Apprendre le modèle de spécifications bien formées des spécifications Utiliser les diagrammes de cas d’utilisation pour modélisation les spécifications fonctionnelle Utiliser les techniques avancées des diagrammes de cas d’utilisation pour produire des diagrammes représentatifs Objectifs du cours 2 Cours 2 – Cycle de vie de logiciels Objectifs du cours
  • 3. Cours 2 Cycles de vie de logiciels 3 Introduction au génie logiciel
  • 4. Cours N° 4 Expression des besoins 4 Cours igl Section 1 : Introduction
  • 5. Section 1 - introduction 5 Cours 4 – Expression des besoins Processus UP Expression des besoins Analyse Conception Implémentation Tests
  • 6. Avant de coder, il faut savoir ce qu’on va coder et pourquoi le coder Les besoins sont un ensemble d’éléments qui doivent être implémentés Ces besoins doivent être exprimés selon une méthode bien définie Des besoins « incomplets » sont une des principales raisons d’échec des projets de développement Section 1 - introduction 6 Cours 4 – Expression des besoins Introduction
  • 7. Section 1 - introduction 7 Cours 4 – Expression des besoins Types de besoins
  • 8. Les spécifications sont l’expression formelle des besoins Une spécification fonctionnelle exprime comment est le système du point de vue utilisateur Une spécification technique exprime comment est le système d’un point de vue interne (technique, technologie,…etc.) Le langage naturel peut être utilisé pour les spécifications fonctionnelles et / ou techniques Section 1 - introduction 8 Cours 4 – Expression des besoins Spécifications
  • 9. Le recensement des spécifications est une opération difficile à cause des facteurs suivants : Section 1 - introduction 9 Cours 4 – Expression des besoins Recensement des spécifications
  • 10. Section 1 - introduction 10 Cours 4 – Expression des besoins L’expression de besoins - Processus Modèles des besoins Modèle de spécification (texte) L’expression des besoins Produit Modèle des cas d’utilisation (UML, optionnel)
  • 11. Section 1 - introduction 11 Cours 4 – Expression des besoins L’expression de besoins - Processus
  • 12. Section 1 - introduction UP propose deux modèles pour l’expression des besoins : le modèle de spécifications et le modèle des cas d’utilisation Le modèle des spécifications convient aussi bien pour les spécifications fonctionnelles que les spécifications non fonctionnelles Le modèle des cas d’utilisation est basé sur les diagrammes de cas d’utilisation d’UML Le modèle des cas d’utilisation s’adapte mieux aux spécifications fonctionnelles Le modèle de spécifications peut être créé en utilisant un éditeur de texte, un bloc-notes ou un outil dédié 12 Cours 4 – Expression des besoins L’expression de besoins - Processus
  • 13. Cours N° 4 Expression des besoins 13 Cours igl Section 1 : Débat (05 mns)
  • 14. Cours N° 4 Expression des besoins 14 Cours igl Section 2 : Modèle de spécifications
  • 15. Section 2 – Modèle de spécifications Le modèle de spécifications 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 Une spécification peut être fonctionnelle (décrivant un aspect métier) ou non-fonctionnelle (décrivant un aspect technique) Les spécifications peuvent être rédigées en utilisant un éditeur texte ou un outil dédié 15 Cours 4 – Expression des besoins Modèle de spécifications
  • 16. Section 2 – Modèle de spécifications (id) le (système) doit <fonction> 16 Cours 4 – Expression des besoins Spécifications bien formées Nom du système Identifiant de la spécification Description de la fonction
  • 17. Section 2 – Modèle de spécifications Exemple Spécifications fonctionnelles : Le système GAB (distributeur) de biller doit vérifier la validité de la carte CIB insérée Le système GAB doit valider le code PIN entré par l’utilisateur Le système doit allouer une somme maximum de 20000 dinars à l’utilisateur Spécifications non fonctionnelles : Le système du GAB doit être écrit en C++ Le système du GAB doit utiliser un cryptage 256 bits pour les données sensibles Le système doit vérifier le PIN en moins de 03 secondes 17 Cours 4 – Expression des besoins Spécifications bien formées
  • 18. Section 2 – Modèle de spécifications Les systèmes de moyenne et grande taille engendrent un nombre très important de spécifications (de quelques centaines à plusieurs milliers) L’organisation des spécifications permet de les structurer et bien gérer les autres activités de développement L’organisation permet aussi de scinder les spécifications en sous-domaines 18 Cours 4 – Expression des besoins Organisation des spécifications
  • 19. Section 2 – Spécification formelle des besoins 19 Cours 4 – Expression des besoins Organisation des spécifications - Exemple
  • 20. Il vaut mieux assigner des priorités aux spécifications La priorité permet de sélectionner les spécifications les plus importantes (par exemple, pour planifier une itération) La priorité peut être un nombre (de 1 à 5) MoSCoW est une méthode permettant d’affecter des priorités aux spécifications Section 2 – Expression des besoins sous up 20 Cours 4 – Expression des besoins Priorités de spécifications
  • 21. Section 2 – Modèle de spécifications 21 Cours 4 – Expression des besoins Priorités de spécifications – Méthode MoSCoW
  • 22. Section 2 – Spécification formelle des besoins Les spécifications peuvent être enrichies par d’autres attributs 22 Cours 4 – Expression des besoins Attributs de spécifications
  • 23. Section 2 – Modèle de spécifications 23 Cours 4 – Expression des besoins Attributs de spécifications
  • 24. Section 2 – Modèle de spécifications Les sources suivantes servent au recensement des spécifications : 24 Cours 4 – Expression des besoins Recensement des spécifications
  • 25. Section 2 – Modèle de spécifications Plusieurs moyens sont utilisé pour recenser les spécifications : 25 Cours 4 – Expression des besoins Recensement des spécifications
  • 26. « Le client parcourt le catalogue de produit et ajoute les produits qui lui plaisent à son panier. Quand le client souhaite finaliser son achat, il fournit ses informations sur sa carte et sur son adresse de livraison. Le système vérifie la carte du client ensuite valide la transaction. » Section 2 – Modèle de spécifications 26 Cours 4 – Expression des besoins Scénario
  • 27. Section 2 – Modèle de spécifications 27 Cours 4 – Expression des besoins Scénario
  • 28. Cours N° 4 Expression des besoins 28 Cours igl Section 2 – Modèle de spécifications : Débat (05)Mns
  • 29. Cours N° 4 Expression des besoins 29 Cours igl Section 3 : Modèle des cas d’utilisation
  • 30. Section 3 – Modèle des cas d’utilisation 30 Cours 4 – Expression des besoins Processus de recensement
  • 31. Quelles sont les limites du système ? Qu’est-ce qui fait partie du système et qu’est-ce qui est externe au système ? Décider clairement des limites du système n’est pas aussi évident qu’on le croit La limite du système est aussi appelée « sujet » Section 3 – Modèle des cas d’utilisation 31 Cours 4 – Expression des besoins Limite du système
  • 32. Section 3 – Modèle des cas d’utilisation 32 Cours 4 – Expression des besoins Limite du système – Notation UML Limite du système Note
  • 33. Les utilisateurs du système sont appelé « acteurs » Un acteur identifie un rôle pas une personne Un cas d’utilisation peut avoir plusieurs acteurs Un acteur peut être impliqué dans plusieurs cas d’utilisation Un acteur interagit directement avec le système Un acteur peut identifier une entité non humaine : un matériel ou un autre système interagissant avec le système, il est aussi utilisé pour représenter le temps Les acteurs sont externes au système Les acteurs sont nommés en utilisant des noms courts et significatifs Section 3 – Modèle des cas d’utilisation 33 Cours 4 – Expression des besoins Acteurs
  • 34. Les acteurs peuvent être représentés de plusieurs façons Section 3 – Modèle des cas d’utilisation 34 Cours 4 – Expression des besoins Acteurs
  • 35. Poser les questions suivantes : Qui ou qu’est-ce qui utilise le système ? Quel est leur rôle dans l’interaction ? Qui installe le système ? Qui démarre ou arrête le système ? Quels sont les systèmes qui interagissent avec ce système ? Qui fournit les informations au système ? Quels sont les évènements qui ont lieu à un moment donné ? Section 3 – modélisation des cas d’utilisation 35 Cours 4 – Expression des besoins Identification des acteurs
  • 36. Exemple d’un achat en ligne « Le client parcourt le catalogue de produit et ajoute les produits qui lui plaisent à son panier. Quand le client souhaite finaliser son achat, il fournit ses informations sur sa carte et sur son adresse de livraison. Le système vérifie la carte du client ensuite valide la transaction. » D’autres scénarios dérivés peuvent avoir lieu : par exemple le client a une remise ou la carte est invalide. Malgré leur différences, tous ces scénarios forment un seul cas d’utilisation car l’objectif est unique : acheter un produit. Section 3 – modélisation des cas d’utilisation 36 Cours 4 – Expression des besoins Scénario
  • 37. Les cas d’utilisation sont une technique de capture des besoins fonctionnels du système Les cas d’utilisation décrivent les interactions entre les utilisateurs du système et le système lui-même Les cas d’utilisation est une description “narrative” de comment est utilisé le système Les cas d’utilisation sont basés sur des scénarios qui sont un séquencement des évènements se passant entre l’utilisateur et le système Les cas d’utilisation sont toujours déclenchés par les acteurs Les cas d’utilisation représentent le système du point de vue de l’acteur Section 3 – Modèle des cas d’utilisation 37 Cours 4 – Expression des besoins Cas d’utilisation
  • 38. Section 3 – Modèle des cas d’utilisation 38 Cours 4 – Expression des besoins Cas d’utilisation
  • 39. Section 3 – Modèle des cas d’utilisation 39 Cours 4 – Expression des besoins Cas d’utilisation - Création
  • 40. Section 3 – modélisation des cas d’utilisation 40 Cours 4 – Expression des besoins Le diagramme de cas d’utilisation Relation d’usage Limite du système Cas d’utilisation Acteur
  • 41. L’acteur principal déclenche le cas d’utilisation (CU) tandis que l’acteur secondaire réagit au CU Généralement, l’acteur principal est dessiné à gauche et le secondaire à droite Section 3 – Modèle des cas d’utilisation 41 Cours 4 – Expression des besoins Acteur principal et secondaire
  • 42. Section 3 – Modèle des cas d’utilisation 42 Cours 4 – Expression des besoins Documentation d’un cas d’utilisation
  • 43. Section 3 – Modèle des cas d’utilisation 43 Cours 4 – Expression des besoins Documentation d’un cas d’utilisation
  • 44. Section 3 – Modèle des cas d’utilisation 44 Cours 4 – Expression des besoins Documentation d’un cas d’utilisation
  • 45. LES ENCHAÎNEMENTS Un enchaînement est une suite d’actions numérotées La première action est formulée comme ceci : Le CU démarre quand <l’acteur><fonction> Chaque action est formulée comme ceci : <quelque chose / quelqu’un> <fonction> Section 3 – Modèle des cas d’utilisation 45 Cours 4 – Expression des besoins Documentation d’un cas d’utilisation
  • 46. LES ENCHAÎNEMENTS L’enchaînement principal est une séquence d’évènements décrivant le CU Le CU suit idéalement un enchainement mais peut avoir des déviations, ces déviations sont appelées enchaînement alternatifs Les enchaînements sont aussi appelés scénarios Il existe deux types de déviations : les déviations simples qui sont formalisées dans l’enchaînement et les déviations complexes qui sont formalisées dans un autre enchaînement Section 3 – Modèle des cas d’utilisation 46 Cours 4 – Expression des besoins Documentation d’un cas d’utilisation
  • 47. LES ENCHAÎNEMENTS - EXEMPLE Le CU démarre quand le client clique sur le bouton « se connecter » Le client entre son nom d‘utilisateur dans la zone « login » Le client entre son mot de passe dans la zone « mot de passe » Le système vérifie la validité du nom d’utilisateur et du mot de passe Section 3 – Modèle des cas d’utilisation 47 Cours 4 – Expression des besoins Documentation d’un cas d’utilisation
  • 48. LES ENCHAÎNEMENTS – EXEMPLE D’UNE MAUVAISE FORMULATION « Les informations du client sont entrées et vérifiées » Qui entre les informations ? Dans quoi ? Quelles sont ces informations ? Ne pas s’exprimer en voix passive Se poser les questions : qui, quoi, quand et où ? Répondre avec précision. Section 3 – Modèle des cas d’utilisation 48 Cours 4 – Expression des besoins Documentation d’un cas d’utilisation
  • 49. LES ENCHAÎNEMENTS – CONTRÔLE DE FLUX Pour éviter de créer des enchaînements alternatifs, on peut faire des instructions de contrôle de flux à l’intérieur d’un enchaînement Le mot clé si: contrôle conditionnel Le mot clé pour : répétition pour tous les éléments d’un ensemble Le mot clé tantque : répétition selon une condition Section 3 – Modèle des cas d’utilisation 49 Cours 4 – Expression des besoins Documentation d’un cas d’utilisation
  • 50. Section 3 – Modèle des cas d’utilisation 50 Cours 4 – Expression des besoins Documentation d’un cas d’utilisation
  • 51. Section 3 – Modèle des cas d’utilisation 51 Cours 4 – Expression des besoins Documentation d’un cas d’utilisation
  • 52. Section 3 – Modèle des cas d’utilisation 52 Cours 4 – Expression des besoins Documentation d’un cas d’utilisation
  • 53. Section 3 – Modèle des cas d’utilisation 53 Cours 4 – Expression des besoins Documentation d’un cas d’utilisation
  • 54. LES ENCHAÎNEMENTS ALTERNATIFS Les enchaînements décrivent souvent des actions très complexes Les enchaînements alternatifs sont des déviations ou des interruptions des enchaînements principaux Les enchaînements alternatifs peuvent être documentés à l’intérieur de la spécification ou séparément Un enchaînement alternatif peut ne pas revenir à l’enchaînement principal Section 3 – Modèle des cas d’utilisation 54 Cours 4 – Expression des besoins Documentation d’un cas d’utilisation
  • 55. LES ENCHAÎNEMENTS ALTERNATIFS Les noms des enchaînements alternatifs sont formulés de la manière suivante : Enchaînement Alternatif : NomCU:NomEnchaînementAlternatif L’id de l’enchaînement alternatif obéit à une numérotation hiérarchique. Par exemple, si l’ID un CU est 5, l’id de son premier enchaînement alternatif serait 5.1 Section 3 – Modèle des cas d’utilisation 55 Cours 4 – Expression des besoins Documentation d’un cas d’utilisation
  • 56. LES ENCHAÎNEMENTS ALTERNATIFS L’EA peut démarrer au lieu de l’enchaînement principal. Dans ce cas, c’est l’utilisateur qui déclenche cette déviation. L’EA peut démarrer après une étape N de l’enchaînement principal « l’EA démarre après l’étape X de l’enchaînement principal » L’EA peut démarrer à n’importe quel moment Section 3 – Modèle des cas d’utilisation 56 Cours 4 – Expression des besoins Documentation d’un cas d’utilisation
  • 57. LES ENCHAÎNEMENTS ALTERNATIFS Pour chaque CU il y a un seul enchaînement principal et plusieurs EA Eviter de donner trop d’enchaînements alternatifs Regrouper les EA similaires Section 3 – Modèle des cas d’utilisation 57 Cours 4 – Expression des besoins Documentation d’un cas d’utilisation
  • 58. Section 3 – Modèle des cas d’utilisation 58 Cours 4 – Expression des besoins Documentation d’un cas d’utilisation
  • 59. Section 3 – Modèle des cas d’utilisation 59 Cours 4 – Expression des besoins Documentation d’un cas d’utilisation
  • 60. Section 3 – Modèle des cas d’utilisation 60 Cours 4 – Expression des besoins Documentation d’un cas d’utilisation
  • 61. Section 3 – Modèle des cas d’utilisation 61 Cours 4 – Expression des besoins Documentation d’un cas d’utilisation
  • 62. Un CU peut décrire une ou plusieurs spécifications Une spécification peut être représentée par un ou plusieurs CU La matrice de traçabilité définit les relations entre les spécifications et les CU Section 3 – Modèle des cas d’utilisation 62 Cours 4 – Expression des besoins Traçabilité des cas d’utilisation
  • 63. LES CAS D’UTILISATION SONT RECOMMANDÉS QUAND : Le système est dominé par les spécifications fonctionnelles Le système est utilisé par plusieurs utilisateurs Le système a plusieurs interfaces Section 3 – Modèle des cas d’utilisation 63 Cours 4 – Expression des besoins Utilisation des cas d’utilisation
  • 64. Cours N° 4 Expression des besoins 64 Cours igl Section 3 – Modèle des cas d’utilisation – Débat (05 Mns)
  • 65. Cours N° 4 Expression des besoins 65 Cours igl Section 4 : Modélisation avancée des cas d’utilisation
  • 66. Section 4 – modélisation avancée des cas d’utilisation Des acteurs peuvent avoir beaucoup de CU en commun Un acteur peut être différent d’un autre acteur par quelques CU supplémentaires La généralisation répond au souci d’encombrement des diagrammes de CU La généralisation des CU simplifie non seulement la présentation mais aussi la sémantique des CU 66 Cours 4 – Expression des besoins Généralisation des acteurs
  • 67. Section 4 – modélisation avancée des cas d’utilisation 67 Cours 4 – Expression des besoins Généralisation des acteurs
  • 68. Section 4 – modélisation avancée des cas d’utilisation 68 Cours 4 – Expression des besoins Généralisation des acteurs Généralisation
  • 69. Section 4 – modélisation avancée des cas d’utilisation La généralisation des CU quand un CU est un cas spécialisé d’un autre CU 69 Cours 4 – Expression des besoins Généralisation des CU
  • 70. Section 4 – modélisation avancée des cas d’utilisation 70 Cours 4 – Expression des besoins Généralisation des CU Généralisation
  • 71. Section 4 – modélisation avancée des cas d’utilisation L’inclusion est une relation entre deux CU (CU1 et CU2). CU 1 est appelé CU de base et CU2 est appelé CU d’inclusion. Quand l’enchaînement arrive au point d’inclusion, CU1 ne s’exécuter que lorsque CU2 s’exécute. L’inclusion évite la répétition 71 Cours 4 – Expression des besoins Inclusion des CU
  • 72. Section 4 – modélisation avancée des cas d’utilisation Un CU peut avoir plusieurs CU d’inclusion CU ne s’exécute que lorsque tous les CU d’inclusion ont été exécutés 72 Cours 4 – Expression des besoins Inclusion des CU
  • 73. Section 4 – modélisation avancée des cas d’utilisation 73 Cours 4 – Expression des besoins Inclusion des CU
  • 74. Section 4 – modélisation avancée des cas d’utilisation 74 Cours 4 – Expression des besoins Inclusion des CU
  • 75. Section 4 – modélisation avancée des cas d’utilisation 75 Cours 4 – Expression des besoins Inclusion des CU
  • 76. Section 4 – modélisation avancée des cas d’utilisation L’extension est une relation entre deux CU : CU1 et CU2 CU2 étend CU1 par un comportement optionnel qui a lieu sous une certaine condition Cette condition est appelé « point d’extension » 76 Cours 4 – Expression des besoins Extension des CU
  • 77. Section 4 – modélisation avancée des cas d’utilisation 77 Cours 4 – Expression des besoins Extension des CU
  • 78. Section 4 – modélisation avancée des cas d’utilisation 78 Cours 4 – Expression des besoins Extension des CU
  • 79. Section 4 – modélisation avancée des cas d’utilisation Les acteurs doivent être appelés en utilisant leur rôle au singulier, pas au pluriel Ne pas montrer le comportement, plutôt montrer la fonctionnalité 79 Cours 4 – Expression des besoins Best practices
  • 80. Section 4 – modélisation avancée des cas d’utilisation Les diagrammes ne doivent pas être trop encombrés. Par exemple, au maximum 15 CU par diagramme Tous les CU doivent avoir le même niveau d’abstraction Les spécifications des CU doit être de la même taille (1/2 page à 1 page) Si les CU sont trop grands, utiliser les inclusions / extensions / généralisations Sortir les éléments redondants en des CU inclus Sortir les éléments conditionnels en des CU d’extension Les CU sont appelé en utilisant des verbes Ne pas schématiser les communications entre acteurs 80 Cours 4 – Expression des besoins Best practices
  • 81. Cours N° 4 Expression des besoins 81 Cours igl Section 4 - Exercice
  • 82. Cours N° 4 Expression des besoins 82 Cours igl Section 4 : Modélisation avancée des cas d’utilisation – Débat (05 Mns)
  • 83. UML Distilled3rd Edition, Martin Fowler, 2003, Addison Wesley UML2 and the Unified Process, Addison-Wesley Second Edition Wikipedia : Unified Modeling Language, http://fr.wikipedia.org/wiki/Unified_Modeling_Language bibliographie 83 Cours 3 – Introduction à UML Bibliographie