You are on page 1of 64

UML

Introduction au gnie logiciel


et la modlisation
Delphine Longuet
delphine.longuet@lri.fr
Polytech Paris-Sud
Formation initiale 3
e
anne
Spcialit Informatique
Anne 2012-2013
D. Longuet - UML 2
Logiciel
Ensemble d'entits ncessaires au fonctionnement d'un processus de
traitement automatique de l'information
!
Programmes, donnes, documentation...
Ensemble de programmes qui permet un systme informatique
dassurer une tche ou une fonction en particulier
Logiciel = programme + utilisation
D. Longuet - UML 3
Logiciel
Aspects importants du logiciel
!
Environnement:
- utilisateurs: traitement de texte, distributeur de billets
- autres logiciels: librairie, composant
- matriel: ABS, systme d'alarme
!
Spcifcation: ce que doit faire le logiciel, ensemble de critres
que doivent satisfaire son fonctionnement interne et ses
interactions avec son environnement
D. Longuet - UML 4
Crise du logiciel
Constat du dveloppement logiciel fn annes 60:
!
dlais de livraison non respects
!
budget non respect
!
ne rpond pas aux besoins de l'utilisateur ou du client
!
dificile utiliser, maintenir, et faire voluer
D. Longuet - UML 5
tude du DoD annes 80
tude du Department of Defense des tats-Unis sur les logiciels
produits dans le cadre de 9 gros projets militaires
Report of the Defense Science Board Task Force on Military Software, 1987
2%
3%
19%
47%
29%
$
Utiliss directement
$
Utiliss aprs quelques modifcations
$
Utiliss aprs de fortes modifcations
$
Jamais utiliss
$
Pays et pas livrs
D. Longuet - UML 6
tude du Standish group
1994 1996 1998 2000 2002 2004 2006 2009 2011
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
$
Projets russis: achevs dans les dlais et pour le budget impartis, avec
toutes les fonctionnalits demandes
$
Projets mitigs: achevs et oprationnels, mais livrs hors dlais, hors
budget ou sans toutes les fonctionnalits demandes
$
Projets rats: abandonns avant la fn
En 1994: enqute sur 8380 projets de toutes tailles et de tous secteurs
D. Longuet - UML 7
Utilisation des fonctionnalits implantes
Toujours, 7%
Souvent, 13%
Parfois, 16%
Rarement, 19%
Jamais, 45%
D. Longuet - UML 8
Bugs clbres
Sonde Mariner 1, 1962
!
Dtruite 5 minutes aprs son lancement
!
Cot : 18,5 millions de dollars
!
Dfaillance des commandes de guidage due
une erreur de spcifcation
!
Erreur de transcription manuelle d'un
symbole mathmatique dans la spcifcation
http://fr.wikipedia.org/wiki/Mariner_1
D. Longuet - UML 9
Bugs clbres
Therac-25, 1985-87
!
Au moins 5 morts par dose massive de radiations
!
Problme d'accs concurrents dans le contrleur
Processeur Pentium, 1994
!
Bug dans la table de valeurs utilise par
l'algorithme de division
http://fr.wikipedia.org/wiki/Therac-25
http://fr.wikipedia.org/wiki/Bug_de_la_division_du_Pentium
D. Longuet - UML 10
Bugs clbres
Ariane V vol 501, 1996
!
Explosion aprs 40 secondes de vol
!
Cot : 370 millions de dollars
!
Panne du systme de navigation due
un dpassement de capacit
(arithmetic overfow)
!
Rutilisation d'un composant
d'Ariane IV non re-test
http://fr.wikipedia.org/wiki/Vol_501_d'Ariane_5
D. Longuet - UML 11
Pourquoi?
Raisons principales des bugs:
!
Erreurs humaines
!
Taille et complexit des logiciels
!
Taille des quipes de conception/dveloppement
!
Manque de mthodes de conception
!
Ngligence de la phase d'analyse des besoins du client
!
Ngligence et manque de mthodes et d'outils des phases de
validation/vrifcation
D. Longuet - UML 12
Mythes du logiciel
!
Ide grossire du logiciel sufisante pour commencer programmer
Faux : checs dus principalement une ide imprcise du logiciel
!
Travail termin quand programme crit et fonctionnel
Faux : maintenance du logiciel = plus du 50% du cot total
!
Facile de grer spcifcations changeantes
Faux : changements de spcifcations souvent coteux
!
En cas de retard, solution: ajouter des programmeurs
Faux : priode de familiarisation et communication plus dificile
impliquent perte de productivit
Ajouter des programmeurs un projet en retard ne fait que le
retarder davantage
D. Longuet - UML 13
Gnie logiciel
Ide: appliquer les mthodes classiques d'ingnierie au domaine du
logiciel
Ingnierie (ou gnie): Ensemble des fonctions allant de la conception
et des tudes la responsabilit de la construction et au contrle des
quipements d'une installation technique ou industrielle
Gnie civil, naval, aronautique, mcanique, chimique...
D. Longuet - UML 14
Gnie logiciel
Dfnition: Ensemble des mthodes, des techniques et des outils
ddis la conception, au dveloppement et la maintenance des
systmes informatiques
Objectif: Avoir des procdures systmatiques pour des logiciels de
grande taille afn que
!
la spcifcation corresponde aux besoins rels du client
!
le logiciel respecte sa spcifcation
!
les dlais et les cots allous la ralisation soient respects
D. Longuet - UML 15
Gnie logiciel
Particularits du logiciel:
!
produit invisible et immatriel
!
dificile de mesurer la qualit
!
consquences critiques causes par modifcations infmes
!
mises jour et maintenance dues l'volution rapide de la
technologie
!
dificile de raisonner sur des programmes
!
dfaillances logicielles principalement humaines
D. Longuet - UML 16
Qualit du logiciel
Critres de qualit
!
Validit : rponse aux besoins des utilisateurs
!
Facilit d'utilisation : prise en main et robustesse
!
Performance : temps de rponse, dbit, fuidit...
!
Fiabilit : tolrance aux pannes
!
Scurit : intgrit des donnes et protection des accs
!
Maintenabilit : facilit corriger ou transformer le logiciel
!
Portabilit : changement d'environnement matriel ou logiciel
D. Longuet - UML 17
Principes d'ingnierie pour le logiciel
!
Rigueur
!
Abstraction
!
Dcomposition en sous-problmes
!
Modularit
!
Construction incrmentale
!
Gnricit
!
Anticipation des volutions
!
Documentation
!
Standardisation/normalisation
D. Longuet - UML 18
Principes d'ingnierie pour le logiciel
!
Rigueur: principale source d'erreurs humaine, s'assurer par tous les
moyens que ce qu'on crit est bien ce qu'on veut dire et que a
correspond ce qu'on a promis (outils, revue de code...)
!
Abstraction
!
Dcomposition en sous-problmes
!
Modularit
!
Construction incrmentale
!
Gnricit
!
Anticipation des volutions
!
Documentation
!
Standardisation/normalisation
D. Longuet - UML 19
Principes d'ingnierie pour le logiciel
!
Rigueur
!
Abstraction: extraire des concepts gnraux sur lesquels raisonner,
puis instancier les solutions sur les cas particuliers
!
Dcomposition en sous-problmes
!
Modularit
!
Construction incrmentale
!
Gnricit
!
Anticipation des volutions
!
Documentation
!
Standardisation/normalisation
D. Longuet - UML 20
Principes d'ingnierie pour le logiciel
!
Rigueur
!
Abstraction
!
Dcomposition en sous-problmes: traiter chaque aspect
sparment, chaque sous-problme plus simple que problme global
!
Modularit
!
Construction incrmentale
!
Gnricit
!
Anticipation des volutions
!
Documentation
!
Standardisation/normalisation
D. Longuet - UML 21
Principes d'ingnierie pour le logiciel
!
Rigueur
!
Abstraction
!
Dcomposition en sous-problmes
!
Modularit: partition du logiciel en modules interagissant,
remplissant une fonction et ayant une interface cachant
l'implantation aux autres modules
!
Construction incrmentale
!
Gnricit
!
Anticipation des volutions
!
Documentation
!
Standardisation/normalisation
D. Longuet - UML 22
Principes d'ingnierie pour le logiciel
!
Rigueur
!
Abstraction
!
Dcomposition en sous-problmes
!
Modularit
!
Construction incrmentale: construction pas pas, intgration
progressive
!
Gnricit
!
Anticipation des volutions
!
Documentation
!
Standardisation/normalisation
D. Longuet - UML 23
Principes d'ingnierie pour le logiciel
!
Rigueur
!
Abstraction
!
Dcomposition en sous-problmes
!
Modularit
!
Construction incrmentale
!
Gnricit: proposer des solutions plus gnrales que le problme
pour pouvoir les rutiliser et les adapter d'autres cas
!
Anticipation des volutions
!
Documentation
!
Standardisation/normalisation
D. Longuet - UML 24
Principes d'ingnierie pour le logiciel
!
Rigueur
!
Abstraction
!
Dcomposition en sous-problmes
!
Modularit
!
Construction incrmentale
!
Gnricit
!
Anticipation des volutions: lie la gnricit et la modularit,
prvoir les ajouts/modifcations possibles de fonctionnalits
!
Documentation
!
Standardisation/normalisation
D. Longuet - UML 25
Principes d'ingnierie pour le logiciel
!
Rigueur
!
Abstraction
!
Dcomposition en sous-problmes
!
Modularit
!
Construction incrmentale
!
Gnricit
!
Anticipation des volutions
!
Documentation: essentielle pour le suivi de projet et la
communication au sein de l'quipe de projet
!
Standardisation/normalisation: aide la communication pour le
dveloppement, la maintenance et la rutilisation
D. Longuet - UML 26
Des principes la pratique
!
Principes deviennent pratique grce mthodes et techniques
!
Mthodes et techniques utiliss dans le cadre d'une mthodologie
!
Mthodologie appuye par des outils
Principes
Mthodes
et techniques
Mthodologies
Outils
D. Longuet - UML 27
Processus de dveloppement logiciel
Ensemble d'activits successives, organises en vue de la production
d'un logiciel
En pratique:
!
Pas de processus idal
!
Choix du processus en fonction des contraintes (taille des
quipes, temps, qualit...)
!
Adaptation de processustypes aux besoins rels
D. Longuet - UML 28
Processus de dveloppement logiciel
Activits du dveloppement logiciel
!
Analyse des besoins
!
Spcifcation
!
Conception
!
Programmation
!
Validation et vrifcation
!
Livraison
!
Maintenance
Pour chaque activit: Utilisation et production de documents
D. Longuet - UML 29
Analyse des besoins
Objectif : Comprendre les besoins du client
!
Objectifs gnraux, environnement du futur systme, ressources
disponibles, contraintes de performance...
Entre : Fournies par le client
!
Expert du domaine d'application, futur utilisateur
Document produit : Cahier des charges (+ manuel d'utilisation
prliminaire)
D. Longuet - UML 30
Spcifcation
Objectifs :
!
tablir une description claire de ce que doit faire le logiciel
(fonctionnalits dtailles, exigences de qualit, interface...)
!
Clarifer le cahier des charges (ambiguts, contradictions)
Entre : Cahier des charges + considrations de faisabilit ?
Document produit : Cahier des charges fonctionnel
D. Longuet - UML 31
Conception
Objectif : laborer une solution concrte ralisant la spcifcation
!
Description architecturale en composants (avec interface et
fonctionnalits)
!
Ralisation des fonctionnalits par les composants (algorithmes,
organisation des donnes)
!
Ralisation des exigences non-fonctionnelles (performance,
scurit...)
Entre : Cahier des charges fonctionnel
Document produit : Dossier de conception
D. Longuet - UML 32
Programmation
Objectif : Implantation de la solution conue
!
Choix de l'environnement de dveloppement, du/des langage(s)
de programmation, de normes de dveloppement...
Entre : Dossier de conception
Document produit : Code document + manuel d'utilisation
D. Longuet - UML 33
Validation et vrifcation
Objectifs :
!
Validation : assurer que les besoins du client sont satisfaits (au
niveau de la spcifcation, du produit fni...)
!
Vrifcation : assurer que le logiciel satisfait sa spcifcation
Validation
Vrifcation
Cahier des
charges
fonctionnel
Logiciel
Besoins
du client
D. Longuet - UML 34
Mthodes de validation et vrifcation
Mthodes de validation :
!
Revue de spcifcation, de code
!
Prototypage rapide
!
Dveloppement de tests excutables (extreme programming)
Mthodes de vrifcation :
!
Test ( partir de la spcifcation)
!
Preuve de programmes
!
Model-checking de programmes
D. Longuet - UML 35
Mthodes de vrifcation
Test ( partir de la spcifcation) : excution d'un programme sur des
donnes choisies dans le but de dtecter des non-conformits par
rapport la spcifcation (cahier des charges fonctionnel)
Preuve de programmes : preuve mathmatique qu'un programme
satisfait sa spcifcation en termes de pr- et post-conditions
Model-checking de programmes : analyse d'un programme dans le but
de prouver mathmatiquement qu'il vrife certaines proprits
dynamiques
D. Longuet - UML 36
Mthodes de vrifcation
Test :
"
Ncessaire : excution du systme rel, dcouverte d'erreurs tous
les niveaux (spcifcation, conception, implantation)
#
Pas sufisant : exhaustivit impossible
Preuve :
"
Exhaustif
#
Mise en oeuvre dificile, limitation de taille
Model-checking :
"
Exhaustif, partiellement automatique
#
Mise en oeuvre moyennement dificile (modles formels, logique)
D. Longuet - UML 37
Maintenance
Types de maintenance:
!
Correction : identifer et corriger des erreurs trouves aprs la
livraison
!
Adaptation : adapter le logiciel aux changements dans
l'environnement (format des donnes, environnement
d'excution...)
!
Perfection : amliorer la performance, ajouter des
fonctionnalits, amliorer la maintenabilit du logiciel
D. Longuet - UML 38
Rpartition de l'efort
7%
6%
8%
19%
60%
Spcifcation
Conception
Programmation
Intgration/Test
Maintenance
D. Longuet - UML 39
Rapport efort/erreur/cot
Efort Origine des erreurs Cot de la maintenance
0
20
40
60
80
100
120
Intgration/Test
Programmation
Conception
Spcifcation
D. Longuet - UML 40
Processus en cascade
Spcifcation
Conception
Programmation
et test unitaire
Intgration
et test systme
Chaque tape doit tre termine avant que ne commence la suivante
chaque tape, production d'un document base de l'tape suivante
Livraison
et maintenance
Cahier des charges
fonctionnel
Dossier de
conception dtaille
Code document +
Rapport de tests unitaires
Rapport de validation
D. Longuet - UML 41
Processus en cascade
Caractristiques:
!
Hrit des mthodes classiques d'ingnierie
!
Dcouverte d'une erreur entrane retour la phase l'origine de
l'erreur et nouvelle cascade, avec de nouveaux documents...
!
Cot de modifcation d'une erreur important, donc choix en
amont cruciaux (typique d'une production industrielle)
Pas toujours adapt une production logicielle, en particulier si
besoins du client changeants ou dificiles spcifer
D. Longuet - UML 42
Processus en V
Caractristiques:
!
Variante du modle en cascade
!
Mise en vidence de la complmentarit des phases menant la
ralisation et des phases de test permettant de les valider
D. Longuet - UML 43
Processus en V
Conception
architecturale
Programmation
Conception
dtaille
Tests unitaires
Tests d'intgration
criture
Validation
Spcifcation Tests systme
Analyse
des besoins
Tests d'acceptation
D. Longuet - UML 44
Niveaux de test
Test unitaire: test de chaque unit de programme (mthode, classe,
composant), indpendamment du reste du systme
Test d'intgration: test des interactions entre composants (interfaces
et composants compatibles)
Test systme: test du systme complet par rapport son cahier des
charges
Test d'acceptation (recette): fait par le client, validation par rapport
aux besoins initiaux
D. Longuet - UML 45
Dveloppement par prototypage
Principe :
!
Dveloppement rapide d'un prototype avec le client pour valider
ses besoins
!
criture de la spcifcation partir du prototype, puis processus
de dveloppement linaire
Avantage: Validation concrte des besoins, moins de risque d'erreur
de spcifcation
Besoins
du client
Prototype
Cahier
des charges
fonctionnel
Logiciel
D. Longuet - UML 46
Dveloppement incrmental
Principe:
!
Hirarchiser les besoins du client
!
Concevoir et livrer au client un produit implantant un sous-
ensemble de fonctionnalits par ordre de priorit
Avantage: Minimiser le risque d'inadquation aux besoins
Dificult : Intgration fonctionnalits secondaires non penses en amont
Dveloppement en cascade Dveloppement incrmental
Spc.
Conc.
Prog.
V&V
Livr.
Spc.
Conc.
Prog.
V&V
Livr.
Spc.
Conc.
Prog.
V&V
Livr.
Spc.
Conc.
Prog.
V&V
Livr.
Spcifcation
Conception
Programmation
Validation et vrifcation
Livraison
D. Longuet - UML 47
Mthodes agiles et extreme programming
Principes:
!
Implication constante du client
!
Programmation en binme (revue de code permanente)
!
Dveloppement dirig par les tests
!
Cycles de dveloppement rapides pour ragir aux changements
Avantages: dveloppement rapide en adquation avec les besoins
Inconvnients: pas de spcifcation, documentation = tests,
maintenance?
Fonctionne pour petites quipes de dveloppement (< 20) car
communication cruciale
D. Longuet - UML 48
Documentation
Objectif: Traabilit du projet
Pour l'quipe:
!
Regrouper et structurer les dcisions prises
!
Faire rfrence pour les dcisions futures
!
Garantir la cohrence entre les modles et le produit
Pour le client:
!
Donner une vision claire de l'tat d'avancement du projet
Base commune de rfrence:
!
Personne quittant le projet: pas de perte d'informations
!
Personne rejoignant le projet: intgration rapide
D. Longuet - UML 49
Documents de spcifcation et conception
Rdaction: le plus souvent en langage naturel (franais)
Problmes:
!
Ambiguts: plusieurs sens d'un mme mot selon les personnes
ou les contextes
!
Contradictions, oublis, redondances dificiles dtecter
!
Dificults trouver une information
!
Mlange entre les niveaux d'abstraction (spcifcation vs.
conception)
D. Longuet - UML 50
Documents de spcifcation et conception
Alternatives au langage naturel
Langages informels:
!
Langage naturel structur: modles de document et rgles de
rdaction prcis et documents
!
Pseudo-code: description algorithmique de l'excution d'une
tche, donnant une vision oprationnelle du systme
Langages semi-formels:
!
Notation graphique: diagrammes accompagns de texte
structur, donnant une vue statique ou dynamique du systme
Langages formels:
!
Formalisme mathmatique: proprits logiques ou modle du
comportement du systme dans un langage mathmatique
D. Longuet - UML 51
Documents de spcifcation et conception
Langages informels ou semi-formels:
"
Avantages: intuitifs, fonds sur l'exprience, facile apprendre
et utiliser, rpandus
#
Inconvnients: ambigus, pas d'analyse systmatique
Langages formels:
"
Avantages: prcis, analysables automatiquement, utilisables
pour automatiser la vrifcation et le test du logiciel
#
Inconvnients: apprentissage et matrise dificiles
En pratique: utilisation de langages formels principalement pour
logiciels critiques, ou restreinte aux parties critiques du systme
D. Longuet - UML 52
Modlisation
Modle: Simplifcation de la ralit, abstraction, vue subjective
!
modle mtorologique, conomique, dmographique...
Modliser un concept ou un objet pour:
!
Mieux le comprendre (modlisation en physique)
!
Mieux le construire (modlisation en ingnierie)
En gnie logiciel:
!
Modlisation = spcifcation + conception
!
Aider la ralisation d'un logiciel partir des besoins du client
D. Longuet - UML 53
Modlisation graphique
Principe: Un beau dessin vaut mieux qu'un long discours
Seulement s'il est compris par tous de la mme manire
D. Longuet - UML 54
UML: Unifed Modeling Language
Langage:
!
Syntaxe et rgles d'criture
!
Notations graphiques normalises
de modlisation:
!
Abstraction du fonctionnement et de la structure du systme
!
Spcifcation et conception
unif:
!
Fusion de plusieurs notations antrieures: Booch, OMT, OOSE
!
Standard dfni par l'OMG (Object Management Group)
!
Dernire version: UML 2.4.1 (aot 2011)
En rsum: Langage graphique pour visualiser, spcifer, construire et
documenter un logiciel
D. Longuet - UML 55
Pourquoi UML?
Besoin de modliser pour construire un logiciel
!
Modlisation des aspects statiques et dynamiques
!
Modlisation difrents niveaux d'abstraction et selon
plusieurs vues
!
Indpendant du processus de dveloppement
Besoin de langages normaliss pour la modlisation
!
Langage semi-formel
!
Standard trs utilis
Conception oriente objet
!
Faon eficace de penser le logiciel
!
Indpendance du langage de programmation (langages non objet)
D. Longuet - UML 56
Mthodes de conception
Conception fonctionnelle
!
Systme = ensemble de fonctions
!
tat du systme (donnes) centralis et partag par les fonctions
Conception guide par les donnes
!
Systme = base de donnes
!
Fonctions communes toutes les donnes
!
Adapte llaboration de grandes bases de donnes
Conception oriente objet
!
Systme = ensemble dobjets
!
Objet = donnes + fonctions
!
tat du systme distribu entre tous les objets
D. Longuet - UML 57
Conception oriente objet
Principes
!
Concept du domaine d'application = objet
Dcrit par tat (attributs) + comportement (oprations)
!
Liens entre concepts : hritage, agrgation, composition...
Caractristiques des objets
!
Identit : objet = entit unique (mmes attributs mme objet)
!
Classifcation : regroupement des objets de mme nature
(attributs + oprations)
!
Polymorphisme : comportement difrent d'une mme opration
dans difrentes classes
!
Hritage : partage hirarchique des attributs et oprations
D. Longuet - UML 58
Conception oriente objet avec UML
UML
!
Langage graphique : Ensemble de diagrammes permettant de
modliser le logiciel selon difrentes vues et difrents
niveaux d'abstraction
!
Modlisation oriente objet : modlisation du systme comme
un ensemble d'objets interagissant
UML n'est pas une mthode de conception
UML est un outil indpendant de la mthode
D. Longuet - UML 59
Diagrammes UML
Reprsentation du logiciel difrents points de vue:
!
Vue des cas d'utilisation : vue des acteurs (besoins attendus)
!
Vue logique : vue de lintrieur (satisfaction des besoins)
!
Vue d'implantation : dpendances entre les modules
!
Vue des processus : dynamique du systme
!
Vue de dploiement : organisation environnementale du logiciel
Vue des cas
d'utilisation
Vue
d'implantation
Vue
logique
Vue de
dploiement
Vue des
processus
D. Longuet - UML 60
Diagrammes UML
Diagrammes structurels:
!
Diagramme de classes
!
Diagramme d'objets
!
Diagramme de composants
!
Diagramme de dploiement
!
Diagramme de paquetages
!
Diagramme de structure
composite
!
Diagramme de profls
Diagrammes comportementaux:
!
Diagramme de cas d'utilisation
!
Diagramme tats-transitions
!
Diagramme d'activit
Diagrammes d'interaction:
!
Diagramme de squence
!
Diagramme de communication
!
Diagramme global d'interaction
!
Diagramme de temps
14 diagrammes hirarchiquement dpendants
Modlisation tous les niveaux le long du processus de dveloppement
D. Longuet - UML 61
Exemple d'utilisation des diagrammes
!
Diagrammes de cas d'utilisation: besoins des utilisateurs
!
Diagrammes de squence: scnarios d'interactions entre les
utilisateurs et le logiciel, vu de l'extrieur
!
Diagrammes d'activit: enchanement d'actions reprsentant un
comportement du logiciel
!
Diagrammes de classes: structure interne du logiciel
!
Diagrammes d'objet: tat interne du logiciel un instant donn
!
Diagrammes tats-transitions: volution de l'tat d'un objet
!
Diagrammes de squence: scnarios d'interactions avec les
utilisateurs ou au sein du logiciel
!
Diagrammes de composants: composants physiques du logiciel
!
Diagrammes de dploiement: organisation matrielle du logiciel
S
p

c
i
f
c
a
t
i
o
n
C
o
n
c
e
p
t
i
o
n
D. Longuet - UML 62
Dans ce cours
Faire une ofre
Modifer une ofre
Confrmer une
rservation
Systme de rservations
X : Client Y : Client Systme de rservations
souhaitPassager("Paris","Venise",24/12/2012,9:00)
(222,800,Sequence{v1})
refusPassager(222)
(222,600,Sequence{v2,v3})
OK(222)
trace(222)
(Planifee,"")
trace(222)
(EnCours,"Paris")
trace(222)
(EnCours,"Amsterdam")
Paris tour de contrle Amsterdam tour de contrle
position(v2,"Paris")
position(v2,"Amsterdam")
Diagramme de cas d'utilisation
Diagramme de squence
D. Longuet - UML 63
Dans ce cours
nbRes: int
statut: StatutMis
dateDepart: Date
no: int
dateDepart: Date
prix: int
code: int
nom: String
no: int
capacite: int
no: int
statut: StatutRes
dateR : Date
places: int
Planifee
EnCours
Preliminaire
EnAttente
Confrmee
Mission
Vol
Aeroport
Avion Reservation
enumeration
StatutMis
enumeration
StatutRes
vols
1..*
lmis
*
1 mission
* res
dejaprop
*
*
0..1 avion
* afrete
1 dest 1 orig
* dep * arr
{sequence}
1
*
Diagramme de classes
nbRes: 0
statut: Planifee
dateDepart: 01/10/2012
no: 8793
par-osl011012 :: Mission
dateDepart: 01/10/2012
prix: 80
code: 982
par-ams01102012 :: Vol
dateDepart: 01/10/2012
prix: 123
code: 534
ams-osl01102012 :: Vol
nom: "Paris-CDG"
par-cdg :: Aeroport
nom: "Amsterdam-Schipol"
ams :: Aeroport
nom: "Oslo-Airport"
osl :: Aeroport
no: 227
capacite: 150
e95 :: Avion
no: 189
capacite: 150
e95 :: Avion
Diagramme d'objets
D. Longuet - UML 64
Dans ce cours
Preliminaire
entry/
setStatut(StatutRes::Preliminaire)
setDateR(today())
EnAttente
entry/
setStatut(StatutRes::EnAttente)
setDateR(today())
Confrmee
entry/
setStatut(StatutRes::Confrmee)
creerReservation(StatutRes::Preliminaire,m:Mission)
/setMission(m)
creerReservation(StatutRes::EnAttente,m:Mission)
/setMission(m)
leverOption()
confrme()
autreProposition(m')/setMission(m')
today() - dateR > 3 jours
plusProposition()
Diagramme tats-transitions

You might also like