Mod - PowerPoint PPT Presentation

1 / 80
About This Presentation
Title:

Mod

Description:

Historique : Grady Booch 1981, ADA, ' Object Oriented Development ' ... 2 : allumer. Objet 1. Objet 2. Objet 3. 1 : message. 3 : message. 2 : message. 4 : message. 5 : ... – PowerPoint PPT presentation

Number of Views:364
Avg rating:3.0/5.0
Slides: 81
Provided by: Mic7114
Category:
Tags: allumer | mod

less

Transcript and Presenter's Notes

Title: Mod


1
Modé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

2
UML 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)
4
Creating the UML
UML 2.0
UML 2.2
2005
2009
Booch method
OMT
5
Contributions to the UML
6
Axes 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

7
Niveaux 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

8
Les 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

9
Description UML des diagrammes UML
10
Exemples Quelques diagrammes
Cas dutilisation une fonctionnalité attendue du
système par les différents acteurs.
11
Modèle Fonctionnel
  • Use Cases cas dutilisation
  • diagramme de collaboration

12
Diagramme 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

13
Relations 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).

14
Source http//uml.free.fr/
15
Acteurs 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
16
Diagramme 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
17
Modèle Statique
  • diagramme d objets
  • Diagramme de classes

18
Objets 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.
19
Liens 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
20
Diagramme 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

21
Nommage 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
22
Multiplicité des associations
23
Associations
  • 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..

24
Classe-association
Permet de qualifier plus finement une
association
25
Placement 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
26
Contraintes
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
27
Agrégation
Chapitre
Livre
1 ..
Ordonnée
1
Ordonnée
1 ..
Paragraphe
28
Composition
Tête
Homme
1
1
La composition traduit une dépendance
existentielle forte.
29
Exemple 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..
30
Modèle Statique Passage dun diagramme de classe
UML à un modèle relationnel pour SGBD
31
Règle 0 1 attribut et classe
Passage du modèle statique UML au relationnel
les associations
32
Règle 2 relation de multiplicité (1)
Passage du modèle statique UML au relationnel
les associations
Classe
1
lt fournir
33
Règle 3 relation de multiplicité (0-1)
Passage du modèle statique UML au relationnel
les associations
Classe
0-1

lt fournir
34
Règle 4 relation de multiplicité (0..) (1..)
Passage du modèle statique UML au relationnel
les associations
Classe
0.. ou 1..
lt fournir
35
Rè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
36
Rè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
37
Modèle Dynamique
  • Diagramme détat transition
  • Diagramme de séquences

38
Diagramme 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)

39
Diagramme 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é.
40
Diagramme 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.
41
Diagramme de Séquences
42
Diagramme 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 )

43
Diagramme de Séquences Exemple
44
Gestion des composants externes Création
composant constance
45
Gestion des composants externes Mise à jour
composant constance Solution N1 (non retenue)
Avec validation par lopérateur
46
Gestion des composants externes Mise à jour
composant constance Solution N2 (retenue) avec
validation par lopérateur
47
Modè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)
50
Diagramme de Classes Métier
Documentation
ltltrepgtgt
notice
51
Modé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.
53
Fonctions 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.
54
Modèle statique classes et objets
Compagnie
Vol
numéro
nom
1 ..
1.. ?
proposegt
1. Des compagnies aériennes proposent différents
vols.
55
Modè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.
56
Modè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.
57
Modè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
58
Continuons 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
59
Les 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 ()
60
Les 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
61
Les 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 ()
62
Les 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 ()
63
Association  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
64
ou. factorisation des attributs
Lieu-geo
nom pays decalage-horaire Affiche(carte)
Aeroport
Ville
dessertgt
1..

Affiche(carte)
Affiche(carte)
65
Les 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
66
Ré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

67
Les 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)
68
Les 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)
69
Lieu-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)
70
Dynamique 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
71
Dynamique 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)
73
Implémentation dans MSAccess
  • Notez les pertes sémantiques sur
  • les états transitions,
  • les associations ordered,
  • lhéritage ville-aéroport . etc

74
Analyse 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
75
Analyse 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)
76
Implémentation dans MSAccess
  • Reste à traiter laspect dynamique
  • les requètes,
  • les formulaires et interfaces,
  • . etc

77
Traitement de lembarquement
78
Traitement de lembarquement
79
Guichet aéroport
Délivrer carte embarquement
80
(No Transcript)
Write a Comment
User Comments (0)
About PowerShow.com