Cours SI Polytech Chap 8
Cours SI Polytech Chap 8
d’Information
Chap. 7: UML
Principes généraux et applications SI
Erwan TRANVOUEZ
erwan.tranvouez@univ-amu.fr
MOD Global : Cas des cardinalités
2/62
Plan du cours
3/62
Objectifs de la session :
5/62
1. Présentation Générale d’UML
Définitions et enjeux
UML Origine
7/62
UML Objectif
9/62
Ce que n’est pas UML
Une méthode !
… Même si une méthode minimale peut consister en une
séquence de diagramme UML.
Mais le langage de modélisation se révélant
relativement générique, d’autres champs de
modélisation s’en sont emparés:
Paradigme agent/multi-agents: avec AUML utilisé
par la FIPA (Foundation for Intellignent and Physical
Agent) elle-même faisant partie d’IEEE.
Modélisation d’entreprise : avec EUML
10/62
Ce que propose UML
11/62
Démarche préconisée par UML
Vue des
Vue Logique
Composants
Besoins des
utilisateurs
Vue des Vue de
Processus Déploiement
Aspect exécution :
synchronisation des Aspect utilisation : décrire Aspect mise en oeuvre : dans
différentes activités du à l’aide de scénarii (use quelles condition est utilisé le
logiciel case) l’utilisation du logiciel (architecture réseau,
logiciel et donc des etc…) en vue d’une meilleure
actions des utilisateurs performance
12/62
2. Vue Fonctionnelle
Use Case
Scénario
Les cas d’utilisation (use case)
14/62
Les cas d’utilisation (use case)
Utilisateurs
Objectif :
Permettre d’exprimer une analyse
fonctionnelle du système, cad quels
Fonction 1 sont les besoins que doit remplir le
logiciel et les liens éventuels entre
ces besoins.
Profil 1 Système
Logiciel
On identifie les points
d’interaction entre les utilisateurs
et le système ie les fonctions qui
seront sollicitées par les
utilisateurs
Profil 2
Besoin client
15/62
Les cas d’utilisation (use case)
16/62
Les cas d’utilisation Concepts
Ces C.U. correspondent à des fonctions invocable par les utilisateurs => implique IHM
19/62
et NON PAS (en tout cas ici) des fonctions non informatisées ou internes à l’application
Illustration traduction IHM
Xxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxx
Xxxxxxxx xxx x x x x x xxxxxxx x
xxxxxxxxxxxx Mode de convocation
Mail
Courrier
Valider
Stage
Convoquer Eleve
21/62
2. Vue Dynamique
Diagramme de séquence
Diagramme d’Activité
Les diagrammes de séquence
23/62
Les diagrammes de séquence
Type de messages
Synchrone : le message est bloquant. L’émetteur du
message ne reprend ses activités qu’après avoir reçu la
réponse au message (ex. appel de fonction)
Asynchrone : le message n’est pas bloquant, il active une
fonction puis retourne à son activité (ex. envoi paquet UDP).
Création : le message se traduit par une demande
d’instanciation d’objet.
Destruction : le message détruit l’instance (en C++ revient
à faire appel au destructeur.
Durée du message :
Instantanée : flèche horizontale
Avec un temps de transport (ex. délais réseau) : flèche
oblique
24/62
Exemple 1
25/62
Exemple 2
26/62
Diagrammes de collaboration
27/62
Exemple de Diagrammes de
collaboration Objet
28/62
3. Diagrammes Statiques UML
Diagrammes de classes
Diagramme de classe
Classique en OO.
Décrire la structure du système en terme de
classes et de relations entre les classes
(héritage, utilisation, composition …).
Peut être utilisé pour faire du prototypage
30/62
Diagramme de classe Concepts
Classes
Nom
Attribut
Méthode
Liens entre classes
Héritage
Association
Simple
Héritage
Composition/agrégation
Relation
Utilisation
31/62
Exemple de classe
privé
protégé
public
Attribut de classe
32/62
Association
Signification :
traduit des relations structurelles entre 2 classes, ie qui se
retrouveront au niveau de leur implémentation (ex. ajout
d’un attribut)
Il est possible de contraindre l’existence d’une
association. Marquée entre { } elle peut s’appuyer sur un
langage de contrainte (OCL).
Symbole :
ligne (lecture par défaut de gauche a droite), avec
éventuellement des flèches pour indiquer des sens de
navigation.
33/62
Agrégation
Signification :
une occurrence d’une classe peut contrôler une ou
plusieurs occurrences d’une autre classe.
Symbole :
losange « creux » du côté de la classe propriétaire.
(poignée de la laisse)
La notion d’agrégation signifie que le lien peut
être temporaire et rompue sans autres
préjudice pour les différentes classes
impliquées. (chacun poursuit sa vie)
34/62
Composition
Signification :
une occurrence d’une classe est composée à partir d’une
ou plusieurs occurrences d’une autre classe.
Symbole :
losange plein noir du côté de la classe qui contient les
autres
La notion de composition est plus forte. Elle implique
que les instances des classes qui composent une autre,
n’ont d’autres buts que de composer.
Ainsi, elles ne peuvent survivre à la destruction de la
classe d’accueil. Cette dernière les a d’ailleurs sûrement
créées.
35/62
Relation de dépendance
36/62
Exemple de diagramme de classe –
aspect BD/POO
Effectifs d’un établissement de formation
37/62
Exemple de diagramme de classe
Salle
Etudiant Enseignant
38/62
Exemple de diagramme de classe
Salle
Etudiant Enseignant
Cours
Debut
fin
Cours
Etudiant Enseignant
Debut
fin
employeur 0..*
Entreprise 1 Élève
stagiaire
Vocabulaire projet
Autres diagrammes UML
(diagramme d’état-transition, diagramme
d’activité, retour sur les classes …)
Conception d’applications avec UML
43/62
Modélisation du métier
44/62
Utilisation des diagrammes
45/62
Retour sur les diagrammes de classe
47/62
Notion de processus métier
48/62
Description d’un processus métier
50/62
Diagramme de État Transition
Concepts
51/62
Diagramme de État Transition
Concepts
Type d’État :
État initial : traduit l’initialisation du diagramme
d’état (1 seul par diagramme).
État final : caractérise la fin du diagramme (0..n).
État simple : caractérise l’état d’un objet
État composite: permet de gérer l’abstraction en
définissant un « super » état dans lequel une
séquence d’état et de transition peuvent décrire plus
finement ce qui se passe dans cet état (ex. l’état
Inscription peut être décomposé en état saisi, état
frais inscription calculés, frais payés, inscrit).
52/62
Diagramme de État Transition
Concepts
53/62
Diagramme de État Transition
Exemple
54/62
Diagramme de État Transition
Concepts
55/62
Diagramme de État Transition
Aspect non développés ici
56/62
Diagramme d’activité
Objectifs
57/62
Diagramme d’activité
Concept
58/62
Diagramme d’activité
Concept
59/62
Diagramme d’activité
Exemple simple
60/62
Diagramme d’activité
Exemple avec Couloir
61/62
Annexe – Réflexion sur les
métamodeles…
Ex. Machine à état
63/62