SlideShare uma empresa Scribd logo
1 de 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

Mais conteúdo relacionado

Mais procurados

Conception et réalisation d’un Système d’information des étudiants du départe...
Conception et réalisation d’un Système d’information des étudiants du départe...Conception et réalisation d’un Système d’information des étudiants du départe...
Conception et réalisation d’un Système d’information des étudiants du départe...Ilyas CHAOUA
 
Cours Génie Logiciel 2016
Cours Génie Logiciel 2016Cours Génie Logiciel 2016
Cours Génie Logiciel 2016Erradi Mohamed
 
Modèle en v
 Modèle en v Modèle en v
Modèle en vbouye2209
 
Etude de cas audit cobit 4.1
Etude de cas audit cobit 4.1Etude de cas audit cobit 4.1
Etude de cas audit cobit 4.1saqrjareh
 
Chp2 - Vers les Architectures Orientées Services
Chp2 - Vers les Architectures Orientées ServicesChp2 - Vers les Architectures Orientées Services
Chp2 - Vers les Architectures Orientées ServicesLilia Sfaxi
 
Rapport PFE : Réalisation d'une application web back-office de gestion pédago...
Rapport PFE : Réalisation d'une application web back-office de gestion pédago...Rapport PFE : Réalisation d'une application web back-office de gestion pédago...
Rapport PFE : Réalisation d'une application web back-office de gestion pédago...Anas Riahi
 
Introduction aux architectures des SI
Introduction aux architectures des SI Introduction aux architectures des SI
Introduction aux architectures des SI Heithem Abbes
 
Cahier des Charges Infrastructure Informatique
Cahier des Charges Infrastructure InformatiqueCahier des Charges Infrastructure Informatique
Cahier des Charges Infrastructure InformatiqueDATANYWARE.com
 
Rapport gestion de stock.pdf
Rapport gestion de stock.pdfRapport gestion de stock.pdf
Rapport gestion de stock.pdfAchrafAntri2
 
Méthodologie 2 Track Unified Process
Méthodologie 2 Track Unified ProcessMéthodologie 2 Track Unified Process
Méthodologie 2 Track Unified ProcessZakaria Bouazza
 
Chp2 - Cahier des Charges
Chp2 - Cahier des ChargesChp2 - Cahier des Charges
Chp2 - Cahier des ChargesLilia Sfaxi
 
Etude de faisabilité et analyse de l'existant
Etude de faisabilité et analyse de l'existantEtude de faisabilité et analyse de l'existant
Etude de faisabilité et analyse de l'existantClément Dussarps
 
Implementer ITIL
Implementer ITILImplementer ITIL
Implementer ITILhdoornbos
 

Mais procurados (20)

Conception et réalisation d’un Système d’information des étudiants du départe...
Conception et réalisation d’un Système d’information des étudiants du départe...Conception et réalisation d’un Système d’information des étudiants du départe...
Conception et réalisation d’un Système d’information des étudiants du départe...
 
Cours Génie Logiciel 2016
Cours Génie Logiciel 2016Cours Génie Logiciel 2016
Cours Génie Logiciel 2016
 
Modèle en v
 Modèle en v Modèle en v
Modèle en v
 
Etude de cas audit cobit 4.1
Etude de cas audit cobit 4.1Etude de cas audit cobit 4.1
Etude de cas audit cobit 4.1
 
Chp2 - Vers les Architectures Orientées Services
Chp2 - Vers les Architectures Orientées ServicesChp2 - Vers les Architectures Orientées Services
Chp2 - Vers les Architectures Orientées Services
 
Rapport PFE : Réalisation d'une application web back-office de gestion pédago...
Rapport PFE : Réalisation d'une application web back-office de gestion pédago...Rapport PFE : Réalisation d'une application web back-office de gestion pédago...
Rapport PFE : Réalisation d'une application web back-office de gestion pédago...
 
Introduction aux architectures des SI
Introduction aux architectures des SI Introduction aux architectures des SI
Introduction aux architectures des SI
 
Cobit v4.1
Cobit v4.1Cobit v4.1
Cobit v4.1
 
Cahier des Charges Infrastructure Informatique
Cahier des Charges Infrastructure InformatiqueCahier des Charges Infrastructure Informatique
Cahier des Charges Infrastructure Informatique
 
Rapport PFE
Rapport PFERapport PFE
Rapport PFE
 
Sap presentation
Sap presentationSap presentation
Sap presentation
 
Rapport gestion de stock.pdf
Rapport gestion de stock.pdfRapport gestion de stock.pdf
Rapport gestion de stock.pdf
 
Méthodologie 2 Track Unified Process
Méthodologie 2 Track Unified ProcessMéthodologie 2 Track Unified Process
Méthodologie 2 Track Unified Process
 
Chp2 - Cahier des Charges
Chp2 - Cahier des ChargesChp2 - Cahier des Charges
Chp2 - Cahier des Charges
 
Introduction à ITIL
Introduction à ITILIntroduction à ITIL
Introduction à ITIL
 
Etude de faisabilité et analyse de l'existant
Etude de faisabilité et analyse de l'existantEtude de faisabilité et analyse de l'existant
Etude de faisabilité et analyse de l'existant
 
Rapport Projet de fin d&rsquo;études
Rapport Projet de fin d&rsquo;étudesRapport Projet de fin d&rsquo;études
Rapport Projet de fin d&rsquo;études
 
Audit des systemes d'information
Audit des systemes d'informationAudit des systemes d'information
Audit des systemes d'information
 
Implementer ITIL
Implementer ITILImplementer ITIL
Implementer ITIL
 
Modèle en cascade
Modèle en cascadeModèle en cascade
Modèle en cascade
 

Semelhante a 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
 
ait_mlouk_addi_presentation_pfe
ait_mlouk_addi_presentation_pfeait_mlouk_addi_presentation_pfe
ait_mlouk_addi_presentation_pfeAddi Ait-Mlouk
 
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
 
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
 
COURS UML INFORMATQIUE TELECOM2 2007.pdf
COURS UML INFORMATQIUE TELECOM2 2007.pdfCOURS UML INFORMATQIUE TELECOM2 2007.pdf
COURS UML INFORMATQIUE TELECOM2 2007.pdfssuserbd075f
 
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
 
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
 
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
 

Semelhante a 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
 
ait_mlouk_addi_presentation_pfe
ait_mlouk_addi_presentation_pfeait_mlouk_addi_presentation_pfe
ait_mlouk_addi_presentation_pfe
 
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
 
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
 
COURS UML INFORMATQIUE TELECOM2 2007.pdf
COURS UML INFORMATQIUE TELECOM2 2007.pdfCOURS UML INFORMATQIUE TELECOM2 2007.pdf
COURS UML INFORMATQIUE TELECOM2 2007.pdf
 
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
 
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
 
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)
 

Mais de 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
 

Mais de 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