Génie Logiciel - Cours 5 - analyse

4 540 vues

Publié le

0 commentaire
3 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
4 540
Sur SlideShare
0
Issues des intégrations
0
Intégrations
197
Actions
Partages
0
Téléchargements
367
Commentaires
0
J’aime
3
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Génie Logiciel - Cours 5 - analyse

  1. 1. COURS IGL COURS 5 ANALYSE Cours 5 : AnalyseMostefai Mohammed Amine – m_mostefai@esi.dzBatata Sofiane – s_batata@esi.dz 1
  2. 2. Cours 5 – Analyse OBJECTIFS DU COURS Objectifs du cours Appréhender l’activité d’analyse Se familiariser avec les pratiques et les livrables de Cours IGL, Copyright © 2011, ESI l’analyse Utiliser UML pour exprimer les résultats de l’analyse Découverte des diagrammes de classe, d’activité, de séquence et d’état 2
  3. 3. INTRODUCTION Section 1 : Section 2 : Les Section 3 : Les AU GÉNIE Introduction classes classes d’analyse LOGICIEL Cours 5 Analyse Section 4 : Section 5 : Section 6 : réalisation des Diagrammes de Diagrammes cas séquence d’activité Section 7 : Diagramme d’états- transitions 3Cours IGL, Copyright © 2011, ESI
  4. 4. COURS IGL Cours N° 5 Analyse Section 1 : Introduction 4Cours IGL, Copyright © 2011, ESI
  5. 5. SECTION 1 - Cours 5 – Analyse INTRODUCTION L’activité d’analyse L’analyse et l’expression de besoins sont très dépendants Il y a une ambiguïté entre l’analyse et l’expression de besoins Cours IGL, Copyright © 2011, ESI L’analyse permet de clarifier les besoins d’une manière détaillée Il y a une ambiguïté entre l’analyse et la conception L’analyse et la conception répondent à la question «comment » L’analyse se focalise sur l’aspect métier des fonctionnalités tandis que la conception se focalise sur l’aspect technique Dans UP, le gros de l’analyse se fait durant la phase d’analyse de besoins et d’élaboration 5
  6. 6. SECTION 1 - Cours 5 – Analyse INTRODUCTION L’activité d’analyse Modèle d’analyse Classes(Vocabulair Cours IGL, Copyright © 2011, ESI e, aspect statique)L’analyse Produit Interactions (aspect dynamique) 6
  7. 7. SECTION 1 - Cours 5 – Analyse INTRODUCTION L’activité d’analyse L’analyse produit un modèle appelé modèle d’analyse Le modèle est composé de deux sous -modèles : le Cours IGL, Copyright © 2011, ESI vocabulaire et les interactions Le vocabulaire désigne les concepts du domaine. Il concerne tous les acteurs et entités manipulées par ou dans le systèmes Le vocabulaire ne concerne pas uniquement les concepts mais aussi les relations entre concepts Les interactions représentent les activités impliquant plusieurs entités ou acteurs (du vocabulaire) afin de réaliser un objectif métier précis. Généralement, les interactions détaillent les cas d’utilisation. 7
  8. 8. SECTION 1 - Cours 5 – Analyse INTRODUCTION L’activité d’analyse - Exemple« à l’ESI, pour effectuer un stage, l’étudiant doitchercher un encadreur interne ou dans une entreprise Cours IGL, Copyright © 2011, ESIexterne et un sujet à réaliser. Une fois le sujet trouvé,l’étudiant le dépose au niveau du service des stages. Cedernier s’occupe de la validation du sujet en faisantappel à un enseignant de l’ESI ». 8
  9. 9. SECTION 1 - Cours 5 – Analyse INTRODUCTION L’activité d’analyse - Exemple Le vocabulaire devra contenir les concepts suivants : enseignant, étudiant, encadreur, entreprise, sujet, service Cours IGL, Copyright © 2011, ESI de stage et stage Il y a plusieurs interactions à souligner : l’interaction de recherche de sujet qui implique l’étudiant, l’entreprise, le sujet et l’encadreur. L’interaction de validation qui implique l’étudiant, le service de stages et l’enseignant. 9
  10. 10. SECTION 1 - Cours 5 – Analyse INTRODUCTIONConstruire le modèle d’analyse - Règles Se limiter aux concepts métier, s’éloigner des considérations techniques Cours IGL, Copyright © 2011, ESI Le langage du modèle d’analyse utilise le même langage que le métier Le modèle capture une vision globale sur un concept ou un processus, ne pas aller trop dans le détail Le modèle doit toujours être compréhensible et utile au client Plus le modèle est simple, plus il est meilleur 10
  11. 11. SECTION 1 - Cours 5 – Analyse INTRODUCTIONFormalisation du modèle d’analyse Le vocabulaire et les interactions peuvent être formalisés de plusieurs manière (par exemple, en langage naturel) Cours IGL, Copyright © 2011, ESI UML est un excellent moyen de formaliser le modèle d’analyse Le diagramme de classes et le diagramme d’objets permettent de formaliser le vocabulaire Les diagrammes d’interaction peuvent formaliser les interactions 11
  12. 12. COURS IGL Cours N° 5 Analyse Débat (05 Mns) 12Cours IGL, Copyright © 2011, ESI
  13. 13. COURS IGL Cours N° 5 Analyse Section 2 : Objets et classes 13Cours IGL, Copyright © 2011, ESI
  14. 14. SECTION 2 – OBJETSCours 5 – Analyse ET CLASSES L’objet Cours IGL, Copyright © 2011, ESIEtat Comportement Objet 14
  15. 15. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES L’objet Rumbaugh définit l’objet comme étant une entité discrète ayant une limite bien définie qui possède un état et un Cours IGL, Copyright © 2011, ESI comportement Un objet représente une entité du monde réel L’état de l’objet est l’ensemble des valeurs de ses attributs Le comportement d’un objet est représenté par les opérations qu’il peut effectuer. Souvent les opérations conduisent à un changement de l’état d’un objet L’objet a un identifiant unique qui permet de le distinguer des autres objets. 15
  16. 16. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES L’objet Cours IGL, Copyright © 2011, ESIEtat Comportement• Numéro de série (Identifiant) • Allumer()• Marque • Eteindre()• Modèle • Connecter()• Allumée • Filmer()• Mode (Photo / Vidéo) • PrendreUnePhoto()• Connectée à un ordinateur• Liste des photos en mémoire• Capacité• Photo en cours 16
  17. 17. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Notation UML Le diagramme qui est utilisé pour la représentation des objets est le diagramme d’objets Cours IGL, Copyright © 2011, ESI 17
  18. 18. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSESNotation UML des objets Cours IGL, Copyright © 2011, ESI Nom de l’instance compteTest :Compte Cle = 80 Numero = 11256 Attributs Proprietaire = [Mokhtar] Solde = 150000 18
  19. 19. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Notation UML des objets Les noms sont écrits en souligné Les noms des objets commencent par une minuscule. Si Cours IGL, Copyright © 2011, ESI c’est un nom composé, le début de chaque mot suivant commence par une majuscule. Par exemple : compte11256:Compte ou clientFavori:Client. Le symbole « : » sépare le nom de l’instance du nom de sa classe. Le nom de l’objet peut être anonyme (ne comporte que le nom de la classe. Par exemple : :Compte ou :Client. L’objet peut ne pas avoir de classe : par exemple amine ou compteTest. 19
  20. 20. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Notation UML des objets - Liens Un lien lie deux instances entre objets L’objet est une instance d’une classe et le lien est une Cours IGL, Copyright © 2011, ESI instance d’une association 20
  21. 21. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSESNotation UML des objets - Liens Objets compteTest :Compte Cours IGL, Copyright © 2011, ESI Cle = 80 Numero = 11256 Proprietaire = [Mokhtar] Solde = 150000 Possède amine :Personne Lien 21
  22. 22. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSESNotation UML des objets - Exemple Cours IGL, Copyright © 2011, ESI azouaou :Enseignant mostefai :Enseignant Nom = Mostefai Prenom = Mohammed Amine igl :Module conduiteDeProj et : mcsi :Module Annee = 3csc Module 22
  23. 23. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSESObjets – Notation UML - Diagrammes Un diagramme d’objets présente des objets et leurs relations à un instant T Cours IGL, Copyright © 2011, ESI Le diagramme d’objets est idéal pour donner des exemples sur des situations particulières Les liens bidirectionnels entre A B quand A et B s’envoient des messages Un lien unidirectionnel entre A vers B indique que A peut envoyer un message vers B mais pas l’inverse 23
  24. 24. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSESObjets – Notation UML - Diagrammes GradeEXEMPLE Cours IGL, Copyright © 2011, ESI EstGradé Employe Emploie * Departement 1 * EstConstituéeDe Ecole 1 24
  25. 25. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Objets – Notation UML - Diagrammes Diagramme object Pédagogie Nom du diagramme mca :Grade Lien Unidirectionnel Cours IGL, Copyright © 2011, ESI cherid :Employe balla :Employe mostefai :Employe +Directrice Etudes +Responsable CPI +Enseignant pg :Departement directionDesEtudes :Departement esi :EcoleLien Bidiectionnel Rôle 25
  26. 26. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSESDiagramme d’objet – Quand l’utiliser ? Les diagrammes d’objets sont utilisés pour donner des exemples sur des situations complexes mettant en Cours IGL, Copyright © 2011, ESI relation plusieurs concepts Les diagrammes d’objet sont facultatifs et souvent les diagrammes de classes sont suffisants pour décrire le domaine. 26
  27. 27. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Les classes Rumbaugh définit la classe comme étant un descripteur d’un ensemble d’objets qui partagent les mêmes Cours IGL, Copyright © 2011, ESI attributs, méthodes, relations et comportement La classe est le modèle d’un ensemble d’objets similaires Dans l’exemple précédent : Mostefai et Azouaou sont deux instances de la classe « Enseignant » Un objet appartient à une seule classe La classe définit la structure d’un objet (aspect statique) , son comportement (aspect dynamique) et ses relations 27
  28. 28. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Les classes Rumbaugh définit la classe comme étant un descripteur d’un ensemble d’objets qui partagent les mêmes Cours IGL, Copyright © 2011, ESI attributs, méthodes, relations et comportement La classe est le modèle d’un ensemble d’objets similaires Dans l’exemple précédent : Mostefai et Azouaou sont deux instances de la classe « Enseignant » Un objet appartient à une seule classe La classe définit la structure d’un objet (aspect statique) , son comportement (aspect dynamique) et ses relations 28
  29. 29. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSESModélisation orientée objet Cours IGL, Copyright © 2011, ESI Comment classifier ces animaux ? 29
  30. 30. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Modélisation orientée objet Ce n’est pas facile d’avoir une conception objet du monde réel Cours IGL, Copyright © 2011, ESI Les classes résultantes proviennent du point de vue de travail Les classes de l’exemples précédent peuvent être : (Animal) ou (AnimalTerrestre / AnimalMarin) ou (AnimalDomestique / AnimalSauvage) ou (AnimalComestible / AnimalNonComestible) ou (Poisson / Mammifière / Crustacé …) 30
  31. 31. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Classes et objets L’objet instancie la classe UML définit l’instanciation comme une relation de Cours IGL, Copyright © 2011, ESI dépendance avec le stéréotype « instantiate » 31
  32. 32. SECTION 2 – OBJETSCours 5 – Analyse ET CLASSES Classes et objets Module Cours IGL, Copyright © 2011, ESI - Annee: string - AssurePar: Enseignant - Nom: string «instantiate» «instantiate» «instantiate» mcsi :Module igl :Module conduiteDeProj et : Module Annee = 3csc 32
  33. 33. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML Stéréotype «entity»Nom de la classe Compte Cours IGL, Copyright © 2011, ESI - cle: string - numero: string Attributs - proprietaire: Personne - solde: double = 0 Opérations + retirer(double) : boolean + verser(double) : boolean tags Métadonnées Auteur = Amine Date = Octobre 2011 33
  34. 34. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Nom De préférence, utiliser la convention UpperCamelCase. Le nom de classe est en minuscules et la première lettre en Cours IGL, Copyright © 2011, ESI majuscules. Si le nom de la classe est composite, le nom de chaque mot composant est en minuscule et la première lettre en majuscule. Par exemple : Agent, Compte, LigneFacture, MandatPostalValide. Eviter les abbrévitiations : par exemple utiliser FactureValideDetaillee au lieu de FactureVD. Ne pas utiliser des noms verbaux car les classes représentent des « choses ». 34
  35. 35. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Visibilité La visibilité s’applique aussi bien aux attributs qu’aux opérations Cours IGL, Copyright © 2011, ESI Durant la phase d’analyse, la visibilité n’est pas importante Les langages de programmation peuvent avoir une interprétation différente de la visibilité 35
  36. 36. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Visibilité Le tableau suivant liste les visibilités utilisées dans UML Visibilité Nom Description Cours IGL, Copyright © 2011, ESI + Visibilité Accès depuis la même classe et à l’extérieur de publique la classe - Visibilité privée Accès depuis la même classe uniquement # Visibilité Accès depuis la même classe et les classes protégée descendantes ~ Visibilité paquet Accès depuis la même classe et toutes les classes appartenant au même paquet 36
  37. 37. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Types Le type peut être un type défini par UML ou l’un des types suivants : boolean, byte, char, double, float, int, Cours IGL, Copyright © 2011, ESI long, short 37
  38. 38. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Attributs Les attributs sont formulés en utilisant la syntaxe suivante : Cours IGL, Copyright © 2011, ESIVisibilité Nom_Attribut : type [multiplicité] = valeur_initiale 38
  39. 39. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Attributs Le type peut être un type défini par UML ou l’un des types suivants : boolean, byte, char, double, float, int, Cours IGL, Copyright © 2011, ESI long, short La valeur initiale indique la valeur de l’attribut quand une instance de la classe est créée Un attribut est dit statique s’il appartient à la classe, pas à une instance en particulier. Les attributs statiques sont noté en souligné. 39
  40. 40. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSESC l a s s e s – N o t a t i o n U M L – At t r i b u t s , m u l t i p l i c i té La multiplicité indique les attributs multiples. Les multiplicités sont équivalentes aux tableaux mais ont Cours IGL, Copyright © 2011, ESI plus de sémantique. Exemple 1 : int valeurs[7]. La classe contient exactement 7 valeurs. Exemple 2 : int valeurs[2..*] : la classe contient au moins 2 valeurs. Exemple 3 : int valeurs[2..7] la classe contient au minimum 2 valeurs et au maximum 7 valeurs. Exemple 4 : int valeurs [0..1] la classe contient une valeur ou null. 40
  41. 41. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - AttributsEXEMPLE Cours IGL, Copyright © 2011, ESI Etudiant + matricule : int # nom : string # prenom : string ~modules : int [2..9] - age :int = 18 - chambreAffectee : Chambre [0..1] + tuteursDeSuivi : Tuteur [2] + nombreEtudiants : int + inscriptions : Inscription [1..*] 41
  42. 42. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Opérations Les opérations sont formulés en utilisant la syntaxe suivante : Cours IGL, Copyright © 2011, ESIVisibilité Nom_Operation (direction nom_paramètre:type = valeur_défaut,….) : type_retour 42
  43. 43. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Opérations Les opérations sont nommées en utilisant une formulation lowerCamelCase Cours IGL, Copyright © 2011, ESI De préférence, utiliser des expressions verbales pour les opérations Les paramètres sont nommés en utilisant lowerCamelCase Ne pas utiliser des expressions verbales pour les paramètres Des valeurs par défaut peuvent être renseignées pour une opération. Les opérations statiques sont soulignées 43
  44. 44. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSESClasses – Notation UML - OpérationsDIRECTION DES PARAMÈTRES Direction Description Cours IGL, Copyright © 2011, ESI in p Le paramètre p est un paramètre d’entrée. p est utilisé par l’opération mais n’est pas modifié par l’opération. inout p Le paramètre p est un paramètre d’entrée / sortie. p est utilisé par l’opération et sa valeur peut être changée par l’opération. out p Le paramètre p est un paramètre de sortie. La valeur de p pourrait être modifiée par l’opération. return p Le paramètre p est un paramètre de retour. L’opération doit retourner la valeur de p. 44
  45. 45. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSESClasses – Notation UML - OpérationsEXEMPLE Cours IGL, Copyright © 2011, ESI Compte + verser(montant :double, soldeApres :double*) : void + retirer(montantOperation :double, soldeApres :double*) : void ~ caclulerCharges(tauxCalcul :double) : double 45
  46. 46. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSESClasses – Notation UML - Stéréotypes Les stéréotypes représentent un mécanisme pouvant étendre UML Cours IGL, Copyright © 2011, ESI Un stéréotype peut cibler une classe, un attribut ou une opération Plusieurs dizaines de stéréotypes sont utilisés mais les plus connus sont : actor, boundary, entity et control. Le stéréotype « acteur » représente un acteur Le stéréotype « entity » représente une entité. Une entité est un concept métier, par exemple « Compte », « Client », « Fournisseur »,… 46
  47. 47. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSESClasses – Notation UML - Stéréotypes Le stéréotype « control » représente un contrôleur. Un contrôleur est un intermédiaire entre les limites et les Cours IGL, Copyright © 2011, ESI entités. Le contrôleur se charge de l’exécution des commandes provenant de la limite. Le stéréotype « boundary » représente une limite du système qui s’interface avec l’acteur. Par exemple, interface utilisateur. 47
  48. 48. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSESClasses – Notation UML - Stéréotypes Cours IGL, Copyright © 2011, ESI InterfaceWeb GestionnaireCommandes Commande Utilisateur «control» «entity» «actor» «boundary» GestionnaireCommandes InterfaceWeb Commande Utilisateur 48
  49. 49. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSESClasses – Notation UML - Stéréotypes Commande LigneCommande Produit Client Cours IGL, Copyright © 2011, ESI GestionnaireCommandes InterfaceWeb Utilisateur 49
  50. 50. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSESClasses – Notation UML - Associations Une association est une relation entre deux classes Une association entre deux classes se traduit par un lien Cours IGL, Copyright © 2011, ESI entre deux instances de ces classes Une association décrit une relation qui a une sémantique entre les deux classes Une association peut être entre une classe et elle -même. L’association est dite réflexive. La direction détermine la navigation d’un objet vers un autre. 50
  51. 51. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSESClasses – Notation UML - AssociationsEXEMPLE Enseigne Cours IGL, Copyright © 2011, ESI Enseignant Module * * «instantiate» «instantiate» Mostefai :Enseignant IGL :Module 51
  52. 52. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSESClasses – Notation UML - Associations DirectionNom de l’association Cours IGL, Copyright © 2011, ESI Employe Module Enseigne * * Multiplicité 52
  53. 53. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSESClasses – Notation UML - Associations Cours IGL, Copyright © 2011, ESI Societe +Employeur +Employé Personne 1 * Rôle 53
  54. 54. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSESClasses – Notation UML - AssociationsNOMS DES ASSOCIATIONS Utiliser des phrases verbales Cours IGL, Copyright © 2011, ESI Il n’est pas recommandé d’utiliser les noms et les rôles. Utiliser soit le nom soit le rôle. Donner des noms explicites et lisibles. 54
  55. 55. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSESClasses – Notation UML - AssociationsMULTIPLICITÉ Multiplicité Signification Cours IGL, Copyright © 2011, ESI 0..1 Zéro ou 1 1 Exactement 1 0..* Zéro ou plusieurs * Zéro ou plusieurs 1..* 1 ou plusieurs 1..9 1à9 9 Exactement 9 1.5, 8, 20..* 1 à 5, exactement 8 ou plus de 20 55
  56. 56. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSESClasses – Notation UML - AssociationsMULTIPLICITÉ La multiplicité détermine le nombre d’objets impliqué Cours IGL, Copyright © 2011, ESI dans une association à un instant T 56
  57. 57. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSESClasses – Notation UML - AssociationsMULTIPLICITÉ – EXEMPLE 1 Cours IGL, Copyright © 2011, ESI Une voiture possède exactement 4 pneus Voiture Pneu 1 4 Un pneu appartient à exactement une voiture 57
  58. 58. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSESClasses – Notation UML - AssociationsMULTIPLICITÉ – EXEMPLE 2 Cours IGL, Copyright © 2011, ESI Une société peut avoir 0, 1 ou plusieurs employés Société Employe 1 * Un employé est employé par exactement 1 société 58
  59. 59. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSESClasses – Notation UML - AssociationsMULTIPLICITÉ – EXEMPLE 3 Cours IGL, Copyright © 2011, ESI Une société doit avoir au moins un employé Société Employe 0..1 1..* Un employé peut être employé dans une seule société ou aucune 59
  60. 60. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSESClasses – Notation UML - AssociationsMULTIPLICITÉ – EXEMPLE 4 Cours IGL, Copyright © 2011, ESI Une société peut avoir plusieurs employés (ou zéro) Société Employe 1..* * Un employé peut être employé dans au moins une société 60
  61. 61. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSESClasses – Notation UML - AssociationsMULTIPLICITÉ – EXEMPLE 5 Université Enseignant Cours IGL, Copyright © 2011, ESI Emploie 1 * 1 1 AssurerCours AssurerTD 0..3 0..4 Module 61
  62. 62. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSESClasses – Notation UML - AssociationsMULTIPLICITÉ – EXEMPLE 6 Un employé a un ou 0 supérieur Cours IGL, Copyright © 2011, ESI Employe +Subordonnes 0..* +Superieur 0..1 Un employé peut avoir 0 ou plusieurs subordonnés 62
  63. 63. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSESClasses – Notation UML - AssociationsMULTIPLICITÉ – EXEMPLE 6 Un employé a un ou 0 supérieur Cours IGL, Copyright © 2011, ESI Employe +Subordonnes 0..* +Superieur 0..1 Un employé peut avoir 0 ou plusieurs subordonnés 63
  64. 64. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSESClasses – Notation UML - AssociationsMULTIPLICITÉ – EXEMPLE 6 koudil :Employe Cours IGL, Copyright © 2011, ESI balla :Employe mostefai :Employe batata :Employe azouaou :Employe 64
  65. 65. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSESClasses – Notation UML - AssociationsNavigation – Exemple 1 Société vers Employé est navigable Cours IGL, Copyright © 2011, ESI Societe Employe 1 * Employé vers Société est navigable 65
  66. 66. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSESClasses – Notation UML - AssociationsNavigation – Exemple 2 Employé vers Grade est navigable Cours IGL, Copyright © 2011, ESI Employe Grade * 1 Grade vers Employé n’est pas navigable 66
  67. 67. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSESClasses – Notation UML - AssociationsNavigation – Exemple 3 Employé vers Grade est navigable Cours IGL, Copyright © 2011, ESI Employe Grade * X 1 Grade vers Employé n’est pas navigable 67
  68. 68. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSESClasses – Notation UML - AssociationsNavigation – Exemple 4 Société vers Employé est navigable Cours IGL, Copyright © 2011, ESI Societe Employe 1 * Employé vers Société est navigable 68
  69. 69. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSESClasses – Notation UML - AssociationsAssociations et attributs Les attributs peuvent être un autre moyen de représenter Cours IGL, Copyright © 2011, ESI une association Les associations à multiplicité multiple peuvent être représentées par des tableaux ou des collections Lors de la génération de code, les associations sont générées en tant qu’attributs 69
  70. 70. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSESClasses – Notation UML - AssociationsAssociations et attributs – Exemple 1 Employe Cours IGL, Copyright © 2011, ESI + grade: Grade Employe Grade * 1 Grade 70
  71. 71. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSESClasses – Notation UML - AssociationsAssociations et attributs – Exemple Employe + grade: Grade Cours IGL, Copyright © 2011, ESI Employe +grade Grade + societe: Societe * 1+employes * Grade +societe 1 Societe Societe + employes: Employe [0..*] 71
  72. 72. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSESClasses – Notation UML - AssociationsClasses d’association Parfois, quand il y a une association entre deux classes, Cours IGL, Copyright © 2011, ESI l’attribut ne peut être dans aucune des classes. Exemple ci-dessous : où mettre la note ? Etudiant Module * * 72
  73. 73. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSESClasses – Notation UML - AssociationsClasses d’association Les classes d’association sont de vraies classes qui Cours IGL, Copyright © 2011, ESI peuvent avoir des attributs, opérations et même d’autres opérations Etudiant Module * * Note + valeur: double 73
  74. 74. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSESClasses – Notation UML - AssociationsClasses d’association - Exemple Cours IGL, Copyright © 2011, ESI Etudiant Module * * Note Enseignant + valeur: double * * 74
  75. 75. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSESClasses – Notation UML - Dépendance En plus des associations, les classes peuvent être liées par des relation de dépendance Cours IGL, Copyright © 2011, ESI Plusieurs cas peuvent induire à une dépendance entre une classe A et une classe B : A manipule B dans une opération, B est un paramètre dans une opération de A, B est le type de retour d’une opération, A appelle une méthode B, …etc. La dépendance n’est pas réservée aux classes, elle peut être utilisée avec les paquets et les cas d’utilisation 75
  76. 76. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSESClasses – Notation UML - Dépendance Cours IGL, Copyright © 2011, ESI A B 76
  77. 77. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Héritage L’héritage est une relation entre une classe générale et une classe plus spécifique Cours IGL, Copyright © 2011, ESI Entre les deux, une relation de substitution : on peut substituer toute utilisation de l’élément général par l’élément plus spécifique L’héritage est symbolisé par le lien de généralisation La classe spécialisée hérite de tous les attributs et les opérations de la classe parente 77
  78. 78. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - HéritageEXEMPLE 1 Engin + marque: string Cours IGL, Copyright © 2011, ESI + modele: string Généralisation + getPoids() : double Voiture Camion Bus + nombrePlaces: int VoitureTouristique VoitureUtilitaire + chargeUtile: double 78
  79. 79. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Héritage Parfois une classe ne peut exister que par l’existence des classes descendantes Cours IGL, Copyright © 2011, ESI Une classe peut aussi déférer l’implémentation d’une opération à ses classes descendantes Une opération qui est sans implémentation dans la classe actuelle est une opération abstraite Une classe qui contient une ou plusieurs opérations abstraites est dite classe abstraite 79
  80. 80. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Héritage Méthodes abstraitesEXEMPLE – Classes abstraites Cours IGL, Copyright © 2011, ESI Photo + points: Point [1..*]Méthodes concrètes + getNombrePoints() : int + Dessiner() : void + getTaille() : int PhotoJPEG PhotoPNG PhotoTIFF + Dessiner() : void + Dessiner() : void + Dessiner() : void + getTaille() : int + getTaille() : int + getTaille() : int 80
  81. 81. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - HéritageLE POLYMORPHISME Une opération polymorphique est une opération qui Cours IGL, Copyright © 2011, ESI possède plusieurs implémentations Par exemple, n’importe quel compte accepte les retraits et les versements. Par contre, les comptes entreprises ont un comportement différent des comptes particuliers. Les comptes entreprises acceptent les soldes négatifs. 81
  82. 82. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - HéritageEXEMPLE – Polymorphisme Cours IGL, Copyright © 2011, ESI Compte + Verser() : void + Retirer() : void CompteParticulier CompteEntreprise + Verser() : void + Verser() : void + Retirer() : void + Retirer() : void 82
  83. 83. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES PaquetsQU’EST-CE QU’UN PAQUET ? Un paquet UML est un élément de groupage qui contient Cours IGL, Copyright © 2011, ESI plusieurs éléments UML dont éventuellement d’autres paquets Les paquets servent à organiser les éléments UML Les paquets définissent des « frontières sémantiques » du modèle Chaque élément UML appartient à exactement un paquet. Les éléments de haut niveau appartiennent à un paquet implicite appelé « root » ou « topLevel » 83
  84. 84. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSESPaquets – Notation UML Paquet Cours IGL, Copyright © 2011, ESI 84
  85. 85. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSESPaquets – Notation UML Cours IGL, Copyright © 2011, ESI 85
  86. 86. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Paquets – Espaces de noms Le paquet définit une frontière où les noms des éléments doivent être uniques Cours IGL, Copyright © 2011, ESI Si un élément doit référer à un autre élément se trouvant dans un autre paquet, il doit utiliser un « nom qualifié ». Le nom qualifié se fait en préfixant le nom de l’élément par les noms des paquets qui le contiennent Par exemple, si un paquet P1 contient un sous -paquet P2 contenant une classe C1, le nom qualifié de C1 est P1:P2:C1. 86
  87. 87. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Paquets – Dépendance Un paquet P1 dépend de P2 si un élément de P1 utilise d’une manière ou d’une autre un élément de P2 Cours IGL, Copyright © 2011, ESI 87
  88. 88. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSESPaquets – Dépendance Commun::Personne Cours IGL, Copyright © 2011, ESI Employe 88
  89. 89. COURS IGL Cours N° 5 Section 2, Classes et Objets, Analyse Débat (05 mns) 89Cours IGL, Copyright © 2011, ESI
  90. 90. COURS IGL Cours N° 5 Analyse Section 3 : Classes d’analyse 90Cours IGL, Copyright © 2011, ESI
  91. 91. SECTION 3 –CLASSES Cours 5 – Analyse D ’A N A LY S E Les classes d’analyse Les classes d’analyse sont les classes découvertes durant l’activité d’analyse Cours IGL, Copyright © 2011, ESI Les classes d’analyse correspondent à des concepts « réels » L’analyse fait ressortir les éléments suivants d’une classe : Nom, Attributs les plus importants, Opérations les plus importantes, stéréotypes (non techniques) Les éléments suivants ne sont pas importants dans l’analyse : métadonnées, paramètres des opérations, visibilité 91
  92. 92. SECTION 3 – CLASSES Cours 5 – Analyse D ’A N A LY S ESources de recensement Modèle de Modèle des cas Cours IGL, Copyright © 2011, ESI spécifications d’utilisation Toute autre source d’information relative au domaine 92
  93. 93. SECTION 3 –CLASSES Cours 5 – Analyse D ’A N A LY S EReprésentation d’une classe d’analyse Les classes d’analyse sont représentés en utilisant le diagramme des classes Cours IGL, Copyright © 2011, ESI L’ensemble des classes sont appelés « vocabulaire », « glossaire métier » ou « taxonomie du domaine » Les classes d’analyse sont une représentation de haut niveau : elles sont caractérisées par un nom, des attributs et éventuellement des opérations. Le nom de la classe est obligatoire. Les noms des attributs sont obligatoires. Leurs types facultatifs. Les paramètres et les types de retour des opérations ne sont montrés que s’ils apportent une compréhension au système 93
  94. 94. SECTION 3 – CLASSES Cours 5 – Analyse D ’A N A LY S EReprésentation d’une classe d’analyse La visibilité est généralement omise Les stéréotypes ne sont montrés que s’ils augmentent la Cours IGL, Copyright © 2011, ESI représentativité Les métadonnées ne sont montrés que s’ils augmentent la représentativité 94
  95. 95. SECTION 3 –CLASSES Cours 5 – Analyse D ’A N A LY S EReprésentation d’une classe d’analyseEXEMPLE Cours IGL, Copyright © 2011, ESI Compte numero proprietaire solde verser() retirer() 95
  96. 96. SECTION 3 – CLASSES Cours 5 – Analyse D ’A N A LY S EReprésentation d’une classe d’analyseCARACTÉRISTIQUES D’UNE BONNE CLASSE D’ANALYSE Son nom reflète son objectif Cours IGL, Copyright © 2011, ESI C’est une abstraction d’un élément clairement identifiable dans le domaine A un ensemble limité et clair de responsabilités A une grosse cohésion A un faible couplage 96
  97. 97. SECTION 3 – CLASSES Cours 5 – Analyse D ’A N A LY S ETechniques de recensement Cours IGL, Copyright © 2011, ESITechnique Techniquedes noms / des verbes stéréotypes 97
  98. 98. SECTION 3 – CLASSES Cours 5 – Analyse D ’A N A LY S E Technique des noms / verbes Technique simple qui analyse du texte pour trouver des classes, des attributs et des opérations Cours IGL, Copyright © 2011, ESI Les noms et les phrases nominales représentent les classes et les attributs Les verbes et les phrases verbales représentent les opérations Difficultés avec les termes difficiles, les synonymes et les homonymes Difficulté à trouver les classes « cachées » S’il y a des termes qui ne sont pas compris, voir avec les experts du domaine 98
  99. 99. SECTION 3 – CLASSES Cours 5 – Analyse D ’A N A LY S E Technique des noms / verbes Cours IGL, Copyright © 2011, ESICollecte d’information Analyse des• Spécifications formelles informations• Cas d’utilisation • Noms et phrases• … nominales • Verbes et phrases verbales 99
  100. 100. SECTION 3 – CLASSES Cours 5 – Analyse D ’A N A LY S ETechnique des noms / verbes - Exemple Cours IGL, Copyright © 2011, ESISpécificationsLe système doit permettre à Nomsl’utilisateur de consulter lesolde de son compte Système VerbesLe système doit permettre à Compte Verserl’utilisateur de verser de Utilisateurl’argent dans son compte Retirer ArgentLe système doit permettre à Consulterl’utilisateur de retirerl’argent de son compte 100
  101. 101. SECTION 3 – CLASSES Cours 5 – Analyse D ’A N A LY S ETechnique des noms / verbes - Exemple Compte Cours IGL, Copyright © 2011, ESI + solde: double + verser(double) : void + retirer(double) : void + consulter() : double «Actor» Utilisateur 101
  102. 102. SECTION 3 – CLASSES Cours 5 – Analyse D ’A N A LY S E Technique des stéréotypes Cette technique se concentre sur trois stéréotypes : « boundary », « entity » et « control » Cours IGL, Copyright © 2011, ESI Cette technique est complémentaire avec la technique des verbes / noms 102
  103. 103. SECTION 3 – CLASSES Cours 5 – Analyse D ’A N A LY S E Technique des stéréotypes Cours IGL, Copyright © 2011, ESITrouver les Trouver les Trouver les limites contrôleurs entités(boundary) 103
  104. 104. SECTION 3 – CLASSES Cours 5 – Analyse D ’A N A LY S E Technique des stéréotypes - Limites Les classes « boundary » représentent les limites du système Cours IGL, Copyright © 2011, ESI Ces classes communiquent avec les acteurs Trois types de classes « boundary » : classes d’interface utilisateur, classes qui s’interfacent avec d’autres systèmes et des classes qui s’interfacent avec un matériel externe (périphérique,…) Ces classes doivent rester de haut niveau (ne pas s’occuper des détails) 104
  105. 105. SECTION 3 – CLASSES Cours 5 – Analyse D ’A N A LY S ETechnique des stéréotypes - Contrôleurs Les contrôleurs sont responsable de la coordination des action permettant d’accomplir un cas d’utilisation Cours IGL, Copyright © 2011, ESI Si un contrôleur est trop compliqué, il est suggéré de le diviser en plusieurs contrôleurs 105
  106. 106. SECTION 3 – CLASSES Cours 5 – Analyse D ’A N A LY S E Technique des stéréotypes - Entités Représentent les concepts manipulés par le système Utilisés par plusieurs cas d’utilisation et plusieurs Cours IGL, Copyright © 2011, ESI contrôleurs Ces classes sont souvent persistantes (enregistrées dans des fichiers ou des BDD) 106
  107. 107. SECTION 3 – CLASSES Cours 5 – Analyse D ’A N A LY S E Technique des stéréotypes - Exemple1. Le système doit permettre à l’utilisateur de s’inscrire2. Le système doit permettre à l’utilisateur connecté de Cours IGL, Copyright © 2011, ESI consulter les formations assurés, leurs dates et les formateurs associés3. Le système doit envoyer un message mensuellement qui avertit les utilisateurs inscrits des nouvelles formations 107
  108. 108. SECTION 3 – CLASSES Cours 5 – Analyse D ’A N A LY S ETechnique des stéréotypes - ExempleActeurs Entités Contrôleurs Limites Cours IGL, Copyright © 2011, ESI InscriptionManager Formation Utilisateur InterfaceInscription NotificationManager Formateur 108
  109. 109. SECTION 3 – CLASSES Cours 5 – Analyse D ’A N A LY S E Paquets d’analyse Les classes d’analyse sont regroupées dans des « paquets d’analyse » Cours IGL, Copyright © 2011, ESI Les classes se trouvant dans le même paquet sont des classes ayant un certain lien sémantique Un bon regroupement des paquets produit une haute « cohésion » à l’intérieur d’un paquet et un faible « couplage » entre paquets 109
  110. 110. SECTION 3 – CLASSES Cours 5 – Analyse D ’A N A LY S EPaquets d’analyse - Exemple Cours IGL, Copyright © 2011, ESI 110
  111. 111. COURS IGL Cours N° 5 Section 3 : Classes d’analyse Analyse – Débat (05 Mns) 111Cours IGL, Copyright © 2011, ESI
  112. 112. COURS IGL Cours N° 5 Analyse Section 4 : Interactions 112Cours IGL, Copyright © 2011, ESI
  113. 113. SECTION 4 – Cours 5 – Analyse INTERACTIONS Introduction Les classes d’analyse représentent la structure statique du système Cours IGL, Copyright © 2011, ESI Les interactions expriment comment les instances de ces classes interagissent pour réaliser une fonction du système Les interactions expriment l’aspect dynamique du système 113
  114. 114. SECTION 4 – Cours 5 – Analyse INTERACTIONS Objectifs des interactions Trouver quelles classes qui interagissent pour un cas d’utilisation donné Cours IGL, Copyright © 2011, ESI Trouver les messages envoyés entre les classes pour réaliser un certain comportement (attributs, opérations, relations) Eventuellement, mettre à jour les modèles de besoins et d’analyse Ne pas créer d’interactions pour tous les cas d’utilisation, Uniquement pour les CUs les plus importants et les plus complexes 114
  115. 115. SECTION 4 – Cours 5 – Analyse R É A L I S AT I O N D E S C A S D ’ U T I L I S AT I O N Diagrammes comportementaux Les diagrammes comportementaux est la meilleure façon de représenter les interactions Cours IGL, Copyright © 2011, ESI Les diagrammes de séquence illustrent une séquence de messages ordonnée dans le temps Le diagramme de communication décrit les relations entre objets dans un contexte donné Le diagramme d’activité décrit le flux d’actions menant à la réalisation d’une fonction métier Le diagramme d’état démontre le changement d’état d’une entité dans le temps 115
  116. 116. COURS IGL Cours N° 5 Section 4 : Interactions, Analyse débat (05 mns) 116Cours IGL, Copyright © 2011, ESI
  117. 117. COURS IGL Cours N° 5 Section 5 : Diagrammes de Analyse séquence 117Cours IGL, Copyright © 2011, ESI
  118. 118. SECTION 5 – Cours 5 – Analyse DIAGRAMMES DE SÉQUENCE Présentation Les diagrammes de séquence (DSQ) décrivent une action ordonnée dans le temps Cours IGL, Copyright © 2011, ESI Les DSQ document les CU et font partie du modèle d’analyse Les DSQ sont composés de trois concepts principaux : les lignes de vie, les messages et les fragments 118
  119. 119. SECTION 5 – Cours 5 – Analyse DIAGRAMMES DE SÉQUENCE Lignes de vie Une ligne de vie représente un seul participant dans une interaction Cours IGL, Copyright © 2011, ESI Une ligne de vie peut représenter un objet, une instance d’une classe ou un acteur Pour représenter une interaction, des messages lient les lignes de vie 119
  120. 120. SECTION 5 – Cours 5 – Analyse DIAGRAMMES DE SÉQUENCELignes de vie – Représentation UML Objet :Employe Utilisateur Cours IGL, Copyright © 2011, ESI 120
  121. 121. SECTION 5 – Cours 5 – Analyse DIAGRAMMES DE SÉQUENCE Messages Un message représente une communication entre deux lignes de vie durant une interaction Cours IGL, Copyright © 2011, ESI Un message peut s’agir de l’appel d’une opération Un message peut s’agir de la création ou de la destruction d’instance Un message peut s’agir d’envoi d’un signal Quand une ligne de vie reçoit un message, ça correspond généralement à l’appel d’une opération ayant la même signature Quand une ligne de vie reçoit un message, elle obtient sont activation. L’activation change de ligne de vie à travers le temps. 121
  122. 122. SECTION 5 – Cours 5 – Analyse DIAGRAMMES DE SÉQUENCE Messages Type de message DescriptionMessage synchrone L’émetteur attend que le récepteur termine l’opération Cours IGL, Copyright © 2011, ESI pour passer à l’étape suivanteMessage asynchrone L’émetteur envoie le message puis continue son exécution sans attendre la fin chez le récepteurMessage de retour L’émetteur récupère l’activation suite à l’avoir perdu en envoyant un message au destinataireMessage de création Le message provoque la création du destinataireMessage de destruction Le message provoque la destruction du destinataireMessage found L’émetteur de ce message ne fait pas partie de l’interaction.Message lost Le destinataire ne reçoit jamais ce message. Peut indiquer des situation d’erreur. 122
  123. 123. SECTION 5 – Cours 5 – Analyse DIAGRAMMES DE SÉQUENCE Messages LV1 LV2 MessageSynchrone Cours IGL, Copyright © 2011, ESI MessageSynchrone(P1, P2, P3)Message de retour MessageRetour() MessageAsynchrone MessageAsynchrone(P4, P5) Activation 123
  124. 124. SECTION 5 – Cours 5 – Analyse DIAGRAMMES DE SÉQUENCE Messages LVMessage De Création Cours IGL, Copyright © 2011, ESI object:Classe AppelOperation()Message DeDestruction Suppression() 124
  125. 125. SECTION 5 – Cours 5 – Analyse DIAGRAMMES DE SÉQUENCE Messages LV1 LV2Message Found Cours IGL, Copyright © 2011, ESI AppelExterne() Appel()Message Lost AppelPerdu() 125
  126. 126. SECTION 5 –Cours 5 – Analyse DIAGRAMMES DE SÉQUENCE DSQ - Exemple AppliquerUnEffet Cours IGL, Copyright © 2011, ESI Utilisateur AjouterUnAlbum ConsulterUnAlbum DupliquerAlbum 126
  127. 127. SECTION 5 –Cours 5 – Analyse DIAGRAMMES DE SÉQUENCE DSQ - Exemple Cours IGL, Copyright © 2011, ESI MiseAjourStatistiqueAlbumsTemps 127
  128. 128. SECTION 5 – Cours 5 – Analyse DIAGRAMMES DE SÉQUENCE DSQ - Exemple «actor» Utilisateur Cours IGL, Copyright © 2011, ESI Album 1 * PhotoAlbumManager InterfaceAlbums StatManager 128
  129. 129. SECTION 5 – Cours 5 – Analyse DIAGRAMMES DE SÉQUENCEDiagrammes de séquences - Exemple CU: AppliquerUnEffet ID: 1 Description brève : Appliquer un effet spécial à une photo d’un album. Chaque effet est identifié Cours IGL, Copyright © 2011, ESI par un numéro. Acteurs primaires : Utilisateurs Acteurs secondaires : Aucun Préconditions : le client doit être authentifié Enchaînement principal 1. L’utilisateur sélectionne un album 2. L’utilisateur sélectionne la photo désirée de l’album 3. L’utilisateur applique l’effet désiré en indiquant son numéro. Postconditions : Enchaînement s alternatifs : 129
  130. 130. SECTION 5 – Cours 5 – Analyse DIAGRAMMES DE SÉQUENCE DSQ – Appliquer un effet Lignes de vie :Album :Photo Cours IGL, Copyright © 2011, ESIUtilisateur AlbumManager getAlbum(id:int) :Album Activation getPhoto(idPhoto :int) :Photo :Photo appliquerEffet(idEffet :int) Messages 130
  131. 131. SECTION 5 – Cours 5 – Analyse DIAGRAMMES DE SÉQUENCEDSQ – Appliquer un effet :Album :Photo Cours IGL, Copyright © 2011, ESIUtilisateur AlbumManager getAlbum(id:int) :Album getPhoto(idPhoto :int) :Photo :Photo appliquerEffet(idEffet :int) 131
  132. 132. SECTION 5 – Cours 5 – Analyse DIAGRAMMES DE SÉQUENCE DSQ – Ajouter un albumCU: AjouterUnAlbumID: 2Description brève : Création d’un nouvel album par l’utilisateur Cours IGL, Copyright © 2011, ESIActeurs primaires : UtilisateursActeurs secondaires : AucunPréconditions : le client doit être authentifiéEnchaînement principal1. Le CU démarre quand l’utilisateur clique sur le bouton « nouveau »2. L’utilisateur donne un nom à l’album3. L’utilisateur enregistre l’albumPostconditions :Enchaînement s alternatifs : 132
  133. 133. SECTION 5 – Cours 5 – Analyse DIAGRAMMES DE SÉQUENCEDSQ – Ajouter un album Cours IGL, Copyright © 2011, ESI Utilisateur AlbumManager ajouterAlbum() :Album :Album :Album renommer(String) enregistrerAlbum(Album) 133
  134. 134. SECTION 5 – Cours 5 – Analyse DIAGRAMMES DE SÉQUENCE DSQ – Consulter un albumCU: Consulter un albumID: 3Description brève : L’utilisateur consulte un album et les photos qui le composent Cours IGL, Copyright © 2011, ESIActeurs primaires : UtilisateursActeurs secondaires : AucunPréconditions : le client doit être authentifiéEnchaînement principal1. Le CU démarre quand l’utilisateur clique sur l’album sélectionné2. L’album adapte son affichage selon la résolution3. L’album affiche les photos le composant selon la résolutionPostconditions :Enchaînement s alternatifs : 134
  135. 135. SECTION 5 – Cours 5 – Analyse DIAGRAMMES DE SÉQUENCE DSQ – Consulter un album :Album Cours IGL, Copyright © 2011, ESIUtilisateur InterfaceAlbums AlbumManager clic(album :Album) getAlbum(id :int) :Album Activations :Album réflexives getResolution() :int afficher(resolution :int) adapter(resolution :int) 135
  136. 136. SECTION 5 – Cours 5 – Analyse DIAGRAMMES DE SÉQUENCE DSQ – Consulter un album :Album Cours IGL, Copyright © 2011, ESIUtilisateur InterfaceAlbums AlbumManager clic(album :Album) getAlbum(id :int) :Album :Album getResolution() :int afficher(resolution :int) adapter(resolution :int) 136

×