Académique Documents
Professionnel Documents
Culture Documents
Specification Et Conception Um L
Specification Et Conception Um L
2me anne
Spcification et Conception en UML
Maude Manouvrier
Spcifications initiales
Analyse
Conception du systme
Conception des classes
Bibliographie
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
UML 2 par la pratique Etudes de cas et exercices corrigs de
Pascal Roques, 4me dition, Eyrolles, 2005
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 2
Historique
Maude Manouvrier - Univ. Paris Dauphine 3
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
Stades de dveloppement (1/4)
Spcifications initiales du systme : dfinition et
formulation des exigences provisoires
Analyse : Comprhension en profondeur des exigences
partir de la construction de modles
Conception du systme : Mise au point de larchitecture du
systme en instaurant les politiques de conception des
classes
Conception des classes :
Augmentation et ajustement des modles du monde rel
issus de lanalyse en vue dune compatibilit avec une
implmentation informatique
Dtermination des algorithmes des oprations
Implmentation : Traduction de la conception en code
Test : Vrification du bon fonctionnement de lapplication
Maude Manouvrier - Univ. Paris Dauphine repris de [BR05] 4
Stades de dveloppement (2/4)
Maude Manouvrier - Univ. Paris Dauphine 5
Repris de http://www-inf.int-evry.fr/COURS/IO21/COURS/CoursENSTBr.pdf
Spcifications initiales
Analyse
Conception
Implmentation
Test
Stades de dveloppement (2/4)
Maude Manouvrier - Univ. Paris Dauphine 5
Repris de http://www-inf.int-evry.fr/COURS/IO21/COURS/CoursENSTBr.pdf
Spcifications initiales
Analyse
Conception
Implmentation
Test
Cahier des charges
Stades de dveloppement (2/4)
Maude Manouvrier - Univ. Paris Dauphine 5
Repris de http://www-inf.int-evry.fr/COURS/IO21/COURS/CoursENSTBr.pdf
Spcifications initiales
Analyse
Conception
Implmentation
Test
Cahier des charges
Saccorder sur ce qui doit tre fait dans le systme
Stades de dveloppement (2/4)
Maude Manouvrier - Univ. Paris Dauphine 5
Repris de http://www-inf.int-evry.fr/COURS/IO21/COURS/CoursENSTBr.pdf
Spcifications initiales
Analyse
Conception
Implmentation
Test
Cahier des charges
Saccorder sur ce qui doit tre fait dans le systme
Comprendre les besoins et les dcrire
Stades de dveloppement (2/4)
Maude Manouvrier - Univ. Paris Dauphine 5
Repris de http://www-inf.int-evry.fr/COURS/IO21/COURS/CoursENSTBr.pdf
Spcifications initiales
Analyse
Conception
Implmentation
Test
Cahier des charges
Saccorder sur ce qui doit tre fait dans le systme
Comprendre les besoins et les dcrire
Saccorder sur la manire dont le systme
doit tre construit
Stades de dveloppement (2/4)
Maude Manouvrier - Univ. Paris Dauphine 5
Repris de http://www-inf.int-evry.fr/COURS/IO21/COURS/CoursENSTBr.pdf
Spcifications initiales
Analyse
Conception
Implmentation
Test
Cahier des charges
Saccorder sur ce qui doit tre fait dans le systme
Comprendre les besoins et les dcrire
Saccorder sur la manire dont le systme
doit tre construit
Coder le rsultat de la conception
Stades de dveloppement (2/4)
Maude Manouvrier - Univ. Paris Dauphine 5
Repris de http://www-inf.int-evry.fr/COURS/IO21/COURS/CoursENSTBr.pdf
Spcifications initiales
Analyse
Conception
Implmentation
Test
Cahier des charges
Saccorder sur ce qui doit tre fait dans le systme
Comprendre les besoins et les dcrire
Saccorder sur la manire dont le systme
doit tre construit
Coder le rsultat de la conception
Tester si le systme est conforme au
cahier des charges
Stades de dveloppement (3/4)
laboration et optimisation des modles en
permanence
Application des mmes concepts et de la mme
notation tout au long du processus mais avec des
changements de points de vue
Premiers stades axs sur les exigences mtier
Stades ultrieurs axs sur les ressources
informatiques
Grande partie de leffort pour lanalyse et la
conception
Maude Manouvrier - Univ. Paris Dauphine - repris de [BR05] 6
Stades de dveloppement (4/4)
Plusieurs styles de cycle de vie :
Dveloppement en cascade :
Squence linaire des diffrents stades
Pas de retour en arrire
Passage au stade suivant aprs la fin complte du stade prcdent
Pour des applications bien comprises avec des exigences bien stabilises et
des rsultats danalyse et de conception prvisibles
Pas de livraison dun systme utilisable avant la finalisation complte du
systme
Dveloppement itratif :
Dveloppement en cascade du noyau du systme
largissement du primtre du systme par ajout successif de proprits et
de comportement aux objets existants et de nouveaux types dobjets
Plusieurs itrations avant le livrable final chaque itration comprenant un
ensemble complet de stades
Pas de construction du systme dans son intgralit en une seule fois
Valable pour la plupart des applications
Maude Manouvrier - Univ. Paris Dauphine repris de [BR05] 7
Spcifications initiales (1/3)
Objectif : se forger une ide globale du systme en
diffrant les dtails
Questions se poser [BR05] :
A qui lapplication est-elle destine ?
Quels problmes lapplication rsoudra-t-elle ?
Quelles seront les conditions dutilisation de lapplication ?
Quand lapplication est-elle attendue ?
Pourquoi lapplication est-elle attendue ?
Comment lapplication fonctionnera-t-elle ?
Maude Manouvrier - Univ. Paris Dauphine 8
Spcifications initiales (2/3)
Exigences : description de la faon dont un systme
se comporte du point de vue utilisateur
Systme = bote noire dont seul le comportement
externe importe
Rdaction dun nonc des exigences
Exigences : souvent ambigus, incompltes voire
incohrentes, parfois fausses
nonc : Point de dpart et moyen de mieux
comprendre le problme mais document non immuable
Maude Manouvrier - Univ. Paris Dauphine repris de [BR05] 9
Spcifications initiales (3/3)
Prciser ce qui doit tre ralis et non comment
limplmentation doit le raliser [BR05] :
Maude Manouvrier - Univ. Paris Dauphine repris de [BR05] 10
Spcifications initiales (3/3)
Prciser ce qui doit tre ralis et non comment
limplmentation doit le raliser [BR05] :
Maude Manouvrier - Univ. Paris Dauphine repris de [BR05] 10
Exigences
Primtre du systme
Dfinition de ce qui est exig
Contexte de lapplication
Hypothses
Besoins de performances
Spcifications initiales (3/3)
Prciser ce qui doit tre ralis et non comment
limplmentation doit le raliser [BR05] :
Maude Manouvrier - Univ. Paris Dauphine repris de [BR05] 10
Exigences
Primtre du systme
Dfinition de ce qui est exig
Contexte de lapplication
Hypothses
Besoins de performances
Conception
Approche gnrale
Algorithmes
Structures de donnes
Architecture
Optimisation
Planification des ressources
Spcifications initiales (3/3)
Prciser ce qui doit tre ralis et non comment
limplmentation doit le raliser [BR05] :
Maude Manouvrier - Univ. Paris Dauphine repris de [BR05] 10
Exigences
Primtre du systme
Dfinition de ce qui est exig
Contexte de lapplication
Hypothses
Besoins de performances
Conception
Approche gnrale
Algorithmes
Structures de donnes
Architecture
Optimisation
Planification des ressources
Implmentation
Plates-formes
Spcifications matrielles
Bibliothques logicielles
Standards dinterface
Spcifications initiales (3/3)
Prciser ce qui doit tre ralis et non comment
limplmentation doit le raliser [BR05] :
Maude Manouvrier - Univ. Paris Dauphine repris de [BR05] 10
Exigences
Primtre du systme
Dfinition de ce qui est exig
Contexte de lapplication
Hypothses
Besoins de performances
Conception
Approche gnrale
Algorithmes
Structures de donnes
Architecture
Optimisation
Planification des ressources
Implmentation
Plates-formes
Spcifications matrielles
Bibliothques logicielles
Standards dinterface
!
Ne pas prendre trop tt de
dcisions de conception ou
dimplmentation
Exemple trait en cours
Systme de gestion de demandes de formation
En vue de lamlioration de son systme dinformation, souhait dune entreprise
de modliser le processus de formation des ses employs afin dautomatiser
certaines tches
Initialisation du processus de formation la rception dune demande de formation par
le responsable formation de la part dun employ. Analyse de la demande par le
responsable et transmission de laccord ou du dsaccord lintress.
En cas daccord,
Recherche par le responsable de formation, dans le catalogue des formations
agres, dun stage correspondant la demande.
Transmission lemploy demandeur du contenu de la formation correspondant
la demande et du planning des sessions.
Aprs validation auprs de lemploy, inscription auprs de lorganisme de
formation de lemploy par le responsable la session de formation choisie.
En cas dempchement de lemploy, obligation de lemploy dinformer le responsable
au plut tt pour annuler linscription ou la demande.
A la fin de la formation, remise par le participant au responsable dune fiche
dapprciation de la formation et dun document justifiant sa prsence au cours de la
formation.
Contrle, par la responsable, de la facture envoye par lorganisme de formation avant
transmission au service comptable.
Maude Manouvrier - Univ. Paris Dauphine repris de [Roq05] 11
Analyse
tape du dveloppement o on examine le
problme rel pour comprendre ses besoins
sans planifier limplmentation [BR05]
Concentration sur la cration de modles
Analyse du domaine
Modles du domaine
Analyse de lapplication
Modles de lapplication
Maude Manouvrier - Univ. Paris Dauphine 12
Analyse du domaine (1/21)
Objectif : obtenir un modle prcis, concis,
comprhensible et correct du monde rel
Dbut dune comprhension plus claire des
exigences
Mise en vidence des ambiguts et des
incohrences de lnonc du problme
Abstraction des caractristiques essentielles de
lnonc du problme dans un modle
Maude Manouvrier - Univ. Paris Dauphine repris de [BR05] 13
Analyse du domaine (2/21)
Modle de classes du domaine
Description des classes du monde rel et de leurs
relations
tapes suivre [BR05] :
1. Identifier les classes et conserver les classes pertinentes
2. Prparer un dictionnaire de donnes
3. Identifier les associations et conserver les associations
pertinentes
4. Identifier les attributs des objets et les liens
5. Organiser et simplifier les classes en utilisant lhritage
6. Vrifier que tous les chemins daccs existent pour les
requtes probables
7. Itrer et affiner le modle
8. Rexaminer le niveau dabstraction
9. Regrouper les classes en package
Maude Manouvrier - Univ. Paris Dauphine 14
Analyse du domaine (3/21)
1. Identifier les classes : trouver les classes
pertinentes pour les objets du domaine de
lapplication
Conseils de [BR05] :
Au dpart, ne pas tre trop slectif et noter tout
ce qui vient lesprit
Ne pas se soucier trop de lhritage ni des
classes de haut niveau
Maude Manouvrier - Univ. Paris Dauphine 15
Exigences
sources
Classes
candidates
Classes Extraction
des noms
limination
des classes
inappropries
Analyse du domaine (4/21)
1. Identifier les classes : cas du systme de gestion
de demandes de formation
Maude Manouvrier - Univ. Paris Dauphine - adapt de [Roq05] 16
Systme dinformation Processus de formation
Employ
Responsable de formation
Demande de formation
Accord
Dsaccord
Catalogue de formations agres
Stage
Organisme de formation
Planning Session
Inscription
Empchement Annulation
Apprciation de stage Justificatif de prsences Facture
Service Comptable
Contenu de formation Transmission
Intress
Recherche
Validation Responsable
Participant
Analyse Initialisation
Obligation Remise
Contrle
Analyse du domaine (5/21)
1. Conserver les classes pertinentes
Par limination des :
Classes redondantes : classes exprimant le mme concept /
Conservation du nom le plus vocateur
Classes sans intrt : classe sans lien avec le contexte ou ne faisant
pas partie du primtre du logiciel
Classes vagues : classes ayant des frontires mal dfinies ou une
porte trop large
Attributs : re-formulation des noms dcrivant originellement des
objets individuels sous la forme dattributs
Oprations : appliques des objets et non manipules en tant
quoprations
Rles : reflet de la nature intrinsque dune classe par son nom et non
du rle de la classe dans une association
lments dimplmentation : lments trangers au monde rel
Classes drives
Maude Manouvrier - Univ. Paris Dauphine repris de [BR05] 17
Analyse du domaine (6/21)
2. Prparer un dictionnaire de donnes : pour
viter les trop nombreuses interprtations
Dcrire prcisment chaque classe par un paragraphe
Dcrire la porte de chaque classe dans le problme
courant, en incluant toutes les hypothses et les
restrictions quant son utilisation [BR05]
Dcrire galement les attributs, associations, oprations
et valeurs numres
Maude Manouvrier - Univ. Paris Dauphine 18
Analyse du domaine (6/21)
2. Prparer un dictionnaire de donnes : pour
viter les trop nombreuses interprtations
Dcrire prcisment chaque classe par un paragraphe
Dcrire la porte de chaque classe dans le problme
courant, en incluant toutes les hypothses et les
restrictions quant son utilisation [BR05]
Dcrire galement les attributs, associations, oprations
et valeurs numres
Maude Manouvrier - Univ. Paris Dauphine 18
Demande de formation : Email envoy par un employ au
responsable de formation, prcisant un thme, une formation ou une
session particulire de formation issues du catalogue. La demande est
enregistre par la systme aprs transmission au responsable de
formation.
Analyse du domaine (7/21)
3. Identifier les associations et conserver les
associations pertinentes
Par limination des :
Associations non pertinentes ou relevant de
limplmentation
Actions
Associations ternaires par dcomposition associations
binaires, associations qualifies ou classes-associations
Associations drives : associations dfinies en termes
dautres associations (car redondance)
Maude Manouvrier - Univ. Paris Dauphine - modle
de classe repris de [Roq05]
19
Analyse du domaine (7/21)
3. Identifier les associations et conserver les
associations pertinentes
Par limination des :
Associations non pertinentes ou relevant de
limplmentation
Actions
Associations ternaires par dcomposition associations
binaires, associations qualifies ou classes-associations
Associations drives : associations dfinies en termes
dautres associations (car redondance)
Maude Manouvrier - Univ. Paris Dauphine - modle
de classe repris de [Roq05]
19
Demande de formation
Session Employ
Inscription
est inscrit
est
satisfaite
par
*
1
*
*
1
0..1
-demandeur
Analyse du domaine (7/21)
3. Identifier les associations et conserver les
associations pertinentes
Par limination des :
Associations non pertinentes ou relevant de
limplmentation
Actions
Associations ternaires par dcomposition associations
binaires, associations qualifies ou classes-associations
Associations drives : associations dfinies en termes
dautres associations (car redondance)
Maude Manouvrier - Univ. Paris Dauphine - modle
de classe repris de [Roq05]
19
Demande de formation
Session Employ
Inscription
est inscrit
est
satisfaite
par
*
1
*
*
1
0..1
-demandeur
!
Toutes les associations
formant plusieurs
chemins entre des classes
nindiquent pas une
redondance
Analyse du domaine (8/21)
3. Identifier les associations et conserver les
associations pertinentes (suite)
Prcision de la smantique des associations :
viter les associations mal nommes : choix des
noms primordial pour la comprhension
Indiquer les noms dextrmits dassociations
Identifier les associations qualifies
Prciser les multiplicits
Ajouter les associations manquantes
Transformer certaines associations en agrgations
Maude Manouvrier - Univ. Paris Dauphine repris de [BR05] 20
Session Formation
1
0..*
NumSession
Analyse du domaine (9/21)
4. Trouver les attributs et conserver les attributs
pertinents
Conseils de [BR05] :
Ne pas pousser la recherche des attributs lextrme.
Ne considrer que les attributs pertinents pour lapplication
Rechercher en premier les attributs les plus importants ;
repousser les dtails plus tard
Omettre les attributs drivs
Rechercher les attributs des associations
limination des attributs inutiles ou incorrects selon les
critres suivants [BR05] :
Diffrencier les objets de leurs valeurs
Utiliser des qualificateurs
Ne pas prciser les attributs identificateurs excepts ceux
du domaine de lapplication
liminer les valeurs internes et les dtails fins
Maude Manouvrier - Univ. Paris Dauphine 21
Analyse du domaine (9/21)
5. Organiser et simplifier les classes en utilisant
lhritage
Par gnralisation ascendante : en recherchant les classes ayant
des attributs, des associations ou des oprations similaires
Par spcialisation descendante : en vitant les raffinements
excessifs
Gnralisation vs. numration
Maude Manouvrier - Univ. Paris Dauphine - modle de classe
repris de [Roq05]
22
Analyse du domaine (9/21)
5. Organiser et simplifier les classes en utilisant
lhritage
Par gnralisation ascendante : en recherchant les classes ayant
des attributs, des associations ou des oprations similaires
Par spcialisation descendante : en vitant les raffinements
excessifs
Gnralisation vs. numration
Maude Manouvrier - Univ. Paris Dauphine - modle de classe
repris de [Roq05]
22
Demande de Formation
dateEmission : Date
dateValidit : Date
Accord
Motif : String
Dsaccord
Rponse
date : Date
donne lieu
1
0..1
Analyse du domaine (10/21)
6. Tester les chemins daccs
Penser aux questions souhaites
Vrifier quil ny a aucune question utile sans rponse
Maude Manouvrier - Univ. Paris Dauphine modle de classe repris de [Roq05] 23
Analyse du domaine (10/21)
6. Tester les chemins daccs
Penser aux questions souhaites
Vrifier quil ny a aucune question utile sans rponse
Maude Manouvrier - Univ. Paris Dauphine modle de classe repris de [Roq05] 23
Rponse
date : Date
1
-demandeur
1
Session
(from Catalogue)
est inscrit
0..*
0..*
0..*
1
0..1
Motif : String
Dsaccord
donne
lieu
Employ
nom : String
prnom : String
service : String
fonction : String
email : Email
Inscription
date : Date
e
s
t
s
a
t
i
s
f
a
i
t
e
p
a
r
0..1
Demande de Formation
dateEmission : Date
dateValidit : Date
ElementCatalogue
(from Catalogue)
Accord
c
o
n
c
e
r
n
e
0
.
.
*
1
-participant
Analyse du domaine (11/21)
7. Itrer sur le modle de classes [BR05]
Pas dexactitude du modle la premire passe
Ncessit de raliser des itrations continuelles
Possibilit davoir diffrentes parties du modle
diffrents stades dachvement
Possibilit de revenir un stade antrieur pour
corriger une anomalie dtecte
Raffinements probables aprs lachvement des
modles dtats et dinteractions
Maude Manouvrier - Univ. Paris Dauphine 24
Analyse du domaine (12/21)
7. Itrer sur le modle de classes [BR05] (suite)
Recherche des classes manquantes
Scission de classe ayant
- Des attributs et des oprations disparates
- Plusieurs rles
Ajout de classe
- Cration de super-classe en cas dassociations de mme but et de mme
nom
- Transformation dune association en classe en cas dassociation ayant un
rle faonnant substantiellement la smantique dune classe
Recherche dassociations manquantes en cas de chemins daccs manquants
pour rpondre aux requtes
Recherche des lments superflus
Classes avec peu dattributs, doprations ou dassociations
Associations redondantes
Ajustement des attributs et des associations
Dplacement dune association en cas de noms dextrmits dassociation
avec un sens trop large ou trop troit
Transformation dune association en association qualifie en cas de ncessit
daccs un objet par lintermdiaire de la valeur dun attribut
Maude Manouvrier - Univ. Paris Dauphine 25
Analyse du domaine (13/21)
8. lever le niveau dabstraction
Aprs une prise en compte de lnonc au pied de la lettre ,
ncessit dlever le niveau dabstraction pour :
Augmenter la souplesse du modle
Rduire le nombre de classes
Amlioration du modle par lutilisation de patterns danalyse
9. Grouper les classes en packages
Regroupement des lments (classes, associations, gnralisation
et autres packages de niveau infrieur) ayant un thme commun ou
fortement coupls afin de plus facilement tracer et visualiser le
modle
Maude Manouvrier - Univ. Paris Dauphine packages repris de [Roq05] 26
Analyse du domaine (13/21)
8. lever le niveau dabstraction
Aprs une prise en compte de lnonc au pied de la lettre ,
ncessit dlever le niveau dabstraction pour :
Augmenter la souplesse du modle
Rduire le nombre de classes
Amlioration du modle par lutilisation de patterns danalyse
9. Grouper les classes en packages
Regroupement des lments (classes, associations, gnralisation
et autres packages de niveau infrieur) ayant un thme commun ou
fortement coupls afin de plus facilement tracer et visualiser le
modle
Maude Manouvrier - Univ. Paris Dauphine packages repris de [Roq05] 26
Comptabilit
Service comptable ;
Facture
Demandes de formation
Demande de formation ;
Employ ; Inscription ; Rponse ;
Accord; Dsaccord
Catalogue de formations
Catalogue ; Organisme de
formation ; Formation; Session
Entits
mtier
Analyse du domaine (14/21)
Modle dtats du domaine
Description du cycle de vie des objets de
certaines classes
tapes suivre [BR05] :
1. Identifier les classes du domaine ayant des tats
2. Trouver les tats
3. Trouver les vnements
4. Construire les diagrammes dtats
5. valuer les diagrammes dtats
Maude Manouvrier - Univ. Paris Dauphine 27
Analyse du domaine (15/21)
1. Identifier les classes ayant des tats
Recherche des classes ayant un cycle de vie distinct
(classes caractrises par une progression ou reprsentant
un comportement cyclique)
2. Trouver les tats
Recherche des tats partir des diffrences qualitatives
dans le comportement, les attributs ou les associations des
classes dynamiques
Maude Manouvrier - Univ. Paris Dauphine - exemple repris de [Roq05] 28
Analyse du domaine (15/21)
1. Identifier les classes ayant des tats
Recherche des classes ayant un cycle de vie distinct
(classes caractrises par une progression ou reprsentant
un comportement cyclique)
2. Trouver les tats
Recherche des tats partir des diffrences qualitatives
dans le comportement, les attributs ou les associations des
classes dynamiques
Maude Manouvrier - Univ. Paris Dauphine - exemple repris de [Roq05] 28
Demande de formation
Analyse du domaine (15/21)
1. Identifier les classes ayant des tats
Recherche des classes ayant un cycle de vie distinct
(classes caractrises par une progression ou reprsentant
un comportement cyclique)
2. Trouver les tats
Recherche des tats partir des diffrences qualitatives
dans le comportement, les attributs ou les associations des
classes dynamiques
Maude Manouvrier - Univ. Paris Dauphine - exemple repris de [Roq05] 28
Demande de formation
Cration EnAttenteInscription EnAttenteDeRponse
Satisfaite Ralise
Analyse du domaine (16/21)
3. Trouver les vnements
Recherche des vnements dclenchant les transitions
entre les tats
Capturer les informations vhicules par un vnement
sous la forme dune liste de paramtres
Maude Manouvrier - Univ. Paris Dauphine - exemple repris de [Roq05] 29
Analyse du domaine (16/21)
3. Trouver les vnements
Recherche des vnements dclenchant les transitions
entre les tats
Capturer les informations vhicules par un vnement
sous la forme dune liste de paramtres
Maude Manouvrier - Univ. Paris Dauphine - exemple repris de [Roq05] 29
valider / envoyer email au responsable
refuser / envoyer refus lemploy
accepter / envoyer accord lemploy
inscrire / envoyer confirmation inscription lemploy
Analyse du domaine (17/21)
4. Construire des diagrammes dtats (exemple)
Maude Manouvrier - Univ. Paris Dauphine -
diagramme repris de [Roq05]
30
Analyse du domaine (17/21)
4. Construire des diagrammes dtats (exemple)
Maude Manouvrier - Univ. Paris Dauphine -
diagramme repris de [Roq05]
30
Cration
EnAttenteInscription
EnAttenteDeRponse
Satisfaite
valider / envoyer
email au responsable
refuser / envoyer
refus lemploy
accepter / envoyer email daccord lemploy
avec contenu formation et planning des sessions
inscrire / envoyer confirmation
inscription lemploy
Refuse
Ralise
finSession
Version 1 :
Diagramme
dtats initial
Analyse du domaine (18/21)
4. Construire des diagrammes dtats (exemple)
Maude Manouvrier - Univ. Paris Dauphine-
diagramme repris de [Roq05]
31
RechercheSession
do / envoyer contenu formation et planning session lemploy
Cration
EnAttenteInscription
EnAttenteDeReponse
Satisfaite
valider / envoyer
email au responsable
refuser / envoyer
refus lemploy
accepter / envoyer email daccord lemploy
choixDeSession (IdSession) / envoyer
inscription lorganisme de formation
inscrire / envoyer confirmation
inscription lemploy
Refuse
finSession
Ralise
Version 2
Analyse du domaine (19/21)
5. valuer les diagrammes dtats [BR05]
Examiner chaque modle dtats et vrifier la
connexion de tous les tats
Prter une attention particulire aux chemins daccs
(y-a-t-il un chemin conduisant de ltat initial un tat
final ?)
Vrifier que la prsence des variations attendues
En cas de classe cyclique, vrifier la prsence de la
boucle principale
Ajouter les tats manquants (identifis par les chemins
manquants)
Maude Manouvrier - Univ. Paris Dauphine 32
Analyse du domaine (20/21)
5. valuer les diagrammes dtats (exemple)
Maude Manouvrier - Univ. Paris Dauphine diagramme repris de [Roq05] 33
RechercheSession
do / envoyer contenu formation et planning session lemploy
Cration
EnAttenteInscription
EnAttenteDeReponse
Satisfaite
valider / envoyer
email au responsable
refuser / envoyer
refus lemploy
accepter / envoyer email daccord lemploy
choixDeSession (IdSession) / envoyer
commande lorganisme de formation
inscrire / envoyer confirmation
inscription lemploy
Refuse
finSession
Ralise
Version
Finale
A
n
n
u
l
e
annuler
a
n
n
u
l
e
r
annuler
annuler / envoyer annulation
lorganisme de formation
annulerSession / envoyer
annulation employ
Analyse du domaine (21/21)
Modle dinteractions : rarement intressant pour lanalyse
du domaine
Itration de lanalyse [BR05]
Ncessit de raliser plusieurs itrations pour obtenir un modle
complet
Affinage de lanalyse au fur et mesure de lamlioration de la
comprhension
Vrification du rsultat avec le rdacteur de lnonc du problme
et les experts du domaine
Analyse vs. conception
Utilisation du modle danalyse comme base pour larchitecture, la
conception et limplmentation du systme
Difficult pratique pour viter une contamination du modle
danalyse par limplmentation
Maude Manouvrier - Univ. Paris Dauphine 34
Analyse de lapplication (1/28)
Objectif : ajouter les artefacts majeurs au modle du
domaine
Concentration de lattention sur les dtails de lapplication
et prise en compte des interactions
tapes suivre pour le modle dinteractions [BR05] :
1. Dterminer la frontire du systme
2. Trouver les acteurs
3. Trouver les cas dutilisation
4. Trouver les vnements initiaux et finaux
5. Rdiger les scnarios standards
6. Ajouter des scnarios de variations et dexceptions
7. Trouver les vnements externes
8. Prparer des diagrammes dactivits pour les cas
dutilisation complexes
9. Organiser les acteurs et les cas dutilisation
10. Vrifier avec le modle de classes du domaine
Maude Manouvrier - Univ. Paris Dauphine 35
Analyse de lapplication (2/28)
1. Dterminer la frontire du systme
Ncessit de bien connatre le primtre prcis de
lapplication pour bien spcifier ses fonctionnalits
Durant lanalyse : dtermination de la finalit du
systme et de son aspect pour les utilisateurs
Maude Manouvrier - Univ. Paris Dauphine exemple adapt de [Roq05] 36
Analyse de lapplication (2/28)
1. Dterminer la frontire du systme
Ncessit de bien connatre le primtre prcis de
lapplication pour bien spcifier ses fonctionnalits
Durant lanalyse : dtermination de la finalit du
systme et de son aspect pour les utilisateurs
Maude Manouvrier - Univ. Paris Dauphine exemple adapt de [Roq05] 36
Le systme dvelopper doit grer les demandes de formation des
employs dune entreprise. Les formations agres sont disponibles
dans un ou plusieurs catalogues. La gestion et la mise jour des
catalogues ne fait pas partie des fonctionnalits du systme. De mme,
le suivi de la prsence et du bon droulement des sessions ne font pas
partie du systme. En revanche, le systme doit permettre
dautomatiser les actions suivantes : Rdiger une demande de
formation; valuer une demande de formation; Chercher un stage;
Inscrire un employ un stage; Commander et payer un stage.
Analyse de lapplication (3/28)
2. Trouver les acteurs
Identification des objets externes agissant avec le
systme
Recherche darchtypes de comportement (et non pas
dindividus)
Correspondance possible entre un acteur et plusieurs
objets extrieurs ou un objet extrieur et plusieurs
acteur (un acteur par facette)
Maude Manouvrier - Univ. Paris Dauphine exemple adapt de [Roq05] 37
Analyse de lapplication (3/28)
2. Trouver les acteurs
Identification des objets externes agissant avec le
systme
Recherche darchtypes de comportement (et non pas
dindividus)
Correspondance possible entre un acteur et plusieurs
objets extrieurs ou un objet extrieur et plusieurs
acteur (un acteur par facette)
Maude Manouvrier - Univ. Paris Dauphine exemple adapt de [Roq05] 37
Employ Responsable de
formation
Organisme de
formation
Service
comptable
Analyse de lapplication (4/28)
3. Trouver les cas dutilisation
Dresser, pour chaque acteur, la liste de ses faons
fondamentalement diffrentes dutiliser le systme
Reprsenter un cas dutilisation pour chaque type de service
fourni par le systme
Conserver un niveau de dtails similaire pour tous les cas
dutilisation
Tracer un diagramme de cas dutilisation prliminaire
Maude Manouvrier - Univ. Paris Dauphine exemple adapt de [Roq05] 38
Analyse de lapplication (4/28)
3. Trouver les cas dutilisation
Dresser, pour chaque acteur, la liste de ses faons
fondamentalement diffrentes dutiliser le systme
Reprsenter un cas dutilisation pour chaque type de service
fourni par le systme
Conserver un niveau de dtails similaire pour tous les cas
dutilisation
Tracer un diagramme de cas dutilisation prliminaire
Maude Manouvrier - Univ. Paris Dauphine exemple adapt de [Roq05] 38
Employ
Responsable de
formation
Demander une formation
Grer ses demandes
Traiter les demandes
SGDF
Analyse de lapplication (5/28)
4. Trouver les vnements initiaux et finaux
Partition des fonctionnalits du systme en units discrtes
(les cas dutilisation) indiquant les acteurs impliqus mais
pas de reprsentation claire du comportement
Comprhension du comportement partir de la
comprhension des squences dexcution de chaque cas
dutilisation
Recherche des vnements initiaux et finaux de chaque cas
dutilisation
Maude Manouvrier - Univ. Paris Dauphine exemple adapt de [Roq05] 39
Analyse de lapplication (5/28)
4. Trouver les vnements initiaux et finaux
Partition des fonctionnalits du systme en units discrtes
(les cas dutilisation) indiquant les acteurs impliqus mais
pas de reprsentation claire du comportement
Comprhension du comportement partir de la
comprhension des squences dexcution de chaque cas
dutilisation
Recherche des vnements initiaux et finaux de chaque cas
dutilisation
Maude Manouvrier - Univ. Paris Dauphine exemple adapt de [Roq05] 39
Demander une formation :
vnement initial : Saisie dune demande par un employ
vnement final : Enregistrement de la demande
Grer ses demandes :
vnement initial : Ouverture dune demande existante par lemploy
vnement final : (1) Annulation de la demande ou (2) Enregistrement
des modifications
Analyse de lapplication (6/28)
5. Prparer des scnarios standards
Prparation dun ou plusieurs dialogues types pour avoir
une ide du comportement attendu du systme
Illustration par des scnarios des interactions importantes,
des formats daffichage externe et des changes
dinformations
Ne pas rdiger le cas gnral directement, mais penser en
terme dexemples dinteractions
Commencer par rdiger les scnarios des cas normaux
Maude Manouvrier - Univ. Paris Dauphine exemple adapt de [Roq05] 40
Analyse de lapplication (6/28)
5. Prparer des scnarios standards
Prparation dun ou plusieurs dialogues types pour avoir
une ide du comportement attendu du systme
Illustration par des scnarios des interactions importantes,
des formats daffichage externe et des changes
dinformations
Ne pas rdiger le cas gnral directement, mais penser en
terme dexemples dinteractions
Commencer par rdiger les scnarios des cas normaux
Maude Manouvrier - Univ. Paris Dauphine exemple adapt de [Roq05] 40
Albert Gamotte (employ) se connecte au systme. Il va dans le menu
Crer une demande . La date du jour est automatiquement affecte la
demande. Albert Gamotte choisit parmi les thmes disponibles le thme
Formation UML 2 . Il enregistre sa demande et se dconnecte.
Exemple de scnario pour le cas dutilisation Demander une formation
Analyse de lapplication (7/28)
6. Ajouter des scnarios de variations et dexceptions
Considrer les cas particuliers tels que les entres omises,
les valeurs minimales et maximales, les valeurs dupliques
Prendre en compte les cas derreur (ex. valeurs invalides,
absence de rponse)
Envisager les interactions pouvant se superposer aux
interactions de base
Maude Manouvrier - Univ. Paris Dauphine exemple adapt de [Roq05] 41
Mot de passe de lemploy erron
Serveur indisponible la connexion
Connexion la base de donnes coupe
Panne du serveur au moment de lenregistrement de la demande
Analyse de lapplication (8/28)
7. Trouver les vnements externes
Examiner les scnarios pour identifier les vnements
externes :
Entres
Dcisions
Interruption
Interactions provenant ou diriges vers des
utilisateurs ou des quipements externes
Regrouper les vnements ayant le mme effet sous un
mme nom (mme en cas de valeurs de paramtres
diffrentes)
Prparer un diagramme de squences pour chaque
scnario
Maude Manouvrier - Univ. Paris Dauphine repris de [BR05] 42
Analyse de lapplication (9/28)
7. Trouver les vnements externes (exemple)
Maude Manouvrier - Univ. Paris Dauphine exemple repris de [Roq05] 43
Employ
Responsable de
formation
system
: SGDF
{employ authentifi}
consulterCatalogue()
thmes
choisirThme()
formations du thme
sessions disponibles
choisirFormation()
infos sessions
choisirSession()
validerDemande()
enregistrerDemande
nouvelleDemande()
Analyse de lapplication (9/28)
7. Trouver les vnements externes (exemple)
Maude Manouvrier - Univ. Paris Dauphine exemple repris de [Roq05] 43
Employ
Responsable de
formation
system
: SGDF
{employ authentifi}
consulterCatalogue()
thmes
choisirThme()
formations du thme
sessions disponibles
choisirFormation()
infos sessions
choisirSession()
validerDemande()
enregistrerDemande
nouvelleDemande()
Boucle pour
demandes multiples
Analyse de lapplication (9/28)
7. Trouver les vnements externes (exemple)
Maude Manouvrier - Univ. Paris Dauphine exemple repris de [Roq05] 43
Employ
Responsable de
formation
system
: SGDF
{employ authentifi}
consulterCatalogue()
thmes
choisirThme()
formations du thme
sessions disponibles
choisirFormation()
infos sessions
choisirSession()
validerDemande()
enregistrerDemande
nouvelleDemande()
Boucle pour
demandes multiples
Opt.
Analyse de lapplication (9/28)
7. Trouver les vnements externes (exemple)
Maude Manouvrier - Univ. Paris Dauphine exemple repris de [Roq05] 43
Employ
Responsable de
formation
system
: SGDF
{employ authentifi}
consulterCatalogue()
thmes
choisirThme()
formations du thme
sessions disponibles
choisirFormation()
infos sessions
choisirSession()
validerDemande()
enregistrerDemande
nouvelleDemande()
Boucle pour
demandes multiples
Opt.
Opt.
Analyse de lapplication (10/28)
8. Prparer des diagrammes dactivit pour les
cas dutilisation complexe [BR05]
Utiliser des diagrammes dactivit pour documenter la
logique mtier pendant lanalyse
Ne pas utiliser les diagrammes dactivit comme une
excuse pour commencer limplmentation
Maude Manouvrier - Univ. Paris Dauphine 44
Analyse de lapplication (11/28)
8. Prparer des diagrammes dactivit pour les cas
dutilisation complexe (exemple)
45
Rdiger demande
Analyser demande
Chercher Stage
Slectionner sessions
Commander stage
Inscrire stagiaire
Suivre formation
mettre facture
Contrler facture
Payer facture
[demande
refuse]
[demande
accepte]
Maude Manouvrier - Univ. Paris Dauphine - exemple repris de [Roq05]
Analyse de lapplication (11/28)
8. Prparer des diagrammes dactivit pour les cas
dutilisation complexe (exemple)
45
Rdiger demande
Analyser demande
Chercher Stage
Slectionner sessions
Commander stage
Inscrire stagiaire
Suivre formation
mettre facture
Contrler facture
Payer facture
[demande
refuse]
[demande
accepte]
Maude Manouvrier - Univ. Paris Dauphine - exemple repris de [Roq05]
:Employ
:ResponsableDeFormation :OrganismeFormation
:ServiceCompta
Analyse de lapplication (12/28)
9. Organiser les acteurs et les cas dutilisation
Pour les systmes de grande taille ou les systmes
complexes, organiser les cas dutilisation laide des
relations include et extend
Possibilit dorganiser les acteurs par des
gnralisations
Maude Manouvrier - Univ. Paris Dauphine repris de [BR05] et exemple repris de [Ro05] 46
Employ
Responsable de
formation
Demander une formation
Grer ses demandes
Traiter les demandes
Sidentifier
Consulter le catalogue
include
include
include
extend
SGDF
Analyse de lapplication (13/28)
10. Vrifier avec le modle de classes du domaine
Vrifier la cohrence entre le modle du domaine et
celui de lapplication
Examiner les scnarios pour sassurer que le modle du
domaine possde toutes les donnes ncessaires
Vrifier que le modle du domaine couvre tous les
paramtres dvnements
Maude Manouvrier - Univ. Paris Dauphine repris de [BR05] 47
Analyse de lapplication (14/28)
10. Vrifier avec le modle de classes du domaine
(exemple)
Maude Manouvrier - Univ. Paris Dauphine repris de [BR05] 48
Rdiger demande
Analyser demande
Chercher Stage
Slectionner sessions
Commander stage
Inscrire stagiaire
mettre facture
Contrler facture
Payer facture
[demande
refuse]
[demande
accepte]
Suivre formation
Analyse de lapplication (14/28)
10. Vrifier avec le modle de classes du domaine
(exemple)
Maude Manouvrier - Univ. Paris Dauphine repris de [BR05] 48
Rdiger demande
Analyser demande
Chercher Stage
Slectionner sessions
Commander stage
Inscrire stagiaire
mettre facture
Contrler facture
Payer facture
[demande
refuse]
[demande
accepte]
Suivre formation
:DemandeDeFormation
[EnAttenteDeRponse]
:DemandeDeFormation
[EnAttenteInscription]
:DemandeDeFormation
[Satisfaite]
:Commande
:Facture
:DemandeDeFormation
[Ralise]
:Evaluation
:Paiement
Diagramme dactivit du
processus de formation
avec flux dobjets
:DemandeDeFormation
[Refuse]
:DemandeDeFormation
[Cration]
Analyse de lapplication (15/28)
Construire un modle de classes dapplication [BR05] :
1. Spcifier les interfaces utilisateur
2. Dfinir les classes frontires
3. Dterminer les contrleurs
4. Vrifier avec le modle dinteractions
Maude Manouvrier - Univ. Paris Dauphine 49
Analyse de lapplication (16/28)
1. Spcifier les interfaces utilisateurs (IHM)
IHM = objet ou groupe dobjets fournissant aux
utilisateurs dun systme un moyen cohrent daccs
aux objets du domaine, aux commandes et aux options
de lapplication [BR05]
Pendant lanalyse, mettre laccent sur le flux
dinformations et le contrle et non sur le format de
prsentation
Pendant lanalyse, considrer linterface de manire
grossire et ne pas se proccuper des diffrentes
manires dentrer les donnes
Esquisser nanmoins un croquis de linterface pour
aider visualiser le fonctionnement de lapplication et
sassurer de ne rien avoir oubli dimportant
Maude Manouvrier - Univ. Paris Dauphine repris de [BR05] 50
Analyse de lapplication (17/28)
2. Dfinir les classes frontires
Classe frontire (boundary) : classe modlisant les interactions
entre le systme et ses acteurs [Roq05]
Gestion, via une classe frontire, du format dune ou plusieurs
sources externes et conversion des informations pour les
transmettre au systme et inversement [BR05]
Utilit de dfinir des classes frontires pour isoler la partie interne
du systme du monde extrieur [BR05]
Maude Manouvrier - Univ. Paris Dauphine 51
Analyse de lapplication (17/28)
2. Dfinir les classes frontires
Classe frontire (boundary) : classe modlisant les interactions
entre le systme et ses acteurs [Roq05]
Gestion, via une classe frontire, du format dune ou plusieurs
sources externes et conversion des informations pour les
transmettre au systme et inversement [BR05]
Utilit de dfinir des classes frontires pour isoler la partie interne
du systme du monde extrieur [BR05]
Maude Manouvrier - Univ. Paris Dauphine 51
boundary
cranGeneralEmploy
boundary
cranDemandeFormation
Analyse de lapplication (17/28)
2. Dfinir les classes frontires
Classe frontire (boundary) : classe modlisant les interactions
entre le systme et ses acteurs [Roq05]
Gestion, via une classe frontire, du format dune ou plusieurs
sources externes et conversion des informations pour les
transmettre au systme et inversement [BR05]
Utilit de dfinir des classes frontires pour isoler la partie interne
du systme du monde extrieur [BR05]
Maude Manouvrier - Univ. Paris Dauphine 51
boundary
cranGeneralEmploy
boundary
cranDemandeFormation
Apparition uniquement des souches des classes frontires dans le
modle dapplication, llaboration de ces classes ntant pas
encore claire ce stade du processus de dveloppement [BR05]
!
Analyse de lapplication (18/28)
3. Dterminer les contrleurs
Contrleur : objet actif grant le contrle au sein
dune application [BR05]
Rception de signaux par le contrleur provenant du
monde extrieur ou des objets internes au systme
Raction ces signaux
Invocation des oprations sur les objets du systme
Envoi de signaux au monde extrieur
Un ou plusieurs contrleurs par application pour
squencer le contrle [BR05]
Liaison en gnral entre un contrleur et un cas
dutilisation particulier [Roq05]
Maude Manouvrier - Univ. Paris Dauphine 52
control
ContrleurDemandeFormation
Analyse de lapplication (19/28)
3. Dterminer les contrleurs (suite)
Maude Manouvrier - Univ. Paris Dauphine adapt de [Roq05] 53
Contrleur
DemandeDeFormation
Employ
Objets mtier
IHM
clic
clicOn()
crerFormation()
vnement de bas niveau
vnement de
niveau applicatif
Analyse de lapplication (20/28)
4. Vrifier avec le modle dinteractions
Construire le modle de classes de lapplication
en revoyant les cas dutilisation et en
rflchissant leur manire de fonctionner
A la fin de lanalyse, possibilit de de simuler
un cas dutilisation avec les classes de deux
modles (domaine et application)
Maude Manouvrier - Univ. Paris Dauphine repris de [BR05] 54
Analyse de lapplication (21/28)
4. Vrifier avec le modle dinteractions (exemple)
Maude Manouvrier - Univ. Paris Dauphine repris de [Roq05] 55
Employ
boundary
: cranGeneralEmploy
initialiser()
activer()
boundary
: cranDemandeDeFormation
control
: ContrleurDemandeFormation
: Demande
DeFormation
Crer
Demande ()
initialiserDemande(emp)
crer(emp)
Analyse de lapplication (22/28)
Modle dtats de lapplication [BR05] :
1. Dterminer les classes dapplication ayant des tats
2. Identifier les vnements
3. Construire des diagrammes dtats
4. Comparer aux autres diagrammes dtats
5. Comparer au modle de classes
6. Comparer au modle dinteractions
Maude Manouvrier - Univ. Paris Dauphine 56
Analyse de lapplication (23/28)
1. Dterminer les classes dapplication ayant des tats
Bons candidats pour les diagrammes dtats : les classes de
linterface et les classes contrleurs
2. Trouver les vnements
tudier les scnarios pour en extraire les vnements
Maude Manouvrier - Univ. Paris Dauphine adapt de [BR05] 57
Analyse de lapplication (23/28)
1. Dterminer les classes dapplication ayant des tats
Bons candidats pour les diagrammes dtats : les classes de
linterface et les classes contrleurs
2. Trouver les vnements
tudier les scnarios pour en extraire les vnements
Maude Manouvrier - Univ. Paris Dauphine adapt de [BR05] 57
Contraste entre llaboration du modle dtats du
domaine et celui de lapplication [BR05] :
Pour le modle du domaine : recherche des tats puis des vnements
Concentration du modle du domaine sur les donnes
Regroupements de donnes significatifs qui forment des tats sujets des
vnements
Pour le modle de lapplication : sens inverse
Concentration du modle dapplication sur les comportements
laboration de cas dutilisation relevant des vnements
!
Analyse de lapplication (24/28)
3. Construire des diagrammes dtats [BR05]
Construire un diagramme dtats pour chaque classe
dapplication ayant un comportement temporel
Envisager un diagramme de squence pour chaque
classe ayant un comportement temporel
Diagramme dtats initial = squences dvnements
et dtats
Correspondance entre chaque scnario ou
diagramme de squences et un chemin dans le
diagramme dtats
Diagramme dtats complet Prise en compte de
tous les scnarios et traitement de tous les
vnements pouvant affecter un tat
Maude Manouvrier - Univ. Paris Dauphine 58
Analyse de lapplication (25/28)
3. Construire des diagrammes dtats (exemple)
Maude Manouvrier - Univ. Paris Dauphine 59
Inexploit
EnInitialisationDeDemande
initialiserDemande(emp) annulerDemande
crerDemande(emp)
valider(dateDuJour)
Diagramme
dtats initial
pour le
contrleur de
demandes de
formation
( complter)
annulerDemande
/ annuler les
variables
utilises
EnregistrementDeDemande
do / envoyer mail au responsable
et afficher message lemploy
dconnexionEmploy
EnCrationDeDemande
Analyse de lapplication (26/28)
4. Vrifier avec les autres diagrammes dtats
Vrifier la compltude et la cohrence de chaque diagramme dtats et
vrifier la cohrence entre les vnements de diffrents diagrammes
5. Vrifier avec le modle de classes
Vrifier la cohrence avec le modle de classes du domaine et celui de
lapplication
6. Vrifier avec le modle dinteractions
Comparer le modle dtats avec les scnarios du modle
dinteractions
Simuler chaque chaque squence manuellement et vrifier le reflet
correct du comportement sur le diagramme dtats
En cas de dcouverte derreur, modifier le diagramme dtats ou les
scnarios
Identifier les chemins lgitimes dans le modle dtats (scnarios
supplmentaires) et vrifier quils ont un sens
Maude Manouvrier - Univ. Paris Dauphine repris de [BR05] 60
Analyse de lapplication (27/28)
Ajouter des oprations [BR05] :
1. Oprations issues du modle de classes
Inutile de reprsenter les lectures ou critures des attributs
ou de liens dassociations = oprations implicites
2. Oprations issues des cas dutilisation
Correspondance entre les oprations et les activits
3. Oprations aide-mmoire
Issues du comportement des classes dans le monde rel
Indpendantes dune application particulire mais avec
un intrt intrinsque
largissement de la dfinition dune classe au-del des
besoins stricts du problme immdiat
Maude Manouvrier - Univ. Paris Dauphine 61
Analyse de lapplication (28/28)
Maude Manouvrier - Univ. Paris Dauphine 62
DemandeDeFormation
dateEmission: Date
dateValidit: Date
lier(element:ElementCatalogue)
valider(dateValidit:Date)
refuser()
accepter()
annuler()
emettre(dateEmission:Date)
emettreRefus()
emettreAccord()
emettreCommande()