Introduction à la modélisation
3GI
2023-2024
Emil DUMITRESCU
1
Objectifs et résultats attendus
Eléments d’ingénierie système (info)
Préparation du projet RIP (S2)
Attendus en fin de séquence :
un diagramme de classe – point de
départ pour votre travail en RIP.
2
Organisation pédagogique
Généralités sur la modélisation
Diagrammes de cas d’utilisation
Diagrammes d’activité
Diagrammes de classe :
Lien avec la programmation Python
Etude de cas : sujet du projet RIP (S2)
3
Pourquoi modéliser ?
Le « projet » exigences
- des objectifs, un client
- une équipe collaboration
- des délais
- des moyens financiers limités
- importance du résultat efficacité
Modélisation : ensemble d’outils
- aide à la structuration, maîtrise de la complexité (poser
les bonnes questions aux bons moments)
- aide à la conceptualisation
- aide à l’échange collaboratif
4
Pourquoi modéliser ?
modélisation :
« Quoi? »
- conceptualiser des exigences
- raffiner les exigences
- identifier des comportements, une
structure
« Comment ? »
5
En 3GI
Spécifications
Modélisation de
systèmes
informatiques
- conceptualiser des exigences
- raffiner les exigences Algorithmes
- identifier des comportements, une Et mises en
structure œuvre avec Java
- BDI,
TP Algo/Java
Mais aussi…..
6
En 3GI….
Spécifications
Modélisation de
systèmes de
production
- conceptualiser des exigences
- raffiner les exigences Modélisation de
- identifier des comportements, une processus
structure industriels
7
Unified Modeling Language
Ensemble de modèles pour représenter
un système informatique
son utilisation dans l’entreprise
Utilisé pour concevoir un système
8
Modèle n.m. ( 1549 )
1) « Ce qui sert ou doit servir d’objet d’imitation
pour faire ou reproduire quelque chose »
2) « Objet de même forme qu’un autre objet,
mais exécuté en réduction » (modèle réduit, maquette)
3) « Objet support d’une théorie, objet idéal représentant
d’une catégorie »
objet construit
4) « Objet particulier défini par un ensemble
de caractéristiques et auquel peuvent
se rapporter des faits ou objets réels »
9
Quoi de mieux qu’un modèle pour parler de
modélisation ?
modélise
Sujet d’Etudes Modèle
est une concrétisation de
Cas Réalisation
est une image de
« Théorie »
abstrait Point de vue incarne
Ceci est du UML … (et pourtant nous pourrions inventer
notre propre notation, tout aussi « intuitive ») 10
Et qu’est-ce que c’est qu’un « bon
modèle » ?
Tous les modèles se valent-ils ?
il y a des critères énonçant l’utilité d’un modèle
- représentativité
- généricité
- subjectivité
- finalité
- expressivité à travers un « langage »
11
La représentativité d’un modèle
Objet
construit
Sujet d’Etudes Modèle
modélise
« est-ce qu’un modèle capture bien
les spécificités de la réalité modélisée ? »
12
La représentativité d’un modèle
Objet
construit
Sujet d’Etudes Modèle
modélise
« est-ce qu’un modèle capture bien
les spécificités de la réalité modélisée ? »
13
La représentativité d’un modèle Objet
construit
Sujet d’Etudes Modèle
modélise
Note : La représentativité n’implique pas nécessairement la
perceptibilité du SdE !!
14
La généricité
V=R*I
Absence de particularité.
Un modèle représente des familles de cas (objets, comportements,
phénomènes,…) présentes dans le SdE
15
La subjectivité Moyen
Chose matérielle
de Locomotion
Chose en bois Chose métallique
M.Loc Terrestre M.Loc Maritime
Galère Train
Train Paquebot Galère Paquebot
TGV
Chose
Question : Qu’est-ce qui fait que ces Chose
Chose ancienne
cas se ressemblent ? contemporaine
C’est une affaire de
point de vue !! Galère
TGV Paquebot
16
La subjectivité
Les
pendules… Sujet d’Etudes Modèle
modélise
Cas
Longueur : 1m
Poids : 500g
« Théorie »
abstrait Point de vue incarne
Un modèle incarne un point de vue sur des « cas » du SdE
17
Les modélise l, m
pendules… Sujet d’Etudes Modèle
est une concrétisation de
Cas Réalisation
est une image de
Longueur : 1m
Poids : 500g l: 1m
m : 500g
« Théorie »
abstrait Point de vue incarne
Un modèle se décline (se concrétise) ; une concrétisation correspond
(éventuellement) à un cas
Un cas dispose (éventuellement) d’une ‘image’
18
ci
‘astérix’ ‘idéfix’
est le compagnon de
‘tintin’ ‘milou’
est le compagnon de
image(ci) | RS (symbolisation) 19
ci
modèle + image / UML
PersonnageBD
nom : string pc1 : PersChien ph1 : PersHumain
r
nom = ‘Milou’ nom = ‘Tintin’
PersChien PersHumain
compagnon maître
... 0..n r 0..1 … pc2 : PersChien r ph2 : PersHumain
...
nom = ‘Idéfix’ nom = ‘Astérix’
m : Modèle de ci / UML image de ci selon m
20
La finalité
Le modèle est conçu pour un (des) usage(s) donné(s)
simuler un processus, prédire des situations, anticiper des
comportements.
(modèles prédictifs),
analyser pour comprendre (modèles cognitifs),
décrire, synthétiser, organiser (modèles descriptifs),
communiquer, illustrer, fixer des normes,
partager la connaissance (modèles normatifs),
+ définir un média de communication
- limiter le champ des interprétations ‘licites’
construire, concevoir (modèles de spécification).
Un modèle est le fruit de l’interaction entre un modélisateur en situation
(des compétences, des moyens, des objectifs, un point de vue) et un
sujet d’études.
21
Expressivité à travers un « langage »
(système de signes, outil de communication entre individus)
Un monde perçu et conçu :
un ensemble cohérent,
signifiant et finalisé
A C
D
un point de vue, B
une finalité,
une théorie, …
mmvv
cvcv A B
C D
,jvb dvvmmvvm cv kvb vùfd sdfvbdv
Un modèle : une représentation
dans un formalisme (langage) donné
22
Exemple
« Soit n lieux A, B, C, … soumis à des flux migratoires.
A chaque unité de temps, une partie de la population de chacun de ces lieux
le quitte pour en rejoindre un autre. … »
On note f XY(t) la fonction flux de transfert de population de X vers Y
et Pt = ( PA, PB, PC, ... ) le vecteur population à l’instant t
f AA f AB f AC ...
M = f BA f BB f BC
f CA f CB f CC
...
Pk = P0 * M k est un modèle mathématique du phénomène étudié
(qui repose sur un formalisme mathématique)
F ¾® M (F) / mathématique
23
Soit n lieux A, B, C, ... soumis à des flux migratoires.
A chaque unité de temps, une partie de la population de chacun de ces lieux
le quitte pour en rejoindre un autre.
On représente par des flèches + ou - larges les flux migratoires entre lieux
et par des cercles de diamètres variables les populations
F ¾® M(F) / graphique
B C
C’est un modèle graphique du même phénomène
a) On peut construire plusieurs modèles d’une même réalité;
b) Un modèle peut représenter des réalités différentes;
c) Objectif, Langage et Usage sont liés (® traduction éventuelle)
d) Comprendre un modèle nécessite de maîtriser le ‘langage’ dans lequel
il est écrit
24
F ¾® M(F) / UML Moyen de Distance
Communication
côut, …
relié à
Lieu
Fonctionnalité
offre
coût,…
réside à
{ incomplete }
Individu
moyens,
Loisir Commerce Bât. admin besoins,
aspirations, …
Stade Cinéma Ecole
fxy = S Pi (x, y)
i
« Un individu réside dans un lieu qui lui offre un certain nombre de commodités et qui satisfait
tout ou partie de ses besoins. Il est prêt, dans la mesure de ses moyens, à se déplacer pour assouvir ses aspirations » 25
Interprétation ?
L’interprétation d’un modèle est le fruit de l’interaction entre un lecteur
en situation (des compétences, des moyens, des objectifs, un point de
vue) et le modèle (sujet d’études).
26
1) Un modèle n’est pas en soi auto-explicatif.
2) Il faut distinguer compréhension (décodage syntaxique)
et interprétation (décodage sémantique)
3) Pour que l’interprétation soit conforme (représentation mentale
du lecteur face au modèle = représentation mentale du modélisateur face
au SdE, il faut que
- ils parlent le même langage
- ‘commenter’ le modèle (contraindre l’interprétation)
27
Les langages de modélisation
Formalisme
Français : Langue naturelle
Chinois : Langue naturelle
Langue Langage
naturelle artificiel
Langage Langage
formel semi-formel
Math : L. formel
UML : L. semi-formel
Logique : L. formel
L. de prog
Modèle C++ : L. de prog
Pascal : L. de prog
Modèle Modèle
exécutable non exécutable
28
Mais où est exprimée la sémantique des primitives d’un f ?
Système
modélise
Modèle n 1
Formalisme
s’exprime en
modélise
MetaModèle
Si on considère un formalisme comme un système (de représentation), il suffit de le
modéliser.
Réponse : Dans un métamodèle mm = mod(f) / j
29
s: Système
modélise
F=mg
m1 : Modèle = modèle (en LM) d’une famille de phénomènes physiques
Langage repose sur
f1 : Formalisme
mathématique = Formalisme permettant d’exprimer une famille de modèles
LM
modélise
m2 :Modèle
repose sur
f2 :Formalisme
30
Pyramide d’interprétations~compréhensions
s: Système
modélise
F=mg
m1 : Modèle = modèle (en LM) d’une famille de phénomènes physiques
Langage repose sur
f1 : Formalisme
mathématique = Formalisme permettant d’exprimer une famille de modèles
LM
= représentation (en LN) de la
modélise
Un modèle du langage mathématique qui
signification des termes
contient la définition de ce que sont À, Â, Î, ", (entre autres : « équation ») de LM
m2 :Modèle
+, = , … de ce qu’est un théorème, un axiome, et des constructions permises dans
…, etc ce langage.
Langue naturelle repose sur
f2 :Formalisme
LN
= représentation (en LN) de la signification des termes
(entre autres : « modèle », « langage », ...) du langage LN
et des constructions permises dans ce langage.
31
Pour en revenir à UML….
Le « standard »
1997, UML 1.0
unification de diverses méthodes et langages
G. Booch, J. Rumbaugh, I. Jacobson (Rational et autres)
1999, UML 1.3
2001, UML 1.4 (1.5 en 2003)
2004, UML 2.0
…..
2013, UML 2.5
Intérêt d’UML
Normalisé par l’OMG
spécifications accessibles à tous
Facilite le dialogue entre maîtrise d’ouvrage et maîtrise
d’œuvre.
Ateliers de génie logiciel complets
Accroît la qualité du logiciel
Diagrammes et modèles dans UML
Besoins
Structure Cas
d’utilisation
Classes-objets Séquences
Interactions
Déploiement Système Collaborations
Implantation Composants Etats
Activités
Dynamique
Ex d’outils : Poséidon for UML Community Edition (www.gentleware.com)
Extension d’UML : SysML
Orienté vers l’ingénierie système
Système au sens large : mécanique, électronique,…
Pas de coloration métier informatique
Mais : dérivé en très (très!) grande partie d’UML
Notamment en
4GI…
UML2
Diagramme
d’exigences
SysML