Upload
youcef-benjillali
View
8
Download
0
Tags:
Embed Size (px)
Citation preview
INTRODUCTION A UMLINTRODUCTION A UMLINTRODUCTION A UMLINTRODUCTION A UML
M. Lo – Introduction à UML – 02/2008 1
Moussa LO
UFR de Sciences Appl. & de Technologie
UGB de Saint-Louis
Bibliographie
• Intégrez UML dans vos projets, N. Lopez, J. Migueis, E. Pichon, Eyrolles, 1998.
• Modélisation objet avec UML, P. Muller, Eyrolles, 1998.
• UML 2 en action, P. Roques, F. Vallée, Eyrolles, 2004
M. Lo – Introduction à UML – 02/2008 2
• UML 2, Initiation, exemples et exercices corrigés, L. Debrauwer, F. V. der Heyde, ENI, 2005.
• UML 2, Entraînez-vous à la modélisation, L. Debrauwer, N. Karam, ENI, 2005.
Webographie
• UML @ site de l’OMG, http://www.uml.org/ .
• UML en français, http://uml.free.fr/ .
• UML @ developpez.com, http://uml.developpez.com/
M. Lo – Introduction à UML – 02/2008 3
• UML @.wikipedia, http://fr.wikipedia.org/wiki/Unified_Modeling_Language
• Support de cours UML de F. Julliard, Université de Bretagne Sud, 2002.
• Support de cours UML de Y. Laloum, CNAM.
UML (Unified Modeling Language )
• Résultat de la fusion de plusieurs modèles de conception objet comme :
� OMT (J. Rimbaugh),
� BOOCH (G. Booch),
M. Lo – Introduction à UML – 02/2008 4
� BOOCH (G. Booch),
� OOSE (I. Jacobson), etc.
• Adopté et normalisé par l’OMG (Object Management Group) en 1997.
• Représentation standardisée d’un système orienté objet.
UML (Unified Modeling Language )
• UML ≠≠≠≠ Méthode de conception
• UML = notation graphique normaliséede présentation de certains concepts pour modéliser des systèmes objets.
M. Lo – Introduction à UML – 02/2008 5
de certains concepts pour modéliser des systèmes objets.
• Peut être utilisée avec tout processus de développement objet.
UML (Unified Modeling Language )
• La version actuelle de UML (2) s’articule autour de 13
diagrammes.
� 4 ont été introduits dans UML 2, Juillet 2005.
M. Lo – Introduction à UML – 02/2008 6
• Chaque diagramme fournit une représentation du systèmesuivant un point de vueparticulier.
UML (Unified Modeling Language )
• UML modélisele système suivant 2 modes de représentation(nécessaires et complémentaires):
� Mode statique(ou structurel) : concerne la structure du système pris au repos.
M. Lo – Introduction à UML – 02/2008 7
� Mode dynamique(ou comportemental) : concerne la dynamique de fonctionnement du système.
� UML schématise la manière dont le système est composé et comment ses composantes sont liées.
Les 7 diagrammes UML de structure
� Use cases: description des fonctionnalités du point de vue user
� Classes: structuration des entités manipulées par les utilisateurs (classes, interfaces)
� Packages : hiérarchie des modules du système (UML 2)
� Objets : illustration des structures de classe complexes en montrant des exemples d’instances et leurs relations
M. Lo – Introduction à UML – 02/2008 8
montrant des exemples d’instances et leurs relations
� Structure composite : description de la composition d’un objet complexe lors de son exécution(UML 2)
� Composants: architecture des composants physiques du système
� Déploiement: description de l’installation des composants du système sur le matériel et sur le réseau
Les 6 diagrammes UML de comportement
� Etats : représentation du cycle de vie commun aux objets d’une même classe.
� Activités : règles d’enchaînement des activités du système.
� Séquences: description d’échanges de messages entre objets dans le cadre d’un fonctionnement particulier du système;
M. Lo – Introduction à UML – 02/2008 9
dans le cadre d’un fonctionnement particulier du système; représentation des scénarios d’utilisation du système.
� Communication (ou collaboration) : représentation simplifiée du diagramme de séquence.
� Global d’interactions : association entre diagrammes de séquence et d’activités (UML 2).
� De temps: description de contraintes tps-réel délicates (UML 2).
Quelques outils UML
� Rational Rose, http://www-306.ibm.com/software/rational/
� WinDesign, http://www.win-design.com/
� Objecteering/UML, http://www.objecteering.com/
� Poseidon
M. Lo – Introduction à UML – 02/2008 10
� Poseidon, http://www.gentleware.com/
� ArgoUML , http://argouml.tigris.org/
� EclipseUML, http://www.eclipsedownload.com/
Les cas d’utilisation d’UML
analyse
M. Lo – Introduction à UML – 02/2008 11
spécifications Use cases
tests
Use cases d’UML
• Modélisation de processus métiersen les découpant en cas d’utilisation.
• Représentation des fonctionnalités du système.
• Composé :
� d’acteurs:
M. Lo – Introduction à UML – 02/2008 12
� utilisateursdu système à représenter� rôle joué par une personne ou une chose extérieure qui
interagit avec le système
� de cas d’utilisation : � fonctionnalitésproposées par le système� « classes » dont les instances sont des scénarios
Cas d’utilisation d’un GAB
M. Lo – Introduction à UML – 02/2008 13
Exemple tiré de « Introduction à UML, Y. Laloum, CNAM »
Les acteurs
• Représentent la frontière entre :� les éléments constitutifs de l’application
� les éléments extérieurs à l’application
• Un acteur est un élément extérieurau système qui interagit avec ce dernier.
M. Lo – Introduction à UML – 02/2008 14
• L’identification des acteurs permet d’avoir une vue orientée utilisateur du système.
• Acteurs primaires: utilisateurs du système
• Acteurs secondaires: administrateurs du système
• Un acteur possède un rôle.
Représentation UML des acteurs / système
Exemple d’une application bancaire
?
Guichetier (enregistre les opérations courantes)
Responsable des devises (fournit les infos sur le
M. Lo – Introduction à UML – 02/2008 15
?Directeur (fait le bilan journalier)
infos sur le cours des devises)
RQ : On ne représente pas les relations entre les acteurs.
Les acteurs
• Humains :
� Utilisateurs du logiciel (via l’interface graphique)
• Logiciels :
� Autres logiciels qui interagissent avec le logiciel
M. Lo – Introduction à UML – 02/2008 16
• Matériels :
� Matériels qui exploitent les données du logiciel ou qui sont pilotés par le logiciel
� Ne pas confondre acteuret personneutilisant le système :
� Une même personnepeut jouer plusieurs rôles
� Plusieurs personnespeuvent jouer un même rôle
Définition d’un acteur
• Pour chaque acteur :� choisir un identificateur représentatif du rôle
� mettre, éventuellement, une brève description textuelle
M. Lo – Introduction à UML – 02/2008 17
Les use cases (cas d’utilisation)
• Quelles sont les vues que les acteurs identifiés ont du système ?
� Identifier les fonctionnalités du système
• Use case:
M. Lo – Introduction à UML – 02/2008 18
• Use case:
� représente une fonctionnalité déclenchée suite à une action initiée par un acteur.
� correspond à une manière spécifique d’utiliser le système.
� suite d’interactions entre un acteur et le système
� décrit un ensemble de scénarios
Acteur et use case
M. Lo – Introduction à UML – 02/2008 19
Représentation textuelle d’un use case
• Pour documenter les CA, la description textuelle est indespensable afin de communiquer facilement avec les utilisateurs.
• Rubriques habituelles obligatoires :
M. Lo – Introduction à UML – 02/2008 20
� Nom : verbe à l’infinitif décrivant une intercation
entre un acteur et le système.
� Résumé : brève description du CA.
� Acteurs : liste des acteurs interagissant avec le CA.
� Description : texte explicatant le CA.
Représentation textuelle d’un use case
• Rubriques habituelles optionnelles :
� Pré-conditions : conditions nécessaires pour
déclencher le CA.
� Post-conditions : conditions remplies après
M. Lo – Introduction à UML – 02/2008 21
l’exécution du CA (état du système après réalisation
du CA).
� Exceptions : décrit les éventuelles exceptions levées. (Un CA décrit le comprtement du système lorsqu’il n’y a pas d’exception.)
Représentation textuelle d’un use case
� Use case “ Retrait en espèces “
• Nom : Retrait en espèces
• Acteurs : Guichetier
• Description :
M. Lo – Introduction à UML – 02/2008 22
Description :
� Le guichetier saisit le numéro de compte du client.
� L’application vérifie la validité du numéro de compte et demande le type d’opération au guichetier.
� Le guichetier sélectionne un retrait d’espèces d’un certain montant.
� L’application vérifie que le montant est disponible dans le compte. Si oui, elle débite le compte et informe le guichetier qu’il peut donner la somme au client.
Exemples de diagramme de use cases
M. Lo – Introduction à UML – 02/2008 23
Exemples de diagramme de use cases
M. Lo – Introduction à UML – 02/2008 24
Relations entre use cases
� 2 types de relations:
• Extension (extends)
• Utilisation (usesou include)
M. Lo – Introduction à UML – 02/2008 25
La Relation extends
• Tous les use cases fils
• sont des cas particuliers du use case père
• héritent des caractéritisques du père
M. Lo – Introduction à UML – 02/2008 26
La Relation uses
• Permet de décomposer un use case complexe en plusieurs use cases plus simples.
M. Lo – Introduction à UML – 02/2008 27
Relations entre use cases : exemple tiré de Y. Laloum
M. Lo – Introduction à UML – 02/2008 28
Les use cases (cas d’utilisation)
� L’ensemble des cas d’utilisation d’un système contient:� les exigences fonctionnelles attendues ou existantes
� les acteurs
� les relations qui unissent acteurs et fonctionnalités.
M. Lo – Introduction à UML – 02/2008 29
� les relations qui unissent acteurs et fonctionnalités.
� Les cas d’utilisation servent de support pour les étapes de modélisation, de développement et validation.
� Référentiel du dialogue entre les informaticiens et les clients.
� Base pour l’élaboration du cahier des charges.
Exemple : distributeur automatique
On considère un distributeur automatique de produits courants (bonbons, boissons, etc.).
Une fois qu’il a choisi les produits qu’il désire acheter, le client doit ensuite payer ses achats, soit en espèces,
M. Lo – Introduction à UML – 02/2008 30
client doit ensuite payer ses achats, soit en espèces, soit par carte bancaire.
Lors de l’achat d’un produit alimentaire, le client verifier la date limite de consommation du produit.
Exemple : distributeur automatique
M. Lo – Introduction à UML – 02/2008 31
Les scénarios
M. Lo – Introduction à UML – 02/2008 32
Les scénarios
Scénarios
• “ Série d’évènements ordonnés dans le temps simulant une éxécution particulière du système”, Lopez, Migueis, Pichon.
• “Ensemble ordonné de messages échangés par des objets (instance de classe ou d’acteur)”, Roques, Vallée.
M. Lo – Introduction à UML – 02/2008 33
objets (instance de classe ou d’acteur)”, Roques, Vallée.
• Instance de cas d’utilisation.
• Permettent d’expérimenter les exécutions du système � très utiles lors des tests.
Scénarios
� Pour chaque cas d ’utilisation, il existe un ou plusieurs scénarios dont la description permet d’expliciter le comportement du système pour une situation donnée.
Exemple (tiré de Y. Laloum)
M. Lo – Introduction à UML – 02/2008 34
Représentation d’un scénario
Un scénario peut être représenté par un diagramme de séquence.
Exemple de diagramme de séquence
M. Lo – Introduction à UML – 02/2008 35
Le diagramme de séquence se focalise sur les aspect s temporels.
Représentation d’un scénario
Un scénario peut être aussi représenté par un diagramme de communication (diagramme de collaboration dans UML 1).
Exemple de diagramme de communication
M. Lo – Introduction à UML – 02/2008 36
Le diagramme de communication se focalise sur la re présentation spatiale.
Le diagramme de séquence
M. Lo – Introduction à UML – 02/2008 37
Diagramme de séquence
• Décrit la dynamique d’une sous-fonction du système.
• La dynamique globale d’un système nécessite
plusieurs diagrammes de séquences.
•
M. Lo – Introduction à UML – 02/2008 38
• Modélise les messages échangés entre objets en
mettant l’accent sur la chronologie des messages.
• Décrit les interactions entre un groupe d’objets en
montrant, de façon séquentielle, les envois de message
qui interviennent entre les objets.
Diagramme de séquence : messages
• Pour interagir entre eux, les objets s’envoient des
messages.
� Lors de la réception d’un message, un objet devient actif et
exécute la méthode appropriée.
M. Lo – Introduction à UML – 02/2008 39
� Envoi de message = appel de méthode
• Message: spécification d’une communication
unidirectionnelle entre objets qui transporte de
l’information avec intention de déclencher une réaction
chez le récepteur.
Diagramme de séquence : ligne de vie
• Le diagramme de séquence fait entrer en action les instances des classes intervenant dans la réalisation de la sous-fonction qui lui est liée.
M. Lo – Introduction à UML – 02/2008 40
• A chaque instance est associée une ligne de vie qui montre ses actions et réactions, ainsi que les périodes durant lesquelles elle est active.
Diagramme de séquence : ligne de vie
nom objet : Classe
nom de l’objet et de sa classe
Le nom de l’objet est optionnel
M. Lo – Introduction à UML – 02/2008 41
période d’activité de l’objet
ligne de vie de l’objet
Un diagramme de séquence contient plusieurs lignes de vie.
Diagramme de séquence : messages
• Les envois de messagesont représentés par des flèches horizontalesreliant la ligne de vie de l’objet émetteur à celle de l’objet destinataire.
objet_1 : Classe objet_2 : Classe
M. Lo – Introduction à UML – 02/2008 42
objet_1 : Classe objet_2 : Classe
message
Diagramme de séquence : messages
• La transmission d’informations est possible.
objet_1 : Classe objet_2 : Classe
M. Lo – Introduction à UML – 02/2008 43
objet_1 : Classe objet_2 : Classe
message (donnee1, donnee2)
Diagramme de séquence : messages
3 catégories de messages :
• Synchrone (appel) : invocation d’une opération;
l’émetteur donne la main au récepteur et est bloqué jusqu’au
traitement effectif du message.
•
M. Lo – Introduction à UML – 02/2008 44
• Asynchrone(signal) : communication explicite entre 2
objets; l’émetteur n’est pas bloqué et peut poursuivre son
exécution. (cas des systèmes multi-thread).
• De retour :retour du résultat d’une fonction
Diagramme de séquence : messages
Auto-envoi de message :
Un objet peut s’envoyer un message.
objet : Classe
M. Lo – Introduction à UML – 02/2008 45
objet : Classe
Diagramme de séquence : messages
Creation et destruction d’un objet :
• Création d’objet : message spécifique qui donne
lieu au début de la ligne de vie du nouvel objet.
M. Lo – Introduction à UML – 02/2008 46
• Destruction d’objet : message envoyé à un objet
existant et qui donne lieu à la fin de sa ligne de vie.
Représenté par une croix.
Diagramme de séquence : messages
Creation et destruction d’un objet :
objet_1 : Classe
objet_2 : Classe
M. Lo – Introduction à UML – 02/2008 47
objet_2 : Classe
X
Exemple : distributeur automatique
M. Lo – Introduction à UML – 02/2008 48
Le diagramme de classes
M. Lo – Introduction à UML – 02/2008 49
Diagramme de classes
• Permet de définir l’ensemble des classes et leurs relations.
• Une classe est représentée par un rectangleséparé en 3 parties :
M. Lo – Introduction à UML – 02/2008 50
parties :� La 1ière partie contient le nom de la classe
� La 2e partie contient les attributs de la classe
� La 3e partie contient les méthodes de la classe
• Pour des raisons de lisibilité, on peut masquer ou non une de ces parties
Diagramme de classes : représentation d’une classe
public class Etudiant {public String nom; public String prenom;private String numero_ins;
public Etudiant(String nom) {this.nom = nom;
}
M. Lo – Introduction à UML – 02/2008 51
public String getNumIns() { return this. numero_ins; }public void setNumIns(String numero_ins) {
if (numero_ins==null || numero_ins.length!=11) return; this.numero_ins = numero_ins;
}
public void afficher(){System.out.println(“etudiant :”+ nom);
}}
Diagramme de classes : représentation d’une classe
Nom Classe
attribut1 : typeattribut2 : type = valeur
methode1(args)
M. Lo – Introduction à UML – 02/2008 52
methode1(args)methode2():type
Diagramme de classes : visibilité
• (+) public : accessible par toutes les classes.
• (-) private : accessible que par les seules méthodes de sa classe.
M. Lo – Introduction à UML – 02/2008 53
• (#) protected: accessible par les classes du même package.
Diagramme de classes : association
• Une association représente une relation structurelle entre classes d’objets.
• On représente une association en traçant une ligne entre les classes associées.
M. Lo – Introduction à UML – 02/2008 54
entre les classes associées.
Diagramme de classes : association
• Association ternaire:
Classe1 Classe2
M. Lo – Introduction à UML – 02/2008 55
Classe3
Diagramme de classes : association
Types de multiplicité des associations
1 : un et un seul
0 .. 1 : zéro ou un
M. Lo – Introduction à UML – 02/2008 56
m .. n : de m à n
* : de zéro à plusieurs
0 .. * : de zéro à plusieurs
1 .. * : de un à plusieurs
N : exactement N
Diagramme de classes : association
• Classe Association:
Classe1 Classe2
M. Lo – Introduction à UML – 02/2008 57
ClasseAssociation
Diagramme de classes : composition/agregation
• Composition :
� Les composants font partie de l’objet composé.
� Chaque composant ne peut être partagé entre plusieurs objets composés.
M. Lo – Introduction à UML – 02/2008 58
plusieurs objets composés.
• Agregation :
� Composition faible.
� Les composants peuvent être partagés par plusieurs composés.
Diagramme de classes : composition/agregation
M. Lo – Introduction à UML – 02/2008 59
Diagramme de classes : héritage
M. Lo – Introduction à UML – 02/2008 60
Diagramme de classes : interfaces
M. Lo – Introduction à UML – 02/2008 61
Les diagrammes d’objets et
de structure composite
• Complètent le diagramme de classe.
• Les diagrammes d’objets servent à illustrer desstructuresde classescompliquéesen montrantdes
M. Lo – Introduction à UML – 02/2008 62
structuresde classescompliquéesen montrantdesexemples d’instance.
• Les diagrammes de structure composite permettentde décrire la composition d’un objet complexe lorsde l’exécution.
Diagramme de packages
• Un package est un ensemble de classes et d'autrespackages regroupés sous un nom.
• C'est l'adaptation du concept de librairie ou debibliothèque.
M. Lo – Introduction à UML – 02/2008 63
bibliothèque.
• Servent à structurer l’ensemble des classes etinterfaces.
• Permet de structurer un système en plusieurs parties,chacune représentée par un package .
Diagramme de packages
M. Lo – Introduction à UML – 02/2008 64
Diagramme de packages
M. Lo – Introduction à UML – 02/2008 65
Le diagramme d’états
Représente le cycle de viecommun aux objets d’1 même classe.
Exple : Situation professionnelle d’une personne
M. Lo – Introduction à UML – 02/2008 66
Le diagramme d’états : état
• Moment du cycle de vie d’un objet.
• Dans un état, un objet peut êtreActif ou Inactif :
• Inactif : attendunsignalprovenantd’autresobjets
M. Lo – Introduction à UML – 02/2008 67
• Inactif : attendunsignalprovenantd’autresobjets
• Actif : réalise une activité (exécution d’une série deméthodes liée à un objectif)
• Le changement d’état est déclenché par unévenement : réception d’un message.
Le diagramme d’états : transition
• Lien orienté entre 2 états qui exprime le fait que l’objet a la possibilité de passer d’un état d’origine à un état de destination.
• Généralement associée à un évènement.
M. Lo – Introduction à UML – 02/2008 68
Le diagramme d’états : exemple
Lettre recommandée
M. Lo – Introduction à UML – 02/2008 69
Le diagramme d’activités
• Permet de représenter graphiquement le comportement
d’une méthode ou le déroulement d’un cas
d’utilisation.
• Il est composé :
M. Lo – Introduction à UML – 02/2008 70
• Il est composé :
• d’un noeud initial
• d’activités liées entre elles par des évènements
• se termine par un noeud final
Le diagramme d’activités
• Forme spécifique du diagramme d’états-transitionsdans lequel :
� chaque état est associé à une activité
� toutes les transitions sont automatiques (enchaînements)
M. Lo – Introduction à UML – 02/2008 71
• Activité : série d’actions.
• Action :
� Affecter une valeur à un attribut,
� Créer ou détruire un objet,
� Effectuer une operation, etc.
Le diagramme d’activités : exemple
• Authentification d’un utilisateur.
M. Lo – Introduction à UML – 02/2008 72
Le diagramme de composants
• Décrit les composants et leurs dépendances dansl’environnement de réalisation.
• Vue statique de l’implémentation des systèmes quimontrentleschoixderéalisation.
M. Lo – Introduction à UML – 02/2008 73
montrentleschoixderéalisation.
• En général, il n’est utilisé que pour des systèmescomplexes.
Diagramme de composants
Modélisation de l’architecture logicielle et sa structuration en composants.
M. Lo – Introduction à UML – 02/2008 74
Les diagramme de déploiement
• Montre la disposition physique des différents matériels– les noeuds– qui entrent dans la composition d’unsystème et la répartition des instances de composants,processus et objets qui « fonctionnent » sur cesmatériels.
M. Lo – Introduction à UML – 02/2008 75
matériels.
• Modélisation de l’architecture matérielle.
• Très utile pour des systèmes distribués.
Le diagramme de déploiement
M. Lo – Introduction à UML – 02/2008 76