Introduction à la modélisation UML
Introduction à la modélisation UML
Modélisation Objet
Pr. Salwa Baqqali
1
La modélisation
Elle est essentielle pour :
Comprendre le fonctionnement d’un système
Maîtriser la complexité
Faciliter la communication au sein de l’équipe
Et particulièrement en génie logiciel :
Être un facteur de réduction des coûts et des
délais,
Être un facteur d’accroissement de la qualité du
produit,
Permettre d’assurer une maintenance facile et
efficace,
Permettre de contrôler l’avancement d’un projet.
2
Modèles et techniques utilisés par les
méthodes objets
Les méthodes de modélisation ‘classiques’ sont basées sur :
– Un modèle de données et un modèle des traitements séparés
– Une modélisation de flots de données
Insatisfaisantes pour modéliser des systèmes objet !!
3
Grandes étapes
4
Avantages de la conception
objet
Avantages de l’utilisation de l’approche objet au
niveau conceptuel
Réduction de la « distance » entre langage utilisateur et
langage conceptuel
Regroupement de l’analyse des données et des
traitements
Simplification des transformations entre niveau
conceptuel et niveau physique
Abstraction forte
Orienté vers la réutilisation : notion de composants,
modularité, extensibilité, adaptabilité, souplesse.
5
Historique
6
Historique
Fin 1994
J. Rumbaugh rejoint G. Booch chez Rational Software
OMT + OOD Unified Method (oct 1995)
Fin 1995
I. Jacobson les rejoint chez Rational Software
Unified Method + OOSE UML 0.9 (juin 1996)
Début 1997
Partenaires divers : Microsoft, Oracle, IBM, HP et autres
leaders collaborent
UML 1.0 (jan 1997)
Fin 1997
l’OMG (Object Management Group) retient UML 1.1 comme
norme de modélisation
7
Historique
Les versions se succèdent :
Début 1998
UML 1.2
En 1998
UML 1.3
En 2001
UML1.4
En 2003
UML 1.5
En 2005
UML 2.0
8
Qu’est ce que UML ?
9
UML : langage de modélisation
graphique et textuel
• UML unifie
Les concepts, quels que soient le domaine d’application
Les notations et concepts orientés objet
• UML est indépendant
Du type du système-logiciel, matériel, organisation..
Du domaine métier : gestion, ingénierie, finance…
• UML permet de :
Comprendre et de décrire les besoins,
Concevoir et construire des solutions,
Documenter un système tout au long du cycle de
développement,
Communiquer entre les membres de l’équipe de projet.
Supporté par plusieurs outils (AGL) : Objecteering, Open tools,
Rational Rose, PowerAMC, WinDesign, WINDEV…
10
Attention
UML est un langage (et non pas une
méthode) qui :
permet de représenter les modèles
ne définit pas le processus d'élaboration
des modèles.
11
Modélisation en diagrammes
12
Diagrammes d'UML
UML propose de décrire le système à l’aide de 9 (13) (4 autres nouveaux
diagrammes en 2004) diagrammes. Chacun de ces diagrammes
correspond :
Soit à la description d’une partie du système
Soit à la description du système selon un point de vue particulier
Diagramme de cas d’utilisation : destiné à représenter les besoins des
utilisateurs par rapport au système. Point de vue de l’utilisateur
Diagramme de classes : Structure statique en terme de classes
et relations qui les lient
Diagramme objets : Représentation des objets et de leurs relations
(liens).
Diagramme d’état/transitions : montre les différents états par lesquels
passe un objet en réactions aux événements.
Diagramme d’activités : Représentation du comportement d’une
opération, d’un cas d’utilisation, ou d’un processus métier en terme
d’actions
13
Diagrammes d'UML(suite)
Digramme de séquences : : Représentation
temporelle des objets et de leurs interactions
Diagramme de collaboration : une autre
représentation des scénarios des cas d’utilisation qui
met l’accent sur les objets et les messages échangés.
Diagramme de composants : représente les
différents constituants logiciel d’un système en terme
de modules : fichiers source, librairies, exécutables,
etc.
Diagramme de déploiement : montre la disposition
physique des matériels qui composent le système et
la répartition des composants sur ces matériels,
modes de connexion...
14
Classification des diagrammes
L’ensemble des 9 diagrammes peut être
réparti sur les trois axes de modélisation
15
UML
Diagrammes de cas
d'utilisation
16
Cas d’utilisation : Introduction
18
Acteurs
19
Acteurs
Remarques
La même personne physique peut jouer
le rôle de plusieurs acteurs (Chef
d’agence est un client de la banque).
D’autres part, plusieurs personnes
peuvent jouer le même rôle, et donc agir
comme un même acteur (plusieurs
personnes peuvent jouer le rôle
d’administrateur).
20
Acteurs
<<Acteur>>
Nom Acteur
Nom Acteur
21
Acteurs
22
Exemple
<<acteur>>
Secrétaire Site Web de l'établissement
Etudiant
Système de Gestion
Scolaire
<<acteur>>
Imprimante
23
Différentes catégories d’acteurs
24
Acteurs
25
Cas d'utilisation (Use Case):
26
questions à se poser :
27
Cas d'utilisation
28
Cas d'utilisation
Representation
29
Cas d'utilisation : Démarche
30
Acteurs et cas d’utilisation
31
C.U : exemple
32
CU
caractéristiques
Identification d'une finalité de l'utilisateur
Un stimulus de départ
Une pré-condition du système au déclenchement
Un enchaînement d'interactions
Une post-condition du système à la fin du cas
d’utilisation
Enchaînement d’actions à effectuer
Une fin normale (conditions d’exécution éventuelles)
33
Le cas d'utilisation
34
Cas d'utilisation : Exemple (1)
Nom du cas d'utilisation:
Attribution d'une place sur un vol
Un stimulus de départ : Client présente
sa
réservation
Une pré-condition: Guichet ouvert &
réservation sur un vol
Un enchaînement d'interactions: Scénarios
Une post-condition: Place affectée au
passager
& Fin-réservation
35
Structuration des cas
d'utilisation
UML définit trois types de relations
standardisées entre cas d'utilisation :
Une relation d'inclusion, formalisée par la
dépendance «include»
Une relation d'extension, formalisée par la
dépendance «extend»
Une relation de généralisation/spécialisation
36
Relation d'inclusion
<<include>>
37
Relation d'inclusion
Les cas d'utilisation "Déposer de l'argent",
"Retirer de l'argent", "Effectuer des
Retirer de l'argent
virements" et "Consulter solde" incorporent
de façon explicite le cas d'utilisation
"S'authentifier", à un endroit spécifié dans
leurs enchaînements.
<<include>>
Déposer de l'argent
<<include>>
S'authentifier
<<include>>
<<include>>
Consulter solde
38
Relation d'inclusion
39
Relation d'inclusion
Remarques
La relation include n’a pour seul objectif que de
factoriser une partie de la description d’un cas
d’utilisation qui serait commune à d’autres cas
d’utilisation.
Le cas d’utilisation inclus dans les autres cas
d’utilisation n’est pas à proprement parlé un vrai
cas d’utilisation car il n’a pas d’acteur
déclencheur ou receveur d’évènement. Il est
juste un artifice pour faire de la réutilisation
d’une portion de texte.
40
Relation d'extension
41
Relation d'extension
Le CU source (B) ajoute, sous certaines
conditions, son comportement au CU
destination (A)
En d’autres termes, le CU B peut être appelé au
cours de l’exécution du CU A
Le comportement ajouté s’insère au niveau d’un
point d’extension définit dans le CU destination
A
B Point d'insertion
<<extend>>
42
Relation d'extension
Exemple :
Au moment de l'authentification, il se peut
que le guichet retient la carte.
S'authentifier
Retenir la carte
<<extend>>
44
Relations d’inclusion
d'extension
La relation « extend" montre une
possibilité d'exécution d'interactions qui
augmenteront les fonctionnalités du cas
étendu, mais de façon optionnelle, non
obligatoire,
La relation "include" suppose une
obligation d'exécution des interactions
dans le cas de base.
45
Relation d'héritage
46
Relation d'héritage : Exemple
47
Relation d'héritage : Exemple
Reserver voyage
49
Structuration entre cas
d’utilisation
Résumé
Les cas peuvent être structurées par des relations
:
A inclut B : le cas A inclut obligatoirement le
comportement définit par le cas B; permet de
factoriser des fonctionnalités partagées
A étend B : le cas A est une extension
optionnelle du cas B à un certain point de son
exécution.
A généralise B : le cas B est un cas particulier
du cas A.
50
Relations entre cas
d’utilisation : Exemple
Un client peut effectuer un retrait
bancaire. Le retrait peut être effectué
sur place ou par Internet. Le client doit
être identifié (en fournissant son code
d’accès) pour effectuer un retrait, mais si
le montant dépasse 500DH, la
vérification du solde de son compte
est réalisée.
51
Relations entre cas
d’utilisation
<<extend>> Vérification solde compte
Virement
<<include>>
Identification
Client distant
Client local
52
Description des cas
d’utilisation
Le diagramme de cas d’utilisation décrit
les grandes fonctions d’un système du
point de vue des acteurs.
Mais il n’expose pas de façon détaillée le
dialogue entre les acteurs et les cas
d’utilisation.
nécessité de décrire ce
dialogue
53
Description des cas
d’utilisation
Deux façons sont couramment utilisées
pour décrire les cas d’utilisation :
Description textuelle
Description à l’aide d’un diagramme de
séquence .
54
Description des cas d’utilisation
(description textuelle)
Identification
Nom du cas : retrait d’argent
Objectif : détaille les étapes permettant à
un guichetier d’effectuer des opérations de
retrait par un client
Acteurs : Guichetier (Principal), Système
central (Secondaire)
55
Description des cas d’utilisation
(description textuelle)
Scénarios (Scénario = chemin dans le CU)
Scénario nominal
1. Le Guichetier saisit le numéro de compte client
2. L’application valide le compte auprès du SC(système
central).
3. L’application demande le type d’opération au Guichetier
4. Le Guichetier sélectionne un retrait de 200 DH
5. Le système interroge le SC pour s’assurer que le
compte est suffisamment approvisionné.
6. Le SC effectue le débit du compte
7. Le système notifie au guichetier qu’il peut délivrer le
montant demandé.
56
Description des cas d’utilisation
(description textuelle)
Scénarios
Scénario alternatif (exception)
1. En (5) : si le compte n’est pas
suffisamment approvisionné ….
57
Intérêts des cas d’utilisation
58
Diagramme des cas
d'utilisation
Le diagramme des cas d'utilisation regroupe
dans un même schéma les acteurs et les cas
d'utilisation en les reliant par des relations. Le
système étant délimité par un cadre
rectangulaire.
La représentation de base d'un cas d'utilisation
est une ellipse contenant le nom du cas.
L'interaction entre un acteur et un cas
d'utilisation se représente comme une
association. Elle peut comporter des
multiplicités comme toute association entre
classes.
59
Diagramme des cas d'utilisation
60
Étapes de construction du
diagramme des cas d'utilisation
Pour modéliser le diagramme des cas d'utilisation, il faut :
Identifier les acteurs qui entourent le système. Certains
acteurs utilisent le système pour accomplir des tâches
(acteurs principaux), d'autres effectuent des tâches de
maintenance ou d'administration (acteurs secondaires).
Organiser les acteurs selon une hiérarchisation de
généralisation/spécialisation
Intégrer les acteurs au diagramme en spécifiant les cas
d'utilisation auxquels ils se rapportent
Structurer les cas d'utilisation pour faire apparaître les
comportement partagés (relation d'inclusion), les cas
particuliers (généralisation/spécialisation) ou options
(relation d'extension)
61
UML
Diagrammes de séquences
62
Diagramme de séquences
Le diagramme de séquence montre quels sont les objets
qui participent à l’exécution du use-case et quels sont les
messages qu’ils échangent : description des interactions
entre les objets d’un point de vue temporel.
Chaque bloc ou objet participant dans le processus est
représenté par une barre verticale.
Remarque : l’ordre dans lequel apparaissent les barres
n’a pas d’importance (lisibilité).
Le diagramme de séquence fait ressortir :
Les acteurs
Les objets
Les messages
63
Diagramme de séquences
Obj et_1 Obj et_2 Obj et_3
Message_1
Message_2
Li gne de vi e de
l 'obj et
64
Diagramme de séquences
65
Diagramme de séquences
Un objet est représenté par un rectangle et une
ligne verticale (ligne de vie de l’objet)
Les objets communiquent en échangeant des
messages représentés par des flèches
orientées de l’émetteur au récepteur
L’ordonnancement verticale des messages
indique la chronologie
Un message reçu par un objet déclenche
l’exécution d’un opération
Un message envoyé par objet correspond :
Demander un service d’un autre objet
Renvoyer le résultat d’un opération
66
Diagramme de séquences :
Exemple
67
Diagramme de séquences
68
Période d’activité
Correspond au temps pendant lequel un objet
fait une action
Représentée par une bande rectangulaire
superposée à la ligne de vie de l’objet
Objet_2 Objet_1
Message_1
69
Messages
70
Message simple
Message_1
71
Message minuté (Timeout)
pendant un temps
donné, en attendant Message_1 (20 secondes)
la prise en compte
du message par le
récepteur
Après le délai,
l’expéditeur est libéré
et peut envoyer
72
Message minuté (Timeout) :
Exemple
Ascenseur Porte
fermer
73
Message synchrone (appel de
procédure)
Bloque l’expéditeur jusqu’à la
prise en compte du message Objet_2 Objet_1
par le récepteur
Le contrôle est passé de
l’émetteur au récepteur qui Message_1
74
Message synchrone (appel de
procédure) : Exemple
Communication client serveur : Sockets
Client Serveur
Sollitation
Acceptation
Requête
Réponse
75
Message asynchrone
N’interrompt pas l’exécution de l’expéditeur
L’expéditeur peut émettre sans attendre la réponse du récepteur
M essage_1
76
Message récursif
Appelé aussi message réflexive
Message envoyé d’un objet vers lui-même.
Objet_1
Message_1
77
Message récursif : Exemple
Client GAB
78
Création et destruction
d’objets
Un message peut créer ou détruire un objet
79
Traduction des messages
Envoyer un message c’est demander un service d’un
autre objet (sauf le cas d’un message de retour).
Les messages sont traduits par des opérations dans la
classe de l’objet ayant reçu le message
class Voiture{
Public void demarrer(){}
}
class Conducteur{
private Voiture voiture;
public void conduire(){
[Link]();
}
}
… main(String[ ] arg){
[Link]();
80
}
Structures de contrôle
81
Les test (branchements)
La condition précédée Objet_1 Objet_2 Objet_3
82
Les test (branchements) :
Exemple
Utilisteur Système
Pour accéder au centre de
recherche, l’utilisateur doit
présenter son badge. S’il a Présente son badge
droit d’accès, un voyant vert
est allumé et la porte s’ouvre Vérifier droit d'accès
[OK]voyant vert
ouvrir porte
83
Les boucles (répétitions)
84
Fragments
Permet de décomposer une
interaction complexe en
fragments simples
Représenté par un rectangle
dont le coin supérieur gauche
contient un pentagone
Dans le pentagone figure le
type du fragment
loop : boucle
alt : alternative
ref : référence
…
85
Exemples: Vente
86
Diagrammes de séquence :
exemple : système d’appel téléphonique
87
Diagrammes de séquence
exemple : système de gestion de comptes
bancaires
88
Exemple(Guichet Automatique)
89
UML
Diagrammes de classes
et d’objets
90
Diagramme de classes
Permet de donner une vue statique du système en terme
de :
Classes d'objets
Relations entre classes
Associations
agrégation/composition
héritage
La description du diagramme de classes est centrée sur
trois concepts :
Le concept d’objets
Le concept de classes d’objets comprenant des attributs
et des opérations
Les différents types de relations entre classes.
91
Concept d'objet
92
Concept d'attribut
93
Concept d'attribut
La description d’un attribut comporte :
Visibilité attribut:type[= valeur initiale]
Où :
Visibilité :
+ (publique, public) : visible par tous
- (privée, private) : visible seulement dans la classe
# (protégée, protected) : visible seulement dans la
classe et dans les sous-classes de la classe.
Nom d’attribut
Type de l’attribut
Valeur initiale (facultative)
94
Concept d'attribut
95
Concept d'attribut
96
Concept d'attribut
On distingue deux types d'attributs :
Attribut d'instance :
Chaque instance de la classe
possède une valeur particulière pour
cet attribut
Notation : Visibilité attribut:type[=
valeur initiale]
Attribut de classe
Toutes les instances de la classe
possède la même valeur pour cet
attribut
Notation : Visibilité attribut:type[=
valeur initiale]
Équivalent en C++, Java : static
97
Concept opération
syntaxe
99
Exemple de classe
100
Relations entre les classes
Possibilité de communication entre objets :
interactions entre objets.
relation entre classes
3 grands types:
– Associations ("est produit par", "est affilié à", "se trouve à", "est
conduit par"…) : dépendance entre classes, communication entre
Objets, Ex: « un lecteur lit un livre » (forme verbale)
– Agrégation/composition ("fait partie de") : objets composites /
Composants, Ex : « un train est composé de wagons »
– Généralisation/spécialisation ("est une sorte de") : héritage entre
objets, Exemple : « un chat est une sorte d’animal »
101
Associations
Relation existant entre une, deux ou
plusieurs classes.
Une association porte un nom
(signification) Représentée par une
ligne rectiligne
102
Associations
Rôle d’une association
Décrit le rôle d’une classe dans une
association
103
Classes-Associations
104
Associations
Classe association exemple
Personne Entreprise
1..*
0..1
Emploi
- Période : int
- Salaire : float
105
Associations degré d’une
association
degré d’une association = nombre de classes
participantes
Association unaire : relie 2 instances d'une classe
106
Associations
Exemple ternaire
107
Multiplicité
108
Association Navigabilité
109
Association
Navigabilité (Exemple)
Spécification : on doit être en mesure de savoir
le client qui a fait la commande et non toutes
les commandes d’un client
Conception :
Commandes Clients
1..*
1
110
Associations qualifiées
111
Qualification d'une association
Exercice
Un avion est composé de plusieurs
sièges, mais dans une rangée il y a
seulement quatre sièges.
112
113
Agrégation
L'agrégation est une association non symétrique, qui
exprime un couplage fort et une relation de subordination
Représente une relation de type "ensemble / élément"
A un même moment, une instance d'élément agrégé peut
être liée à plusieurs instances d'autres classes : l'élément
agrégé peut être partagé
Une instance « ensemble » peut exister sans élément (et
inversement) : Cycles de vies indépendants
Une agrégation peut notamment (mais pas nécessairement)
exprimer :
qu'une classe (un "élément") fait partie d'une autre ("l‘ensemble"),
qu'un changement d'état d'une classe, entraîne un changement
d'état d'une autre,
qu'une action sur une classe, entraîne une action sur une autre
114
Exemples
115
Exemple agrégation
Titre
0..1
1..1
0..1
Texte
116
Composition
117
exemple1
exemple2
118
119
Généralisation / Spécialisation
et héritage
La généralisation est la relation entre une
classe et une ou plusieurs de ses versions
raffinées.
On appelle la classe dont on tire les précisions
la super-classe et les autres classes les sous-
classes.
C’est une relation de type « est un (is a) » ou
« est une sorte de ».
La notation utilisée pour la généralisation est le
triangle
120
Généralisation :
regroupement, « est-
un », « sorte-de »
Spécialisation
(symétrique généralisation):
raffinement de classe
- par extension de propriétés (ajouter un attribut)
- par restriction de domaines de valeurs d’attributs
121
Généralisation /
Spécialisation et héritage
La classe spécialisée (sous-classe)
hérite les méthodes et les
attributs de la classe générale
(super-classe).
Compte
Principe de substitution : toutes
- N°Compte : String les propriétés de la classe
‘parent’ doivent être valables
- Solde : float
+ <<Constructor>> Compte ()
+
+
Déposer (float Somme) : void
Retirer (float Somme) : float pour les classes ‘enfant’.
+ AvoirSolde () : String
peut ajouter ses propres
attributs et méthodes.
peut redéfinir le comportement
CompteEpargne
- Taux : float
d’une méthode.
+ AvoirSolde () : String
122
une classe peut
hériter de plusieurs
super-classes
héritage multiple
polymorphisme =
opérations de même
nom, comportement
spécifique
123
Hiérarchies de classes
Contraintes sur les associations
• Contraintes :
{complète},
{incomplète},
{disjoint}
Permettent d’imposer des règles à respecter
lors du passage à l’implémentation
Il est possible d’attribuer toutes sortes de
contraintes à une association
Les contraintes sont représentées entre
accolades et peuvent être exprimées dans
n’importe quel langage.
Attributs / opérations: communs sont
montrées au niveau le plus haut.
La contrainte {complète} indique que la
généralisation est
terminée et qu’il n’est plus possible de
rajouter des sous-
classes.
124
Exemple de diagramme de classes
(Distributeur Automatique de Banque : DAB)
125
UML
Diagrammes de collaboration
126
Diagrammes de collaboration
Représente les interactions entre objets et relations
structurelles permettant celles-ci.
– Description:
• Du comportement collectif d’un ensemble d’objets
• Des connexions entre ces objets
• Des messages échangés par les objets
– Interaction réalisée par un groupe d’objets qui
collaborent en échangeant des messages
– Temps non représenté de manière implicite
(numérotation des messages).
127
Exemple:
A envoie un message X à B.
B envoie un message Y à C.
C s'envoie un message B.
Temps
Exemple : Appel téléphonique
128
Les interactions
Eléments d’une interaction:
– instances.
– liens (support messages).
– messages déclenchant les opérations.
– rôles joués par les extrémités de liens.
129
Diagrammes de collaboration
Mêmes types contraintes Les objets crées ou détruits au
cours d’une interaction peuvent
que pour les diagrammes de
respectivement porter les
séquence
contraintes :
Itération : *[condition]
{Nouveau}
Conditions : [condition] {Détruit}
Exemple : réservation d’articles
<<{Détruit}>> <<{Nouveau}>>
Objet_1 Objet_2
130
Diagrammes de collaboration
Représentation de l’ordre des envois de messages pour
l’exemple de l’ascenseur :
131
132
Équivalence diagrammes de séquence /
collaboration
133
UML
Diagramme état-transition
134
états – transition
Attaché à une classe ou à un cas d'utilisation, il doit présenter une
classe par rapport à ses états possibles et aux transitions qui le font
évoluer.
Lorsque [évènement] => changement d'état.
L'action peut être conditionnelle : [condition] action.
Un état = image de la conjoncture instantanée des valeurs des attributs
d’un objet & Présence ou non de ses liens à d’autres objets.
Une transition représente un changement d'état ; elle est déclenchée
par un événement.
- Transitions: peuvent être automatiques
peuvent être conditionnées
- Evènements: déclenchent les transitions
135
Un état est représenté par un rectangle
aux coins arrondis Affichée
Rédui re
Rédui te
136
Construction du diagrammes
états – transition Statecharts
Un Statechart est un graphe orienté
dont les nœuds sont des états et les
arcs sont des transitions.
137
Convention graphique
138
Exemple
139
Formalisme et exemple
Etat1 Etat2
Evénement [Condition]
140
Diagrammes d’états-transitions
Exemple
141
Exemple (Feu de signalisation)
Feu
- ID : int
- Couleur : {Vert, Orange, Rouge}
Orange
Vert
Rouge
142
UML
Diagramme d'activités
143
Introduction
144
Le déroulement séquentiel des activités
Le diagramme d'états-transitions vu précédemment présente
déjà un séquencement des activités d'une classe.
145
La synchronisation
146
Les couloirs d'activités
147
Exercice 1
Représenter les états
suivants sous forme de Vérifier commande
diagramme d'activité :
Vérification commande
Valide
Enregistrement [oui] [non]
commande
Enregistrement commande Rejet commande
Rejet commande
Informer erreur au client
148
Exercice 2
Dans le domaine de gestion
de stock, on considère
les états suivants
indiquant le flot de
contrôle de réception
d'une livraison :
Réception livraison, contrôle
qualité, contrôle quantité
et enregistrement
livraison.
Proposez un diagramme
d'activité représentant ce
flot d'information
149
Exercice 3
Construire un diagramme
d’activité pour modéliser
le processus de
commander d’un produit.
Le processus concerne
les acteurs suivants:
Comptable :
enregistrement
commande, envoie la
facture et enregistrement
paiement du client
Client : paiement de la
facture
150
Exercice 4
153
UML
Diagrammes de Composants et de
Déploiement
154
Diagramme de composant
Un diagramme de composant représente les composants logiciels d’un système
Diagramme utilisé dans la phase de conception / réalisation : éléments
physiques constituant le système et leurs relations
Décrivent les éléments physiques et leurs relations dans l’environnement de
réalisation sous forme de modules.
Modules : toutes sortes d’éléments physiques (fichiers sources/données,
exécutables, bibliothèques)
Objectif
– représenter l’organisation et les dépendances entre composants logiciels
– description des composants et de leurs relations dans le système en construction
Composant
– partie physique et remplaçable d’un système qui se conforme à et fournit la
réalisation d’interfaces
– doit être compris comme un élément qu'on peut acheter, associer à d'autres
composants
– division en composants
155
Nom du composant :
Permet de distinguer un composant des autres
composants
Il peut être un nom simple ou un nom composé qui
indique le paquetage auquel appartient le composant
156
Système Vente (diagramme de
classes)
157
Diagramme de composants (Exemple)
158
Diagramme de déploiement
159
Nœud
Nom du nœud :
Permet de distinguer un nœud des autres nœuds
Le nom peut être composé du nom de paquetage qui
contient le nœud
160
Diagramme de déploiement
161
Démarche d’application D'UML
Étape 1 : élaboration d'un diagramme de contexte du système à étudier:
Précision du champ du système à étudier
Étape 2 : identification et représentation des cas d'utilisation : Identification
des fonctions du système
Étape 3 : description et représentation des scénarios: chaque cas
d'utilisation se traduit par un certain nombre de scénarios. Chaque scénario
fait l'objet d'une description textuelle. Chaque scénario est ensuite décrit
sous forme graphique à l'aide du diagramme de séquence et/ou diagramme
de collaboration.
Étape 4 : identification des objets et classes
Étape 5 : élaboration du diagramme de classes
Étape 6 : élaboration du diagramme état-transition : pour chaque classe
importante c'est à dire présentant un intérêt pour le système à modéliser, un
diagramme état-transition est élaboré.
Étape 7 : consolidation et vérification des modèles: Itération des étapes 3,
4, 5 et 6 => niveau suffisant pour la description du système.
162