Suche senden
Hochladen
Génie Logiciel - Cours 5 - analyse
•
Als PPSX, PDF herunterladen
•
6 gefällt mir
•
5,499 views
Mohammed Amine Mostefai
Folgen
Melden
Teilen
Melden
Teilen
1 von 181
Jetzt herunterladen
Empfohlen
Génie Logiciel : Conception
Génie Logiciel : Conception
Mohammed Amine Mostefai
Génie Logiciels : Introduction aux architectures
Génie Logiciels : Introduction aux architectures
Mohammed Amine Mostefai
Igl cours 4 - expression de besoins
Igl cours 4 - expression de besoins
Mohammed Amine Mostefai
Cycle de développement du logiciel
Cycle de développement du logiciel
Majid CHADAD
Architectures distribuées
Architectures distribuées
Franck SIMON
UML Diagrammes Dynamiques
UML Diagrammes Dynamiques
'Farouk' 'BEN GHARSSALLAH'
diagramme des cas d'utilisation
diagramme des cas d'utilisation
Amir Souissi
Chp3 - Architecture Logicielle des Applications Mobiles
Chp3 - Architecture Logicielle des Applications Mobiles
Lilia Sfaxi
Empfohlen
Génie Logiciel : Conception
Génie Logiciel : Conception
Mohammed Amine Mostefai
Génie Logiciels : Introduction aux architectures
Génie Logiciels : Introduction aux architectures
Mohammed Amine Mostefai
Igl cours 4 - expression de besoins
Igl cours 4 - expression de besoins
Mohammed Amine Mostefai
Cycle de développement du logiciel
Cycle de développement du logiciel
Majid CHADAD
Architectures distribuées
Architectures distribuées
Franck SIMON
UML Diagrammes Dynamiques
UML Diagrammes Dynamiques
'Farouk' 'BEN GHARSSALLAH'
diagramme des cas d'utilisation
diagramme des cas d'utilisation
Amir Souissi
Chp3 - Architecture Logicielle des Applications Mobiles
Chp3 - Architecture Logicielle des Applications Mobiles
Lilia Sfaxi
Uml: Diagrammes de classes -- Concepts avances --- 27
Uml: Diagrammes de classes -- Concepts avances --- 27
megaplanet20
diagramme de séquence UML
diagramme de séquence UML
Amir Souissi
cycle de vie
cycle de vie
Shili Mohamed
L Architecture Logicielle En Pratique
L Architecture Logicielle En Pratique
François Trudel
Chap5 diagramme d'etats-transitions
Chap5 diagramme d'etats-transitions
Amir Souissi
diagramme de classe
diagramme de classe
Amir Souissi
Rapport pfe talan_2018_donia_hammami
Rapport pfe talan_2018_donia_hammami
Donia Hammami
UML Part 4- diagrammres de classes et d'objets mansouri
UML Part 4- diagrammres de classes et d'objets mansouri
Mansouri Khalifa
Chp4 - Diagramme de Séquence
Chp4 - Diagramme de Séquence
Lilia Sfaxi
Gestion billetterie de cinéma
Gestion billetterie de cinéma
mohamedgoumih
Chp2 - Vers les Architectures Orientées Services
Chp2 - Vers les Architectures Orientées Services
Lilia Sfaxi
Modèle en cascade
Modèle en cascade
Ghodhbane Mohamed Amine
Cours Génie Logiciel 2016
Cours Génie Logiciel 2016
Erradi Mohamed
Architectures n-tiers
Architectures n-tiers
Heithem Abbes
Architectures 3-tiers (Web)
Architectures 3-tiers (Web)
Heithem Abbes
TD1-UML-correction
TD1-UML-correction
Lilia Sfaxi
Cours Génie Logiciel - Cours 2 - Cycles de vie
Cours Génie Logiciel - Cours 2 - Cycles de vie
Mohammed Amine Mostefai
Syntaxe concrète des DSL en IDM [avec Xtext]
Syntaxe concrète des DSL en IDM [avec Xtext]
Olivier Le Goaër
exercices Corrigées du merise
exercices Corrigées du merise
Yassine Badri
conception de gestion d'une station de service
conception de gestion d'une station de service
Nesrine Hached
Génie Logiciel : les tests
Génie Logiciel : les tests
Mohammed Amine Mostefai
Chp1 intro conception
Chp1 intro conception
Mohamed Awadhi
Weitere ähnliche Inhalte
Was ist angesagt?
Uml: Diagrammes de classes -- Concepts avances --- 27
Uml: Diagrammes de classes -- Concepts avances --- 27
megaplanet20
diagramme de séquence UML
diagramme de séquence UML
Amir Souissi
cycle de vie
cycle de vie
Shili Mohamed
L Architecture Logicielle En Pratique
L Architecture Logicielle En Pratique
François Trudel
Chap5 diagramme d'etats-transitions
Chap5 diagramme d'etats-transitions
Amir Souissi
diagramme de classe
diagramme de classe
Amir Souissi
Rapport pfe talan_2018_donia_hammami
Rapport pfe talan_2018_donia_hammami
Donia Hammami
UML Part 4- diagrammres de classes et d'objets mansouri
UML Part 4- diagrammres de classes et d'objets mansouri
Mansouri Khalifa
Chp4 - Diagramme de Séquence
Chp4 - Diagramme de Séquence
Lilia Sfaxi
Gestion billetterie de cinéma
Gestion billetterie de cinéma
mohamedgoumih
Chp2 - Vers les Architectures Orientées Services
Chp2 - Vers les Architectures Orientées Services
Lilia Sfaxi
Modèle en cascade
Modèle en cascade
Ghodhbane Mohamed Amine
Cours Génie Logiciel 2016
Cours Génie Logiciel 2016
Erradi Mohamed
Architectures n-tiers
Architectures n-tiers
Heithem Abbes
Architectures 3-tiers (Web)
Architectures 3-tiers (Web)
Heithem Abbes
TD1-UML-correction
TD1-UML-correction
Lilia Sfaxi
Cours Génie Logiciel - Cours 2 - Cycles de vie
Cours Génie Logiciel - Cours 2 - Cycles de vie
Mohammed Amine Mostefai
Syntaxe concrète des DSL en IDM [avec Xtext]
Syntaxe concrète des DSL en IDM [avec Xtext]
Olivier Le Goaër
exercices Corrigées du merise
exercices Corrigées du merise
Yassine Badri
conception de gestion d'une station de service
conception de gestion d'une station de service
Nesrine Hached
Was ist angesagt?
(20)
Uml: Diagrammes de classes -- Concepts avances --- 27
Uml: Diagrammes de classes -- Concepts avances --- 27
diagramme de séquence UML
diagramme de séquence UML
cycle de vie
cycle de vie
L Architecture Logicielle En Pratique
L Architecture Logicielle En Pratique
Chap5 diagramme d'etats-transitions
Chap5 diagramme d'etats-transitions
diagramme de classe
diagramme de classe
Rapport pfe talan_2018_donia_hammami
Rapport pfe talan_2018_donia_hammami
UML Part 4- diagrammres de classes et d'objets mansouri
UML Part 4- diagrammres de classes et d'objets mansouri
Chp4 - Diagramme de Séquence
Chp4 - Diagramme de Séquence
Gestion billetterie de cinéma
Gestion billetterie de cinéma
Chp2 - Vers les Architectures Orientées Services
Chp2 - Vers les Architectures Orientées Services
Modèle en cascade
Modèle en cascade
Cours Génie Logiciel 2016
Cours Génie Logiciel 2016
Architectures n-tiers
Architectures n-tiers
Architectures 3-tiers (Web)
Architectures 3-tiers (Web)
TD1-UML-correction
TD1-UML-correction
Cours Génie Logiciel - Cours 2 - Cycles de vie
Cours Génie Logiciel - Cours 2 - Cycles de vie
Syntaxe concrète des DSL en IDM [avec Xtext]
Syntaxe concrète des DSL en IDM [avec Xtext]
exercices Corrigées du merise
exercices Corrigées du merise
conception de gestion d'une station de service
conception de gestion d'une station de service
Ähnlich wie Génie Logiciel - Cours 5 - analyse
Génie Logiciel : les tests
Génie Logiciel : les tests
Mohammed Amine Mostefai
Chp1 intro conception
Chp1 intro conception
Mohamed Awadhi
Chp1 intro conception
Chp1 intro conception
Mohamed Awadhi
Thesis+of+nesrine+abdelkafi.ppt
Thesis+of+nesrine+abdelkafi.ppt
Ptidej Team
Uml upxp2
Uml upxp2
Joubi Aaziz
Agilité : une main de fer dans un gant de velours
Agilité : une main de fer dans un gant de velours
HSBC Private Bank
Présentation du logiciel SOCLE
Présentation du logiciel SOCLE
socle
Ähnlich wie Génie Logiciel - Cours 5 - analyse
(7)
Génie Logiciel : les tests
Génie Logiciel : les tests
Chp1 intro conception
Chp1 intro conception
Chp1 intro conception
Chp1 intro conception
Thesis+of+nesrine+abdelkafi.ppt
Thesis+of+nesrine+abdelkafi.ppt
Uml upxp2
Uml upxp2
Agilité : une main de fer dans un gant de velours
Agilité : une main de fer dans un gant de velours
Présentation du logiciel SOCLE
Présentation du logiciel SOCLE
Mehr von Mohammed Amine Mostefai
Utilisation de Sharepoint (Collaboration)
Utilisation de Sharepoint (Collaboration)
Mohammed Amine Mostefai
Utilisation de Sharepoint 2013 - Personnalisation
Utilisation de Sharepoint 2013 - Personnalisation
Mohammed Amine Mostefai
Utilisation Sharepoint (Listes)
Utilisation Sharepoint (Listes)
Mohammed Amine Mostefai
Utilisation de Sharepoint - Gestion de Documents
Utilisation de Sharepoint - Gestion de Documents
Mohammed Amine Mostefai
Utilisation de Sharepoiunt - Introduction
Utilisation de Sharepoiunt - Introduction
Mohammed Amine Mostefai
Pratiques agiles
Pratiques agiles
Mohammed Amine Mostefai
Introduction à Scrum
Introduction à Scrum
Mohammed Amine Mostefai
Méthodes Agiles - La Méthode XP
Méthodes Agiles - La Méthode XP
Mohammed Amine Mostefai
Le Manifeste Agile
Le Manifeste Agile
Mohammed Amine Mostefai
Méthodes Agiles - Généralités
Méthodes Agiles - Généralités
Mohammed Amine Mostefai
Introduction aux technologies mobiles
Introduction aux technologies mobiles
Mohammed Amine Mostefai
Workflow Foundation - Cours 5
Workflow Foundation - Cours 5
Mohammed Amine Mostefai
Workflow Foundation Module 4
Workflow Foundation Module 4
Mohammed Amine Mostefai
Présentation cloud journée azure
Présentation cloud journée azure
Mohammed Amine Mostefai
Wf module3
Wf module3
Mohammed Amine Mostefai
Microsoft Workflow Foundation - Cours 2
Microsoft Workflow Foundation - Cours 2
Mohammed Amine Mostefai
Introduction to Workflow Foundation
Introduction to Workflow Foundation
Mohammed Amine Mostefai
Le Langage CSS
Le Langage CSS
Mohammed Amine Mostefai
Sécurisation des applications ASP.NET
Sécurisation des applications ASP.NET
Mohammed Amine Mostefai
Présentation sharepoint 2013
Présentation sharepoint 2013
Mohammed Amine Mostefai
Mehr von Mohammed Amine Mostefai
(20)
Utilisation de Sharepoint (Collaboration)
Utilisation de Sharepoint (Collaboration)
Utilisation de Sharepoint 2013 - Personnalisation
Utilisation de Sharepoint 2013 - Personnalisation
Utilisation Sharepoint (Listes)
Utilisation Sharepoint (Listes)
Utilisation de Sharepoint - Gestion de Documents
Utilisation de Sharepoint - Gestion de Documents
Utilisation de Sharepoiunt - Introduction
Utilisation de Sharepoiunt - Introduction
Pratiques agiles
Pratiques agiles
Introduction à Scrum
Introduction à Scrum
Méthodes Agiles - La Méthode XP
Méthodes Agiles - La Méthode XP
Le Manifeste Agile
Le Manifeste Agile
Méthodes Agiles - Généralités
Méthodes Agiles - Généralités
Introduction aux technologies mobiles
Introduction aux technologies mobiles
Workflow Foundation - Cours 5
Workflow Foundation - Cours 5
Workflow Foundation Module 4
Workflow Foundation Module 4
Présentation cloud journée azure
Présentation cloud journée azure
Wf module3
Wf module3
Microsoft Workflow Foundation - Cours 2
Microsoft Workflow Foundation - Cours 2
Introduction to Workflow Foundation
Introduction to Workflow Foundation
Le Langage CSS
Le Langage CSS
Sécurisation des applications ASP.NET
Sécurisation des applications ASP.NET
Présentation sharepoint 2013
Présentation sharepoint 2013
Génie Logiciel - Cours 5 - analyse
1.
COURS IGL
COURS 5 ANALYSE Cours 5 : Analyse Mostefai Mohammed Amine – m_mostefai@esi.dz Batata Sofiane – s_batata@esi.dz 1
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.
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 3 Cours IGL, Copyright © 2011, ESI
4.
COURS IGL
Cours N° 5 Analyse Section 1 : Introduction 4 Cours IGL, Copyright © 2011, ESI
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.
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.
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.
SECTION 1 -
Cours 5 – Analyse INTRODUCTION L’activité d’analyse - Exemple « à l’ESI, pour effectuer un stage, l’étudiant doit chercher un encadreur interne ou dans une entreprise Cours IGL, Copyright © 2011, ESI externe et un sujet à réaliser. Une fois le sujet trouvé, l’étudiant le dépose au niveau du service des stages. Ce dernier s’occupe de la validation du sujet en faisant appel à un enseignant de l’ESI ». 8
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.
SECTION 1 -
Cours 5 – Analyse INTRODUCTION Construire 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.
SECTION 1 -
Cours 5 – Analyse INTRODUCTION Formalisation 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.
COURS IGL
Cours N° 5 Analyse Débat (05 Mns) 12 Cours IGL, Copyright © 2011, ESI
13.
COURS IGL
Cours N° 5 Analyse Section 2 : Objets et classes 13 Cours IGL, Copyright © 2011, ESI
14.
SECTION 2 –
OBJETS Cours 5 – Analyse ET CLASSES L’objet Cours IGL, Copyright © 2011, ESI Etat Comportement Objet 14
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.
SECTION 2 –
OBJETS Cours 5 – Analyse ET CLASSES L’objet Cours IGL, Copyright © 2011, ESI Etat 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.
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.
SECTION 2 –
OBJETS Cours 5 – Analyse ET CLASSES Notation 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.
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.
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.
SECTION 2 –
OBJETS Cours 5 – Analyse ET CLASSES Notation 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.
SECTION 2 –
OBJETS Cours 5 – Analyse ET CLASSES Notation 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.
SECTION 2 –
OBJETS Cours 5 – Analyse ET CLASSES Objets – 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.
SECTION 2 –
OBJETS Cours 5 – Analyse ET CLASSES Objets – Notation UML - Diagrammes Grade EXEMPLE Cours IGL, Copyright © 2011, ESI EstGradé Employe Emploie * Departement 1 * EstConstituéeDe Ecole 1 24
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 :Ecole Lien Bidiectionnel Rôle 25
26.
SECTION 2 –
OBJETS Cours 5 – Analyse ET CLASSES Diagramme 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.
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.
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.
SECTION 2 –
OBJETS Cours 5 – Analyse ET CLASSES Modélisation orientée objet Cours IGL, Copyright © 2011, ESI Comment classifier ces animaux ? 29
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.
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.
SECTION 2 –
OBJETS Cours 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.
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.
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.
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.
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.
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.
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, ESI Visibilité Nom_Attribut : type [multiplicité] = valeur_initiale 38
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.
SECTION 2 –
OBJETS Cours 5 – Analyse ET CLASSES C 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.
SECTION 2 –
OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Attributs EXEMPLE 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.
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, ESI Visibilité Nom_Operation (direction nom_paramètre: type = valeur_défaut,….) : type_retour 42
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.
SECTION 2 –
OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Opérations DIRECTION 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.
SECTION 2 –
OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Opérations EXEMPLE Cours IGL, Copyright © 2011, ESI Compte + verser(montant :double, soldeApres :double*) : void + retirer(montantOperation :double, soldeApres :double*) : void ~ caclulerCharges(tauxCalcul :double) : double 45
46.
SECTION 2 –
OBJETS Cours 5 – Analyse ET CLASSES Classes – 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.
SECTION 2 –
OBJETS Cours 5 – Analyse ET CLASSES Classes – 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.
SECTION 2 –
OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Stéréotypes Cours IGL, Copyright © 2011, ESI InterfaceWeb GestionnaireCommandes Commande Utilisateur «control» «entity» «actor» «boundary» GestionnaireCommandes InterfaceWeb Commande Utilisateur 48
49.
SECTION 2 –
OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Stéréotypes Commande LigneCommande Produit Client Cours IGL, Copyright © 2011, ESI GestionnaireCommandes InterfaceWeb Utilisateur 49
50.
SECTION 2 –
OBJETS Cours 5 – Analyse ET CLASSES Classes – 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.
SECTION 2 –
OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Associations EXEMPLE Enseigne Cours IGL, Copyright © 2011, ESI Enseignant Module * * «instantiate» «instantiate» Mostefai :Enseignant IGL :Module 51
52.
SECTION 2 –
OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Associations Direction Nom de l’association Cours IGL, Copyright © 2011, ESI Employe Module Enseigne * * Multiplicité 52
53.
SECTION 2 –
OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Associations Cours IGL, Copyright © 2011, ESI Societe +Employeur +Employé Personne 1 * Rôle 53
54.
SECTION 2 –
OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Associations NOMS 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.
SECTION 2 –
OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Associations MULTIPLICITÉ 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.
SECTION 2 –
OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Associations MULTIPLICITÉ La multiplicité détermine le nombre d’objets impliqué Cours IGL, Copyright © 2011, ESI dans une association à un instant T 56
57.
SECTION 2 –
OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Associations MULTIPLICITÉ – 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.
SECTION 2 –
OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Associations MULTIPLICITÉ – 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.
SECTION 2 –
OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Associations MULTIPLICITÉ – 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.
SECTION 2 –
OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Associations MULTIPLICITÉ – 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.
SECTION 2 –
OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Associations MULTIPLICITÉ – EXEMPLE 5 Université Enseignant Cours IGL, Copyright © 2011, ESI Emploie 1 * 1 1 AssurerCours AssurerTD 0..3 0..4 Module 61
62.
SECTION 2 –
OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Associations MULTIPLICITÉ – 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.
SECTION 2 –
OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Associations MULTIPLICITÉ – 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.
SECTION 2 –
OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Associations MULTIPLICITÉ – EXEMPLE 6 koudil :Employe Cours IGL, Copyright © 2011, ESI balla :Employe mostefai :Employe batata :Employe azouaou :Employe 64
65.
SECTION 2 –
OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Associations Navigation – Exemple 1 Société vers Employé est navigable Cours IGL, Copyright © 2011, ESI Societe Employe 1 * Employé vers Société est navigable 65
66.
SECTION 2 –
OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Associations Navigation – Exemple 2 Employé vers Grade est navigable Cours IGL, Copyright © 2011, ESI Employe Grade * 1 Grade vers Employé n’est pas navigable 66
67.
SECTION 2 –
OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Associations Navigation – 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.
SECTION 2 –
OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Associations Navigation – Exemple 4 Société vers Employé est navigable Cours IGL, Copyright © 2011, ESI Societe Employe 1 * Employé vers Société est navigable 68
69.
SECTION 2 –
OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Associations Associations 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.
SECTION 2 –
OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Associations Associations et attributs – Exemple 1 Employe Cours IGL, Copyright © 2011, ESI + grade: Grade Employe Grade * 1 Grade 70
71.
SECTION 2 –
OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Associations Associations 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.
SECTION 2 –
OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Associations Classes 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.
SECTION 2 –
OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Associations Classes 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.
SECTION 2 –
OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Associations Classes d’association - Exemple Cours IGL, Copyright © 2011, ESI Etudiant Module * * Note Enseignant + valeur: double * * 74
75.
SECTION 2 –
OBJETS Cours 5 – Analyse ET CLASSES Classes – 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.
SECTION 2 –
OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Dépendance Cours IGL, Copyright © 2011, ESI A B 76
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.
SECTION 2 –
OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Héritage EXEMPLE 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.
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.
SECTION 2 –
OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Héritage Méthodes abstraites EXEMPLE – 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.
SECTION 2 –
OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Héritage LE 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.
SECTION 2 –
OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Héritage EXEMPLE – Polymorphisme Cours IGL, Copyright © 2011, ESI Compte + Verser() : void + Retirer() : void CompteParticulier CompteEntreprise + Verser() : void + Verser() : void + Retirer() : void + Retirer() : void 82
83.
SECTION 2 –
OBJETS Cours 5 – Analyse ET CLASSES Paquets QU’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.
SECTION 2 –
OBJETS Cours 5 – Analyse ET CLASSES Paquets – Notation UML Paquet Cours IGL, Copyright © 2011, ESI 84
85.
SECTION 2 –
OBJETS Cours 5 – Analyse ET CLASSES Paquets – Notation UML Cours IGL, Copyright © 2011, ESI 85
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.
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.
SECTION 2 –
OBJETS Cours 5 – Analyse ET CLASSES Paquets – Dépendance Commun::Personne Cours IGL, Copyright © 2011, ESI Employe 88
89.
COURS IGL
Cours N° 5 Section 2, Classes et Objets, Analyse Débat (05 mns) 89 Cours IGL, Copyright © 2011, ESI
90.
COURS IGL
Cours N° 5 Analyse Section 3 : Classes d’analyse 90 Cours IGL, Copyright © 2011, ESI
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.
SECTION 3 –
CLASSES Cours 5 – Analyse D ’A N A LY S E Sources 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.
SECTION 3 –CLASSES
Cours 5 – Analyse D ’A N A LY S E Repré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.
SECTION 3 –
CLASSES Cours 5 – Analyse D ’A N A LY S E Repré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.
SECTION 3 –CLASSES
Cours 5 – Analyse D ’A N A LY S E Représentation d’une classe d’analyse EXEMPLE Cours IGL, Copyright © 2011, ESI Compte numero proprietaire solde verser() retirer() 95
96.
SECTION 3 –
CLASSES Cours 5 – Analyse D ’A N A LY S E Représentation d’une classe d’analyse CARACTÉ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.
SECTION 3 –
CLASSES Cours 5 – Analyse D ’A N A LY S E Techniques de recensement Cours IGL, Copyright © 2011, ESI Technique Technique des noms / des verbes stéréotypes 97
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.
SECTION 3 –
CLASSES Cours 5 – Analyse D ’A N A LY S E Technique des noms / verbes Cours IGL, Copyright © 2011, ESI Collecte d’information Analyse des • Spécifications formelles informations • Cas d’utilisation • Noms et phrases • … nominales • Verbes et phrases verbales 99
100.
SECTION 3 –
CLASSES Cours 5 – Analyse D ’A N A LY S E Technique des noms / verbes - Exemple Cours IGL, Copyright © 2011, ESI Spécifications Le système doit permettre à Noms l’utilisateur de consulter le solde de son compte Système Verbes Le système doit permettre à Compte Verser l’utilisateur de verser de Utilisateur l’argent dans son compte Retirer Argent Le système doit permettre à Consulter l’utilisateur de retirer l’argent de son compte 100
101.
SECTION 3 –
CLASSES Cours 5 – Analyse D ’A N A LY S E Technique des noms / verbes - Exemple Compte Cours IGL, Copyright © 2011, ESI + solde: double + verser(double) : void + retirer(double) : void + consulter() : double «Actor» Utilisateur 101
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.
SECTION 3 –
CLASSES Cours 5 – Analyse D ’A N A LY S E Technique des stéréotypes Cours IGL, Copyright © 2011, ESI Trouver les Trouver les Trouver les limites contrôleurs entités (boundary) 103
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.
SECTION 3 –
CLASSES Cours 5 – Analyse D ’A N A LY S E Technique 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.
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.
SECTION 3 –
CLASSES Cours 5 – Analyse D ’A N A LY S E Technique des stéréotypes - Exemple 1. Le système doit permettre à l’utilisateur de s’inscrire 2. 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és 3. Le système doit envoyer un message mensuellement qui avertit les utilisateurs inscrits des nouvelles formations 107
108.
SECTION 3 –
CLASSES Cours 5 – Analyse D ’A N A LY S E Technique des stéréotypes - Exemple Acteurs Entités Contrôleurs Limites Cours IGL, Copyright © 2011, ESI InscriptionManager Formation Utilisateur InterfaceInscription NotificationManager Formateur 108
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.
SECTION 3 –
CLASSES Cours 5 – Analyse D ’A N A LY S E Paquets d’analyse - Exemple Cours IGL, Copyright © 2011, ESI 110
111.
COURS IGL
Cours N° 5 Section 3 : Classes d’analyse Analyse – Débat (05 Mns) 111 Cours IGL, Copyright © 2011, ESI
112.
COURS IGL
Cours N° 5 Analyse Section 4 : Interactions 112 Cours IGL, Copyright © 2011, ESI
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.
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.
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.
COURS IGL
Cours N° 5 Section 4 : Interactions, Analyse débat (05 mns) 116 Cours IGL, Copyright © 2011, ESI
117.
COURS IGL
Cours N° 5 Section 5 : Diagrammes de Analyse séquence 117 Cours IGL, Copyright © 2011, ESI
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.
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.
SECTION 5 –
Cours 5 – Analyse DIAGRAMMES DE SÉQUENCE Lignes de vie – Représentation UML Objet :Employe Utilisateur Cours IGL, Copyright © 2011, ESI 120
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.
SECTION 5 –
Cours 5 – Analyse DIAGRAMMES DE SÉQUENCE Messages Type de message Description Message synchrone L’émetteur attend que le récepteur termine l’opération Cours IGL, Copyright © 2011, ESI pour passer à l’étape suivante Message asynchrone L’émetteur envoie le message puis continue son exécution sans attendre la fin chez le récepteur Message de retour L’émetteur récupère l’activation suite à l’avoir perdu en envoyant un message au destinataire Message de création Le message provoque la création du destinataire Message de destruction Le message provoque la destruction du destinataire Message 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.
SECTION 5 –
Cours 5 – Analyse DIAGRAMMES DE SÉQUENCE Messages LV1 LV2 Message Synchrone Cours IGL, Copyright © 2011, ESI MessageSynchrone(P1, P2, P3) Message de retour MessageRetour() Message Asynchrone MessageAsynchrone(P4, P5) Activation 123
124.
SECTION 5 –
Cours 5 – Analyse DIAGRAMMES DE SÉQUENCE Messages LV Message De Création Cours IGL, Copyright © 2011, ESI object:Classe AppelOperation() Message De Destruction Suppression() 124
125.
SECTION 5 –
Cours 5 – Analyse DIAGRAMMES DE SÉQUENCE Messages LV1 LV2 Message Found Cours IGL, Copyright © 2011, ESI AppelExterne() Appel() Message Lost AppelPerdu() 125
126.
SECTION 5 – Cours
5 – Analyse DIAGRAMMES DE SÉQUENCE DSQ - Exemple AppliquerUnEffet Cours IGL, Copyright © 2011, ESI Utilisateur AjouterUnAlbum ConsulterUnAlbum DupliquerAlbum 126
127.
SECTION 5 – Cours
5 – Analyse DIAGRAMMES DE SÉQUENCE DSQ - Exemple Cours IGL, Copyright © 2011, ESI MiseAjourStatistiqueAlbums Temps 127
128.
SECTION 5 –
Cours 5 – Analyse DIAGRAMMES DE SÉQUENCE DSQ - Exemple «actor» Utilisateur Cours IGL, Copyright © 2011, ESI Album 1 * Photo AlbumManager InterfaceAlbums StatManager 128
129.
SECTION 5 –
Cours 5 – Analyse DIAGRAMMES DE SÉQUENCE Diagrammes 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.
SECTION 5 –
Cours 5 – Analyse DIAGRAMMES DE SÉQUENCE DSQ – Appliquer un effet Lignes de vie :Album :Photo Cours IGL, Copyright © 2011, ESI Utilisateur AlbumManager getAlbum(id:int) :Album Activation getPhoto(idPhoto :int) :Photo :Photo appliquerEffet(idEffet :int) Messages 130
131.
SECTION 5 –
Cours 5 – Analyse DIAGRAMMES DE SÉQUENCE DSQ – Appliquer un effet :Album :Photo Cours IGL, Copyright © 2011, ESI Utilisateur AlbumManager getAlbum(id:int) :Album getPhoto(idPhoto :int) :Photo :Photo appliquerEffet(idEffet :int) 131
132.
SECTION 5 –
Cours 5 – Analyse DIAGRAMMES DE SÉQUENCE DSQ – Ajouter un album CU: AjouterUnAlbum ID: 2 Description brève : Création d’un nouvel album par l’utilisateur Cours IGL, Copyright © 2011, ESI Acteurs primaires : Utilisateurs Acteurs secondaires : Aucun Préconditions : le client doit être authentifié Enchaînement principal 1. Le CU démarre quand l’utilisateur clique sur le bouton « nouveau » 2. L’utilisateur donne un nom à l’album 3. L’utilisateur enregistre l’album Postconditions : Enchaînement s alternatifs : 132
133.
SECTION 5 –
Cours 5 – Analyse DIAGRAMMES DE SÉQUENCE DSQ – Ajouter un album Cours IGL, Copyright © 2011, ESI Utilisateur AlbumManager ajouterAlbum() :Album :Album :Album renommer(String) enregistrerAlbum(Album) 133
134.
SECTION 5 –
Cours 5 – Analyse DIAGRAMMES DE SÉQUENCE DSQ – Consulter un album CU: Consulter un album ID: 3 Description brève : L’utilisateur consulte un album et les photos qui le composent Cours IGL, Copyright © 2011, ESI Acteurs primaires : Utilisateurs Acteurs secondaires : Aucun Préconditions : le client doit être authentifié Enchaînement principal 1. Le CU démarre quand l’utilisateur clique sur l’album sélectionné 2. L’album adapte son affichage selon la résolution 3. L’album affiche les photos le composant selon la résolution Postconditions : Enchaînement s alternatifs : 134
135.
SECTION 5 –
Cours 5 – Analyse DIAGRAMMES DE SÉQUENCE DSQ – Consulter un album :Album Cours IGL, Copyright © 2011, ESI Utilisateur InterfaceAlbums AlbumManager clic(album :Album) getAlbum(id :int) :Album Activations :Album réflexives getResolution() :int afficher(resolution :int) adapter(resolution :int) 135
136.
SECTION 5 –
Cours 5 – Analyse DIAGRAMMES DE SÉQUENCE DSQ – Consulter un album :Album Cours IGL, Copyright © 2011, ESI Utilisateur InterfaceAlbums AlbumManager clic(album :Album) getAlbum(id :int) :Album :Album getResolution() :int afficher(resolution :int) adapter(resolution :int) 136
137.
SECTION 5 –
Cours 5 – Analyse DIAGRAMMES DE SÉQUENCE Fragments Un DSQ peut être composé de plusieurs fragments Un fragment est caractérisé par un nom Cours IGL, Copyright © 2011, ESI Un fragment peut contenir un ou plusieurs messages Un fragment est composé d’un opérateur et de un ou plusieurs opérandes L’opérateur décide comment les opérandes sont exécutées Un fragment peut être caractérisé par une ou plusieurs conditions Les fragments peuvent être imbriqués 137
138.
SECTION 5 –
Cours 5 – Analyse DIAGRAMMES DE SÉQUENCE Fragments – Opérateurs Opérateurs Nom Description Cours IGL, Copyright © 2011, ESI opt optionnel L’opérande n’est exécutée que si la condition est vérifiée alt Alternatives Plusieurs alternatives. Uniquement l’opérande dont la condition est vérifiée s’exécute loop Itération Itère l’ exécution tant que la condition est vérifiée ref Référence Réfère à une autre interaction 138
139.
SECTION 5 –
Cours 5 – Analyse DIAGRAMMES DE SÉQUENCE DSQ – Dupliquer un album CU: DupliquerUnAlbum ID: 4 Description brève : L’utilisateur crée un nouvel album portant le même nom et contenant les Cours IGL, Copyright © 2011, ESI mêmes photos Acteurs primaires : Utilisateurs Acteurs secondaires : Aucun Préconditions : le client doit être authentifié Enchaînement principal 1. Le CU démarre quand l’utilisateur clique sur le bouton dupliquer 2. Le système crée un nouvel album 3. Le système donne le même nom au nouvel album 4. Si l’album original contient des photos et s’il n’est pas verrouillé 4.1 Copier les photos de l’album original vers la copie Postconditions : Enchaînement s alternatifs : 139
Jetzt herunterladen