Title: Mod
1Modélisation objet des données et processusUML
(Unified Modelling Language)
Master 2 Mécanique et Génie Mécanique Parcours
Intégration en Conception de Produit
- Michel Tollenaere (INPG)
- http//www.g-scop.fr/tollenam/Ipro3
2UML Unified Modelling Language
Historique Grady Booch 1981, ADA, Object
Oriented Development James Rumbaugh 1991,
OMT, JOOP (Journal of OO programming) Ivar
Jacobson, OOSE sept 97, UML 1.1 Références
http//www.omg.org http//uml.free.fr/ site
en français en France Pierre Alain Muller
(U-Mulhouse) et Valtech http//uml.developpez.com
/ Outils StarUML 5.0 Objecteering
http//www.objecteering.com/us/produits_pe.php Ra
tional ROSE , http//www.rational.com plus de
30 outils de modélisation et de CASE (Computer
Aided Software Engineering)
3(No Transcript)
4Creating the UML
UML 2.0
UML 2.2
2005
2009
Booch method
OMT
5Contributions to the UML
6Axes de modélisation d un système
Statique (ce que le système EST)
- diagramme de classes
- diagramme dobjets
- diagramme de composants
- diagramme de déploiement
Dynamique (comment le système EVOLUE)
Fonctionnel (ce que le système FAIT)
- diagramme de séquence
- diagramme de collaboration
- diagramme détats-transitions
- diagramme dactivités
- diagramme de cas dutilisation
- diagramme de collaboration
7Niveaux dabstraction dun SI
En UML, les mêmes modèles peuvent être utilisés à
différents niveaux dabstraction du plus
conceptuel à limplantation. On peut donc
appliquer des mécanismes de transformation
continue.
- Conceptuel
- organisationnel
- logique
- physique
8Les 9 diagrammes dUML 1.1 (13 diag en 2.0)
- diagramme de cas dutilisation
- diagramme de classes
- diagramme de séquence
- diagramme de collaboration
- diagramme dobjets
- diagramme détats-transitions
- diagramme dactivités (nous utiliserons IDEF 0)
- diagramme de composants
- diagramme de déploiement
9Description UML des diagrammes UML
10Exemples Quelques diagrammes
Cas dutilisation une fonctionnalité attendue du
système par les différents acteurs.
11Modèle Fonctionnel
- Use Cases cas dutilisation
- diagramme de collaboration
12Diagramme de cas dutilisation
Représente les fonctions du système de point de
vue de l utilisateur.
relation
Cas d utilisation
Acteur
- Eléments du diagramme
- acteur un rôle joué par une personne, un
service, etc. qui interagit avec le système
étudié - cas dutilisation manière spécifique
d utiliser un système. Image dune
fonctionnalité attendue, déclenchée en réponse à
la stimulation dun acteur - relations entre cas dutilisations et acteurs
13Relations entre cas d utilisation
- Trois types de relations
- relation de communication entre un acteur et
un cas dutilisation. Exprime léchange
dinformations entre lacteur et le système.
Déclencher virement
client
- relation dutilisation entre deux cas
dutilisation. Exprime que le cas dutilisation
source comprend également le comportement décrit
par le cas dutilisation destinataire (utile pour
la factorisation de cas).
- relation dextension entre deux cas
dutilisation. Exprime que le cas dutilisation
source étend le comportement du cas dutilisation
cible (utile pour la spécialisation de cas).
14Source http//uml.free.fr/
15Acteurs diagramme de cas dutilisation
Acteur humain il sagit ici dun rôle et non
dun acteur identifié.
Acteur non humain exemple un logiciel de
comptabilité ou dERP avec lequel le système
interagit
Conçoit les schémas
Récupère les
et nomenclatures
schémas
Exemple
Récupère les
Gestion des schémas
contraintes
Développeur
Définit les contraintes
mécaniques
Gestion des contraintes
Responsable
CFAO
Gère la création et les révisions d un job
Gestion des jobs
Responsable
BE
ltltdépendgtgt
Gère la création
et les révisions
des dossiers variantes
Gestion des dossiers
16Diagramme de Collaboration
Interactions entre objets du système avec un
accent particulier sur la structure spatiale
statique des objets (contexte des objets). Les
messages sont numérotés pour indiquer lordre des
envois. Permet de situer le contexte du
système. Message Simple, Asynchrone, Synchrone,
Minuté
Objet 1
1 message
2 message
Objet 2
5 message
4 message
3 message
Objet 3
17Modèle Statique
- diagramme d objets
- Diagramme de classes
18Objets et classes
Objet une entité concrète avec une identité
bien définie qui encapsule un état et un
comportement. Létat est représenté par des
valeurs dattribut et des associations, le
comportement par des méthodes. Un objet est une
instance dune classe. Classe une description
dun ensemble dobjets qui partagent les mêmes
attributs, opérations, méthodes, relations et
contraintes. Une classe peut posséder des
attributs ou des méthodes de classe.
19Liens diagramme dobjets -/- diagramme de classes
Structure statique dun système, en termes
dobjets et de liens entre ces objets. Ces objets
et ces liens possèdent des attributs qui
possèdent des valeurs. Un objet est une instance
de classe et un lien est une instance
dassociation.
Personne âge entier
collaborateur
1
patron
emploiegt
Abstraction
Concrétisation
Diagramme de classes
20Diagramme de classes
Structure statique dun système, en termes de
classes et de relations entre ces classes.
exemple
- Syntaxe
- nom_attribut type_attribut valeur initiale
- nom_opération (nom_argument type_argument
valeur_par_défaut, ) type_retourné
- Visibilité trois niveaux de visibilité pour les
attributs et les opérations - public () élément visible à tous les clients
de la classe - protégé ( ) élément visible aux sous-classes
de la classe - privé (-) élément visible à la classe seule
21Nommage des associations
véhicule
constructeur
Construiregt
produit
fabricant
ltconstruit par
ltTransporte
passager
véhicule
véhicule
personne
Conduitgt
conducteur
véhicule
Possèdegt
propriétaire
véhicule
ltEmploie
employé
employeur
entreprise
personne
Dirigegt
directeur
société
société
Possèdegt
actionnaire
22Multiplicité des associations
23Associations
- Agrégation
- Association transitive si voiture est composée
de moteur et si moteur est composé de courroie
alors voiture est composée de courroie - Association non systémique si voiture est
composée de moteur, moteur ne peut pas être
composé de voiture - Association qui peut être réflexive exemple,
une fonction peut être composée dautres
fonctions, un sous ensemble dautres sous
ensembles. - Rôle et multiplicité
- Une classe a un rôle dans une association.
- Les rôles portent une information de
multiplicité précisant le nombre d associations
auquel une instance d objet peut être associée.
Les multiplicités les plus courantes sont 1 /
0..1 / m..n / /0.. / 1..
24Classe-association
Permet de qualifier plus finement une
association
25Placement des attributs et des associations
Travail
Etudiant
Réalise gt
1
0..
0..
1
0..
Diplôme
Note - valeur
Mention
0..1
Chambre
Numéro
26Contraintes
compte
personne
Est_titulairegt
0 ..
1
Ordonnée
0 ..
classe
personne
Parent d élève
Sous ensemble
0 ..
Délégués
0 ..
université
personne
Enseignants
Ou-exclusif
0 ..
Etudiants
27Agrégation
Chapitre
Livre
1 ..
Ordonnée
1
Ordonnée
1 ..
Paragraphe
28Composition
Tête
Homme
1
1
La composition traduit une dépendance
existentielle forte.
29Exemple de diagramme de classes
1..
1
1..
Induit
1..
1..
1..
LesProjets
LesProblèmes
1
1
EstResoluPar
0..
0..
0..1
0..1
0..1
0..1
Suivant
ComplétéePar
0..
0..
0..
0..
LesEtudes
1..
1..
30Modèle Statique Passage dun diagramme de classe
UML à un modèle relationnel pour SGBD
31Règle 0 1 attribut et classe
Passage du modèle statique UML au relationnel
les associations
32Règle 2 relation de multiplicité (1)
Passage du modèle statique UML au relationnel
les associations
Classe
1
lt fournir
33Règle 3 relation de multiplicité (0-1)
Passage du modèle statique UML au relationnel
les associations
Classe
0-1
lt fournir
34Règle 4 relation de multiplicité (0..) (1..)
Passage du modèle statique UML au relationnel
les associations
Classe
0.. ou 1..
lt fournir
35Règle 5 relation réflexive orientée
Passage du modèle statique UML au relationnel
les associations
Classe
Personne nom
0..
1
père de gt
36Règle 6 relation réflexive symétrique
Passage du modèle statique UML au relationnel
les associations
Relation / Table
Personne (Nom) Frère (nom, nom)
Classe
Personne nom
Attention, la relation étant transitive, des
traitements devront être associés au modèle.
frère de
37Modèle Dynamique
- Diagramme détat transition
- Diagramme de séquences
38Diagramme d états-Transition
- Description des séquences possibles détats et
d actions par lesquelles un objet peut passer
tout au long de sa vie. Ces séquences résultent
de sa réaction à des événements discrets. - Eléments du diagramme
- état situation dun objet à un moment donné
- transition connexion entre deux états,
permettant le passage dun état à lautre - événement occurrence d une situation donnée
dans le domaine du système qui déclenche la
transition - garde condition booléenne qui valide ou non le
déclenchement dune transition lors de
loccurrence dun événement (cas de plusieurs
transitions exclusives déclenchées par le même
événement) - action opération exécutée pendant que lobjet
est dans un état donné ou lorsque une transition
est déclenchée (correspondant à des opérations
déclarées dans la classe de lobjet
destinataire). Une action dun état est dite
activité quand lopération associée a un temps
dexécution non négligeable (do nom_opération)
(exemple notification)
39Diagramme d états-Transition Exemple
Diagramme de classes
Diagramme d états-transitions
Les personnes ne possèdent pas toutes un emploi
et se trouvent, à un moment donné, dans un des
états suivants en activité, au chômage, à la
retraite Létat d une personne donnée est
déterminé selon son âge et la présence ou non
d un lien vers une société.
40Diagramme de Séquences
Pour chaque cas dutilisation , nous pouvons
décrire un ou plusieurs scénario, décrit chacun
par un diagramme de séquences. Diagramme de
séquence exprime la séquence des interactions
entre objets du système selon un point de vue
temporel, pour réaliser le cas dutilisation.
41Diagramme de Séquences
42Diagramme de Séquences Cas particuliers
- message synchrone lémetteur est bloqué et
attend que lappelé ait fini de traiter le
message (message 1) - message asynchrone lémetteur nest pas bloqué
et peut continuer son exécution (message 6) - Un message réflexif indique souvent un point
d entrée dans une activité de plus bas niveau
qui s exerce entre objets contenus par l objet
composite (message 7) - Un message dont les délais de transmission sont
non négligeables est matérialisé par une flèche
oblique (message 4) - Messages conditionnés flèches prenant leur
origine au même instant avec des conditions
mutuellement exclusives (messages 1 et 6) - Possibilité de compléments d informations sous
forme de texte libre ou de pseudo-code à côté du
diagramme - Période d activité temps pendant lequel un
objet effectue une action, directement ou par
l intermédiaire d un autre objet sous-traitant - Des contraintes temporelles peuvent être
exprimées en graduant la ligne de vie (pour dire
par exemple 10 secondes plus tard )
43Diagramme de Séquences Exemple
44Gestion des composants externes Création
composant constance
45Gestion des composants externes Mise à jour
composant constance Solution N1 (non retenue)
Avec validation par lopérateur
46Gestion des composants externes Mise à jour
composant constance Solution N2 (retenue) avec
validation par lopérateur
47Modèle Organisationnel de Traitements (MOT) de
Merise
- Enchaînement des opérations ou taches
- condition denchaînement
- acteur affecté (qui ?)
- période de traitement (quand ?)
48(No Transcript)
49(No Transcript)
50Diagramme de Classes Métier
Documentation
ltltrepgtgt
notice
51Modélisation de S.I.Étude de casCompagnie
aérienne CRM
- ENSGI MSI 2ème année
- Michel Tollenaere
- http//gilco.inpg.fr/tollenaere/msi/MSI2A-etude-c
as.ppt
Inspiré de UML par la pratique 2ème
Edition Pascal Roque Groupe Eyrolles, 2003 ISBN
2-212-11246-7
52ÉTUDE DUN SYSTÈME DE GESTION DE LA RELATION
CLIENT POUR UN RESEAU DAGENCES DE VOYAGES Un
réseau dagences de voyages désire améliorer son
système dinformation pour la relation avec sa
clientèle. Il a été convenu de commencer ce
travail par la gestion de la composante
transport aérien . Les fonctions principales
attendues du système sont -- permettre une
sélection dans loffre de vols et de places
disponibles. -- assurer les réservations pour les
passagers. -- permettre aux compagnies aériennes
partenaires douvrir ou de fermer des vols --
mettre en place des tableaux de bord permettant
de mieux connaître les clients. Les principaux
utilisateurs visés par le système sont -- les
hôtesses dans les agences qui sont en contact
avec les clients. -- les opérateurs de guichets
dans les aéroports qui délivrent les cartes
dembarquement aux passagers -- les responsables
du réseau dagences qui désirent disposer de
tableaux de bord sur lactivité -- les clients et
les passagers via Internet -- les compagnies
aériennes partenaires Les interviews des experts
métier ont permis de résumer leur connaissance du
domaine sous la forme des phrases suivantes 1.
Des compagnies aériennes proposent différents
vols. 2. Un vol est ouvert à la réservation et
refermé sur ordre de la compagnie. 3. Un client
peut réserver un ou plusieurs vols, pour des
passagers différents. 4. Une réservation concerne
un seul vol et un seul passager. 5. Une
réservation peut être annulée ou confirmée. 6. Un
vol a un aéroport de départ et un aéroport
darrivée. 7. Un vol a un jour et une heure de
départ, et un jour et une heure darrivée. 8. Un
vol peut comporter des escales dans des
aéroports. 9. Une escale a une heure darrivée et
une heure de départ. 10. Chaque aéroport dessert
une ou plusieurs villes.
53Fonctions et acteurs Cas dutilisation
extend
réserver
Réserver par Internet
extend
Hôtesse dagence
Client et passager
Consulter disponibilités par Internet
Consulter disponibilités
Responsable agence
Consulte tableaux de bord
Compagnie
Ouvrir et fermer des vols
Les principaux utilisateurs visés par le système
sont -- les hôtesses dans les agences qui sont
en contact avec les clients. -- les opérateurs de
guichets dans les aéroports qui délivrent les
cartes dembarquement aux passagers -- les
responsables du réseau dagences qui désirent
disposer de tableaux de bord sur lactivité --
les clients et les passagers via Internet -- les
compagnies aériennes partenaires
Fonctions permettre une sélection dans loffre
de vols et de places disponibles. -- assurer les
réservations pour les passagers. -- permettre aux
compagnies aériennes partenaires douvrir ou de
fermer des vols -- mettre en place des tableaux
de bord permettant de mieux connaître les clients.
54Modèle statique classes et objets
Compagnie
Vol
numéro
nom
1 ..
1.. ?
proposegt
1. Des compagnies aériennes proposent différents
vols.
55Modèle statique classes et objets
Compagnie
Vol
Numéro État (ouvert, fermé)
nom
1
1 ..
proposegt
affréteur
2. Un vol est ouvert à la réservation et refermé
sur ordre de la compagnie.
56Modèle statique classes, états - transitions
Compagnie
Vol
Numéro État (ouvert, fermé)
nom
Diagramme de classes
1
1 ..
proposegt
affréteur
OuvrirRéservation () FermerRéservation ()
2. Un vol est ouvert à la réservation et refermé
sur ordre de la compagnie.
57Modèle dynamique diagramme de collaboration
Compagnie
Vol
Numéro
nom
Diagramme de classes
1
1 ..
proposegt
affréteur
ouvrirRéservation () fermerRéservation ()
AF506 Vol
1 ouvrirRéservation ()
2 fermerRéservation ()
AirFrance Compagnie
AF519 Vol
Diagramme de collaboration
3 ouvrirRéservation ()
AF714 Vol
58Continuons daffiner la classe Vol
6. Un vol a un aéroport de départ et un aéroport
darrivée. 7. Un vol a un jour et une heure de
départ, et un jour et une heure darrivée. 8. Un
vol peut comporter des escales dans des
aéroports. 9. Une escale a une heure darrivée et
une heure de départ. 10. Chaque aéroport dessert
une ou plusieurs villes.
Vol
Compagnie
numéro dateDépart heureDépart dateArrivée heureArr
ivée
nom
1 ..
1
proposegt
affréteur
ouvrirRéservation () fermerRéservation ()
Diagramme détat transition de la classe Vol
Fermeture par compagnie
Ouvert
Fermé
état initial
état final
Ouverture par compagnie
59Les aéroports
6. Un vol a un aéroport de départ et un aéroport
darrivée.
Vol
numéro dateDépart heureDépart dateArrivée heureArr
ivée aeroportdépart aeroportArrivée
2
1 ..
ordered
ouvrirRéservation () fermerRéservation ()
60Les aéroports (suite)
6. Un vol a un aéroport de départ et un aéroport
darrivée.
Aeroport
nom pays
Vol
numéro dateDépart heureDépart dateArrivée heureArr
ivée
1 ..
Aeroportdépart
part-degt
1
AeroportArrivée
1 ..
arrive-àgt
ouvrirRéservation () fermerRéservation ()
1
61Les aéroports (fin)
6. Un vol a un aéroport de départ et un aéroport
darrivée.
Vol
Aeroport
départgt
1
numéro dateDépart heureDépart dateArrivée heureArr
ivée
nom pays
1 ..
arrivéegt
1
1 ..
ouvrirRéservation () fermerRéservation ()
62Les villes
10. Chaque aéroport dessert une ou plusieurs
villes.
Vol
Aeroport
Ville
départgt
1
numéro dateDépart heureDépart dateArrivée heureArr
ivée
nom pays
nom pays
1 ..
dessertgt
1..
?
arrivéegt
1
1 ..
ouvrirRéservation () fermerRéservation ()
63Association dessert (multiplicité)
10. Chaque aéroport dessert une ou plusieurs
villes.
Aeroport
Ville
nom pays
nom pays
dessertgt
1..
Paris Ville
Charles de Gaulle Aeroport
Orly Aeroport
Metz Ville
Passage par les diagrammes dobjets
Metz-nancy-lorraine Aeroport
Nancy Ville
64ou. factorisation des attributs
Lieu-geo
nom pays decalage-horaire Affiche(carte)
Aeroport
Ville
dessertgt
1..
Affiche(carte)
Affiche(carte)
65Les escales
Vol
Aeroport
départgt
1
numéro dateDépart heureDépart dateArrivée heureArr
ivée
nom pays
0 ..
arrivéegt
1
0 ..
faitEscalegt
0 ..
ouvrirRéservation () fermerRéservation ()
ordered
InfosEscale
heureDépart heureArrivée
66Récapitulons (1)
Vol
Aeroport
Ville
départgt
1
numéro dateDépart heureDépart dateArrivée heureArr
ivée
nom pays
0 ..
Compagnie
nom pays
dessertgt
nom
arrivéegt
proposegt
1
1
0 ..
1..
1 ..
affréteur
faitEscalegt
0 ..
ouvrirRéservation () fermerRéservation ()
ordered
InfosEscale
heureDépart heureArrivée
67Les réservations
3. Un client peut réserver un ou plusieurs vols,
pour des passagers différents. 4. Une réservation
concerne un seul vol et un seul passager. 5. Une
réservation peut être annulée ou confirmée.
Vol
numéro dateDépart heureDépart dateArrivée heureArr
ivée capacité
Réservation
concernegt
0..
1
annuler () confirmer ()
ouvrirRéservation () fermerRéservation ()
concernegt
1
Passager
nom prénom téléphone e-mail num-carte nb-pts
créditer-pts (res)
68Les réservations
3. Un client peut réserver un ou plusieurs vols,
pour des passagers différents.
Vol
numéro dateDépart heureDépart dateArrivée heureArr
ivée capacité
Réservation
Client
nom téléphone e-mail Fax adresse
concernegt
date
0..
effectuegt
1
1
0..
annuler () confirmer ()
ouvrirRéservation () fermerRéservation ()
0..
totalfacturé ()
concernegt
1
Passager
nom prénom téléphone e-mail num-carte nb-pts
créditer-pts (res)
69Lieu-geo
Récapitulons (2)
nom pays decalage-horaire
Vol
Compagnie
départgt
1
1
numéro dateDépart heureDépart dateArrivée heureArr
ivée capacité
0 ..
Aeroport
nom
proposegt
Ville
affréteur
arrivéegt
1
0 ..
1 ..
dessertgt
1..
1
faitEscalegt
0 ..
ouvrirRéservation () fermerRéservation ()
concernegt
Réservation
Client
ordered
nom téléphone e-mail Fax adresse
date
0..
effectuegt
InfosEscale
1
0..
annuler () confirmer ()
heureDépart heureArrivée
0..
totalfacturé ()
concernegt
1
Passager
nom prénom téléphone e-mail num-carte nb-pts
créditer-pts (res)
70Dynamique de la réservation
Vol
Guichet aéroport
Délivrer carte embarquement
numéro dateDépart heureDépart dateArrivée heureArr
ivée capacité
Diagramme de séquences
1
ouvrirRéservation () fermerRéservation ()
Réservation
concernegt
Liste passagers ()
date
0..
Vol
Réservation
Passager
annuler () confirmer ()
Passager
Guichet aéroport
Passager-id
0..
Présente identité
concernegt
Liste passagers (n vol)
passagers (etat confirmé)
1
Passager-id ()
Passager
nom prénom téléphone e-mail num-carte nb-pts
Sélectionne réservation
Si état attente paiement Demande paiement
créditer-pts (res)
Passer (état embarqué)
Délivrer carte
71Dynamique de la réservation
Etat transition de réservation
Liste passagers ()
Diagramme détat transition de la classe
Réservation
par compagnie
par client
par aéroport
embarquée
Demandée
Confirmée
Payée
état initial
état final
Jvol - 8
Annulée
72(No Transcript)
73Implémentation dans MSAccess
- Notez les pertes sémantiques sur
- les états transitions,
- les associations ordered,
- lhéritage ville-aéroport . etc
74Analyse de la classe Vol
- comporte de nombreuses responsabilités
- est elle en troisième forme normale ?
- la clef primaire Num-vol est elle correcte ?
- parle-t-on des vols réguliers ou affrétés ?
Domaine de loffre de vols
Domaine des réservations
75Analyse de la classe Vol
- Les éléments de loffre sont plus stables que
ceux des réservations
Vol-générique
Compagnie
départgt
1
1
numéro heureDépart heureArrivée capacité
Aeroport
0 ..
nom
proposegt
affréteur
arrivéegt
1
0 ..
1 ..
faitEscalegt
0 ..
Domaine des réservations
ordered
Vol
1
dateDépart dateArrivée
InfosEscale
1
Est-décrit-pargt
Réservation
Client
concernegt
heureDépart heureArrivée
nom téléphone e-mail Fax adresse
0..
date
0..
effectuegt
Domaine de loffre de vols
ouvrirRéservation () fermerRéservation ()
1
0..
annuler () confirmer ()
totalfacturé ()
concernegt
gt les responsabilités sont mieux établies
1
Passager
nom prénom téléphone e-mail num-carte nb-pts
créditer-pts (res)
76Implémentation dans MSAccess
- Reste à traiter laspect dynamique
- les requètes,
- les formulaires et interfaces,
- . etc
77Traitement de lembarquement
78Traitement de lembarquement
79Guichet aéroport
Délivrer carte embarquement
80(No Transcript)