You are on page 1of 200

Master MIDO- 2me anne

Mise Niveau UML Maude Manouvrier


Vocabulaire, mthodologie et thmes de lorient objet Modle de classes Modle dtats Modle dinteractions
http://www.lamsade.dauphine.fr/~manouvri/UML/CoursUML_MM.html

Bibliographie
Ouvrages/Documents utiliss pour prparer ce cours : Modlisation et conception orientes objet avec UML2 de Michael Blaha et James Rumbaugh, 2me dition, Pearson Education France, 2005 Traduction de louvrage Applying Object-Oriented Modeling and Design with UML, Prentice Hall 2005 The Unified Modeling Language Reference Manual, 2nd Edition de James Rumbaugh, Ivar Jacobson et Grady Booch, Addison Wesley Professional, 2004 Traduction franaise : UML 2.0, Guide de Rfrence, CampusPress Le guide de lutilisateur UML de Grady Booch, James Rumbaugh et Ivar Jacobson, Eyrolles, 2000 Traduction de louvrage The Unified Modeling Language User Guide; Addison-Wesley, 1998 Transparents de cours de Robert Ogor :
http://www-inf.int-evry.fr/COURS/IO21/COURS/CoursENSTBr.pdf

Transparents de cours de Marie-Jos Blin


Maude Manouvrier - Univ. Paris Dauphine

Bibliographie
Livres contenant des exercices corrigs : UML 2 par la pratique : tudes de cas et exercices corrigs de Pascal Roques, 4me dition, Eyrolles, 2005 UML 2 de Benot Charroux, Aomar Osmani, et Yann Thierry-Mieg, coll. Synthex, Pearson Education, 2005

Maude Manouvrier - Univ. Paris Dauphine

Historique
OMT (Object Modeling Technique - 1991) de James Rumbaugh OOSE de Ivar Jacobson Notation de Grady Booch

UML - Unified Modeling Language


Standard de modlisation objet adopt en 1997 par lObject Management Group (OMG) Rvision des spcifications initiales en 2001 UML 1 Approbation de la version UML 2.0 en 2004
Maude Manouvrier - Univ. Paris Dauphine

Vocabulaire orient objet (1/3)


Orient objet : organisation dun logiciel sous la forme dune collection dobjets indpendants incorporant structure de donnes et comportement [BR05] Objet Entit discrte et distinguable, concrte ou abstraite Ex. Ce transparent; lenseignant M. Manouvrier; la stratgie pdagogique de cette mise niveau Identit intrinsque - Identifiant unique Deux objets sont distincts, mmes sils ont des valeurs dattributs identiques

Maude Manouvrier - Univ. Paris Dauphine

Vocabulaire orient objet (2/3)


Classification : regroupement des objets ayant mme structure de donnes (attributs) et mme comportement (oprations) Ex. TransparentDeCours; Enseignant Classe : abstraction dcrivant un ensemble dobjets potentiellement infini [BR05]

Maude Manouvrier - Univ. Paris Dauphine

Vocabulaire orient objet (2/3)


Classification : regroupement des objets ayant mme structure de donnes (attributs) et mme comportement (oprations) Ex. TransparentDeCours; Enseignant Classe : abstraction dcrivant un ensemble dobjets potentiellement infini [BR05]
Objets Bulles et Lgendes

Maude Manouvrier - Univ. Paris Dauphine

Vocabulaire orient objet (2/3)


Classification : regroupement des objets ayant mme structure de donnes (attributs) et mme comportement (oprations) Ex. TransparentDeCours; Enseignant Classe : abstraction dcrivant un ensemble dobjets potentiellement infini [BR05]
Objets Bulles et Lgendes s Abstraction Classe BulleEtLgende Attributs forme couleurDeTrait couleurDeRemplissage Oprations dessiner effacer dplacer modifierTaille 6

Maude Manouvrier - Univ. Paris Dauphine

Vocabulaire orient objet (3/3)


Instance dune classe : objet appartenant la classe Hritage : partage de proprits entre classes sur la base dune relation hirarchique Super-classe (classe mre) Sous-classe (classe fille) : spcialisation de la super-classe Hritage des proprits de la super-classe Polymorphisme : possibilit de comportements diffrents dune mme opration dans diffrentes classes Opration : action excute par un objet ou transformation subie par un objet Mthode : implmentation dune opration par une classe Plusieurs mthodes pour une mme opration Une mthode par classe pour une opration donne
Maude Manouvrier - Univ. Paris Dauphine

Mthodologie oriente objet


Spcification initiale : collaboration entre les analystes mtier et les utilisateurs pour la gense de lapplication Analyse tude et re-formulation des besoins : collaboration avec le client pour comprendre le problme Modle danalyse : abstraction concise et prcise de lobjectif du systme dvelopper (pas de la faon de le construire) - Modle de domaine : description des objets du monde rel manipuls par le systme - Modle de lapplication : parties du systme visibles par lutilisateur Conception : stratgie de haut niveau (architecture du systme) pour rsoudre le problme pos tablissement des stratgies de conception gnrales Allocations prvisionnelles des ressources Conception des classes : concentration sur les structures de donnes et algorithmes de chaque classe Implmentation
Maude Manouvrier - Univ. Paris Dauphine

Thmes de lorient objet


Abstraction Concentration sur ce que reprsente un objet et sur son comportement avant de dcider de la faon de limplmenter Encapsulation Masquage de linformation : sparation des aspects externes dun objet accessibles aux autres objets, des dtails de limplmentation cachs aux autres objets Regroupement des donnes et du comportement Polymorphisme transfert de la dcision de quelle mthode utiliser la hirarchie de classes Partage Hritage possibilit de partager des potions de code communes et clart conceptuelle (mise en vidence de traitement commun) Mise en vidence de la nature intrinsque des objets : sur ce quest un objet et non sur la faon dont il est utilis Synergie : combinaison des concepts didentit, classification, hritage et polymorphisme pour former un langage objet
Maude Manouvrier - Univ. Paris Dauphine

Trois modles (1/2)


Modle de classes Description de la structure statique des objets du systme et de leurs relations Diagramme de classes : graphe avec pour sommets les classes et pour arcs les relations entre les classes Modle dtats Description des tats successifs dun objet au cours du temps Diagramme dtats : graphe avec pour sommets les tats et pour arcs les transitions entre tats dclenches par des vnements Modles dinteractions Description de la manire de cooprer des objets pour obtenir un rsultat Cas dutilisation ax sur une fonctionnalit Diagramme de squence : reprsentation des interactions entre objets et ordonnancement des interactions Diagramme dactivits : dtails des tapes importantes du traitement
Maude Manouvrier - Univ. Paris Dauphine

10

Trois modles (2/2)


Parties distinctes de la description du systme mais interdpendantes Le plus fondamental classes
[BR05]

: le modle de

Il est ncessaire de dcrire ce qui change ou se transforme avant de dcrire quand et comment les changements ont lieu
11

Maude Manouvrier - Univ. Paris Dauphine

Modlisation oriente objet


Modle : abstraction pour comprendre un problme avant de mettre en uvre une solution [BR05]
Tester une entit physique avant de la construire Communiquer avec les clients Visualiser Rduire la complexit

Deux dimensions associes un modle :


1. Une vue dun systme (modle de classes, dtats ou dinteractions) 2. Un stade de dveloppement (analyse, conception ou implmentation)

Trois modles en UML


Modle de classes : aspects orients "donnes" du systme Modle dtats : aspects temporels, comportementaux et de "contrle " du systme Modle dinteractions : collaboration entre objets Un seul aspect du systme trait par chaque modle, mais relations entre les trois modles Variation du poids des modles en fonction du problme pos
Maude Manouvrier - Univ. Paris Dauphine

12

Modle de classes (1/20)


Description de la structure statique dun systme Reprsentation graphique intuitive dun systme [BR05] Vocabulaire :
Objets Classes Associations Liens Gnralisation Hritage 13

Maude Manouvrier - Univ. Paris Dauphine

Modle de classes (2/20) - Objet


Concept, abstraction ou entit ayant signification pour une application [BR05] une

Avec une contrepartie dans le monde rel, ou correspondant une entit conceptuelle ou introduit pour les besoins de limplmentation Ex. Maude Manouvrier; la formule pour calculer la moyenne dun module; le pointeur dsign par la variable p Identifi et distinguable des autres objets
14

Maude Manouvrier - Univ. Paris Dauphine

Modle de classes (3/20) - Classe


Description dun groupe dobjets possdant les mmes proprits (attributs) le mme comportement (oprations), les mmes relations et la mme smantique
Classe Enseignement Attributs intitul nombreHeures Oprations plannifier Classe Enseignant Attributs nom prnom dateDeNaissance Oprations affecterEnseignement

Objet : instance de classe


Maude Manouvrier - Univ. Paris Dauphine

15

Modle de classes (4/20)


Diagrammes de classes : Notation graphique permettant la modlisation des classes et de leurs relations Diagrammes dobjets : Reprsentation des objets individuels et de leurs relations

Maude Manouvrier - Univ. Paris Dauphine

16

Modle de classes (4/20)


Diagrammes de classes : Notation graphique permettant la modlisation des classes et de leurs relations Diagrammes dobjets : Reprsentation des objets individuels et de leurs relations
Enseignant Classe
Maude Manouvrier - Univ. Paris Dauphine

16

Modle de classes (4/20)


Diagrammes de classes : Notation graphique permettant la modlisation des classes et de leurs relations Diagrammes dobjets : Reprsentation des objets individuels et de leurs relations
Enseignant Classe
Maude Manouvrier - Univ. Paris Dauphine

MaudeManouvrier:Enseignant Objet 16

Modle de classes (5/20)


Valeur : donne sans identit Attribut : proprit nomme dune classe dcrivant le type dune valeur contenue dans chaque objet de la classe Un objet est une classe ce quune valeur est un attribut [BR05]
Enseignant
nom:string prnom:string

MaudeManouvrier:Enseignant
nom="Manouvrier" prnom="Maude"

Classe avec des attributs


Maude Manouvrier - Univ. Paris Dauphine

Objet avec des valeurs 17

Modle de classes (6/20)


Identifiant : implicite Ne pas confondre identifiant interne et attribut didentification ayant une contrepartie dans le monde rel

Maude Manouvrier - Univ. Paris Dauphine

18

Modle de classes (6/20)


Identifiant : implicite Ne pas confondre identifiant interne et attribut didentification ayant une contrepartie dans le monde rel
Enseignant
EnseignantID:ID nom:string prnom:string

Maude Manouvrier - Univ. Paris Dauphine

18

Modle de classes (6/20)


Identifiant : implicite Ne pas confondre identifiant interne et attribut didentification ayant une contrepartie dans le monde rel
Enseignant
EnseignantID:ID nom:string prnom:string

Maude Manouvrier - Univ. Paris Dauphine

18

Modle de classes (6/20)


Identifiant : implicite Ne pas confondre identifiant interne et attribut didentification ayant une contrepartie dans le monde rel
Enseignant
EnseignantID:ID nom:string prnom:string

Enseignant
nom:string prnom:string

Maude Manouvrier - Univ. Paris Dauphine

18

Modle de classes (6/20)


Identifiant : implicite Ne pas confondre identifiant interne et attribut didentification ayant une contrepartie dans le monde rel
Enseignant
EnseignantID:ID nom:string prnom:string

Enseignant
nom:string prnom:string

Enseignant
NUMEN:integer nom:string prnom:string
Maude Manouvrier - Univ. Paris Dauphine

18

Modle de classes (7/20)


Opration : fonction ou procdure pouvant tre applique aux objets ou par les objets dune classe Mthode : implmentation dune opration pour une classe donne
Enseignant
nom:string prnom:string affecterEnseignement (e:Enseignement) nombreHeuresEnseignement: integer

Fichier
nom:string localisation:string imprimer
Maude Manouvrier - Univ. Paris Dauphine

FichierPowerPoint
nombreTransparents:integer imprimer

19

Modle de classes (8/20)


Proprit : terme gnrique pour attribut et opration Notation des classes
NomDeClasse nomAttribut1 : typeDeDonnes1 = Valeur parDfaut1 nomAttribut2 : typeDeDonnes2 = Valeur parDfaut2 nomOpration1 (listeArguments1) : TypeDuRsultat1 nomOpration2 (listeArguments2) : TypeDuRsultat2

Sens de flux (direction) : indication si un argument est en entre non modifiable (in), une sortie (out) ou une entre modifiable (inout)
SensDeFlux nomArgument : type = valeurParDfaut
Maude Manouvrier - Univ. Paris Dauphine

20

Modle de classes (8/20)


Proprit : terme gnrique pour attribut et opration Notation des classes
NomDeClasse nomAttribut1 : typeDeDonnes1 = Valeur parDfaut1 nomAttribut2 : typeDeDonnes2 = Valeur parDfaut2 nomOpration1 (listeArguments1) : TypeDuRsultat1 nomOpration2 (listeArguments2) : TypeDuRsultat2

Sens de flux (direction) : indication si un argument est en entre non modifiable (in), une sortie (out) ou une entre modifiable (inout)
[SensDeFlux] nomArgument [: type = valeurParDfaut ]
Maude Manouvrier - Univ. Paris Dauphine

20

Modle de classes (9/20) Liens et associations


Lien : connexion physique ou conceptuelle entre objets
Ex. MaudeManouvrier Professe la MiseANiveauUML

Association : description dun groupe de liens qui partagent une structure et une smantique commune
Ex. un Enseignant Professe un Enseignement

Diagramme de classes :
Enseignant
nom:string prnom:string

Professe *

Enseignement
intitul:string * nombreHeures:real

Diagramme dobjets :
MaudeManouvrier:Enseignant
nom="Manouvrier" prnom="Maude"
Maude Manouvrier - Univ. Paris Dauphine

MiseANiveauUML:Enseignement
Intitul="Mise niveau UML" nombreHeures=12

21

Modle de classes (10/20) - Multiplicit


Nombre dinstances dune classe pouvant tre lies une instance dune autre classe / contrainte sur le nombre dobjets lis un--un
Enseignant
nom:string prnom:string

EstAffectA 1 1

PosteTlphonique
numro:string

zro--un
Enseignant
nom:string prnom:string

APourBureau 0..1 1

Bureau
numro:integer btiment:char

plusieurs--plusieurs
Enseignant
nom:string prnom:string
Maude Manouvrier - Univ. Paris Dauphine

Professe *

Enseignement
intitul:string * nombreHeures:integer

22

Modle de classes (11/20) Liens et associations


Notation
NomDeClasse NomDAssociation NomDeLien NomDeClasse

unObjet:NomDeClasse

unObjet:NomDeClasse

Implmentation des associations par rfrence


Ex. Implmentation de lassociation Professe par un attribut Enseignements dans la classe Enseignant et/ou un attribut Enseignants dans la classe Enseignement

Ne pas confondre implmentation et modlisation


Maude Manouvrier - Univ. Paris Dauphine

23

Modle de classes (11/20) Liens et associations


Notation
NomDeClasse NomDAssociation NomDeLien NomDeClasse

unObjet:NomDeClasse

unObjet:NomDeClasse

Implmentation des associations par rfrence


Ex. Implmentation de lassociation Professe par un attribut Enseignements dans la classe Enseignant et/ou un attribut Enseignants dans la classe Enseignement

Ne pas confondre implmentation et modlisation


23

Maude Manouvrier - Univ. Paris Dauphine

Modle de classes (12/20) Noms dextrmit


Possibilit de nommer les extrmits dassociation
Transparent
titre:string

FichierPowerPoint contenu conteneur nom:string * 1 AppartientA

Indispensable pour les associations entre objets de mme classe


Transparent
titre:string

point *

pointant *
Maude Manouvrier - Univ. Paris Dauphine

24

Modle de classes (13/20) Ordonnancement, bags et squences


Ordonnancement des objets situs lextrmit dune association plusieurs
Transparent
titre:string

{ordered} * AppartientA

FichierPowerPoint 1
nom:string

Bag (sac) : collection non ordonne avec autorisation de doublons Squence : collection ordonne avec autorisation de doublons
Enseignement *
Maude Manouvrier - Univ. Paris Dauphine

{sequence} Sance 1..* {bag} Polycopi *

25

Modle de classes (14/20) - Classe-association


Association qui est galement une classe Caractrise par des attributs et des oprations
IntervientDans
nombreHeures:integer imprimerDecompteHeures

Enseignant
nom:string prnom:string

DFR
nom:string

* *
Professe

FaitRfrenceA

Enseignement
intitul:string * nombreHeures:integer

PrRequis
obligatoire:boolean

Maude Manouvrier - Univ. Paris Dauphine

* PanneauDAffichage

Indique

26

Modle de classes (15/20) - Classe-association


Ne pas confondre classe-association et association promue au rang de classe
Enseignant
nom:string prnom:string

Enseignement * * intitul:string
nombreHeures:integer

APourPolycopi
intitul:string imprimer

Enseignant
nom:string prnom:string

Rdige intitul:string 1..* *


imprimer

Polycopi
APourSupport

Enseignement *
intitul:string * nombreHeures:integer

Maude Manouvrier - Univ. Paris Dauphine

27

Modle de classes (15/20) - Classe-association


Ne pas confondre classe-association et association promue au rang de classe
Enseignant
nom:string prnom:string

Enseignement * * intitul:string
nombreHeures:integer

Il y a un seul polycopi par couple APourPolycopi Enseignant / Enseignement intitul:string


imprimer

Enseignant
nom:string prnom:string

Rdige intitul:string 1..* *


imprimer

Polycopi
APourSupport

Enseignement *
intitul:string * nombreHeures:integer

Maude Manouvrier - Univ. Paris Dauphine

27

Modle de classes (15/20) - Classe-association


Ne pas confondre classe-association et association promue au rang de classe
Enseignant
nom:string prnom:string

Enseignement * * intitul:string
nombreHeures:integer

Il y a un seul polycopi par couple APourPolycopi Enseignant / Enseignement intitul:string


imprimer

Enseignant
nom:string prnom:string

Rdige intitul:string 1..* *


imprimer

Polycopi
APourSupport

Enseignement *
intitul:string * nombreHeures:integer

Un nombre quelconque doccurrences de Polycopi pour chaque Enseignant et chaque Enseignement


Maude Manouvrier - Univ. Paris Dauphine

27

Modle de classes (16/20) Association qualifie


Qualificateur :
Attribut permettant de distinguer les objets situs lextrmit de multiplicit plusieurs dune association Attribut rduisant la multiplicit plusieurs un

Association qualifie : association contenant un ou plusieurs attributs qualificateurs


Btiment
nom:char nbEtages:integer

SeSitueDans 1 *

Salle
numro:integer capacit:integer

Association non qualifie Association qualifie 28

Btiment
nom:char nbEtages:integer

numroDeSalle

SeSitueDans

Salle

1 capacit:integer

Maude Manouvrier - Univ. Paris Dauphine

Modle de classes (16/20) Association qualifie


Qualificateur :
Attribut permettant de distinguer les objets situs lextrmit de multiplicit plusieurs dune association Attribut rduisant la multiplicit plusieurs un

Association qualifie : association contenant un ou plusieurs attributs qualificateurs


Un Btiment numro de Salle permet didentifier dans Association Salle une salle unique SeSitueDans un Btiment donn non nom:char numro:integer * 1 nbEtages:integer qualifie Un numro de Salle est relatif capacit:integer un Btiment Btiment
nom:char nbEtages:integer

numroDeSalle

SeSitueDans

Salle

1 capacit:integer

Association qualifie 28

Maude Manouvrier - Univ. Paris Dauphine

Modle de classes (17/20) Gnralisation et hritage


Gnralisation : relation hirarchique entre une classe (la super-classe) et une ou plusieurs variantes de cette classe (les sous-classes) [BR05] Super-classe (ou classe-mre) oprations et associations communs : attributs,

Sous-classe (ou classe fille) : attributs, oprations et associations spcifiques Hritage des proprits de la super-classe par ses sous-classes
Maude Manouvrier - Univ. Paris Dauphine

29

Modle de classes (18/20) Gnralisation et hritage


Personne
nom:string prnom:string dateDeNaissance:date calculerAge:integer

Etudiant
numCarteEtudiant:integer inscrire(formation:Formation)
Maude Manouvrier - Univ. Paris Dauphine

Enseignant
grade:string

30

Modle de classes (18/20) Gnralisation et hritage


Personne
nom:string prnom:string dateDeNaissance:date calculerAge:integer

Tlphone
1
numro:string * type:string

Etudiant
numCarteEtudiant:integer inscrire(formation:Formation)
Maude Manouvrier - Univ. Paris Dauphine

Enseignant
grade:string

30

Modle de classes (18/20) Gnralisation et hritage


Personne Formation
EstInscritDans 1
nom:string prnom:string dateDeNaissance:date calculerAge:integer

Tlphone
1
numro:string * type:string

Etudiant
numCarteEtudiant:integer inscrire(formation:Formation)
Maude Manouvrier - Univ. Paris Dauphine

Enseignant
grade:string

30

Modle de classes (18/20) Gnralisation et hritage


{Note : Un enseignant peut tre tudiant}

Personne
nom:string prnom:string dateDeNaissance:date calculerAge:integer

Tlphone
1
numro:string * type:string

Formation
EstInscritDans 1

Etudiant
numCarteEtudiant:integer inscrire(formation:Formation)
Maude Manouvrier - Univ. Paris Dauphine

Enseignant
grade:string

30

Modle de classes (19/20) Gnralisation et hritage


Objectifs de la gnralisation [BR05] : Prise en charge du polymorphisme Structuration de la description des objets Possibilit de rutiliser du code

Maude Manouvrier - Univ. Paris Dauphine

31

Modle de classes (20/20) Gnralisation et hritage


Redfinition des proprits :
Transparent
titre:string imprimer

TransparentFixe

TransparentAvecAnimation
imprimer

Maude Manouvrier - Univ. Paris Dauphine

32

Modle de classes (20/20) Gnralisation et hritage


Redfinition des proprits :
Transparent
titre:string imprimer

!
Les signatures des oprations et les types des attributs redfinis dans les sous-classes doivent tre compatibles avec ceux de la super-classe

TransparentFixe

TransparentAvecAnimation
imprimer

Maude Manouvrier - Univ. Paris Dauphine

32

Modle de classes - Concepts avancs


Concepts de classe et dobjet avancs Extrmit dassociation Associations n-aires Agrgation Classes abstraites Hritage multiple Contraintes Donnes drives Packages
Maude Manouvrier - Univ. Paris Dauphine

33

Modle de classes - Concepts avancs (1/12)


numration : type de donnes ayant un ensemble fini de valeurs
GradeEnseignant

Professeur

MatreDeConfrences ATER

Vacataire

Maude Manouvrier - Univ. Paris Dauphine

34

Modle de classes - Concepts avancs (1/12)


numration : type de donnes ayant un ensemble fini de valeurs
GradeEnseignant

Professeur

MatreDeConfrences ATER

Vacataire

Maude Manouvrier - Univ. Paris Dauphine

34

Modle de classes - Concepts avancs (1/12)


numration : type de donnes ayant un ensemble fini de valeurs
GradeEnseignant

Professeur

MatreDeConfrences ATER enumeration GradeEnseignant


professeur matreDeConfrence ater vacataire

Vacataire

Maude Manouvrier - Univ. Paris Dauphine

34

Modle de classes - Concepts avancs (2/12)


Multiplicit des attributs
[1] : une valeur obligatoire [0..1] : une seule valeur optionnelle [*] : zro ou plusieurs valeurs Par dfaut : attribut mono-valu ([1])
Personne
nom:string[1] prnom:string[1] adresse:string[1..*] numDeTlphone:string[*] dateDeNaissance:date[1]

Maude Manouvrier - Univ. Paris Dauphine

35

Modle de classes - Concepts avancs (3/12)


Porte : indication de lapplication dune proprit un objet (par dfaut) ou une classe Attribut statique : attribut dont la porte est la classe
Enseignement Enseignant
nom:string prnom:string

Professe * *

nbHeuresEnseignement:integer dureEnHeures:integer intitul:string nombreHeures:integer

Maude Manouvrier - Univ. Paris Dauphine

36

Modle de classes - Concepts avancs (4/12)


Visibilit : aptitude dune mthode rfrencer une proprit depuis une autre classe
public (+) : proprit accessible par nimporte quelle mthode protected (#) : proprit protge dune classe uniquement visible par les mthodes de la classe et de ses sous-classes private (-) : proprit uniquement visible par les mthodes de la classe o elle a t dfinie package (~) : proprit accessible par les mthodes dfinies dans le mme package Signification pouvant varier en fonction du langage de programmation Possibilit dappliquer la visibilit aux extrmits dassociation
Maude Manouvrier - Univ. Paris Dauphine

37

Modle de classes - Concepts avancs (4/12)


Visibilit : aptitude dune mthode rfrencer une proprit depuis une autre classe
public (+) : proprit accessible par nimporte quelle mthode protected (#) : proprit protge dune classe uniquement visible par les mthodes de la classe et de ses sous-classes private (-) : proprit uniquement visible par les mthodes de la classe o elle a t dfinie package (~) : proprit accessible par les mthodes dfinies dans le mme package Signification pouvant varier en fonction du langage de programmation Possibilit dappliquer la visibilit aux extrmits dassociation
Maude Manouvrier - Univ. Paris Dauphine

37

Modle de classes - Concepts avancs (5/12)


Association n-aire
Enseignant Diagramme de classes
MaudeManouvrier:Enseignant A703:Salle

* * Salle

Enseignement

MNBD:Enseignement

MNUML:Enseignement
Maude Manouvrier - Univ. Paris Dauphine

Diagramme dobjets 38

Modle de classes - Concepts avancs (5/12)


Association n-aire
Enseignant Diagramme de classes
MaudeManouvrier:Enseignant A703:Salle

A viter ! Peut tre dcompose en associations binaires * * Salle


MNBD:Enseignement

Enseignement

MNUML:Enseignement
Maude Manouvrier - Univ. Paris Dauphine

Diagramme dobjets 38

Modle de classes - Concepts avancs (6/12)


Agrgation
Objet constitu

* 0..1 VidoProjecteur
Objet constituant

Salle 1 1 Tableau

* Sige
Objet constituant

Objet constituant

Composition
Domaine 1 1..* Mention 1 * Spcialit

Appartenance des parties constituantes un assemblage et concidence de leur dure de vie


Maude Manouvrier - Univ. Paris Dauphine

39

Modle de classes - Concepts avancs (7/12)


Classe abstraite : classe ne pouvant pas tre instancie en tant que telle
MembreUniversit

Enseignant

tudiant

Administratif

Sous-classes dune classe abstraite : obligatoirement concrtes Possibilit dutiliser {abstract}


Maude Manouvrier - Univ. Paris Dauphine

40

Modle de classes - Concepts avancs (8/12)


Hritage multiple : hritage permettant une classe davoir plusieurs super-classes et dhriter des proprits de tous ses parents
MembreUniversit

Enseignant

tudiant

Administratif

Moniteur
Maude Manouvrier - Univ. Paris Dauphine

41

Modle de classes - Concepts avancs (8/12)


Hritage multiple : hritage permettant une classe davoir plusieurs super-classes et dhriter des proprits de tous ses parents
MembreUniversit

Enseignant
Moniteur hrite des proprits de Enseignant et dEtudiant et une seule fois des proprits de MembreUniversit.
Maude Manouvrier - Univ. Paris Dauphine

tudiant

Administratif

Moniteur 41

Modle de classes - Concepts avancs (8/12)


Hritage multiple : hritage permettant une classe davoir plusieurs super-classes et dhriter des proprits de tous ses parents
MembreUniversit

Enseignant
Moniteur hrite des proprits de Enseignant et dEtudiant et une seule fois des proprits de MembreUniversit.
Maude Manouvrier - Univ. Paris Dauphine

tudiant

Administratif

Moniteur

difficults dimplmentation 41

Modle de classes - Concepts avancs (9/12)


Contrainte : condition boolenne sappliquant aux lments dun modle UML

Maude Manouvrier - Univ. Paris Dauphine

42

Modle de classes - Concepts avancs (9/12)


Contrainte : condition boolenne sappliquant aux lments dun modle UML
Contrainte sur les objets : Enseignement
intitul:string nombreHeures:real

{nombreHeures 1,5}

Maude Manouvrier - Univ. Paris Dauphine

42

Modle de classes - Concepts avancs (9/12)


Contrainte : condition boolenne sappliquant aux lments dun modle UML
Contrainte sur les objets : Enseignement
intitul:string nombreHeures:real

Contrainte sur les associations : EstMembreDe 1..* 0..1 {subset} Dirige

Enseignant
1

Laboratoire
0..1

{nombreHeures 1,5}

Maude Manouvrier - Univ. Paris Dauphine

42

Modle de classes - Concepts avancs (9/12)


Contrainte : condition boolenne sappliquant aux lments dun modle UML
Contrainte sur les objets : Enseignement
intitul:string nombreHeures:real

Contrainte sur les associations : EstMembreDe 1..* 0..1 {subset} Dirige g

Enseignant
1

Laboratoire
0..1

{nombreHeures 1,5}

Contrainte sur les ensembles de gnralisation :

MembreUniversit
{overlapping, incomplete}

Enseignant
Maude Manouvrier - Univ. Paris Dauphine

tudiant

Administratif 42

Modle de classes - Concepts avancs (10/12)


lment driv : donne dfinie en terme dautres lments
tudiant
nom prnom dateDeNaissance

1..*

Enseignement
intitul nombreHeures

valuation
noteCC notePartiel noteExam /noteFinale {noteFinale=noteCC*0,3+notePartiel*0,3+noteExam*0,4}

Maude Manouvrier - Univ. Paris Dauphine

43

Modle de classes - Concepts avancs (10/12)


lment driv : donne dfinie en terme dautres lments
tudiant
nom prnom dateDeNaissance

1..*

Enseignement
intitul nombreHeures

valuation
noteCC notePartiel noteExam /noteFinale {noteFinale=noteCC*0,3+notePartiel*0,3+noteExam*0,4}

Pour des raisons de complexit dimplmentation, utiliser avec parcimonie !


Maude Manouvrier - Univ. Paris Dauphine

43

Modle de classes - Concepts avancs (11/12)


Package : groupe dlments partageant un thme commun
PlanningCentral CalendrierPdagogique Btiment
nom:char nbEtages:integer

numroDeSalle

SeSitueDans

Salle

1 capacit:integer

Rservation
Maude Manouvrier - Univ. Paris Dauphine

44

Modle de classes - Concepts avancs (12/12)


Package [BR05] :
Utile pour organiser les grands modles Ne dfinir une classe (i.e. reprsenter ses proprits) que dans un seul package Rfrencer une classe dun autre package en nutilisant que le nom de la classe

Maude Manouvrier - Univ. Paris Dauphine

45

Modle dtats (1/15)


Description des aspects dun systme relatifs la dure et au squenage des oprations Compos dautant diagrammes dtats que de classes dotes dun comportement temporel significatif pour lapplication Vocabulaire :
vnements tats Transitions et conditions de franchissement 46

Maude Manouvrier - Univ. Paris Dauphine

Modle dtats (2/15) - vnement


Occurrence ou fait ayant lieu un moment donn
Ex. Rservation annule

Modification intervenue dans lenvironnement Vrification de conditions derreur Vocabulaire :


vnement concurrents : vnements sans relation de causalit, sans effet lun sur lautre, dont lexcution peut se chevaucher dans le temps vnement de signal vnement de changement vnement temporel

Ex. nombre demprunts > 6

Maude Manouvrier - Univ. Paris Dauphine

47

Modle dtats (3/15) vnement de signal


Signal : transmission dinformation unidirectionnelle dun objet un autre explicite et

Regroupement des signaux dans des classes de signaux vnement de signal : vnement denvoi ou de rception dun signal signal DemandeDeRservation signal RetourLivre
numroLivre dateRetour numroSalle dateResa heureDbut heureFin attribution Instance de la classe de signaux RetourLivre

Le livre 055.7 RAM est retourn le 15/09/2005


Maude Manouvrier - Univ. Paris Dauphine

48

Modle dtats (4/15) vnement


vnement de changement : vnement engendr par la satisfaction dune expression boolenne Passage de lexpression de faux vrai dclenchement de lvnement de changement
when (nombre dtudiants > capacit de la salle) when (nombre dtudiants < 10) when (nombre dabsences en TD > 3)

vnement temporel : vnement engendr par loccurrence dun temps absolu ou lcoulement dune dure
when (date < 18/12/2005) after (15 minutes)
Maude Manouvrier - Univ. Paris Dauphine

49

Modle dtats (5/15) - tat


Abstraction de valeurs et de liens dun objet Spcification de la rponse dun objet des vnements entrants tat vs vnement : vnement : reprsentation dun moment prcis dans le temps tat : intervalle sparant la rception de deux vnements par un objet
LivreEmprunt
Maude Manouvrier - Univ. Paris Dauphine

50

Modle dtats (6/15) - tat


Caractrisation dun tat
tat : LibreEmprunt Description : Le livre est emprunt par lemprunteur didentifiant numroEmprunteur, la date dateEmprunt Squence dvnements qui produit ltat : emprunt(numroEmprunteur,dateEmprunt) Condition qui caractrise ltat : Emprunteur.nbreEmprunt < NbreMaxEmprunt et Emprunteur non pnalis vnements accepts dans ltat : vnement retourLivre action terminerEmprunt tat suivant LivreDisponible

Maude Manouvrier - Univ. Paris Dauphine

Exemple inspir de http://www-inf.int-evry.fr/COURS/IO21/COURS/CoursENSTBr.pdf

51

Modle dtats (7/15) Transition et conditions de franchissement


Transition : passage instantan dun tat un autre Condition de franchissement (guard condition) : expression boolenne devant tre vraie pour le franchissement de la transition
LivreDisponible
[ NbreEmprunt < NbreMaxEmprunt ]

LivreEmprunt

Maude Manouvrier - Univ. Paris Dauphine

52

Modle dtats (7/15) Transition et conditions de franchissement


Transition : passage instantan dun tat un autre Condition de franchissement (guard condition) : expression boolenne devant tre vraie pour le franchissement de la transition
LivreDisponible
[ NbreEmprunt < NbreMaxEmprunt ]

LivreEmprunt

Attention : Condition de franchissement vnement Condition de franchissement value une seule fois vnement de changement valu en permanence
Maude Manouvrier - Univ. Paris Dauphine

52

Modle dtats (8/15) - Diagramme dtats


Graphe orient dont les sommets sont les tats et les arcs les transitions entre les tats Spcification des successions dtats provoqus par des successions dvnements Associ une classe En boucle infinie ou irrversible (one-shot)
Nom du diagramme tat1
do / activit event / effet event (attributs) [condition de franchissement] / effet

tat2

Maude Manouvrier - Univ. Paris Dauphine

53

Modle dtats (9/15) - Diagramme dtats


EmpruntDeLivre achat

LivreDisponible miseAuPilon livreDemand emprunt miseEnRserve

LivreEmprunt

retourLivre

LivreEnRserve

Entre dans ltat initial la cration de lobjet Destruction de lobjet ltat final
Maude Manouvrier - Univ. Paris Dauphine Exemple inspir de http://www-inf.int-evry.fr/COURS/IO21/COURS/CoursENSTBr.pdf

54

Modle dtats (10/15) - Diagramme dtats


Emprunteur
demandeDeQuitus
[nbEmprunt=0]

AyantPrisQuitus

Dbut

inscriptionAutorise finPnalisation
[nbEmprunt=0]

Inscrit
emprunt

[nbreEmprunt<nbreMaxEmprunt]

retourLivre
[dateActuelle dateRetour et nbreEmprunt=1]

finPnalisation [nbEmprunt>1] retourLivre


[dateActuelle > dateRetour]

emprunt

Pnalis

Empruntant

[nbreEmprunt< nbreMaxEmprunt et nbEmprunt>1 ]

Exclus

exclusion [Penalit>MaxPnalit]

Maude Manouvrier - Univ. Paris Dauphine

Exemple inspir de http://www-inf.int-evry.fr/COURS/IO21/COURS/CoursENSTBr.pdf

55

Modle dtats (11/15) Effets et activits


Effet : Rfrence un comportement excut en rponse un vnement not par / suivi du nom de lactivit Activit : Comportement rel invoqu par un nombre quelconque deffets Effectue suite une transition, lentre ou la sortie dun tat, ou suite un autre vnement au sein dun tat Pouvant reprsenter des oprations de contrle internes (Ex. affectation de valeur un attribut ou gnration dun autre vnement) Sans contrepartie dans la monde rel mais pour structurer le flux de contrle dans une implmentation Inscrit
emprunt / nbreEmprunt:= nbreEmprunt + 1 retourLivre / nbreEmprunt:= nbreEmprunt - 1

Empruntant 56

Maude Manouvrier - Univ. Paris Dauphine

Modle dtats (12/15) Activits do - Activits dentre et de sortie


Activit associe au mot-cl do : Activit continue ou squentielle excute sur une longue dure Associe uniquement un tat (et non une transition) Pouvant tre excute sur tout ou partie de la dure pendant laquelle un objet est dans ltat Pouvant tre interrompue par un vnement reu pendant son excution
LivreEnRserve do / clignoter livre non disponible

Activit dentre ou de sortie : excute lentre (entry /) ou la sortie dun tat (exit /) LivreEmprunt
entry / enregistrer date de retour
Maude Manouvrier - Univ. Paris Dauphine

57

Modle dtats (13/15) Activits


Ordre dexcution des activits pour un tat : 1. Activits de la transition entrante 2. Activits dentre 3. Activits do 4. Activits de sortie 5. Activits de la transition sortante Si vnement provoquant des transitions hors de ltat Interruption des activits do Mais excution de lactivit de sortie Auto-transition excution des activits dentre et de sortie
Maude Manouvrier - Univ. Paris Dauphine

58

Modle dtats (14/15) Transitions dachvement et envoi de signaux


Transition dachvement : Transition automatique, sans vnement associ, excute la fin de lexcution des activits dun tat Condition de franchissement teste une seule fois. Si vrification daucune condition de franchissement tat toujours actif ou objet bloqu au sein de ltat Pour prvoir toutes les conditions possibles : else Envoi de signaux : Interaction du systme dobjets par change de signaux send cible.S(attributs) Condition de concurrence critique (race condition) : tat final affect par lordre dexcution des signaux reus
Maude Manouvrier - Univ. Paris Dauphine

59

Modle dtats (14/15) Transitions dachvement et envoi de signaux


Transition dachvement : Transition automatique, sans vnement associ, excute la fin de lexcution des activits dun tat Condition de franchissement teste une seule fois.

Si vrification daucune condition de franchissement tat toujours actif ou objet bloqu au sein de ltat Pour prvoir toutes les conditions possibles : else Envoi de signaux : Interaction du systme dobjets par change de signaux send cible.S(attributs) Condition de concurrence critique (race condition) : tat final affect par lordre dexcution des signaux reus

Maude Manouvrier - Univ. Paris Dauphine

59

Modle dtats (15/15)


Conseils pratiques [BR05] :
Ne construire de diagrammes dtats que pour les classes ayant un comportement temporel significatif, i.e. les classes rpondant diffremment diffrents vnements ou ayant plus dun tat Pas de ncessit de construire un diagramme dtats pour toutes les classes Bien concevoir les conditions de franchissement pour ne pas bloquer un objet dans un tat Faire attention aux conditions de concurrence quand un tat peut recevoir des signaux de plus dun objet 60

Maude Manouvrier - Univ. Paris Dauphine

Modle dtats - Concepts avancs


Diagrammes dtats imbriqus tats imbriqus Concurrence Relations entre modle de classes et modle dtats

Maude Manouvrier - Univ. Paris Dauphine

61

Modle dtats - Concepts avancs (1/7)


Diagrammes dtats imbriqus Possibilit de dtailler un tat par un sous-automate
LivreDisponible:RangerLivre

RangerLivre do / mettre jour serveur Web do / mettre livre en rayon

Maude Manouvrier - Univ. Paris Dauphine

62

Modle dtats - Concepts avancs (1/7)


Diagrammes dtats imbriqus Possibilit de dtailler un tat par un sous-automate
Nom du sous-automate

LivreDisponible:RangerLivre
Nom de ltat

RangerLivre do / mettre jour serveur Web do / mettre livre en rayon

Maude Manouvrier - Univ. Paris Dauphine

62

Modle dtats - Concepts avancs (1/7)


Diagrammes dtats imbriqus Possibilit de dtailler un tat par un sous-automate
Nom du sous-automate

LivreDisponible:RangerLivre
Nom de ltat

RangerLivre
Diagramme dtats de plus bas niveau dtaillant ltat LivreDisponible

do / mettre jour serveur Web do / mettre livre en rayon

Maude Manouvrier - Univ. Paris Dauphine

62

Modle dtats - Concepts avancs (1/7)


Diagrammes dtats imbriqus Possibilit de dtailler un tat par un sous-automate
Nom du sous-automate

LivreDisponible:RangerLivre
Nom de ltat

RangerLivre
Diagramme dtats de plus bas niveau dtaillant ltat LivreDisponible

do / mettre jour serveur Web do / mettre livre en rayon

A utiliser de prfrence pour des modles de plus de 10 15 tats [BR05]


Maude Manouvrier - Univ. Paris Dauphine

62

Modle dtats - Concepts avancs (2/7)


Diagrammes dtats imbriqus Possibilit dtats imbriqus
LivreDisponible livreDemand LivreEnRserve
[dateActuelle>dateDernier Emprunt+180 jours]

LivreAuDpot
[dateActuelle>dateDernierEmprunt+365 jours]

LivreAu1erSousSol

Maude Manouvrier - Univ. Paris Dauphine

63

Modle dtats - Concepts avancs (2/7)


Diagrammes dtats imbriqus Possibilit dtats imbriqus
LivreDisponible livreDemand LivreEnRserve
[dateActuelle>dateDernier Emprunt+180 jours]

LivreAuDpot

tat imbriqu

[dateActuelle>dateDernierEmprunt+365 jours]

LivreAu1erSousSol

tat imbriqu

Maude Manouvrier - Univ. Paris Dauphine

63

Modle dtats - Concepts avancs (2/7)


Diagrammes dtats imbriqus Possibilit dtats imbriqus
LivreDisponible livreDemand LivreEnRserve tat composite
[dateActuelle>dateDernier Emprunt+180 jours]

LivreAuDpot

tat imbriqu

[dateActuelle>dateDernierEmprunt+365 jours]

LivreAu1erSousSol

tat imbriqu

Maude Manouvrier - Univ. Paris Dauphine

63

Modle dtats - Concepts avancs (2/7)


Diagrammes dtats imbriqus Possibilit dtats imbriqus
Chacun des tats imbriqus reoit les transitions sortantes de son tat composite [BR05] LivreEnRserve tat composite
[dateActuelle>dateDernier Emprunt+180 jours]

LivreDisponible livreDemand

LivreAuDpot

tat imbriqu

[dateActuelle>dateDernierEmprunt+365 jours]

LivreAu1erSousSol

tat imbriqu

Maude Manouvrier - Univ. Paris Dauphine

63

Modle dtats - Concepts avancs (2/7)


Diagrammes dtats imbriqus Possibilit dtats imbriqus
Chacun des tats imbriqus reoit les transitions sortantes de son tat composite [BR05] LivreEnRserve tat composite
[dateActuelle>dateDernier Emprunt+180 jours]

LivreDisponible livreDemand

LivreAuDpot

tat imbriqu

[dateActuelle>dateDernierEmprunt+365 jours]

LivreAu1erSousSol

tat imbriqu

A utiliser quand une mme transition sapplique plusieurs tats [BR05]


Maude Manouvrier - Univ. Paris Dauphine

63

Modle dtats - Concepts avancs (3/7)


Concurrence :
Concurrence dagrgation Diagramme dtat dun assemblage = collection des diagrammes dtats de ses sous-parties Concurrence lintrieur dun objet Possibilit de partitionner un objet en sous-ensembles dattributs et de liens, chacun des sous-ensembles ayant un diagramme dtats
LivreDisponible LivreDrang rangement LivreEnRayon

LivreRetourn
Maude Manouvrier - Univ. Paris Dauphine

rangement

LivreEnRayon

64

Modle dtats - Concepts avancs (4/7)


Synchronisation du contrle des activits concurrentes Possibilit pour un mme objet dexcuter des activits concurrentes
Pas de synchronisation des activits Mais division du contrle des activits Et synchronisation du contrle
RangerLivre do / mettre jour serveur Web do / mettre livre en rayon

Maude Manouvrier - Univ. Paris Dauphine

65

Modle dtats - Concepts avancs (4/7)


Synchronisation du contrle des activits concurrentes Possibilit pour un mme objet dexcuter des activits concurrentes
Pas de synchronisation des activits Mais division du contrle des activits Et synchronisation du contrle
RangerLivre do / mettre jour serveur Web do / mettre livre en rayon Division du contrle en deux parties concurrentes (fork)
Maude Manouvrier - Univ. Paris Dauphine

65

Modle dtats - Concepts avancs (5/7)


Relations modle de classes modle dtats
Modle de classes : Description des objets, valeurs et liens pouvant exister dans un systme Modlisation des diffrences intrinsques entre objets Modle dtats : Spcification des squences possibles de modification des objets du modle de classes Modlisation des diffrences temporaires entre objets Diagramme dtats = description de tout ou partie du comportement des objets dune classe donne tat = valeurs et liens dtenus par un objet
Maude Manouvrier - Univ. Paris Dauphine

66

Modle dtats - Concepts avancs (6/7)


Relations modle de classes modle dtats (suite)
Agrgation dobjets Des tats indpendants propres chaque partie dune agrgation Ltat de lassemblage = combinaison des tats de toutes ses parties Hirarchie de classes dobjets Hritage par les sous-classes des modle dtats de leur classe anctre Possibilit pour les sous-classes davoir leur propre diagramme dtats, traitant de prfrence uniquement des attributs propres aux sous-classes
Maude Manouvrier - Univ. Paris Dauphine

67

Modle dtats - Concepts avancs (7/7)


Relations modle de classes modle dtats (suite) Possibilit de dfinir les signaux travers diffrentes classes - parallles aux classes dobjets Possibilit dimplmenter les transitions comme des oprations sur des objets (avec comme nom dopration : le nom du signal correspondant) Pouvoir dexpression plus puissant des signaux car dpendance entre la rponse un vnement et ltat de lobjet recevant lvnement

Maude Manouvrier - Univ. Paris Dauphine

68

Modle dtats - Concepts avancs (7/7)


Relations modle de classes modle dtats (suite) Possibilit de dfinir les signaux travers diffrentes classes - parallles aux classes dobjets Possibilit dimplmenter les transitions comme des oprations sur des objets (avec comme nom dopration : le nom du signal correspondant)

Pouvoir dexpression plus puissant des signaux car dpendance entre la rponse un vnement et ltat de lobjet recevant lvnement

Maude Manouvrier - Univ. Paris Dauphine

68

Modle dinteractions (1/17)


Modle de classes = reprsentation des objets et de leurs relations Modle dtats = description du cycle de vie des objets Modle dinteractions = expression de la faon dont les objets interagissent pour produire des rsultats utiles lapplication [BR05] Plusieurs niveaux dabstraction du modle dinteractions : Cas dutilisation : description de linteraction du systme avec les acteurs extrieurs Diagrammes de squence : reprsentation des messages changs entre ensemble dobjets au fil du temps Diagramme dactivits : reprsentation du flux de contrle entre les tapes de traitement
Maude Manouvrier - Univ. Paris Dauphine

69

Modle dinteractions (2/17) Cas dutilisation


Acteur = Utilisateur externe direct du systme = Objet ou ensemble dobjets communiquant directement avec le systme sans en faire partie = Tout ce qui interagit directement avec le systme Ex. Un employ dune bibliothque Cas dutilisation Identification des fonctionnalits pouvant tre fournies par un systme en interagissant avec les acteurs Ex. Lemploy enregistre un emprunt Organisation des fonctionnalits selon le point de vue utilisateur
Maude Manouvrier - Univ. Paris Dauphine

70

Modle dinteractions (3/17) Cas dutilisation


Caractrisation dun cas dutilisation
Cas dutilisation :Enregistrer un emprunt de livre Rsum : Un emprunt dun livre pour un membre de la bibliothque est enregistr Acteur : Un employ de la bibliothque Pr-conditions : Lemprunteur doit tre inscrit la bibliothque et ne pas avoir atteint le quota demprunts ou tre exclu ou pnalis et le livre doit pouvoir tre emprunt Description : Le systme de gestion de la bibliothque est dans ltat Enregistrement dun emprunt . Lemploy lit la carte de membre de lemprunteur. Aprs saisie, le systme de prts indique sil reconnat lemprunteur et si lemprunteur est autoris emprunter. Lemploy lit le code barre du livre emprunter. Si le livre peut tre emprunt, (1) lemprunt est enregistr pour lemprunteur et le livre, (2) la date de retour du livre est enregistre et affiche, (3) le nombre de livres pouvant tre encore emprunts par lemprunteur est mis jour et affich. Exceptions : Annulation : Si lemprunteur ne peut pas emprunter ou si le livre ne peut pas tre emprunt, le systme de prt revient lcran Enregistrement dun emprunt . Post-conditions : La date de retour du livre emprunt et le nombre de livres pouvant tre encore emprunts par lemprunteur sont affichs.
Maude Manouvrier - Univ. Paris Dauphine

71

Modle dinteractions (4/17) Cas dutilisation


Diagramme dun cas dutilisation dun systme de gestion dune bibliothque
Gestionnaire de bibliothque Voir la liste des livres de la bibliothque Chercher un livre Insrer un livre Enregistrer un emprunt Enregistrer un retour de livre Enregistrer un placement en rserve
Maude Manouvrier - Univ. Paris Dauphine

Membre

Employ 72

Exemple inspir de http://www-inf.int-evry.fr/COURS/IO21/COURS/CoursENSTBr.pdf

Modle dinteractions (5/17)


Conseils pratiques de [BR05] :
Fixer prcisment les limites du systmes Limiter un acteur un objectif unique et cohrent quitte capturer les objectifs dun mme objet rel travers plusieurs acteurs Ne pas dfinir trop troitement les cas dutilisation Lier les acteurs et les cas dutilisation Ne pas chercher trop formaliser Structurer les cas dutilisation des grands systmes
Maude Manouvrier - Univ. Paris Dauphine

73

Modle dinteractions (6/17) Modles de squences


Prcision des thmes fonctionnels introduits par les cas dutilisation Ajout de dtails et prcision de la description informelle des cas dutilisation Deux modles : Scnarios : squence dvnements ayant lieu lors du fonctionnement du systme (ex. excution dun cas dutilisation) - dcrite sous forme textuelle Diagrammes de squence : Reprsentation des participants une interaction et de leurs messages changs
Maude Manouvrier - Univ. Paris Dauphine

74

Modle dinteractions (7/17) Scnario


Squence dvnements se produisant lors dune excution particulire dun systme Reprsentation de lhistorique de lexcution dun systme rel existant ou dun prototype dexcution dun systme envisag De porte varie : Comprenant tous les vnements du systme Ou nincluant que les vnements affectant certains objets ou gnrs par certains objets tape dun scnario = Commandes logiques Simples clics de souris
Maude Manouvrier - Univ. Paris Dauphine

75

Modle dinteractions (8/17) Scnario


Scnario dune session dun systme de gestion de bibliothque
Maude Manouvrier se connecte au module de Recherche dun livre Le systme affiche le formulaire de saisie de recherche dun livre Maude Manouvrier saisit le terme UML dans le champ Mot-cl Le systme recherche, parmi les livres, ceux dont la liste de mots-cls correspondante contient le mot UML Le systme retourne les titres des livres rpondant la requte Maude Manouvrier clique sur louvrage intitul Modlisation et conception orientes objet avec UML 2 Le systme affiche les informations correspondant ce livre Maude Manouvrier se dconnecte
Maude Manouvrier - Univ. Paris Dauphine

76

Modle dinteractions (9/17) Diagrammes de squence


Reprsentation des participants une interactions et de leurs messages changs
:Membre :SystmeDeGestionDeBibliothque
Affichage du formulaire de saisie Saisie des paramtres de la recherche Affichage des titres des livres rsultat Slection dun titre de livre {Recherche des proprits du livre} Affichage des informations du livre Dconnexion
Maude Manouvrier - Univ. Paris Dauphine

Connexion au module Recherche dun livre

{Recherche des livres rpondant aux critres de recherche}

77

Modle dinteractions (10/17) Diagrammes de squence


Ncessit davoir plusieurs diagrammes de squence pour dcrire le comportement de chaque cas dutilisation Reprsentation dune squence de comportement par diagramme de squence Ncessit de tracer un diagramme de squence pour chaque condition dexception contenue dans un cas dutilisation Impossibilit de reprsenter tous les scnarios Mais ncessit de dtailler tous les cas dutilisation et tous les types de comportement possibles avec des diagrammes de squence
Maude Manouvrier - Univ. Paris Dauphine

78

Modle dinteractions (11/17)


Conseils pratiques de [BR05] :
Raliser au moins un scnario par cas dutilisation Synthtiser les scnarios par des diagrammes de squence Subdiviser les interactions complexes Raliser un diagramme de squence par condition derreur

Maude Manouvrier - Univ. Paris Dauphine

79

Modle dinteractions (12/17) Modle dactivits


Diagramme dactivits :
Reprsentation des tapes dun processus complexe (ex. algorithme ou workflow) et des contraintes de squencement Expression du flux de contrle, comme un diagramme de squences, mais avec une attention particulire sur les oprations plutt que les objets Suite dtapes correspondant aux activits dcrites dans le modle dtats

Maude Manouvrier - Univ. Paris Dauphine

80

Modle dinteractions (13/17) - Modle dactivits


lire carte membre [membre autoris emprunter] lire code barre livre
on n e r [liv ris o t au
[membre exclu ou pnalis ou dont nbreEmprunt > maxNbreEmprunt]

afficher chec

nt] u r p em l

[livre autoris lemprunt]

enregistrer Emprunt

modifier NbreEmprunt

afficher date de retour et nombre livres pouvant tre emprunts


Maude Manouvrier - Univ. Paris Dauphine

81

Modle dinteractions (13/17) - Modle dactivits


lire carte membre [membre autoris emprunter] lire code barre livre
on n e r [liv ris o t au
[membre exclu ou pnalis ou dont nbreEmprunt > maxNbreEmprunt]

afficher chec

nt] u r p em l

activits

[livre autoris lemprunt]

enregistrer Emprunt

modifier NbreEmprunt

afficher date de retour et nombre livres pouvant tre emprunts


Maude Manouvrier - Univ. Paris Dauphine

81

Modle dinteractions (13/17) - Modle dactivits


lire carte membre [membre autoris emprunter] lire code barre livre
on n e r [liv ris o t au
[membre exclu ou pnalis ou dont nbreEmprunt > maxNbreEmprunt]

afficher chec

nt] u r p em l

activits

[livre autoris lemprunt]

Point de dcision ou Branchement conditionnel

enregistrer Emprunt

modifier NbreEmprunt

afficher date de retour et nombre livres pouvant tre emprunts


Maude Manouvrier - Univ. Paris Dauphine

81

Modle dinteractions (13/17) - Modle dactivits


lire carte membre [membre autoris emprunter] lire code barre livre
on n e r [liv ris o t au
[membre exclu ou pnalis ou dont nbreEmprunt > maxNbreEmprunt]

afficher chec

nt] u r p em l

activits

[livre autoris lemprunt]

Point de dcision ou Branchement conditionnel Scission ou fusion de fils dexcution (thread)

enregistrer Emprunt

modifier NbreEmprunt

afficher date de retour et nombre livres pouvant tre emprunts


Maude Manouvrier - Univ. Paris Dauphine

81

Modle dinteractions (14/17) Modle dactivits


Diagramme dactivits : Possibilit de dcomposer une activit en activits plus fines Ncessit davoir un mme niveau de dtail pour toutes les activits dun mme diagramme Possibilit dutiliser la condition [else] Aucune garantie possible sur le choix de lactivit excute en cas de satisfaction de plusieurs conditions Possibilit davoir des activits concurrentes 82

Maude Manouvrier - Univ. Paris Dauphine

Modle dinteractions (14/17) Modle dactivits


Diagramme dactivits : Possibilit de dcomposer une activit en activits plus fines

Ncessit davoir un mme niveau de dtail pour toutes les activits dun mme diagramme Possibilit dutiliser la condition [else] Aucune garantie possible sur le choix de lactivit excute en cas de satisfaction de plusieurs conditions Possibilit davoir des activits concurrentes 82

Maude Manouvrier - Univ. Paris Dauphine

Modle dinteractions (14/17) Modle dactivits


Diagramme dactivits : Possibilit de dcomposer une activit en activits plus fines

! !

Ncessit davoir un mme niveau de dtail pour toutes les activits dun mme diagramme Possibilit dutiliser la condition [else] Aucune garantie possible sur le choix de lactivit excute en cas de satisfaction de plusieurs conditions Possibilit davoir des activits concurrentes 82

Maude Manouvrier - Univ. Paris Dauphine

Modle dinteractions (15/17) Modle dactivits


Diagramme dactivits excutables Possibilit de placer un jeton dactivit sur une activit pour indiquer son excution Possibilit davoir plusieurs jetons en cas de concurrence Scission de contrle augmentation du nombre de jetons

Maude Manouvrier - Univ. Paris Dauphine

83

Modle dinteractions (16/17)


Conseils pratiques de [BR05] :
Ne pas se servir des diagramme dactivits comme dorganigrammes pour dvelopper des logiciels quilibrer les diagrammes dactivits Concevoir avec soin les branchements conditionnels et les conditions Utiliser avec prudence les activits concurrentes Excuter les diagrammes dactivits pour comprendre le droulement dun processus

Maude Manouvrier - Univ. Paris Dauphine

84

Modle dinteractions (17/17)


Cas dutilisation : partition dun systme en fonctionnalits discrtes et significatives pour les acteurs (extrieurs au systme) Possibilit de dtailler les cas dutilisation par des scnarios et des diagrammes de squence Diagramme de squence : reprsentation claire des objets participant une interaction et des messages mis ou reus par ces objets Diagramme dactivits : description des dtails dun traitement
Maude Manouvrier - Univ. Paris Dauphine

85

Modle dinteractions Concepts avancs


Relations entre cas dutilisation Modles de squence procdurale Notation spciales des modles dactivits

Maude Manouvrier - Univ. Paris Dauphine

86

Modle dinteraction Concepts avancs (1/10)


Relation include
Insertion dun cas dutilisation dans la squence de comportements dun autre cas dutilisation Mise en commun de comportements communs plusieurs cas dutilisation Cas dutilisation inclus : Sous-routine Unit de comportement significative pour les acteurs Possibilit dutiliser les cas dutilisation inclus isolment

Maude Manouvrier - Univ. Paris Dauphine

87

Modle dinteraction Concepts avancs (2/10)


Relation include
Insrer un livre Enregistrer un emprunt
include include

Identifier lemploy

Enregistrer un retour de livre

include include

Enregistrer un placement en rserve

Maude Manouvrier - Univ. Paris Dauphine

88

Modle dinteraction Concepts avancs (3/10)


Relation extend
Ajout dun comportement incrmental un cas dutilisation Extension possible dun cas dutilisation de base Association dune condition la relation extend
extend

Chercher un livre

Rserver un livre

Enregistrer un emprunt

extend

Vrifier les rservations

Maude Manouvrier - Univ. Paris Dauphine

89

Modle dinteraction Concepts avancs (4/10)


Gnralisation des cas dutilisation
Reprsentation des variantes dun cas dutilisation Cas dutilisation parent = reprsentation dune squence de comportements gnrale Cas dutilisation enfant = insertion dtapes supplmentaires ou affinage de certaines tapes du cas dutilisation parent
Chercher un livre

Rechercher partir dun nom dauteur

Rechercher partir dun mot-cl

Rechercher partir dun identifiant

Maude Manouvrier - Univ. Paris Dauphine

90

Modle dinteraction Concepts avancs (4/10)


Gnralisation des cas dutilisation
Reprsentation des variantes dun cas dutilisation Cas dutilisation parent = reprsentation dune squence de comportements gnrale Cas dutilisation enfant = insertion dtapes supplmentaires ou affinage de certaines tapes du cas dutilisation parent
Chercher un livre

Rechercher partir dun nom dauteur

Rechercher partir dun mot-cl

Rechercher partir dun identifiant

Les cas dutilisation enfant ajoutent des tapes de comportement devant apparatre la position approprie dans la squence de comportement du parent

Maude Manouvrier - Univ. Paris Dauphine

90

Modle dinteraction Concepts avancs (5/10)


Conseils pratiques de [BR05] :
Utiliser la gnralisation de cas dutilisation pour reprsenter un cas dutilisation plusieurs variantes mais pas pour partager un fragment de comportement Utiliser la relation include pour partager un fragment de comportement correspondant une activit significative Utiliser la relation extend pour dfinir un cas dutilisation ayant des caractristiques optionnelles

Maude Manouvrier - Univ. Paris Dauphine

91

Modle dinteraction Concepts avancs (6/10)


Diagramme de squence avec objets passifs
Notation ddie permettant dillustrer les appels de procdures Dclenchement dun comportement dun objet passif activation de lobjet passif
:SystmeDeGestionDeBibliothque :BaseDeLivres

rechercherLivre (listeParamtresDeRecherche) livre

Maude Manouvrier - Univ. Paris Dauphine

92

Modle dinteraction Concepts avancs (6/10)


Diagramme de squence avec objets passifs
Notation ddie permettant dillustrer les appels de procdures Dclenchement dun comportement dun objet passif activation de lobjet passif
:SystmeDeGestionDeBibliothque :BaseDeLivres
Priode dactivation

rechercherLivre (listeParamtresDeRecherche) livre

Maude Manouvrier - Univ. Paris Dauphine

92

Modle dinteraction Concepts avancs (7/10)


Diagramme de squence avec objets temporaires
:SystmeDeGestionDeBibliothque
insrerLivre () crerLivre()

:BaseDeLivres :Livre

saisieDonnesDuLivre () donnes

{traiter donnes}
insrerNuplet(arg)

Maude Manouvrier - Univ. Paris Dauphine

93

Modle dinteraction Concepts avancs (7/10)


Diagramme de squence avec objets temporaires
:SystmeDeGestionDeBibliothque
insrerLivre () crerLivre()

:BaseDeLivres :Livre

saisieDonnesDuLivre () donnes

{traiter donnes}
insrerNuplet(arg)

Fin de vie de lobjet

Maude Manouvrier - Univ. Paris Dauphine

93

Modle dinteraction Concepts avancs (7/10)


Diagramme de squence avec objets temporaires
:SystmeDeGestionDeBibliothque
insrerLivre () crerLivre()

:BaseDeLivres :Livre

saisieDonnesDuLivre () donnes

{traiter donnes}
insrerNuplet(arg)

Fin de vie de lobjet

Ne reprsenter les dtails dimplmentations que pour les diagrammes difficiles ou particulirement importants [BR05]

Maude Manouvrier - Univ. Paris Dauphine

93

Modle dinteraction Concepts avancs (8/10)


mission et rception diagrammes dactivits de signaux dans les

saisir commande de livre

demander validation

attendre rponse

systme de comptabilit

recevoir confirmation

Maude Manouvrier - Univ. Paris Dauphine

envoyer commande

94

Modle dinteraction Concepts avancs (8/10)


mission et rception diagrammes dactivits de signaux dans les

saisir commande de livre

mission de signal

demander validation

attendre rponse

systme de comptabilit

recevoir confirmation

Maude Manouvrier - Univ. Paris Dauphine

envoyer commande

94

Modle dinteraction Concepts avancs (8/10)


mission et rception diagrammes dactivits de signaux dans les

saisir commande de livre

mission de signal

demander validation

attendre rponse

systme de comptabilit

rception de signal

recevoir confirmation

Maude Manouvrier - Univ. Paris Dauphine

envoyer commande

94

Modle dinteraction Concepts avancs (9/10)


Couloir dactivits : rpartition des activits aux entits organisationnelles
Personnel des commandes
insrer livre dans la base

Personnel des prts


imprimer tiquette

Personnel des rayons

coller tiquette

ranger livre en rayon

Maude Manouvrier - Univ. Paris Dauphine

95

Modle dinteraction Concepts avancs (10/10)


Flux dobjets : visualisation des relations entre une opration et les objets apparaissant en arguments ou en rsultat de lopration
acheter livre

:Livre [disponible]

enregistrer emprunt

:Livre [enRserve]

mettre en rserve

:Livre [emprunt]

:Livre [disponible]
Maude Manouvrier - Univ. Paris Dauphine

enregistrer retour livre

96

Rsum (1/7)
Trois points de vue diffrents mais apparents :
Modle de classes : description des objets dun systme et de leurs relations Modle dtats : description du cycle de vie des objets Modle dinteractions : description de la faon dont les objets interagissent

Maude Manouvrier - Univ. Paris Dauphine

97

Rsum (2/7)
Modle de classes
Description de la structure statique des objets : identit, relations avec les autres objets, attributs et oprations Cadre dinsertion pour les modles dtats et dinteractions Concepts importants :
Classe : ensemble dobjets similaires Association : ensemble de liens similaires entre objets Gnralisation : structuration de la description des objets en les organisant en fonction de leurs diffrences et de leurs similarits
Maude Manouvrier - Univ. Paris Dauphine

98

Rsum (3/7)
Modle dtats
Description des aspects temporels dun objet vnement : Marque dun changement Stimuli externe tat : Dfinition du contexte dun vnement Valeurs dun objet Diagramme dtats : Description du comportement gnrique des objets dune classe Reprsentation des squences dtats et dvnements pour une classe dobjets donne
Maude Manouvrier - Univ. Paris Dauphine

99

Rsum (4/7)
Modle dinteractions
Description de la faon dont les objets collaborent pour obtenir des rsultats Complment du modle dtats Diffrents niveaux dabstraction pour modliser les interactions : Cas dutilisation : reprsentation des interactions du systme avec les acteurs extrieurs Diagrammes de squence : reprsentation des interactions entre objets et de leur succession dans le temps Diagramme dactivits : reprsentation des interactions avec mise en vidence du flux de contrle entre les diffrentes tapes de traitement
Maude Manouvrier - Univ. Paris Dauphine

10

Rsum (4/7)
Modle dinteractions
Description de la faon dont les objets collaborent pour obtenir des rsultats Complment du modle dtats Diffrents niveaux dabstraction pour modliser les interactions : - Cas dutilisation : reprsentation des interactions du systme avec les acteurs extrieurs Diagrammes de squence : reprsentation des interactions entre objets et de leur succession dans le temps Diagramme dactivits : reprsentation des interactions avec mise en vidence du flux de contrle entre les + diffrentes tapes de traitement 10

Maude Manouvrier - Univ. Paris Dauphine

Niveau de dtails

Rsum (5/7)
Relations entre les 3 modles
Mmes concepts (donnes, squencement et oprations) mais avec accentuation diffrente Modle de classes :
Description de la structure des donnes sur lesquelles les modles dtats et dinteractions oprent Correspondance entre les oprations du modle de classe et les vnements, les conditions et les activits

Modle dtats :
Description de la structure du contrle des objets Reprsentation des dcisions dpendant des valeurs des objets, entranant les modifications de ces valeurs et les changements dtats

Modle dinteractions :
Concentration sur les changes entre les objets Vue globale du systme
Maude Manouvrier - Univ. Paris Dauphine

101

Rsum (6/7)
Relations entre les 3 modles
Gnralisation de classes
Hritage des attributs, oprations, associations, diagrammes dtats de la super-classe par ses sous-classes Possibilit dutiliser ou redfinir les proprits de la super-classe dans les sous-classes Le diagramme dtats dune sous-classe doit tre une addition orthogonale au diagramme dtats de la super-classe [BR05]

Gnralisation de signaux
Hritage dattributs de signaux Signal rel = feuille dun arbre de gnralisation de signaux Signal entrant franchissement des transitions associes ses signaux anctres

Gnralisation de cas dutilisation


Cas dutilisation parent = squence gnrale de comportements Cas dutilisation enfant = spcialisation du cas parent par insertion dtapes supplmentaires ou redfinition dtapes existantes
Maude Manouvrier - Univ. Paris Dauphine

102

Rsum (7/7)
Relations entre les 3 modles
Agrgation dobjets : Dcomposition dun assemblage en lments orthogonaux ayant une interaction limite Diagramme dtats dun agrgat = collection des diagrammes dtats de chacun de ses lments constituants Agrgation dtats : Possibilit de dcomposer un tat en tats plus petits, chacun oprant indpendamment et possdant son propre diagramme tat de lobjet constitu dun tat de chaque sousdiagramme
Maude Manouvrier - Univ. Paris Dauphine

103

Rsum des notations (1/16)


Modles de classes

Maude Manouvrier - Univ. Paris Dauphine

104

Rsum des notations (1/16)


Modles de classes
NomDeClasse

Maude Manouvrier - Univ. Paris Dauphine

104

Rsum des notations (1/16)


Modles de classes
NomDeClasse NomDObjet:NomDeClasse

Maude Manouvrier - Univ. Paris Dauphine

104

Rsum des notations (1/16)


Modles de classes
NomDeClasse NomDObjet:NomDeClasse NomDeClasse nomAttribut1 [Mult.] : typeDeDonnes1 = Valeur parDfaut1 nomAttribut2 [Mult.] : typeDeDonnes2 = Valeur parDfaut2 nomOpration1 (listeArguments1) : TypeDuRsultat1 nomOpration2 (listeArguments2) : TypeDuRsultat2

Maude Manouvrier - Univ. Paris Dauphine

104

Rsum des notations (1/16)


Modles de classes
NomDeClasse NomDObjet:NomDeClasse NomDeClasse nomAttribut1 [Mult.] : typeDeDonnes1 = Valeur parDfaut1 nomAttribut2 [Mult.] : typeDeDonnes2 = Valeur parDfaut2 nomOpration1 (listeArguments1) : TypeDuRsultat1 nomOpration2 (listeArguments2) : TypeDuRsultat2 NomDObjet:NomDeClasse
nomAttribut1=valeur1 nomAttribut2=valeur2
Maude Manouvrier - Univ. Paris Dauphine

104

Rsum des notations (2/16)


Modles de classes

Maude Manouvrier - Univ. Paris Dauphine

105

Rsum des notations (2/16)


Modles de classes
NomDeClasse1
NomDAssociation

NomDeClasse2

Maude Manouvrier - Univ. Paris Dauphine

105

Rsum des notations (2/16)


Modles de classes
NomDeClasse1 nomExtAssoc1
NomDAssociation nomExtAssoc2 NomDeClasse2

Maude Manouvrier - Univ. Paris Dauphine

105

Rsum des notations (2/16)


Modles de classes
NomDeClasse1 nomExtAssoc1 objet1:Classe1
NomDAssociation nomExtAssoc2 NomDeClasse2 NomDeLien

objet2:Classe2

Maude Manouvrier - Univ. Paris Dauphine

105

Rsum des notations (2/16)


Modles de classes
NomDeClasse1 nomExtAssoc1 objet1:Classe1
NomDAssociation nomExtAssoc2 NomDeClasse2 NomDeLien

objet2:Classe2
Exactement 1 Plusieurs (zro ou plus) Optionnel (zro ou un) Un ou plus

1 * 0..1 1 ..*
Maude Manouvrier - Univ. Paris Dauphine

Classe Classe Classe Classe

105

Rsum des notations (3/16)


Modles de classes
NomDeClasse1 NomDeClasse2

NomDAssociation
attribut opration

Classe-Association
Maude Manouvrier - Univ. Paris Dauphine

106

Rsum des notations (4/16)


Modles de classes

Maude Manouvrier - Univ. Paris Dauphine

107

Rsum des notations (4/16)


Modles de classes
Classe1
qualificateur

Classe2

Association qualifie

Maude Manouvrier - Univ. Paris Dauphine

107

Rsum des notations (4/16)


Modles de classes
Classe1
qualificateur

Classe2

Association qualifie

{ordered} Classe * {sequence} Classe * {bag} Classe *


Maude Manouvrier - Univ. Paris Dauphine

107

Rsum des notations (5/16)


Modles de classes

Maude Manouvrier - Univ. Paris Dauphine

108

Rsum des notations (5/16)


Modles de classes
Hritage
SousClasse1 SousClasse2 SuperClasse

Maude Manouvrier - Univ. Paris Dauphine

108

Rsum des notations (5/16)


Modles de classes
Hritage
SousClasse1 SousClasse2 SuperClasse

Classe Abstraite / Classe Concrte

SuperClasseAbstraite
oprationAbstraite1 oprationConcrte2

SousClasseConcrte1
oprationConcrte1 oprationConcrte2
Maude Manouvrier - Univ. Paris Dauphine

SousClasseConcrte2
oprationConcrte1 oprationConcrte3

108

Rsum des notations (6/16)


Modles de classes

Maude Manouvrier - Univ. Paris Dauphine

109

Rsum des notations (6/16)


Modles de classes
ClasseAssemblage Agrgation * 1 ClassePartie1 * * ClassePartie2

Maude Manouvrier - Univ. Paris Dauphine

109

Rsum des notations (6/16)


Modles de classes
ClasseAssemblage Agrgation * 1 ClassePartie1 * * ClassePartie2

ClasseAssemblage Composition 1 1 ClassePartie1


Maude Manouvrier - Univ. Paris Dauphine

1 * ClassePartie2 109

Rsum des notations (7/16)


Modles de classes
Contrainte sur les objets : Classe
attribut1 attribut2

Contrainte sur les associations : Association1 * * {subset} Association2

Classe1
1

Classe2
*

{attribut1 > = 0}

Maude Manouvrier - Univ. Paris Dauphine

110

Rsum des notations (7/16)


Modles de classes
Contrainte sur les objets : Classe
attribut1 attribut2

Contrainte sur les associations : Association1 * * {subset} Association2

Classe1
1

Classe2
*

{attribut1 > = 0}

Contrainte sur les ensembles de gnralisation :

SuperClasse
{overlapping, incomplete}

SousClasse1
Maude Manouvrier - Univ. Paris Dauphine

SousClasse2

SousClasse3 110

Rsum des notations (8/16)


Modles de classes

Maude Manouvrier - Univ. Paris Dauphine

111

Rsum des notations (8/16)


Modles de classes
Classe
+oprationPublique #oprationProtge -oprationPrive ~oprationPackage

Visibilit

Maude Manouvrier - Univ. Paris Dauphine

111

Rsum des notations (8/16)


Modles de classes
Classe
+oprationPublique #oprationProtge -oprationPrive ~oprationPackage

Visibilit

lment driv :

Maude Manouvrier - Univ. Paris Dauphine

111

Rsum des notations (8/16)


Modles de classes
Classe
+oprationPublique #oprationProtge -oprationPrive ~oprationPackage

Visibilit

lment driv : /NomDeClasse

Maude Manouvrier - Univ. Paris Dauphine

111

Rsum des notations (8/16)


Modles de classes
Classe
+oprationPublique #oprationProtge -oprationPrive ~oprationPackage

Visibilit

lment driv : /NomDeClasse /NomDeClasse


/attribut

Maude Manouvrier - Univ. Paris Dauphine

111

Rsum des notations (8/16)


Modles de classes
Classe
+oprationPublique #oprationProtge -oprationPrive ~oprationPackage

Visibilit

lment driv : /NomDeClasse Classe1


Maude Manouvrier - Univ. Paris Dauphine

/NomDeClasse
/attribut

/NomDAssociation

Classe2 111

Rsum des notations (9/16)


Modles dtats
NomDeDiagramme tat1
evnement (attributs) [condition de franchissement] / effet

tat2

Maude Manouvrier - Univ. Paris Dauphine

112

Rsum des notations (9/16)


Modles dtats
NomDeDiagramme tat1
evnement (attributs) [condition de franchissement] / effet

tat2

tat Initial

tat Final

Maude Manouvrier - Univ. Paris Dauphine

112

Rsum des notations (9/16)


Modles dtats
NomDeDiagramme tat1
evnement (attributs) [condition de franchissement] / effet

tat2

tat Initial

tat Final

Nom du diagramme

Points dentre et de sortie


Maude Manouvrier - Univ. Paris Dauphine

tat1

112

Rsum des notations (10/16)


Modles dtats

Maude Manouvrier - Univ. Paris Dauphine

113

Rsum des notations (10/16)


Modles dtats
tatComposite vnement0 EtatImbriqu1 EtatImbriqu2 vnement2

vnement1

Maude Manouvrier - Univ. Paris Dauphine

113

Rsum des notations (10/16)


Modles dtats
tatComposite vnement0 EtatImbriqu1 EtatImbriqu2 vnement2

vnement1 tatComposite SousEtat1 vnement0 SousEtat2 Division de contrle


Maude Manouvrier - Univ. Paris Dauphine

vnement1 vnement2

SousEtat3 SousEtat4

vnement3

vnement4 Synchronisation de contrle

113

Rsum des notations (11/16)


Modles dtats

Maude Manouvrier - Univ. Paris Dauphine

114

Rsum des notations (11/16)


Modles dtats
tatComposite SousEtat1 SousEtat3 vnement1

Concurrence lintrieur dun objet

SousEtat2 vnement2

SousEtat4

Maude Manouvrier - Univ. Paris Dauphine

114

Rsum des notations (11/16)


Modles dtats
tatComposite SousEtat1 SousEtat3 vnement1

Concurrence lintrieur dun objet

SousEtat2 vnement2

SousEtat4

Etat

Activits internes un tat

entry/effet1 do/activit venement1/effet2 vnement2/effet3 exit/effet4

Maude Manouvrier - Univ. Paris Dauphine

114

Rsum des notations (12/16)


Modles dinteractions
NomDeSujet Diagramme de cas dutilisation CasDUtilisation1 CasDUtilisation2 CasDUtilisation3 Acteur1

Acteur2

Maude Manouvrier - Univ. Paris Dauphine

115

Rsum des notations (13/16)


Modles dinteractions

Maude Manouvrier - Univ. Paris Dauphine

116

Rsum des notations (13/16)


Modles dinteractions
CUParent

CUEnfant1

CUEnfant2

Maude Manouvrier - Univ. Paris Dauphine

116

Rsum des notations (13/16)


Modles dinteractions
CUParent

CUEnfant1
include

CUEnfant2

CUDeBase

CUInclus

Maude Manouvrier - Univ. Paris Dauphine

116

Rsum des notations (13/16)


Modles dinteractions
CUParent

CUEnfant1
include

CUEnfant2

CUDeBase CUDeBase
Maude Manouvrier - Univ. Paris Dauphine

CUInclus CUExtension 116

extend

Rsum des notations (14/16)


Modles dinteractions
ObjetA
opration1(a,b) crerC()

ObjetB ObjetC

Diagramme de squence

Opration2(c,d) rsultat1

rsultat2

Maude Manouvrier - Univ. Paris Dauphine

117

Rsum des notations (15/16)


Modles dinteractions
activit1 [condition1] [condition2] activit2

Diagramme dactivits

activit3

activit5

activit4

activit6
Maude Manouvrier - Univ. Paris Dauphine

118

Rsum des notations (16/16)


Modles dinteractions

Maude Manouvrier - Univ. Paris Dauphine

119

Rsum des notations (16/16)


Modles dinteractions
Acteur1
activit1

Acteur2

Acteur3

Diagramme dactivits avec couloirs dactivits

activit2

activit3

Maude Manouvrier - Univ. Paris Dauphine

119

Rsum des notations (16/16)


Modles dinteractions
Acteur1
activit1

Acteur2

Acteur3

Diagramme dactivits avec couloirs dactivits

activit2

activit3

Diagramme dactivits avec flux dobjets


Maude Manouvrier - Univ. Paris Dauphine

activit1

:Classe :Classe [tat]

activit2

activit1

activit2

119

You might also like