Vous êtes sur la page 1sur 36

Cours MSI-2A filire ICL

version 2.1 du 9 novembre 2009

UML : Unified Modelling Language

Historique : Grady Booch 1981, ADA, Object Oriented Development James Rumbaugh 1991, OMT, JOOP (Journal of OO programming) Ivar Jacobson, OOSE

sept 97, UML 1.1


Rfrences : http://www.omg.org http://uml.free.fr/ site en franais
en France Pierre Alain Muller (U-Mulhouse) et Valtech

http://uml.developpez.com/

Outils :

StarUML 5.0 Objecteering http://www.objecteering.com/us/produits_pe.php Rational ROSE , http://www.rational.com plus de 30 outils de modlisation et de CASE
(Computer Aided Software Engineering)

1
Michel Tollenaere

U.M.L. partie 1

Cours MSI-2A filire ICL


version 2.1 du 9 novembre 2009

objet 1
Systme (VEGA2) : acteur (intragissant avec VEGA2) message

Architecture
UML modelling information systems at conceptual level at logical level

lien exprimant que "objet 2 est une sorte de objet 1"

objet 2

lien exprimant que "objet 2 a une relation avec objet 4"

message

objet 4

message

message

lien exprimant que "objet 2 est compos de objet 3" objet 3

Constituant
PERSONNE n-uplet1 n-uplet2 n-uplet3 n-uplet4 Num_securite_sociale 1 76 02 99 167 098 2 76 04 95 165 008 1 78 12 38 122 4332 1 68 02 99 5649 876 Nom Dupont Durand Faure Dumontier

Constituant
Prenom Marcel Elisabeth Bertrand Michel

Constituant

Constituant
Code_postal 41500 31900 38700 75016 Telephone 06 08 78 65 88 02 99 167 098 04 38 56 45 32 01 55 45 34 87

Technologie
2
Michel Tollenaere

proprits
STAGE n-uplet1 n-uplet2 n-uplet3 n-uplet4 n-uplet5 Num_securite_sociale 1 76 02 99 167 098 2 76 04 95 165 008 1 68 02 99 5649 876 2 76 04 95 165 008 1 76 02 99 167 098

proprits

D_type_stageTitre Inge_Adjoint Dfinition d'une politique Qualit Inge_Adjoint Mise en place d'un SI pour la maintenance EDT Reconfiguration des achats EDT Reconfiguration des achats PFE Mise en place d'un ERP

U.M.L. partie 1

Creating the UML


UML 2.2
UML 2.0
2005

Cours MSI-2A filire ICL


version 2.1 du 9 novembre 2009

2009

UML 1.3
OMG Acceptance, Nov 1997

Final submission to OMG, Sep 97


public feedback First submission to OMG, Jan 97 UML partners Web - June 96

UML 1.1
UML 1.0 UML 0.9

OOPSLA 95

Unified Method 0.8

Other methods
3
Michel Tollenaere

Booch method

OMT

OOSE

U.M.L. partie 1

Contributions to the UML


Meyer
Before and after conditions

Cours MSI-2A filire ICL


version 2.1 du 9 novembre 2009

Harel
Statecharts

Gamma, et al
Frameworks and patterns,

Booch
Booch method

HP Fusion
Operation descriptions and message numbering

Rumbaugh
OMT

Embley
Singleton classes and high-level view

Jacobson
OOSE

Wirfs-Brock
Responsibilities

Shlaer - Mellor
Object lifecycles
4
Michel Tollenaere

Odell
Classification

U.M.L. partie 1

Axes de modlisation d un systme

Cours MSI-2A filire ICL


version 2.1 du 9 novembre 2009

Statique (ce que le systme EST)


diagramme de classes diagramme dobjets diagramme de composants diagramme de dploiement

Dynamique (comment le systme EVOLUE)


diagramme de squence diagramme de collaboration diagramme dtats-transitions diagramme dactivits
5
Michel Tollenaere

Fonctionnel (ce que le systme FAIT)


diagramme de cas dutilisation diagramme de collaboration

U.M.L. partie 1

Cours MSI-2A filire ICL


version 2.1 du 9 novembre 2009

Niveaux dabstraction dun SI


En UML, les mmes modles peuvent tre utiliss diffrents niveaux dabstraction du plus conceptuel limplantation. On peut donc appliquer des mcanismes de transformation continue.

Conceptuel organisationnel logique physique

6
Michel Tollenaere

U.M.L. partie 1

Les 9 diagrammes dUML 1.1 (13 diag en 2.0) diagramme de cas dutilisation diagramme de classes

Cours MSI-2A filire ICL


version 2.1 du 9 novembre 2009

diagramme de squence
diagramme de collaboration diagramme dobjets diagramme dtats-transitions diagramme dactivits (nous utiliserons IDEF 0)

diagramme de composants
diagramme de dploiement
7
Michel Tollenaere

U.M.L. partie 1

Description UML des diagrammes UML

Cours MSI-2A filire ICL


version 2.1 du 9 novembre 2009

Diagramme

Ceci est un commentaire

Cas d utilisation

Classes

Etats Transitions

Squence

Collaboration

Composants

Dploiement

Activit

Objets

8
Michel Tollenaere

U.M.L. partie 1

Cours MSI-2A filire ICL

Exemples : Quelques diagrammes


Cas dutilisation une fonctionnalit attendue du systme par les diffrents acteurs.

version 2.1 du 9 novembre 2009

Systme (VEGA2) : acteur (intragissant avec VEGA2) message message

cas d'utilisation

message

Diagramme de Classes
objet 1

message

lien exprimant que "objet 2 est une sorte de objet 1"

Diagramme de squence Chaque cas d'utilisation apparat comme un scnario, dcrit par un ou plusieurs diagrammes de squence.
objet 4

objet 2

lien exprimant que "objet 2 a une relation avec objet 4"

lien exprimant que "objet 2 est compos de objet 3" objet 3

Un diagramme de squences montre les interactions entre les acteurs et le systme selon un point de vue temporel pour accomplir une fonctionnalit attendue du systme (un cas d utilisation). Cest une ensemble de messages changs entre les acteurs et le systme, ordonns chronologiquement.

9
Michel Tollenaere

U.M.L. partie 1

Cours MSI-2A filire ICL


version 2.1 du 9 novembre 2009

Modle Fonctionnel

Use Cases = cas dutilisation diagramme de collaboration

10
Michel Tollenaere

U.M.L. partie 1

Cours MSI-2A filire ICL


version 2.1 du 9 novembre 2009

Diagramme de cas dutilisation


Reprsente les fonctions du systme de point de vue de l utilisateur.
relation Acteur Cas d utilisation

Ceci est un cas dutilisation

Ceci est un acteur

Ceci est une relation

Elments du diagramme : acteur : un rle jou par une personne, un service, etc. qui interagit avec le systme tudi cas dutilisation : manire spcifique d utiliser un systme. Image dune fonctionnalit attendue, dclenche en rponse la stimulation dun acteur relations entre cas dutilisations et acteurs
11
Michel Tollenaere

U.M.L. partie 1

Relations entre cas dutilisation

Cours MSI-2A filire ICL


version 2.1 du 9 novembre 2009

Trois types de relations :


relation de communication : entre un acteur et un cas dutilisation. Exprime lchange dinformations entre lacteur et le systme.

client

Dclencher virement

relation dutilisation : entre deux cas dutilisation. Exprime que le cas dutilisation source comprend galement le comportement dcrit par le cas dutilisation destinataire (utile pour la factorisation de cas).
use Dclencher virement identification

relation dextension : entre deux cas dutilisation. Exprime que le cas dutilisation source tend le comportement du cas dutilisation cible (utile pour la spcialisation de cas).
extend Virement par Internet Dclencher virement

12
Michel Tollenaere

U.M.L. partie 1

Cours MSI-2A filire ICL


version 2.1 du 9 novembre 2009

Source http://uml.free.fr/
13
Michel Tollenaere

U.M.L. partie 1

Cours MSI-2A filire ICL


version 2.1 du 9 novembre 2009

Acteurs : diagramme de cas dutilisation


Acteur humain : il sagit ici dun rle et non dun acteur identifi.

Acteur non humain : exemple un logiciel de comptabilit ou dERP avec lequel le systme interagit
Conoit les schmas et nomenclatures Rcupre les schmas Rcupre les contraintes

Exemple
Dveloppeur Dfinit les contraintes mcaniques

Gestion des schmas

Gestion des contraintes

Responsable CFAO Gre la cration et les rvisions d un job

Responsable BE Gre la cration et les rvisions des dossiers variantes

Gestion des jobs <<dpend>>

Gestion des dossiers

14
Michel Tollenaere

U.M.L. partie 1

Diagramme de Collaboration

Cours MSI-2A filire ICL


version 2.1 du 9 novembre 2009

Interactions entre objets du systme avec un accent particulier sur la structure spatiale statique des objets (contexte des objets). Les messages sont numrots pour indiquer lordre des envois. Permet de situer le contexte du systme. Message : Simple, Asynchrone, Synchrone, Minut
: ascenseur Objet 1
1 : message 2 : message 1 : monter

: cabine
4 : message

Objet 2
3 : message

5 : message

3 : fermer

: porte
2 : allumer

Objet 3

: lumire 15
Michel Tollenaere

U.M.L. partie 1

Cours MSI-2A filire ICL


version 2.1 du 9 novembre 2009

Modle Statique

diagramme d objets Diagramme de classes

16
Michel Tollenaere

U.M.L. partie 1

Cours MSI-2A filire ICL


version 2.1 du 9 novembre 2009

Objets et classes
TaVoiture : Voiture AutreVoiture : Voiture Marque = Renault MaVoiture : Megane Marque = Renault Modle = Voiture

Objet : une entit concrte avec une identit bien dfinie qui encapsule un tat et un comportement. Ltat est reprsent par des valeurs dattribut et des associations, le comportement par des mthodes. 2 objets peuvent tre semblables et pas identiques

Marque = Immatriculation = 648DBX38 Renault Modle = Megane Modle = 1re immatriculation = 16 sept 2009 Megane Immatriculation = 648DBX38 Immatriculation = 648DBX38000 2007 1re immatriculation = 16 sept Kilomtrage = 125 1re immatriculation =125 sept 1997 Kilomtrage = 16 000 ? () Kilomtrage-annuel Kilomtrage = 125 000 ? () Kilomtrage-annuel Kilomtrage-annuel ? ()

Un objet peut tre une instance dune classe.


Classe : une description dun ensemble dobjets qui partagent les mmes attributs, oprations, mthodes, relations et contraintes. Une classe peut possder des attributs ou des mthodes de classe.
17
Michel Tollenaere

Voiture Marque : chane Modle : chane

Immatriculation : chane (8)


1re immatriculation : date Kilomtrage : entier Kilomtrage-annuel ? ( ) Kilometrage_annuel_moyen ( )

U.M.L. partie 1

Cours MSI-2A filire ICL


version 2.1 du 9 novembre 2009

Liens diagramme dobjets -/- diagramme de classes


Structure statique dun systme, en termes dobjets et de liens entre ces objets. Ces objets et ces liens possdent des attributs qui possdent des valeurs.

Un objet est une instance de classe et un lien est une instance dassociation.
Nom de lobjet : Classe

Attributs = valeurs Etienne : personne ge = 35


patron collaborateur

Personne
ge : entier
patron
1

collaborateur *

emploie>

Jean-Luc : personne ge = 25 Diagramme de classes Diagramme d objets 18


Michel Tollenaere

U.M.L. partie 1

Diagramme de classes

Cours MSI-2A filire ICL


version 2.1 du 9 novembre 2009

Structure statique dun systme, en termes de classes et de relations entre ces classes.
Voiture

Nom de classe
Attributs Oprations ()

Couleur

exemple :

Cylindre Vitesse max Dmarrer () Acclrer ()

Syntaxe:
nom_attribut : type_attribut = valeur initiale

Freiner ()

nom_opration (nom_argument : type_argument = valeur_par_dfaut, ) : type_retourn

Visibilit : trois niveaux de visibilit pour les attributs et les oprations:


public (+) : lment visible tous les clients de la classe protg ( #) : lment visible aux sous-classes de la classe priv (-) : lment visible la classe seule
19
Michel Tollenaere

U.M.L. partie 1

Cours MSI-2A filire ICL


version 2.1 du 9 novembre 2009

Nommage des associations


constructeur
fabricant

Construire>

produit

vhicule

<construit par

personne

passager conducteur propritaire

<Transporte Conduit> Possde>

vhicule vhicule vhicule

vhicule

personne

employ
directeur actionnaire

<Emploie employeur
Dirige> Possde>
socit socit

entreprise

20
Michel Tollenaere

U.M.L. partie 1

Cours MSI-2A filire ICL


version 2.1 du 9 novembre 2009

Multiplicit des associations


1 0 .. 1 m .. n * ou 0 .. * Un et un seul (obligatoire) Zro ou un (optionnel) De m n (entiers)

quelconque Au moins 1

1 .. *

Personne

0..* Employeur Employ 1

Socit

21
Michel Tollenaere

U.M.L. partie 1

Cours MSI-2A filire ICL


version 2.1 du 9 novembre 2009

Associations
Agrgation:
Association transitive : si voiture est compose de moteur et si moteur est compos de courroie alors voiture est compose de courroie

Association non symtrique : si voiture est compose de moteur, moteur ne peut pas tre compos de voiture
Association qui peut tre rflexive : exemple, une fonction peut tre compose dautres fonctions, un sous ensemble dautres sous ensembles.

Rle et multiplicit :
Une classe a un rle dans une association. Les rles portent une information de multiplicit prcisant le nombre d associations auquel une instance d objet peut tre associe. Les multiplicits les plus courantes sont : 1 / 0..1 / m..n / * /0..* / 1..*
22
Michel Tollenaere

U.M.L. partie 1

Cours MSI-2A filire ICL


version 2.1 du 9 novembre 2009

Classe-association
Permet de qualifier plus finement une association
Vhicule
Commande +Num-commande +date +PoidsTotal Vhicule +NumImmatriculation +ChargeUtile affrte 1..* 0..1 conduit 1...2 Chauffeur +Nom +Prnom +Adresse +TypePermis

+NumImmatriculation +ChargeUtile +PermisRequis affrte SocitTransport +NumSIRET +NomCommercial +TypeTransport 0..1 conduit 0..* PeriodeConduite +t0 +tf +kilometrage

1..*

traite 0..1 SocitTransport +NumSIRET +NomCommercial +TypeTransport

0..1

0..* Chauffeur +Nom +Prnom +Adresse +TypePermis +KilometrageAnne()

23
Michel Tollenaere

U.M.L. partie 1

Cours MSI-2A filire ICL


version 2.1 du 9 novembre 2009

Placement des attributs et des associations

1 0..* Diplme Mention

Etudiant

Ralise > 0..* 0..* Note - valeur

Travail

0..1 Chambre Numro

24
Michel Tollenaere

U.M.L. partie 1

Cours MSI-2A filire ICL


version 2.1 du 9 novembre 2009

Contraintes

personne
1

Est_titulaire>

0 .. *

compte

{Ordonne}
0 .. *

personne

Parent d lve

classe

{Sous ensemble}

0 .. *
Dlgus

0 .. *

personne

Enseignants

universit

{Ou-exclusif}
0 .. *
Etudiants

25
Michel Tollenaere

U.M.L. partie 1

Cours MSI-2A filire ICL


version 2.1 du 9 novembre 2009

Agrgation

Livre
1 .. * 1

Chapitre {Ordonne}

{Ordonne}
1 .. *

Paragraphe

26
Michel Tollenaere

U.M.L. partie 1

Cours MSI-2A filire ICL


version 2.1 du 9 novembre 2009

Composition

Homme

Tte

La composition traduit une dpendance existentielle forte.

27
Michel Tollenaere

U.M.L. partie 1

Cours MSI-2A filire ICL


version 2.1 du 9 novembre 2009

Diagramme de classes : Relations entre classes


Agrgation : quand une classe fait partie dune autre classe (agrgat - composant) Association : toute relation structurelle entre classes, autre que lagrgation et la gnralisation Gnralisation (voir transparents UML2) : factorisation des lments communs dun ensemble de classes dites sous-classes dans une classe plus gnrale dite super-classe. Elle signifie que la sous-classe est un ou est une sorte de la super-classe. Le lien inverse est appel spcialisation
spcialisation

classe 2 classe 1 classe 3


agrgation

gnralisation

1..*

constructeur

vhicule

1..*

moteur

Construit par

voiture

camion

avion

28
Michel Tollenaere

classe 4

U.M.L. partie 1

Cours MSI-2A filire ICL


version 2.1 du 9 novembre 2009

Exemple de diagramme de classes


Problme Titre_Problme Objectif Delai Prix NiveauPriorite FicheEtude Conclusion Problme() Tes_infos?() Nou_Paramtres() Crer_Etude() 1 Projet NomProjet NumroPDM DateDebutProjet 1..* Induit 1 Projet() Tes_infos?() Nouv_Paramtres() Crer_Problme() 1..* LesProblmes

1..*

LesProjets Outil Simulation Crer_Projet() Modifier_Projet() ModifierParamtre_Projet() Crer_Problme() Modifier_Problme() ModifierParamtre_Problme() Crer_Etude() Modifier_Etude() ModifierParamtre_Etude() FaireAppelAUneAncienne_Etude() Conclure_Etude() Crer_Cycle() Modifier_Cycle() ModifierPramtre_Cycle() Rajouter_Entit() Conclure_Cycle()

EstResoluPar
0..* 0..1 Etude Titre_Etude NomPice ButEtude TypeEtude Conclusion Etude() Tes_infos() Nouv_Paramtres() Crer_Cycle() Ajouter_Conclusion() 0..1

CompltePar
0..*

Suivant 0..* 1..* LesEtudes

29
Michel Tollenaere

U.M.L. partie 1

Cours MSI-2A filire ICL


version 2.1 du 9 novembre 2009

Modle Statique
Passage dun diagramme de classe UML un modle relationnel pour SGBD

30
Michel Tollenaere

U.M.L. partie 1

Cours MSI-2A filire ICL


version 2.1 du 9 novembre 2009

Rgle 0 & 1: attribut et classe Classe produit


Rf-produit Libell-p Prix-vente-p

fournisseur
Code-fournisseur Adresse Tlphone

Relation / Table
Produit (Rf-produit, Libell-p, Prix-vente-p) Fournisseur (Code-fournisseur, Adresse, Tlphone)
31
Michel Tollenaere

U.M.L. partie 1

Cours MSI-2A filire ICL


version 2.1 du 9 novembre 2009

Rgle 2 : relation de multiplicit (1)


Classe produit Rf-produit Libell-p Prix-vente-p < fournir fournisseur 1 Code-fournisseur Adresse Tlphone

Remise - valeur Relation / Table Produit (Rf-produit, Libell-p, Prix-vente-p, Code-fournisseur, remise) Fournisseur (Code-fournisseur, Adresse, Tlphone)
32
Michel Tollenaere

U.M.L. partie 1

Cours MSI-2A filire ICL


version 2.1 du 9 novembre 2009

Rgle 3 : relation de multiplicit (0-1)


Classe produit
Rf-produit Libell-p Prix-vente-p

fournisseur *
< fournir

0-1 Code-fournisseur
Adresse Tlphone

Remise - valeur

Relation / Table Produit (Rf-produit, Libell-p, Prix-vente-p, remise, Code-fournisseur)


Fournisseur (Code-fournisseur, Adresse, Tlphone)
33
Michel Tollenaere

U.M.L. partie 1

Cours MSI-2A filire ICL


version 2.1 du 9 novembre 2009

Rgle 4 : relation de multiplicit (0..*) (1..*)


Classe produit
Rf-produit Libell-p Prix-vente-p

fournisseur
*
< fournir 0..* Code-fournisseur ou Adresse 1..* Tlphone Remise - valeur

Relation / Table Produit (Rf-produit, Libell-p, Prix-vente-p)

Fournisseur (Code-fournisseur, Adresse, Tlphone) Fournir (Rf-produit, Code-fournisseur, remise)


34
Michel Tollenaere

U.M.L. partie 1

Cours MSI-2A filire ICL


version 2.1 du 9 novembre 2009

Rgle 5 : relation rflexive oriente Relation / Table Pre (nom-fils, nom-pre) Classe

Personne 0..*
nom 1 pre de >

35
Michel Tollenaere

U.M.L. partie 1

Cours MSI-2A filire ICL


version 2.1 du 9 novembre 2009

Rgle 6 relation rflexive symtrique Relation / Table

Personne (Nom) Frre (nom1, nom2)


Classe Personne nom
Attention, la relation tant transitive, des traitements devront tre associs au modle.

frre de

36
Michel Tollenaere

U.M.L. partie 1