Title: Mod
1Modélisation objet des données et processusUML
(Unified Modelling Language)
- Michel Tollenaere (INPG)
- http//www.g-scop.fr/tollenam/mastergi/CoursUML-e
xemples.ppt
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 Outils 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
2003
Booch method
OMT
5Axes 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
6Niveaux dabstraction dun SI
En UML, les mêmes modèles peuvent être utilisés à
différents niveaux d abstraction du plus
conceptuel à limplantation. On peut donc
appliquer des mécanismes de transformation
continue.
- Conceptuel
- organisationnel
- logique
- physique
7Les 9 diagrammes UML
- 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
8Description UML des 9 diagrammes UML
9Exemples Quelques diagrammes
Cas dutilisation une fonctionnalité attendue du
système (VEGA2) par les différents acteurs.
10Modèle Fonctionnel
- Use Cases cas d utilisation
- diagramme de collaboration
11Diagramme 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
12Relations entre cas d utilisations
- 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éclenche
virement
client
- relation dutilisation entre deux cas
d utilisation. 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).
13Acteurs diagramme de cas dutilisation
Acteur humain il s agit ici d un rôle et non
d un 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
14Diagramme 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
15Modèle Statique
- diagramme d objets
- Diagramme de classes
16Objets 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 d une 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 .
17Diagramme dObjets
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
Diagramme de classes
18Diagramme 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
19Diagramme de classes Relations entre classes
Agrégation quand une classe fait partie dune
autre classe (agrégat - composant) Association
toute relation structurelle entre classes, autre
que l agrégation et la généralisation Généralisat
ion factorisation des éléments communs dun
ensemble de classes dits sous-classes dans une
classe plus générale dite super-classe. Elle
signifie que la sous-classe est un ou est une
sorte de la super-classe. Le lien inverse est
appelé spécialisation
1..
1
1
1..
moteur
véhicule
constructeur
voiture
camion
avion
20Associations
- 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 une
fonction peut être composée d autres fonctions - 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..
21Nommage des associations
véhicule
constructeur
Construiregt
produit
ltconstruit par
fabricant
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é
Possèdegt
société
actionnaire
22Multiplicité des associations
23Arité des associations
Association darité 3
Salle
lieu
Enseignant
Etudiant
Cours
Début Fin
24Placement des attributs et des associations
Travail
Etudiant
Réalise gt
1
0..
0..
1
0..
Diplôme
Note
Mention
0..1
Chambre
Numéro
25Contraintes
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
26Agrégation
Chapitre
Livre
1 ..
Ordonnée
1
Ordonnée
1 ..
Paragraphe
27Composition
Tête
Homme
1
1
La composition traduit une dépendance
existentielle forte.
28Exemple 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..
29Modèle Dynamique
- Diagramme détat transition
- Diagramme de séquences
30Diagramme 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)
31Diagramme 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é.
32Diagramme 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.
33Diagramme de Séquences
34Diagramme 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 )
35Diagramme de Séquences Exemple
36Gestion des composants externes Création
composant constance
37Gestion des composants externes Mise à jour
composant constance Solution N1 (non retenue)
Avec validation par lopérateur
38Gestion des composants externes Mise à jour
composant constance Solution N2 (retenue) avec
validation par lopérateur
39Modè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 ?)
40(No Transcript)
41(No Transcript)
42Diagramme de Classes Métier
Documentation
ltltrepgtgt
notice
43Modé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
44É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.
45Fonctions 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.
46Modèle statique classes et objets
Compagnie
Vol
numéro
nom
1 ..
1.. ?
proposegt
1. Des compagnies aériennes proposent différents
vols.
47Modè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.
48Modè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.
49Modè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
50Continuons 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
51Les 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 ()
52Les 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
53Les 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 ()
54Les 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 ()
55Association 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
56ou. factorisation des attributs
Lieu-geo
nom pays decalage-horaire Affiche(carte)
Aeroport
Ville
dessertgt
1..
Affiche(carte)
Affiche(carte)
57Les 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
58Ré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
59Les 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)
60Les 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)
61Lieu-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)
62Dynamique 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
63Dynamique 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
64(No Transcript)
65Implémentation dans MSAccess
- Notez les pertes sémantiques sur
- les états transitions,
- les associations ordered,
- lhéritage ville-aéroport . etc
66Analyse 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
67Analyse 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)
68Implémentation dans MSAccess
- Reste à traiter laspect dynamique
- les requètes,
- les formulaires et interfaces,
- . etc
69Traitement de lembarquement
70Traitement de lembarquement
71Guichet aéroport
Délivrer carte embarquement
72(No Transcript)