Académique Documents
Professionnel Documents
Culture Documents
2
Table des matières
A
AVVA
ANNTT--PPR
ROOPPO
OSS ........................................................................................... 2
Table des matières ........................................................................................ 3
CHAPITRE I .................................................................................................. 12
3
I.5 Les Phases de la modélisation.......................................................................... 28
I.5.4 Conception.......................................................................................... 33
CHAPITRE II ................................................................................................. 35
II.4.3 Système.............................................................................................. 41
CHAPITRE IV................................................................................................ 87
6
IV.2.2 Diagramme de Collaboration/Communication ................................ 89
IV.A.4 Diagramme de Classe: Ajout des opérations dans les classes ................... 96
7
IV.C.4.2 Notions de transitions ................................................................. 108
8
V.B.3 Les chemins de communication ................................................................. 128
9
VI.A.4 Diagrammes d’Activité : Exemples........................................................ 151
10
SECTION B : Diagrammes de Profile - PROFIL DIAGRAM ..................... 182
B
Biibblliiooggrraapphhiiee -- W
Weebbooggrraapphhiiee.................................................................... 191
N
NAAD
DIIA
AAAFFIIFFII’’ss B
BIIO
OGGR
RAAPPH
HYY...................................................................... 192
11
CHAPITRE I
INTRODUCTION
-
Les méthodes objet et
la genèse d'UML
13
- Issue d'un centre de développement d'Ericsson, en Suède.
UML 1.3
06/1999
Booch OOSE
OMT - 2
’93
www.omg.org
14
Industrialisation
06/1999 : révision 1.3 UML 1.3
15
I.2 Introduction au Langage de Modélisation UML
• UML Méthode !
16
I.3 Modélisation avec UML
Il permet :
plan de masse
vue de face, de coté, …
plan des niveaux
plan électrique
plan de plomberie
plan des calculs de construction
UML un langage
18
documenter les différents diagrammes, notes, contraintes,
exigences seront présentées dans un document.
Télécommunications
Transport
Défense et aérospatiale
Scientifique
Les vues : Les vues sont les observables du système. Elles décrivent le
système d’un point de vue donné, qui peut être organisationnel,
dynamique, temporel, architectural, géographique, logique, etc. En
combinant ces vues, il est possible de définir (ou retrouver) le système
complet.
Les modèles d’élément : ce sont les briques des diagrammes UML, ces
modèles sont utilisés dans plusieurs types de diagrammes. Ex: cas
d’utilisation, classe, association, etc.
19
- Entités de comportement
- Entités de regroupement
- Entité d'annotation
La notion de relation
Les diagrammes
Règles sémantiques
Règles de présentation
Spécification
Présentation
20
Les relations
dépendance
association
héritage
réalisation
En langage UML, une relation est une connexion entre des éléments de
modèle. Une relation UML est un type d'élément de modèle qui ajoute une
sémantique à un modèle en définissant la structure et le comportement
entre les éléments de modèle.
21
Catégorie Fonction & Définition
<<contrôle>>
Gestion Commande
gestion Commande
<<entité>>
Stockage Commande
stockage Commande
<<frontière>>
Réception Commande
réception Commande
22
I.4.2 Les Modèles d’UML
Le modèle des cas d’utilisation qui décrit les besoins des utilisateurs ;
Diagrammes comportementaux
Diagrammes
Diagrammes Diagrammes de
de Structure Comportement
24
4. Les diagrammes de déploiement (Deployment Diagram) : montrent la
disposition physique des matériels qui composent le système et la
répartition des composants sur ces matériels.
Risques à circonscrire ;
Options disponibles ;
Couverture de l’architecture ;
26
I.4.2 Point de vue logique
Décomposition orientée-objet
Regroupement en paquetages ;
Communication ;
Disponibilité, fiabilité ;
Intégrité, performance ;
Contrôle.
Augmenter la robustesse ;
27
Information sur les caractéristiques suivantes :
Facilité de développement ;
Potentiel de réutilisation ;
Gestion de configuration ;
Inter-connectivité, topologie ;
Performance, disponibilité ;
Installation, maintenance.
28
Les différentes étapes de la modélisation
2. Spécification ;
3. Analyse ;
4. Conception ;
5. Implémentation ;
6. Tests de vérification ;
7. Validation ;
8. Maintenance et évolution.
ROLE :
29
Clarifier, filtrer et organiser les besoins, ne pas chercher
l’exhaustivité.
Contraintes de concurrence ;
Contraintes de distribution ;
Contraintes de performance ;
Contraintes de répartition.
I.5.1 Spécification
I.5.2 Analyse
30
- Axe statique : structure de l’objet
31
32
La notation graphique a pour but :
Modéliser les objets, les relations entre objets, les interactions avec le
système.
Servir de support de communication entre l'analyste, le client, et les
utilisateurs.
I.5.4 Conception
I.5.5 Implémentation
I.5.7 Validation
33
Une autre validation doit aussi être envisagée lors de l’achèvement du
travail de développement, une fois que la qualité technique du système
est démontrée. Elle permettra de garantir la logique et la complétude du
système.
34
CHAPITRE II
Diagrammes
des Cas d’Utilisations
-
USE CASES DIAGRAM
L'adhérent possède un mot de passe qui lui est donné à son inscription.
Ce sont les employés qui mettent en bibliothèque les livres rendus et les
nouveaux livres. Il leur est possible de connaître l'ensemble des prêts
réalisés dans la bibliothèque.
36
De plus les Use Cases sont :
3. Le système ;
II.4.1 Acteurs
37
II.4.2 Cas d’utilisation (Use-Case)
38
Un cas A est inclus dans un cas B si le comportement décrit par le cas A est
inclus dans le comportement du cas B: on dit alors que le cas B dépend de A.
39
II.4.2.3 Organisation des Use Cases : Généralisation
Autrement dit : si l'on dit que l'on fait une "Identification abonné", ce
peut être une "Vérification par carte" ou une "Vérification par mot
passe".
Identifier les acteurs qui utilisent, qui gèrent, qui exécutent des
fonctions spécifiques.
40
II.4.3 Système
41
II.5 Elaboration du Diagramme Des UC de la Gestion de
Bibliothèque
42
II.6 Elaboration du Modèle des Cas d’Utilisation de la
Gestion de Bibliothèque
La description d’un cas d’utilisation se fait par des scénarios qui définissent la
suite logique des interactions qui constituent ce cas.
On peut définir des scénarios simples ou des scénarios plus détaillés faisant
intervenir les variantes, les cas d'erreurs etc.
43
Pré-conditions:
7. (7) Le système lui précise qu’un exemplaire du livre lui est réservé.
44
Scénarios du cas d'utilisation réservation d’un livre
(Variantes)
Variante 1 : en (6) le client demande à connaître les livres présents ;
Variante 2 : en (4) le client n'est pas reconnu, dans ce cas, tant qu'il
n'est pas reconnu, on lui redemande de s'authentifier ;
45
Diagramme de Séquence
Identification du livre
Variation du scénario
46
Déscription à l’aide de diagramme de communication
Système de Prêt
Distributeur de billets
Cas
d’utilisation
Effectuer un virement
Client Retirer l ’argent
Effectuer la Maintenance
Employé
47
Diagramme de séquences : Use Case Retirer de l'argent
48
CHAPITRE III
Concepts Objets
&
Diagramme de Classes
-
CLASS DIAGRAM
CONCEPTS OBJETS
CLASSE
Caractéristiques
attributs
Personne données membres
informations
nom propriétés
age
adresse
mot de passe Famille d'objets ayant
nbre livres empruntés mêmes caractéristiques
et même comportement
changerAdresse() Comportement
donnerAge() opérations
donnerAdresse() méthodes
vérifierMotDePasse() fonctions
procédures CLASSE
messages
services
Personne
Une classe est une description d’un ensemble d’objets ayant une
sémantique, des attributs des méthodes et des relations en commun.
Attributs :
Exemples :
prenom : String
Operations :
Exemples :
getName() : String
setName(newName : String)
52
III.A.1.4 La Classe et ses membres
Personne
nom : String
âge : Integer
adresse : String
mot de passe : String
nbre livres empruntés : Integer 0<= nbre livres empruntés <=5
<<constructeur>>
Personne(nom:String, âge : Integer
adresse:String, motDePasse:String)
<<caractéristiques>>
changerAdresse (String)
<<authentification>>
vérifierMotDePasse(String) : Boolean
changerMotDePasse(old:String,
new:String)
53
III.A.3 Protection des Attributs et des Opérations
Exemple :
On ne peut utiliser une voiture qu'à travers son volant, son frein, son
accélérateur, etc.
L’accès au carburateur est impossible sauf par les méthodes qui le font de
manière cohérente (méthode accélérer de l’accélérateur).
54
Certaines opérations peuvent cependant être privées et certains
attributs peuvent être publics (non souhaitable / principe
d’encapsulation).
Notation UML
55
III.A.3.3 Attributs et Opérations de Classe
56
III.A.3.4 Attribut dérivé
{Contexte Personne
Définition
Le polymorphisme représente la faculté d'une méthode à pouvoir
s'appliquer à des objets de classes différentes. Ce qui signifie qu'une
même opération peut se traduire différemment selon l'objet sur
laquelle elle s'applique.
57
Une méthode est identifiée par sa signature (Nom de la méthode;
Nombre et/ou type de chaque paramètre).
Classes Paramétrables
58
III.A.5.2 Multiplicité, Nom d’Association, Nom de
Rôle
Les noms des rôles sont obligatoires pour les associations réflexives.
59
Visibilité des Rôles :
Les rôles définissent des responsabilités.
Exemple java :
60
III.A.5.5 Classe d’Association
Associations ternaires
61
participent à une association. Elle est réalisée au moyen d’une clé. La clé
appartient à l’association et non aux classes associées.
Association Qualifiée
Une association qualifiée met en relation deux classes sur la base d’une clef.
62
III.A.5.7.1 Object Constraint Language OCL
63
- Des attributs dérivés ;
- Des stéréotypes.
III.A.6.1 Agrégation
C'est une association qui exprime un couplage fort lié à une relation de
subordination, elle est asymétrique du type ensemble/élément.
64
III.A.6.2 Composition : Agrégation forte
III.A.6.3 Exemples
La relation « gère » est-ce que c’est une Association simple ; une Agrégation
ou bien une composition ?
65
Exemple de Composition :
Fenêtre
Fenêtre
contrôle : Bordure
contenu : Panel
III.A.7 Navigabilité
Par défaut une association est bidirectionnelle: à partir d’un objet d’une
des 2 classes, on peut atteindre les objets de l’autre classe.
66
Navigabilité : Exemple
Etant donné un utilisateur; on désire pouvoir accéder a ces mots de passe.
67
III.A.8 Éléments sur une association : Résumé
ordered
68
III.A.9 Héritage
BUT
Permettre une réutilisation optimale des classes déjà écrites, utilisées
et validées.
PRINCIPE
Ne pas modifier les classes déjà écrites cela modifierait l'utilisation qui
en est faite.
69
III.A.9.1.2 Héritage : Adaptation
BUT 2
Permettre une factorisation des caractéristiques et des comportements
communs à plusieurs classes.
PRINCIPE
Lorsque plusieurs classes ont des caractéristiques et des comportements
communs la création d'une classe ancêtre permet de regrouper ce qui est
commun.
70
III.A.9.3 Héritage : Généralisation, Factorisation des
propriétés
71
On va encore factoriser les propriétés communes aux trois classes Avocat,
Vendeur et Enseignant en créant une super classe Personne.
72
A l’inverse, la contrainte {Incomplète} indique une généralisation
extensible.
BUT 3
Créer des sous-types (sous-classes). Une sous-classe sera du même
type que la classe dont elle hérite (super-classe).
PRINCIPE
Un objet d'une classe donnée pourra toujours faire référence à des
objets de ses sous classes (polymorphisme).
Une opération exécutée par un objet sera celle que connaît l'objet
dont il fait référence (liaison dynamique).
73
La contrainte OCL {overlapping} : indique que la super-classe
possède des instances qui peuvent se recouvrir lors de la réunion de
celles de ses sous-classes.
Par contre, tout média peut être affiché et ce n'est pas la même chose
pour l'audio, la vidéo, le graphisme, le texte.
Un média ne peut pas définir comment s'afficher tant qu'il ne sait pas
ce qu'il est.
74
La classe Media est une classe abstraite parce qu’elle définie une méthode
abstraite qui est la méthode afficher().
75
La classe Figure est une classe abstraite parce qu’elle définie une
méthode abstraite qui est la méthode afficher().
III.A.11 Interfaces
Une interface est une classe sans attribut dont toutes les opérations
sont abstraites / virtuelles (non définie).
Elle doit être réalisée (implémentée) par des classes non abstraites.
Une classe peut déclarer qu'elle implémente une interface. Elle doit
alors implémenter toutes les opérations de cette interface. Elle peut
ensuite être utilisée partout où ce comportement est exigé.
76
III.A.12 Paquetages
77
SECTION B
Diagramme de Classes
de la
Gestion de Bibliothèque
-
Recherche à partir du Cahier
des Charges Recherche par
responsabilité
Albert Einstein
78
III.B.1 Phases de la modélisation Objet
L'adhérent possède un mot de passe qui lui est donné à son inscription.
79
III.B.1.2 Classes retenues
- prêts oui responsabilité : contenir les infos et actions sur les prêts.
80
Un gérant de bibliothèque désire automatiser la gestion des prêts.
Associations :
81
III.B.1.6 Généraliser par Héritage
82
SECTION C
DIAGRAMME D’OBJETS
-
OBJECT DIAGRAM
Albert Einstein
83
III.C.1 Diagramme d’Objets : Définition
Nom de l’objet
: Nom de la classe
Les valeurs des attributs sont optionnelles ainsi que les liens entre
objets.
84
Les objets composés de sous-objets peuvent être visualisés.
Exemple1 :
Bus Destination
1
+passager * 1
+conducteur
Personne
85
bus_Numero_100: Bus etudiant:Personne
conducteur:Personne
faculte_des_sciences: Destination
Exemple 2 :
III.C.3 Résumé
instance
Classe Objet
* 1 *
* *
relie relie
instance
Association Lien
1
*
*
Agrégation
Composition
instance
Diagramme de classes Diagramme d'objets
1
86
CHAPITRE IV
MODELE DYNAMIQUE
Diagramme de Séquence,
Diagramme de Communication
&
Diagramme d’Etats Transition
Définir les états des objets qui déterminent une réaction différente face à
un événement.
88
IV.2 Diagrammes d'Interaction
Les diagrammes d’interaction ont pour but de modéliser la façon dont les
groupes d'objets collaborent pour réaliser un comportement donné.
Diagrammes de Séquence
-
SEQUENCES DIAGRAM
" Celui qui n'a jamais fait une erreur n'a sans
doute jamais essayé quelque chose de nouveau "
Albert Einstein
90
IV.A.1 Diagrammes de Séquence : Définition
Une flèche reçue par un objet se traduit par l’exécution d’une opération.
- Alt : conditionnelle
- Loop : boucle
- Réf : référence à un autre diagramme de séquence (= appel
de fonction)
- Etc.
91
IV.A.2.1 Participant : Représentation des acteurs
Nom_objet : nom_classe
IV.A.2.2 Messages
appel de méthode
92
IV.A.2.2.1 Types de messages
93
IV.A.2.2.2 Occurrence d'exécution
94
IV.A.2.3 Cadre d’interaction
95
Contrôle et diagrammes de séquences
97
SECTION B
Diagramme de
Collaboration entre Classes
Diagramme
de Communication
-
COMMUNICATION DIAGRAM
Système
1 2
4
5 3
6
99
IV.B.2 Diagramme de Communication : But & Principes
PRINCIPES :
BUTS :
DEFINITIONS :
Une collaboration est une collection d’objets et d’acteurs liés entre eux.
QUAND L’UTILISER ?
Phase de cadrage.
Permet de déterminer :
100
QUOI UTILISER ?
1. Les Objets
3. Les Messages
Représenté par un
rectangle
Nommage : Nom de
l’objet instancié
Nom de l’objet et
nom de la classe
Nom de la classe
101
IV.B.3.2 Liens d’interactions
Lien d’interaction
Exemples :
Synchrone
L’expéditeur est bloqué pendant le
traitement du message par l'expéditeur
Retour d'appel Un message synchrone peut être un
appel de procédure, le retour peut être
représenté
Asynchrone L'expéditeur continue son exécution
pendant le traitement du message
Minuté Comme le synchrone, mais un chien de
garde est positionné, c'est à dire que
l'expéditeur se réveille au bout d'un certain
temps s'il ne reçoit pas de réponse.
102
Informations portées sur les messages :
103
SECTION C
Diagrammes Etats –
Transitions
-
STATE MACHINE DIAGRAM
Une transition :
Les états qui peuvent être pris par les objets d’une classe.
Les activités qui surviennent tant que l’objet est dans un état
donné.
105
Chaque état est identifié par un nom.
2 états prédéfinis:
106
IV.C.4 Diagramme d’Etats : Notions d’évènement
Un événement :
est une information instantanée qui doit être traitée à l’instant où elle se
produit.
Nom de l’événement
Objet expéditeur
Objet destinataire
Description textuelle
107
IV.C.4.1 Notions de garde
108
IV.C.5 Diagramme d’Etats : Notions d’opérations et
actions
109
IV.C.6 Diagramme d’Etats : Syntaxe
Peut utiliser les attributs de l'objet, par exemple dans les gardes
des transitions.
110
IV.C.7 Résumé
Etat d’un objet: Situation d’un objet que l’on désire connaître et
gérer.
Transition: Passage d’un objet d’un état à un autre. Elle est
déclenchée par un événement.
Evénement: Stimulus qui provoque une (ou plusieurs)
transition(s). A chaque stimulus peut correspondre une action
responsable des modifications de l’objet (les valeurs des
attributs).
111
L’état d'un objet est lié aux valeurs de ses variables d'instances et des
interactions avec les autres objets. Il s'agit de ne conserver que les
états significatifs.
Un objet passe dans un état donné par l'événement qui modifie ses
variables, et quitte cet état par un autre événement qui les modifie à
nouveau. Ce sont des transitions d'états.
112
IV.C.8.2 Diagramme de transitions d’états : Adhérent
113
CHAPITRE V
Diagramme de Composants
-
Diagramme de Déploiement
&
Diagramme de Structure
Composite
Diagrammes de Composants
-
COMPONENT DIAGRAM
Ils rendent des services mais définissent leurs exigences (taille, espace,
etc.).
Un composant définit les services qu'il rend et aussi les services dont il
est en attente pour pouvoir fonctionner.
116
Description des implémentations du système (composants)
Groupes d’implémentation (modules)
Relations entre divers implémentation (dépendances)
V.A.3.1 Composant
V.A.3.3 Module
V.A.3.4 Dépendance
Les rubriques suivantes présentent les relations qu’on utiliser dans les
diagrammes de composants :
Relations d'abstraction
119
Une relation d'abstraction est une dépendance entre des éléments de
modèle qui représente le même concept à différents niveaux d'abstraction
ou de différents points de vue. Vous pouvez ajouter des relations
d'abstraction à un modèle dans différents diagrammes, tels que les
diagrammes de cas d'utilisation, de classes et de composants.
Relations d'association
Dans les modèles UML, une association est une relation entre deux
discriminants, tels que des classes ou des cas d'utilisation, qui décrit les
causes de la relation et les règles qui régissent la relation.
Dans les diagrammes UML, une relation de réalisation d'interface est un type
spécialisé de relation d'implémentation entre un discriminant et une interface
fournie. La relation de réalisation d'interface spécifie que le discriminant
réalisant doit se conformer au contrat spécifié par l'interface fournie.
Relations de réalisation
En modélisation UML, une relation de réalisation est une relation entre deux
éléments de modèle, dans laquelle un élément de modèle (le client) réalise le
comportement que l'autre élément de modèle (le fournisseur) spécifie.
Plusieurs clients peuvent réaliser le comportement d'un seul fournisseur.
Vous pouvez utiliser des relations de réalisation dans les diagrammes de
classes et les diagrammes de composants.
Relations d'utilisation
120
V.A.3.5 Processus et Thread
Composant composite :
Port :
121
Connecteurs :
D’assemblage : lie une interface d’un élément interne avec celle d’un
autre élément interne.
122
Diagramme de Classes
Diagramme de Composants
123
V.A.5 Diagramme de Composants : Exemple Tickets
124
SECTION B
Diagrammes de Déploiement
-
DEPLOYMENT DIAGRAM
Représentation graphique
126
Les nœuds sont représentés sous forme de boîtes.
127
V.B.3 Les chemins de communication
Exemple d’artéfacts :
D’un point de vue modélisation seul les artéfacts peuvent être déployés
au niveau d’un nœud et non les composants qui représentent des
modèles.
V.B.5 Déploiement
Pour indiquer qu’un artéfact est déployé sur un nœud, on peut représenter
l’artéfact à l’intérieur du nœud.
129
V.B.6 Diagramme de Déploiement : Exemples
130
V.B.6 Diagrammes de Déploiement de l'application
Bibliothèque
Serveur stockage
document
documents
Livre Revues
BandeDessinées
Résumé
131
SECTION C
Diagrammes de Structure
Composites
-
COMPOSITE STRUCTURE
DIAGRAM
Objectif
Les diagrammes de structure composites peuvent être utilisés pour décrire
les :
133
Classifieurs structurés : Propriété
ms:MailSender
roleName:rRoleName : TypeName
ms:MailSender
sendMail(…
)
134
V.C.2.2 Eléments du diagramme : Parties
Une partie représente un rôle joué par une instance d'une classe ou un
ensemble d'instances à l'exécution.
135
V.C.2.3.2 Ports de Comportement
Les ports peuvent déléguer les requêtes reçues à des parties internes
ou au contraire les délivrer directement à la partie qui possède le port
en question. Les ports ayant un statut public sont dessinés à cheval sur
la bordure de la partie. À l'inverse, les ports protégés (non visibles par
l'environnement) sont contenus dans la partie.
136
V.C.2.3.4 Ports & Interfaces : Exemples
Connecteurs - Syntaxe
Représente :
la visibilité entre deux propriétés ;
un moyen de communication
137
V.C.2.5 Eléments du diagramme : Collaboration
Une collaboration est en général d'un niveau d'abstraction plus élevé qu'un
classifieur. Elle est représentée par un ovale en pointillé contenant les rôles
joué par chaque instance dans la collaboration lors de l'exécution .
138
V.C.3 Exemples de Collaboration
139
Exemple3: Structured Class House
140
Exemple :
141
CHAPITRE VI
Diagramme d’Activité
-
Diagramme de Globale
Interaction
&
Diagramme de Paquetage
Diagramme d’Activité
-
ACTIVITY DIAGRAM
Activité
Itération
145
Nœud d’objet
Souvent, différentes activités manipulent un même objet qui change
alors d’état selon le degré d’avancement du mécanisme.
Deux utilisations :
Exemple1 Exemple 2
Le mot clé sinon peut être utilisé pour couvrir les chemins non déjà
couverts par des conditions de garde.
147
VI.A.3.3.3 Synchronisation
148
Synchronisation – Exemple
149
VI.A.3.3.4 Itération
VI.A.3.4 Swimlanes
150
VI.A.4 Diagrammes d’Activité : Exemples
Exemple 1 - Cafetière
Construire un diagramme d’activité représentant l’utilisation d’une cafetière
électrique:
151
Cafetière: Solution possible
153
SECTION B
Diagramme
Globale Interaction
-
INTERACTION OVERVIEW
DIAGRAM
Apparut dans la version 2.0 d’UML pour combler les insuffisances des
diagrammes d’activités et de séquence.
Met le focus sur le flot général de contrôle dans lequel chaque nœud
représente un diagramme d'interactions. Il s'agit d'un cas spécial de
diagramme d'activités.
Met le focus sur le flot général de contrôle dans lequel chaque nœud
représente un diagramme d'interactions. Il s'agit d'un cas spécial de
diagramme d'activités.
156
Dans le pentagone, on peut aussi faire suivre le nom par la liste des
lignes de vie impliquées, précédée par le mot clé lifelines.
La syntaxe des attributs est la même que celle des attributs d’une
classe.
157
158
159
Diagrammes Globale Interaction: Exemple 1
160
161
SECTION C
Diagrammes de Paquetages
-
PACKAGE DIAGRAM
Objectif :
Structurer / organiser les éléments et diagrammes;
notamment les classes
d’autres paquetages.
Le type de la relation qui unit les éléments à leur paquetage est de type
composition.
Notation :
Un paquetage est représenté par un rectangle avec une cartouche
rectangulaire en haut à gauche.
163
Visibilité d’un élément E dans un package P :
164
VI.C.3 Espace de Nommage
GestionProduits::Catalogue::Boulon
Chaque package définit un espace de noms afin que les noms définis
dans les différents packages ne soient pas en conflit les uns avec les
autres.
165
Banque :: Compte ≠ Commerce :: Compte
166
Classe1 possède dans son nom le nom du paquetage, la
hiérarchie des paquetages étant indiquée par le symbole « :: » ;
Classe2 possède en dessous de son nom le nom du paquetage
entre parenthèse ;
VI.C.4 Dépendances
167
Accès « access » : Accès à des éléments en tenant compte de leur
visibilité. (A - - «accède» - - > B : Tout élément public de B est
accessible par son nom complet depuis A)
Dépendances – Notation :
168
CHAPITRE VII
Diagrammes de Temps
&
Diagrammes de Profile
Diagrammes de Temps
-
TIMING DIAGRAM
The following nodes and edges are typically drawn in a UML timing
diagram:
1. Lifeline,
3. Destruction event,
4. Duration constraint,
5. Time constraint
VII.A.2 Concepts
VII.A.2.1 Lifeline
171
Diagrammes de Temps : Définition
Ce sont des diagrammes d'interaction où l'attention est portée sur les
contraintes temporelles dans le langage UML2.
Ils sont utilisés pour explorer le comportement des objets d'un système
à travers une période de temps.
« notation concise »
« notation robuste »
172
Concept : Etats - Conditions
Les diagrammes de temps contiennent des états ou des conditions.
173
composition. No other occurrence may appear after the destruction
event on a given lifeline.
Note
Une note (le commentaire) donne la capacité d'attacher des remarques
diverses aux éléments. Un commentaire ne porte aucune force
sémantique, mais peut contenir les informations qui sont utiles pour un
concepteur.
Etapes de modélisation
On va traiter l’exemple de retrait d’argent d’un guichet.
Etapes:
Trouver les états décrivant le cas étudié ;
175
Définir les acteurs participant au processus ;
Relier les états aux acteurs;
Etats trouvées:
Le client
Le système bancaire
La carte bancaire
On va déterminer les états correspondant à chaque acteur
Client :
Lecteur de carte:
Aucune carte
Carte reçu
Carte valide
Carte invalide
Ejection de carte
176
Système bancaire :
Aucune carte
Carte reçu
Carte valide
Carte invalide
Montant invalide
Ejection du montant
Ejection de carte
Ejection du reçu
177
Après avoir effectuer les deux tâches précédentes, on doit maintenant
dessiner le diagramme de temps, avec sa ligne de vie , et ces contraintes de
temps.
178
VII.A.3 Etude de cas – Notation Robuste
179
VII.A.4 Timing diagram example: Website Latency
After web user enters web page URL, the URL should be resolved to some IP
address. DNS resolution can add some tangible waiting time to the response
latency as perceived by user. Latency delays related to DNS resolution could
range from 1 ms (local DNS cache) to several seconds. With simple Model–
View–Control (MVC) implementation, Java servlet gets control and requests
some data from "model". Communication with data sources usually takes
some discernible time. After data is received and processed, servlet forwards
request processing to JSP ("view"). Buffered HTTP response is sent back to
the browser. Web browser takes some time to process HTTP response and
HTML page to start rendering the page view to the web client.
(Note, that after that it could take even more time for the web browser to
request other resources like CSS, JavaScript, images, which is not shown on
the diagram.)
180
Timing diagram example: Website Latency
181
SECTION B
Diagrammes de Profile
-
PROFIL DIAGRAM
Exemple :
Profile – Notation :
183
VII.B.2 Diagrammes de Profile: Composant
1. Des stéréotypes.
3. Des contraintes :
VII.B.2.1 Stéréotypes
184
VII.B.2.2 Tagged Values
VII.B.2.3 Contraintes
185
VII.B.2.4 Relations
Les stéréotypes peuvent être reliés les uns aux autres par des relations
Généralisation: (Héritage)
Profile Appliqué :
C’est une relation utilisée pour montrer que les profils ont été appliqués
à un package.
Un profil qui a été appliqué ne peut être retiré que si d'autres profils qui
en dépendent sont d'abord retirés.
186
VII.B.3 Diagrammes de Profile : Exemples
Exemple 1 – Serveur :
Diagramme de profil sous forme
de package
Profil défini :
Nommé ClientProxyServer
Définit trois stéréotypes
- Trois classes jouant un rôle particulier : extensions de la
méta-classe Class du méta-modèle UML
- Server, Proxy, Client
187
Exemple 3 – EJB :
Enterprise JavaBeans (EJB) est une architecture de composants
logiciels côté serveur qui permet de :
188
Hébergés au sein d'un serveur applicatif permettant de représenter des
données (Entités). Le serveur applicatif se charge de la :
Création
Destruction
Passivation
Activation de ses composants en fonction de ses besoins.
189
Conclusions
Langage de modélisation permettant d’appréhender la réalisation d’un
système informatique.
190
Bibliographie - Webographie
Martin Fowler, Kendall Scott; “UML Distilled”, Addison-Wesley 2000
Grady Booch, et al; “The Unified Modeling Language User Guide”, Addison-
Wesley
Martin Fowler ; "UML", coll. Le tout en poche, ed. Campus Press – 2001
omg.org
https://www.omg.org/spec/UML/About-UML/
http://st-www.cs.uiuc.edu/users/patterns/patterns.html, "
https://laurent-audibert.developpez.com/Cours-UML/?page=object-constraint-
langage-ocl
191
NADIA AFIFI’s Biography
Nadia AFIFI is Currently Professor at Higher School of
Technology (ESTC), Hassan II University of Casablanca -
Morocco (UH2C). She is IEEE Senior Member; part of
“Software Engineering, Business Intelligence an and
Security” (SEBIS) research team of “Networks,
Computer, Telecom & Multimedia” (RITM) Laboratory
(ESTC).
She received a PhD in Computer Engineering from UH2C; and HDR (Habilitation
to Direct Research) in IT. She had received an Electrical Engineering, Computer
Systems degree from the Mohammadia School of Engineers (EMI), Mohammed
V University – Rabat Morocco. Prior to her academic career, she had worked as a
software engineer in the Finance Ministry (Rabat).
192