T. Libourel libourel@lirmm.fr Autour des objets T. Libourel libourel@lirmm.fr.

Slides:



Advertisements
Présentations similaires
EPITECH 2009 UML EPITECH 2009
Advertisements

Applications N-Tiers Rappels: architecture et méthodologie
Eléments de Génie Logiciel
Langage de modélisation objet unifié
6 — Aperçu du processus unifié
Treuil IRD Abdelwahed FSSM-Marrakech
Méthodologie objet et IG ?
Autour des objets et du formalisme UML
Méthodologie objet UML et RUP : un survol IUP GMI 2ième année
XML - Henry Boccon-Gibod 1 XML, Langage de description La question du choix de formalismes Les entités et leur représentations modalités de modèles et.
Laboratoire Informatique Image Interaction
M.E.D.A.L. Module dEnseignement à Distance pour lArchitecture Logicielle Alain VAILLY Diapositive n° 1 IUP MIAGE - Université de NANTES IUP-MIAGE 3ème.
UML - Présentation.
Introduction à UML NFE108 CNAM – LILLE Madame DELECLUSE
UML (Unified Modeling Langage)
Introduction à la POO: Les classes vs les objets
Langage SysML.
PARTIE 3 : Le SYSTEME D’INFORMATION FUTUR
Présentation SysML (Systems Modeling Language ) est basé sur UML et remplace la modélisation de classes et d'objets par la modélisation de blocs pour un.
UML : GENERALITES Rappel Diagrammes Niveaux de visions
Principes de la technologie orientée objets
le profil UML en temps réel MARTE
Les Cas d’utilisation.
Analyse et Conception des Systèmes d’Informations
Initiation à la conception de systèmes d'information
Modélisation E/R des Données
Introduction à la conception de Bases de Données Relationnelles
Modélisation des bases de données avec UML
Static modeling, Thu G. Falquet, L. Nerima.
Vers la conception objet
Département de génie logiciel et des TI Université du Québec École de technologie supérieure Systèmes dinformation dans les entreprises Systèmes dinformation.
Modélisation orientée objet UML
Analyse et conception orientée objet
SYSTEMES D’INFORMATION
Unified Modeling Langage
Présentation du mémoire
© Petko ValtchevUniversité de Montréal Janvier IFT 2251 Génie Logiciel Notions de Base Hiver 2002 Petko Valtchev.
Portée, arrimages et intervenants Évolution des méthodes
Processus d'un projet F.Pfister
Sensibilisation a la modelisation
Langage de modélisation graphique de systèmes
Modélisation Objet UML avec Rational Rose 2000
ANALYSE METHODE & OUTILS
UML - Présentation.
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
Hatainville Les Moitiers d’Allonne – Tel : Website : stratic.online.com La démarche projet Mars 2001.
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
UML : un peu d’histoire H. Lounis.
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
Introduction au Génie Logiciel
Initiation à la conception des systèmes d'informations
François CARCENAC,Frédéric BONIOL ONERA-DTIM Zoubir MAMMERI IRIT
2 Processus de conception de BD
Année 2006 – 2007 ENSEA © Emeric Rollin
Unified Modeling Language
ISNET-43 Atelier de génie logiciel Approche fonctionnelle ou objets Concurrence ou complémentarité ? Synthèse.
Chapitre 2 Rappels objet et Présentation des diagrammes UML
Chapitre 2 Rappels objet et Présentation des diagrammes UML
1 Structure en MC Principes Stockage des données dans la mémoire volatile d’un ordinateur Problèmes Stockage temporaire «Petits» volumes de données Langages.
© Petko ValtchevUniversité de Montréal Janvier IFT 2251 Génie Logiciel Le Processus Hiver 2002 Petko Valtchev.
Nouvelles Technologies Internet & Mobile
1 JEE 2010 Architectures n-tiers F.Pfister
Introduction à la Programmation Orientée Objet
UML support à la COO 2ème année IUT Calais-Boulogne Bénédicte Talon
TP D’UML Groupe N° 3.
INTRODUCTION AUX BASES DE DONNEES
Schéma de base de données Présentation. Conception du schéma logique  Transformation du schéma conceptuel en structures de données supportées par les.
UML Unified Modeling Language. UML : 8 diagrammes 1.Classes 2.Activités 3.Séquences 4.Collaboration 5.Etats transition 6.Cas d’utilisation 7.Composants.
UML : méthode Processus. Introduction(1) ● Cycles ● Spécification par cas d'utilisation ● Identifier les besoins ● Analyse par cas d'utilisation ● Affiner.
Transcription de la présentation:

T. Libourel libourel@lirmm.fr Autour des objets T. Libourel libourel@lirmm.fr

Introduction Approche objet Concepts objet et formalisme UML PLAN 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

Introduction Approche objet Concepts objet et formalisme UML PLAN 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

Modè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

Taille et complexité des systèmes importantes et croissantes Systè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)

Évolution des applications Systè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

Pourquoi des méthodes ? Rien ne dicte a priori comment modéliser un système de manière pertinente Besoin de méthodologie Outils Informatiques Entreprise

Démarche reproductible pour obtenir des résultats fiables 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

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

Introduction Approche objet Concepts objet et formalisme UML PLAN 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

Universalité de l’Objet Atouts Universalité de l’Objet la 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’Objet dans les langages de programmation, les bases de données, les interfaces graphiques, ... et les méthodes d’analyse et de conception.

Regroupement de BOOCH-OMT puis Objectory Historique 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

UML (Unified Modeling Language) Historique 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) http://www.omg.org

Introduction Approche objet Concepts objet et formalisme UML PLAN 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

Un modèle est une représentation abstraite d’une réalité, Concepts 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 …)

Les modèles d'UML Concepts généraux 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

La perception des modèles Les vues graphiques (diagrammes ) Concepts généraux La perception des modèles Les vues graphiques (diagrammes ) diagrammes de classes diagrammes d'objets diagrammes de séquences diagrammes de collaboration diagrammes états-transitions diagrammes d'activités diagrammes de cas d'utilisation diagrammes de composants diagrammes de déploiement

Concepts généraux Définir une architecture ……. divers points de vue sur le système Vue   structurelle Vue Implémentation Vue Cas d ’utilisation Vue Architecture (déploiement) Vue dynamique <------- Logique Physique ------>

Processus incrémental Concepts généraux Processus incrémental Analyse Conception Tests - Maintenance Réalisation Même formalisme lors de toutes les phases du cycle de vie

Modèles descriptifs du point de vue des utilisateurs Modèle fonctionnel Les «  USE CASE » Modèles descriptifs du point de vue des utilisateurs Scénarios fonctionnels Focus La manière d’utiliser le système

Deux concepts Acteur Use case Modèle fonctionnel Acteur (rôle 2) Ex: distributeur CB Deux concepts Acteur Use case Acteur (rôle 2) Acteur (rôle 1)

Les cas d’utilisation peuvent être liés par des relations Modèle fonctionnel Les cas d’utilisation peuvent être liés par des relations d’utilisation « use » (décomposition) de raffinement « extend » (traitement d’exceptions) Acteur (rôle 2) Acteur (rôle 1) « use » « extend »

Modèle structurel 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.

Les objets Modèle structurel Objets du monde réel Objets informatiques Comportement visible État Interne caché

Objet Modèle structurel Etat évolue au cours du temps Comportement actions et réactions Identité essence Comportement influe sur l'état Etat reflète les comportements passés

Modèle structurel BD Luc Système Alain : Discipline Sophie Deux objets ou instances Luc Système Alain : Discipline Sophie : Professeur

Première abstraction Une classe peut être vue Modèle structurel 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

Classe Instance Modèle structurel Attributs (propriétés) Valeurs d'attributs (État) Voiture titine :Voiture « Est-instance-de » type =205 Peugeot rouge type : string marque : string couleur : string

Modèle structurel nom de la classe Voiture attributs type : string marque : string couleur : string opérations Opérations et méthodes Méthodes Implémentations repeindre(c: Couleur) déplacer (d : longueur)

Les types sont optionnels et ne figent pas les choix d'implémentation Modèle structurel 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

Un objet est instance d'une (seule) classe : Modèle structurel 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).

(analogie Classe / Instance) Modèle structurel Association / Lien (analogie Classe / Instance) Pays Ville a-pour-capitale nom nom Association a-pour-capitale : Pays nom=France :Ville nom = Paris Lien

Association en général binaire (degré = 2) mais .. Modèle structurel Association en général binaire (degré = 2) mais .. nom d'association emprunte Adhérent Exemplaire lire association ternaire association binaire DispositifDeLecture

Multiplicité et rôles d'une association Modèle structurel Multiplicité et rôles d'une association emploie employeur employé Société Personne * 1..* nom adresse nom date de nais. n°SS adresse travaille-pour chef 0..1 encadre 1..* travailleur

aucun, 1 ou plusieurs (défaut) Modèle structurel Multiplicité exactement 1 1 Classe au plus 1 0..1 Classe aucun, 1 ou plusieurs (défaut) 0..* Classe 1..* au moins 1 Classe 2..4 de 2 à 4 Classe 2,4 Classe 2 ou 4

Possession Ligne de portefeuille Modèle structurel Classe association Possède-des-actions Entreprise Personne * 1..* nom adresse capital actionnaire nom date de nais. adresse Possession Ligne de portefeuille quantité

Classe association Modèle structurel Autorisé sur Utilisateur 1..* 1..* Station de travail nom nom Autorisation priorité droits 1..* répertoire de rattachement Répertoire

D ’autres « abstractions » Modèle structurel D ’autres « abstractions » associations particulières (composition / agrégation) spécialisation / généralisation

Composition Modèle structurel Association particulière Tout /partie Fenêtre 0..2 Barre titre Fond Frontière Barre Ascenseur 2 Titre Bouton Ferm Flèche Indicateur

Agrégation Modèle structurel Sémantique Collection/Élément Pays Forêt 1 Forêt 1..n 1 Région 1..n 1 Arbre 1..n Département

Composition / Agrégation Modèle structurel Composition / Agrégation Contraintes - Exclusivité / Partage - Dépendance / Indépendance Propagation / Diffusion

Mécanismes d’inférences intellectuelles de caractéristiques Modèle structurel 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

Généralisation / Spécialisation Modèle structurel Généralisation / Spécialisation Personne nom adresse {disjoint} Étudiant num_carte adresse Enseignant grade adresse enseigner

... ... ... Généralisation / Spécialisation Modèle structurel Équipement Type d'équipement ... Pompe Réservoir Échangeur Type de pompe Type de réservoir ... ... Pompe Cent. Pompe Imm. Réservoir Press.

Généralisation / Spécialisation multiple Modèle structurel Généralisation / Spécialisation multiple Véhicule Véhicule aquatique Véhicule terrestre Auto Véhicule amphibie Bateau

Agrégation Généralisation Composition/Agrégation ou généralisation ? Modèle structurel Composition/Agrégation ou généralisation ? 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

Généralisation / Spécialisation Modèle structurel Généralisation / Spécialisation 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 ».

Les contraintes sont héritées. Modèle structurel 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.

Les contraintes: Exemples de contraintes sur associations Modèle structurel Les contraintes: Exemples de contraintes sur associations membreDe Chemin Personne * * Comité * {subset} 1 préside * 1..* {ordered} contrainte entre 2 associations contrainte sur extrémité d'association Arête

Les contraintes: Exemple de contraintes à différents niveaux Modèle structurel Les contraintes: Exemple de contraintes à différents niveaux { actif = passif } contrainte sur classe subordonné employeur Personne Société * 1..* 0..1 0..1 { Personne.employeur = Personne.chef.employeur } actif : Real {value  0} passif : Real <dirige chef contrainte sur attribut contrainte sur 2 associations

Modèle dynamique 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

diagrammes de collaboration diagrammes de séquences Modèle dynamique diagrammes de collaboration diagrammes de séquences diagrammes états-transitions diagrammes d'activités (non traités)

La communication Modèle dynamique Systèmes informatiques : Société d'objets travaillant en synergie pour réaliser les fonctions de l'application Communication Client Acteur Serveur message

Les messages Types Synchronisation Modèle dynamique constructeurs destructeurs sélecteurs modificateurs itérateurs asynchrone synchrone retour

Diagramme de collaboration Modèle dynamique Diagramme de collaboration 2: M2 B 1: M1 5: M5 A 4: M4 C 6: M6 message 3: M3

Modèle dynamique Diagramme de séquence B C A M1 M2 M3 M4 M5 M6 TEMPS

La ligne de vie Modèle dynamique « create » :C1 op « destroy » Création par le message «create» Activation de l’objet qui exécute une opération op « destroy » Destruction par un autre objet

Modèle dynamique Pays Région Départ 1.1:Population() Poitou:Région France:Pays 1.2:Population() Bretagne:Région 1:Population() 1.3:Population() LR:Région 4: m4 …. 1.3.3:Population() 1.3.1:Population() 1.3.2:Population() Gard: Départ Aude:Départ Hérault: Départ

Modèle dynamique France Poitou Bretagne LR A H G Popul() Popul() temps Popul() Popul()

Événement Événement et État État d'un objet Modèle dynamique 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

Graphe : Nœuds (Etat) Arcs (Transitions) Modèle dynamique Diagramme d’état Graphe : Nœuds (Etat) Arcs (Transitions) Événement 1 [Cond1] / Action1 (attrib) État 1 faire : Activité 1 État 2 ...

Notation des états Modèle dynamique Initial Simple Créditeur Final Nom état entry/op1 exit/ op2 on evt1/ op3 on evt2/ op4 do/ activité Activités internes Complexe au début à la fin lors d’evt tout le temps

Notation des arcs Modèle dynamique étiquette étiquette événement(paramètres) [condition] /action

Modèle dynamique 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. 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.

Etats d’un compte bancaire Modèle dynamique Diagrammes d'États Etats d’un compte bancaire transitions gardées sous-état demandeCréat() fermer() Ouvert Fermé ouvert Débiteur on retrait/ agios on dépôt/ augmenter solde [Solde >=0] Créditeur on retrait/ debiter solde on dépôt/ augmenter solde [Solde < 0]

Généralisation Modèle dynamique - 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 E3 E4 E2 E6 E5

Agrégation Modèle dynamique une classe "agrégat" aura un état défini par l'agrégation des états de ses composants. Agrégation concurrente (relation et) Auto Moteur Portière Roue Arrêt Moteur portière roue Ouverte gonflée Marche point mort crevée Marche arrière Marche avant Fermée

Modèle d’implémentation Les packages 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

Modèle d’implémentation Les packages Liens de dépendance Classes avec fort couplage « sémantique »

Introduction Approche objet Concepts objet et formalisme UML PLAN 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

Des bienfaits de l ’encapsulation …. Discussion Des bienfaits de l ’encapsulation …. Données Encapsulation Messages Opérations Proposer un service et réagir aux messages

La méta-modélisation Discussion Langage pour spécifier Meta-Class, tout métamodèle Meta-Class, Meta-Attribut, etc Meta-Meta Modèle Class, Attribut, etc Langage pour spécifier un modèle Meta-Modèle Langage pour spécifier un domaine d’information Parcelle, Surface, etc Modèle Définition spécifique d’un domaine A120, 50, etc Objets utilisateur

UML n’est pas une méthode comme Merise Discussion 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

Schéma de la base relationnelle ou objet Discussion Les outils Modèles UML, ... AGL Schéma de la base relationnelle ou objet re-engineering Squelette de code Environnement de développement: Visual Age (IBM), Delphi, Visual J++, J Builder, VisualWorks, Objets SGBD-R ou SGBD-OO Langages JAVA, C++, ..

Outil de dialogue : Outil ouvert Discussion 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)

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

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