UML guide de formation avec exemples
…
UML (Unified Modeling Language)
OMT (J. Rimbaugh),
BOOCH (G. Booch),
BOOCH (G. Booch),
OOSE (I. Jacobson), etc.
Group) en 1997.
UML (Unified Modeling Language
)
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
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; 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).
…
Use cases d’UML
d’acteurs :
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
Exemple tiré de « Introduction à UML, Y. Laloum, CNAM »
Les acteurs
les éléments constitutifs de l’application
les éléments extérieurs à l’application
Représentation UML des acteurs / système
Exemple d’une application bancaire
Guichetier(enregistre les Opérations courantes) Responsabl e des devises (fournit les infos sur le Directeur (fait le bilan journalier) infos sur le cours des devises)
RQ :On ne représente pas les relations entre les acteurs.
Les use cases (cas d’utilisation)
Identifier les fonctionnalités du système
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
Représentation textuelle d’un use case
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
Pré-conditions : conditions nécessaires pour déclencher le CA.
Post-conditions : conditions remplies après 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.)
Exemples de diagramme de use cases
Exemples de diagramme de use cases
La Relation extends
La Relation uses
Relations entre use cases : exemple tiré de Y. Laloum
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.
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
Lors de l’achat d’un produit alimentaire, le client verifier la date limite de consommation du produit.
Exemple : distributeur automatique
Les scénarios
Scénarios
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)
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
Le diagramme de séquence se focalise sur les aspects 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).
Le diagramme de communication se focalise sur la représentation spatiale.
Le diagramme de séquence
Diagramme de séquence
Diagramme de séquence : messages
Lors de la réception d’un message, un objet devient actif et exécute la méthode appropriée.
Envoi de message = appel de méthode
Diagramme de séquence : ligne de vie
nom ob
Le nom de l’objet est optionnel 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
objet_1 : Classe objet_2 : Classe
objet_1 : Classe objet_2 : Classe message
Diagramme de séquence : messages
objet_1 : Classe objet_2 : Classe
objet_1 : Classe objet_2 : Classe message (donnee1, donnee2)
Diagramme de séquence : messages
3 catégories de messages :
Diagramme de séq
Auto-envoi de message :
Un objet peut s’envoyer un message.
objet : Classe
Diagramme de séquence : messages
Creation et destruction d’un objet :
Représenté par une croix.
Diagramme de séquence : messages
Creation et destruction d’un objet :
objet_1 : Classe
objet_2 : Classe
Exemple : distributeur automatique
Le diagramme de classes
Diagramme de classes : représentation d’une classe
public class Etudiant {
public String nom;
public String pre
private String numero_ins;
public Etudiant(String nom) {
this.nom = nom;
}
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ésentati
Nom Classe
attribut1 : type
attribut2 : type = valeur
methode1(args)
methode2():type
Diagramme de classes : visibilité
Diagramme de classes : association
Diagramme de classes : association
Classe1 Classe2
Classe3
Diagramme de classes : association
Types de multiplicité des associations
1 : un et un seul
0 .. 1 : zéro ou un
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
Classe1 Classe2
ClasseAssociation
Diagramme de classes :
composition/agregation
Les composants font partie de l’objet composé.
Chaque composant ne peut être partagé entre plusieurs objets composés.
Composition faible.
Les composants peuvent être partagés par plusieurs composés.
Diagramme de classes :
composition/agregation
Diagramme de classes : héritage
Diagramme de classes : interfaces
Les diagrammes d’objets et de structure composite
chacune représentée par un package .
Diagramme de packages
Diagramme de packages
Le diagramme d’états
Représente le cycle de viecommun aux objets d’1 même classe.
Exple : Situation professionnelle d’une personne
Le diagramme d’états : état
Le diagramme d’états : transition
Le diagramme d’états : exemple
Lettre recommandée
Le diagramme d’activités
Le diagramme d’activités
chaque état est associé à une activité
toutes les transitions sont automatiques (enchaînements)
Affecter une valeur à un attribut,
Créer ou détruire un objet,
Effectuer une operation, etc.
Le diagramme d’activités : exemple
Le diagramme de composants
Modélisation de l’architecture logicielle et sa structuration en composants.
Les diagramme de déploiement
– les noeuds – qui entrent dans la composition d’un système et la répartition des instances de composants, processus et objets qui « fonctionnent » sur ces matériels.
Le diagramme de déploiement