UML T. Libourel Autour des objets T. Libourel [email protected].
-
Upload
honore-marques -
Category
Documents
-
view
112 -
download
3
Transcript of UML T. Libourel Autour des objets T. Libourel [email protected].
![Page 2: UML T. Libourel Autour des objets T. Libourel libourel@lirmm.fr.](https://reader035.fdocuments.net/reader035/viewer/2022070309/551d9d81497959293b8bafb8/html5/thumbnails/2.jpg)
UML T. Libourel
PLANPLAN
Introduction– Modèles mathématiques versus modèles objets
– Systèmes et objets
– Pourquoi des méthodes ?
Approche objet – Atouts
– Historique
Concepts objet et formalisme UML– Concepts généraux
– Modèle fonctionnel
– Modèle structurel
– Modèle dynamique
Discussion
![Page 3: UML T. Libourel Autour des objets T. Libourel libourel@lirmm.fr.](https://reader035.fdocuments.net/reader035/viewer/2022070309/551d9d81497959293b8bafb8/html5/thumbnails/3.jpg)
UML T. Libourel
PLANPLAN
Introduction– Modèles mathématiques versus modèles objets
– Systèmes et objets
– Pourquoi des méthodes ?
Approche objet – Atouts
– Historique
Concepts objet et formalisme UML– Concepts généraux
– Modèle fonctionnel
– Modèle structurel
– Modèle dynamique
Discussion
![Page 4: UML T. Libourel Autour des objets T. Libourel libourel@lirmm.fr.](https://reader035.fdocuments.net/reader035/viewer/2022070309/551d9d81497959293b8bafb8/html5/thumbnails/4.jpg)
UML T. Libourel
Modèles mathématiques versus modèles objetsModèles mathématiques versus modèles objets
L'approche mathématique
– Représentation de types, de variables et de fonctions.
– Culture scientifique
L'approche objet
– Représentation abstraite d'entités ayant une existence matérielle
(arbre, personne) ou virtuelle (sécurité sociale, compte bancaire, ...).
– Culture implicite et philosophique
– Confluent de plusieurs disciplines informatiques
![Page 5: UML T. Libourel Autour des objets T. Libourel libourel@lirmm.fr.](https://reader035.fdocuments.net/reader035/viewer/2022070309/551d9d81497959293b8bafb8/html5/thumbnails/5.jpg)
UML T. Libourel
Systèmes et objetsSystèmes et objets
Taille et complexité des systèmes
importantes et croissantes– les besoins et les fonctionnalités augmentent
– la technologie évolue rapidement
– les architectures se diversifient
Problèmes des spécifications– parfois imprécises, incomplètes, ou incohérentes
– assurer l’interface avec le métier (domaine d’application)
![Page 6: UML T. Libourel Autour des objets T. Libourel libourel@lirmm.fr.](https://reader035.fdocuments.net/reader035/viewer/2022070309/551d9d81497959293b8bafb8/html5/thumbnails/6.jpg)
UML T. Libourel
Systèmes et objetsSystèmes et objets
Évolution des applications– évolution des besoins des utilisateurs
– réorientation de l'application
– évolution de l'environnement technique (matériel et logiciel)
Problèmes liés à la gestion des équipes– taille croissante des équipes
– spécialisation technique
– spécialisation métier
![Page 7: UML T. Libourel Autour des objets T. Libourel libourel@lirmm.fr.](https://reader035.fdocuments.net/reader035/viewer/2022070309/551d9d81497959293b8bafb8/html5/thumbnails/7.jpg)
UML T. Libourel
• Besoin de méthodologie
Entreprise
Outils Informatiques
Pourquoi des méthodes ?Pourquoi des méthodes ?
Rien ne dicte a priori comment modéliserun système de manière pertinente
![Page 8: UML T. Libourel Autour des objets T. Libourel libourel@lirmm.fr.](https://reader035.fdocuments.net/reader035/viewer/2022070309/551d9d81497959293b8bafb8/html5/thumbnails/8.jpg)
UML T. Libourel
Pourquoi des méthodes ?Pourquoi des méthodes ?
Démarche reproductible pour obtenir des
résultats fiables– Construire des modèles à partir d'éléments (concepts)
– Possibilité de représenter à partir de formalismes
– Mise en œuvre
![Page 9: UML T. Libourel Autour des objets T. Libourel libourel@lirmm.fr.](https://reader035.fdocuments.net/reader035/viewer/2022070309/551d9d81497959293b8bafb8/html5/thumbnails/9.jpg)
UML T. Libourel
Pourquoi des méthodes ?Pourquoi des méthodes ?
Démarche qui distingue les étapes du
développement dans le cycle de vie du
logiciel – Modularité, réduction de la complexité, réutilisabilité,
abstraction
– Un formalisme de représentation qui facilite la
communication, l’organisation et la vérification
– Production de documents (modèles) qui facilitent les retours
sur conception et l’évolution des applications
![Page 10: UML T. Libourel Autour des objets T. Libourel libourel@lirmm.fr.](https://reader035.fdocuments.net/reader035/viewer/2022070309/551d9d81497959293b8bafb8/html5/thumbnails/10.jpg)
UML T. Libourel
PLANPLAN
Introduction– Modèles mathématiques versus modèles objets
– Systèmes et objets
– Pourquoi des méthodes ?
Approche objet – Atouts
– Historique
Concepts objet et formalisme UML– Concepts généraux
– Modèle fonctionnel
– Modèle structurel
– Modèle dynamique
Discussion
![Page 11: UML T. Libourel Autour des objets T. Libourel libourel@lirmm.fr.](https://reader035.fdocuments.net/reader035/viewer/2022070309/551d9d81497959293b8bafb8/html5/thumbnails/11.jpg)
UML T. Libourel
AtoutsAtouts
Universalité de l’Objetla notion d’objet, plus proche du monde réel, est compréhensible
par tous et facilite la communication entre tous les intervenants
d’un projet.
Omniprésence technique de l’Objetdans les langages de programmation, les bases de données, les
interfaces graphiques, ... et les méthodes d’analyse et de
conception.
![Page 12: UML T. Libourel Autour des objets T. Libourel libourel@lirmm.fr.](https://reader035.fdocuments.net/reader035/viewer/2022070309/551d9d81497959293b8bafb8/html5/thumbnails/12.jpg)
UML T. Libourel
HistoriqueHistorique
Plus de 50 méthodes objet sont apparues durant la période 90-95: Booch, Classe-Relation, OMT, OOA, OOD, OOM, OOSE...
– Grady Booch : OOD, BOOCH'93 (Société RATIONAL) • 1987 pour ADA,
• 1990 générale
– James Rumbaugh : OMT 1990-1991 • "Object Modeling Techniques"
• General Electric
– Ivar Jacobson : Objectory 1992, • Ericsson,
• suite de OOSE "Object Oriented Software Engineering"
Regroupement de BOOCH-OMT puis Objectory
![Page 13: UML T. Libourel Autour des objets T. Libourel libourel@lirmm.fr.](https://reader035.fdocuments.net/reader035/viewer/2022070309/551d9d81497959293b8bafb8/html5/thumbnails/13.jpg)
UML T. Libourel
http://www.omg.org
HistoriqueHistorique
Recherche d’un langage commun unique utilisable
par toute méthode objet– dans toutes les phases du cycle de vie,
– compatible avec les techniques de réalisation actuelles.
UML (Unified Modeling Language)
![Page 14: UML T. Libourel Autour des objets T. Libourel libourel@lirmm.fr.](https://reader035.fdocuments.net/reader035/viewer/2022070309/551d9d81497959293b8bafb8/html5/thumbnails/14.jpg)
UML T. Libourel
PLANPLAN
Introduction– Modèles mathématiques versus modèles objets
– Systèmes et objets
– Pourquoi des méthodes ?
Approche objet – Atouts
– Historique
Concepts objet et formalisme UML– Concepts généraux
– Modèle fonctionnel
– Modèle structurel
– Modèle dynamique
Discussion
![Page 15: UML T. Libourel Autour des objets T. Libourel libourel@lirmm.fr.](https://reader035.fdocuments.net/reader035/viewer/2022070309/551d9d81497959293b8bafb8/html5/thumbnails/15.jpg)
UML T. Libourel
Concepts générauxConcepts généraux
Un modèle est une représentation abstraite d’une réalité,
Il fournit une image simplifiée du monde réel.
Il permet – de comprendre et visualiser (en réduisant la complexité)
– de communiquer (à partir d ’un « langage » commun à travers un nombre restreint de concepts)
– de valider (contrôle de la cohérence, simuler, tester …)
![Page 16: UML T. Libourel Autour des objets T. Libourel libourel@lirmm.fr.](https://reader035.fdocuments.net/reader035/viewer/2022070309/551d9d81497959293b8bafb8/html5/thumbnails/16.jpg)
UML T. Libourel
Les modèles d'UML
modèle des classes statique
modèle des états dynamique des objets
modèle des cas d'utilisation besoins utilisateur
modèle d'interaction scénarios et flots de messages
modèle de réalisation unités de travail
modèle de déploiement répartition des processus
Concepts générauxConcepts généraux
![Page 17: UML T. Libourel Autour des objets T. Libourel libourel@lirmm.fr.](https://reader035.fdocuments.net/reader035/viewer/2022070309/551d9d81497959293b8bafb8/html5/thumbnails/17.jpg)
UML T. Libourel
La perception des modèles Les vues graphiques (diagrammes )
diagrammes de classesdiagrammes d'objets
diagrammes de séquencesdiagrammes de collaboration
diagrammes états-transitionsdiagrammes d'activités
diagrammes de cas d'utilisationdiagrammes de composantsdiagrammes de déploiement
Concepts générauxConcepts généraux
![Page 18: UML T. Libourel Autour des objets T. Libourel libourel@lirmm.fr.](https://reader035.fdocuments.net/reader035/viewer/2022070309/551d9d81497959293b8bafb8/html5/thumbnails/18.jpg)
UML T. Libourel
VueCas d ’utilisation
Vue structurelle
Vue Architecture
(déploiement)
Vue dynamique
Définir une architecture ……. divers points de vue sur le système
Vue Implémentation
<------- Logique Physique ------>
Concepts générauxConcepts généraux
![Page 19: UML T. Libourel Autour des objets T. Libourel libourel@lirmm.fr.](https://reader035.fdocuments.net/reader035/viewer/2022070309/551d9d81497959293b8bafb8/html5/thumbnails/19.jpg)
UML T. Libourel
Analyse
Tests - Maintenance Réalisation
Même formalisme lors de toutes les phases du cycle de vie
Conception
Processus incrémental
Concepts générauxConcepts généraux
![Page 20: UML T. Libourel Autour des objets T. Libourel libourel@lirmm.fr.](https://reader035.fdocuments.net/reader035/viewer/2022070309/551d9d81497959293b8bafb8/html5/thumbnails/20.jpg)
UML T. Libourel
Modèle fonctionnelModèle fonctionnel
Modèles descriptifs du point de vue des utilisateurs
Scénarios fonctionnels
Focus
La manière d’utiliser le système
Les « USE CASE »
![Page 21: UML T. Libourel Autour des objets T. Libourel libourel@lirmm.fr.](https://reader035.fdocuments.net/reader035/viewer/2022070309/551d9d81497959293b8bafb8/html5/thumbnails/21.jpg)
UML T. Libourel
Deux concepts
Acteur
Use case
Acteur (rôle 1)
Acteur (rôle 2)
Modèle fonctionnelModèle fonctionnel
Ex: distributeur CB
![Page 22: UML T. Libourel Autour des objets T. Libourel libourel@lirmm.fr.](https://reader035.fdocuments.net/reader035/viewer/2022070309/551d9d81497959293b8bafb8/html5/thumbnails/22.jpg)
UML T. Libourel
Acteur (rôle 1)
Acteur (rôle 2)
« use »« extend »
Modèle fonctionnelModèle fonctionnel
Les cas d’utilisation peuvent être liés par
des relations– d’utilisation « use » (décomposition)
– de raffinement « extend » (traitement d’exceptions)
![Page 23: UML T. Libourel Autour des objets T. Libourel libourel@lirmm.fr.](https://reader035.fdocuments.net/reader035/viewer/2022070309/551d9d81497959293b8bafb8/html5/thumbnails/23.jpg)
UML T. Libourel
En UML, le modèle structurel ou statique est décrit à
l'aide de deux sortes de diagrammes
– Diagrammes de classes
• description de tout ou d'une partie du système d'une
manière abstraite, en termes de classes, de structure et
d'associations.
– Diagrammes d'objets
• description d'exemples de configuration de tout ou partie
du système, en termes d'objets, de valeurs et de liens.
Modèle structurelModèle structurel
![Page 24: UML T. Libourel Autour des objets T. Libourel libourel@lirmm.fr.](https://reader035.fdocuments.net/reader035/viewer/2022070309/551d9d81497959293b8bafb8/html5/thumbnails/24.jpg)
UML T. Libourel
Objets du monde réel Objets informatiques
État Internecaché
Comportementvisible
Les objets
Modèle structurelModèle structurel
![Page 25: UML T. Libourel Autour des objets T. Libourel libourel@lirmm.fr.](https://reader035.fdocuments.net/reader035/viewer/2022070309/551d9d81497959293b8bafb8/html5/thumbnails/25.jpg)
UML T. Libourel
Comportement influe sur l'étatEtat reflète les comportements passés
Objet
Etat évolue au cours du temps
Comportement actions et réactions
Identité essence
Modèle structurelModèle structurel
![Page 26: UML T. Libourel Autour des objets T. Libourel libourel@lirmm.fr.](https://reader035.fdocuments.net/reader035/viewer/2022070309/551d9d81497959293b8bafb8/html5/thumbnails/26.jpg)
UML T. Libourel
Sophie
Alain
Système
BD
Luc
: Professeur
: Discipline
Deux objetsou instances
Modèle structurelModèle structurel
![Page 27: UML T. Libourel Autour des objets T. Libourel libourel@lirmm.fr.](https://reader035.fdocuments.net/reader035/viewer/2022070309/551d9d81497959293b8bafb8/html5/thumbnails/27.jpg)
UML T. Libourel
Première abstraction
Une classe peut être vue
– la description en intension d'un groupe d'objets
• ayant même structure (même ensemble d'attributs),
• ayant même comportement (mêmes opérations),
• ayant une sémantique commune.
– la « génitrice » des objets ou instances
– le « conteneur » (extension) de toutes ses instances
Modèle structurelModèle structurel
![Page 28: UML T. Libourel Autour des objets T. Libourel libourel@lirmm.fr.](https://reader035.fdocuments.net/reader035/viewer/2022070309/551d9d81497959293b8bafb8/html5/thumbnails/28.jpg)
UML T. Libourel
Classe
Attributs (propriétés)
Voiture
type : stringmarque : stringcouleur : string
titine :Voiture
type =205Peugeotrouge
Instance
Valeurs d'attributs (État)
« Est-instance-de »
Modèle structurelModèle structurel
![Page 29: UML T. Libourel Autour des objets T. Libourel libourel@lirmm.fr.](https://reader035.fdocuments.net/reader035/viewer/2022070309/551d9d81497959293b8bafb8/html5/thumbnails/29.jpg)
UML T. Libourel
Voiture
type : stringmarque : stringcouleur : string
repeindre(c: Couleur)déplacer (d : longueur)
Opérations et méthodes
Méthodes
Implémentations
nom de la classe
attributs
opérations
Modèle structurelModèle structurel
![Page 30: UML T. Libourel Autour des objets T. Libourel libourel@lirmm.fr.](https://reader035.fdocuments.net/reader035/viewer/2022070309/551d9d81497959293b8bafb8/html5/thumbnails/30.jpg)
UML T. Libourel
Représentation graphique : « les boites » (à
différents niveaux de détail)
Les types sont optionnels et ne figent pas les
choix d'implémentation
La description des opérations sera complétée
dans les phases de conception
NomClasse2nomAttribut1 : type1nomAttribut2 : type2
nomOpération1()nomOpération2()
NomClasse1
Modèle structurelModèle structurel
![Page 31: UML T. Libourel Autour des objets T. Libourel libourel@lirmm.fr.](https://reader035.fdocuments.net/reader035/viewer/2022070309/551d9d81497959293b8bafb8/html5/thumbnails/31.jpg)
UML T. Libourel
Un objet est instance d'une (seule) classe :– il se conforme à la description que celle-ci fournit,
– il admet une valeur pour chaque attribut déclaré à son attention dans la classe,
– il est possible de lui appliquer toute opération définie à son attention dans la classe.
Tout objet admet une identité qui le distingue pleinement des autres objets :
– il peut être nommé et être référencé par un nom (mais son identité ne se limite pas à ça).
Modèle structurelModèle structurel
![Page 32: UML T. Libourel Autour des objets T. Libourel libourel@lirmm.fr.](https://reader035.fdocuments.net/reader035/viewer/2022070309/551d9d81497959293b8bafb8/html5/thumbnails/32.jpg)
UML T. Libourel
Association / Lien (analogie Classe / Instance)
Pays Ville
nom nom
a-pour-capitale
Association
: Paysnom=France
:Villenom = Paris
a-pour-capitale
Lien
Modèle structurelModèle structurel
![Page 33: UML T. Libourel Autour des objets T. Libourel libourel@lirmm.fr.](https://reader035.fdocuments.net/reader035/viewer/2022070309/551d9d81497959293b8bafb8/html5/thumbnails/33.jpg)
UML T. Libourel
Association en général binaire (degré = 2) mais ..
Adhérent Exemplaireemprunte
DispositifDeLecture
lire
nom d'association
association binaire association ternaire
Modèle structurelModèle structurel
![Page 34: UML T. Libourel Autour des objets T. Libourel libourel@lirmm.fr.](https://reader035.fdocuments.net/reader035/viewer/2022070309/551d9d81497959293b8bafb8/html5/thumbnails/34.jpg)
UML T. Libourel
Multiplicité et rôles d'une association
Société Personne
nomadresse
nomdate de nais.n°SSadresse
emploie
travaille-pour
employeur employé
chef
travailleur
encadre
* 1..*
1..*
0..1
Modèle structurelModèle structurel
![Page 35: UML T. Libourel Autour des objets T. Libourel libourel@lirmm.fr.](https://reader035.fdocuments.net/reader035/viewer/2022070309/551d9d81497959293b8bafb8/html5/thumbnails/35.jpg)
UML T. Libourel
exactement 1
Classe1
0..1
Classe0..*
Classe1..*
Classe2..4
Classe2,4
au plus 1
aucun, 1 ou plusieurs (défaut)
au moins 1
de 2 à 4
2 ou 4
Multiplicité
Classe
Modèle structurelModèle structurel
![Page 36: UML T. Libourel Autour des objets T. Libourel libourel@lirmm.fr.](https://reader035.fdocuments.net/reader035/viewer/2022070309/551d9d81497959293b8bafb8/html5/thumbnails/36.jpg)
UML T. Libourel
Entreprise Personne
nomadresse
nomdate de nais.adresse
quantité
Possède-des-actions
capital actionnaire
Classe association
PossessionLigne de
portefeuille
* 1..*
Modèle structurelModèle structurel
![Page 37: UML T. Libourel Autour des objets T. Libourel libourel@lirmm.fr.](https://reader035.fdocuments.net/reader035/viewer/2022070309/551d9d81497959293b8bafb8/html5/thumbnails/37.jpg)
UML T. Libourel
Utilisateur Station de travail
nom nom
Autorisation
Autorisé sur
prioritédroits
Répertoire
répertoire de rattachement
1..*1..*
1..*
Modèle structurelModèle structurel
Classe association
![Page 38: UML T. Libourel Autour des objets T. Libourel libourel@lirmm.fr.](https://reader035.fdocuments.net/reader035/viewer/2022070309/551d9d81497959293b8bafb8/html5/thumbnails/38.jpg)
UML T. Libourel
D ’autres « abstractions »
Modèle structurelModèle structurel
associations particulières – (composition / agrégation)
spécialisation / généralisation
![Page 39: UML T. Libourel Autour des objets T. Libourel libourel@lirmm.fr.](https://reader035.fdocuments.net/reader035/viewer/2022070309/551d9d81497959293b8bafb8/html5/thumbnails/39.jpg)
UML T. Libourel
Association particulière Tout /partie
Barre titre Fond Barre AscenseurFrontière
IndicateurTitre Bouton Ferm Flèche
Fenêtre
0..2
2
Composition
Modèle structurelModèle structurel
![Page 40: UML T. Libourel Autour des objets T. Libourel libourel@lirmm.fr.](https://reader035.fdocuments.net/reader035/viewer/2022070309/551d9d81497959293b8bafb8/html5/thumbnails/40.jpg)
UML T. Libourel
Agrégation
Sémantique Collection/Élément
Arbre
Département
Forêt1
1..n
Région
Pays
1
1..n
1
1..n
Modèle structurelModèle structurel
![Page 41: UML T. Libourel Autour des objets T. Libourel libourel@lirmm.fr.](https://reader035.fdocuments.net/reader035/viewer/2022070309/551d9d81497959293b8bafb8/html5/thumbnails/41.jpg)
UML T. Libourel
Composition / Agrégation
Contraintes
- Exclusivité / Partage
- Dépendance / Indépendance
Propagation / Diffusion
Modèle structurelModèle structurel
![Page 42: UML T. Libourel Autour des objets T. Libourel libourel@lirmm.fr.](https://reader035.fdocuments.net/reader035/viewer/2022070309/551d9d81497959293b8bafb8/html5/thumbnails/42.jpg)
UML T. Libourel
Généralisation / Spécialisation
Mécanismes d’inférences intellectuelles de
caractéristiques– Soit on affine (spécialisation)
– Soit on abstrait (généralisation)
Sémantique– Point de vue ensembliste
– Point de vue logique
Modèle structurelModèle structurel
![Page 43: UML T. Libourel Autour des objets T. Libourel libourel@lirmm.fr.](https://reader035.fdocuments.net/reader035/viewer/2022070309/551d9d81497959293b8bafb8/html5/thumbnails/43.jpg)
UML T. Libourel
Personne
nom adresse
Enseignant
grade adresse enseigner
{disjoint}
Étudiant
num_carte adresse
Modèle structurelModèle structurel
Généralisation / Spécialisation
![Page 44: UML T. Libourel Autour des objets T. Libourel libourel@lirmm.fr.](https://reader035.fdocuments.net/reader035/viewer/2022070309/551d9d81497959293b8bafb8/html5/thumbnails/44.jpg)
UML T. Libourel
Pompe Échangeur Réservoir
Pompe Cent. Pompe Imm. Réservoir Press.
Équipement
...
Type d'équipement
...
Type de pompe
...
Type de réservoir
Modèle structurelModèle structurel
Généralisation / Spécialisation
![Page 45: UML T. Libourel Autour des objets T. Libourel libourel@lirmm.fr.](https://reader035.fdocuments.net/reader035/viewer/2022070309/551d9d81497959293b8bafb8/html5/thumbnails/45.jpg)
UML T. Libourel
Véhicule terrestre Véhicule aquatique
Auto Véhicule amphibie Bateau
Véhicule
Modèle structurelModèle structurel
Généralisation / Spécialisation multiple
![Page 46: UML T. Libourel Autour des objets T. Libourel libourel@lirmm.fr.](https://reader035.fdocuments.net/reader035/viewer/2022070309/551d9d81497959293b8bafb8/html5/thumbnails/46.jpg)
UML T. Libourel
Composition/Agrégation ou généralisation ?
Modèle structurelModèle structurel
Agrégation – lien entre instances
– un arbre d'agrégation est composé d'objets qui sont parties d'un objet composite
Généralisation – lien entre classes
![Page 47: UML T. Libourel Autour des objets T. Libourel libourel@lirmm.fr.](https://reader035.fdocuments.net/reader035/viewer/2022070309/551d9d81497959293b8bafb8/html5/thumbnails/47.jpg)
UML T. Libourel
Une sous-classe “hérite” des descriptions de sa super-classe :
– les déclarations d'attributs,
– les définitions d'opérations,
– les associations définies sur la super-classe,
– les contraintes (on en parle plus tard).
Une sous-classe peut redéfinir de façon plus spécialisée une partie ou la totalité de la description « héritée ».
Modèle structurelModèle structurel
Généralisation / Spécialisation
![Page 48: UML T. Libourel Autour des objets T. Libourel libourel@lirmm.fr.](https://reader035.fdocuments.net/reader035/viewer/2022070309/551d9d81497959293b8bafb8/html5/thumbnails/48.jpg)
UML T. Libourel
Les contraintes
Les contraintes sont des prédicats, pouvant porter sur plusieurs éléments du modèle statique, qui doivent être vérifiés à tout instant.
Les contraintes permettent de rendre compte de détails à un niveau de granularité très fin dans un diagramme de classe. Elles peuvent exprimer des conditions ou des restrictions.
En UML, les contraintes sont exprimées sous forme textuelle, entre accolades et de préférence en OCL (Object Constraint Language).
Les contraintes sont héritées.
Modèle structurelModèle structurel
![Page 49: UML T. Libourel Autour des objets T. Libourel libourel@lirmm.fr.](https://reader035.fdocuments.net/reader035/viewer/2022070309/551d9d81497959293b8bafb8/html5/thumbnails/49.jpg)
UML T. Libourel
Les contraintes: Exemples de contraintes sur associations
Chemin
Arête
*
1..*
Personne Comitépréside *1
membreDe**
{subset}
{ordered} contrainte sur extrémité
d'association
contrainte entre 2 associations
Modèle structurelModèle structurel
![Page 50: UML T. Libourel Autour des objets T. Libourel libourel@lirmm.fr.](https://reader035.fdocuments.net/reader035/viewer/2022070309/551d9d81497959293b8bafb8/html5/thumbnails/50.jpg)
UML T. Libourel
actif : Real {value 0}passif : Real
Les contraintes: Exemple de contraintes à différents niveaux
contrainte sur classe
Personne
chef
subordonné
<dirige
Société
{ actif = passif }
{ Personne.employeur = Personne.chef.employeur }
employeur
* 1..* 0..10..1
contrainte sur attribut
contrainte sur 2 associations
Modèle structurelModèle structurel
![Page 51: UML T. Libourel Autour des objets T. Libourel libourel@lirmm.fr.](https://reader035.fdocuments.net/reader035/viewer/2022070309/551d9d81497959293b8bafb8/html5/thumbnails/51.jpg)
UML T. Libourel
Décrit les interactions entre objets et les changements au cours du temps
- Aspects temporels, comportementaux : Contrôle
- Stimuli des objets et leurs réponses
Modèle Modèle dynamiquedynamique
![Page 52: UML T. Libourel Autour des objets T. Libourel libourel@lirmm.fr.](https://reader035.fdocuments.net/reader035/viewer/2022070309/551d9d81497959293b8bafb8/html5/thumbnails/52.jpg)
UML T. Libourel
Modèle dynamiqueModèle dynamique
diagrammes de collaboration
diagrammes de séquences
diagrammes états-transitions
diagrammes d'activités (non traités)
![Page 53: UML T. Libourel Autour des objets T. Libourel libourel@lirmm.fr.](https://reader035.fdocuments.net/reader035/viewer/2022070309/551d9d81497959293b8bafb8/html5/thumbnails/53.jpg)
UML T. Libourel
La communication
Systèmes informatiques : Société d'objets travaillant en synergie pour réaliser les fonctions de l'application
Communication
Client
Serveur
message
Acteur
Modèle Modèle dynamiquedynamique
![Page 54: UML T. Libourel Autour des objets T. Libourel libourel@lirmm.fr.](https://reader035.fdocuments.net/reader035/viewer/2022070309/551d9d81497959293b8bafb8/html5/thumbnails/54.jpg)
UML T. Libourel
constructeursdestructeurs
sélecteursmodificateursitérateurs
Types Synchronisation
Les messages
Modèle Modèle dynamiquedynamique
asynchrone
synchrone
retour
![Page 55: UML T. Libourel Autour des objets T. Libourel libourel@lirmm.fr.](https://reader035.fdocuments.net/reader035/viewer/2022070309/551d9d81497959293b8bafb8/html5/thumbnails/55.jpg)
UML T. Libourel
Diagramme de collaboration
B
C
message
A
1: M12: M2
3: M3
4: M4
6: M6
5: M5
Modèle Modèle dynamiquedynamique
![Page 56: UML T. Libourel Autour des objets T. Libourel libourel@lirmm.fr.](https://reader035.fdocuments.net/reader035/viewer/2022070309/551d9d81497959293b8bafb8/html5/thumbnails/56.jpg)
UML T. Libourel
Diagramme de séquence
B CA
M1
M2
M3
M4
M6M5
Modèle Modèle dynamiquedynamique
TEMPS
![Page 57: UML T. Libourel Autour des objets T. Libourel libourel@lirmm.fr.](https://reader035.fdocuments.net/reader035/viewer/2022070309/551d9d81497959293b8bafb8/html5/thumbnails/57.jpg)
UML T. Libourel
La ligne de vie
« create »
Création par le message «create»
Activation de l’objet qui exécute une opération op
Destruction par un autre objet
:C1
« destroy »
op
Modèle Modèle dynamiquedynamique
![Page 58: UML T. Libourel Autour des objets T. Libourel libourel@lirmm.fr.](https://reader035.fdocuments.net/reader035/viewer/2022070309/551d9d81497959293b8bafb8/html5/thumbnails/58.jpg)
UML T. Libourel
Modèle Modèle dynamiquedynamique
Poitou:Région
France:Pays
4: m4
Bretagne:Région
LR:Région
Gard: Départ
Hérault: DépartAude:Départ
Pays
Région
Départ
….
1:Population()
1.2:Population()
1.3:Population()
1.1:Population()
1.3.1:Population() 1.3.2:Population()
1.3.3:Population()
![Page 59: UML T. Libourel Autour des objets T. Libourel libourel@lirmm.fr.](https://reader035.fdocuments.net/reader035/viewer/2022070309/551d9d81497959293b8bafb8/html5/thumbnails/59.jpg)
UML T. Libourel
Modèle Modèle dynamiquedynamique
France Poitou Bretagne LR
tem
ps
A H G
Popul()
Popul()
Popul() Popul()
Popul()
Popul()
Popul()
![Page 60: UML T. Libourel Autour des objets T. Libourel libourel@lirmm.fr.](https://reader035.fdocuments.net/reader035/viewer/2022070309/551d9d81497959293b8bafb8/html5/thumbnails/60.jpg)
UML T. Libourel
Événement et État
Modèle dynamiqueModèle dynamique
État d'un objet– valeurs de ses attributs et de ses liens
– au cours du temps un objet peut changer d'état
Événement– stimuli d'un objet vers un autre objet
![Page 61: UML T. Libourel Autour des objets T. Libourel libourel@lirmm.fr.](https://reader035.fdocuments.net/reader035/viewer/2022070309/551d9d81497959293b8bafb8/html5/thumbnails/61.jpg)
UML T. Libourel
État 1faire : Activité 1
Événement 1 [Cond1] / Action1 (attrib) État 2
...
Diagramme d’état
Modèle Modèle dynamiquedynamique
Graphe : Nœuds (Etat) Arcs (Transitions)
![Page 62: UML T. Libourel Autour des objets T. Libourel libourel@lirmm.fr.](https://reader035.fdocuments.net/reader035/viewer/2022070309/551d9d81497959293b8bafb8/html5/thumbnails/62.jpg)
UML T. Libourel
Modèle Modèle dynamiquedynamique
Initial
Final
Simple
Complexe
Créditeur
Nom état
entry/op1exit/ op2
on evt1/ op3on evt2/ op4do/ activité
au débutà la finlors d’evt
tout le temps
Activités internes
Notation des états
![Page 63: UML T. Libourel Autour des objets T. Libourel libourel@lirmm.fr.](https://reader035.fdocuments.net/reader035/viewer/2022070309/551d9d81497959293b8bafb8/html5/thumbnails/63.jpg)
UML T. Libourel
Notation des arcs
Modèle Modèle dynamiquedynamique
étiquette
étiquette• événement(paramètres)• [condition]• /action
![Page 64: UML T. Libourel Autour des objets T. Libourel libourel@lirmm.fr.](https://reader035.fdocuments.net/reader035/viewer/2022070309/551d9d81497959293b8bafb8/html5/thumbnails/64.jpg)
UML T. Libourel
Modèle Modèle dynamiquedynamique
Action opération instantanée, non interruptible,souvent utilisée pour faire des mises à jour de valeurs,attachée à une transition.
Envoyer un événement est une action
Activitéopération qui prend du temps, interruptible par un événement,perpétuelle ou finie,nécessairement attachée à un état.
Opération elle peut être attachée à une transition ou à un état. elle est exécutée en réponse à l'événement ou à l'état.
![Page 65: UML T. Libourel Autour des objets T. Libourel libourel@lirmm.fr.](https://reader035.fdocuments.net/reader035/viewer/2022070309/551d9d81497959293b8bafb8/html5/thumbnails/65.jpg)
UML T. Libourel
Modèle Modèle dynamiquedynamique
Diagrammes d'ÉtatsEtats d’un compte bancaire
transitions gardéessous-état
Ouvert FermédemandeCréat()
Débiteuron retrait/ agioson dépôt/ augmenter solde
fermer()
Créditeuron retrait/ debiter soldeon dépôt/ augmenter solde
[Solde >=0]
[Solde < 0]
ouvert
![Page 66: UML T. Libourel Autour des objets T. Libourel libourel@lirmm.fr.](https://reader035.fdocuments.net/reader035/viewer/2022070309/551d9d81497959293b8bafb8/html5/thumbnails/66.jpg)
UML T. Libourel
Modèle Modèle dynamiquedynamique
Généralisation
- permet une meilleure structuration des diagrammes d'états
Un objet dans un état du diagramme général doitêtre dans un des états du diagramme imbriqué
(relation ou entre les états)E1
E2
E5
E4E3
E6
![Page 67: UML T. Libourel Autour des objets T. Libourel libourel@lirmm.fr.](https://reader035.fdocuments.net/reader035/viewer/2022070309/551d9d81497959293b8bafb8/html5/thumbnails/67.jpg)
UML T. Libourel
Modèle Modèle dynamiquedynamique
Agrégation
une classe "agrégat" aura un état défini par l'agrégation des états de ses composants.
Agrégation concurrente (relation et)
Arrêt
Portière
Marche point mort
Moteur
Ouverte
Fermée
gonflée
Marche avant
Marche arrière
Roue
crevée
Auto
Moteur portière roue
![Page 68: UML T. Libourel Autour des objets T. Libourel libourel@lirmm.fr.](https://reader035.fdocuments.net/reader035/viewer/2022070309/551d9d81497959293b8bafb8/html5/thumbnails/68.jpg)
UML T. Libourel
Les packages
Modèle d’implémentationModèle d’implémentation
Un package ou sous-système est un regroupement logique de classes, associations, contraintes ..
Un sous-système est généralement défini par les services qu’il rend
Les liens entre sous-systèmes sont des liens de dépendance
Les « packages » servent à structurer une application
Ils sont utilisés dans certains LPO (Java) ce qui assure une bonne « traçabilité » de l ’analyse à l ’implémentation
![Page 69: UML T. Libourel Autour des objets T. Libourel libourel@lirmm.fr.](https://reader035.fdocuments.net/reader035/viewer/2022070309/551d9d81497959293b8bafb8/html5/thumbnails/69.jpg)
UML T. Libourel
Les packages
Classes avec fort couplage « sémantique »
Liens de dépendance
Modèle Modèle d’implémentationd’implémentation
![Page 70: UML T. Libourel Autour des objets T. Libourel libourel@lirmm.fr.](https://reader035.fdocuments.net/reader035/viewer/2022070309/551d9d81497959293b8bafb8/html5/thumbnails/70.jpg)
UML T. Libourel
PLANPLAN
Introduction– Modèles mathématiques versus modèles objets
– Systèmes et objets
– Pourquoi des méthodes ?
Approche objet – Atouts
– Historique
Concepts objet et formalisme UML– Concepts généraux
– Modèle fonctionnel
– Modèle structurel
– Modèle dynamique
Discussion
![Page 71: UML T. Libourel Autour des objets T. Libourel libourel@lirmm.fr.](https://reader035.fdocuments.net/reader035/viewer/2022070309/551d9d81497959293b8bafb8/html5/thumbnails/71.jpg)
UML T. Libourel
Des bienfaits de l ’encapsulation ….
Proposer un service et réagir aux messages
Opérations
Données
MessagesEncapsulation
DiscussionDiscussion
![Page 72: UML T. Libourel Autour des objets T. Libourel libourel@lirmm.fr.](https://reader035.fdocuments.net/reader035/viewer/2022070309/551d9d81497959293b8bafb8/html5/thumbnails/72.jpg)
UML T. Libourel
La méta-modélisation
Meta-Meta Modèle
Meta-Modèle
Modèle
Objets utilisateur
Meta-Class, Meta-Attribut, etc
Class, Attribut, etc
Parcelle, Surface, etc
A120, 50, etc
Langage pour spécifiertout métamodèle
Langage pour spécifierun modèle
Langage pour spécifierun domaine d’information
Définition spécifiqued’un domaine
DiscussionDiscussion
![Page 73: UML T. Libourel Autour des objets T. Libourel libourel@lirmm.fr.](https://reader035.fdocuments.net/reader035/viewer/2022070309/551d9d81497959293b8bafb8/html5/thumbnails/73.jpg)
UML T. Libourel
UML et Merise UML et Merise
UML n’est pas une méthode comme Merise
– Ne dit rien sur le processus de mise en œuvre ; chaque
société peut proposer son processus:
• RUP « Rational Unified Process » (Rational)
• EAI (Valtech)
• MEGA Process (MEGA)
UML cible toute application informatique, alors que Merise cible les SI
DiscussionDiscussion
![Page 74: UML T. Libourel Autour des objets T. Libourel libourel@lirmm.fr.](https://reader035.fdocuments.net/reader035/viewer/2022070309/551d9d81497959293b8bafb8/html5/thumbnails/74.jpg)
UML T. Libourel
Les outilsLes outils
Langages JAVA, C++, ..
Modèles UML, ...AGL
Environnement de développement:
Visual Age (IBM), Delphi, Visual J++, J Builder, VisualWorks,
Objets
SGBD-Rou
SGBD-OO
re-engineering
Squelette de code
Schéma de la base relationnelle ou objet
DiscussionDiscussion
![Page 75: UML T. Libourel Autour des objets T. Libourel libourel@lirmm.fr.](https://reader035.fdocuments.net/reader035/viewer/2022070309/551d9d81497959293b8bafb8/html5/thumbnails/75.jpg)
UML T. Libourel
Outil de dialogue :– langage de représentation des modèles
– graphique et simple
– formel et normalisé (OMG)
Outil ouvert– Indépendant des langages de programmation
– Pas un processus d'élaboration des modèles
– Adaptable (stéréotype)
DiscussionDiscussion
![Page 76: UML T. Libourel Autour des objets T. Libourel libourel@lirmm.fr.](https://reader035.fdocuments.net/reader035/viewer/2022070309/551d9d81497959293b8bafb8/html5/thumbnails/76.jpg)
UML T. Libourel
Livres UML (1)Livres UML (1)
Booch Grady, Rumbaugh James, and Jacobson Ivar, The
Unified Modeling Language User Guide, 0-201-57168-4,
Addison Wesley, Fall 1998, traduit : Le guide de l'utilisateur
UML, Eyrolles 2000.
Jacobson Ivar, Booch Grady and Rumbaugh James, The
Unified Software Development Process, 0-201-57169-2, Addison
Wesley, Fall 1998, traduit : Le processus unifié de
développement logiciel, Eyrolles 2000.
Rumbaugh James, Jacobson Ivar, and Booch Grady, The
Unified Modeling Language Reference Manual, 0-201-30998-X,
Addison Wesley, Fall 1998
![Page 77: UML T. Libourel Autour des objets T. Libourel libourel@lirmm.fr.](https://reader035.fdocuments.net/reader035/viewer/2022070309/551d9d81497959293b8bafb8/html5/thumbnails/77.jpg)
UML T. Libourel
Livres UML (2)Livres UML (2)
– Conallen Jim, Concevoir des applications Web avec UML, Eyrolles , 2000.
– Douglass Bruce Powell, Doing Hard Time : Developping Real-Time Systems with UML, Addison Wesley, 1999.
– Eriksson , UML Toolkit, Wiley, 1997
– Fowler Martin, UML Distilled, Applying the Standard Object Modeling Language Addison Wesley, 1997
– Kettany N et al, De Merise à UML,Eyrolles , 1998
– Larman Craig, Applying UML and Patterns,Prentice Hall, 1998
– Lee R, Tepfenhart W, UML et C++, Simon et Schuste , 1998
– Lopez N, Intégrer UML dans vos projets, Eyrolles, 1997
– Muller Pierre-Alain, Modélisation objet avec UML, Eyrolles, 1997
– Roques Pascal, Vallée Franck, UML en action, Eyrolles, 2000.
– Roques Pascal, UML par la pratique, Eyrolles, 2001.
– Schmuller Joseph, Teach Yourself UML in 24 Hours, Sams Publishing, 1999
– Texel Williams, Uses cases combined with Booch/OMT/UML, Prentice Hall, 1998