C1-UML - IITE-Introduction-UC
C1-UML - IITE-Introduction-UC
Modélisation UML
Pr. Fatima zahra SALMAM
[email protected]
Objectifs du cours
✓Apprendre les formalismes et méthodes utilisés en modélisation
d'entreprise.
✓Découvrir les bases du langage UML et son rôle dans le génie logiciel.
1
11/02/2025
Introduction
La modélisation en génie logiciel consiste à représenter un système logiciel de
manière abstraite pour mieux le comprendre, le concevoir et le communiquer
avant son développement.
▪ Comprendre les besoins et exigences du client.
▪ Communiquer avec les parties prenantes grâce à des représentations
visuelles.
▪ Concevoir des solutions logicielles robustes et évolutives.
▪ Anticiper les problèmes avant la phase de développement.
Introduction
Pourquoi modéliser?
2
11/02/2025
Introduction
Réalité Modèles
Modélisation (représentations
(représentations mentales,
schématiques,
connaissances, règlements …)
formulations
rigoureuses …)
Implantation
Un modèle ?
▪ Un modèle est une représentation abstraite de la réalité qui exclut certains
détails du monde réel.
3
11/02/2025
Type de modélisation
▪ Deux types de modélisation:
❑ La modélisation fonctionnelle.
4
11/02/2025
Matériel et logiciel
▪ Systèmes informatiques :
❑ 80% de logiciel
❑ 20% de matériel
▪ Depuis quelques années, la fabrication du matériel est assurée par quelques fabricants
seulement.
❑ Le matériel est relativement fiable.
❑ Le marché est standardisé.
➢ Les problèmes liés à l'informatique sont essentiellement des problèmes de
logiciel.
Pr. FZ. SALMAM UML - 2024/2025 10
10
5
11/02/2025
La crise du logiciel
▪ Étude sur 8 380 projets (Standish Group, 1995) :
❑ Succès : 16%
❑ Problématique : 53% (budget ou délais non respectés, défaut de fonctionnalités)
❑ Échec : 31% (abandonné).
Le taux de succès décroît avec la taille des projets et la taille des entreprises.
11
12
6
11/02/2025
13
Étapes du développement
▪ Les étapes de développement d’un logiciel/système informatique:
❑ Expression des besoins : Il traduit l'apport du futur système,
❑ Spécifications : Précision avec des descriptifs, schémas, modèles, …
❑ Analyse : Détermination des éléments du système,
❑ Conception : Rédaction des cahiers des charges de réalisation,
❑ Implémentation : Mise en œuvre et réalisation,
❑ Tests de vérification : Tests unitaires et finals,
❑ Validation : Utilisation d'un cahier de recettes,
❑ Maintenance et évolution : Correction des erreurs, ajouts de fonctionnalité, …
14
7
11/02/2025
Langages de modélisation
▪ Un langage de modélisation doit définir :
❑ La sémantique des concepts ;
❑ Une notation pour la représentation de concepts ;
❑ Des règles de construction et d'utilisation des concepts.
▪ Des langages à différents niveaux de formalisation:
❑ Langages formels (Z, B, VDM) : le plus souvent mathématiques, au grand
pouvoir d'expression et permettant des preuves formelles sur les spécifications;
❑ Langages semi-formels (MERISE, UML...) : le plus souvent graphiques, au
pouvoir d'expression moindre mais plus faciles d'emploi.
15
Langages de modélisation
▪ L'industrie du logiciel dispose de nombreux langages de modélisation :
❑ Adaptés aux systèmes procéduraux (MERISE...) ;
❑ Adaptés aux systèmes temps réel (ROOM, SADT...) ;
❑ Adaptés aux systèmes à objets (OMT, Booch, UML...).
▪ Le rôle des outils (Ateliers Génie Logiciel) est primordial pour l'utilisabilité en
pratique des langages de modélisation.
▪ Dans le cadre de ce cours nous allons se concentré sur la modélisation en
utilisant la méthode orientée objet (UML)
16
8
11/02/2025
Historique
17
Historique
▪ Au milieu des années 90, les auteurs de Booch, OOSE et OMT ont décidé de créer un langage de
modélisation unifié avec pour objectifs :
❑ Modéliser un système des concepts à l'exécutable, en utilisant les techniques orientée objet ;
❑ Réduire la complexité de la modélisation ;
❑ Utilisable par l'homme comme la machine :
➢ Représentations graphiques mais disposant de qualités formelles suffisantes pour être
traduites automatiquement en code source;
➢ Ces représentations ne disposent cependant pas de qualités formelles suffisantes pour justifier
d'aussi bonnes propriétés mathématiques que des langages de spécification formelle (Z,
VDM...).
▪ Officiellement UML est né en 1994.
UML v2.0 date de 2005. Il s'agit d'une version majeure apportant des innovations radicales et
étendant largement le champ d'application d'UML. La dernière version actuellement est 2.5.1
Pr. FZ. SALMAM UML - 2024/2025 18
18
9
11/02/2025
Qu’est-ce qu’UML ?
UML signifie Unified Modelling Language, est un langage pour visualiser,
spécifier, concevoir et documenter tous les aspects d'un système d'information:
19
Qu’est-ce qu’UML ?
▪ UML fournit un support de communication : un langage graphique comportant
des diagrammes standards représentant des 'vues' d'un système d'information.
▪ Un Diagramme?
➢Représentation graphique d'un ensemble d'éléments et de relations qui
constituent un système.
20
10
11/02/2025
21
Phase de modélisation
A ❖ La capture des besoins
N
L
❖ L’analyse des besoins
Y
S
E ❖ L’analyse du domaine et des objets métiers
C
O
❖ Modélisation de l’architecture
N
C
E ❖ Spécification des composants
P
T
I ❖ Conception interne
O
Pr. FZ. SALMAM N UML - 2024/2025 22
22
11
11/02/2025
Analyse et Conception
▪ On doit :
❑ Bien comprendre les demandes et exigences des utilisateurs finaux
❑ Bien communiquer avec le client
❑ Tenir compte des changements du cahier des charges
❑ Empêcher la découverte tardive de défauts sérieux dans le projet
❑ Traiter au plus tôt tous les points critiques du projet
❑ Bien maîtriser la complexité (coût, temps, ressources humaines et matérielle)
❑ Favoriser la réutilisation
❑ Définir une architecture robuste
❑ Faciliter le travail en équipe
▪ Nous avons, donc, besoin de:
❑ Modèles (version abstraite du système avant son implémentation)
❑ Méthodologie (la stratégie suivie pour élaborer le projet)
Pr. FZ. SALMAM UML - 2024/2025 23
23
❑ Acteurs
❑ Processus
❑ Composants logiciels
❑ Réutilisation de composants
24
12
11/02/2025
25
Le formalisme d'UML
▪ UML se décompose en plusieurs sous-ensembles
❑ 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 toutes ces vues, il est possible de définir (ou
retrouver) le système complet.
❑ Les diagrammes : Les diagrammes sont des éléments graphiques. Ceux-ci décrivent le
contenu des vues, qui sont des notions abstraites. Les diagrammes peuvent faire partie de
plusieurs vues.
❑ Les modèles d'élément : Les modèles d'élément sont les briques des diagrammes UML,
ces modèles sont utilisés dans plusieurs types de diagramme.
26
13
11/02/2025
Besoins des
utilisateurs → Comportement du système
QUOI et QUI
27
Diagrammes UML
▪ UML permet de construire plusieurs modèles d’un système selon les vues:
❑ certains montrent le système du point de vue des utilisateurs,
❑ d’autres montrent sa structure interne,
❑ d’autres encore donnent une vision globale ou détaillée des fonctionnalités
du système.
▪ Ils sont élaborés tout au long du cycle de vie du développement d’un système
depuis le recueil des besoins jusqu’à la phase de conception.
28
14
11/02/2025
Diagrammes UML
▪ UML 2.5.1 propose 14 types de diagrammes.
▪ UML n'étant pas une méthode, leur utilisation est laissée à l'appréciation de
chacun, même si le diagramme de classes est généralement considéré comme
l'élément central d'UML.
29
30
15
11/02/2025
31
32
16
11/02/2025
▪ Données et Traitements
❑ Les données sont analysées pour elle-même, indépendamment des traitements qu’on leur appliquera
(structures, stockage, …).
❑ Les traitements sont les processus qui permettent la saisie, la validation ou la mise-à-jour des
données ou la production du savoir à partir des données. (les méthodes des objets).
33
Diagrammes UML
▪ Dans ce cours nous allons couvrir les diagrammes UML qui correspondent chacun
à une étape de la conception:
1. Analyse fonctionnelle : avec des diagrammes des cas d’utilisation, de séquence et
d’activités.
34
17
11/02/2025
En résumé !
▪ UML est un langage standard de modélisation, pas une méthode.
35
Outils UML
▪ Il y a plusieurs outils pour la modélisation UML. Ils peuvent être regroupés en trois
catégories:
❑ Les outils de dessin des diagrammes (comme Visio et OmniGraffle) ne sont pas vraiment le
meilleur choix car mettent plus le focus sur l’apparence visuel.
❑ Les éditeurs de diagramme UML (comme Violet UML and UMLet) supportent explicitement
l’édition des différents éléments des diagramme UML et respectent la sémantique des diagrammes.
❑ Les outils CASE (Computer Aided Software Engineering) (comme Papyrus, Rational Rose,
ArgoUML, …) permet l’utilisation d’UML pour la construction de modèles détaillés et puissants. Ils
incluent typiquement : la génération de code (génération de squelettes dans différents langages
cibles à partir des models UML) et le reverse engineering (lire le code existant et générer ou mettre
à jour les diagrammes existant).
Pr. FZ. SALMAM UML - 2024/2025 36
36
18
11/02/2025
37
▪ Il ne faut pas chercher l'exhaustivité, mais clarifier, filtrer et organiser les besoins !
▪ Le modèle conceptuel doit servir d'interface entre tous les acteurs du projet.
▪ Les besoins des clients sont des éléments de traçabilité dans un processus intégrant
UML.
Pr. FZ. SALMAM UML - 2024/2025 38
38
19
11/02/2025
39
▪ Ils identifient les utilisateurs du système (acteurs) et leur interaction avec le système.
▪ Ils servent de base à la traçabilité des exigences d'un système dans un processus de
développement intégrant UML.
Pr. FZ. SALMAM UML - 2024/2025 40
40
20
11/02/2025
41
Acteur
Effectuer un virement
Client
Consulter compte
Relation de type : association
42
21
11/02/2025
Acteur
▪ UML n’emploi pas le terme d’utilisateur mais d’acteur.
▪ Acteur : entité externe qui interagit avec le système :fournir, recevoir, échanger de
l’information
▪ Les acteurs sont identifiés en observant les utilisateurs directs du système ainsi que les
autres systèmes en interaction avec celui-ci.
« acteur »
Nom de l’acteur
43
Acteur
▪ Un acteur représente un rôle joué par un utilisateur qui interagit avec le système
▪ La même personne physique (ou autre entité) peut jouer le rôle de plusieurs acteurs
(vendeur, client)
▪ Les acteurs peuvent être classés (hiérarchisés) en faisant une sorte d’héritage.
44
22
11/02/2025
❑ Par un rectangle contenant le stéréotype «acteur » avec son nom juste en dessous.
Nom acteur
▪ Il est recommandé d’ajouter un commentaire sur l’acteur pour préciser son rôle.
« Acteur »
Nom Acteur
45
46
23
11/02/2025
Type d’acteurs
▪ on distingue deux types :
47
Un «cas d’utilisation»
▪ Un cas d’utilisation se représente par une ellipse contenant son nom : Nom du cas d’utilisation
▪ Nommez les cas d’utilisation par un verbe à l’infinitif suivi d’un complément, du point
de vue de l’acteur (et non pas du point de vue du système).
48
24
11/02/2025
▪ Multiplicité: Lorsqu’un acteur peut interagir plusieurs fois avec un cas d’utilisation, il
est possible d’ajouter une multiplicité sur l’association du côté du cas d’utilisation:
❑ * pour plusieurs;
Borne interactive d’une banque
❑ n pour exactement n;
49
❑ Généralisations/spécialisations.
❑ La généralisation/spécialisation.
50
25
11/02/2025
Relation d’inclusion
▪ Un cas A est inclus dans un cas B si le comportement décrit par le cas A fait partie du
comportement de B. On dit que le cas B dépend de A.
▪ L’inclusion est représentée par une flèche avec un trait pointillé stéréotypée «inclut»
ou «include», si B inclut A, flèche dirigée de B vers A.
51
Relation d’inclusion
▪ Exemple:
Borne interactive d’une banque
« include »
Effectuer un virement S’authentifier
Client
« include »
Consulter compte
52
26
11/02/2025
Relation d’inclusion
▪ La relation d’inclusion permet de :
▪ Un cas d’utilisation est dit interne sil n’est pas relié directement à un acteur.
▪ Les relations entre cas d’utilisation ne sont pas obligatoires. Elles permettent de
clarifier et d’enrichir les cas d’utilisation.
53
Relation d’extension
▪ On dit qu’un cas d’utilisation B étend un cas d’utilisation A lorsque B peut être
appelé au cours de l’exécution de A.
▪ L’extension est représentée par une flèche avec un trait pointillé stéréotypée « extend »
ou «étend», si B étend A, flèche dirigée de B vers A.
54
27
11/02/2025
Relation d’extension
▪ Le cas d'utilisation étendu peut fonctionner tout seul, mais il peut également être
complété par un autre cas d'utilisation, sous certaines conditions.
55
Relation d’extension
▪ Exemple : La vérification du solde du compte n’intervient que si la demande de retrait
d’argent dépasse 200 DHs. Borne interactive d’une banque
Retirer argent
« include »
Effectuer un virement
Point d’extension :
vérificationSolde {après
avoir demandé le montant}
« include »
« extend »
S’authentifier
Client Vérifier le solde
« include »
Condition: {Si montant>200} Consulter compte
Points d’extension: vérificationSolde
Pr. FZ. SALMAM UML - 2024/2025 56
56
28
11/02/2025
▪ La relation «include» suppose une obligation d'exécution des interactions dans le cas
de base.
57
Relations de généralisation
▪ Un cas A est une généralisation d’un cas B si B est un cas particulier de A.
▪ La relation de généralisation est représentée par une flèche avec un trait plein dont la pointe est
un triangle fermé désignant le cas le plus général.
▪ Cette relation se traduit par le concept d’héritage dans les langages orientés objet.
58
29
11/02/2025
Relations de généralisation
Borne interactive d’une banque
▪ Exemple :
Retirer argent
« include »
Effectuer un virement
Point d’extension :
vérificationSolde {après
avoir demandé le montant}
« include »
« extend »
S’authentifier
Client Vérifier le solde
« include »
Condition: {Si montant>200} Consulter compte
Points d’extension: vérificationSolde
59
Relations de généralisation
▪ La seule relation possible entre deux acteurs est la généralisation.
▪ Si A généralise B, tous les cas d’utilisation accessibles à A le sont aussi à B, mais l'inverse n'est
pas vrai.
Acteur général
Acteur spécialisé
Pr. FZ. SALMAM UML - 2024/2025 60
60
30
11/02/2025
▪ Éviter la redondance.
▪ Ne pas faire apparaître les détails des cas d’utilisation (ne pas réduire un cas à une
action).
▪ Garder à l’esprit qu’il n’y a pas de notion temporelle dans un diagramme de cas
d’utilisation.
▪ Remarque: L’ensemble des cas d’utilisation doit couvrir exhaustivement tous les
besoins fonctionnels du système.
Pr. FZ. SALMAM UML - 2024/2025 61
61
Exercice 1 :
Système « Gestion d’un établissement scolaire »
Dans un établissement scolaire, on désire gérer la réservation des salles de cours ainsi
que du matériel pédagogique (ordinateur portable ou/et Vidéo projecteur). Seuls les
enseignants sont habilités à effectuer des réservations (sous réserve de disponibilité de la
salle ou du matériel).
Le planning des salles peut quant à lui être consulté par tout le monde (enseignants et
étudiants).
Cependant, le récapitulatif horaire par enseignant (calculé à partir du planning des salles)
ne peut être consulté que par les enseignants.
Enfin, il existe pour chaque formation un enseignant responsable qui seul peut éditer le
récapitulatif horaire pour l’ensemble de la formation.
62
31